 /**
 *
 * Stonington Public Schools - build
 * @link http://stonington.redesign.finalsite.com
 * Built By: Josh Webb
 * Project Manager: Jaime Skerker
 * Designer: N/A - Theme
 *
 */

@charset "UTF-8";
/** 
 * Html5 Placeholder Polyfill - v2.0.9 - 2014-01-21 
 * web: http://blog.ginader.de/dev/jquery/HTML5-placeholder-polyfill/ 
 * issues: https://github.com/ginader/HTML5-placeholder-polyfill/issues 
 * Copyright (c) 2014 Dirk Ginader; Licensed MIT, GPL 
 */
span.placeholder {
  position: absolute;
  font-size: 75%;
  color: #999;
  font-family: sans-serif;
  padding: 4px 3px;
  z-index: 1;
  cursor: text;
}

span.placeholder-hide-except-screenreader {
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}

span.placeholder-hide {
  display: none;
}

label.visuallyhidden-with-placeholder {
  height: auto !important;
  overflow: visible !important;
  position: absolute !important;
  left: -999em;
}

.Identity-screenName, .timeline-Tweet-retweetCredit {
  color: #5e6971 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

td,
th {
  padding: 0;
}

.fsAccordion.fsPanelIconBefore .fsPanel.fsStateOpen > header h2::before,
.fsAccordion.fsPanelIconAfter .fsPanel.fsStateOpen > header h2::after,
.fsAccordion.fsPanelIconAfter .fsPanel > header h2::after,
.fsAccordion.fsPanelIconBefore .fsPanel > header h2::before, .fsCalendarMonthBrowser .fsCalendarPrevMonth:before, .fsCalendarMonthBrowser .fsCalendarNextMonth:before, #fsPageBodyWrapper .navigation.tier > header .fsElementTitle:after, #fsMenu .button.off-canvas-trigger:after, .navigation.social a[href*='facebook']:after, .navigation.social a[href*='google']:after, .navigation.social a[href*='instagram']:after, .navigation.social a[href*='linkedin']:after, .navigation.social a[href*='blog']:after, .navigation.social a[href*='twitter']:after, .navigation.social a[href*='youtube']:after, form.gsc-search-box-tools td.gsc-search-button:after, form.gsc-search-box-tools .fsSearchElementSearchButton.fsStyleUpdateButton:after, .fsSearchElement.fsSearchForm.search form td.gsc-search-button:after, .fsSearchElement.fsSearchForm.search form .fsSearchElementSearchButton.fsStyleUpdateButton:after, .sub-navigation > header .fsElementHeaderContent:after, .search-trigger:after, .home .fsPlayer.masthead .fsElementContent:after {
  font-family: "IcoMoon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
}

.fsCalendar .fsTimeRange:before, .fsCalendar .fsLocation:before, #fsMenu .navigation.main ul.fsNavLevel1 li span.sub-trigger:after, #fsMenu .navigation.utility ul.fsNavLevel1 li span.sub-trigger:after {
  font-family: "FontAwesome";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
}

@keyframes animate-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}
.district #fsHeader {
  background-color: rgba(90, 130, 0, 0.9);
}
.district #fsHeader .utilities {
  background: #173862;
}
.district #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a {
  color: #fff;
}
.district #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a svg {
  fill: white;
}
.district #fsHeader .branding > .fsElementContent a {
  color: #fff;
}
.district #fsHeader .navigation.main nav ul.fsNavLevel1 > li > a {
  color: #fff;
}
.district #fsHeader .navigation.main nav ul.fsNavLevel1 > li:hover > a {
  color: #fff;
}
.district a {
  color: #5a8200;
}
.district .fsCalendar .fsDate {
  border-color: #5a8200;
}
.district .fsCalendar .fsDate .fsDay {
  color: #5a8200;
}
.district .fsCalendar .fsTimeRange:before {
  color: #5a8200;
}
.district .fsCalendar .fsLocation:before {
  color: #5a8200;
}
.district .fsCalendar .fsTitle a {
  color: #5a8200;
}
.district .fsSlideshow .fsPager li {
  margin: 0 1px;
}
.district .fsSlideshow .fsPager li.slick-active button:before {
  color: #5a8200;
}
.district.home .fsTitle a {
  color: #5a8200;
}
.district.home .fsCalendar .fsReadMoreLink {
  color: #fff;
}
.district.home .fsCalendar .fsReadMoreLink:hover, .district.home .fsCalendar .fsReadMoreLink:focus {
  text-decoration: underline;
  color: #fff;
}
.district.home .slick-dots li.slick-active button, .district.home .slick-dots li:hover button {
  background: #5a8200;
}
.district .playControls button {
  background: #5a8200;
}

.school1 #fsHeader {
  background-color: rgba(156, 109, 2, 0.9);
}
.school1 #fsHeader .utilities {
  background: #173862;
}
.school1 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school1 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a svg {
  fill: white;
}
.school1 #fsHeader .branding > .fsElementContent a {
  color: #fff;
}
.school1 #fsHeader .navigation.main nav ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school1 #fsHeader .navigation.main nav ul.fsNavLevel1 > li:hover > a {
  color: #fff;
}
.school1 a {
  color: #9C6D02;
}
.school1 .fsCalendar .fsDate {
  border-color: #9C6D02;
}
.school1 .fsCalendar .fsDate .fsDay {
  color: #9C6D02;
}
.school1 .fsCalendar .fsTimeRange:before {
  color: #9C6D02;
}
.school1 .fsCalendar .fsLocation:before {
  color: #9C6D02;
}
.school1 .fsCalendar .fsTitle a {
  color: #9C6D02;
}
.school1 .fsSlideshow .fsPager li {
  margin: 0 1px;
}
.school1 .fsSlideshow .fsPager li.slick-active button:before {
  color: #9C6D02;
}
.school1.home .fsTitle a {
  color: #9C6D02;
}
.school1.home .fsCalendar .fsReadMoreLink {
  color: #fff;
}
.school1.home .fsCalendar .fsReadMoreLink:hover, .school1.home .fsCalendar .fsReadMoreLink:focus {
  text-decoration: underline;
  color: #fff;
}
.school1.home .slick-dots li.slick-active button, .school1.home .slick-dots li:hover button {
  background: #9C6D02;
}
.school1 .playControls button {
  background: #9C6D02;
}

.school2 #fsHeader {
  background-color: rgba(58, 127, 1, 0.9);
}
.school2 #fsHeader .utilities {
  background: #173862;
}
.school2 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school2 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a svg {
  fill: white;
}
.school2 #fsHeader .branding > .fsElementContent a {
  color: #fff;
}
.school2 #fsHeader .navigation.main nav ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school2 #fsHeader .navigation.main nav ul.fsNavLevel1 > li:hover > a {
  color: #fff;
}
.school2 a {
  color: #3a7f01;
}
.school2 .fsCalendar .fsDate {
  border-color: #3a7f01;
}
.school2 .fsCalendar .fsDate .fsDay {
  color: #3a7f01;
}
.school2 .fsCalendar .fsTimeRange:before {
  color: #3a7f01;
}
.school2 .fsCalendar .fsLocation:before {
  color: #3a7f01;
}
.school2 .fsCalendar .fsTitle a {
  color: #3a7f01;
}
.school2 .fsSlideshow .fsPager li {
  margin: 0 1px;
}
.school2 .fsSlideshow .fsPager li.slick-active button:before {
  color: #3a7f01;
}
.school2.home .fsTitle a {
  color: #3a7f01;
}
.school2.home .fsCalendar .fsReadMoreLink {
  color: #fff;
}
.school2.home .fsCalendar .fsReadMoreLink:hover, .school2.home .fsCalendar .fsReadMoreLink:focus {
  text-decoration: underline;
  color: #fff;
}
.school2.home .slick-dots li.slick-active button, .school2.home .slick-dots li:hover button {
  background: #3a7f01;
}
.school2 .playControls button {
  background: #3a7f01;
}

.school3 #fsHeader {
  background-color: rgba(226, 52, 66, 0.9);
}
.school3 #fsHeader .utilities {
  background: #173862;
}
.school3 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school3 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a svg {
  fill: white;
}
.school3 #fsHeader .branding > .fsElementContent a {
  color: #fff;
}
.school3 #fsHeader .navigation.main nav ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school3 #fsHeader .navigation.main nav ul.fsNavLevel1 > li:hover > a {
  color: #fff;
}
.school3 a {
  color: #e23442;
}
.school3 .fsCalendar .fsDate {
  border-color: #e23442;
}
.school3 .fsCalendar .fsDate .fsDay {
  color: #e23442;
}
.school3 .fsCalendar .fsTimeRange:before {
  color: #e23442;
}
.school3 .fsCalendar .fsLocation:before {
  color: #e23442;
}
.school3 .fsCalendar .fsTitle a {
  color: #e23442;
}
.school3 .fsSlideshow .fsPager li {
  margin: 0 1px;
}
.school3 .fsSlideshow .fsPager li.slick-active button:before {
  color: #e23442;
}
.school3.home .fsTitle a {
  color: #e23442;
}
.school3.home .fsCalendar .fsReadMoreLink {
  color: #fff;
}
.school3.home .fsCalendar .fsReadMoreLink:hover, .school3.home .fsCalendar .fsReadMoreLink:focus {
  text-decoration: underline;
  color: #fff;
}
.school3.home .slick-dots li.slick-active button, .school3.home .slick-dots li:hover button {
  background: #e23442;
}
.school3 .playControls button {
  background: #e23442;
}

.school4 #fsHeader {
  background-color: rgba(50, 133, 46, 0.9);
}
.school4 #fsHeader .utilities {
  background: #173862;
}
.school4 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school4 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a svg {
  fill: white;
}
.school4 #fsHeader .branding > .fsElementContent a {
  color: #fff;
}
.school4 #fsHeader .navigation.main nav ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school4 #fsHeader .navigation.main nav ul.fsNavLevel1 > li:hover > a {
  color: #fff;
}
.school4 a {
  color: #32852E;
}
.school4 .fsCalendar .fsDate {
  border-color: #32852E;
}
.school4 .fsCalendar .fsDate .fsDay {
  color: #32852E;
}
.school4 .fsCalendar .fsTimeRange:before {
  color: #32852E;
}
.school4 .fsCalendar .fsLocation:before {
  color: #32852E;
}
.school4 .fsCalendar .fsTitle a {
  color: #32852E;
}
.school4 .fsSlideshow .fsPager li {
  margin: 0 1px;
}
.school4 .fsSlideshow .fsPager li.slick-active button:before {
  color: #32852E;
}
.school4.home .fsTitle a {
  color: #32852E;
}
.school4.home .fsCalendar .fsReadMoreLink {
  color: #fff;
}
.school4.home .fsCalendar .fsReadMoreLink:hover, .school4.home .fsCalendar .fsReadMoreLink:focus {
  text-decoration: underline;
  color: #fff;
}
.school4.home .slick-dots li.slick-active button, .school4.home .slick-dots li:hover button {
  background: #32852E;
}
.school4 .playControls button {
  background: #32852E;
}

.school5 #fsHeader {
  background-color: rgba(16, 120, 150, 0.9);
}
.school5 #fsHeader .utilities {
  background: #173862;
}
.school5 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school5 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a svg {
  fill: white;
}
.school5 #fsHeader .branding > .fsElementContent a {
  color: #fff;
}
.school5 #fsHeader .navigation.main nav ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school5 #fsHeader .navigation.main nav ul.fsNavLevel1 > li:hover > a {
  color: #fff;
}
.school5 a {
  color: #107896;
}
.school5 .fsCalendar .fsDate {
  border-color: #107896;
}
.school5 .fsCalendar .fsDate .fsDay {
  color: #107896;
}
.school5 .fsCalendar .fsTimeRange:before {
  color: #107896;
}
.school5 .fsCalendar .fsLocation:before {
  color: #107896;
}
.school5 .fsCalendar .fsTitle a {
  color: #107896;
}
.school5 .fsSlideshow .fsPager li {
  margin: 0 1px;
}
.school5 .fsSlideshow .fsPager li.slick-active button:before {
  color: #107896;
}
.school5.home .fsTitle a {
  color: #107896;
}
.school5.home .fsCalendar .fsReadMoreLink {
  color: #fff;
}
.school5.home .fsCalendar .fsReadMoreLink:hover, .school5.home .fsCalendar .fsReadMoreLink:focus {
  text-decoration: underline;
  color: #fff;
}
.school5.home .slick-dots li.slick-active button, .school5.home .slick-dots li:hover button {
  background: #107896;
}
.school5 .playControls button {
  background: #107896;
}

.school6 #fsHeader {
  background-color: rgba(220, 203, 104, 0.9);
}
.school6 #fsHeader .utilities {
  background: #173862;
}
.school6 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school6 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a svg {
  fill: white;
}
.school6 #fsHeader .branding > .fsElementContent a {
  color: #fff;
}
.school6 #fsHeader .navigation.main nav ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school6 #fsHeader .navigation.main nav ul.fsNavLevel1 > li:hover > a {
  color: #fff;
}
.school6 a {
  color: #dccb68;
}
.school6 .fsCalendar .fsDate {
  border-color: #dccb68;
}
.school6 .fsCalendar .fsDate .fsDay {
  color: #dccb68;
}
.school6 .fsCalendar .fsTimeRange:before {
  color: #dccb68;
}
.school6 .fsCalendar .fsLocation:before {
  color: #dccb68;
}
.school6 .fsCalendar .fsTitle a {
  color: #dccb68;
}
.school6 .fsSlideshow .fsPager li {
  margin: 0 1px;
}
.school6 .fsSlideshow .fsPager li.slick-active button:before {
  color: #dccb68;
}
.school6.home .fsTitle a {
  color: #dccb68;
}
.school6.home .fsCalendar .fsReadMoreLink {
  color: #fff;
}
.school6.home .fsCalendar .fsReadMoreLink:hover, .school6.home .fsCalendar .fsReadMoreLink:focus {
  text-decoration: underline;
  color: #fff;
}
.school6.home .slick-dots li.slick-active button, .school6.home .slick-dots li:hover button {
  background: #dccb68;
}
.school6 .playControls button {
  background: #dccb68;
}

.school7 #fsHeader {
  background-color: rgba(90, 130, 0, 0.9);
}
.school7 #fsHeader .utilities {
  background: #173862;
}
.school7 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school7 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a svg {
  fill: white;
}
.school7 #fsHeader .branding > .fsElementContent a {
  color: #fff;
}
.school7 #fsHeader .navigation.main nav ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school7 #fsHeader .navigation.main nav ul.fsNavLevel1 > li:hover > a {
  color: #fff;
}
.school7 a {
  color: #5a8200;
}
.school7 .fsCalendar .fsDate {
  border-color: #5a8200;
}
.school7 .fsCalendar .fsDate .fsDay {
  color: #5a8200;
}
.school7 .fsCalendar .fsTimeRange:before {
  color: #5a8200;
}
.school7 .fsCalendar .fsLocation:before {
  color: #5a8200;
}
.school7 .fsCalendar .fsTitle a {
  color: #5a8200;
}
.school7 .fsSlideshow .fsPager li {
  margin: 0 1px;
}
.school7 .fsSlideshow .fsPager li.slick-active button:before {
  color: #5a8200;
}
.school7.home .fsTitle a {
  color: #5a8200;
}
.school7.home .fsCalendar .fsReadMoreLink {
  color: #fff;
}
.school7.home .fsCalendar .fsReadMoreLink:hover, .school7.home .fsCalendar .fsReadMoreLink:focus {
  text-decoration: underline;
  color: #fff;
}
.school7.home .slick-dots li.slick-active button, .school7.home .slick-dots li:hover button {
  background: #5a8200;
}
.school7 .playControls button {
  background: #5a8200;
}

.school8 #fsHeader {
  background-color: rgba(90, 130, 0, 0.9);
}
.school8 #fsHeader .utilities {
  background: #173862;
}
.school8 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school8 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a svg {
  fill: white;
}
.school8 #fsHeader .branding > .fsElementContent a {
  color: #fff;
}
.school8 #fsHeader .navigation.main nav ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school8 #fsHeader .navigation.main nav ul.fsNavLevel1 > li:hover > a {
  color: #fff;
}
.school8 a {
  color: #5a8200;
}
.school8 .fsCalendar .fsDate {
  border-color: #5a8200;
}
.school8 .fsCalendar .fsDate .fsDay {
  color: #5a8200;
}
.school8 .fsCalendar .fsTimeRange:before {
  color: #5a8200;
}
.school8 .fsCalendar .fsLocation:before {
  color: #5a8200;
}
.school8 .fsCalendar .fsTitle a {
  color: #5a8200;
}
.school8 .fsSlideshow .fsPager li {
  margin: 0 1px;
}
.school8 .fsSlideshow .fsPager li.slick-active button:before {
  color: #5a8200;
}
.school8.home .fsTitle a {
  color: #5a8200;
}
.school8.home .fsCalendar .fsReadMoreLink {
  color: #fff;
}
.school8.home .fsCalendar .fsReadMoreLink:hover, .school8.home .fsCalendar .fsReadMoreLink:focus {
  text-decoration: underline;
  color: #fff;
}
.school8.home .slick-dots li.slick-active button, .school8.home .slick-dots li:hover button {
  background: #5a8200;
}
.school8 .playControls button {
  background: #5a8200;
}

.school9 #fsHeader {
  background-color: rgba(90, 130, 0, 0.9);
}
.school9 #fsHeader .utilities {
  background: #626970;
}
.school9 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school9 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a svg {
  fill: white;
}
.school9 #fsHeader .branding > .fsElementContent a {
  color: #fff;
}
.school9 #fsHeader .navigation.main nav ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school9 #fsHeader .navigation.main nav ul.fsNavLevel1 > li:hover > a {
  color: #fff;
}
.school9 a {
  color: #5a8200;
}
.school9 .fsCalendar .fsDate {
  border-color: #5a8200;
}
.school9 .fsCalendar .fsDate .fsDay {
  color: #5a8200;
}
.school9 .fsCalendar .fsTimeRange:before {
  color: #5a8200;
}
.school9 .fsCalendar .fsLocation:before {
  color: #5a8200;
}
.school9 .fsCalendar .fsTitle a {
  color: #5a8200;
}
.school9 .fsSlideshow .fsPager li {
  margin: 0 1px;
}
.school9 .fsSlideshow .fsPager li.slick-active button:before {
  color: #5a8200;
}
.school9.home .fsTitle a {
  color: #5a8200;
}
.school9.home .fsCalendar .fsReadMoreLink {
  color: #fff;
}
.school9.home .fsCalendar .fsReadMoreLink:hover, .school9.home .fsCalendar .fsReadMoreLink:focus {
  text-decoration: underline;
  color: #fff;
}
.school9.home .slick-dots li.slick-active button, .school9.home .slick-dots li:hover button {
  background: #5a8200;
}
.school9 .playControls button {
  background: #5a8200;
}

.school10 #fsHeader {
  background-color: rgba(90, 130, 0, 0.9);
}
.school10 #fsHeader .utilities {
  background: #626970;
}
.school10 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school10 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a svg {
  fill: white;
}
.school10 #fsHeader .branding > .fsElementContent a {
  color: #fff;
}
.school10 #fsHeader .navigation.main nav ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school10 #fsHeader .navigation.main nav ul.fsNavLevel1 > li:hover > a {
  color: #fff;
}
.school10 a {
  color: #5a8200;
}
.school10 .fsCalendar .fsDate {
  border-color: #5a8200;
}
.school10 .fsCalendar .fsDate .fsDay {
  color: #5a8200;
}
.school10 .fsCalendar .fsTimeRange:before {
  color: #5a8200;
}
.school10 .fsCalendar .fsLocation:before {
  color: #5a8200;
}
.school10 .fsCalendar .fsTitle a {
  color: #5a8200;
}
.school10 .fsSlideshow .fsPager li {
  margin: 0 1px;
}
.school10 .fsSlideshow .fsPager li.slick-active button:before {
  color: #5a8200;
}
.school10.home .fsTitle a {
  color: #5a8200;
}
.school10.home .fsCalendar .fsReadMoreLink {
  color: #fff;
}
.school10.home .fsCalendar .fsReadMoreLink:hover, .school10.home .fsCalendar .fsReadMoreLink:focus {
  text-decoration: underline;
  color: #fff;
}
.school10.home .slick-dots li.slick-active button, .school10.home .slick-dots li:hover button {
  background: #5a8200;
}
.school10 .playControls button {
  background: #5a8200;
}

.school11 #fsHeader {
  background-color: rgba(90, 130, 0, 0.9);
}
.school11 #fsHeader .utilities {
  background: #626970;
}
.school11 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school11 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a svg {
  fill: white;
}
.school11 #fsHeader .branding > .fsElementContent a {
  color: #fff;
}
.school11 #fsHeader .navigation.main nav ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school11 #fsHeader .navigation.main nav ul.fsNavLevel1 > li:hover > a {
  color: #fff;
}
.school11 a {
  color: #5a8200;
}
.school11 .fsCalendar .fsDate {
  border-color: #5a8200;
}
.school11 .fsCalendar .fsDate .fsDay {
  color: #5a8200;
}
.school11 .fsCalendar .fsTimeRange:before {
  color: #5a8200;
}
.school11 .fsCalendar .fsLocation:before {
  color: #5a8200;
}
.school11 .fsCalendar .fsTitle a {
  color: #5a8200;
}
.school11 .fsSlideshow .fsPager li {
  margin: 0 1px;
}
.school11 .fsSlideshow .fsPager li.slick-active button:before {
  color: #5a8200;
}
.school11.home .fsTitle a {
  color: #5a8200;
}
.school11.home .fsCalendar .fsReadMoreLink {
  color: #fff;
}
.school11.home .fsCalendar .fsReadMoreLink:hover, .school11.home .fsCalendar .fsReadMoreLink:focus {
  text-decoration: underline;
  color: #fff;
}
.school11.home .slick-dots li.slick-active button, .school11.home .slick-dots li:hover button {
  background: #5a8200;
}
.school11 .playControls button {
  background: #5a8200;
}

.school21 #fsHeader {
  background-color: rgba(45, 120, 174, 0.9);
}
.school21 #fsHeader .utilities {
  background: #FEE700;
}
.school21 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school21 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a svg {
  fill: white;
}
.school21 #fsHeader .branding > .fsElementContent a {
  color: #fff;
}
.school21 #fsHeader .navigation.main nav ul.fsNavLevel1 > li > a {
  color: #fff;
}
.school21 #fsHeader .navigation.main nav ul.fsNavLevel1 > li:hover > a {
  color: #fff;
}
.school21 a {
  color: #2d78ae;
}
.school21 .fsCalendar .fsDate {
  border-color: #2d78ae;
}
.school21 .fsCalendar .fsDate .fsDay {
  color: #2d78ae;
}
.school21 .fsCalendar .fsTimeRange:before {
  color: #2d78ae;
}
.school21 .fsCalendar .fsLocation:before {
  color: #2d78ae;
}
.school21 .fsCalendar .fsTitle a {
  color: #2d78ae;
}
.school21 .fsSlideshow .fsPager li {
  margin: 0 1px;
}
.school21 .fsSlideshow .fsPager li.slick-active button:before {
  color: #2d78ae;
}
.school21.home .fsTitle a {
  color: #2d78ae;
}
.school21.home .fsCalendar .fsReadMoreLink {
  color: #fff;
}
.school21.home .fsCalendar .fsReadMoreLink:hover, .school21.home .fsCalendar .fsReadMoreLink:focus {
  text-decoration: underline;
  color: #fff;
}
.school21.home .slick-dots li.slick-active button, .school21.home .slick-dots li:hover button {
  background: #2d78ae;
}
.school21 .playControls button {
  background: #2d78ae;
}

.district #fsHeader {
  background-color: #5a8200;
}

#fsMenu .navigation.main ul.fsNavLevel1 li.fsNavCurrentPage > a, #fsMenu .navigation.main ul.fsNavLevel1 li.fsNavCurrentPageAncestor > a {
  color: #7cb101;
}

.school4 #fsHeader {
  background-color: rgba(50, 133, 46, 0.97);
}

.school5 #fsHeader {
  background-color: rgba(16, 120, 150, 0.97);
}

/*! structure - layouts v0.0.1 */
* {
  box-sizing: border-box;
}

*:before,
*:after {
  box-sizing: border-box;
  pointer-events: none;
}

html {
  font-family: "open-sans", sans-serif;
  background: #626970;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html:not(.fsComposerFormEmbed).js {
  display: block;
}

body {
  font-size: 16px;
  line-height: 1.5;
  color: #5f5f5f;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  font-weight: normal;
}

h1, .h1 {
  font-size: 2.375em;
  line-height: 1.1052631579;
  margin-bottom: 1em;
  color: #173862;
  letter-spacing: normal;
  font-style: normal;
  font-weight: 500;
}

h2, .h2 {
  font-size: 1.75em;
  line-height: 1.1428571429;
  margin-bottom: 1em;
  color: #5a8200;
  letter-spacing: normal;
  font-style: normal;
  font-weight: normal;
}

h3, #fsFooter > .fsBanner header .fsElementTitle, .h3 {
  font-size: 1.5em;
  line-height: 1.1666666667;
  margin-bottom: 1em;
  color: #173862;
  font-family: "open-sans", sans-serif;
  letter-spacing: normal;
  font-style: normal;
  font-weight: 600;
}

h4, .fsCalendar > header .fsElementTitle, .content-block > header .fsElementTitle, .fsNews > header .fsElementTitle, .h4 {
  font-size: 1.375em;
  line-height: 1.1818181818;
  margin-bottom: 1em;
  color: #5a8200;
  font-family: "open-sans", sans-serif;
  letter-spacing: normal;
  font-style: normal;
  font-weight: 600;
}

h5, .h5 {
  font-size: 1em;
  line-height: 1.25;
  margin-bottom: 1em;
  color: #5f5f5f;
  font-family: "open-sans", sans-serif;
  letter-spacing: normal;
  font-style: normal;
  font-weight: 600;
  text-transform: uppercase;
}

h6, .h6 {
  font-size: 1em;
  line-height: 1.5;
  margin-bottom: 1em;
  color: #5f5f5f;
  font-family: "open-sans", sans-serif;
  letter-spacing: normal;
  font-style: normal;
  font-weight: 600;
}

p {
  margin-top: 0;
  margin-bottom: 20px;
}

a {
  text-decoration: none;
  transition: background .3s, color .3s;
}
a:hover {
  color: #5a8200;
  text-decoration: underline;
}

ul,
ol {
  padding-left: 20px;
  margin-top: 20px;
  margin-bottom: 20px;
}

.fs_style_11,
table.styled, .fs_style_12,
table.styled.header-row {
  margin-top: 20px;
  margin-bottom: 20px;
  width: 100%;
  overflow: hidden;
  border-spacing: 0;
}
.fs_style_11 tr:first-child th,
table.styled tr:first-child th, .fs_style_12 tr:first-child th, .fs_style_11 tr:first-child td,
table.styled tr:first-child td, .fs_style_12 tr:first-child td {
  border-top: 0px solid #bebebe;
  overflow: hidden;
}
.fs_style_11 tr:last-child,
table.styled tr:last-child, .fs_style_12 tr:last-child {
  border-bottom: 0px solid #bebebe;
}
.fs_style_11 tr:last-child th,
table.styled tr:last-child th, .fs_style_12 tr:last-child th, .fs_style_11 tr:last-child td,
table.styled tr:last-child td, .fs_style_12 tr:last-child td {
  overflow: hidden;
}
.fs_style_11 th,
table.styled th, .fs_style_12 th,
table.styled.header-row th,
.fs_style_11 td,
table.styled td,
.fs_style_12 td,
table.styled.header-row td {
  padding: 10px 15px;
  vertical-align: top;
  background-color: transparent;
}
.fs_style_11 th:first-child,
table.styled th:first-child, .fs_style_12 th:first-child,
.fs_style_11 td:first-child,
table.styled td:first-child,
.fs_style_12 td:first-child {
  border-left: 0px solid #bebebe;
}
.fs_style_11 th:last-child,
table.styled th:last-child, .fs_style_12 th:last-child,
.fs_style_11 td:last-child,
table.styled td:last-child,
.fs_style_12 td:last-child {
  border-right: 0px solid #bebebe;
}
.fs_style_11 th,
table.styled th, .fs_style_12 th,
table.styled.header-row th {
  text-align: left;
  font-weight: 700;
}
.fs_style_11 tr:nth-of-type(odd) td,
table.styled tr:nth-of-type(odd) td, .fs_style_12 tr:nth-of-type(odd) td {
  background-color: #f8f8f8;
}

.fs_style_12 > tr:first-child td, .fs_style_12 > tbody tr:first-child td,
table.styled.header-row > tr:first-child td,
table.styled.header-row > tbody tr:first-child td {
  padding: 12px 15px;
  background-color: #173862;
  color: #fff;
  font-family: "open-sans", sans-serif;
  letter-spacing: normal;
  font-style: normal;
  font-size: 16px;
  line-height: 20px;
  border: 0px solid #173862;
}

img,
canvas,
video,
svg {
  height: auto;
  max-width: 100%;
}

iframe {
  border: 0;
  max-width: 100%;
}

.fs_style_1,
blockquote {
  display: block;
  position: relative;
  margin: 40px 0;
  padding-left: 10px;
  font-size: 16px;
  line-height: 1.5;
  color: #173862;
  font-family: "open-sans", sans-serif;
  letter-spacing: normal;
  font-style: normal;
  font-weight: normal;
  border-left: 5px solid #5a8200;
}
.fs_style_1:before,
blockquote:before {
  /*
      position: absolute;
      right: 100%;
      top: 0;
      content: '\201C';
  */
}
.fs_style_1 cite,
.fs_style_1 em,
blockquote cite,
blockquote em {
  color: #333;
  font-size: .9em;
  font-style: normal;
  display: block;
}
.fs_style_1 cite:before,
.fs_style_1 em:before,
blockquote cite:before,
blockquote em:before {
  content: '- ';
}

cite {
  display: block;
  margin: 20px 0;
  font-size: 16px;
  line-height: 1.5;
  color: #5a8200;
  font-family: "open-sans", sans-serif;
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "IcoMoon";
  src: url("/uploaded/themes/build/fonts//icomoon/aspen.eot?1146aspen");
  src: url("/uploaded/themes/build/fonts//icomoon/aspen.eot?#iefix?1146aspen") format("embedded-opentype"), url("/uploaded/themes/build/fonts//icomoon/aspen.woff2?1146aspen") format("woff2"), url("/uploaded/themes/build/fonts//icomoon/aspen.ttf?1146aspen") format("truetype"), url("/uploaded/themes/build/fonts//icomoon/aspen.woff?1146aspen") format("woff"), url("/uploaded/themes/build/fonts//icomoon/aspen.svg?1146#aspen") format("svg");
  font-weight: 400;
  font-style: normal;
}
[class^="icon-"], [class*=" icon-"] {
  font-family: "IcoMoon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-plus:before {
  content: "";
}

.icon-minus:before {
  content: "";
}

.icon-close:before {
  content: "";
}

.icon-chevron-left:before {
  content: "";
}

.icon-chevron-right:before {
  content: "";
}

.icon-chevron-up:before {
  content: "";
}

.icon-chevron-down:before {
  content: "";
}

.icon-angle-left:before {
  content: "";
}

.icon-angle-right:before {
  content: "";
}

.icon-angle-up:before {
  content: "";
}

.icon-angle-down:before {
  content: "";
}

.icon-facebook:before {
  content: "";
}

.icon-twitter:before {
  content: "";
}

.icon-linkedin:before {
  content: "";
}

.icon-youtube-play:before {
  content: "";
}

.icon-feed:before {
  content: "";
}

.icon-google-plus:before {
  content: "";
}

.icon-instagram:before {
  content: "";
}

.icon-search:before {
  content: "";
}

.icon-bars:before {
  content: "";
}

.icon-spinner:before {
  content: "";
}

#fsPageBodyWrapper {
  padding-right: 20px;
  padding-left: 20px;
  padding-top: 40px;
  padding-bottom: 40px;
  background: #fff;
  overflow: hidden;
}
.has-tier-navigation #fsPageBodyWrapper {
  padding-top: 0px;
  padding-bottom: 0px;
}
@media (min-width: 750px) {
  .has-tier-navigation #fsPageBodyWrapper {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

#fsPageBody {
  position: relative;
  margin: 0 auto;
  width: 1146px;
  max-width: 100%;
}
.home #fsPageBody {
  margin: 0;
  max-width: none;
}
#fsPageBody .fsContent a {
  text-decoration: underline;
}

#fsBannerLeft {
  float: none;
  margin-bottom: 20px;
  width: 100%;
  width: auto;
}
@media (min-width: 750px) {
  #fsBannerLeft {
    float: left;
  }
}
@media (min-width: 750px) {
  #fsBannerLeft {
    padding-right: 50px;
    display: block;
    width: 31.4285714286%;
  }
  .fsOverrideLeftBanner #fsBannerLeft {
    display: none !important;
  }
}
@media (min-width: 900px) {
  #fsBannerLeft {
    width: 30.5410122164%;
  }
}

.fsBannerLeft.mobile {
  display: block;
}
@media (min-width: 750px) {
  .fsBannerLeft.mobile {
    display: none;
  }
}

#fsPageContent {
  float: none;
  margin-bottom: 20px;
  width: 100% !important;
  margin: 0;
}
@media (min-width: 750px) {
  #fsPageContent {
    float: left;
  }
}
@media (min-width: 750px) {
  .fsHasRightBanner #fsPageContent {
    width: 70.8551483421% !important;
  }
}
@media (min-width: 750px) {
  .fsHasLeftBanner #fsPageContent {
    width: 68.5714285714% !important;
  }
}
@media (min-width: 750px) {
  .fsHasLeftBanner.fsOverrideLeftBanner #fsPageContent {
    width: 100% !important;
  }
}
.fsHasLeftBanner.fsHasRightBanner #fsPageContent {
  zoom: 1;
}
.fsHasLeftBanner.fsHasRightBanner #fsPageContent:after {
  display: table;
  clear: both;
  content: '';
}
@media (min-width: 750px) {
  .fsHasLeftBanner.fsHasRightBanner #fsPageContent {
    width: 68.5714285714% !important;
  }
}
@media (min-width: 900px) {
  .fsHasLeftBanner.fsHasRightBanner #fsPageContent {
    width: 40.3141361257% !important;
  }
}
@media (min-width: 750px) {
  .fsOverrideLeftBanner .fsHasLeftBanner.fsHasRightBanner.fsOverrideLeftBanner #fsPageContent {
    width: 100% !important;
  }
}

#fsBannerRight {
  float: none;
  margin-bottom: 20px;
  width: 100%;
  overflow: hidden;
}
@media (min-width: 750px) {
  #fsBannerRight {
    float: left;
  }
}
@media (min-width: 750px) {
  #fsBannerRight {
    padding-left: 50px;
    width: 29.1448516579%;
  }
}
@media (min-width: 750px) {
  .fsHasLeftBanner #fsBannerRight {
    width: 68.5714285714%;
    margin-left: 31.4285714286%;
    padding-left: 0;
  }
}
@media (min-width: 900px) {
  .fsHasLeftBanner #fsBannerRight {
    padding-left: 50px;
    width: 29.1448516579%;
    margin: 0;
  }
}
@media (min-width: 750px) {
  .fsHasLeftBanner.fsOverrideLeftBanner #fsBannerRight {
    width: 100% !important;
    margin-left: 0;
  }
}

@media (min-width: 750px) {
  .fsLayout {
    margin-right: -20px;
    margin-left: -20px;
  }
}
.fsLayout .fsDiv {
  float: none;
  margin-bottom: 20px;
  width: 100%;
}
@media (min-width: 750px) {
  .fsLayout .fsDiv {
    float: left;
  }
}
@media (min-width: 750px) {
  .fsLayout .fsDiv {
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media (min-width: 750px) {
  .fsTwoColumnLayout .fsDiv {
    width: 50%;
  }
}

@media (min-width: 900px) {
  .fsThreeColumnLayout .fsDiv {
    width: 33.3333333333%;
  }
}

@media (min-width: 750px) {
  .fsFourColumnLayout .fsDiv {
    width: 50%;
  }
}
@media (min-width: 1380px) {
  .fsFourColumnLayout .fsDiv {
    width: 25%;
  }
}

.fsLayout .fsStyleTwoThirds {
  width: 100%;
}
@media (min-width: 1380px) {
  .fsLayout .fsStyleTwoThirds {
    width: 66.6666666667%;
  }
}
.fsLayout .fsStyleOneThird {
  width: 100%;
}
@media (min-width: 1380px) {
  .fsLayout .fsStyleOneThird {
    width: 33.3333333333%;
  }
}

/*! elements - constituent main */
/*! elements - constituent search */
.fsConstituent.fsSearch {
  margin: 0;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: solid 1px #dddedf;
}
@media (min-width: 750px) {
  .fsConstituent.fsSearch > .fsElementContent {
    margin: 0 -10px;
  }
}
.fsConstituent.fsSearch label {
  display: block;
  margin-bottom: 1.25em;
}
@media (min-width: 750px) {
  .fsConstituent.fsSearch label {
    display: inline-block;
    vertical-align: top;
    width: 49.5%;
    padding: 0 10px;
  }
}
@media (min-width: 900px) {
  .fsConstituent.fsSearch label {
    width: 32.8333333333%;
  }
}
.fsConstituent.fsSearch input,
.fsConstituent.fsSearch select {
  display: block;
  width: 100%;
}
.fsConstituent.fsSearch [type*='submit'] {
  width: auto;
}
@media (min-width: 750px) {
  .fsConstituent.fsSearch [type*='submit'] {
    margin-left: 0.625em;
  }
}
.fsConstituent.fsSearch .fsConstituentSearchButton {
  font-family: "open-sans", sans-serif;
  font-weight: 600;
  text-transform: none;
  font-size: 16px;
  line-height: 20px;
  display: inline-block;
  border: 0;
  margin: 0 0 20px;
  padding: 12px 20px;
  background: #5f5f5f;
  color: #fff;
  outline: 0;
  text-align: center;
  display: block;
  margin: 0 10px;
}
.fsConstituent.fsSearch .fsConstituentSearchButton:hover, .fsConstituent.fsSearch .fsConstituentSearchButton:focus {
  background-color: #8f8f8f;
  color: #000;
}
.fsConstituent.fsSearch .fsConstituentSearchButton:focus {
  outline: -webkit-focus-ring-color auto 1px;
}
.fsConstituent.fsSearch .fsConstituentSearchButton em {
  display: block;
  font-style: normal;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.1;
}
.fsConstituent .fsElementPagination {
  margin: 20px 0;
}

/*! elements - constituent profile */
.fsConstituentProfile {
  position: relative;
}
.fsConstituentProfile .fsProfileImage {
  display: block;
  margin-bottom: 20px;
}
.fsConstituentProfile .fsFullName {
  color: #5a8200;
}
@media (min-width: 800px) {
  .fsConstituentProfile.fsHasPhoto > div, .fsConstituentProfile.fsHasPhoto > h3 {
    padding: 0;
    padding-left: calc(25% + 20px);
  }
}
@media (min-width: 600px) {
  .fsConstituentProfile.fsHasPhoto .fsProfileImage {
    float: left;
    padding-right: 20px;
    max-width: 50%;
  }
}
@media (min-width: 800px) {
  .fsConstituentProfile.fsHasPhoto .fsProfileImage {
    position: absolute;
    left: 0;
    top: 0;
    max-width: 25%;
    padding: 0;
    float: none;
  }
}
@media (min-width: 600px) {
  .fsConstituentProfile:not(.fsHasPhoto) .fsProfileImage {
    float: left;
    padding-right: 20px;
    max-width: 50%;
  }
}
@media (min-width: 800px) {
  .fsConstituentProfile:not(.fsHasPhoto) .fsProfileImage {
    max-width: 25%;
  }
}

.fsProfileSection {
  margin-bottom: 1.25em;
  font-size: 16px;
}
.fsProfileSection h4 {
  font-weight: bold;
  font-size: 18px;
  border-bottom: 1px solid #333;
  margin: 0 0 .5em 0;
  padding: 0 0 .5em 0;
}
.fsProfileSection .fsProfileSectionData {
  margin-bottom: 10px;
  padding-bottom: 10px;
}
.fsProfileSection .fsProfileSectionData.fsTitle {
  font-weight: normal;
  font-size: 1em;
}

.fsProfileSectionSpecialData > div, .fsProfileSpecialFieldName > div {
  width: auto;
  float: none;
}
@media (min-width: 800px) {
  .fsProfileSectionSpecialData > div, .fsProfileSpecialFieldName > div {
    float: left;
  }
  .fsProfileSectionSpecialData > div:first-child, .fsProfileSpecialFieldName > div:first-child {
    width: 25%;
  }
  .fsProfileSectionSpecialData > div:last-child, .fsProfileSpecialFieldName > div:last-child {
    width: 75%;
  }
}

.fsProfileSectionFieldName,
.fsProfileSectionFieldValue {
  width: auto;
  float: none;
}

@media (min-width: 800px) {
  .fsProfileSectionFieldName {
    width: 25%;
    float: left;
  }
}

@media (min-width: 800px) {
  .fsProfileSectionFieldValue {
    width: 75%;
    float: left;
  }
}

@media (min-width: 800px) {
  .fsBiography .fsProfileSectionFieldName {
    font-weight: bold;
  }
  .fsBiography .fsProfileSectionFieldName,
  .fsBiography .fsProfileSectionFieldValue {
    float: none;
    width: 100%;
  }
}

.fsProfileSectionData.fsEmployedSince {
  width: 100% !important;
}

/*! elements - constituent default layout */
.fsDirectory {
  word-break: break-word;
  margin-bottom: 20px;
}
.fsDirectory .fsConstituentItem {
  padding: 20px 0;
  border: 1px solid #eee;
}
.fsDirectory .fsConstituentItem > h3, .fsDirectory .fsConstituentItem > div {
  padding-right: 20px;
  padding-left: 20px;
  margin-bottom: 10px;
  padding-top: 0;
}
.fsDirectory .fsConstituentItem > h3:last-child, .fsDirectory .fsConstituentItem > div:last-child {
  margin-bottom: 0;
}
.fsDirectory .fsConstituentItem .fsPhoto img {
  display: block;
  width: 100%;
}

.fsConstituentColumnLayout_1 .fsConstituentItem {
  margin: 0;
  margin-bottom: 20px;
}

@media (min-width: 750px) {
  .fsConstituentColumnLayout_2 {
    margin: 0 -10px;
  }
}
.fsConstituentColumnLayout_2 .fsConstituentItem {
  width: 100%;
  margin: 0;
  margin-bottom: 20px;
}
@media (min-width: 750px) {
  .fsConstituentColumnLayout_2 .fsConstituentItem {
    width: calc(50% - 20px);
    margin: 0 10px;
    margin-bottom: 20px;
  }
}
.fsConstituentColumnLayout_2 .fsConstituentItem:nth-child(2n+1) {
  clear: both;
}

@media (min-width: 750px) {
  .fsConstituentColumnLayout_3 {
    margin: 0 -10px;
  }
}
.fsConstituentColumnLayout_3 .fsConstituentItem {
  width: 100%;
  margin: 0;
  margin-bottom: 20px;
}
@media (min-width: 750px) {
  .fsConstituentColumnLayout_3 .fsConstituentItem {
    width: calc(50% - 20px);
    float: left;
    margin: 0 10px;
    margin-bottom: 20px;
  }
  .fsConstituentColumnLayout_3 .fsConstituentItem:nth-child(2n+1) {
    clear: both;
  }
}
@media (min-width: 900px) {
  .fsConstituentColumnLayout_3 .fsConstituentItem {
    width: calc(33.33% - 20px);
  }
  .fsConstituentColumnLayout_3 .fsConstituentItem:nth-child(2n+1) {
    clear: none;
  }
  .fsConstituentColumnLayout_3 .fsConstituentItem:nth-child(3n+1) {
    clear: both;
  }
}

@media (min-width: 750px) {
  .fsConstituentColumnLayout_4 {
    margin: 0 -10px;
  }
}
.fsConstituentColumnLayout_4 .fsConstituentItem {
  width: 100%;
  margin: 0;
  margin-bottom: 20px;
}
@media (min-width: 750px) {
  .fsConstituentColumnLayout_4 .fsConstituentItem {
    width: calc(50% - 20px);
    margin: 0 10px;
    margin-bottom: 20px;
  }
  .fsConstituentColumnLayout_4 .fsConstituentItem:nth-child(2n+1) {
    clear: both;
  }
}
@media (min-width: 900px) {
  .fsConstituentColumnLayout_4 .fsConstituentItem {
    width: calc(33.33% - 20px);
  }
  .fsConstituentColumnLayout_4 .fsConstituentItem:nth-child(2n+1) {
    clear: none;
  }
  .fsConstituentColumnLayout_4 .fsConstituentItem:nth-child(3n+1) {
    clear: both;
  }
}
@media (min-width: 1380px) {
  .fsConstituentColumnLayout_4 .fsConstituentItem {
    width: calc(25% - 20px);
  }
  .fsConstituentColumnLayout_4 .fsConstituentItem:nth-child(3n+1) {
    clear: none;
  }
  .fsConstituentColumnLayout_4 .fsConstituentItem:nth-child(4n+1) {
    clear: both;
  }
}

.fsAccordion {
  margin-bottom: 20px;
}
.fsAccordion .fsPanel {
  margin-bottom: 5px;
}
.fsAccordion .fsPanel > header {
  transition: all 0.333s;
  cursor: pointer;
  background: #173862;
  border: 0 solid transparent;
}
.fsAccordion .fsPanel > header h2 {
  transition: all 0.333s;
  margin-bottom: 0;
  display: block;
  font-size: 16px;
  line-height: 20px;
  padding: 10px 12px;
  color: #fff;
  font-family: "open-sans", sans-serif;
  font-weight: normal;
}
.fsAccordion .fsPanel > header h2:before {
  font-family: "IcoMoon";
}
.fsAccordion .fsPanel > header:hover {
  background: #5a8200;
  border-color: transparent;
}
.fsAccordion .fsPanel > header:hover h2 {
  color: #fff;
}
.fsAccordion .fsPanel > .fsElementContent {
  border: 0 solid #bebebe;
  border-top: none;
}
.fsAccordion .fsPanel.fsStateOpen > header {
  background: #626970;
  border-color: #bebebe;
  border-bottom-color: transparent;
}
.fsAccordion .fsPanel.fsStateOpen > header h2 {
  color: #fff;
}
.fsAccordion .fsPanel.fsStateOpen > header h2:before {
  content: "";
}

.fsAccordion.fsPanelIconBefore .fsPanel.fsStateOpen > header h2::before,
.fsAccordion.fsPanelIconAfter .fsPanel.fsStateOpen > header h2::after,
.fsAccordion.fsPanelIconAfter .fsPanel > header h2::after,
.fsAccordion.fsPanelIconBefore .fsPanel > header h2::before {
  content: "";
  font-size: 15px;
  border: none;
  width: auto;
  height: auto;
}

.fsAccordion.fsPanelIconBefore .fsPanel.fsStateOpen > header h2::before,
.fsAccordion.fsPanelIconAfter .fsPanel.fsStateOpen > header h2::after {
  content: "";
}

.fsAccordion.fsPanelIconAfter .fsPanel > header h2::after,
.fsAccordion.fsPanelIconBefore .fsPanel > header h2::before {
  content: "";
}

.fsAccordion.fsPanelIconBefore .fsPanel > header h2::before {
  margin: -3px 20px 0 0;
}

.fsAccordion.fsPanelIconAfter .fsPanel > header h2:before {
  display: none;
}
.fsAccordion.fsPanelIconAfter .fsPanel > header h2:after {
  margin: 0 0 0 20px;
  float: right;
}

/*! elements - calendar v0.0.1 */
.fsCalendar {
  margin-top: 20px;
  margin-bottom: 20px;
  padding-bottom: 20px;
}
.fsCalendar > header {
  border-bottom: 1px solid #000;
  margin-bottom: 20px;
}
.fsCalendar > header .fsElementTitle {
  font-size: 18px;
  color: #173862;
  margin-bottom: 5px;
}
.fsCalendar:first-child {
  margin-top: 0;
}
.fsCalendar:last-child {
  margin-bottom: 0;
}
.fsCalendar img {
  border-bottom: 5px solid #516a89;
}
.fsCalendar.fsGrid .fsCalendarGridBrowser span {
  padding: 0 20px !important;
}
.fsCalendar.fsGrid .fsCalendarGridBrowser .fsLeftArrow, .fsCalendar.fsGrid .fsCalendarGridBrowser .fsRightArrow {
  width: auto;
  height: auto;
}
.fsCalendar.fsGrid .fsCalendarGridBrowser .fsLeftArrow:before, .fsCalendar.fsGrid .fsCalendarGridBrowser .fsRightArrow:before {
  top: -3px;
}
.fsCalendar article {
  margin-top: 20px;
  margin-bottom: 20px;
  position: relative;
  padding-left: 110px;
  min-height: 90px;
}
.fsCalendar article:first-child {
  margin-top: 0;
}
.fsCalendar article .fsNotes {
  margin-bottom: 10px;
}
.fsCalendar .fsTitle {
  font-size: 21px;
  font-weight: normal;
  line-height: 1.2em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.fsCalendar .fsTitle a:hover {
  color: #516a89;
}
.fsCalendar .fsDate {
  margin: 0 0 5px;
  padding: 0;
  font-size: 14px;
  line-height: 1.1428571429;
  color: #424242;
  letter-spacing: normal;
  font-style: normal;
  font-weight: 600;
  position: absolute;
  top: 0;
  left: 0;
  height: 90px;
  width: 90px;
  padding-top: 5px;
  text-align: center;
  text-transform: uppercase;
  border: 2px solid #626970;
}
.fsCalendar .fsDate span {
  display: block;
}
.fsCalendar .fsDate .fsDayName {
  font-size: 12px;
}
.fsCalendar .fsDate .fsMonth {
  font-size: 12px;
}
.fsCalendar .fsDate .fsDay {
  font-size: 48px;
  color: #5a8200;
  line-height: 1em;
}
.fsCalendar .fsEventDetails {
  font-size: 15px;
}
.fsCalendar .fsTimeRange {
  font-size: 15px;
  line-height: 1.3333333333;
  letter-spacing: normal;
  font-style: normal;
  font-weight: normal;
}
.fsCalendar .fsTimeRange:before {
  color: #5a8200;
  margin-right: 2px;
  content: "";
}
.fsCalendar .fsLocation {
  font-size: 15px;
  line-height: 1.3333333333;
  letter-spacing: normal;
  font-style: normal;
  font-weight: normal;
}
.fsCalendar .fsLocation:before {
  margin-right: 4px;
  content: "";
  color: #5a8200;
}

@media (min-width: 750px) {
  .fsCalendar.fsSlideshow article {
    margin: 0 10px 10px;
  }
}

.fsCalendarMonthBrowser .fsCalendarPrevMonth, .fsCalendarMonthBrowser .fsCalendarNextMonth {
  color: transparent;
  background-color: transparent;
  border: none;
  position: relative;
  line-height: 0;
  outline: 0;
}
.fsCalendarMonthBrowser .fsCalendarPrevMonth:before, .fsCalendarMonthBrowser .fsCalendarNextMonth:before {
  content: "";
  display: block;
  font-size: 18px;
  color: #5a8200;
  line-height: 1;
}
.fsCalendarMonthBrowser .fsCalendarNextMonth:before {
  content: "";
}

@media screen and (max-width: 899px) {
  .fsCalendar.fsGrid .fsCalendarEventGrid {
    width: 100%;
    margin: 0 auto;
  }
  .fsCalendar.fsGrid .fsCalendarEventGrid .fsCalendarMonthBrowser {
    margin: 20px 0;
  }
  .fsCalendar.fsGrid .fsCalendarEventGrid .fsCalendarDaybox,
  .fsCalendar.fsGrid .fsCalendarEventGrid .fsCalendarOutOfRange {
    display: block;
    width: 14.2857142857% !important;
    height: 50px !important;
    float: left;
    overflow: hidden !important;
    cursor: pointer;
    min-height: 0;
    position: relative;
    padding: 0;
    margin: 0;
  }
  .fsCalendar.fsGrid .fsCalendarEventGrid .fsCalendarDaybox.fsCalendarWeekendDayBox,
  .fsCalendar.fsGrid .fsCalendarEventGrid .fsCalendarOutOfRange.fsCalendarWeekendDayBox {
    border: none;
  }
  .fsCalendar.fsGrid .fsCalendarEventGrid .fsCalendarDaybox.fsCalendarWeekendDayBox > div,
  .fsCalendar.fsGrid .fsCalendarEventGrid .fsCalendarOutOfRange.fsCalendarWeekendDayBox > div {
    position: relative;
    min-height: 0;
    height: 24px;
    border: 1px solid #f8f8f8;
  }
  .fsCalendar.fsGrid .fsCalendarEventGrid .fsCalendarDaybox.fsCalendarWeekendDayBox > div:first-child,
  .fsCalendar.fsGrid .fsCalendarEventGrid .fsCalendarOutOfRange.fsCalendarWeekendDayBox > div:first-child {
    margin-bottom: 1px;
  }
  .fsCalendar.fsGrid .fsCalendarEventGrid .fsCalendarDaybox.fsCalendarWeekendDayBox > div.selected,
  .fsCalendar.fsGrid .fsCalendarEventGrid .fsCalendarOutOfRange.fsCalendarWeekendDayBox > div.selected {
    background-color: #5a8200;
    color: #fff;
  }
  .fsCalendar.fsGrid .fsCalendarEventGrid .fsCalendarDaybox.selected,
  .fsCalendar.fsGrid .fsCalendarEventGrid .fsCalendarOutOfRange.selected {
    background: #9cb466;
  }
  .fsCalendar.fsGrid .fsCalendarEventGrid .fsCalendarDaybox.selected .fsCalendarDate,
  .fsCalendar.fsGrid .fsCalendarEventGrid .fsCalendarOutOfRange.selected .fsCalendarDate {
    color: #fff;
  }
  .fsCalendar.fsGrid .fsCalendarEventGrid .fsCalendarDaybox .fsCalendarDate,
  .fsCalendar.fsGrid .fsCalendarEventGrid .fsCalendarOutOfRange .fsCalendarDate {
    position: absolute;
    right: 10px;
    top: 5px;
    line-height: 1;
    font-size: 15px;
  }
  .fsCalendar.fsGrid .fsCalendarEventGrid .fsCalendarRow {
    width: auto;
    display: inline;
  }
  .fsCalendar.fsGrid .fsCalendarEventGrid .fsCalendarInfo {
    display: none;
  }
}
#event-view {
  padding: 20px;
  margin: 20px auto 0;
}
#event-view .fsCalendarDaybox {
  height: auto !important;
}
@media (min-width: 900px) {
  #event-view {
    display: none;
  }
}

.scroll-up {
  text-align: center;
  cursor: pointer;
  font-weight: bold;
  font-size: 14px;
}
@media (min-width: 900px) {
  .scroll-up {
    display: none;
  }
}

.fsCalendarWeekendDayBoxfsCalendarOutOfRange > div:last-child .fsCalendarDate {
  top: auto !important;
  bottom: 0;
}

.fsCalendarEventGrid .fsCalendarWeekdays span {
  transition: all 0.333s;
  font-size: 14px;
}
@media (min-width: 1380px) {
  .fsCalendarEventGrid .fsCalendarWeekdays span {
    font-size: 18px;
  }
}

.fsCalendarDaybox {
  transition: all 0.333s;
}
.fsCalendarRow .fsCalendarDaybox.has-info {
  background: #b9c3d0;
}
@media (min-width: 900px) {
  .fsCalendarRow .fsCalendarDaybox.has-info {
    background: none;
  }
}
.fsCalendarEventGrid .fsCalendarRow .fsCalendarToday {
  background: #dae3c6;
}

.fsElementEventColorIcon {
  display: inline-block;
  width: 10px;
  height: 10px;
}

.fsCalendarLegend {
  margin: 20px 0;
  padding: 0;
}
.fsCalendarLegend ul,
.fsCalendarLegend ol {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.fsCalendarLegend a {
  display: block;
}
@media (min-width: 600px) {
  .fsCalendarLegend > ul {
    -moz-column-count: 2;
    column-count: 2;
  }
}
@media (min-width: 800px) {
  .fsCalendarLegend > ul {
    -moz-column-count: 3;
    column-count: 3;
  }
}
.fsCalendarLegend > ul ul {
  margin-left: 20px;
}

.caption {
  font-size: 1em;
  line-height: 1.2;
  margin-bottom: 9.6px;
  color: #797979;
  font-family: "garamond-premier-pro", Times, serif;
  letter-spacing: normal;
  font-style: normal;
  font-weight: normal;
}

.fs_style_10,
.lead-in {
  font-size: 1.25em;
  line-height: 1.5;
  margin-bottom: 1em;
  color: #173862;
  font-family: "open-sans", sans-serif;
  letter-spacing: normal;
  font-style: normal;
  font-weight: 600;
}

.fs_style_9,
.callout:not(.button) {
  display: block;
  margin: 20px 0;
  background: transparent;
  font-size: 20px;
  line-height: 1.5;
  color: #5a8200;
  font-family: "open-sans", sans-serif;
  letter-spacing: normal;
  font-style: normal;
  font-weight: 500;
}
.fs_style_9.left,
.callout:not(.button).left {
  float: left;
  margin-left: 20px;
}
@media (min-width: 500px) {
  .fs_style_9.left,
  .callout:not(.button).left {
    width: 50%;
  }
}
.fs_style_9.right,
.callout:not(.button).right {
  float: right;
  margin-right: 20px;
}
@media (min-width: 500px) {
  .fs_style_9.right,
  .callout:not(.button).right {
    width: 50%;
  }
}

.content-block {
  margin-top: 20px;
  margin-bottom: 20px;
  padding-bottom: 20px;
}
.content-block > header {
  border-bottom: 1px solid #000;
  margin-bottom: 20px;
}
.content-block > header .fsElementTitle {
  font-size: 18px;
  color: #173862;
  margin-bottom: 5px;
}
.content-block:first-child {
  margin-top: 0;
}
.content-block:last-child {
  margin-bottom: 0;
}
.content-block img {
  border-bottom: 5px solid #516a89;
}

.fs_style_3,
.fs_style_2,
.fs_style_4,
.button {
  font-family: "open-sans", sans-serif;
  font-weight: 600;
  text-transform: none;
  font-size: 16px;
  line-height: 20px;
  font-family: "open-sans", sans-serif;
  font-weight: 600;
  text-transform: none;
  font-size: 16px;
  line-height: 20px;
  display: inline-block;
  border: 0;
  margin: 0 0 20px;
  padding: 12px 20px;
  background: #5a8200;
  color: #fff !important;
  outline: 0;
  text-align: center;
  border: 0px solid transparent;
}
.fs_style_3:hover, .fs_style_3:focus,
.fs_style_2:hover,
.fs_style_2:focus,
.fs_style_4:hover,
.fs_style_4:focus,
.button:hover,
.button:focus {
  background-color: #173862;
  color: #fff !important;
}
.fs_style_3:focus,
.fs_style_2:focus,
.fs_style_4:focus,
.button:focus {
  outline: -webkit-focus-ring-color auto 1px;
}
.fs_style_3 em,
.fs_style_2 em,
.fs_style_4 em,
.button em {
  display: block;
  font-style: normal;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.1;
}
.fs_style_3:hover,
.fs_style_2:hover,
.fs_style_4:hover,
.button:hover {
  border: 0px solid #bebebe;
  text-decoration: none;
  background: #374f00;
}

.fs_style_3,
.button.blue {
  background-color: #173862;
}
.fs_style_3:hover,
.button.blue:hover {
  background: #0d2039;
}

.fs_style_4,
.button.gray {
  background-color: #626970;
}
.fs_style_4:hover,
.button.gray:hover {
  background: #4a5055;
  color: #5f5f5f;
}

.callout-button, .fs_style_6, .fs_style_5, .fs_style_7 {
  font-family: "open-sans", sans-serif;
  font-weight: 600;
  text-transform: none;
  font-size: 16px;
  line-height: 20px;
  font-family: "open-sans", sans-serif;
  font-weight: 600;
  text-transform: none;
  font-size: 16px;
  line-height: 20px;
  display: inline-block;
  border: 0;
  margin: 0 0 20px;
  padding: 12px 20px;
  background: #5a8200;
  color: #fff !important;
  outline: 0;
  text-align: center;
  padding: 27px 30px;
  letter-spacing: normal;
  font-size: 1em;
  line-height: 20px;
  border: 0px solid transparent;
  font-size: 22px;
  padding: 1em 2.5em;
}
.callout-button:hover, .callout-button:focus,
.fs_style_6:hover,
.fs_style_6:focus,
.fs_style_5:hover,
.fs_style_5:focus,
.fs_style_7:hover,
.fs_style_7:focus {
  background-color: #173862;
  color: #fff !important;
}
.callout-button:focus,
.fs_style_6:focus,
.fs_style_5:focus,
.fs_style_7:focus {
  outline: -webkit-focus-ring-color auto 1px;
}
.callout-button em,
.fs_style_6 em,
.fs_style_5 em,
.fs_style_7 em {
  display: block;
  font-style: normal;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.1;
}
.callout-button em,
.fs_style_6 em,
.fs_style_5 em,
.fs_style_7 em {
  margin-top: .5em;
}
.callout-button:hover,
.fs_style_6:hover,
.fs_style_5:hover,
.fs_style_7:hover {
  border: 0px solid #bebebe;
  text-decoration: none;
  background: #374f00;
}
#fsBannerLeft .callout-button, #fsBannerRight .callout-button,
#fsBannerLeft .fs_style_6, #fsBannerRight .fs_style_6,
#fsBannerLeft .fs_style_5, #fsBannerRight .fs_style_5,
#fsBannerLeft .fs_style_7, #fsBannerRight .fs_style_7 {
  display: block;
}
.callout-button.fs_style_6, .fs_style_6.fs_style_6, .fs_style_5.fs_style_6, .fs_style_7.fs_style_6 {
  background: #173862;
}
.callout-button.fs_style_6:hover, .fs_style_6.fs_style_6:hover, .fs_style_5.fs_style_6:hover, .fs_style_7.fs_style_6:hover {
  background: #0d2039;
}
.callout-button.fs_style_7, .fs_style_6.fs_style_7, .fs_style_5.fs_style_7, .fs_style_7.fs_style_7 {
  background: #626970;
}
.callout-button.fs_style_7:hover, .fs_style_6.fs_style_7:hover, .fs_style_5.fs_style_7:hover, .fs_style_7.fs_style_7:hover {
  background: #4a5055;
  color: #333;
}

.fs_style_8 {
  border-left: 12px solid #5a8200;
  width: 100%;
}
.fs_style_8[style="float: right;"] {
  width: auto;
  margin: 0 0 1em 1em;
}
.fs_style_8[style="float: left;"] {
  width: auto;
  margin: 0 1em 1em 0;
}

.fsSlideshow .fsPager li {
  margin: 0 1px;
}
.fsSlideshow .fsPager li button {
  height: 13px;
  width: 13px;
  padding: 0;
}
.fsSlideshow .fsPager li button:before {
  height: 13px;
  width: 13px;
  font-size: 42px;
  color: #d7d7d7;
  opacity: 1;
}

.fsReadMoreLink {
  font-size: 15px;
  display: inline-block;
  color: #5a8200;
  margin-top: 10px;
}

/*! elements - forms */
textarea,
input,
select {
  padding: 5px;
  max-width: 100%;
}

.fsComposerFormEmbed {
  background: none;
}
.fsComposerFormEmbed form {
  zoom: 1;
}
.fsComposerFormEmbed form:after {
  display: table;
  clear: both;
  content: '';
}
.fsComposerFormEmbed form input {
  border: solid 1px #ccc;
}
.fsComposerFormEmbed form input.fileUploader {
  padding: 0;
  width: 100%;
  border: none;
}
.fsComposerFormEmbed form fieldset {
  padding: 0;
}
.fsComposerFormEmbed form textarea {
  max-width: 100%;
  width: 100%;
  border: solid 1px #ccc;
}
.fsComposerFormEmbed form .mainGroupSub {
  max-width: 100%;
  width: 100% !important;
}
.fsComposerFormEmbed form .formPage {
  margin-bottom: 20px;
}
.fsComposerFormEmbed form .elementRow {
  max-width: 100%;
  margin: 0;
}
.fsComposerFormEmbed form .elementRow:last-child .elementContainer:last-child {
  margin-bottom: 0;
}
.fsComposerFormEmbed form .elementContainer {
  margin: 0 0 20px;
  padding: 0;
}
@media screen and (max-width: 599px) {
  .fsComposerFormEmbed form .elementContainer {
    width: 100%;
  }
}
.fsComposerFormEmbed form .elementContainer label {
  margin-bottom: 2px;
}
.fsComposerFormEmbed form .elementContainer label.horizontal {
  white-space: normal;
  margin-right: 10px !important;
}
.fsComposerFormEmbed form .elementContainer label.horizontal:last-child {
  margin-right: 0;
}
.fsComposerFormEmbed form .elementContainer hr {
  margin: 0 auto;
}
.fsComposerFormEmbed form .elementContainer p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 599px) {
  .fsComposerFormEmbed form .elementBody > input {
    width: 100%;
  }
}
.fsComposerFormEmbed form .elementBody > .descText {
  margin-bottom: 10px;
}
.fsComposerFormEmbed form .labelLeft .elementContainer label, .fsComposerFormEmbed form .labelLeft .elementContainer .groupLabel {
  width: 100%;
  margin: 0;
  padding: 0;
  text-align: left;
  float: none;
}
@media (min-width: 600px) {
  .fsComposerFormEmbed form .labelLeft .elementContainer label, .fsComposerFormEmbed form .labelLeft .elementContainer .groupLabel {
    width: 20%;
    padding-right: 10px;
    text-align: right;
    float: left;
  }
}
@media (min-width: 600px) {
  .fsComposerFormEmbed form .labelLeft .elementContainer > label {
    padding: 5px 10px 5px 5px;
  }
}
.fsComposerFormEmbed form .labelLeft .elementContainer .groupLabel label {
  width: 100%;
}
.fsComposerFormEmbed form .labelLeft .elementContainer fieldset label {
  width: auto;
}
.fsComposerFormEmbed form .labelLeft .elementBody {
  margin: 0;
  width: 100%;
  float: none;
}
@media (min-width: 600px) {
  .fsComposerFormEmbed form .labelLeft .elementBody {
    width: 80%;
    float: left;
  }
}
.fsComposerFormEmbed form .linkLike {
  color: #5a8200;
  margin-right: 10px;
  cursor: pointer;
  transition: .3s;
}
.fsComposerFormEmbed form .linkLike:hover {
  color: #173862;
}
.fsComposerFormEmbed form .required {
  color: #5a8200;
}
.fsComposerFormEmbed form .pageControls {
  padding: 10px 0 !important;
  margin-bottom: 10px;
}
.fsComposerFormEmbed form .pageControls .userConfirmation {
  margin-bottom: 0;
}
.fsComposerFormEmbed form .userConfirmation {
  margin-bottom: 20px;
}
.fsComposerFormEmbed form .userConfirmation .userConfirmationToggle {
  margin-right: 5px;
}
.fsComposerFormEmbed form .userConfirmation > label {
  display: block;
}
.fsComposerFormEmbed form .elementColumn {
  zoom: 1;
  margin-bottom: 20px;
  max-width: 100%;
}
.fsComposerFormEmbed form .elementColumn:after {
  display: table;
  clear: both;
  content: '';
}
@media screen and (max-width: 599px) {
  .fsComposerFormEmbed form .elementColumn {
    float: none !important;
    width: 100% !important;
  }
}
.fsComposerFormEmbed form .elementColumn .elementContainer {
  margin-bottom: 0;
}
.fsComposerFormEmbed form .elementColumn .elementBody > input {
  width: 100%;
}
.fsComposerFormEmbed form .pageBreak {
  zoom: 1;
}
.fsComposerFormEmbed form .pageBreak:after {
  display: table;
  clear: both;
  content: '';
}
.fsComposerFormEmbed form .pageBreak .nextPage, .fsComposerFormEmbed form .pageBreak .prevPage {
  background: none;
  border: none;
  color: #5a8200;
  transition: .3s;
  outline: 0;
  float: left;
  padding: 0;
  line-height: 1;
  padding: 10px 0;
}
.fsComposerFormEmbed form .pageBreak .nextPage:hover, .fsComposerFormEmbed form .pageBreak .prevPage:hover {
  color: #173862;
  transition: .3s;
}
.fsComposerFormEmbed form .pageBreak .prevPage {
  margin-right: 10px;
}
.fsComposerFormEmbed form .pageBreak .pagenum {
  display: inline-block;
  float: left;
  line-height: 1;
  margin-right: 10px;
  padding: 10px 0;
}
.fsComposerFormEmbed form .pageBreak .pagenum:empty {
  margin: 0;
}
.fsComposerFormEmbed form .submitBtn {
  border: 0;
  margin: 0;
  padding: 10px 20px;
  outline: 0;
  background: #5a8200 !important;
  text-shadow: none;
  font-size: inherit;
  border: none !important;
  float: left;
  line-height: 1;
}
.fsComposerFormEmbed form .submitBtn:hover {
  transition: .3s;
  color: #fff !important;
  background: #173862 !important;
}
.fsComposerFormEmbed .ui-widget {
  font-family: "open-sans", sans-serif;
  max-width: 100%;
}
.fsComposerFormEmbed .ui-datepicker:empty {
  display: none;
}
.fsComposerFormEmbed .ui-datepicker .ui-datepicker-header {
  background: none;
  border: none;
}
.fsComposerFormEmbed .ui-datepicker .ui-datepicker-prev, .fsComposerFormEmbed .ui-datepicker .ui-datepicker-next {
  background: none;
  border: none;
  text-align: center;
  font-size: 20px;
  cursor: pointer;
}
.fsComposerFormEmbed .ui-datepicker .ui-datepicker-prev span, .fsComposerFormEmbed .ui-datepicker .ui-datepicker-next span {
  display: none;
}
.fsComposerFormEmbed .ui-datepicker .ui-datepicker-prev:before, .fsComposerFormEmbed .ui-datepicker .ui-datepicker-next:before {
  content: '';
  font-weight: bold;
  transition: .3s;
}
.fsComposerFormEmbed .ui-datepicker .ui-datepicker-prev:hover:before, .fsComposerFormEmbed .ui-datepicker .ui-datepicker-next:hover:before {
  transition: .3s;
  opacity: .5;
}
.fsComposerFormEmbed .ui-datepicker .ui-datepicker-next:before {
  content: '\203A';
}
.fsComposerFormEmbed .ui-datepicker .ui-datepicker-prev:before {
  content: '\2039';
}
.fsComposerFormEmbed .ui-datepicker .ui-datepicker-next-hover {
  right: 2px;
  top: 2px;
}
.fsComposerFormEmbed .ui-datepicker .ui-datepicker-prev-hover {
  left: 2px;
  top: 2px;
}
.fsComposerFormEmbed .ui-datepicker .ui-state-default {
  background: rgba(0, 0, 0, 0.05);
  text-align: center;
}
.fsComposerFormEmbed .ui-datepicker .ui-state-active {
  background: rgba(0, 0, 0, 0.1);
}
.fsComposerFormEmbed .ui-datepicker .ui-state-highlight {
  border: solid 1px #d3d3d3;
  background-color: #d3d3d3;
}

#fsHeader .navigation.main {
  margin: 0;
  display: none;
  max-width: 100%;
}
#fsHeader .navigation.main ul,
#fsHeader .navigation.main ol {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
#fsHeader .navigation.main a {
  display: block;
}
@media (min-width: 900px) {
  #fsHeader .navigation.main {
    display: block;
    width: calc(100% - 134px);
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
  }
  #fsHeader .navigation.main > .fsElementContent {
    height: 100%;
  }
  #fsHeader .navigation.main > .fsElementContent nav ul.fsNavLevel1 > li > a {
    height: 100%;
  }
}
@media (min-width: 1380px) {
  #fsHeader .navigation.main {
    width: calc(100% - 460px);
  }
}
#fsHeader .navigation.main nav {
  height: 100%;
}
#fsHeader .navigation.main nav ul,
#fsHeader .navigation.main nav ol {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
#fsHeader .navigation.main nav a {
  display: block;
}
#fsHeader .navigation.main nav ul.fsNavLevel1 {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: 100%;
  margin: 0;
}
#fsHeader .navigation.main nav ul.fsNavLevel1 > li {
  -ms-flex: 1 auto;
  flex: 1 auto;
  text-transform: uppercase;
  height: 100%;
  position: relative;
}
.no-flexbox #fsHeader .navigation.main nav ul.fsNavLevel1 > li {
  display: inline-block;
}
#fsHeader .navigation.main nav ul.fsNavLevel1 > li > a {
  font-weight: 400;
  text-align: center;
  padding: 8px;
  background: none;
  white-space: nowrap;
  display: block;
}
@media (min-width: 900px) {
  #fsHeader .navigation.main nav ul.fsNavLevel1 > li > a {
    padding: 37px 8px;
    font-size: 14px;
  }
}
@media (min-width: 1200px) {
  #fsHeader .navigation.main nav ul.fsNavLevel1 > li > a {
    font-size: 15px;
  }
}
@media (min-width: 1300px) {
  #fsHeader .navigation.main nav ul.fsNavLevel1 > li > a {
    font-size: 16px;
  }
}
@media (min-width: 1380px) {
  #fsHeader .navigation.main nav ul.fsNavLevel1 > li > a {
    font-size: 17px;
  }
}
@media (min-width: 1480px) {
  #fsHeader .navigation.main nav ul.fsNavLevel1 > li > a {
    font-size: 18px;
  }
}
#fsHeader .navigation.main nav ul.fsNavLevel1 > li:hover, #fsHeader .navigation.main nav ul.fsNavLevel1 > li.menu-item-open, #fsHeader .navigation.main nav ul.fsNavLevel1 > li:focus {
  background: #516a89;
}
#fsHeader .navigation.main nav ul.fsNavLevel1 > li.fsNavCurrentPage > a, #fsHeader .navigation.main nav ul.fsNavLevel1 > li.fsNavCurrentPageAncestor > a {
  background: #516a89;
}
#fsHeader .navigation.main nav ul.fsNavLevel1 > li:not(.fsNavParentPage) a:focus {
  background: #516a89;
}
#fsHeader .navigation.main .fsNavPageInfo {
  position: absolute;
  top: 99.5%;
  z-index: 10;
  display: none;
  width: 650px;
  left: 0;
  padding: 13.3333333333px;
  background: #516a89;
  text-align: left;
}
#fsHeader .navigation.main .fsNavLevel1 > li:last-child .fsNavPageInfo {
  right: 0;
  left: auto;
  -ms-transform: none;
  transform: none;
}
#fsHeader .navigation.main .fsNavLevel1 > li:nth-last-child(2) .fsNavPageInfo {
  right: 0;
  left: auto;
  -ms-transform: none;
  transform: none;
}
#fsHeader .navigation.main .fsNavLevel1 > li:nth-last-child(3) .fsNavPageInfo {
  right: 0;
  left: auto;
  -ms-transform: none;
  transform: none;
}
#fsHeader .navigation.main .fsNavPageInfo .fsNavPageDescription {
  display: inline-block;
  vertical-align: top;
  margin-right: -0.22em;
  width: 36.5853658537%;
  font-size: 14px;
  line-height: 1.5714285714;
  color: #fff;
}
#fsHeader .navigation.main .fsNavPageInfo .fsNavPageDescription h3,
#fsHeader .navigation.main .fsNavPageInfo .fsNavPageDescription a {
  display: block;
  margin: 1.5 0 0;
  padding: 0;
  font-size: 1.5em;
  line-height: 1.25;
  color: #173862;
  font-family: "garamond-premier-pro", Times, serif;
}
#fsHeader .navigation.main .fsNavPageInfo .fsNavPageDescription h3, #fsHeader .navigation.main .fsNavPageInfo .fsNavPageDescription h3:hover,
#fsHeader .navigation.main .fsNavPageInfo .fsNavPageDescription a,
#fsHeader .navigation.main .fsNavPageInfo .fsNavPageDescription a:hover {
  background: none;
}
#fsHeader .navigation.main .fsNavPageInfo .fsNavPageDescription h3:first-child,
#fsHeader .navigation.main .fsNavPageInfo .fsNavPageDescription a:first-child {
  margin-top: 0;
}
#fsHeader .navigation.main .fsNavPageInfo ul.fsNavLevel2 {
  margin: 0;
  margin: 0;
  width: 100%;
  min-height: initial;
  -moz-column-count: 3;
  column-count: 3;
  -moz-column-gap: 30px;
  column-gap: 30px;
  -moz-column-rule: none;
  column-rule: none;
  zoom: 1;
}
#fsHeader .navigation.main .fsNavPageInfo ul.fsNavLevel2:after {
  display: table;
  clear: both;
  content: '';
}
#fsHeader .navigation.main .fsNavPageInfo ul.fsNavLevel2 > li {
  page-break-inside: avoid;
  break-inside: avoid-column;
}
.no-csscolumns #fsHeader .navigation.main .fsNavPageInfo ul.fsNavLevel2 > li {
  margin-right: -10px;
  margin-left: -10px;
  text-transform: none;
  border: 0;
  display: inline-block;
  float: left;
  width: 33.3%;
  vertical-align: top;
}
.no-csscolumns #fsHeader .navigation.main .fsNavPageInfo ul.fsNavLevel2 > li:first-child:after {
  content: normal;
}
#fsHeader .navigation.main .fsNavPageInfo a {
  font-size: 14px;
  line-height: 1.5714285714;
  font-weight: 400;
  text-align: left;
  color: #fff;
  padding: 10px 10px;
}
#fsHeader .navigation.main .fsNavPageInfo a:hover {
  color: #fff;
  text-decoration: underline;
}
#fsHeader .navigation.main li:hover .fsNavPageInfo, #fsHeader .navigation.main li.menu-item-open .fsNavPageInfo, #fsHeader .navigation.main li:focus .fsNavPageInfo {
  display: block;
}

#fsPageBodyWrapper .navigation.tier {
  margin-bottom: 20px;
  transition: all 0.333s;
  max-height: 0;
  overflow: hidden;
  display: none;
  /*
    Home: N/A
    Tier 1 (AKA: "Landing Page"): Show T3 (immediate children WITH immediate children expanded ONLY of current page)
    Tier 2: Show T3 (immediate children)
    Tier 3: Show T3 (siblings, with current page in 'active' state), Show T4 (immediate children ONLY of current page)
    Tier 4: Show T3 (immediate parent & parent's siblings, with current page ancestor in 'active' state), Show T4 (siblings ONLY of current page)
    Tier 5: ?? Show link back to immediate parent?
  */
}
#fsPageBodyWrapper .navigation.tier ul,
#fsPageBodyWrapper .navigation.tier ol {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
#fsPageBodyWrapper .navigation.tier a {
  display: block;
}
.has-tier-navigation #fsPageBodyWrapper .navigation.tier {
  max-height: 1000px;
}
@media (min-width: 750px) {
  #fsPageBodyWrapper .navigation.tier {
    margin-right: 0;
    margin-left: 0;
    display: block;
  }
}
#fsPageBodyWrapper .navigation.tier.mobile {
  display: block;
}
@media (min-width: 750px) {
  #fsPageBodyWrapper .navigation.tier.mobile {
    display: none;
  }
}
#fsPageBodyWrapper .navigation.tier > header .fsElementTitle {
  background-color: transparent;
  padding: 0 0 10px 0;
  cursor: pointer;
  text-align: left;
  color: #173862;
  font-family: "open-sans", sans-serif;
  font-size: 18px;
  line-height: 22px;
  font-weight: 600;
  text-transform: none;
  position: relative;
  border-bottom: 1px solid #173862;
}
#fsPageBodyWrapper .navigation.tier > header .fsElementTitle:after {
  content: "";
  padding: 0 20px;
  position: absolute;
  top: 50%;
  right: 0;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media (min-width: 750px) {
  #fsPageBodyWrapper .navigation.tier > header .fsElementTitle:after {
    display: none;
  }
}
#fsPageBodyWrapper .navigation.tier > .fsElementContent {
  transition: all 0.333s;
  display: none;
}
#fsPageBodyWrapper .navigation.tier.mobile.active-nav .fsElementContent {
  display: block;
}
@media (min-width: 750px) {
  #fsPageBodyWrapper .navigation.tier > .fsElementContent {
    display: block;
  }
}
#fsPageBodyWrapper .navigation.tier.active-nav > header .fsElementTitle:after {
  content: "";
}
#fsPageBodyWrapper .navigation.tier li {
  margin: 9px 0;
  line-height: 1.2em;
}
#fsPageBodyWrapper .navigation.tier .fsNavCurrentPage > a,
#fsPageBodyWrapper .navigation.tier .fsNavCurrentPageAncestor > a {
  font-weight: 600;
}
#fsPageBodyWrapper .navigation.tier [class*="fsNavLevel"] {
  margin: 0;
}

.navigation.tier .fsNavPageInfo {
  display: none;
}
.navigation.tier .fsNavCurrentPageAncestor .fsNavPageInfo {
  display: block;
}
.navigation.tier .fsNavParentPage.fsNavCurrentPage .fsNavPageInfo {
  display: block;
}
.navigation.tier ul.fsNavLevel2 li {
  padding-left: 15px;
}
.navigation.tier ul.fsNavLevel3 li {
  padding-left: 30px;
}

#fsMenu {
  transition: all 0.333s;
  width: 100%;
  padding: 0 16px;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 12;
  height: 0;
  background: #173862;
}
.fsAccountBarVisible #fsMenu {
  top: 45px;
}
@media (min-width: 900px) {
  #fsMenu {
    height: 0 !important;
    visibility: hidden;
  }
}
.off-canvas-menu-open #fsMenu {
  height: 100vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.off-canvas-menu-open html,
.off-canvas-menu-open body {
  overflow: hidden;
  -webkit-overflow-scrolling: auto;
}
.off-canvas-menu-open #fsPageWrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  -webkit-overflow-scrolling: auto;
}
#fsMenu header .fsElementTitle {
  display: none;
}
#fsMenu header .fsElementHeaderContent {
  display: none;
}
#fsMenu .button.off-canvas-trigger {
  background: #797979;
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  margin: 0;
  width: 100%;
  height: 65px;
  -ms-transform: none;
  transform: none;
}
#fsMenu .button.off-canvas-trigger, #fsMenu .button.off-canvas-trigger:hover {
  border-color: transparent;
}
#fsMenu .button.off-canvas-trigger:hover {
  color: #fff;
}
#fsMenu .button.off-canvas-trigger span {
  display: none;
}
#fsMenu .button.off-canvas-trigger:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 10px;
  width: 100%;
  text-align: left;
  text-indent: 0;
  font-size: 34px;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
#fsMenu .navigation.main {
  position: relative;
  top: 0;
  margin-top: 60px;
  padding: 20px 0 10px;
}
#fsMenu .navigation.main ul.fsNavLevel1 {
  display: block;
  margin: 0;
  padding: 0;
}
#fsMenu .navigation.main ul.fsNavLevel1 li {
  display: block;
  position: relative;
  text-transform: uppercase;
  font-size: 18px;
  margin-bottom: 6px;
}
#fsMenu .navigation.main ul.fsNavLevel1 li.fsNavCurrentPage > a, #fsMenu .navigation.main ul.fsNavLevel1 li.fsNavCurrentPageAncestor > a {
  color: #7cb101;
}
#fsMenu .navigation.main ul.fsNavLevel1 li span.sub-trigger {
  display: block;
  width: 25px;
  height: 25px;
  position: absolute;
  top: 0;
  right: 0;
  text-align: center;
  cursor: pointer;
}
#fsMenu .navigation.main ul.fsNavLevel1 li span.sub-trigger:after {
  content: "";
  font-size: 1.7em;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
#fsMenu .navigation.main ul.fsNavLevel1 li.active span.sub-trigger:after {
  content: '\f106' !important;
}
#fsMenu .navigation.main ul.fsNavLevel1 li a {
  border: none;
  display: block;
  width: calc(100% - 25px);
  color: #fff;
}
#fsMenu .navigation.main ul.fsNavLevel1 li a:hover {
  color: #7db300;
  text-decoration: none;
}
#fsMenu .navigation.main ul.fsNavLevel2 {
  margin: 10px 0;
}
#fsMenu .navigation.main ul.fsNavLevel2 li {
  text-transform: none;
  font-size: 15px;
  margin-bottom: 4px;
}
#fsMenu .navigation.main .fsNavPageInfo {
  display: none;
}
#fsMenu .navigation.main ul.fsNavLevel1 li.active > .fsNavPageInfo {
  display: block;
  position: relative;
  width: auto;
  top: 0;
  left: 0;
  -ms-transform: none;
  transform: none;
  background: none;
}
#fsMenu .navigation.utility {
  margin-bottom: 40px;
}
#fsMenu .navigation.utility ul,
#fsMenu .navigation.utility ol {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
#fsMenu .navigation.utility a {
  display: block;
}
#fsMenu .navigation.utility ul.fsNavLevel1 {
  margin-right: -20px;
  margin-left: -20px;
  padding: 10px 20px;
  display: block;
  background: #fff;
}
#fsMenu .navigation.utility ul.fsNavLevel1 li {
  display: block;
  position: relative;
  text-transform: uppercase;
  font-size: 14px;
  padding-left: 20px;
}
#fsMenu .navigation.utility ul.fsNavLevel1 li span.sub-trigger {
  display: block;
  width: 25px;
  height: 25px;
  position: absolute;
  top: 8px;
  right: 0;
  text-align: center;
  cursor: pointer;
}
#fsMenu .navigation.utility ul.fsNavLevel1 li span.sub-trigger:after {
  content: "";
  font-size: 1.7em;
  color: #626970;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.navigation.utility ul.fsNavLevel1 li.active span.sub-trigger:after {
  content: '\f106' !important;
}
#fsMenu .navigation.utility ul.fsNavLevel1 li a {
  margin-right: 2px;
  margin-left: 2px;
  font-size: 14px;
  line-height: 1em;
  text-transform: uppercase;
  text-align: center;
  padding: 1.1em .8em 1.1em 1.2em;
  text-align: left;
  color: #5a8200;
}
@media (min-width: 900px) {
  #fsMenu .navigation.utility ul.fsNavLevel1 li a {
    padding: 1.1em 1.2em 1.1em 2.5em;
  }
}
#fsMenu .navigation.utility ul.fsNavLevel1 li a:hover {
  color: #fff;
}
#fsMenu .navigation.utility ul.fsNavLevel1 li a:hover {
  color: #626970;
}
#fsMenu .navigation.utility ul.fsNavLevel1 li a > .fsElementContent {
  display: inline;
}
#fsMenu .navigation.utility ul.fsNavLevel1 li a svg {
  max-width: 15px !important;
  max-height: 15px !important;
  position: absolute;
  top: 1em;
  left: 10px;
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
  fill: #5a8200 !important;
}
#fsMenu .navigation.utility ul.fsNavLevel1 li ul.fsNavLevel2 {
  margin: 0 0 1em;
}
#fsMenu .navigation.utility ul.fsNavLevel1 li ul.fsNavLevel2 li a {
  text-transform: none;
  font-size: 15px;
  padding: 10px 0 10px 10px;
}
#fsMenu .navigation.utility ul.fsNavLevel1 li .fsNavPageInfo {
  display: none;
}
.navigation.utility ul.fsNavLevel1 li.active > .fsNavPageInfo {
  display: block !important;
  position: relative;
  width: auto;
  top: 0;
  left: 0;
  -ms-transform: none;
  transform: none;
  background: none;
}

.navigation.social ul,
.navigation.social ol {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.navigation.social a {
  display: block;
}
@media (min-width: 750px) {
  .navigation.social nav {
    padding-right: 0;
    padding-left: 0;
  }
}
.navigation.social ul {
  text-align: center;
  padding: 0;
  margin: 0;
}
.navigation.social ul li {
  padding-right: 10.5px;
  padding-left: 10.5px;
  display: inline-block;
  vertical-align: middle;
  margin-right: -0.22em;
  margin-bottom: 2.5px;
}
.navigation.social a {
  transition: all 0.333s;
  display: block;
  width: 38px;
  height: 38px;
  color: transparent;
  overflow: hidden;
  position: relative;
}
.navigation.social a:hover {
  color: #fff;
}
.navigation.social a:after {
  position: absolute;
  text-indent: 0;
  text-align: center;
  top: 50%;
  right: 0;
  width: 100%;
  font-size: 25px;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  color: #fff;
  transition: all 0.333s;
}
.navigation.social a[href*='facebook']:after {
  content: "";
}
.navigation.social a[href*='google']:after {
  content: "";
}
.navigation.social a[href*='instagram']:after {
  content: "";
}
.navigation.social a[href*='linkedin']:after {
  content: "";
}
.navigation.social a[href*='blog']:after {
  content: "";
}
.navigation.social a[href*='twitter']:after {
  content: "";
}
.navigation.social a[href*='youtube']:after {
  content: "";
}

#fsFooter .social {
  margin-bottom: 40px;
}
@media (min-width: 750px) {
  #fsFooter .social {
    position: absolute;
    top: 0;
    right: 0;
    width: 40%;
  }
}
#fsFooter .social > header {
  display: none;
}
.fsComposeMode #fsFooter .social > header {
  display: block;
}
@media (min-width: 1380px) {
  #fsFooter .social .fsElementContent ul.fsNavLevel1 {
    text-align: right;
  }
}
#fsFooter .social .fsElementContent ul.fsNavLevel1 > .break {
  display: block;
  width: 0;
  height: 0;
  overflow: hidden;
  text-indent: -999em;
  padding: 0;
  margin: 0;
}
@media (min-width: 750px) {
  #fsFooter .social .fsElementContent ul.fsNavLevel1 > .break {
    display: none;
  }
}
#fsFooter .social .fsElementContent a {
  color: transparent;
}
#fsFooter .social .fsElementContent a:after {
  color: #fff;
}
#fsFooter .social .fsElementContent a:hover {
  background: none;
  color: transparent;
}
#fsFooter .social .fsElementContent a:hover:after {
  background: none;
  color: #173862;
}

.fsNews {
  margin-top: 20px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  overflow: hidden;
  /*Slideshow*/
}
.fsNews > header {
  border-bottom: 1px solid #000;
  margin-bottom: 20px;
}
.fsNews > header .fsElementTitle {
  font-size: 18px;
  color: #173862;
  margin-bottom: 5px;
}
.fsNews:first-child {
  margin-top: 0;
}
.fsNews:last-child {
  margin-bottom: 0;
}
.fsNews img {
  border-bottom: 5px solid #516a89;
}
.fsNews article {
  margin-top: 20px;
  margin-bottom: 20px;
}
.fsNews article:first-child {
  margin-top: 0;
}
.fsNews .fsThumbnail {
  display: block;
  margin-bottom: 20px;
}
.fsNews .fsThumbnail img {
  display: block;
}
#fsBannerRight .fsNews .fsThumbnail img {
  width: 100%;
}
#fsBannerLeft .fsNews .fsThumbnail img {
  width: 100%;
}
.fsNews .fsTitle {
  font-size: 21px;
  font-weight: normal;
  line-height: 1.2em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.fsNews .fsTitle a:hover {
  color: #516a89;
}
.fsNews .fsDateTime {
  margin: 0 0 5px;
  padding: 0;
  font-size: 14px;
  line-height: 1.1428571429;
  color: #424242;
  letter-spacing: normal;
  font-style: normal;
  font-weight: 600;
  color: #5f5f5f;
}
.fsNews .fsSummary {
  font-size: 15px;
  line-height: 1.3333333333;
  letter-spacing: normal;
  font-style: normal;
  font-weight: normal;
  font-size: 16px;
  line-height: 24px;
}
.fsNews .fsSummary p {
  margin: 0;
}
.fsNews .fsSummary :first-child {
  margin-top: 0;
}
.fsNews.fsSlideshow .fsElementContent {
  margin: 0;
}
.fsNews.fsSlideshow article {
  padding: 20px;
}
.fsNews.fsSlideshow .fsPager span {
  color: inherit;
  opacity: 0.5;
  transition: color 100ms, opacity 100ms;
}
.fsNews.fsSlideshow .fsPager span.fsStateActive {
  color: inherit;
  opacity: 1;
}
.fsNews.fsGrid .fsNewsGrid {
  zoom: 1;
}
.fsNews.fsGrid .fsNewsGrid:after {
  display: table;
  clear: both;
  content: '';
}
.fsNews.fsGrid article {
  clear: none;
  margin-bottom: 20px !important;
  margin-top: 0 !important;
  padding: 0;
  width: auto;
}
@media (min-width: 750px) {
  .fsNews.fsGrid .fsStyleTwoColumns article {
    width: 49%;
  }
  .fsNews.fsGrid .fsStyleTwoColumns article:nth-child(3n-1) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleTwoColumns article:nth-child(3n+1) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleTwoColumns article:nth-child(4n-2) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleTwoColumns article:nth-child(4n-1) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleTwoColumns article:nth-child(4n+1) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleTwoColumns article:nth-child(5n-3) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleTwoColumns article:nth-child(5n-2) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleTwoColumns article:nth-child(5n-1) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleTwoColumns article:nth-child(5n+1) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleTwoColumns article:nth-child(odd) {
    margin-right: 1%;
  }
  .fsNews.fsGrid .fsStyleTwoColumns article:nth-child(even) {
    margin-left: 1%;
  }
  .fsNews.fsGrid .fsStyleTwoColumns article:nth-of-type(2n+3) {
    clear: both;
  }
}
@media (min-width: 750px) {
  .fsNews.fsGrid .fsStyleThreeColumns article {
    width: 49%;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(3n-1) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(3n+1) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(4n-2) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(4n-1) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(4n+1) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(5n-3) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(5n-2) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(5n-1) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(5n+1) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(odd) {
    margin-right: 1%;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(even) {
    margin-left: 1%;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-of-type(2n+3) {
    clear: both;
  }
}
@media (min-width: 900px) {
  .fsNews.fsGrid .fsStyleThreeColumns article {
    width: 32%;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(odd) {
    margin-right: auto;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(even) {
    margin-left: auto;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(2n+1) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(4n-2) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(4n-1) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(4n+1) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(5n-3) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(5n-2) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(5n-1) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(5n+1) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-child(3n-1) {
    margin: 0 2%;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-of-type(2n+3) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleThreeColumns article:nth-of-type(3n+4) {
    clear: both;
  }
}
@media (min-width: 750px) {
  .fsNews.fsGrid .fsStyleFourColumns article {
    width: 49%;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(3n-1) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(3n+1) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(4n-2) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(4n-1) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(4n+1) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(5n-3) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(5n-2) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(5n-1) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(5n+1) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(odd) {
    margin-right: 1%;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(even) {
    margin-left: 1%;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-of-type(2n+3) {
    clear: both;
  }
}
@media (min-width: 900px) {
  .fsNews.fsGrid .fsStyleFourColumns article {
    width: 23.5%;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(odd) {
    margin-right: auto;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(even) {
    margin-left: auto;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(2n+1) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(3n-1) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(3n+1) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(5n-3) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(5n-2) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(5n-1) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(5n+1) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(4n-2) {
    margin: 0 1% 0 2%;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-child(4n-1) {
    margin: 0 2% 0 1%;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-of-type(2n+3) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleFourColumns article:nth-of-type(4n+5) {
    clear: both;
  }
}
@media (min-width: 750px) {
  .fsNews.fsGrid .fsStyleFiveColumns article {
    width: 49%;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(3n-1) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(3n+1) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(4n-2) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(4n-1) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(4n+1) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(5n-3) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(5n-2) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(5n-1) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(5n+1) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(odd) {
    margin-right: 1%;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(even) {
    margin-left: 1%;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-of-type(2n+3) {
    clear: both;
  }
}
@media (min-width: 900px) {
  .fsNews.fsGrid .fsStyleFiveColumns article {
    width: 18.4%;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(odd) {
    margin-right: auto;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(even) {
    margin-left: auto;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(2n+1) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(3n-1) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(3n+1) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(4n-2) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(4n-1) {
    margin: auto;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(4n+1) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(5n-3) {
    margin: 0 1% 0 2%;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(5n-2) {
    margin: 0 1%;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-child(5n-1) {
    margin: 0 2% 0 1%;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-of-type(2n+3) {
    clear: none;
  }
  .fsNews.fsGrid .fsStyleFiveColumns article:nth-of-type(5n+6) {
    clear: both;
  }
}

.fsAlertFeeds {
  zoom: 1;
  margin: 10px 0;
}
.fsAlertFeeds:after {
  display: table;
  clear: both;
  content: '';
}

/*=======================*/
/* Search Variables      */
/*=======================*/
/*=================================================================*/
/* Normalize Search                                                */
/*=================================================================*/
form.gsc-search-box-tools, .fsSearchElement.fsSearchForm.search form {
  margin-bottom: 0 !important;
  overflow: hidden;
}
form.gsc-search-box-tools table, .fsSearchElement.fsSearchForm.search form table {
  border: 0;
}
form.gsc-search-box-tools table,
form.gsc-search-box-tools tbody,
form.gsc-search-box-tools tr,
form.gsc-search-box-tools td, .fsSearchElement.fsSearchForm.search form table,
.fsSearchElement.fsSearchForm.search form tbody,
.fsSearchElement.fsSearchForm.search form tr,
.fsSearchElement.fsSearchForm.search form td {
  display: block;
}
form.gsc-search-box-tools td.gsc-input, .fsSearchElement.fsSearchForm.search form td.gsc-input {
  padding: 0 !important;
  display: block;
  float: right;
}
form.gsc-search-box-tools table.gsc-search-box, .fsSearchElement.fsSearchForm.search form table.gsc-search-box {
  display: table;
  margin-bottom: 0;
  position: relative;
}
form.gsc-search-box-tools div.gsc-input-box, form.gsc-search-box-tools .fsStyleSearchField.fsStyleDefaultField, .fsSearchElement.fsSearchForm.search form div.gsc-input-box, .fsSearchElement.fsSearchForm.search form .fsStyleSearchField.fsStyleDefaultField {
  min-width: 140px;
  border: 0;
  height: 46px;
}
form.gsc-search-box-tools div.gsc-input-box.gsc-input-box-focus, form.gsc-search-box-tools .fsStyleSearchField.fsStyleDefaultField.gsc-input-box-focus, .fsSearchElement.fsSearchForm.search form div.gsc-input-box.gsc-input-box-focus, .fsSearchElement.fsSearchForm.search form .fsStyleSearchField.fsStyleDefaultField.gsc-input-box-focus {
  box-shadow: none;
}
form.gsc-search-box-tools div.gsc-input-box table,
form.gsc-search-box-tools div.gsc-input-box tbody,
form.gsc-search-box-tools div.gsc-input-box tr,
form.gsc-search-box-tools div.gsc-input-box td, form.gsc-search-box-tools .fsStyleSearchField.fsStyleDefaultField table,
form.gsc-search-box-tools .fsStyleSearchField.fsStyleDefaultField tbody,
form.gsc-search-box-tools .fsStyleSearchField.fsStyleDefaultField tr,
form.gsc-search-box-tools .fsStyleSearchField.fsStyleDefaultField td, .fsSearchElement.fsSearchForm.search form div.gsc-input-box table,
.fsSearchElement.fsSearchForm.search form div.gsc-input-box tbody,
.fsSearchElement.fsSearchForm.search form div.gsc-input-box tr,
.fsSearchElement.fsSearchForm.search form div.gsc-input-box td, .fsSearchElement.fsSearchForm.search form .fsStyleSearchField.fsStyleDefaultField table,
.fsSearchElement.fsSearchForm.search form .fsStyleSearchField.fsStyleDefaultField tbody,
.fsSearchElement.fsSearchForm.search form .fsStyleSearchField.fsStyleDefaultField tr,
.fsSearchElement.fsSearchForm.search form .fsStyleSearchField.fsStyleDefaultField td {
  overflow: hidden;
  display: block;
  width: 100%;
  border: 0;
  height: 46px;
}
form.gsc-search-box-tools td.gsib_a, .fsSearchElement.fsSearchForm.search form td.gsib_a {
  padding: 0;
  display: inline-block;
}
form.gsc-search-box-tools td.gsib_b, .fsSearchElement.fsSearchForm.search form td.gsib_b {
  padding: 0;
  display: none !important;
}
form.gsc-search-box-tools td.gsc-input, .fsSearchElement.fsSearchForm.search form td.gsc-input {
  float: none;
}
form.gsc-search-box-tools input.gsc-input, form.gsc-search-box-tools .fsStyleSearchField.fsStyleDefaultField, .fsSearchElement.fsSearchForm.search form input.gsc-input, .fsSearchElement.fsSearchForm.search form .fsStyleSearchField.fsStyleDefaultField {
  background: #fff !important;
  background-image: none !important;
  width: 100%;
  height: 46px !important;
  color: #636262;
  font-size: 14px;
  line-height: 1.2;
  font-family: "open-sans", sans-serif;
  font-style: normal;
  text-transform: uppercase;
  padding-right: 46px !important;
  padding-left: 20px !important;
  margin: 0 !important;
  overflow: hidden;
  -webkit-appearance: none;
}
form.gsc-search-box-tools .fsButtonClear, .fsSearchElement.fsSearchForm.search form .fsButtonClear {
  display: none !important;
}
form.gsc-search-box-tools table.gsc-branding, .fsSearchElement.fsSearchForm.search form table.gsc-branding {
  display: none;
}
form.gsc-search-box-tools td.gsc-search-button, form.gsc-search-box-tools .fsSearchElementSearchButton.fsStyleUpdateButton, .fsSearchElement.fsSearchForm.search form td.gsc-search-button, .fsSearchElement.fsSearchForm.search form .fsSearchElementSearchButton.fsStyleUpdateButton {
  transition: all 0.333s;
  display: block;
  padding: 0 10px;
  overflow: hidden;
  height: 46px;
  width: 46px;
  background: transparent;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 5;
  color: #eee;
}
form.gsc-search-box-tools td.gsc-search-button:after, form.gsc-search-box-tools .fsSearchElementSearchButton.fsStyleUpdateButton:after, .fsSearchElement.fsSearchForm.search form td.gsc-search-button:after, .fsSearchElement.fsSearchForm.search form .fsSearchElementSearchButton.fsStyleUpdateButton:after {
  content: "";
  content: #eee;
  opacity: 1;
  font-size: 20px;
  display: block;
  position: relative;
  left: 0;
  right: 0;
  text-align: center;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
form.gsc-search-box-tools td.gsc-search-button:hover, form.gsc-search-box-tools .fsSearchElementSearchButton.fsStyleUpdateButton:hover, .fsSearchElement.fsSearchForm.search form td.gsc-search-button:hover, .fsSearchElement.fsSearchForm.search form .fsSearchElementSearchButton.fsStyleUpdateButton:hover {
  background: transparent;
  color: #fff;
}
form.gsc-search-box-tools input.gsc-search-button, form.gsc-search-box-tools .fsSearchElementSearchButton.fsStyleUpdateButton, .fsSearchElement.fsSearchForm.search form input.gsc-search-button, .fsSearchElement.fsSearchForm.search form .fsSearchElementSearchButton.fsStyleUpdateButton {
  border: 0;
  height: 46px;
  width: 100%;
  color: transparent;
  opacity: 0;
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
}

::-webkit-input-placeholder {
  /* WebKit, Blink, Edge */
  color: #636262;
}

:-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  color: #636262;
  opacity: 1;
}

::-moz-placeholder {
  /* Mozilla Firefox 19+ */
  color: #636262;
  opacity: 1;
}

:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #636262;
}

/*=======================*/
/* Header Styles         */
/*=======================*/
#fsHeader .fsSearch.fsSearchField, #fsHeader .fsSearchElement.fsSearchForm {
  transition: all 0.333s;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  width: 30%;
  max-height: 0;
  overflow: hidden;
}
#fsHeader .fsSearch.fsSearchField .fsFieldLabel, #fsHeader .fsSearchElement.fsSearchForm .fsFieldLabel {
  font-size: 0;
  height: 0;
  text-indent: -9999px;
  position: absolute;
}
.page-search-open #fsHeader .fsSearch.fsSearchField, .page-search-open #fsHeader .fsSearchElement.fsSearchForm {
  max-height: 66px;
  border-top-color: #fff;
  border-top-color: rgba(255, 255, 255, 0.2);
}
#fsHeader .fsSearch.fsSearchField .fsElementContent td.gsc-search-button, #fsHeader .fsSearch.fsSearchField .fsElementContent .fsSearchElementSearchButton.fsStyleUpdateButton, #fsHeader .fsSearchElement.fsSearchForm .fsElementContent td.gsc-search-button, #fsHeader .fsSearchElement.fsSearchForm .fsElementContent .fsSearchElementSearchButton.fsStyleUpdateButton {
  transition: all 0.333s;
}
@media (min-width: 500px) {
  #fsHeader .fsSearch.fsSearchField .fsElementContent td.gsc-search-button, #fsHeader .fsSearch.fsSearchField .fsElementContent .fsSearchElementSearchButton.fsStyleUpdateButton, #fsHeader .fsSearchElement.fsSearchForm .fsElementContent td.gsc-search-button, #fsHeader .fsSearchElement.fsSearchForm .fsElementContent .fsSearchElementSearchButton.fsStyleUpdateButton {
    background-color: #173862;
  }
}
#fsHeader .fsSearch.fsSearchField .fsElementContent input.gsc-input, #fsHeader .fsSearch.fsSearchField .fsElementContent .fsStyleSearchField.fsStyleDefaultField, #fsHeader .fsSearchElement.fsSearchForm .fsElementContent input.gsc-input, #fsHeader .fsSearchElement.fsSearchForm .fsElementContent .fsStyleSearchField.fsStyleDefaultField {
  transition: all 0.333s;
}
@media (min-width: 500px) {
  #fsHeader .fsSearch.fsSearchField .fsElementContent input.gsc-input, #fsHeader .fsSearch.fsSearchField .fsElementContent .fsStyleSearchField.fsStyleDefaultField, #fsHeader .fsSearchElement.fsSearchForm .fsElementContent input.gsc-input, #fsHeader .fsSearchElement.fsSearchForm .fsElementContent .fsStyleSearchField.fsStyleDefaultField {
    padding-right: 66px !important;
  }
}

/*=======================*/
/* Drawer-Specific Styles         */
/*=======================*/
#fsMenu .fsSearch.fsSearchField, #fsMenu .fsSearchElement.fsSearchForm {
  position: absolute;
  top: 10px;
  right: 10px;
  margin: 0 0 20px;
  width: calc(100% - 60px);
}
#fsMenu .fsSearch.fsSearchField form.gsc-search-box-tools .fsFieldLabel, #fsMenu .fsSearch.fsSearchField form .fsFieldLabel, #fsMenu .fsSearchElement.fsSearchForm form.gsc-search-box-tools .fsFieldLabel, #fsMenu .fsSearchElement.fsSearchForm form .fsFieldLabel {
  position: absolute;
  color: transparent;
  text-indent: -9999px;
}
#fsMenu .fsSearch.fsSearchField form.gsc-search-box-tools div.gsc-input-box, #fsMenu .fsSearch.fsSearchField form div.gsc-input-box, #fsMenu .fsSearchElement.fsSearchForm form.gsc-search-box-tools div.gsc-input-box, #fsMenu .fsSearchElement.fsSearchForm form div.gsc-input-box {
  background-color: transparent !important;
}
#fsMenu .fsSearch.fsSearchField form.gsc-search-box-tools input.gsc-input, #fsMenu .fsSearch.fsSearchField form.gsc-search-box-tools input, #fsMenu .fsSearch.fsSearchField form input.gsc-input, #fsMenu .fsSearch.fsSearchField form input, #fsMenu .fsSearchElement.fsSearchForm form.gsc-search-box-tools input.gsc-input, #fsMenu .fsSearchElement.fsSearchForm form.gsc-search-box-tools input, #fsMenu .fsSearchElement.fsSearchForm form input.gsc-input, #fsMenu .fsSearchElement.fsSearchForm form input {
  text-transform: none;
}
#fsMenu .fsSearch.fsSearchField form.gsc-search-box-tools td.gsc-search-button, #fsMenu .fsSearch.fsSearchField form.gsc-search-box-tools .fsSearchElementSearchButton.fsStyleUpdateButton, #fsMenu .fsSearch.fsSearchField form td.gsc-search-button, #fsMenu .fsSearch.fsSearchField form .fsSearchElementSearchButton.fsStyleUpdateButton, #fsMenu .fsSearchElement.fsSearchForm form.gsc-search-box-tools td.gsc-search-button, #fsMenu .fsSearchElement.fsSearchForm form.gsc-search-box-tools .fsSearchElementSearchButton.fsStyleUpdateButton, #fsMenu .fsSearchElement.fsSearchForm form td.gsc-search-button, #fsMenu .fsSearchElement.fsSearchForm form .fsSearchElementSearchButton.fsStyleUpdateButton {
  color: #5f5f5f;
}
#fsMenu .fsSearch.fsSearchField form.gsc-search-box-tools td.gsc-search-button:after, #fsMenu .fsSearch.fsSearchField form.gsc-search-box-tools .fsSearchElementSearchButton.fsStyleUpdateButton:after, #fsMenu .fsSearch.fsSearchField form td.gsc-search-button:after, #fsMenu .fsSearch.fsSearchField form .fsSearchElementSearchButton.fsStyleUpdateButton:after, #fsMenu .fsSearchElement.fsSearchForm form.gsc-search-box-tools td.gsc-search-button:after, #fsMenu .fsSearchElement.fsSearchForm form.gsc-search-box-tools .fsSearchElementSearchButton.fsStyleUpdateButton:after, #fsMenu .fsSearchElement.fsSearchForm form td.gsc-search-button:after, #fsMenu .fsSearchElement.fsSearchForm form .fsSearchElementSearchButton.fsStyleUpdateButton:after {
  font-size: 16px;
}
#fsMenu .fsSearch.fsSearchField form.gsc-search-box-tools .fsSearchElementSearchButton.fsStyleUpdateButton, #fsMenu .fsSearch.fsSearchField form .fsSearchElementSearchButton.fsStyleUpdateButton, #fsMenu .fsSearchElement.fsSearchForm form.gsc-search-box-tools .fsSearchElementSearchButton.fsStyleUpdateButton, #fsMenu .fsSearchElement.fsSearchForm form .fsSearchElementSearchButton.fsStyleUpdateButton {
  right: 0;
  left: auto;
  width: 46px;
  opacity: 1;
  font-size: 0;
}
#fsMenu .fsSearch.fsSearchField form.gsc-search-box-tools .fsSearchElementSearchButton.fsStyleUpdateButton:after, #fsMenu .fsSearch.fsSearchField form .fsSearchElementSearchButton.fsStyleUpdateButton:after, #fsMenu .fsSearchElement.fsSearchForm form.gsc-search-box-tools .fsSearchElementSearchButton.fsStyleUpdateButton:after, #fsMenu .fsSearchElement.fsSearchForm form .fsSearchElementSearchButton.fsStyleUpdateButton:after {
  position: absolute;
  color: #5f5f5f;
}

/* 
    transition: all 0.333s;
    display: block;
    padding: 0 10px;
    overflow: hidden;
    height: 46px;
    width: 46px;
    background: transparent;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 5;
    color: #eee;
    */
#fsHeader .fsSearchElement.fsSearchForm.search form .fsSearchElementSearchButton.fsStyleUpdateButton {
  background-color: #173862;
  transition: all 0.333s;
  display: block;
  padding: 0 10px;
  overflow: hidden;
  height: 46px;
  width: 46px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 5;
  color: #eee;
  left: auto;
  opacity: 1;
  font-size: 0;
}
#fsHeader .fsSearchElement.fsSearchForm.search form .fsSearchElementSearchButton.fsStyleUpdateButton:after {
  position: absolute;
  left: 2px;
  top: calc(50% + -1px);
  font-size: 22px;
}
#fsHeader .fsSearchElement.fsSearchForm.search form .fsSearchElementSearchButton.fsStyleUpdateButton:hover, #fsHeader .fsSearchElement.fsSearchForm.search form .fsSearchElementSearchButton.fsStyleUpdateButton:focus {
  color: #fff;
}
#fsHeader .fsSearchElement.fsSearchForm.search form .fsSearchElementKeyword {
  margin-bottom: 0;
}

.fsSearchElement .fsSearchResultInfo {
  border-bottom: 1px solid #E9E9E9;
  padding-bottom: 5px;
  padding-left: 5px;
}

.fsTabs {
  padding: 0;
  background: none;
  border: 0;
  margin-bottom: 20px;
}
.fsTabs .fsTabsNav {
  margin: 0;
  padding: 0;
  display: none;
}
@media (min-width: 750px) {
  .fsTabs .fsTabsNav {
    display: block;
  }
}
.fsTabs .fsTabsNav li {
  margin-right: 2px;
}
.fsTabs .fsTabsNav li a {
  display: block;
  margin: 0;
  padding: 12px 15px;
  background: #5a8200;
  font-size: 16px;
  line-height: 20px;
  color: #fff;
  font-family: "open-sans", sans-serif;
  letter-spacing: normal;
  font-style: normal;
  font-weight: 600;
  text-transform: uppercase;
  border: 1px solid transparent;
}
.fsTabs .fsTabsNav li a:hover {
  background: #173862;
  color: #fff;
  border-color: transparent;
}
.fsTabs .fsTabsNav li.fsStateSelected a {
  background: #fff;
  color: #5a8200;
  border-color: #bebebe;
}
.fsTabs .fsElementContent {
  padding-right: 0;
  padding-left: 0;
}
.fsTabs .fsPanel {
  margin-bottom: 5px;
}
.fsTabs .fsPanel > header {
  transition: all 0.333s;
  cursor: pointer;
  background: #173862;
  border: 0 solid transparent;
}
.fsTabs .fsPanel > header h2 {
  transition: all 0.333s;
  margin-bottom: 0;
  display: block;
  font-size: 16px;
  line-height: 20px;
  padding: 10px 12px;
  color: #fff;
  font-family: "open-sans", sans-serif;
  font-weight: normal;
}
.fsTabs .fsPanel > header h2:before {
  font-family: "IcoMoon";
}
.fsTabs .fsPanel > header h2:before {
  content: "";
  margin-right: 40px;
}
.fsTabs .fsPanel > header:hover {
  background: #5a8200;
  border-color: transparent;
}
.fsTabs .fsPanel > header:hover h2 {
  color: #fff;
}
.fsTabs .fsPanel > .fsElementContent {
  border: 0 solid #bebebe;
  border-top: none;
}
@media (min-width: 500px) {
  .fsTabs .fsPanel > .fsElementContent {
    border: none;
  }
}
.fsTabs .fsPanel.fsStateOpen > header {
  background: #626970;
  border-color: #bebebe;
  border-bottom-color: transparent;
}
.fsTabs .fsPanel.fsStateOpen > header h2 {
  color: #fff;
}
.fsTabs .fsPanel.fsStateOpen > header h2:before {
  content: "";
}
.fsTabs .fsPanel.fsStateOpen > .fsElementContent {
  display: block;
}

.fsPanelGroup.fsTabs > .fsElementContent > .fsPanel > .fsElementActionButtonContainer,
.fsPanelGroup.fsTabs > .fsElementContent > .fsPanel > header, .fsPanelGroup.fsTabs > .fsElementContent > .fsPanel:not(.fsStateOpen) {
  display: block;
}
@media (min-width: 750px) {
  .fsPanelGroup.fsTabs > .fsElementContent > .fsPanel > .fsElementActionButtonContainer,
  .fsPanelGroup.fsTabs > .fsElementContent > .fsPanel > header, .fsPanelGroup.fsTabs > .fsElementContent > .fsPanel:not(.fsStateOpen) {
    display: none;
  }
}

#fsHeader {
  position: relative;
  z-index: 11;
}
@media (min-width: 900px) {
  #fsHeader {
    padding: 0;
  }
}
.has-masthead #fsHeader {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
}
.has-masthead .fsComposeMode #fsHeader {
  position: relative !important;
  top: auto;
  left: auto;
  z-index: auto;
}
.fsComposeMode #fsHeader {
  overflow: hidden;
}
#fsHeader a:hover {
  text-decoration: none;
}
#fsHeader > .fsBanner {
  min-height: 98px;
  position: relative;
}
#fsHeader header .fsElementTitle {
  display: none;
}
#fsHeader header .fsElementHeaderContent {
  display: none;
}

.off-canvas-trigger {
  display: block;
  height: 58px;
  width: 58px;
  text-align: left;
  overflow: hidden;
  position: absolute;
  top: 50%;
  right: 30px;
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
}
.off-canvas-trigger span {
  display: none;
}
.off-canvas-trigger:hover {
  background: none;
}
.off-canvas-trigger:hover img {
  -webkit-filter: drop-shadow(1px 2px 0 rgba(0, 0, 0, 0.3));
  filter: drop-shadow(1px 2px 0 rgba(0, 0, 0, 0.3));
}
@media (min-width: 900px) {
  .off-canvas-trigger {
    display: none;
  }
}

#fsHeader .branding {
  z-index: 10;
  width: 50%;
}
@media (min-width: 750px) {
  #fsHeader .branding {
    width: 380px;
    font-size: 25px;
    text-transform: uppercase;
  }
}
@media (min-width: 900px) {
  #fsHeader .branding {
    width: 74px;
    margin-left: 40px;
  }
}
@media (min-width: 1380px) {
  #fsHeader .branding {
    width: 380px;
  }
}
#fsHeader .branding > header {
  display: none;
}
#fsHeader .branding > .fsElementContent h1 {
  margin-bottom: 0;
  line-height: 1;
}
#fsHeader .branding > .fsElementContent a {
  display: block;
  color: #fff;
  color: #fff;
  position: relative;
  padding: 13.3333333333px 0;
  min-height: 101px;
  font-size: 25px;
  line-height: 1.1em;
}
#fsHeader .branding > .fsElementContent span.schoolname, #fsHeader .branding > .fsElementContent h1.schoolname {
  display: none;
}
@media (min-width: 750px) {
  #fsHeader .branding > .fsElementContent span.schoolname, #fsHeader .branding > .fsElementContent h1.schoolname {
    display: block;
    position: absolute;
    top: 50%;
    left: 104px;
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    letter-spacing: 1px;
    line-height: 1.1em;
  }
  #fsHeader .branding > .fsElementContent span.schoolname strong, #fsHeader .branding > .fsElementContent h1.schoolname strong {
    display: block;
  }
}
@media (min-width: 900px) {
  #fsHeader .branding > .fsElementContent span.schoolname, #fsHeader .branding > .fsElementContent h1.schoolname {
    display: none;
  }
}
@media (min-width: 1380px) {
  #fsHeader .branding > .fsElementContent span.schoolname, #fsHeader .branding > .fsElementContent h1.schoolname {
    display: block;
    left: 86px;
  }
}
#fsHeader .branding > .fsElementContent img {
  display: block;
  vertical-align: top;
  width: 74px;
  margin-left: 20px;
  max-height: 74px;
}
@media (min-width: 900px) {
  #fsHeader .branding > .fsElementContent img {
    margin-left: 0;
  }
}

#fsHeader .utilities {
  width: 100%;
  display: none;
  margin: 0;
}
@media (min-width: 900px) {
  #fsHeader .utilities {
    display: block;
  }
}
#fsHeader .utilities .fsElementContent {
  position: relative;
  position: relative;
  margin: 0 auto;
  width: 100%;
  max-width: 100%;
}
@media (min-width: 750px) {
  #fsHeader .utilities .fsElementContent {
    height: 44px;
  }
}
#fsHeader .utilities .school-details {
  display: none;
}
@media (min-width: 1100px) {
  #fsHeader .utilities .school-details {
    font-size: 14px;
    text-transform: uppercase;
    text-align: left;
    color: rgba(255, 255, 255, 0.5);
    display: block;
    position: absolute;
    left: 2.5em;
    top: 50%;
    width: 45%;
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
}
@media (min-width: 900px) {
  #fsHeader .utilities section {
    display: inline-block;
    vertical-align: top;
  }
}
#fsHeader .utilities .navigation.utility ul,
#fsHeader .utilities .navigation.utility ol {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
#fsHeader .utilities .navigation.utility a {
  display: block;
}
@media (min-width: 750px) {
  #fsHeader .utilities .navigation.utility {
    height: 44px;
    position: absolute;
    top: 0;
    right: 47px;
    width: calc(100% - 47px);
    text-align: right;
  }
}
@media (min-width: 1100px) {
  #fsHeader .utilities .navigation.utility {
    width: 55%;
  }
}
#fsHeader .utilities .navigation.utility ul.fsNavLevel1 {
  margin: 0;
  position: relative;
}
#fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li {
  display: inline-block;
  vertical-align: middle;
  margin-right: -0.22em;
  position: relative;
}
#fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li:hover, #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li:focus, #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li.menu-open, #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li.menu-item-open {
  background: #626970;
}
#fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li:hover a, #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li:focus a, #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li.menu-open a, #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li.menu-item-open a {
  color: #fff;
}
#fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li:hover a svg, #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li:focus a svg, #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li.menu-open a svg, #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li.menu-item-open a svg {
  fill: white;
}
#fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a {
  margin-right: 2px;
  margin-left: 2px;
  font-size: 14px;
  line-height: 1em;
  text-transform: uppercase;
  text-align: center;
  padding: 1.1em .8em 1.1em 1.2em;
}
@media (min-width: 900px) {
  #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a {
    padding: 1.1em 1.2em 1.1em 2.5em;
  }
}
#fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a:hover {
  color: #fff;
}
#fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a > .fsElementContent {
  display: inline;
}
#fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a > .fsElementContent > div {
  display: inline;
}
#fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a svg {
  max-width: 15px !important;
  max-height: 15px !important;
  position: absolute;
  top: 50%;
  left: -24px;
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  fill: rgba(255, 255, 255, 0.5);
}
#fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li.quicklinks a {
  padding-left: 1.1em;
}
#fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li.quicklinks a:before {
  content: '\e900';
  font-family: "IcoMoon";
  margin-right: 10px;
}
#fsHeader .utilities .navigation.utility .fsNavPageInfo {
  position: absolute;
  top: 99.5%;
  z-index: 10;
  display: none;
  width: 100%;
  left: 50%;
  -ms-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  padding: 10px;
  background: #626970;
  text-align: left;
}
#fsHeader .utilities .navigation.utility .fsNavPageInfo ul.fsNavLevel2 {
  width: 100%;
  margin: 0;
}
#fsHeader .utilities .navigation.utility .fsNavPageInfo ul.fsNavLevel2 > li {
  margin: 0 0 .5em;
  position: relative;
  font-size: 14px;
}
#fsHeader .utilities .navigation.utility .fsNavPageInfo ul.fsNavLevel2 > li a {
  padding: 0 6.6666666667px;
}
#fsHeader .utilities .navigation.utility .fsNavPageInfo ul.fsNavLevel2 > li a:hover, #fsHeader .utilities .navigation.utility .fsNavPageInfo ul.fsNavLevel2 > li a:focus {
  text-decoration: underline;
}
#fsHeader .utilities .navigation.utility li:hover .fsNavPageInfo, #fsHeader .utilities .navigation.utility li:focus .fsNavPageInfo, #fsHeader .utilities .navigation.utility li.menu-open .fsNavPageInfo, #fsHeader .utilities .navigation.utility li.menu-item-open .fsNavPageInfo {
  display: block;
}
.school21 #fsHeader .utilities .school-details {
  color: #5f5f5f;
}
.school21 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a {
  color: #5f5f5f;
}
.school21 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a svg {
  fill: #2d78ae;
}
.school21 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a:hover {
  color: #FFF;
}
.school21 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li > a:hover svg {
  fill: #FFF;
}
.school21 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li:hover a, .school21 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li:focus a, .school21 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li.menu-open a, .school21 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li.menu-item-open a {
  color: #fff !important;
}
.school21 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li:hover a svg, .school21 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li:focus a svg, .school21 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li.menu-open a svg, .school21 #fsHeader .utilities .navigation.utility ul.fsNavLevel1 > li.menu-item-open a svg {
  fill: #fff !important;
}
.school21 #fsHeader .utilities .search-trigger:after {
  color: #2d78ae;
}
.school21 #fsHeader .utilities .search-trigger:hover::after {
  color: #FFF;
}

.sub-navigation {
  display: none;
  background: #173862;
}
.has-sub-navigation .sub-navigation {
  display: block;
}
.has-sub-navigation .sub-navigation.masthead-alternate {
  display: none;
}
.sub-navigation > header .fsElementTitle {
  display: none;
}
.sub-navigation > header .fsElementHeaderContent {
  background-color: transparent;
  padding: 0 0 10px 0;
  cursor: pointer;
  text-align: left;
  color: #173862;
  font-family: "open-sans", sans-serif;
  font-size: 18px;
  line-height: 22px;
  font-weight: 600;
  text-transform: none;
  position: relative;
}
.sub-navigation > header .fsElementHeaderContent:after {
  content: "";
  padding: 0 20px;
  position: absolute;
  top: 50%;
  right: 0;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.sub-navigation > .fsElementContent {
  transition: all 0.333s;
  max-height: 0;
  overflow: hidden;
}
@media (min-width: 900px) {
  .sub-navigation > .fsElementContent {
    max-height: none;
  }
}
.sub-navigation-open .sub-navigation > header .fsElementHeaderContent:after {
  content: "";
}
.sub-navigation-open .sub-navigation > .fsElementContent {
  max-height: 1000px;
  overflow-y: auto;
}
.sub-navigation nav {
  position: relative;
  margin: 0 auto;
  width: 1146px;
  max-width: 100%;
}
.sub-navigation nav ul,
.sub-navigation nav ol {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.sub-navigation nav a {
  display: block;
}
.sub-navigation nav ul.fsNavLevel1 {
  margin: 0;
}
.sub-navigation nav ul.fsNavLevel1 > li {
  border-top: 1px solid #fff;
}
@media (min-width: 900px) {
  .sub-navigation nav ul.fsNavLevel1 > li {
    display: inline-block;
    vertical-align: middle;
    margin-right: -0.22em;
    border-top: none;
  }
}
.sub-navigation nav ul.fsNavLevel1 > li > a {
  display: block;
  padding: 14px 20px;
  font-size: 1em;
  line-height: 1.375;
  color: #fff;
  background-color: #173862;
}
.sub-navigation nav ul.fsNavLevel1 > li > a:hover {
  color: #83a140;
  background-color: #173862;
}
@media (min-width: 900px) {
  .sub-navigation nav ul.fsNavLevel1 > li > a {
    font-weight: 400;
    text-align: center;
    padding: 8px;
    background: none;
    white-space: nowrap;
    font-size: 16px;
    line-height: 1.375;
    padding-right: 20px;
    padding-left: 20px;
    padding-top: 21.5px;
    padding-bottom: 21.5px;
  }
}
@media (min-width: 900px) and (min-width: 900px) {
  .sub-navigation nav ul.fsNavLevel1 > li > a {
    padding: 37px 8px;
    font-size: 14px;
  }
}
@media (min-width: 900px) and (min-width: 1200px) {
  .sub-navigation nav ul.fsNavLevel1 > li > a {
    font-size: 15px;
  }
}
@media (min-width: 900px) and (min-width: 1300px) {
  .sub-navigation nav ul.fsNavLevel1 > li > a {
    font-size: 16px;
  }
}
@media (min-width: 900px) and (min-width: 1380px) {
  .sub-navigation nav ul.fsNavLevel1 > li > a {
    font-size: 17px;
  }
}
@media (min-width: 900px) and (min-width: 1480px) {
  .sub-navigation nav ul.fsNavLevel1 > li > a {
    font-size: 18px;
  }
}
@media (min-width: 900px) and (min-width: 1380px) {
  .sub-navigation nav ul.fsNavLevel1 > li > a {
    padding-top: 21.5px;
    padding-bottom: 21.5px;
    font-size: 1em;
  }
}

.sub-navigation nav ul.fsNavLevel1 > li.fsNavCurrentPage > a, .sub-navigation nav ul.fsNavLevel1 > li.fsNavCurrentPageAncestor > a {
  color: #5a8200;
  font-weight: 600;
}

.search-trigger {
  display: block;
  background: #2d4100;
  color: transparent;
  width: 44px;
  height: 44px;
  text-indent: -999em;
  text-align: left;
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  background: none;
  border: none;
  border-left: 1px solid rgba(255, 255, 255, 0.4);
}
.search-trigger a {
  display: block;
  height: 100%;
  width: 100%;
}
.search-trigger span {
  display: none;
}
.page-search-open .search-trigger {
  color: #83a140;
}
.search-trigger:after {
  content: "";
  font-size: 22px;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  text-indent: 0;
  text-align: center;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  color: rgba(255, 255, 255, 0.4);
}
.search-trigger:hover:after {
  color: #fff;
}
.search-trigger:hover a {
  background: #122c4d;
}
@media (min-width: 1380px) {
  .search-trigger {
    display: block;
  }
}

.skip-link, .skip-link p {
  margin: 0;
}

.skip-link a {
  position: fixed;
  top: -42px;
  left: 0;
  padding: 6px;
  background: #fff;
  color: #fff;
  transition: top 1s ease-out,background 1s linear;
  z-index: 9999;
}

.skip-link a:focus {
  left: 0;
  top: 0;
  transition: top .1s ease-in,background .5s linear;
  text-decoration: underline;
  outline: 5px auto -webkit-focus-ring-color !important;
  color: #5f5f5f;
}

#fsBannerLeft > .fsBanner > *:not(.fsNavigation) {
  display: none;
}
@media (min-width: 750px) {
  #fsBannerLeft > .fsBanner > *:not(.fsNavigation) {
    display: inherit;
  }
}

#fsFooter {
  padding: 40px 20px;
}
#fsFooter a:hover {
  text-decoration: none;
}
#fsFooter > .fsBanner {
  text-align: center;
  color: #fff;
  font-size: 14px;
  line-height: 1.7142857143;
  position: relative;
  margin: 0 auto;
  width: 1146px;
  max-width: 100%;
}
@media (min-width: 750px) {
  #fsFooter > .fsBanner {
    text-align: left;
  }
}
#fsFooter > .fsBanner header .fsElementTitle {
  color: #173862;
  font-family: "garamond-premier-pro", Times, serif;
  font-style: italic;
  margin-bottom: 5px;
}
@media (min-width: 1380px) {
  #fsFooter > .fsBanner header .fsElementTitle {
    text-align: left;
  }
}
#fsFooter > .fsBanner a {
  color: #fff;
}
#fsFooter > .fsBanner a:hover {
  color: #fff;
}

#fsFooter .contact {
  margin: 0 0 20px;
  font-size: 15px;
  text-transform: uppercase;
}
@media (min-width: 1380px) {
  #fsFooter .contact {
    width: 60%;
  }
}
#fsFooter .contact > header {
  display: none;
}
.fsComposeMode #fsFooter .contact > header {
  display: block;
}
@media (min-width: 1380px) {
  #fsFooter .contact .fsElementContent {
    text-align: left;
  }
}
#fsFooter .contact [itemprop='name'] {
  display: block;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 20px;
}
#fsFooter .contact [itemprop='address'] {
  display: block;
}
#fsFooter .contact [itemprop='streetAddress'] {
  display: inline-block;
  margin-right: 5px;
  position: relative;
}
#fsFooter .contact [itemprop='streetAddress']:after {
  height: 1em;
  width: 1px;
  background: #fff;
  content: '';
  display: inline-block;
  margin-left: 10px;
  vertical-align: middle;
}
#fsFooter .contact [itemprop='telephone'] {
  margin-right: 0.75em;
}
#fsFooter .contact [itemprop='telephone'],
#fsFooter .contact [itemprop='fax'] {
  text-transform: uppercase;
}

#fsFooter .footer-links {
  margin-bottom: 30px;
  font-size: 15px;
  text-transform: uppercase;
}
#fsFooter .footer-links ul,
#fsFooter .footer-links ol {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
#fsFooter .footer-links a {
  display: block;
}
#fsFooter .footer-links > header {
  display: none;
}
.fsComposeMode #fsFooter .footer-links > header {
  display: block;
}
#fsFooter .footer-links .fsElementContent {
  overflow: hidden;
}
#fsFooter .footer-links .fsElementContent nav {
  text-align: center;
}
@media (min-width: 750px) {
  #fsFooter .footer-links .fsElementContent nav {
    text-align: left;
  }
}
@media (min-width: 1380px) {
  #fsFooter .footer-links .fsElementContent nav {
    margin-right: 0;
    margin-left: 0;
  }
}
#fsFooter .footer-links .fsElementContent ul.fsNavLevel1 {
  text-align: center;
  margin: 0;
}
@media (min-width: 750px) {
  #fsFooter .footer-links .fsElementContent ul.fsNavLevel1 {
    display: inline-block;
    vertical-align: top;
    text-align: left;
  }
}
@media (min-width: 1380px) {
  #fsFooter .footer-links .fsElementContent ul.fsNavLevel1 {
    margin-left: 40px;
  }
  #fsFooter .footer-links .fsElementContent ul.fsNavLevel1:first-child {
    margin-left: 0;
  }
}
#fsFooter .footer-links .fsElementContent ul.fsNavLevel1 li {
  display: inline-block;
  line-height: 1em;
  padding-right: 10px;
  margin-right: 5px;
  border-right: 1px solid #fff;
  vertical-align: top;
}
#fsFooter .footer-links .fsElementContent ul.fsNavLevel1 li:last-child {
  padding-right: 0;
  margin-right: 0;
  border: 0;
}
#fsFooter .footer-links .fsElementContent ul.fsNavLevel1 li a {
  color: #fff;
}
#fsFooter .footer-links .fsElementContent ul.fsNavLevel1 li a:hover {
  color: #fff;
  text-decoration: underline;
}

#fsFooter .navigation.hierarchy {
  display: none;
}

#fsFooter .powered-by-finalsite {
  text-align: center;
}
@media (min-width: 750px) {
  #fsFooter .powered-by-finalsite {
    text-align: left;
  }
}
#fsFooter .powered-by-finalsite > .inner {
  display: inline-block;
}
#fsFooter .powered-by-finalsite #fsPoweredByFinalsite {
  display: block;
  background-color: #626970;
  background-blend-mode: screen;
}

#fsPageContent > .fsLayout .fsContent.masthead {
  display: none;
}
.fsComposeMode #fsPageContent > .fsLayout .fsContent.masthead {
  display: block;
}
.has-description #fsPageContent > .fsLayout .fsContent.description {
  display: none;
}

.home #fsBannerLeft,
.home #fsBannerRight {
  display: none;
}
.home #fsPageBodyWrapper {
  padding: 0;
  margin: 0;
}
.home #fsPageBody {
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
}
.home #fsPageContent {
  max-width: 100%;
  padding: 0;
  margin: 0;
}
.home .fsLayout {
  margin-right: 0px;
  margin-left: 0px;
}
.home .fsLayout .fsDiv {
  padding: 0;
  margin-bottom: 0;
}

.home .fsPlayer.masthead {
  clear: both;
  margin: 0;
  padding: 0;
}
.home .fsPlayer.masthead > header {
  display: none;
}
.fsComposeMode.home .fsPlayer.masthead header {
  display: block;
}
.home .fsPlayer.masthead .fsElementContent {
  transition: all 0.333s;
  background-color: #000;
  position: relative;
}
.home .fsPlayer.masthead .fsElementContent:after {
  content: "";
  animation: animate-spin 2s infinite linear;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  text-align: center;
  color: #5d7491;
  font-size: 60px;
  text-transform: uppercase;
  font-weight: 700;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.has-masthead .home .fsPlayer.masthead .fsElementContent {
  padding-bottom: 0;
}
.has-masthead .home .fsPlayer.masthead .fsElementContent:after {
  content: normal;
}
.home .fsPlayer.masthead > footer {
  display: none;
}
.home .fsPlayer.masthead .cluster {
  position: absolute;
  bottom: 40%;
  width: 100%;
  -ms-transform: translate(0, 50%);
  transform: translate(0, 50%);
  display: none;
}
@media (min-width: 750px) {
  .home .fsPlayer.masthead .cluster {
    display: block;
  }
}
.home .fsPlayer.masthead .cluster > .inner {
  margin-right: 0;
  margin-left: 0;
}
@media (min-width: 750px) {
  .home .fsPlayer.masthead .cluster > .inner {
    margin-right: auto;
    margin-left: auto;
  }
}
.home .fsPlayer.masthead .slide .image {
  position: relative;
  height: 630px;
  background-position: 50% 50%;
  background-repeat: none;
  background-size: cover;
}
.home .fsPlayer.masthead .slide .image > .inner {
  position: absolute;
  top: 0;
  left: 0;
  padding-top: 200px;
  width: 100%;
}
@media (min-width: 750px) {
  .home .fsPlayer.masthead .slide .image > .inner {
    padding-top: 240px;
  }
}
@media (min-width: 1380px) {
  .home .fsPlayer.masthead .slide .image > .inner {
    padding-top: 280px;
  }
}
.home .fsPlayer.masthead .slide .details {
  padding: 0 20px;
  text-align: center;
  color: #fff;
}
@media (min-width: 750px) {
  .home .fsPlayer.masthead .slide .details {
    padding: 0 20px;
    width: 85%;
    margin: 0 auto;
  }
}
.home .fsPlayer.masthead .slide .details .title {
  font-size: 50px;
  color: #fff;
  text-transform: uppercase;
  margin-bottom: 10px;
  line-height: 50px;
  font-family: "open-sans", sans-serif;
  font-weight: 600;
}
.home .fsPlayer.masthead .slide .details .copy {
  padding: 10px 0;
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
  font-family: "open-sans", sans-serif;
  font-size: 22px;
  line-height: 32px;
  width: 550px;
  max-width: 100%;
  margin: 0 auto;
}
.home .fsPlayer.masthead .slide .details .copy p {
  margin: 0;
}
.home .fsPlayer.masthead .container.masthead {
  transition: all 0.333s;
  max-height: 0;
  overflow: hidden;
}
.has-masthead .home .fsPlayer.masthead .container.masthead {
  max-height: 850px;
}

.home section.fsNews {
  padding: 38px 20px 0;
  clear: both;
  margin: 0;
}
@media (min-width: 750px) {
  .home section.fsNews {
    padding-top: 38px;
  }
}
.home section.fsNews > header {
  text-align: center;
  border: none;
  padding: 0;
}
.home section.fsNews > header .fsElementTitle {
  font-size: 36px;
  text-transform: uppercase;
  font-weight: normal;
  font-family: "open-sans", sans-serif;
}
.home section.fsNews > header .fsElementHeaderContent a {
  font-size: 15px;
  text-transform: uppercase;
}
.home section.fsNews .fsElementContent {
  position: relative;
  margin: 0 auto;
  width: 1146px;
  max-width: 100%;
}
.home section.fsNews .fsElementContent article {
  transition: all 0.333s;
  padding: 10px 10px 20px 10px;
  margin: 0;
  border: 1px solid #d7d7d7;
}
@media (min-width: 750px) {
  .home section.fsNews .fsElementContent article {
    margin: 0 10px;
  }
}
.home-news-ready .home section.fsNews .fsElementContent article {
  width: auto;
  opacity: 1;
  visibility: visible;
  height: auto;
}
.home section.fsNews .fsElementContent article .fsThumbnail {
  margin: -10px -10px 10px -10px;
  max-height: 180px;
  overflow: hidden;
}
.home section.fsNews .fsElementContent article img {
  width: 100%;
}

.home section.fsCalendar {
  padding: 38px 20px 0;
  clear: both;
  margin: 0;
  background-color: #173862;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  zoom: 1;
  color: #fff;
}
@media (min-width: 750px) {
  .home section.fsCalendar {
    padding-top: 38px;
  }
}
.home section.fsCalendar:after {
  display: table;
  clear: both;
  content: '';
}
.home section.fsCalendar > header {
  text-align: center;
  border: none;
  padding: 0;
}
.home section.fsCalendar > header .fsElementTitle {
  font-size: 36px;
  text-transform: uppercase;
  font-weight: normal;
  font-family: "open-sans", sans-serif;
  color: #fff;
}
.home section.fsCalendar > header .fsElementHeaderContent a {
  font-size: 15px;
  text-transform: uppercase;
}
.home section.fsCalendar .fsElementContent {
  position: relative;
  margin: 0 auto;
  width: 1146px;
  max-width: 100%;
}
.home section.fsCalendar .fsElementContent article {
  transition: all 0.333s;
  padding: 0;
  text-align: center;
}
@media (min-width: 750px) {
  .home section.fsCalendar .fsElementContent article {
    text-align: left;
    padding: 0 10px;
  }
}
.home section.fsCalendar .fsElementContent article .fsTitle a {
  color: #fff;
}
.home section.fsCalendar .fsElementContent article .fsDate {
  position: relative;
  display: block;
  margin: 0 auto;
  height: 135px;
  width: 135px;
  margin-bottom: 20px;
}
@media (min-width: 750px) {
  .home section.fsCalendar .fsElementContent article .fsDate {
    margin-bottom: 0;
    position: absolute;
  }
}
.home section.fsCalendar .fsElementContent article .fsDate .fsDayName {
  color: #fff;
  font-size: 18px;
  font-weight: normal;
}
.home section.fsCalendar .fsElementContent article .fsDate .fsMonth {
  color: #fff;
  font-size: 18px;
  font-weight: normal;
  padding-top: 4px;
}
.home section.fsCalendar .fsElementContent article .fsDate .fsDay {
  font-size: 71px;
  color: #fff;
  line-height: 1em;
  font-weight: normal;
}
.home section.fsCalendar .fsElementContent article .fsDate .fsYear {
  color: #fff;
}
@media (min-width: 750px) {
  .home section.fsCalendar .fsElementContent article {
    padding-left: 160px;
  }
  .home section.fsCalendar .fsElementContent article .fsDate {
    position: absolute;
    top: 0;
    left: 0;
  }
}

.home .cluster {
  height: 55px;
}
.home .cluster > .inner {
  margin-right: -20px;
  margin-left: -20px;
  display: block;
  padding: 0 55px;
  position: relative;
  width: 100%;
  zoom: 1;
  height: 100%;
}
.home .cluster > .inner:after {
  display: table;
  clear: both;
  content: '';
}
@media (min-width: 750px) {
  .home .cluster > .inner {
    margin-right: auto;
    margin-left: auto;
    width: 95%;
  }
}
.home .cluster button {
  border: 0;
  background: none;
  outline: 0;
  margin: 0;
  padding: 0;
  transition: all 0.333s;
  width: 55px;
  height: 55px;
  color: #fff;
  position: absolute;
  bottom: 0;
  z-index: 2;
  overflow: hidden;
  text-indent: -666em;
  opacity: .8;
}
.home .cluster button:hover {
  opacity: 1;
}
.home .cluster button:focus {
  outline: -webkit-focus-ring-color auto 1px;
  outline-color: -webkit-focus-ring-color;
  outline-style: auto;
  outline-width: 1px;
  opacity: 1;
}
.home .cluster button:after {
  display: block;
  content: '';
  position: absolute;
  height: 100%;
  width: 100%;
  top: 50%;
  left: 0;
  width: 100%;
  text-align: center;
  text-indent: 0;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  background: green;
}
.home .cluster button.previous {
  left: 0;
  right: auto;
}
.home .cluster button.previous:after {
  background: url("/uploaded/themes/build/images/angle-left.svg") 0 0 no-repeat;
  background-size: auto 50px;
}
.home .cluster button.next {
  left: auto;
  right: 0;
}
.home .cluster button.next:after {
  background: url("/uploaded/themes/build/images/angle-right.svg") 0 0 no-repeat;
  background-size: auto 50px;
}

.home .slick-dots {
  list-style: none;
  margin: 0;
  text-align: center;
  position: absolute;
  bottom: 40px;
  width: 100%;
  display: none !important;
}
@media (min-width: 750px) {
  .home .slick-dots {
    display: block !important;
  }
}
@media (min-width: 1380px) {
  .home .slick-dots {
    text-align: right;
    padding-right: 40px;
  }
}
.home .slick-dots li {
  margin: 0 5px 0 0;
  line-height: 12px;
  font-size: 12px;
  display: inline-block;
}
.home .slick-dots li button {
  border: 0;
  padding: 0;
  background: #fff;
  color: transparent;
  border-radius: 100%;
  height: 12px;
  width: 12px;
  overflow: hidden;
}

.playControls {
  position: absolute;
  top: 130px;
  left: 15px;
}
@media (min-width: 900px) {
  .playControls {
    top: 165px;
    left: 30px;
  }
}
.playControls button {
  background: #5a8200;
  border: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 28px;
  height: 28px;
}
.playControls button:before {
  vertical-align: middle !important;
  margin-top: 0;
}

.home .fsMediaControlsBottom {
  opacity: 1 !important;
}

.colors ol {
  zoom: 1;
  margin-bottom: 20px;
  padding: 0;
  list-style: none;
}
.colors ol:after {
  display: table;
  clear: both;
  content: '';
}
.colors ol li {
  position: relative;
  float: left;
  margin-bottom: 2em;
  height: 4em;
  width: 36.3636363636%;
}
@media (min-width: 600px) {
  .colors ol li {
    width: 27.2727272727%;
  }
}
@media (min-width: 1146px) {
  .colors ol li {
    width: 18.1818181818%;
  }
}
.colors ol li:after {
  position: absolute;
  width: 100%;
  top: 100%;
  left: 0;
  font-size: 12px;
  line-height: 16px;
  text-align: center;
  color: #656565;
}
.colors ol li:nth-of-type(1) {
  background: #5f5f5f;
  color: #5f5f5f;
}
.colors ol li:nth-of-type(1):after {
  content: "#5f5f5f";
}
.colors ol li:nth-of-type(2) {
  background: #5a8200;
  color: #5a8200;
}
.colors ol li:nth-of-type(2):after {
  content: "#5a8200";
}
.colors ol li:nth-of-type(3) {
  background: #173862;
  color: #173862;
}
.colors ol li:nth-of-type(3):after {
  content: "#173862";
}
.colors ol li:nth-of-type(4) {
  background: #83a140;
  color: #83a140;
}
.colors ol li:nth-of-type(4):after {
  content: "#83a140";
}
.colors ol li:nth-of-type(5) {
  background: #516a89;
  color: #516a89;
}
.colors ol li:nth-of-type(5):after {
  content: "#516a89";
}
.colors ol li:nth-of-type(6) {
  background: #626970;
  color: #626970;
}
.colors ol li:nth-of-type(6):after {
  content: "#626970";
}
.colors ol li:nth-of-type(7) {
  background: #bebebe;
  color: #bebebe;
}
.colors ol li:nth-of-type(7):after {
  content: "#bebebe";
}
.colors ol li:nth-of-type(8) {
  background: #8f8f8f;
  color: #8f8f8f;
}
.colors ol li:nth-of-type(8):after {
  content: "#8f8f8f";
}
.colors ol li:nth-of-type(9) {
  background: #656565;
  color: #656565;
}
.colors ol li:nth-of-type(9):after {
  content: "#656565";
}
.colors ol li:nth-of-type(10) {
  background: #424242;
  color: #424242;
}
.colors ol li:nth-of-type(10):after {
  content: "#424242";
}
.colors ol li:nth-of-type(11) {
  background: #1d1d1d;
  color: #1d1d1d;
}
.colors ol li:nth-of-type(11):after {
  content: "#1d1d1d";
}

.headers h1:after {
  content: " size: 38px / line: 42px";
}
.headers h2:after {
  content: " size: 28px / line: 32px";
}
.headers h3:after {
  content: " size: 24px / line: 28px";
}
.headers h4:after {
  content: " size: 22px / line: 26px";
}
.headers h5:after {
  content: " size: 16px / line: 20px";
}
.headers h6:after {
  content: " size: 16px / line: 24px";
}



/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwidmVuZG9yL3BsYWNlaG9sZGVyX3BvbHlmaWxsLm1pbi5zY3NzIiwidmVuZG9yL192ZW5kb3Iuc2NzcyIsInV0aWxpdHkvX25vcm1hbGl6ZS5zY3NzIiwidXRpbGl0eS9fZXh0ZW5kcy5zY3NzIiwidXRpbGl0eS9fZGV2LWNvbmZpZy5zY3NzIiwidXRpbGl0eS9fbWl4aW5zLnNjc3MiLCJfY29uZmlnLnNjc3MiLCJfaHRtbC5zY3NzIiwidHlwZS9faWNvbi1mb250LnNjc3MiLCJsYXlvdXRzL19sYXlvdXRzLnNjc3MiLCJlbGVtZW50cy9jb25zdGl0dWVudHMvX21haW4uc2NzcyIsImVsZW1lbnRzL2NvbnN0aXR1ZW50cy9fc2VhcmNoLnNjc3MiLCJlbGVtZW50cy9jb25zdGl0dWVudHMvX3Byb2ZpbGUuc2NzcyIsImVsZW1lbnRzL2NvbnN0aXR1ZW50cy9fZGVmYXVsdC5zY3NzIiwiZWxlbWVudHMvX2FjY29yZGlvbnMuc2NzcyIsImVsZW1lbnRzL19jYWxlbmRhcnMuc2NzcyIsImVsZW1lbnRzL19jdXN0b20tZWxlbWVudHMuc2NzcyIsImVsZW1lbnRzL19mb3Jtcy5zY3NzIiwiZWxlbWVudHMvbmF2aWdhdGlvbi9fbWFpbi5zY3NzIiwiZWxlbWVudHMvbmF2aWdhdGlvbi9fdGllci5zY3NzIiwiZWxlbWVudHMvbmF2aWdhdGlvbi9fb2ZmLWNhbnZhcy5zY3NzIiwiZWxlbWVudHMvbmF2aWdhdGlvbi9fc29jaWFsLnNjc3MiLCJlbGVtZW50cy9fbmV3cy5zY3NzIiwiZWxlbWVudHMvX3NlYXJjaC5zY3NzIiwiZWxlbWVudHMvX3RhYnMuc2NzcyIsImJhbm5lcnMvX2hlYWRlci5zY3NzIiwiYmFubmVycy9fbGVmdC5zY3NzIiwiYmFubmVycy9fZm9vdGVyLnNjc3MiLCJwYWdlcy9fdGllci5zY3NzIiwicGFnZXMvX2hvbWUuc2NzcyIsInBhZ2VzL19zdHlsZS1ndWlkZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlC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NGR1QjtFQUNJLFlBQTJDO0NOMWR0RTtBTThkRztFQUE0QyxZRC9oQlo7Q0xvRW5DO0FNNGRHO0VBQXlELFlEaGlCekI7Q0x1RW5DO0FNMGRHO0VBQStELFlEamlCL0I7Q0wwRW5DO0FNeWRHO0VBQUksZURqaUIwQjtDTDJFakM7QU15ZEs7RUFDRSxzQkRyaUIwQjtDTDhFakM7QU13ZE87RUFBUyxlRHRpQmlCO0NMaUZqQztBTXdkTztFQUNFLGVEMWlCd0I7Q0xvRmpDO0FNMGRPO0VBQ0UsZUQvaUJ3QjtDTHVGakM7QU0yZEs7RUFBYSxlRGxqQmU7Q0wwRmpDO0FNa2VDO0VBQ0UsY0FBYTtDTmhlaEI7QU1rZU87RUFDRSxlRGhrQndCO0NMZ0dqQztBTXdlSztFQUFhLGVEeGtCZTtDTG1HakM7QU0wZU87RUFDRSxZQUFXO0NOeGVwQjtBTXllUztFQUVFLDJCQUF5QjtFQUN6QixZQUFXO0NOeGV0QjtBTThlYTtFQUVJLG9CRDFsQmdCO0NMNkdqQztBTWtmRztFQUNFLG9CRGhtQjRCO0NMZ0hqQzs7QU1tYUc7RUFBWSx5Q0FBeUM7Q04vWnhEO0FNaWFHO0VBQXVCLG9CRHpoQmtCO0NMMkg1QztBTStaRztFQUNvQixZRHpoQlk7Q0w0SG5DO0FNOFp1QjtFQUNJLFlBQTJDO0NONVp0RTtBTWdhRztFQUE0QyxZRC9oQlo7Q0xrSW5DO0FNOFpHO0VBQXlELFlEaGlCekI7Q0xxSW5DO0FNNFpHO0VBQStELFlEamlCL0I7Q0x3SW5DO0FNMlpHO0VBQUksZUMvNkJNO0NQdWhCYjtBTTJaSztFQUNFLHNCQ243Qk07Q1AwaEJiO0FNMFpPO0VBQVMsZUNwN0JIO0NQNmhCYjtBTTBaTztFQUNFLGVDeDdCSTtDUGdpQmI7QU00Wk87RUFDRSxlQzc3Qkk7Q1BtaUJiO0FNNlpLO0VBQWEsZUNoOEJMO0NQc2lCYjtBTW9hQztFQUNFLGNBQWE7Q05sYWhCO0FNb2FPO0VBQ0UsZUM5OEJJO0NQNGlCYjtBTTBhSztFQUFhLGVDdDlCTDtDUCtpQmI7QU00YU87RUFDRSxZQUFXO0NOMWFwQjtBTTJhUztFQUVFLDJCQUF5QjtFQUN6QixZQUFXO0NOMWF0QjtBTWdiYTtFQUVJLG9CQ3grQko7Q1B5akJiO0FNb2JHO0VBQ0Usb0JDOStCUTtDUDRqQmI7O0FNcVdHO0VBQVksd0NBQXlDO0NOald4RDtBTW1XRztFQUF1QixvQkR6aEJrQjtDTHlMNUM7QU1pV0c7RUFDb0IsWUR6aEJZO0NMMExuQztBTWdXdUI7RUFDSSxZQUEyQztDTjlWdEU7QU1rV0c7RUFBNEMsWUQvaEJaO0NMZ01uQztBTWdXRztFQUF5RCxZRGhpQnpCO0NMbU1uQztBTThWRztFQUErRCxZRGppQi9CO0NMc01uQztBTTZWRztFQUFJLGVDNzZCTTtDUG1sQmI7QU02Vks7RUFDRSxzQkNqN0JNO0NQc2xCYjtBTTRWTztFQUFTLGVDbDdCSDtDUHlsQmI7QU00Vk87RUFDRSxlQ3Q3Qkk7Q1A0bEJiO0FNOFZPO0VBQ0UsZUMzN0JJO0NQK2xCYjtBTStWSztFQUFhLGVDOTdCTDtDUGttQmI7QU1zV0M7RUFDRSxjQUFhO0NOcFdoQjtBTXNXTztFQUNFLGVDNThCSTtDUHdtQmI7QU00V0s7RUFBYSxlQ3A5Qkw7Q1AybUJiO0FNOFdPO0VBQ0UsWUFBVztDTjVXcEI7QU02V1M7RUFFRSwyQkFBeUI7RUFDekIsWUFBVztDTjVXdEI7QU1rWGE7RUFFSSxvQkN0K0JKO0NQcW5CYjtBTXNYRztFQUNFLG9CQzUrQlE7Q1B3bkJiOztBTXVTRztFQUFZLHlDQUF5QztDTm5TeEQ7QU1xU0c7RUFBdUIsb0JEemhCa0I7Q0x1UDVDO0FNbVNHO0VBQ29CLFlEemhCWTtDTHdQbkM7QU1rU3VCO0VBQ0ksWUFBMkM7Q05oU3RFO0FNb1NHO0VBQTRDLFlEL2hCWjtDTDhQbkM7QU1rU0c7RUFBeUQsWURoaUJ6QjtDTGlRbkM7QU1nU0c7RUFBK0QsWURqaUIvQjtDTG9RbkM7QU0rUkc7RUFBSSxlQzM2Qk07Q1Arb0JiO0FNK1JLO0VBQ0Usc0JDLzZCTTtDUGtwQmI7QU04Uk87RUFBUyxlQ2g3Qkg7Q1BxcEJiO0FNOFJPO0VBQ0UsZUNwN0JJO0NQd3BCYjtBTWdTTztFQUNFLGVDejdCSTtDUDJwQmI7QU1pU0s7RUFBYSxlQzU3Qkw7Q1A4cEJiO0FNd1NDO0VBQ0UsY0FBYTtDTnRTaEI7QU13U087RUFDRSxlQzE4Qkk7Q1BvcUJiO0FNOFNLO0VBQWEsZUNsOUJMO0NQdXFCYjtBTWdUTztFQUNFLFlBQVc7Q045U3BCO0FNK1NTO0VBRUUsMkJBQXlCO0VBQ3pCLFlBQVc7Q045U3RCO0FNb1RhO0VBRUksb0JDcCtCSjtDUGlyQmI7QU13VEc7RUFDRSxvQkMxK0JRO0NQb3JCYjs7QU15T0c7RUFBWSx5Q0FBeUM7Q05yT3hEO0FNdU9HO0VBQXVCLG9CRHpoQmtCO0NMcVQ1QztBTXFPRztFQUNvQixZRHpoQlk7Q0xzVG5DO0FNb091QjtFQUNJLFlBQTJDO0NObE90RTtBTXNPRztFQUE0QyxZRC9oQlo7Q0w0VG5DO0FNb09HO0VBQXlELFlEaGlCekI7Q0wrVG5DO0FNa09HO0VBQStELFlEamlCL0I7Q0xrVW5DO0FNaU9HO0VBQUksZUN4NkJNO0NQMHNCYjtBTWlPSztFQUNFLHNCQzU2Qk07Q1A2c0JiO0FNZ09PO0VBQVMsZUM3NkJIO0NQZ3RCYjtBTWdPTztFQUNFLGVDajdCSTtDUG10QmI7QU1rT087RUFDRSxlQ3Q3Qkk7Q1BzdEJiO0FNbU9LO0VBQWEsZUN6N0JMO0NQeXRCYjtBTTBPQztFQUNFLGNBQWE7Q054T2hCO0FNME9PO0VBQ0UsZUN2OEJJO0NQK3RCYjtBTWdQSztFQUFhLGVDLzhCTDtDUGt1QmI7QU1rUE87RUFDRSxZQUFXO0NOaFBwQjtBTWlQUztFQUVFLDJCQUF5QjtFQUN6QixZQUFXO0NOaFB0QjtBTXNQYTtFQUVJLG9CQ2orQko7Q1A0dUJiO0FNMFBHO0VBQ0Usb0JDditCUTtDUCt1QmI7O0FNMktHO0VBQVksMENBQXlDO0NOdkt4RDtBTXlLRztFQUF1QixvQkR6aEJrQjtDTG1YNUM7QU11S0c7RUFDb0IsWUR6aEJZO0NMb1huQztBTXNLdUI7RUFDSSxZQUEyQztDTnBLdEU7QU13S0c7RUFBNEMsWUQvaEJaO0NMMFhuQztBTXNLRztFQUF5RCxZRGhpQnpCO0NMNlhuQztBTW9LRztFQUErRCxZRGppQi9CO0NMZ1luQztBTW1LRztFQUFJLGVDcjZCTTtDUHF3QmI7QU1tS0s7RUFDRSxzQkN6NkJNO0NQd3dCYjtBTWtLTztFQUFTLGVDMTZCSDtDUDJ3QmI7QU1rS087RUFDRSxlQzk2Qkk7Q1A4d0JiO0FNb0tPO0VBQ0UsZUNuN0JJO0NQaXhCYjtBTXFLSztFQUFhLGVDdDdCTDtDUG94QmI7QU00S0M7RUFDRSxjQUFhO0NOMUtoQjtBTTRLTztFQUNFLGVDcDhCSTtDUDB4QmI7QU1rTEs7RUFBYSxlQzU4Qkw7Q1A2eEJiO0FNb0xPO0VBQ0UsWUFBVztDTmxMcEI7QU1tTFM7RUFFRSwyQkFBeUI7RUFDekIsWUFBVztDTmxMdEI7QU13TGE7RUFFSSxvQkM5OUJKO0NQdXlCYjtBTTRMRztFQUNFLG9CQ3ArQlE7Q1AweUJiOztBTTZHRztFQUFZLDJDQUF5QztDTnpHeEQ7QU0yR0c7RUFBdUIsb0JEemhCa0I7Q0xpYjVDO0FNeUdHO0VBQ29CLFlEemhCWTtDTGtibkM7QU13R3VCO0VBQ0ksWUFBMkM7Q050R3RFO0FNMEdHO0VBQTRDLFlEL2hCWjtDTHdibkM7QU13R0c7RUFBeUQsWURoaUJ6QjtDTDJibkM7QU1zR0c7RUFBK0QsWURqaUIvQjtDTDhibkM7QU1xR0c7RUFBSSxlQ242Qk07Q1BpMEJiO0FNcUdLO0VBQ0Usc0JDdjZCTTtDUG8wQmI7QU1vR087RUFBUyxlQ3g2Qkg7Q1B1MEJiO0FNb0dPO0VBQ0UsZUM1NkJJO0NQMDBCYjtBTXNHTztFQUNFLGVDajdCSTtDUDYwQmI7QU11R0s7RUFBYSxlQ3A3Qkw7Q1BnMUJiO0FNOEdDO0VBQ0UsY0FBYTtDTjVHaEI7QU04R087RUFDRSxlQ2w4Qkk7Q1BzMUJiO0FNb0hLO0VBQWEsZUMxOEJMO0NQeTFCYjtBTXNITztFQUNFLFlBQVc7Q05wSHBCO0FNcUhTO0VBRUUsMkJBQXlCO0VBQ3pCLFlBQVc7Q05wSHRCO0FNMEhhO0VBRUksb0JDNTlCSjtDUG0yQmI7QU04SEc7RUFDRSxvQkNsK0JRO0NQczJCYjs7QU0rQ0c7RUFBWSx3Q0FBeUM7Q04zQ3hEO0FNNkNHO0VBQXVCLG9CRHpoQmtCO0NMK2U1QztBTTJDRztFQUNvQixZRHpoQlk7Q0xnZm5DO0FNMEN1QjtFQUNJLFlBQTJDO0NOeEN0RTtBTTRDRztFQUE0QyxZRC9oQlo7Q0xzZm5DO0FNMENHO0VBQXlELFlEaGlCekI7Q0x5Zm5DO0FNd0NHO0VBQStELFlEamlCL0I7Q0w0Zm5DO0FNdUNHO0VBQUksZURqaUIwQjtDTDZmakM7QU11Q0s7RUFDRSxzQkRyaUIwQjtDTGdnQmpDO0FNc0NPO0VBQVMsZUR0aUJpQjtDTG1nQmpDO0FNc0NPO0VBQ0UsZUQxaUJ3QjtDTHNnQmpDO0FNd0NPO0VBQ0UsZUQvaUJ3QjtDTHlnQmpDO0FNeUNLO0VBQWEsZURsakJlO0NMNGdCakM7QU1nREM7RUFDRSxjQUFhO0NOOUNoQjtBTWdETztFQUNFLGVEaGtCd0I7Q0xraEJqQztBTXNESztFQUFhLGVEeGtCZTtDTHFoQmpDO0FNd0RPO0VBQ0UsWUFBVztDTnREcEI7QU11RFM7RUFFRSwyQkFBeUI7RUFDekIsWUFBVztDTnREdEI7QU00RGE7RUFFSSxvQkQxbEJnQjtDTCtoQmpDO0FNZ0VHO0VBQ0Usb0JEaG1CNEI7Q0xraUJqQzs7QU1mRztFQUFZLHdDQUF5QztDTm1CeEQ7QU1qQkc7RUFBdUIsb0JEemhCa0I7Q0w2aUI1QztBTW5CRztFQUNvQixZRHpoQlk7Q0w4aUJuQztBTXBCdUI7RUFDSSxZQUEyQztDTnNCdEU7QU1sQkc7RUFBNEMsWUQvaEJaO0NMb2pCbkM7QU1wQkc7RUFBeUQsWURoaUJ6QjtDTHVqQm5DO0FNdEJHO0VBQStELFlEamlCL0I7Q0wwakJuQztBTXZCRztFQUFJLGVEamlCMEI7Q0wyakJqQztBTXZCSztFQUNFLHNCRHJpQjBCO0NMOGpCakM7QU14Qk87RUFBUyxlRHRpQmlCO0NMaWtCakM7QU14Qk87RUFDRSxlRDFpQndCO0NMb2tCakM7QU10Qk87RUFDRSxlRC9pQndCO0NMdWtCakM7QU1yQks7RUFBYSxlRGxqQmU7Q0wwa0JqQztBTWRDO0VBQ0UsY0FBYTtDTmdCaEI7QU1kTztFQUNFLGVEaGtCd0I7Q0xnbEJqQztBTVJLO0VBQWEsZUR4a0JlO0NMbWxCakM7QU1OTztFQUNFLFlBQVc7Q05RcEI7QU1QUztFQUVFLDJCQUF5QjtFQUN6QixZQUFXO0NOUXRCO0FNRmE7RUFFSSxvQkQxbEJnQjtDTDZsQmpDO0FNRUc7RUFDRSxvQkRobUI0QjtDTGdtQmpDOztBTTdFRztFQUFZLHdDQUF5QztDTmlGeEQ7QU0vRUc7RUFBdUIsb0JEM2tCYTtDTDZwQnZDO0FNakZHO0VBQ29CLFlEemhCWTtDTDRtQm5DO0FNbEZ1QjtFQUNJLFlBQTJDO0NOb0Z0RTtBTWhGRztFQUE0QyxZRC9oQlo7Q0xrbkJuQztBTWxGRztFQUF5RCxZRGhpQnpCO0NMcW5CbkM7QU1wRkc7RUFBK0QsWURqaUIvQjtDTHduQm5DO0FNckZHO0VBQUksZURqaUIwQjtDTHluQmpDO0FNckZLO0VBQ0Usc0JEcmlCMEI7Q0w0bkJqQztBTXRGTztFQUFTLGVEdGlCaUI7Q0wrbkJqQztBTXRGTztFQUNFLGVEMWlCd0I7Q0xrb0JqQztBTXBGTztFQUNFLGVEL2lCd0I7Q0xxb0JqQztBTW5GSztFQUFhLGVEbGpCZTtDTHdvQmpDO0FNNUVDO0VBQ0UsY0FBYTtDTjhFaEI7QU01RU87RUFDRSxlRGhrQndCO0NMOG9CakM7QU10RUs7RUFBYSxlRHhrQmU7Q0xpcEJqQztBTXBFTztFQUNFLFlBQVc7Q05zRXBCO0FNckVTO0VBRUUsMkJBQXlCO0VBQ3pCLFlBQVc7Q05zRXRCO0FNaEVhO0VBRUksb0JEMWxCZ0I7Q0wycEJqQztBTTVERztFQUNFLG9CRGhtQjRCO0NMOHBCakM7O0FNM0lHO0VBQVksd0NBQXlDO0NOK0l4RDtBTTdJRztFQUF1QixvQkQza0JhO0NMMnRCdkM7QU0vSUc7RUFDb0IsWUR6aEJZO0NMMHFCbkM7QU1oSnVCO0VBQ0ksWUFBMkM7Q05rSnRFO0FNOUlHO0VBQTRDLFlEL2hCWjtDTGdyQm5DO0FNaEpHO0VBQXlELFlEaGlCekI7Q0xtckJuQztBTWxKRztFQUErRCxZRGppQi9CO0NMc3JCbkM7QU1uSkc7RUFBSSxlRGppQjBCO0NMdXJCakM7QU1uSks7RUFDRSxzQkRyaUIwQjtDTDByQmpDO0FNcEpPO0VBQVMsZUR0aUJpQjtDTDZyQmpDO0FNcEpPO0VBQ0UsZUQxaUJ3QjtDTGdzQmpDO0FNbEpPO0VBQ0UsZUQvaUJ3QjtDTG1zQmpDO0FNakpLO0VBQWEsZURsakJlO0NMc3NCakM7QU0xSUM7RUFDRSxjQUFhO0NONEloQjtBTTFJTztFQUNFLGVEaGtCd0I7Q0w0c0JqQztBTXBJSztFQUFhLGVEeGtCZTtDTCtzQmpDO0FNbElPO0VBQ0UsWUFBVztDTm9JcEI7QU1uSVM7RUFFRSwyQkFBeUI7RUFDekIsWUFBVztDTm9JdEI7QU05SGE7RUFFSSxvQkQxbEJnQjtDTHl0QmpDO0FNMUhHO0VBQ0Usb0JEaG1CNEI7Q0w0dEJqQzs7QU16TUc7RUFBWSx3Q0FBeUM7Q042TXhEO0FNM01HO0VBQXVCLG9CRDNrQmE7Q0x5eEJ2QztBTTdNRztFQUNvQixZRHpoQlk7Q0x3dUJuQztBTTlNdUI7RUFDSSxZQUEyQztDTmdOdEU7QU01TUc7RUFBNEMsWUQvaEJaO0NMOHVCbkM7QU05TUc7RUFBeUQsWURoaUJ6QjtDTGl2Qm5DO0FNaE5HO0VBQStELFlEamlCL0I7Q0xvdkJuQztBTWpORztFQUFJLGVEamlCMEI7Q0xxdkJqQztBTWpOSztFQUNFLHNCRHJpQjBCO0NMd3ZCakM7QU1sTk87RUFBUyxlRHRpQmlCO0NMMnZCakM7QU1sTk87RUFDRSxlRDFpQndCO0NMOHZCakM7QU1oTk87RUFDRSxlRC9pQndCO0NMaXdCakM7QU0vTUs7RUFBYSxlRGxqQmU7Q0xvd0JqQztBTXhNQztFQUNFLGNBQWE7Q04wTWhCO0FNeE1PO0VBQ0UsZURoa0J3QjtDTDB3QmpDO0FNbE1LO0VBQWEsZUR4a0JlO0NMNndCakM7QU1oTU87RUFDRSxZQUFXO0NOa01wQjtBTWpNUztFQUVFLDJCQUF5QjtFQUN6QixZQUFXO0NOa010QjtBTTVMYTtFQUVJLG9CRDFsQmdCO0NMdXhCakM7QU14TEc7RUFDRSxvQkRobUI0QjtDTDB4QmpDOztBTXZRRztFQUFZLDBDQUF5QztDTjJReEQ7QU16UUc7RUFBdUIsb0JDdjNCUjtDUG1vQ2xCO0FNM1FHO0VBQ29CLFlEemhCWTtDTHN5Qm5DO0FNNVF1QjtFQUNJLFlBQTJDO0NOOFF0RTtBTTFRRztFQUE0QyxZRC9oQlo7Q0w0eUJuQztBTTVRRztFQUF5RCxZRGhpQnpCO0NMK3lCbkM7QU05UUc7RUFBK0QsWURqaUIvQjtDTGt6Qm5DO0FNL1FHO0VBQUksZUNwNEJPO0NQc3BDZDtBTS9RSztFQUNFLHNCQ3g0Qk87Q1B5cENkO0FNaFJPO0VBQVMsZUN6NEJGO0NQNHBDZDtBTWhSTztFQUNFLGVDNzRCSztDUCtwQ2Q7QU05UU87RUFDRSxlQ2w1Qks7Q1BrcUNkO0FNN1FLO0VBQWEsZUNyNUJKO0NQcXFDZDtBTXRRQztFQUNFLGNBQWE7Q053UWhCO0FNdFFPO0VBQ0UsZUNuNkJLO0NQMnFDZDtBTWhRSztFQUFhLGVDMzZCSjtDUDhxQ2Q7QU05UE87RUFDRSxZQUFXO0NOZ1FwQjtBTS9QUztFQUVFLDJCQUF5QjtFQUN6QixZQUFXO0NOZ1F0QjtBTTFQYTtFQUVJLG9CQzc3Qkg7Q1B3ckNkO0FNdFBHO0VBQ0Usb0JDbjhCUztDUDJyQ2Q7O0FNcE9BO0VBQ0MsMEJBQXFDO0NOdU90Qzs7QU1wT0Q7RUFDRSxlQUFjO0NOdU9mOztBTW5PQztFQUNFLDBDQUFrQztDTnNPckM7O0FNak9DO0VBQ0UsMkNBQWtDO0NOb09yQzs7QVE5d0NELGlDQUFpQztBQVNqQztFQUNFLHVCQUFzQjtDUnl3Q3ZCOztBUW53Q0Q7O0VBRUUsdUJBQXNCO0VBQ3RCLHFCQUFvQjtDUnN3Q3JCOztBUW53Q0Q7RUFDRSxxQ0g4WnVDO0VHN1p2QyxvQkh3VnNDO0VHdlZ0QyxvQ0FBbUM7RUFDbkMsbUNBQWtDO0NSc3dDbkM7O0FRbHdDQztFQUFPLGVBQWM7Q1Jzd0N0Qjs7QVFud0NEO0VBQ0UsZ0JEeUVtQjtFQ3hFbkIsaUJIb1NtQztFR25TbkMsZUhpU3VCO0NMcStCeEI7O0FRcnZDRDtFRjBJRSxjQUFhO0VBQ2Isb0JBQW1CO0NOK21DcEI7O0FRdHZDRDtFRjJJRSxtQkFBc0I7RUFDdEIsMEJBQW1EO0VBRW5ELG1CRHJDYTtFR3ZHYixlSHVXMkM7RUdyVzNDLHVCQUFzQjtFQUN0QixtQkFBa0I7RUFDbEIsaUJBQWdCO0NSMHZDakI7O0FRdnZDRDtFRmtJRSxrQkFBc0I7RUFDdEIsMEJBQW1EO0VBRW5ELG1CRGhDYTtFR25HYixlSGtXZ0M7RUdoV2hDLHVCQUFzQjtFQUN0QixtQkFBa0I7RUFDbEIsb0JBQW1CO0NSMnZDcEI7O0FReHZDRDtFRnlIRSxpQkFBc0I7RUFDdEIsMEJBQW1EO0VBRW5ELG1CRDNCYTtFRy9GYixlSHFWMkM7RUdwVjNDLHFDSHVXdUM7RUd0V3ZDLHVCQUFzQjtFQUN0QixtQkFBa0I7RUFDbEIsaUJBQWdCO0NSNnZDakI7O0FRMXZDRDtFRmdIRSxtQkFBc0I7RUFDdEIsMEJBQW1EO0VBRW5ELG1CRHRCYTtFRzNGYixlSGdWZ0M7RUcvVWhDLHFDSDhWdUM7RUc3VnZDLHVCQUFzQjtFQUN0QixtQkFBa0I7RUFDbEIsaUJBQWdCO0NSK3ZDakI7O0FRNXZDRDtFRnVHRSxlQUFzQjtFQUN0QixrQkFBbUQ7RUFFbkQsbUJEakJhO0VHdkZiLGVIc091QjtFR3JPdkIscUNIcVZ1QztFR3BWdkMsdUJBQXNCO0VBQ3RCLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsMEJBQXlCO0NSaXdDMUI7O0FROXZDRDtFRjZGRSxlQUFzQjtFQUN0QixpQkFBbUQ7RUFFbkQsbUJEWmE7RUdsRmIsZUg0TnVCO0VHM052QixxQ0gyVXVDO0VHMVV2Qyx1QkFBc0I7RUFDdEIsbUJBQWtCO0VBQ2xCLGlCQUFnQjtDUm13Q2pCOztBUWh3Q0Q7RUFDRSxjQUFhO0VBQ2Isb0JIbUNhO0NMZ3VDZDs7QVEzdkNEO0VBQ0Usc0JBQXFCO0VBRXJCLHNDQUVTO0NSMnZDVjtBUXp2Q0M7RUFDRSxlSG9TOEI7RUduUzlCLDJCQUEwQjtDUjJ2QzdCOztBUWp2Q0Q7O0VBRUUsbUJIdEhXO0VHdUhYLGlCSEthO0VHSmIsb0JISWE7Q0xndkNkOztBUS90Q0Q7OztFRjRGRSxpQkR6T1c7RUMwT1gsb0JEMU9XO0VHZ0pYLFlBQVc7RUFDWCxpQkFBZ0I7RUFDaEIsa0JBQWlCO0NSb3VDbEI7QVEvdENLOzs7RUFDRSw4QkFBdUU7RUFFdkUsaUJBQWdCO0NSa3VDdkI7QVF2dENHOztFQUNFLGlDQUEwRTtDUjB0Qy9FO0FRenRDSzs7O0VBQ0UsaUJBQWdCO0NSNnRDdkI7QVFsdENDOzs7Ozs7O0VBRUUsbUJBQTBEO0VBQzFELG9CQUFtQjtFQUNuQiw4QkhrSGdDO0NMdW1DbkM7QVF2dENHOzs7OztFQUNFLCtCQUF3RTtDUjZ0QzdFO0FRMXRDRzs7Ozs7RUFDRSxnQ0FBeUU7Q1JndUM5RTtBUTV0Q0M7OztFQUNFLGlCQUFnQjtFQUNoQixpQkFBZ0I7Q1JndUNuQjtBUXZ0Q0M7O0VBQ0UsMEJINEYrQjtDTDhuQ2xDOztBUTFzQ0c7OztFQUNFLG1CQUF3RTtFQUN4RSwwQkh5S3VDO0VHeEt2QyxZSDBLOEI7RUd6SzlCLHFDSDBMbUM7RUd6TG5DLHVCQUFzQjtFQUN0QixtQkFBa0I7RUFDbEIsZ0JIK0RzQjtFRzlEdEIsa0JIK0RvQztFRzlEcEMsMEJBQThFO0NSK3NDbkY7O0FRbnNDRDs7OztFQUlFLGFBQVk7RUFDWixnQkFBZTtDUnNzQ2hCOztBUW5zQ0Q7RUFDRSxVQUFTO0VBQ1QsZ0JBQWU7Q1Jzc0NoQjs7QVFoc0NEOztFQUVFLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIsZUFBaUU7RUFDakUsbUJIdEZzQjtFR3VGdEIsZ0JIM0ZvQjtFRzRGcEIsaUJIM0Y2QjtFRzRGN0IsZUg4SDJDO0VHN0gzQyxxQ0hnSnVDO0VHL0l2Qyx1QkFBc0I7RUFDdEIsbUJBQWtCO0VBQ2xCLG9CQUFtQjtFQUNuQiwrQkFBK0M7Q1Jtc0NoRDtBUWpzQ0M7O0VBQ0Y7Ozs7O0lBS0U7Q1Jvc0NEO0FRanNDQzs7OztFQUVFLFlEOU9LO0VDK09MLGdCQUFlO0VBQ2YsbUJBQWtCO0VBQ2xCLGVBQWM7Q1Jxc0NqQjtBUXBzQ0c7Ozs7RUFDRSxjQUFhO0NSeXNDbEI7O0FRL3JDRDtFQUNFLGVBQWM7RUFDZCxlQUFpQjtFQUNqQixnQkh2SDZCO0VHd0g3QixpQkhGbUM7RUdHbkMsZUg0RmdDO0VHM0ZoQyxxQ0gwR3VDO0VHekd2QyxvQkFBbUI7RUFDbkIsbUJBQWtCO0NSa3NDbkI7O0FTNWdERDtFQUNFLHVCSnFHbUI7RUluR25CLHNFQUFtRztFQUNuRyxxYkFJK0c7RUFDL0csaUJBQWdCO0VBQ2hCLG1CQUFrQjtDVDBnRG5CO0FTdmdERDtFQUNFLHVCSndGbUI7RUl2Rm5CLFlBQVc7RUFDWCxtQkFBa0I7RUFDbEIsb0JBQW1CO0VBQ25CLHFCQUFvQjtFQUNwQixxQkFBb0I7RUFDcEIsZUFBYztFQUVkLHVDQUF1QztFQUN2QyxvQ0FBbUM7RUFDbkMsbUNBQWtDO0NUd2dEbkM7O0FTbGdERDtFQUFvQixhSjZFQTtDTHk3Q25COztBU3JnREQ7RUFBcUIsYUo2RUE7Q0w0N0NwQjs7QVN4Z0REO0VBQXFCLGFKNkVBO0NMKzdDcEI7O0FTM2dERDtFQUE0QixhSjZFQTtDTGs4QzNCOztBUzlnREQ7RUFBNkIsYUo2RUE7Q0xxOEM1Qjs7QVNqaEREO0VBQTBCLGFKNlZjO0NMd3JDdkM7O0FTcGhERDtFQUE0QixhSjZWZTtDTDJyQzFDOztBU3ZoREQ7RUFBMEIsYUo2RUE7Q0w4OEN6Qjs7QVMxaEREO0VBQTJCLGFKK1ltQjtDTCtvQzdDOztBUzdoREQ7RUFBd0IsYUo2RUE7Q0xvOUN2Qjs7QVNoaUREO0VBQTBCLGFKOFlvQjtDTHNwQzdDOztBU25pREQ7RUFBd0IsYUo2RUE7Q0wwOUN2Qjs7QVN0aUREO0VBQXVCLGFKNkVBO0NMNjlDdEI7O0FTemlERDtFQUF3QixhSjZFQTtDTGcrQ3ZCOztBUzVpREQ7RUFBNEIsYUo2RUE7Q0xtK0MzQjs7QVMvaUREO0VBQW9CLGFKNkVBO0NMcytDbkI7O0FTbGpERDtFQUEyQixhSjZFQTtDTHkrQzFCOztBU3JqREQ7RUFBeUIsYUo2RUE7Q0w0K0N4Qjs7QVN4akREO0VBQXNCLGFKNkVBO0NMKytDckI7O0FTM2pERDtFQUFvQixhSjZFQTtDTGsvQ25COztBUzlqREQ7RUFBdUIsYUo2RUE7Q0xxL0N0Qjs7QVVqbkREO0VKaVFFLG9CRDlPVztFQytPWCxtQkQvT1c7RUNtUFgsa0JBQW9CO0VBQ3BCLHFCQUF1QjtFSXBRdkIsaUJMMlprQztFSzFabEMsaUJBQWdCO0NWc25EakI7QVVwbkRDO0VKZ1FBLGlCQUFvQjtFQUNwQixvQkFBdUI7Q051M0N4QjtBTTFoREc7RUk5RkY7SUpnUUEsa0JBQW9CO0lBQ3BCLHFCQUF1QjtHTjQzQ3RCO0NBQ0Y7O0FVcm5ERDtFSm9DRSxtQkFBa0I7RUFDbEIsZUFBYztFQUNkLGNEVHlCO0VDVXpCLGdCQUFlO0NOcWxEaEI7QVV6bkRDO0VBQ0UsVUFBUztFQUNULGdCQUFlO0NWMm5EbEI7QVV2bkRHO0VBQ0UsMkJBQTBCO0NWeW5EL0I7O0FVNW1ERDtFSnlCRSxZQUFXO0VBQ1gsb0JEN0NXO0VDbURULFlBQVc7RUk3QmIsWUFBVztDVmduRFo7QU1yakRHO0VJOURKO0lKb0NJLFlBQVc7R05tbERaO0NBQ0Y7QU0xakRHO0VJOURKO0lBTUksb0JMdEJtQjtJS3VCbkIsZUFBYztJQUNkLHNCQUE0QjtHVnNuRDdCO0VVcG5EQztJQUNFLHlCQUF3QjtHVnNuRDNCO0NBQ0Y7QU1wa0RHO0VJOURKO0lBaUJJLHNCTDdCcUU7R0xrcER0RTtDQUNGOztBVWhuREM7RUFDRSxlQUFjO0NWbW5EakI7QU03a0RHO0VJdkNGO0lBR0ksY0FBYTtHVnFuRGhCO0NBQ0Y7O0FVam5ERDtFSk5FLFlBQVc7RUFDWCxvQkQ3Q1c7RUNnRFQsdUJBQXNCO0VJSXhCLFVBQVM7Q1ZzbkRWO0FNemxERztFSS9CSjtJSktJLFlBQVc7R051bkRaO0NBQ0Y7QU05bERHO0VJNUJGO0lBR0ksaUNBQWtDO0dWMm5EckM7Q0FDRjtBTW5tREc7RUlwQkY7SUFHSSxpQ0FBOEM7R1Z3bkRqRDtDQUNGO0FNeG1ERztFSVpGO0lBRUksdUJBQXNCO0dWc25EekI7Q0FDRjtBVW5uREM7RUpxVEEsUUFBTztDTmkwQ1I7QU0vekNDO0VBQ0UsZUFBYztFQUNkLFlBQVc7RUFDWCxZQUFXO0NOaTBDZDtBTXJuREc7RUlORjtJQUlJLGlDQUE4QztHVjJuRGpEO0NBQ0Y7QU0xbkRHO0VJTkY7SUFRSSxpQ0FBMEQ7R1Y0bkQ3RDtDQUNGO0FNL25ERztFSVNFO0lBQ0UsdUJBQXNCO0dWeW5EM0I7Q0FDRjs7QVVwbkREO0VKckRFLFlBQVc7RUFDWCxvQkQ3Q1c7RUNtRFQsWUFBVztFSWdEYixpQkFBZ0I7Q1Z5bkRqQjtBTTNvREc7RUlnQko7SUoxQ0ksWUFBVztHTnlxRFo7Q0FDRjtBTWhwREc7RUlnQko7SUFLSSxtQkxsR2tCO0lLbUdsQixzQkwvRm9FO0dMOHREckU7Q0FDRjtBTXRwREc7RUl5QkY7SUFJSSxzQkFBbUM7SUFDbkMsNEJBQW1DO0lBQ25DLGdCQUFlO0dWNm5EbEI7Q0FDRjtBTTdwREc7RUl5QkY7SUFXSSxtQkxqSGdCO0lLa0hoQixzQkw5R2tFO0lLK0dsRSxVQUFTO0dWNm5EWjtDQUNGO0FNcHFERztFSTJDRjtJQUVJLHVCQUFzQjtJQUN0QixlQUFjO0dWMm5EakI7Q0FDRjs7QU0xcURHO0VJeURKO0lKMEZFLG9CQUFxQjtJQUNyQixtQkFBb0I7R040aERuQjtDQUNGO0FVbG5EQztFSnBHQSxZQUFXO0VBQ1gsb0JEN0NXO0VDbURULFlBQVc7Q05vdERkO0FNdHJERztFSStERjtJSnpGRSxZQUFXO0dOb3REWjtDQUNGO0FNM3JERztFSStERjtJSjhGQSxvQkQ5T1c7SUMrT1gsbUJEL09XO0dMaXhEVjtDQUNGOztBTWpzREc7RUl1RkY7SUFHSSxXQUFlO0dWNG1EbEI7Q0FDRjs7QU12c0RHO0VJd0dGO0lBR0ksc0JBQWU7R1ZpbURsQjtDQUNGOztBTTdzREc7RUl5SEY7SUFHSSxXQUFlO0dWc2xEbEI7Q0FDRjtBTW50REc7RUl5SEY7SUFPSSxXQUFlO0dWdWxEbEI7Q0FDRjs7QVVoaURDO0VBQ0UsWUFBVztDVm1pRGQ7QU01dERHO0VJd0xGO0lBSUksc0JBQWU7R1ZvaURsQjtDQUNGO0FVaGlEQztFQUNFLFlBQVc7Q1ZraURkO0FNcHVERztFSWlNRjtJQUlJLHNCQUFlO0dWbWlEbEI7Q0FDRjs7QVduMURELGtDQUFrQztBQ0FsQyxvQ0FBb0M7QUFRbEM7RUFDRSxVQUFTO0VB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RVo7QU1wa0RDO0VBQ0UsbUJEeE40QjtDTDh4RC9CO0FNcGtERztFQW5LRix1QkFBK0I7RUFxSzNCLGdCQUFlO0VBQ2Ysb0JEeEx1QztFQ3lMdkMsNEJBQWtGO0NOMGtEdkY7QU14a0RLO0VBektKLHVCQUErQjtFQXhPL0IsaUJBQWdCO0VBQ2hCLGVBQWM7RUFDZCxnQkRrTHdCO0VDakx4QixrQkRrTHNDO0VDakx0QyxtQkFBb0U7RUFDcEUsWURtTmtDO0VDbE5sQyxxQ0RtT3VDO0VDak92QyxvQkQ4S3dCO0NMa3pEekI7QU1ubERPO0VBQVcsdUJEeGZFO0NMOGtFcEI7QU0za0RLO0VBQ0Usb0JEdk0wQjtFQ3dNMUIsMEJEOVE2QjtDTDIxRHBDO0FNM2tETztFQUNFLFlEN00wQjtDTDB4RG5DO0FNeGtERztFQUNFLHdCQUF5RjtFQUN6RixpQkFBZ0I7Q04wa0RyQjtBTS9qREs7RUFDRSxvQkRwUmdDO0VDcVJoQyxzQkR6TmlDO0VDME5qQyxpQ0FBZ0M7Q05pa0R2QztBTS9qRE87RUFDRSxZRHJPMEI7Q0xzeURuQztBTS9qRFM7RUFDRSxhRHhRK0I7Q0x5MEQxQzs7QWVyc0VEOzs7O0VUeU9FLGFEakltQjtFVW5HbkIsZ0JWd1h5QjtFVXZYekIsYUFBWTtFQUNaLFlBQVc7RUFDWCxhQUFZO0Nmd3NFYjs7QWVyc0VEOztFQUVFLGFWK1d5QztDTHkxRDFDOztBZXJzRUQ7O0VBRUUsYVZ5V3NDO0NMKzFEdkM7O0FlcnNFRDtFQUNFLHNCQUF3QjtDZndzRXpCOztBZXBzRUM7RUFDRSxjQUFhO0NmdXNFaEI7QWVyc0VDO0VBQ0UsbUJBQXFCO0VBQ3JCLGFBQVk7Q2Z1c0VmOztBZ0I5dUVELGlDQUFpQztBQU1qQztFVjRQRSxpQkR6T1c7RUMwT1gsb0JEMU9XO0VDNm9CWCxxQkQ3b0JXO0NMNHRFWjtBTTdoRUM7RUFDRSw4QkFBcUM7RUFDckMsb0JEak1TO0NMZ3VFWjtBTTdoRUc7RUFFRSxnQkFBZTtFQUNmLGVEbU11QztFQ2pNdkMsbUJBQWtCO0NONmhFdkI7QU10bERDO0VBQ0UsY0FBYTtDTndsRGhCO0FNdGxEQztFQUNFLGlCQUFnQjtDTndsRG5CO0FNdGxEQztFQWZBLGlDQUE0QjtDTndtRDdCO0FnQjd2RVM7RUFDRSwyQkFBd0I7Q2hCK3ZFbkM7QWdCN3ZFUztFQUNFLFlBQVU7RUFDVixhQUFXO0NoQit2RXRCO0FnQjl2RVc7RUFDRSxVQUFRO0NoQmd3RXJCO0FnQjN2RUc7RVY0T0YsaUJEek9XO0VDME9YLG9CRDFPVztFV0VELG1CQUFrQjtFQUVsQixvQkFBbUI7RUFDbkIsaUJBQWdCO0NoQjB2RTNCO0FNOWxEQztFQUNFLGNBQWE7Q05nbURoQjtBZ0IzdkVPO0VBQ0ksb0JBQTBCO0NoQjZ2RXJDO0FnQjF2RUc7RVZ1cUJGLGdCQUFlO0VBQ2Ysb0JBQW1CO0VBQ25CLG1CQUFrQjtFQUNsQiwwQkFBeUI7RUFDekIsb0JBQTBCO0NOc2xEM0I7QU1qbERDO0VBQVUsZUNqc0JhO0NQcXhFeEI7QWdCandFRztFVnlwQkYsZ0JBQWU7RUFDZixXQUFVO0VBQ1YsZ0JBQWU7RUFDZiwwQkFBb0I7RUFDcEIsZUNwbkJVO0VEcW5CVix1QkFBc0I7RUFDdEIsbUJBQWtCO0VBQ2xCLGlCQUFnQjtFVTVwQk4sbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixRQUFPO0VBQ1AsYUFBWTtFQUNaLFlBQVc7RUFDWCxpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLDBCQUF5QjtFQUN6QiwwQkFBcUI7Q2hCd3dFaEM7QWdCcndFTztFQUVRLGVBQWM7Q2hCc3dFN0I7QWdCbHdFTztFQUNJLGdCQUFlO0NoQm93RTFCO0FnQmp3RU87RUFDSSxnQkFBZTtDaEJtd0UxQjtBZ0Jod0VPO0VBQ0ksZ0JBQWU7RUFDZixlWGdXc0I7RVcvVnRCLGlCQUFnQjtDaEJrd0UzQjtBZ0IvdkVHO0VBQ0ksZ0JBQWU7Q2hCaXdFdEI7QWdCL3ZFRztFVjRvQkYsZ0JBQWU7RUFDZiwwQkFBb0I7RUFDcEIsdUJBQXNCO0VBQ3RCLG1CQUFrQjtFQUNsQixvQkFBbUI7Q05zbkRwQjtBZ0Jwd0VPO0VBQ0ksZVhzVnNCO0VXcFZsQixrQkFBaUI7RVZtSy9CLGFVbEt5QztDaEJxd0UxQztBZ0Jqd0VHO0VWa29CRixnQkFBZTtFQUNmLDBCQUFvQjtFQUNwQix1QkFBc0I7RUFDdEIsbUJBQWtCO0VBQ2xCLG9CQUFtQjtDTmtvRHBCO0FnQnR3RU87RUFFUSxrQkFBaUI7RVYwSi9CLGFVekp5QztFQUMzQixlWHlVa0I7Q0w4N0RqQzs7QU0xdkVHO0VVTkE7SUFFUSxvQkFBcUM7R2hCbXdFOUM7Q0FDRjs7QWdCdHZFRztFQUNJLG1CQUFrQjtFQUNsQiw4QkFBNkI7RUFDN0IsYUFBWTtFQUNaLG1CQUFrQjtFQUNsQixlQUFjO0VBQ2QsV0FBVTtDaEJ5dkVqQjtBZ0J4dkVPO0VWc0hOLGFENUh3QjtFV1FkLGVBQWM7RUFDZCxnQkFBZTtFQUNmLGVYdVNzQjtFV3RTdEIsZUFBYztDaEIwdkV6QjtBZ0J0dkVPO0VBQ0ksYVhtVGtDO0NMcThEN0M7O0FnQmp2RUQ7RUFDSTtJQUNJLFlBQVc7SUFDWCxlQUFjO0doQm92RW5CO0VnQm52RUs7SUFDSSxlQUFjO0doQnF2RXZCO0VnQm52RUs7O0lBRUksZUFBYztJQUNkLGlDQUFtQztJQUNuQyx3QkFBdUI7SUFDdkIsWUFBVztJQUNYLDRCQUEyQjtJQUMzQixnQkFBZTtJQUNmLGNBQWE7SUFDYixtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLFVBQVM7R2hCcXZFbEI7RWdCcHZFUzs7SUFDSSxhQUFZO0doQnV2RXpCO0VnQnR2RWE7O0lBQ0ksbUJBQWtCO0lBQ2xCLGNBQWE7SUFDYixhQUFZO0lBQ1osMEJBQXFCO0doQnl2RXRDO0VnQnh2RWlCOztJQUNJLG1CQUFrQjtHaEIydkV2QztFZ0J6dkVpQjs7SUFDSSwwQlg0UFU7SVczUFYsWVh5UFk7R0xtZ0VqQztFZ0J4dkVTOztJQUNJLG9CQUF1QztHaEIydkVwRDtFZ0IxdkVhOztJQUNJLFlYa1BnQjtHTDJnRWpDO0VnQjF2RVM7O0lBQ0ksbUJBQWtCO0lBQ2xCLFlBQVc7SUFDWCxTQUFRO0lBQ1IsZUFBYztJQUNkLGdCQUFlO0doQjZ2RTVCO0VnQjF2RUs7SUFFSSxZQUFXO0lBQ1gsZ0JBQWU7R2hCMnZFeEI7RWdCenZFSztJQUNJLGNBQWE7R2hCMnZFdEI7Q0FDRjtBZ0J2dkVEO0VBQ0ksY0FBYTtFQUNiLG9CQUFtQjtDaEJ5dkV0QjtBZ0J4dkVHO0VBQ0ksd0JBQXVCO0NoQjB2RTlCO0FNNTFFRztFVThGSjtJQU9RLGNBQWE7R2hCMnZFbEI7Q0FDRjs7QWdCeHZFRDtFQUNJLG1CQUFrQjtFQUNsQixnQkFBZTtFQUNmLGtCQUFpQjtFQUNqQixnQkFBZTtDaEIydkVsQjtBTXgyRUc7RVV5R0o7SUFNUSxjQUFhO0doQjZ2RWxCO0NBQ0Y7O0FnQnp2RUc7RUFDSSxxQkFBb0I7RUFDcEIsVUFBUztDaEI0dkVoQjs7QWdCeHZFRDtFVmdORSx1QkFBK0I7RVU5TTdCLGdCQUFlO0NoQit2RWxCO0FNMzNFRztFVTBISjtJQUlRLGdCQUFlO0doQml3RXBCO0NBQ0Y7O0FnQnp1RUQ7RVZtTEUsdUJBQStCO0NOOGpFaEM7QWdCOXVFTztFQUNJLG9CQUF1QztDaEJndkVsRDtBTTM0RUc7RVUwSkk7SUFHUSxpQkFBZ0I7R2hCa3ZFN0I7Q0FDRjtBZ0I5dUVZO0VBQ0wsb0JBQXVDO0NoQmd2RTlDOztBZ0JydUVEO0VBQ0ksc0JBQXFCO0VBQ3JCLFlBQVc7RUFDWCxhQUFZO0NoQnd1RWY7O0FnQnJ1RUQ7RUFFSSxlQUFjO0VBQ2QsV0FBVTtDaEJ1dUViO0FNNW9FQzs7RUFFRSxpQkFBZ0I7RUFDaEIsZ0JBQWU7RUFDZixpQkFBZ0I7Q044b0VuQjtBTXRvRUM7RUFDRSxlQUFjO0NOd29FakI7QU12NkVHO0VVeUxBO0lBRVEscUJBQWU7SUFBZixnQkFBZTtHaEJndkV4QjtDQUNGO0FNNTZFRztFVXlMQTtJQU1RLHFCQUFlO0lBQWYsZ0JBQWU7R2hCaXZFeEI7Q0FDRjtBZ0I5dUVPO0VBQ0ksa0JBQWlCO0NoQmd2RTVCOztBaUIxaEZEO0VBSUUsZUFBOEI7RUFDOUIsaUJaK00yQztFWTlNM0MscUJBQTJEO0VBQzNELGVaK015QztFWTlNekMsa0RacUYwQztFWXBGMUMsdUJBQXNCO0VBQ3RCLG1CQUFrQjtFQUNsQixvQkFBbUI7Q2pCMGhGcEI7O0FpQm5oRkQ7O0VBRUUsa0JBQTRCO0VBQzVCLGlCQUE2RDtFQUM3RCxtQlp5S3lCO0VZeEt6QixlWnVZMkM7RVl0WTNDLHFDWnladUM7RVl4WnZDLHVCQUFzQjtFQUN0QixtQkFBa0I7RUFDbEIsaUJBQWdCO0NqQnNoRmpCOztBaUIvZ0ZEOztFQUVFLGVBQWM7RUFDZCxlQUFpQjtFQUNqQix3QlpzTG9DO0VZckxwQyxnQlppTGlCO0VZaExqQixpQlppTDBCO0VZaEwxQixlWnlYZ0M7RVl4WGhDLHFDWnVZdUM7RVl0WXZDLHVCQUFzQjtFQUN0QixtQkFBa0I7RUFDbEIsaUJBQWdCO0NqQmtoRmpCO0FpQmhoRkE7O0VBQ0csWUFBVztFQUNYLGtCWjVCUztDTCtpRlo7QU05OUVHO0VXdkRIOztJQUtLLFdBQVU7R2pCcWhGYjtDQUNGO0FpQmpoRkM7O0VBQ0UsYUFBWTtFQUNaLG1CWnRDUztDTDBqRlo7QU16K0VHO0VXN0NGOztJQUtJLFdBQVU7R2pCc2hGYjtDQUNGOztBaUI3Z0ZEO0VYc0xFLGlCRHpPVztFQzBPWCxvQkQxT1c7RUM2b0JYLHFCRDdvQlc7Q0xza0ZaO0FNdjRFQztFQUNFLDhCQUFxQztFQUNyQyxvQkRqTVM7Q0wwa0ZaO0FNdjRFRztFQUVFLGdCQUFlO0VBQ2YsZURtTXVDO0VDak12QyxtQkFBa0I7Q051NEV2QjtBTWg4REM7RUFDRSxjQUFhO0NOazhEaEI7QU1oOERDO0VBQ0UsaUJBQWdCO0NOazhEbkI7QU1oOERDO0VBZkEsaUNBQTRCO0NOazlEN0I7O0FpQjloRkQ7Ozs7RVhtQ0UscUNEK1R1QztFQzlUdkMsaUJEcUtrQjtFQ3BLbEIscUJEMksyQjtFQzFLM0IsZ0JEZ0xrQztFQy9LbEMsa0JEZ0xnRDtFQ3BMaEQscUNEK1R1QztFQzlUdkMsaUJEcUtrQjtFQ3BLbEIscUJEMksyQjtFQzFLM0IsZ0JEZ0xrQztFQy9LbEMsa0JEZ0xnRDtFQzNLaEQsc0JBQXFCO0VBQ3JCLFVBQVM7RUFDVCxpQkFBbUI7RUFDbkIsbUJBQTRFO0VBQzVFLG9CRG1TZ0M7RUNsU2hDLHVCRHdLb0M7RUN2S3BDLFdBQVU7RUFDVixtQkFBa0I7RVc3Q2xCLDhCQUErRDtDakJpakZoRTtBTWxnRkM7Ozs7Ozs7RUFDRSwwQkR5UnlDO0VDeFJ6Qyx1QkRtSzhDO0NMdTJFakQ7QU12Z0ZDOzs7O0VBQ0UsMkNBQTBDO0NONGdGN0M7QU16Z0ZDOzs7O0VBQ0UsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsZ0JBQWU7RUFDZixpQkFBZ0I7Q044Z0ZuQjtBaUIxa0ZDOzs7O0VBQ0UsMEJBQXlFO0VBQ3pFLHNCQUFxQjtFQUNyQixvQkFBMkI7Q2pCK2tGOUI7O0FpQjNrRkQ7O0VBRUUsMEJaK1QyQztDTCt3RTVDO0FpQjdrRkM7O0VBQ0Usb0JBQTJCO0NqQmdsRjlCOztBaUI3a0ZEOztFQUVFLDBCWnNRc0M7Q0wwMEV2QztBaUIva0ZDOztFQUNFLG9CQUEyQjtFQUMzQixlWndOcUI7Q0wwM0V4Qjs7QWlCemtGRDtFWEFFLHFDRCtUdUM7RUM5VHZDLGlCRHFLa0I7RUNwS2xCLHFCRDJLMkI7RUMxSzNCLGdCRGdMa0M7RUMvS2xDLGtCRGdMZ0Q7RUNwTGhELHFDRCtUdUM7RUM5VHZDLGlCRHFLa0I7RUNwS2xCLHFCRDJLMkI7RUMxSzNCLGdCRGdMa0M7RUMvS2xDLGtCRGdMZ0Q7RUMzS2hELHNCQUFxQjtFQUNyQixVQUFTO0VBQ1QsaUJBQW1CO0VBQ25CLG1CQUE0RTtFQUM1RSxvQkRtU2dDO0VDbFNoQyx1QkR3S29DO0VDdktwQyxXQUFVO0VBQ1YsbUJBQWtCO0VBdUJsQixtQkFBNEY7RUFDNUYsdUJBQXNCO0VBQ3RCLGVBQXNDO0VBQ3RDLGtCRDBJZ0Q7RVk3S2hELDhCQUErRTtFQUMvRSxnQkFBZTtFQUNmLG1CQUFrQjtDakI0bEZuQjtBTW5sRkM7Ozs7Ozs7RUFDRSwwQkR5UnlDO0VDeFJ6Qyx1QkRtSzhDO0NMdzdFakQ7QU14bEZDOzs7O0VBQ0UsMkNBQTBDO0NONmxGN0M7QU0xbEZDOzs7O0VBQ0UsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsZ0JB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Ozs7Ozs7SUFPRTtDcEJxdEdIO0FNdDdGQzs7RUFFRSxpQkFBZ0I7RUFDaEIsZ0JBQWU7RUFDZixpQkFBZ0I7Q053N0ZuQjtBTWg3RkM7RUFDRSxlQUFjO0NOazdGakI7QW9CM3lHQztFQUNFLG1CQUFrQjtDcEI2eUdyQjtBTXB0R0c7RWN0R0o7SWR5UEUsZ0Jjck9zQjtJZHNPdEIsZWN0T3NCO0lBQ3BCLGVBQWM7R3BCMnlHZjtDQUNGO0FvQnh5R0M7RUFDRSxlQUFjO0NwQjB5R2pCO0FNOXRHRztFYzdFRjtJQUdJLGNBQWE7R3BCNHlHaEI7Q0FDRjtBb0J2eUdHO0VkNHNCRiw4QkQ3Vm1EO0VDOFZuRCxvQkFBc0k7RUFDdEksZ0JBQWU7RUFDZixpQkFBZ0I7RUFDaEIsZURwVjJDO0VDcVYzQyxxQ0RsVXVDO0VDbVV2QyxnQkRsV2dDO0VDbVdoQyxrQkRsV3VDO0VDbVd2QyxpQkRqV2lDO0VDa1dqQyxxQkFBb0I7RUFDcEIsbUJBQWtCO0VjcHRCZCxpQ0FBNEI7Q3BCbXpHakM7QU03bEZDO0VBN2dCQSxhRC9IMkI7RUMrb0J6QixnQkFBa0I7RUFDbEIsbUJBQWtCO0VBQ2xCLFNBQVE7RUFDUixTQUFRO0VBSVIsZ0NBQStCO0VBRS9CLDRCQUEyQjtDTjZsRjlCO0FNN3ZHRztFY2pFRTtJQUVJLGNBQWE7R3BCZzBHcEI7Q0FDRjtBb0IzekdDO0VkbVlBLHVCQUErQjtFYy9YN0IsY0FBYTtDcEIrekdoQjtBb0I3ekdZO0VBQ1AsZUFBYztDcEIrekduQjtBTTd3R0c7RWN6REY7SUFZSSxlQUFjO0dwQjh6R2pCO0NBQ0Y7QW9CenpHRztFQUNFLGFmZ1VxQztDTDIvRjFDO0FvQmx6R0M7RUFDRSxjQUEyRTtFQUMzRSxtQkFBa0I7Q3BCb3pHckI7QW9CbnlHQzs7RUFHRSxpQkFBZ0I7Q3BCb3lHbkI7QW9CaHlHQztFQUNFLFVBQVM7Q3BCa3lHWjs7QW9CN3hHQztFQUNFLGNBQWE7Q3BCZ3lHaEI7QW9CL3hHWTtFQUE0RCxlQUFjO0NwQmt5R3RGO0FvQmp5R1k7RUFBb0UsZUFBYztDcEJveUc5RjtBb0JseUdD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QjtHTnFtR2pDO0VNcG1HRDtJQUFtQixnQkFBZTtHTnVtR2pDO0VNdG1HRDtJQUFxQixZQUFXO0dOeW1HL0I7Q0FDRjtBTW4xSEc7RWlCWlE7SWpCa3ZCVixXQUFVO0dOaW5HVDtFTTduR0Q7SUFBbUIsYUFBWTtHTmdvRzlCO0VNL25HRDtJQUFtQixZQUFXO0dOa29HN0I7RU1ob0dEO0lBQW1CLGFBQVk7R05tb0c5QjtFTWxvR0Q7SUFBbUIsYUFBWTtHTnFvRzlCO0VNcG9HRDtJQUFtQixZQUFXO0dOdW9HN0I7RU1yb0dEO0lBQW1CLGFBQVk7R053b0c5QjtFTXZvR0Q7SUFBbUIsYUFBWTtHTjBvRzlCO0VNem9HRDtJQUFtQixhQUFZO0dONG9HOUI7RU0zb0dEO0lBQW1CLFlBQVc7R044b0c3QjtFTTNvR0Q7SUFBa0IsaUJBQWdCO0dOOG9HakM7RU03b0dEO0lBQW1CLGdCQUFlO0dOZ3BHakM7RU0vb0dEO0lBQXFCLFlBQVc7R05rcEcvQjtDQUNGO0FNNTNIRztFaUJaUTtJakJzd0JWLFdBQVU7R05zb0dUO0VNbnBHRDtJQUFrQixtQkFBa0I7R05zcEduQztFTXJwR0Q7SUFBbUIsa0JBQWlCO0dOd3BHbkM7RU12cEdEO0lBQW1CLFlBQVc7R04wcEc3QjtFTXhwR0Q7SUFBbUIsYUFBWTtHTjJwRzlCO0VNMXBHRDtJQUFtQixhQUFZO0dONnBHOUI7RU01cEdEO0lBQW1CLFlBQVc7R04rcEc3QjtFTTdwR0Q7SUFBbUIsYUFBWTtHTmdxRzlCO0VNL3BHRDtJQUFtQixhQUFZO0dOa3FHOUI7RU1qcUdEO0lBQW1CLGFBQVk7R05vcUc5QjtFTW5xR0Q7SUFBbUIsWUFBVztHTnNxRzdCO0VNbnFHRDtJQUFtQixhQUFZO0dOc3FHOUI7RU1ycUdEO0lBQ0UsWUFBVTtHTnVxR1g7RU1ycUdEO0lBQXFCLFlBQVc7R053cUcvQjtDQUNGO0FNeDZIRztFaUJEUTtJakJ1dUJWLFdBQVU7R05zc0dUO0VNbHRHRDtJQUFtQixhQUFZO0dOcXRHOUI7RU1wdEdEO0lBQW1CLFlBQVc7R051dEc3QjtFTXJ0R0Q7SUFBbUIsYUFBWTtHTnd0RzlCO0VNdnRHRDtJQUFtQixhQUFZO0dOMHRHOUI7RU16dEdEO0lBQW1CLFlBQVc7R040dEc3QjtFTTF0R0Q7SUFBbUIsYUFBWTtHTjZ0RzlCO0VNNXRHRDtJQUFtQixhQUFZO0dOK3RHOUI7RU05dEdEO0lBQW1CLGFBQVk7R05pdUc5QjtFTWh1R0Q7SUFBbUIsWUFBVztHTm11RzdCO0VNaHVHRDtJQUFrQixpQkFBZ0I7R05tdUdqQztFTWx1R0Q7SUFBbUIsZ0JBQWU7R05xdUdqQztFTXB1R0Q7SUFBcUIsWUFBVztHTnV1Ry9CO0NBQ0Y7QU1qOUhHO0VpQkRRO0lqQml4QlYsYUFBWTtHTnFzR1g7RU1qdEdEO0lBQWtCLG1CQUFrQjtHTm90R25DO0VNbnRHRDtJQUFtQixrQkFBaUI7R05zdEduQztFTXJ0R0Q7SUFBbUIsWUFBVztHTnd0RzdCO0VNdHRHRDtJQUFtQixhQUFZO0dOeXRHOUI7RU14dEdEO0lBQW1CLFlBQVc7R04ydEc3QjtFTXp0R0Q7SUFBbUIsYUFBWTtHTjR0RzlCO0VNM3RHRDtJQUFtQixhQUFZO0dOOHRHOUI7RU03dEdEO0lBQW1CLGFBQVk7R05ndUc5QjtFTS90R0Q7SUFBbUIsWUFBVztHTmt1RzdCO0VNL3RHRDtJQUFtQixrQkFBaUI7R05rdUduQztFTWp1R0Q7SUFBbUIsa0JBQWlCO0dOb3VHbkM7RU1udUdEO0lBQ0UsWUFBVTtHTnF1R1g7RU1udUdEO0lBQXFCLFlBQVc7R05zdUcvQjtDQUNGO0FNNy9IRztFaUJVUTtJakI0dEJWLFdBQVU7R04yeEdUO0VNdnlHRDtJQUFtQixhQUFZO0dOMHlHOUI7RU16eUdEO0lBQW1CLFlBQVc7R040eUc3QjtFTTF5R0Q7SUFBbUIsYUFBWTtHTjZ5RzlCO0VNNXlHRDtJQUFtQixhQUFZO0dOK3lHOUI7RU05eUdEO0lBQW1CLFlBQVc7R05pekc3QjtFTS95R0Q7SUFBbUIsYUFBWTtHTmt6RzlCO0VNanpHRDtJQUFtQixhQUFZO0dOb3pHOUI7RU1uekdEO0lBQW1CLGFBQVk7R05zekc5QjtFTXJ6R0Q7SUFBbUIsWUFBVztHTnd6RzdC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QjtFQUV6Qiw4QkFBZ0U7Q3pCNC9JdkU7QXlCei9JTztFQUNFLG9CcEI0WG1DO0VvQjNYbkMsWURyQnVCO0VDc0J2QiwwQnBCd1QyQjtDTG1zSXBDO0F5QnQvSU87RUFDRSxpQkQ1QnVCO0VDNkJ2QixlcEJ1WHdCO0VvQnRYeEIsc0JwQjRYK0I7Q0w0bkl4QztBeUJoL0lDO0VuQitNQSxpQm1COU11QjtFbkIrTXZCLGdCbUIvTXVCO0N6Qm0vSXhCO0FNeDlIQztFQUNFLG1CRHhONEI7Q0xrckkvQjtBTXg5SEc7RUFuS0YsdUJBQStCO0VBcUszQixnQkFBZTtFQUNmLG9CRHhMdUM7RUN5THZDLDRCQUFrRjtDTjg5SHZGO0FNNTlISztFQXpLSix1QkFBK0I7RUF4Ty9CLGlCQUFnQjtFQUNoQixlQUFjO0VBQ2QsZ0JEa0x3QjtFQ2pMeEIsa0JEa0xzQztFQ2pMdEMsbUJBQW9FO0VBQ3BFLFlrQi9MK0I7RWxCZ00vQixxQ2tCek02QjtFbEIyTTdCLG9CRDhLd0I7Q0xzc0l6QjtBTXYrSE87RUFBVyx1QmtCcGxCSztDeEI4akp2QjtBTXYrSFM7RUFDRSxhRGxPNEI7RUNtTzVCLG1CRGhPaUI7Q0x5c0k1QjtBTW4rSEs7RUFDRSxvQkR2TTBCO0VDd00xQiwwQkQ5UTZCO0NMbXZJcEM7QU1uK0hPO0VBQ0UsWWtCL2xCdUI7Q3hCb2tKaEM7QU1oK0hHO0VBQ0Usd0JBQXlGO0VBQ3pGLGlCQUFnQjtDTmsrSHJCO0FNaC9JRztFQTRnQkE7SUFNTSxhQUFZO0dOaytIbkI7Q0FDRjtBTTU5SEs7RUFDRSxvQkRwUmdDO0VDcVJoQyxzQkR6TmlDO0VDME5qQyxpQ0FBZ0M7Q044OUh2QztBTTU5SE87RUFDRSxZa0J2bkJ1QjtDeEJxbEpoQztBTTU5SFM7RUFDRSxhRHhRK0I7Q0xzdUkxQztBTXg5SE87RUFDRSxlQUFjO0NOMDlIdkI7O0F5QnRpSkQ7O0VBRUUsZUFBYztDekJ5aUpmO0FNeGdKRztFbUJuQ0o7O0lBSUksY0FBYTtHekI0aUpkO0NBQ0Y7O0EwQnhuSkQ7RUFDSSxtQkFBa0I7RUFDbEIsWUFBVztDMUIybkpk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Q2IsWW9CNUZnQztFcEIrRjlCLFVBQVM7RUFDVCxrQ0FBNkI7RUFBN0IsOEJBQTZCO0VvQi9GckIsY0FBb0I7RUFDcEIsb0JyQnNHNEI7RXFCckc1QixpQkFBZ0I7QzFCNm9KM0I7QTBCNW9KVztFQUNJLFlBQVc7RUFDWCxVQUFTO0MxQjhvSnhCO0EwQjdvSmU7RUFDSSxpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLGdCQUFlO0MxQitvSmxDO0EwQjlvSm1CO0VBQ0ksMEJBQXdCO0MxQmdwSi9DO0EwQi9vSnVCO0VBRUksMkJBQTBCO0MxQmdwSnJEO0EwQjFvSk87RUFDSSxlQUFjO0MxQjRvSnpCO0EwQnRvSk87RUFDSSxlckJnQ2E7Q0x3bUp4QjtBMEJyb0pPO0VBQ0ksZXJCNEJhO0NMMm1KeEI7QTBCcm9KVztFQUNJLGNuQnpPRDtDUGczSmQ7QTBCcG9KVztFQUNJLFlBQVc7QzFCc29KMUI7QTBCcG9KZTtFQUNJLFdBQVU7QzFCc29KN0I7QTBCam9KVztFQUNJLHVCQUFzQjtDMUJtb0pyQztBMEJsb0plO0VBQ0ksc0JBQXFCO0MxQm9vSnhDO0EwQjluSlc7RUFDSSxlbkIvUEQ7Q1ArM0pkO0EwQjduSlc7RUFDSSxZQUFXO0MxQituSjFCOztBMEJwbkpEO0VBRUksY0FBYTtFQUNiLG9CckI4RXlDO0NMd2lKNUM7QTBCcm5KRztFQUNJLGVBQWM7QzFCdW5KckI7QTBCdG5KTztFQUNJLGNBQWE7QzFCd25KeEI7QTBCcG5KTztFQUNJLGNBQWE7QzFCc25KeEI7QTBCcG5KTztFcEJtWk4sOEJEN1ZtRDtFQzhWbkQsb0JBQXNJO0VBQ3RJLGdCQUFlO0VBQ2YsaUJBQWdCO0VBQ2hCLGVEcFYyQztFQ3FWM0MscUNrQjl1QjZCO0VsQit1QjdCLGdCRGxXZ0M7RUNtV2hDLGtCRGxXdUM7RUNtV3ZDLGlCRGpXaUM7RUNrV2pDLHFCQUFvQjtFQUNwQixtQkFBa0I7Q05vdUluQjtBTWx1SUM7RUE3Z0JBLGFEL0gyQjtFQytvQnpCLGdCQUFrQjtFQUNsQixtQkFBa0I7RUFDbEIsU0FBUTtFQUNSLFNBQVE7RUFJUixn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LFlBQVc7RUFDWCxZQUFXO0VBQ1gsaUNBQTRCO0VBQTVCLDZCQUE0QjtFQUM1QixjQUFhO0M5QjAzS3BCO0FNcjJLRztFd0IxQkE7SUFPUSxlQUFjO0c5QjQzS3ZCO0NBQ0Y7QThCMTNLTztFeEJtS04sZ0J3QmxLNkI7RXhCbUs3Qixld0JuSzZCO0M5QjYzSzlCO0FNOTJLRztFd0JoQkk7SXhCbUtOLG1Cd0JoS29DO0l4QmlLcEMsa0J3QmpLb0M7RzlCZzRLbkM7Q0FDRjtBOEIzM0tPO0VBQ0ksbUJBQWtCO0VBQ2xCLGN6QmtLc0I7RXlCakt0Qiw2QkFBNEI7RUFDNUIsd0JBQXVCO0VBQ3ZCLHVCQUFzQjtDOUI2M0tqQztBOEI1M0tXO0VBQ0ksbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixRQUFPO0VBQ1AsbUJ6QnlKdUI7RXlCeEp2QixZQUFXO0M5QjgzSzFCO0FNbDRLRztFd0JEUTtJQU9RLG1CQUFvRDtHOUJnNEtyRTtDQUNGO0FNdjRLRztFd0JEUTtJQVdRLG1CQUFvRDtHOUJpNEtyRTtDQUNGO0E4QjkzS087RUFFSSxnQkFBa0I7RUFDbEIsbUJBQWtCO0VBQ2xCLFlOMUdxQjtDeEJ5K0toQztBTWo1S0c7RXdCY0k7SUFNUSxnQkFBa0I7SUFDbEIsV0FBVTtJQUNWLGVBQWM7RzlCaTRLM0I7Q0FDRjtBOEIvM0tXO0VBQ0ksZ0J6QnNIZTtFeUJySGYsWU5uSGlCO0VNb0hqQiwwQnpCd0g4QjtFeUJ2SDlCLG9CekJ3SGlCO0V5QnZIakIsa0J6Qm1Ic0I7RXlCbEh0QixxQ05oSWU7RU1pSWYsaUJ6Qm1IcUI7Q0w4d0twQztBOEIvM0tXO0VBQ0ksZ0JBQXdCO0VBQ3hCLDJCQUFrQztFQUNsQyw4QkFBcUM7RUFDckMscUNOdkllO0VNd0lmLGdCekJrSHFCO0V5QmpIckIsa0J6QmtINEI7RXlCakg1QixhQUFZO0VBQ1osZ0JBQWU7RUFDZixlQUFjO0M5Qmk0SzdCO0E4Qmg0S2U7RUFDSSxVQUFTO0M5Qms0SzVCO0E4QjczS0c7RXhCd1JGLHVCQUErQjtFd0J0UnpCLGNBQWE7RUFDYixpQkFBZ0I7QzlCbTRL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WDtBK0IxMUxPO0VBdENGLG9CMUJ5VG1CO0UwQnhUbkIsZTFCd1RtQjtDTDJrTHhCO0ErQjMxTFM7RUFDRSxtQkFBOEI7Qy9CNjFMekM7QStCajJMTztFQXRDRixvQjFCMFo0QjtFMEJ6WjVCLGUxQnlaNEI7Q0xpL0tqQztBK0JsMkxTO0VBQ0UsbUJBQThCO0MvQm8yTHpDO0ErQngyTE87RUF0Q0Ysb0IxQnNadUM7RTBCclp2QyxlMUJxWnVDO0NMNC9LNUM7QStCejJMUztFQUNFLG1CQUE4QjtDL0IyMkx6QztBK0IvMkxPO0VBdENGLG9CMUJ5WjJCO0UwQnhaM0IsZTFCd1oyQjtDTGdnTGhDO0ErQmgzTFM7RUFDRSxtQkFBOEI7Qy9CazNMekM7QStCdDNMTztFQXRDRixvQnhCT21CO0V3Qk5uQixleEJNbUI7Q1B5NUx4QjtBK0J2M0xTO0VBQ0UsbUJBQThCO0MvQnkzTHpDO0ErQjczTE87RUF0Q0Ysb0IxQm9Xa0M7RTBCbldsQyxlMUJtV2tDO0NMbWtMdkM7QStCOTNMUztFQUNFLG1CQUE4QjtDL0JnNEx6QztBK0JwNExPO0VBdENGLG9CMUJnYW1DO0UwQi9abkMsZTFCK1ptQztDTDhnTHhDO0ErQnI0TFM7RUFDRSxtQkFBOEI7Qy9CdTRMekM7QStCMzRMTztFQXRDRixvQnhCa0VNO0V3QmpFTixleEJpRU07Q1BtM0xYO0ErQjU0TFM7RUFDRSxtQkFBOEI7Qy9CODRMekM7QStCbDVMTztFQXRDRixvQnhCbUVNO0V3QmxFTixleEJrRU07Q1B5M0xYO0ErQm41TFM7RUFDRSxtQkFBOEI7Qy9CcTVMekM7QStCejVMTztFQXRDRixvQnhCb0VNO0V3Qm5FTixleEJtRU07Q1ArM0xYO0ErQjE1TFM7RUFDRSxtQkFBOEI7Qy9CNDVMekM7QStCaDZMTztFQXRDRixvQnhCcUVNO0V3QnBFTixleEJvRU07Q1BxNExYO0ErQmo2TFM7RUFDRSxtQkFBOEI7Qy9CbTZMekM7O0ErQnI0TEc7RUFDRSxvQ0FBd0Q7Qy9CdzRMN0Q7QStCajRMRztFQUNFLG9DQUF3RDtDL0JtNEw3RDtBK0I1M0xHO0VBQ0Usb0NBQXdEO0MvQjgzTDdEO0ErQnYzTEc7RUFDRSxvQ0FBd0Q7Qy9CeTNMN0Q7QStCbDNMRztFQUNFLG9DQUF3RDtDL0JvM0w3RDtBK0I3MkxHO0VBQ0Usb0NBQXdEO0MvQisyTDdEIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqIFxuICogSHRtbDUgUGxhY2Vob2xkZXIgUG9seWZpbGwgLSB2Mi4wLjkgLSAyMDE0LTAxLTIxIFxuICogd2ViOiBodHRwOi8vYmxvZy5naW5hZGVyLmRlL2Rldi9qcXVlcnkvSFRNTDUtcGxhY2Vob2xkZXItcG9seWZpbGwvIFxuICogaXNzdWVzOiBodHRwczovL2dpdGh1Yi5jb20vZ2luYWRlci9IVE1MNS1wbGFjZWhvbGRlci1wb2x5ZmlsbC9pc3N1ZXMgXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTQgRGlyayBHaW5hZGVyOyBMaWNlbnNlZCBNSVQsIEdQTCBcbiAqL1xuc3Bhbi5wbGFjZWhvbGRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGNvbG9yOiAjOTk5O1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgcGFkZGluZzogNHB4IDNweDtcbiAgei1pbmRleDogMTtcbiAgY3Vyc29yOiB0ZXh0O1xufVxuXG5zcGFuLnBsYWNlaG9sZGVyLWhpZGUtZXhjZXB0LXNjcmVlbnJlYWRlciB7XG4gIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbnNwYW4ucGxhY2Vob2xkZXItaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmxhYmVsLnZpc3VhbGx5aGlkZGVuLXdpdGgtcGxhY2Vob2xkZXIge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IC05OTllbTtcbn1cblxuLklkZW50aXR5LXNjcmVlbk5hbWUsIC50aW1lbGluZS1Ud2VldC1yZXR3ZWV0Q3JlZGl0IHtcbiAgY29sb3I6ICM1ZTY5NzEgIWltcG9ydGFudDtcbn1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4yIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gKiBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMiAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuXG4uZnNBY2NvcmRpb24uZnNQYW5lbEljb25CZWZvcmUgLmZzUGFuZWwuZnNTdGF0ZU9wZW4gPiBoZWFkZXIgaDI6OmJlZm9yZSxcbi5mc0FjY29yZGlvbi5mc1BhbmVsSWNvbkFmdGVyIC5mc1BhbmVsLmZzU3RhdGVPcGVuID4gaGVhZGVyIGgyOjphZnRlcixcbi5mc0FjY29yZGlvbi5mc1BhbmVsSWNvbkFmdGVyIC5mc1BhbmVsID4gaGVhZGVyIGgyOjphZnRlcixcbi5mc0FjY29yZGlvbi5mc1BhbmVsSWNvbkJlZm9yZSAuZnNQYW5lbCA+IGhlYWRlciBoMjo6YmVmb3JlLCAuZnNDYWxlbmRhck1vbnRoQnJvd3NlciAuZnNDYWxlbmRhclByZXZNb250aDpiZWZvcmUsIC5mc0NhbGVuZGFyTW9udGhCcm93c2VyIC5mc0NhbGVuZGFyTmV4dE1vbnRoOmJlZm9yZSwgI2ZzUGFnZUJvZHlXcmFwcGVyIC5uYXZpZ2F0aW9uLnRpZXIgPiBoZWFkZXIgLmZzRWxlbWVudFRpdGxlOmFmdGVyLCAjZnNNZW51IC5idXR0b24ub2ZmLWNhbnZhcy10cmlnZ2VyOmFmdGVyLCAubmF2aWdhdGlvbi5zb2NpYWwgYVtocmVmKj0nZmFjZWJvb2snXTphZnRlciwgLm5hdmlnYXRpb24uc29jaWFsIGFbaHJlZio9J2dvb2dsZSddOmFmdGVyLCAubmF2aWdhdGlvbi5zb2NpYWwgYVtocmVmKj0naW5zdGFncmFtJ106YWZ0ZXIsIC5uYXZpZ2F0aW9uLnNvY2lhbCBhW2hyZWYqPSdsaW5rZWRpbiddOmFmdGVyLCAubmF2aWdhdGlvbi5zb2NpYWwgYVtocmVmKj0nYmxvZyddOmFmdGVyLCAubmF2aWdhdGlvbi5zb2NpYWwgYVtocmVmKj0ndHdpdHRlciddOmFmdGVyLCAubmF2aWdhdGlvbi5zb2NpYWwgYVtocmVmKj0neW91dHViZSddOmFmdGVyLCBmb3JtLmdzYy1zZWFyY2gtYm94LXRvb2xzIHRkLmdzYy1zZWFyY2gtYnV0dG9uOmFmdGVyLCBmb3JtLmdzYy1zZWFyY2gtYm94LXRvb2xzIC5mc1NlYXJjaEVsZW1lbnRTZWFyY2hCdXR0b24uZnNTdHlsZVVwZGF0ZUJ1dHRvbjphZnRlciwgLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0uc2VhcmNoIGZvcm0gdGQuZ3NjLXNlYXJjaC1idXR0b246YWZ0ZXIsIC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtLnNlYXJjaCBmb3JtIC5mc1NlYXJjaEVsZW1lbnRTZWFyY2hCdXR0b24uZnNTdHlsZVVwZGF0ZUJ1dHRvbjphZnRlciwgLnN1Yi1uYXZpZ2F0aW9uID4gaGVhZGVyIC5mc0VsZW1lbnRIZWFkZXJDb250ZW50OmFmdGVyLCAuc2VhcmNoLXRyaWdnZXI6YWZ0ZXIsIC5ob21lIC5mc1BsYXllci5tYXN0aGVhZCAuZnNFbGVtZW50Q29udGVudDphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkljb01vb25cIjtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBmb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbi5mc0NhbGVuZGFyIC5mc1RpbWVSYW5nZTpiZWZvcmUsIC5mc0NhbGVuZGFyIC5mc0xvY2F0aW9uOmJlZm9yZSwgI2ZzTWVudSAubmF2aWdhdGlvbi5tYWluIHVsLmZzTmF2TGV2ZWwxIGxpIHNwYW4uc3ViLXRyaWdnZXI6YWZ0ZXIsICNmc01lbnUgLm5hdmlnYXRpb24udXRpbGl0eSB1bC5mc05hdkxldmVsMSBsaSBzcGFuLnN1Yi10cmlnZ2VyOmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBmb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZS1zcGluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cbi5kaXN0cmljdCAjZnNIZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDkwLCAxMzAsIDAsIDAuOSk7XG59XG4uZGlzdHJpY3QgI2ZzSGVhZGVyIC51dGlsaXRpZXMge1xuICBiYWNrZ3JvdW5kOiAjMTczODYyO1xufVxuLmRpc3RyaWN0ICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5kaXN0cmljdCAjZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHN2ZyB7XG4gIGZpbGw6IHdoaXRlO1xufVxuLmRpc3RyaWN0ICNmc0hlYWRlciAuYnJhbmRpbmcgPiAuZnNFbGVtZW50Q29udGVudCBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uZGlzdHJpY3QgI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gbmF2IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uZGlzdHJpY3QgI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gbmF2IHVsLmZzTmF2TGV2ZWwxID4gbGk6aG92ZXIgPiBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uZGlzdHJpY3QgYSB7XG4gIGNvbG9yOiAjNWE4MjAwO1xufVxuLmRpc3RyaWN0IC5mc0NhbGVuZGFyIC5mc0RhdGUge1xuICBib3JkZXItY29sb3I6ICM1YTgyMDA7XG59XG4uZGlzdHJpY3QgLmZzQ2FsZW5kYXIgLmZzRGF0ZSAuZnNEYXkge1xuICBjb2xvcjogIzVhODIwMDtcbn1cbi5kaXN0cmljdCAuZnNDYWxlbmRhciAuZnNUaW1lUmFuZ2U6YmVmb3JlIHtcbiAgY29sb3I6ICM1YTgyMDA7XG59XG4uZGlzdHJpY3QgLmZzQ2FsZW5kYXIgLmZzTG9jYXRpb246YmVmb3JlIHtcbiAgY29sb3I6ICM1YTgyMDA7XG59XG4uZGlzdHJpY3QgLmZzQ2FsZW5kYXIgLmZzVGl0bGUgYSB7XG4gIGNvbG9yOiAjNWE4MjAwO1xufVxuLmRpc3RyaWN0IC5mc1NsaWRlc2hvdyAuZnNQYWdlciBsaSB7XG4gIG1hcmdpbjogMCAxcHg7XG59XG4uZGlzdHJpY3QgLmZzU2xpZGVzaG93IC5mc1BhZ2VyIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgY29sb3I6ICM1YTgyMDA7XG59XG4uZGlzdHJpY3QuaG9tZSAuZnNUaXRsZSBhIHtcbiAgY29sb3I6ICM1YTgyMDA7XG59XG4uZGlzdHJpY3QuaG9tZSAuZnNDYWxlbmRhciAuZnNSZWFkTW9yZUxpbmsge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5kaXN0cmljdC5ob21lIC5mc0NhbGVuZGFyIC5mc1JlYWRNb3JlTGluazpob3ZlciwgLmRpc3RyaWN0LmhvbWUgLmZzQ2FsZW5kYXIgLmZzUmVhZE1vcmVMaW5rOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmRpc3RyaWN0LmhvbWUgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbiwgLmRpc3RyaWN0LmhvbWUgLnNsaWNrLWRvdHMgbGk6aG92ZXIgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzVhODIwMDtcbn1cbi5kaXN0cmljdCAucGxheUNvbnRyb2xzIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICM1YTgyMDA7XG59XG5cbi5zY2hvb2wxICNmc0hlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTU2LCAxMDksIDIsIDAuOSk7XG59XG4uc2Nob29sMSAjZnNIZWFkZXIgLnV0aWxpdGllcyB7XG4gIGJhY2tncm91bmQ6ICMxNzM4NjI7XG59XG4uc2Nob29sMSAjZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sMSAjZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHN2ZyB7XG4gIGZpbGw6IHdoaXRlO1xufVxuLnNjaG9vbDEgI2ZzSGVhZGVyIC5icmFuZGluZyA+IC5mc0VsZW1lbnRDb250ZW50IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2wxICNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIG5hdiB1bC5mc05hdkxldmVsMSA+IGxpID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDEgI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gbmF2IHVsLmZzTmF2TGV2ZWwxID4gbGk6aG92ZXIgPiBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sMSBhIHtcbiAgY29sb3I6ICM5QzZEMDI7XG59XG4uc2Nob29sMSAuZnNDYWxlbmRhciAuZnNEYXRlIHtcbiAgYm9yZGVyLWNvbG9yOiAjOUM2RDAyO1xufVxuLnNjaG9vbDEgLmZzQ2FsZW5kYXIgLmZzRGF0ZSAuZnNEYXkge1xuICBjb2xvcjogIzlDNkQwMjtcbn1cbi5zY2hvb2wxIC5mc0NhbGVuZGFyIC5mc1RpbWVSYW5nZTpiZWZvcmUge1xuICBjb2xvcjogIzlDNkQwMjtcbn1cbi5zY2hvb2wxIC5mc0NhbGVuZGFyIC5mc0xvY2F0aW9uOmJlZm9yZSB7XG4gIGNvbG9yOiAjOUM2RDAyO1xufVxuLnNjaG9vbDEgLmZzQ2FsZW5kYXIgLmZzVGl0bGUgYSB7XG4gIGNvbG9yOiAjOUM2RDAyO1xufVxuLnNjaG9vbDEgLmZzU2xpZGVzaG93IC5mc1BhZ2VyIGxpIHtcbiAgbWFyZ2luOiAwIDFweDtcbn1cbi5zY2hvb2wxIC5mc1NsaWRlc2hvdyAuZnNQYWdlciBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gIGNvbG9yOiAjOUM2RDAyO1xufVxuLnNjaG9vbDEuaG9tZSAuZnNUaXRsZSBhIHtcbiAgY29sb3I6ICM5QzZEMDI7XG59XG4uc2Nob29sMS5ob21lIC5mc0NhbGVuZGFyIC5mc1JlYWRNb3JlTGluayB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDEuaG9tZSAuZnNDYWxlbmRhciAuZnNSZWFkTW9yZUxpbms6aG92ZXIsIC5zY2hvb2wxLmhvbWUgLmZzQ2FsZW5kYXIgLmZzUmVhZE1vcmVMaW5rOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDEuaG9tZSAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uLCAuc2Nob29sMS5ob21lIC5zbGljay1kb3RzIGxpOmhvdmVyIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICM5QzZEMDI7XG59XG4uc2Nob29sMSAucGxheUNvbnRyb2xzIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICM5QzZEMDI7XG59XG5cbi5zY2hvb2wyICNmc0hlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTgsIDEyNywgMSwgMC45KTtcbn1cbi5zY2hvb2wyICNmc0hlYWRlciAudXRpbGl0aWVzIHtcbiAgYmFja2dyb3VuZDogIzE3Mzg2Mjtcbn1cbi5zY2hvb2wyICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2wyICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEgc3ZnIHtcbiAgZmlsbDogd2hpdGU7XG59XG4uc2Nob29sMiAjZnNIZWFkZXIgLmJyYW5kaW5nID4gLmZzRWxlbWVudENvbnRlbnQgYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDIgI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gbmF2IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sMiAjZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiBuYXYgdWwuZnNOYXZMZXZlbDEgPiBsaTpob3ZlciA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2wyIGEge1xuICBjb2xvcjogIzNhN2YwMTtcbn1cbi5zY2hvb2wyIC5mc0NhbGVuZGFyIC5mc0RhdGUge1xuICBib3JkZXItY29sb3I6ICMzYTdmMDE7XG59XG4uc2Nob29sMiAuZnNDYWxlbmRhciAuZnNEYXRlIC5mc0RheSB7XG4gIGNvbG9yOiAjM2E3ZjAxO1xufVxuLnNjaG9vbDIgLmZzQ2FsZW5kYXIgLmZzVGltZVJhbmdlOmJlZm9yZSB7XG4gIGNvbG9yOiAjM2E3ZjAxO1xufVxuLnNjaG9vbDIgLmZzQ2FsZW5kYXIgLmZzTG9jYXRpb246YmVmb3JlIHtcbiAgY29sb3I6ICMzYTdmMDE7XG59XG4uc2Nob29sMiAuZnNDYWxlbmRhciAuZnNUaXRsZSBhIHtcbiAgY29sb3I6ICMzYTdmMDE7XG59XG4uc2Nob29sMiAuZnNTbGlkZXNob3cgLmZzUGFnZXIgbGkge1xuICBtYXJnaW46IDAgMXB4O1xufVxuLnNjaG9vbDIgLmZzU2xpZGVzaG93IC5mc1BhZ2VyIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgY29sb3I6ICMzYTdmMDE7XG59XG4uc2Nob29sMi5ob21lIC5mc1RpdGxlIGEge1xuICBjb2xvcjogIzNhN2YwMTtcbn1cbi5zY2hvb2wyLmhvbWUgLmZzQ2FsZW5kYXIgLmZzUmVhZE1vcmVMaW5rIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sMi5ob21lIC5mc0NhbGVuZGFyIC5mc1JlYWRNb3JlTGluazpob3ZlciwgLnNjaG9vbDIuaG9tZSAuZnNDYWxlbmRhciAuZnNSZWFkTW9yZUxpbms6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sMi5ob21lIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b24sIC5zY2hvb2wyLmhvbWUgLnNsaWNrLWRvdHMgbGk6aG92ZXIgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzNhN2YwMTtcbn1cbi5zY2hvb2wyIC5wbGF5Q29udHJvbHMgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzNhN2YwMTtcbn1cblxuLnNjaG9vbDMgI2ZzSGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjYsIDUyLCA2NiwgMC45KTtcbn1cbi5zY2hvb2wzICNmc0hlYWRlciAudXRpbGl0aWVzIHtcbiAgYmFja2dyb3VuZDogIzE3Mzg2Mjtcbn1cbi5zY2hvb2wzICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2wzICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEgc3ZnIHtcbiAgZmlsbDogd2hpdGU7XG59XG4uc2Nob29sMyAjZnNIZWFkZXIgLmJyYW5kaW5nID4gLmZzRWxlbWVudENvbnRlbnQgYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDMgI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gbmF2IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sMyAjZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiBuYXYgdWwuZnNOYXZMZXZlbDEgPiBsaTpob3ZlciA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2wzIGEge1xuICBjb2xvcjogI2UyMzQ0Mjtcbn1cbi5zY2hvb2wzIC5mc0NhbGVuZGFyIC5mc0RhdGUge1xuICBib3JkZXItY29sb3I6ICNlMjM0NDI7XG59XG4uc2Nob29sMyAuZnNDYWxlbmRhciAuZnNEYXRlIC5mc0RheSB7XG4gIGNvbG9yOiAjZTIzNDQyO1xufVxuLnNjaG9vbDMgLmZzQ2FsZW5kYXIgLmZzVGltZVJhbmdlOmJlZm9yZSB7XG4gIGNvbG9yOiAjZTIzNDQyO1xufVxuLnNjaG9vbDMgLmZzQ2FsZW5kYXIgLmZzTG9jYXRpb246YmVmb3JlIHtcbiAgY29sb3I6ICNlMjM0NDI7XG59XG4uc2Nob29sMyAuZnNDYWxlbmRhciAuZnNUaXRsZSBhIHtcbiAgY29sb3I6ICNlMjM0NDI7XG59XG4uc2Nob29sMyAuZnNTbGlkZXNob3cgLmZzUGFnZXIgbGkge1xuICBtYXJnaW46IDAgMXB4O1xufVxuLnNjaG9vbDMgLmZzU2xpZGVzaG93IC5mc1BhZ2VyIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgY29sb3I6ICNlMjM0NDI7XG59XG4uc2Nob29sMy5ob21lIC5mc1RpdGxlIGEge1xuICBjb2xvcjogI2UyMzQ0Mjtcbn1cbi5zY2hvb2wzLmhvbWUgLmZzQ2FsZW5kYXIgLmZzUmVhZE1vcmVMaW5rIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sMy5ob21lIC5mc0NhbGVuZGFyIC5mc1JlYWRNb3JlTGluazpob3ZlciwgLnNjaG9vbDMuaG9tZSAuZnNDYWxlbmRhciAuZnNSZWFkTW9yZUxpbms6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sMy5ob21lIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b24sIC5zY2hvb2wzLmhvbWUgLnNsaWNrLWRvdHMgbGk6aG92ZXIgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI2UyMzQ0Mjtcbn1cbi5zY2hvb2wzIC5wbGF5Q29udHJvbHMgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI2UyMzQ0Mjtcbn1cblxuLnNjaG9vbDQgI2ZzSGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MCwgMTMzLCA0NiwgMC45KTtcbn1cbi5zY2hvb2w0ICNmc0hlYWRlciAudXRpbGl0aWVzIHtcbiAgYmFja2dyb3VuZDogIzE3Mzg2Mjtcbn1cbi5zY2hvb2w0ICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2w0ICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEgc3ZnIHtcbiAgZmlsbDogd2hpdGU7XG59XG4uc2Nob29sNCAjZnNIZWFkZXIgLmJyYW5kaW5nID4gLmZzRWxlbWVudENvbnRlbnQgYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDQgI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gbmF2IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sNCAjZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiBuYXYgdWwuZnNOYXZMZXZlbDEgPiBsaTpob3ZlciA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2w0IGEge1xuICBjb2xvcjogIzMyODUyRTtcbn1cbi5zY2hvb2w0IC5mc0NhbGVuZGFyIC5mc0RhdGUge1xuICBib3JkZXItY29sb3I6ICMzMjg1MkU7XG59XG4uc2Nob29sNCAuZnNDYWxlbmRhciAuZnNEYXRlIC5mc0RheSB7XG4gIGNvbG9yOiAjMzI4NTJFO1xufVxuLnNjaG9vbDQgLmZzQ2FsZW5kYXIgLmZzVGltZVJhbmdlOmJlZm9yZSB7XG4gIGNvbG9yOiAjMzI4NTJFO1xufVxuLnNjaG9vbDQgLmZzQ2FsZW5kYXIgLmZzTG9jYXRpb246YmVmb3JlIHtcbiAgY29sb3I6ICMzMjg1MkU7XG59XG4uc2Nob29sNCAuZnNDYWxlbmRhciAuZnNUaXRsZSBhIHtcbiAgY29sb3I6ICMzMjg1MkU7XG59XG4uc2Nob29sNCAuZnNTbGlkZXNob3cgLmZzUGFnZXIgbGkge1xuICBtYXJnaW46IDAgMXB4O1xufVxuLnNjaG9vbDQgLmZzU2xpZGVzaG93IC5mc1BhZ2VyIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgY29sb3I6ICMzMjg1MkU7XG59XG4uc2Nob29sNC5ob21lIC5mc1RpdGxlIGEge1xuICBjb2xvcjogIzMyODUyRTtcbn1cbi5zY2hvb2w0LmhvbWUgLmZzQ2FsZW5kYXIgLmZzUmVhZE1vcmVMaW5rIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sNC5ob21lIC5mc0NhbGVuZGFyIC5mc1JlYWRNb3JlTGluazpob3ZlciwgLnNjaG9vbDQuaG9tZSAuZnNDYWxlbmRhciAuZnNSZWFkTW9yZUxpbms6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sNC5ob21lIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b24sIC5zY2hvb2w0LmhvbWUgLnNsaWNrLWRvdHMgbGk6aG92ZXIgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzMyODUyRTtcbn1cbi5zY2hvb2w0IC5wbGF5Q29udHJvbHMgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzMyODUyRTtcbn1cblxuLnNjaG9vbDUgI2ZzSGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNiwgMTIwLCAxNTAsIDAuOSk7XG59XG4uc2Nob29sNSAjZnNIZWFkZXIgLnV0aWxpdGllcyB7XG4gIGJhY2tncm91bmQ6ICMxNzM4NjI7XG59XG4uc2Nob29sNSAjZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sNSAjZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHN2ZyB7XG4gIGZpbGw6IHdoaXRlO1xufVxuLnNjaG9vbDUgI2ZzSGVhZGVyIC5icmFuZGluZyA+IC5mc0VsZW1lbnRDb250ZW50IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2w1ICNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIG5hdiB1bC5mc05hdkxldmVsMSA+IGxpID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDUgI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gbmF2IHVsLmZzTmF2TGV2ZWwxID4gbGk6aG92ZXIgPiBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sNSBhIHtcbiAgY29sb3I6ICMxMDc4OTY7XG59XG4uc2Nob29sNSAuZnNDYWxlbmRhciAuZnNEYXRlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTA3ODk2O1xufVxuLnNjaG9vbDUgLmZzQ2FsZW5kYXIgLmZzRGF0ZSAuZnNEYXkge1xuICBjb2xvcjogIzEwNzg5Njtcbn1cbi5zY2hvb2w1IC5mc0NhbGVuZGFyIC5mc1RpbWVSYW5nZTpiZWZvcmUge1xuICBjb2xvcjogIzEwNzg5Njtcbn1cbi5zY2hvb2w1IC5mc0NhbGVuZGFyIC5mc0xvY2F0aW9uOmJlZm9yZSB7XG4gIGNvbG9yOiAjMTA3ODk2O1xufVxuLnNjaG9vbDUgLmZzQ2FsZW5kYXIgLmZzVGl0bGUgYSB7XG4gIGNvbG9yOiAjMTA3ODk2O1xufVxuLnNjaG9vbDUgLmZzU2xpZGVzaG93IC5mc1BhZ2VyIGxpIHtcbiAgbWFyZ2luOiAwIDFweDtcbn1cbi5zY2hvb2w1IC5mc1NsaWRlc2hvdyAuZnNQYWdlciBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gIGNvbG9yOiAjMTA3ODk2O1xufVxuLnNjaG9vbDUuaG9tZSAuZnNUaXRsZSBhIHtcbiAgY29sb3I6ICMxMDc4OTY7XG59XG4uc2Nob29sNS5ob21lIC5mc0NhbGVuZGFyIC5mc1JlYWRNb3JlTGluayB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDUuaG9tZSAuZnNDYWxlbmRhciAuZnNSZWFkTW9yZUxpbms6aG92ZXIsIC5zY2hvb2w1LmhvbWUgLmZzQ2FsZW5kYXIgLmZzUmVhZE1vcmVMaW5rOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDUuaG9tZSAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uLCAuc2Nob29sNS5ob21lIC5zbGljay1kb3RzIGxpOmhvdmVyIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICMxMDc4OTY7XG59XG4uc2Nob29sNSAucGxheUNvbnRyb2xzIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICMxMDc4OTY7XG59XG5cbi5zY2hvb2w2ICNmc0hlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIwLCAyMDMsIDEwNCwgMC45KTtcbn1cbi5zY2hvb2w2ICNmc0hlYWRlciAudXRpbGl0aWVzIHtcbiAgYmFja2dyb3VuZDogIzE3Mzg2Mjtcbn1cbi5zY2hvb2w2ICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2w2ICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEgc3ZnIHtcbiAgZmlsbDogd2hpdGU7XG59XG4uc2Nob29sNiAjZnNIZWFkZXIgLmJyYW5kaW5nID4gLmZzRWxlbWVudENvbnRlbnQgYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDYgI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gbmF2IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sNiAjZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiBuYXYgdWwuZnNOYXZMZXZlbDEgPiBsaTpob3ZlciA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2w2IGEge1xuICBjb2xvcjogI2RjY2I2ODtcbn1cbi5zY2hvb2w2IC5mc0NhbGVuZGFyIC5mc0RhdGUge1xuICBib3JkZXItY29sb3I6ICNkY2NiNjg7XG59XG4uc2Nob29sNiAuZnNDYWxlbmRhciAuZnNEYXRlIC5mc0RheSB7XG4gIGNvbG9yOiAjZGNjYjY4O1xufVxuLnNjaG9vbDYgLmZzQ2FsZW5kYXIgLmZzVGltZVJhbmdlOmJlZm9yZSB7XG4gIGNvbG9yOiAjZGNjYjY4O1xufVxuLnNjaG9vbDYgLmZzQ2FsZW5kYXIgLmZzTG9jYXRpb246YmVmb3JlIHtcbiAgY29sb3I6ICNkY2NiNjg7XG59XG4uc2Nob29sNiAuZnNDYWxlbmRhciAuZnNUaXRsZSBhIHtcbiAgY29sb3I6ICNkY2NiNjg7XG59XG4uc2Nob29sNiAuZnNTbGlkZXNob3cgLmZzUGFnZXIgbGkge1xuICBtYXJnaW46IDAgMXB4O1xufVxuLnNjaG9vbDYgLmZzU2xpZGVzaG93IC5mc1BhZ2VyIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgY29sb3I6ICNkY2NiNjg7XG59XG4uc2Nob29sNi5ob21lIC5mc1RpdGxlIGEge1xuICBjb2xvcjogI2RjY2I2ODtcbn1cbi5zY2hvb2w2LmhvbWUgLmZzQ2FsZW5kYXIgLmZzUmVhZE1vcmVMaW5rIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sNi5ob21lIC5mc0NhbGVuZGFyIC5mc1JlYWRNb3JlTGluazpob3ZlciwgLnNjaG9vbDYuaG9tZSAuZnNDYWxlbmRhciAuZnNSZWFkTW9yZUxpbms6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sNi5ob21lIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b24sIC5zY2hvb2w2LmhvbWUgLnNsaWNrLWRvdHMgbGk6aG92ZXIgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI2RjY2I2ODtcbn1cbi5zY2hvb2w2IC5wbGF5Q29udHJvbHMgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI2RjY2I2ODtcbn1cblxuLnNjaG9vbDcgI2ZzSGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MCwgMTMwLCAwLCAwLjkpO1xufVxuLnNjaG9vbDcgI2ZzSGVhZGVyIC51dGlsaXRpZXMge1xuICBiYWNrZ3JvdW5kOiAjMTczODYyO1xufVxuLnNjaG9vbDcgI2ZzSGVhZGVyIC51dGlsaXRpZXMgLm5hdmlnYXRpb24udXRpbGl0eSB1bC5mc05hdkxldmVsMSA+IGxpID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDcgI2ZzSGVhZGVyIC51dGlsaXRpZXMgLm5hdmlnYXRpb24udXRpbGl0eSB1bC5mc05hdkxldmVsMSA+IGxpID4gYSBzdmcge1xuICBmaWxsOiB3aGl0ZTtcbn1cbi5zY2hvb2w3ICNmc0hlYWRlciAuYnJhbmRpbmcgPiAuZnNFbGVtZW50Q29udGVudCBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sNyAjZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiBuYXYgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2w3ICNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIG5hdiB1bC5mc05hdkxldmVsMSA+IGxpOmhvdmVyID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDcgYSB7XG4gIGNvbG9yOiAjNWE4MjAwO1xufVxuLnNjaG9vbDcgLmZzQ2FsZW5kYXIgLmZzRGF0ZSB7XG4gIGJvcmRlci1jb2xvcjogIzVhODIwMDtcbn1cbi5zY2hvb2w3IC5mc0NhbGVuZGFyIC5mc0RhdGUgLmZzRGF5IHtcbiAgY29sb3I6ICM1YTgyMDA7XG59XG4uc2Nob29sNyAuZnNDYWxlbmRhciAuZnNUaW1lUmFuZ2U6YmVmb3JlIHtcbiAgY29sb3I6ICM1YTgyMDA7XG59XG4uc2Nob29sNyAuZnNDYWxlbmRhciAuZnNMb2NhdGlvbjpiZWZvcmUge1xuICBjb2xvcjogIzVhODIwMDtcbn1cbi5zY2hvb2w3IC5mc0NhbGVuZGFyIC5mc1RpdGxlIGEge1xuICBjb2xvcjogIzVhODIwMDtcbn1cbi5zY2hvb2w3IC5mc1NsaWRlc2hvdyAuZnNQYWdlciBsaSB7XG4gIG1hcmdpbjogMCAxcHg7XG59XG4uc2Nob29sNyAuZnNTbGlkZXNob3cgLmZzUGFnZXIgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICBjb2xvcjogIzVhODIwMDtcbn1cbi5zY2hvb2w3LmhvbWUgLmZzVGl0bGUgYSB7XG4gIGNvbG9yOiAjNWE4MjAwO1xufVxuLnNjaG9vbDcuaG9tZSAuZnNDYWxlbmRhciAuZnNSZWFkTW9yZUxpbmsge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2w3LmhvbWUgLmZzQ2FsZW5kYXIgLmZzUmVhZE1vcmVMaW5rOmhvdmVyLCAuc2Nob29sNy5ob21lIC5mc0NhbGVuZGFyIC5mc1JlYWRNb3JlTGluazpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2w3LmhvbWUgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbiwgLnNjaG9vbDcuaG9tZSAuc2xpY2stZG90cyBsaTpob3ZlciBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjNWE4MjAwO1xufVxuLnNjaG9vbDcgLnBsYXlDb250cm9scyBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjNWE4MjAwO1xufVxuXG4uc2Nob29sOCAjZnNIZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDkwLCAxMzAsIDAsIDAuOSk7XG59XG4uc2Nob29sOCAjZnNIZWFkZXIgLnV0aWxpdGllcyB7XG4gIGJhY2tncm91bmQ6ICMxNzM4NjI7XG59XG4uc2Nob29sOCAjZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sOCAjZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHN2ZyB7XG4gIGZpbGw6IHdoaXRlO1xufVxuLnNjaG9vbDggI2ZzSGVhZGVyIC5icmFuZGluZyA+IC5mc0VsZW1lbnRDb250ZW50IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2w4ICNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIG5hdiB1bC5mc05hdkxldmVsMSA+IGxpID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDggI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gbmF2IHVsLmZzTmF2TGV2ZWwxID4gbGk6aG92ZXIgPiBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sOCBhIHtcbiAgY29sb3I6ICM1YTgyMDA7XG59XG4uc2Nob29sOCAuZnNDYWxlbmRhciAuZnNEYXRlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNWE4MjAwO1xufVxuLnNjaG9vbDggLmZzQ2FsZW5kYXIgLmZzRGF0ZSAuZnNEYXkge1xuICBjb2xvcjogIzVhODIwMDtcbn1cbi5zY2hvb2w4IC5mc0NhbGVuZGFyIC5mc1RpbWVSYW5nZTpiZWZvcmUge1xuICBjb2xvcjogIzVhODIwMDtcbn1cbi5zY2hvb2w4IC5mc0NhbGVuZGFyIC5mc0xvY2F0aW9uOmJlZm9yZSB7XG4gIGNvbG9yOiAjNWE4MjAwO1xufVxuLnNjaG9vbDggLmZzQ2FsZW5kYXIgLmZzVGl0bGUgYSB7XG4gIGNvbG9yOiAjNWE4MjAwO1xufVxuLnNjaG9vbDggLmZzU2xpZGVzaG93IC5mc1BhZ2VyIGxpIHtcbiAgbWFyZ2luOiAwIDFweDtcbn1cbi5zY2hvb2w4IC5mc1NsaWRlc2hvdyAuZnNQYWdlciBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gIGNvbG9yOiAjNWE4MjAwO1xufVxuLnNjaG9vbDguaG9tZSAuZnNUaXRsZSBhIHtcbiAgY29sb3I6ICM1YTgyMDA7XG59XG4uc2Nob29sOC5ob21lIC5mc0NhbGVuZGFyIC5mc1JlYWRNb3JlTGluayB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDguaG9tZSAuZnNDYWxlbmRhciAuZnNSZWFkTW9yZUxpbms6aG92ZXIsIC5zY2hvb2w4LmhvbWUgLmZzQ2FsZW5kYXIgLmZzUmVhZE1vcmVMaW5rOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDguaG9tZSAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uLCAuc2Nob29sOC5ob21lIC5zbGljay1kb3RzIGxpOmhvdmVyIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICM1YTgyMDA7XG59XG4uc2Nob29sOCAucGxheUNvbnRyb2xzIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICM1YTgyMDA7XG59XG5cbi5zY2hvb2w5ICNmc0hlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTAsIDEzMCwgMCwgMC45KTtcbn1cbi5zY2hvb2w5ICNmc0hlYWRlciAudXRpbGl0aWVzIHtcbiAgYmFja2dyb3VuZDogIzYyNjk3MDtcbn1cbi5zY2hvb2w5ICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2w5ICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEgc3ZnIHtcbiAgZmlsbDogd2hpdGU7XG59XG4uc2Nob29sOSAjZnNIZWFkZXIgLmJyYW5kaW5nID4gLmZzRWxlbWVudENvbnRlbnQgYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDkgI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gbmF2IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sOSAjZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiBuYXYgdWwuZnNOYXZMZXZlbDEgPiBsaTpob3ZlciA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2w5IGEge1xuICBjb2xvcjogIzVhODIwMDtcbn1cbi5zY2hvb2w5IC5mc0NhbGVuZGFyIC5mc0RhdGUge1xuICBib3JkZXItY29sb3I6ICM1YTgyMDA7XG59XG4uc2Nob29sOSAuZnNDYWxlbmRhciAuZnNEYXRlIC5mc0RheSB7XG4gIGNvbG9yOiAjNWE4MjAwO1xufVxuLnNjaG9vbDkgLmZzQ2FsZW5kYXIgLmZzVGltZVJhbmdlOmJlZm9yZSB7XG4gIGNvbG9yOiAjNWE4MjAwO1xufVxuLnNjaG9vbDkgLmZzQ2FsZW5kYXIgLmZzTG9jYXRpb246YmVmb3JlIHtcbiAgY29sb3I6ICM1YTgyMDA7XG59XG4uc2Nob29sOSAuZnNDYWxlbmRhciAuZnNUaXRsZSBhIHtcbiAgY29sb3I6ICM1YTgyMDA7XG59XG4uc2Nob29sOSAuZnNTbGlkZXNob3cgLmZzUGFnZXIgbGkge1xuICBtYXJnaW46IDAgMXB4O1xufVxuLnNjaG9vbDkgLmZzU2xpZGVzaG93IC5mc1BhZ2VyIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgY29sb3I6ICM1YTgyMDA7XG59XG4uc2Nob29sOS5ob21lIC5mc1RpdGxlIGEge1xuICBjb2xvcjogIzVhODIwMDtcbn1cbi5zY2hvb2w5LmhvbWUgLmZzQ2FsZW5kYXIgLmZzUmVhZE1vcmVMaW5rIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sOS5ob21lIC5mc0NhbGVuZGFyIC5mc1JlYWRNb3JlTGluazpob3ZlciwgLnNjaG9vbDkuaG9tZSAuZnNDYWxlbmRhciAuZnNSZWFkTW9yZUxpbms6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sOS5ob21lIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b24sIC5zY2hvb2w5LmhvbWUgLnNsaWNrLWRvdHMgbGk6aG92ZXIgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzVhODIwMDtcbn1cbi5zY2hvb2w5IC5wbGF5Q29udHJvbHMgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzVhODIwMDtcbn1cblxuLnNjaG9vbDEwICNmc0hlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTAsIDEzMCwgMCwgMC45KTtcbn1cbi5zY2hvb2wxMCAjZnNIZWFkZXIgLnV0aWxpdGllcyB7XG4gIGJhY2tncm91bmQ6ICM2MjY5NzA7XG59XG4uc2Nob29sMTAgI2ZzSGVhZGVyIC51dGlsaXRpZXMgLm5hdmlnYXRpb24udXRpbGl0eSB1bC5mc05hdkxldmVsMSA+IGxpID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDEwICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEgc3ZnIHtcbiAgZmlsbDogd2hpdGU7XG59XG4uc2Nob29sMTAgI2ZzSGVhZGVyIC5icmFuZGluZyA+IC5mc0VsZW1lbnRDb250ZW50IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2wxMCAjZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiBuYXYgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2wxMCAjZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiBuYXYgdWwuZnNOYXZMZXZlbDEgPiBsaTpob3ZlciA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2wxMCBhIHtcbiAgY29sb3I6ICM1YTgyMDA7XG59XG4uc2Nob29sMTAgLmZzQ2FsZW5kYXIgLmZzRGF0ZSB7XG4gIGJvcmRlci1jb2xvcjogIzVhODIwMDtcbn1cbi5zY2hvb2wxMCAuZnNDYWxlbmRhciAuZnNEYXRlIC5mc0RheSB7XG4gIGNvbG9yOiAjNWE4MjAwO1xufVxuLnNjaG9vbDEwIC5mc0NhbGVuZGFyIC5mc1RpbWVSYW5nZTpiZWZvcmUge1xuICBjb2xvcjogIzVhODIwMDtcbn1cbi5zY2hvb2wxMCAuZnNDYWxlbmRhciAuZnNMb2NhdGlvbjpiZWZvcmUge1xuICBjb2xvcjogIzVhODIwMDtcbn1cbi5zY2hvb2wxMCAuZnNDYWxlbmRhciAuZnNUaXRsZSBhIHtcbiAgY29sb3I6ICM1YTgyMDA7XG59XG4uc2Nob29sMTAgLmZzU2xpZGVzaG93IC5mc1BhZ2VyIGxpIHtcbiAgbWFyZ2luOiAwIDFweDtcbn1cbi5zY2hvb2wxMCAuZnNTbGlkZXNob3cgLmZzUGFnZXIgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICBjb2xvcjogIzVhODIwMDtcbn1cbi5zY2hvb2wxMC5ob21lIC5mc1RpdGxlIGEge1xuICBjb2xvcjogIzVhODIwMDtcbn1cbi5zY2hvb2wxMC5ob21lIC5mc0NhbGVuZGFyIC5mc1JlYWRNb3JlTGluayB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDEwLmhvbWUgLmZzQ2FsZW5kYXIgLmZzUmVhZE1vcmVMaW5rOmhvdmVyLCAuc2Nob29sMTAuaG9tZSAuZnNDYWxlbmRhciAuZnNSZWFkTW9yZUxpbms6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sMTAuaG9tZSAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uLCAuc2Nob29sMTAuaG9tZSAuc2xpY2stZG90cyBsaTpob3ZlciBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjNWE4MjAwO1xufVxuLnNjaG9vbDEwIC5wbGF5Q29udHJvbHMgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzVhODIwMDtcbn1cblxuLnNjaG9vbDExICNmc0hlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTAsIDEzMCwgMCwgMC45KTtcbn1cbi5zY2hvb2wxMSAjZnNIZWFkZXIgLnV0aWxpdGllcyB7XG4gIGJhY2tncm91bmQ6ICM2MjY5NzA7XG59XG4uc2Nob29sMTEgI2ZzSGVhZGVyIC51dGlsaXRpZXMgLm5hdmlnYXRpb24udXRpbGl0eSB1bC5mc05hdkxldmVsMSA+IGxpID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDExICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEgc3ZnIHtcbiAgZmlsbDogd2hpdGU7XG59XG4uc2Nob29sMTEgI2ZzSGVhZGVyIC5icmFuZGluZyA+IC5mc0VsZW1lbnRDb250ZW50IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2wxMSAjZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiBuYXYgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2wxMSAjZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiBuYXYgdWwuZnNOYXZMZXZlbDEgPiBsaTpob3ZlciA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2wxMSBhIHtcbiAgY29sb3I6ICM1YTgyMDA7XG59XG4uc2Nob29sMTEgLmZzQ2FsZW5kYXIgLmZzRGF0ZSB7XG4gIGJvcmRlci1jb2xvcjogIzVhODIwMDtcbn1cbi5zY2hvb2wxMSAuZnNDYWxlbmRhciAuZnNEYXRlIC5mc0RheSB7XG4gIGNvbG9yOiAjNWE4MjAwO1xufVxuLnNjaG9vbDExIC5mc0NhbGVuZGFyIC5mc1RpbWVSYW5nZTpiZWZvcmUge1xuICBjb2xvcjogIzVhODIwMDtcbn1cbi5zY2hvb2wxMSAuZnNDYWxlbmRhciAuZnNMb2NhdGlvbjpiZWZvcmUge1xuICBjb2xvcjogIzVhODIwMDtcbn1cbi5zY2hvb2wxMSAuZnNDYWxlbmRhciAuZnNUaXRsZSBhIHtcbiAgY29sb3I6ICM1YTgyMDA7XG59XG4uc2Nob29sMTEgLmZzU2xpZGVzaG93IC5mc1BhZ2VyIGxpIHtcbiAgbWFyZ2luOiAwIDFweDtcbn1cbi5zY2hvb2wxMSAuZnNTbGlkZXNob3cgLmZzUGFnZXIgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICBjb2xvcjogIzVhODIwMDtcbn1cbi5zY2hvb2wxMS5ob21lIC5mc1RpdGxlIGEge1xuICBjb2xvcjogIzVhODIwMDtcbn1cbi5zY2hvb2wxMS5ob21lIC5mc0NhbGVuZGFyIC5mc1JlYWRNb3JlTGluayB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDExLmhvbWUgLmZzQ2FsZW5kYXIgLmZzUmVhZE1vcmVMaW5rOmhvdmVyLCAuc2Nob29sMTEuaG9tZSAuZnNDYWxlbmRhciAuZnNSZWFkTW9yZUxpbms6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sMTEuaG9tZSAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uLCAuc2Nob29sMTEuaG9tZSAuc2xpY2stZG90cyBsaTpob3ZlciBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjNWE4MjAwO1xufVxuLnNjaG9vbDExIC5wbGF5Q29udHJvbHMgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzVhODIwMDtcbn1cblxuLnNjaG9vbDIxICNmc0hlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDUsIDEyMCwgMTc0LCAwLjkpO1xufVxuLnNjaG9vbDIxICNmc0hlYWRlciAudXRpbGl0aWVzIHtcbiAgYmFja2dyb3VuZDogI0ZFRTcwMDtcbn1cbi5zY2hvb2wyMSAjZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sMjEgI2ZzSGVhZGVyIC51dGlsaXRpZXMgLm5hdmlnYXRpb24udXRpbGl0eSB1bC5mc05hdkxldmVsMSA+IGxpID4gYSBzdmcge1xuICBmaWxsOiB3aGl0ZTtcbn1cbi5zY2hvb2wyMSAjZnNIZWFkZXIgLmJyYW5kaW5nID4gLmZzRWxlbWVudENvbnRlbnQgYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDIxICNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIG5hdiB1bC5mc05hdkxldmVsMSA+IGxpID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDIxICNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIG5hdiB1bC5mc05hdkxldmVsMSA+IGxpOmhvdmVyID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNjaG9vbDIxIGEge1xuICBjb2xvcjogIzJkNzhhZTtcbn1cbi5zY2hvb2wyMSAuZnNDYWxlbmRhciAuZnNEYXRlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMmQ3OGFlO1xufVxuLnNjaG9vbDIxIC5mc0NhbGVuZGFyIC5mc0RhdGUgLmZzRGF5IHtcbiAgY29sb3I6ICMyZDc4YWU7XG59XG4uc2Nob29sMjEgLmZzQ2FsZW5kYXIgLmZzVGltZVJhbmdlOmJlZm9yZSB7XG4gIGNvbG9yOiAjMmQ3OGFlO1xufVxuLnNjaG9vbDIxIC5mc0NhbGVuZGFyIC5mc0xvY2F0aW9uOmJlZm9yZSB7XG4gIGNvbG9yOiAjMmQ3OGFlO1xufVxuLnNjaG9vbDIxIC5mc0NhbGVuZGFyIC5mc1RpdGxlIGEge1xuICBjb2xvcjogIzJkNzhhZTtcbn1cbi5zY2hvb2wyMSAuZnNTbGlkZXNob3cgLmZzUGFnZXIgbGkge1xuICBtYXJnaW46IDAgMXB4O1xufVxuLnNjaG9vbDIxIC5mc1NsaWRlc2hvdyAuZnNQYWdlciBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gIGNvbG9yOiAjMmQ3OGFlO1xufVxuLnNjaG9vbDIxLmhvbWUgLmZzVGl0bGUgYSB7XG4gIGNvbG9yOiAjMmQ3OGFlO1xufVxuLnNjaG9vbDIxLmhvbWUgLmZzQ2FsZW5kYXIgLmZzUmVhZE1vcmVMaW5rIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2Nob29sMjEuaG9tZSAuZnNDYWxlbmRhciAuZnNSZWFkTW9yZUxpbms6aG92ZXIsIC5zY2hvb2wyMS5ob21lIC5mc0NhbGVuZGFyIC5mc1JlYWRNb3JlTGluazpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zY2hvb2wyMS5ob21lIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b24sIC5zY2hvb2wyMS5ob21lIC5zbGljay1kb3RzIGxpOmhvdmVyIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICMyZDc4YWU7XG59XG4uc2Nob29sMjEgLnBsYXlDb250cm9scyBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjMmQ3OGFlO1xufVxuXG4uZGlzdHJpY3QgI2ZzSGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVhODIwMDtcbn1cblxuI2ZzTWVudSAubmF2aWdhdGlvbi5tYWluIHVsLmZzTmF2TGV2ZWwxIGxpLmZzTmF2Q3VycmVudFBhZ2UgPiBhLCAjZnNNZW51IC5uYXZpZ2F0aW9uLm1haW4gdWwuZnNOYXZMZXZlbDEgbGkuZnNOYXZDdXJyZW50UGFnZUFuY2VzdG9yID4gYSB7XG4gIGNvbG9yOiAjN2NiMTAxO1xufVxuXG4uc2Nob29sNCAjZnNIZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUwLCAxMzMsIDQ2LCAwLjk3KTtcbn1cblxuLnNjaG9vbDUgI2ZzSGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNiwgMTIwLCAxNTAsIDAuOTcpO1xufVxuXG4vKiEgc3RydWN0dXJlIC0gbGF5b3V0cyB2MC4wLjEgKi9cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBiYWNrZ3JvdW5kOiAjNjI2OTcwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuaHRtbDpub3QoLmZzQ29tcG9zZXJGb3JtRW1iZWQpLmpzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmJvZHkge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNWY1ZjVmO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMi4zNzVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTA1MjYzMTU3OTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBjb2xvcjogIzE3Mzg2MjtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAxLjc1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgY29sb3I6ICM1YTgyMDA7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuaDMsICNmc0Zvb3RlciA+IC5mc0Jhbm5lciBoZWFkZXIgLmZzRWxlbWVudFRpdGxlLCAuaDMge1xuICBmb250LXNpemU6IDEuNWVtO1xuICBsaW5lLWhlaWdodDogMS4xNjY2NjY2NjY3O1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGNvbG9yOiAjMTczODYyO1xuICBmb250LWZhbWlseTogXCJvcGVuLXNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG5oNCwgLmZzQ2FsZW5kYXIgPiBoZWFkZXIgLmZzRWxlbWVudFRpdGxlLCAuY29udGVudC1ibG9jayA+IGhlYWRlciAuZnNFbGVtZW50VGl0bGUsIC5mc05ld3MgPiBoZWFkZXIgLmZzRWxlbWVudFRpdGxlLCAuaDQge1xuICBmb250LXNpemU6IDEuMzc1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE4MTgxODE4MTg7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgY29sb3I6ICM1YTgyMDA7XG4gIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbmg1LCAuaDUge1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgY29sb3I6ICM1ZjVmNWY7XG4gIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmg2LCAuaDYge1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBjb2xvcjogIzVmNWY1ZjtcbiAgZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjNzLCBjb2xvciAuM3M7XG59XG5hOmhvdmVyIHtcbiAgY29sb3I6ICM1YTgyMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG51bCxcbm9sIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uZnNfc3R5bGVfMTEsXG50YWJsZS5zdHlsZWQsIC5mc19zdHlsZV8xMixcbnRhYmxlLnN0eWxlZC5oZWFkZXItcm93IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuLmZzX3N0eWxlXzExIHRyOmZpcnN0LWNoaWxkIHRoLFxudGFibGUuc3R5bGVkIHRyOmZpcnN0LWNoaWxkIHRoLCAuZnNfc3R5bGVfMTIgdHI6Zmlyc3QtY2hpbGQgdGgsIC5mc19zdHlsZV8xMSB0cjpmaXJzdC1jaGlsZCB0ZCxcbnRhYmxlLnN0eWxlZCB0cjpmaXJzdC1jaGlsZCB0ZCwgLmZzX3N0eWxlXzEyIHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgYm9yZGVyLXRvcDogMHB4IHNvbGlkICNiZWJlYmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uZnNfc3R5bGVfMTEgdHI6bGFzdC1jaGlsZCxcbnRhYmxlLnN0eWxlZCB0cjpsYXN0LWNoaWxkLCAuZnNfc3R5bGVfMTIgdHI6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IDBweCBzb2xpZCAjYmViZWJlO1xufVxuLmZzX3N0eWxlXzExIHRyOmxhc3QtY2hpbGQgdGgsXG50YWJsZS5zdHlsZWQgdHI6bGFzdC1jaGlsZCB0aCwgLmZzX3N0eWxlXzEyIHRyOmxhc3QtY2hpbGQgdGgsIC5mc19zdHlsZV8xMSB0cjpsYXN0LWNoaWxkIHRkLFxudGFibGUuc3R5bGVkIHRyOmxhc3QtY2hpbGQgdGQsIC5mc19zdHlsZV8xMiB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5mc19zdHlsZV8xMSB0aCxcbnRhYmxlLnN0eWxlZCB0aCwgLmZzX3N0eWxlXzEyIHRoLFxudGFibGUuc3R5bGVkLmhlYWRlci1yb3cgdGgsXG4uZnNfc3R5bGVfMTEgdGQsXG50YWJsZS5zdHlsZWQgdGQsXG4uZnNfc3R5bGVfMTIgdGQsXG50YWJsZS5zdHlsZWQuaGVhZGVyLXJvdyB0ZCB7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uZnNfc3R5bGVfMTEgdGg6Zmlyc3QtY2hpbGQsXG50YWJsZS5zdHlsZWQgdGg6Zmlyc3QtY2hpbGQsIC5mc19zdHlsZV8xMiB0aDpmaXJzdC1jaGlsZCxcbi5mc19zdHlsZV8xMSB0ZDpmaXJzdC1jaGlsZCxcbnRhYmxlLnN0eWxlZCB0ZDpmaXJzdC1jaGlsZCxcbi5mc19zdHlsZV8xMiB0ZDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAwcHggc29saWQgI2JlYmViZTtcbn1cbi5mc19zdHlsZV8xMSB0aDpsYXN0LWNoaWxkLFxudGFibGUuc3R5bGVkIHRoOmxhc3QtY2hpbGQsIC5mc19zdHlsZV8xMiB0aDpsYXN0LWNoaWxkLFxuLmZzX3N0eWxlXzExIHRkOmxhc3QtY2hpbGQsXG50YWJsZS5zdHlsZWQgdGQ6bGFzdC1jaGlsZCxcbi5mc19zdHlsZV8xMiB0ZDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwcHggc29saWQgI2JlYmViZTtcbn1cbi5mc19zdHlsZV8xMSB0aCxcbnRhYmxlLnN0eWxlZCB0aCwgLmZzX3N0eWxlXzEyIHRoLFxudGFibGUuc3R5bGVkLmhlYWRlci1yb3cgdGgge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLmZzX3N0eWxlXzExIHRyOm50aC1vZi10eXBlKG9kZCkgdGQsXG50YWJsZS5zdHlsZWQgdHI6bnRoLW9mLXR5cGUob2RkKSB0ZCwgLmZzX3N0eWxlXzEyIHRyOm50aC1vZi10eXBlKG9kZCkgdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xufVxuXG4uZnNfc3R5bGVfMTIgPiB0cjpmaXJzdC1jaGlsZCB0ZCwgLmZzX3N0eWxlXzEyID4gdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQsXG50YWJsZS5zdHlsZWQuaGVhZGVyLXJvdyA+IHRyOmZpcnN0LWNoaWxkIHRkLFxudGFibGUuc3R5bGVkLmhlYWRlci1yb3cgPiB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gIHBhZGRpbmc6IDEycHggMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3Mzg2MjtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGJvcmRlcjogMHB4IHNvbGlkICMxNzM4NjI7XG59XG5cbmltZyxcbmNhbnZhcyxcbnZpZGVvLFxuc3ZnIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmlmcmFtZSB7XG4gIGJvcmRlcjogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uZnNfc3R5bGVfMSxcbmJsb2NrcXVvdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDQwcHggMDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMTczODYyO1xuICBmb250LWZhbWlseTogXCJvcGVuLXNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICM1YTgyMDA7XG59XG4uZnNfc3R5bGVfMTpiZWZvcmUsXG5ibG9ja3F1b3RlOmJlZm9yZSB7XG4gIC8qXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMUMnO1xuICAqL1xufVxuLmZzX3N0eWxlXzEgY2l0ZSxcbi5mc19zdHlsZV8xIGVtLFxuYmxvY2txdW90ZSBjaXRlLFxuYmxvY2txdW90ZSBlbSB7XG4gIGNvbG9yOiAjMzMzO1xuICBmb250LXNpemU6IC45ZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uZnNfc3R5bGVfMSBjaXRlOmJlZm9yZSxcbi5mc19zdHlsZV8xIGVtOmJlZm9yZSxcbmJsb2NrcXVvdGUgY2l0ZTpiZWZvcmUsXG5ibG9ja3F1b3RlIGVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICctICc7XG59XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAyMHB4IDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM1YTgyMDA7XG4gIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJY29Nb29uXCI7XG4gIHNyYzogdXJsKFwiL3VwbG9hZGVkL3RoZW1lcy9idWlsZC9mb250cy8vaWNvbW9vbi9hc3Blbi5lb3Q/MTE0NmFzcGVuXCIpO1xuICBzcmM6IHVybChcIi91cGxvYWRlZC90aGVtZXMvYnVpbGQvZm9udHMvL2ljb21vb24vYXNwZW4uZW90PyNpZWZpeD8xMTQ2YXNwZW5cIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi91cGxvYWRlZC90aGVtZXMvYnVpbGQvZm9udHMvL2ljb21vb24vYXNwZW4ud29mZjI/MTE0NmFzcGVuXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIvdXBsb2FkZWQvdGhlbWVzL2J1aWxkL2ZvbnRzLy9pY29tb29uL2FzcGVuLnR0Zj8xMTQ2YXNwZW5cIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi91cGxvYWRlZC90aGVtZXMvYnVpbGQvZm9udHMvL2ljb21vb24vYXNwZW4ud29mZj8xMTQ2YXNwZW5cIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL3VwbG9hZGVkL3RoZW1lcy9idWlsZC9mb250cy8vaWNvbW9vbi9hc3Blbi5zdmc/MTE0NiNhc3BlblwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbltjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gIGZvbnQtZmFtaWx5OiBcIkljb01vb25cIjtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uaWNvbi1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GnXCI7XG59XG5cbi5pY29uLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GoXCI7XG59XG5cbi5pY29uLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CNXCI7XG59XG5cbi5pY29uLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Bk1wiO1xufVxuXG4uaWNvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GUXCI7XG59XG5cbi5pY29uLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgbdcIjtcbn1cblxuLmljb24tY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74G4XCI7XG59XG5cbi5pY29uLWFuZ2xlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhIRcIjtcbn1cblxuLmljb24tYW5nbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhIVcIjtcbn1cblxuLmljb24tYW5nbGUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhIZcIjtcbn1cblxuLmljb24tYW5nbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Eh1wiO1xufVxuXG4uaWNvbi1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CmlwiO1xufVxuXG4uaWNvbi10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KZXCI7XG59XG5cbi5pY29uLWxpbmtlZGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OhXCI7XG59XG5cbi5pY29uLXlvdXR1YmUtcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FqlwiO1xufVxuXG4uaWNvbi1mZWVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KeXCI7XG59XG5cbi5pY29uLWdvb2dsZS1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OVXCI7XG59XG5cbi5pY29uLWluc3RhZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FrVwiO1xufVxuXG4uaWNvbi1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIJcIjtcbn1cblxuLmljb24tYmFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DiVwiO1xufVxuXG4uaWNvbi1zcGlubmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SQXCI7XG59XG5cbiNmc1BhZ2VCb2R5V3JhcHBlciB7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmhhcy10aWVyLW5hdmlnYXRpb24gI2ZzUGFnZUJvZHlXcmFwcGVyIHtcbiAgcGFkZGluZy10b3A6IDBweDtcbiAgcGFkZGluZy1ib3R0b206IDBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAuaGFzLXRpZXItbmF2aWdhdGlvbiAjZnNQYWdlQm9keVdyYXBwZXIge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG59XG5cbiNmc1BhZ2VCb2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDExNDZweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLmhvbWUgI2ZzUGFnZUJvZHkge1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbiNmc1BhZ2VCb2R5IC5mc0NvbnRlbnQgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4jZnNCYW5uZXJMZWZ0IHtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICB3aWR0aDogYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAjZnNCYW5uZXJMZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gICNmc0Jhbm5lckxlZnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDMxLjQyODU3MTQyODYlO1xuICB9XG4gIC5mc092ZXJyaWRlTGVmdEJhbm5lciAjZnNCYW5uZXJMZWZ0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAjZnNCYW5uZXJMZWZ0IHtcbiAgICB3aWR0aDogMzAuNTQxMDEyMjE2NCU7XG4gIH1cbn1cblxuLmZzQmFubmVyTGVmdC5tb2JpbGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAuZnNCYW5uZXJMZWZ0Lm1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4jZnNQYWdlQ29udGVudCB7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgI2ZzUGFnZUNvbnRlbnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmZzSGFzUmlnaHRCYW5uZXIgI2ZzUGFnZUNvbnRlbnQge1xuICAgIHdpZHRoOiA3MC44NTUxNDgzNDIxJSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmZzSGFzTGVmdEJhbm5lciAjZnNQYWdlQ29udGVudCB7XG4gICAgd2lkdGg6IDY4LjU3MTQyODU3MTQlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAuZnNIYXNMZWZ0QmFubmVyLmZzT3ZlcnJpZGVMZWZ0QmFubmVyICNmc1BhZ2VDb250ZW50IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG4uZnNIYXNMZWZ0QmFubmVyLmZzSGFzUmlnaHRCYW5uZXIgI2ZzUGFnZUNvbnRlbnQge1xuICB6b29tOiAxO1xufVxuLmZzSGFzTGVmdEJhbm5lci5mc0hhc1JpZ2h0QmFubmVyICNmc1BhZ2VDb250ZW50OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiAnJztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAuZnNIYXNMZWZ0QmFubmVyLmZzSGFzUmlnaHRCYW5uZXIgI2ZzUGFnZUNvbnRlbnQge1xuICAgIHdpZHRoOiA2OC41NzE0Mjg1NzE0JSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmZzSGFzTGVmdEJhbm5lci5mc0hhc1JpZ2h0QmFubmVyICNmc1BhZ2VDb250ZW50IHtcbiAgICB3aWR0aDogNDAuMzE0MTM2MTI1NyUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5mc092ZXJyaWRlTGVmdEJhbm5lciAuZnNIYXNMZWZ0QmFubmVyLmZzSGFzUmlnaHRCYW5uZXIuZnNPdmVycmlkZUxlZnRCYW5uZXIgI2ZzUGFnZUNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuI2ZzQmFubmVyUmlnaHQge1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgI2ZzQmFubmVyUmlnaHQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgI2ZzQmFubmVyUmlnaHQge1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICB3aWR0aDogMjkuMTQ0ODUxNjU3OSU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAuZnNIYXNMZWZ0QmFubmVyICNmc0Jhbm5lclJpZ2h0IHtcbiAgICB3aWR0aDogNjguNTcxNDI4NTcxNCU7XG4gICAgbWFyZ2luLWxlZnQ6IDMxLjQyODU3MTQyODYlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5mc0hhc0xlZnRCYW5uZXIgI2ZzQmFubmVyUmlnaHQge1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICB3aWR0aDogMjkuMTQ0ODUxNjU3OSU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmZzSGFzTGVmdEJhbm5lci5mc092ZXJyaWRlTGVmdEJhbm5lciAjZnNCYW5uZXJSaWdodCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmZzTGF5b3V0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgfVxufVxuLmZzTGF5b3V0IC5mc0RpdiB7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAuZnNMYXlvdXQgLmZzRGl2IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5mc0xheW91dCAuZnNEaXYge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAuZnNUd29Db2x1bW5MYXlvdXQgLmZzRGl2IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAuZnNUaHJlZUNvbHVtbkxheW91dCAuZnNEaXYge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmZzRm91ckNvbHVtbkxheW91dCAuZnNEaXYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzgwcHgpIHtcbiAgLmZzRm91ckNvbHVtbkxheW91dCAuZnNEaXYge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbn1cblxuLmZzTGF5b3V0IC5mc1N0eWxlVHdvVGhpcmRzIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM4MHB4KSB7XG4gIC5mc0xheW91dCAuZnNTdHlsZVR3b1RoaXJkcyB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG59XG4uZnNMYXlvdXQgLmZzU3R5bGVPbmVUaGlyZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEzODBweCkge1xuICAuZnNMYXlvdXQgLmZzU3R5bGVPbmVUaGlyZCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi8qISBlbGVtZW50cyAtIGNvbnN0aXR1ZW50IG1haW4gKi9cbi8qISBlbGVtZW50cyAtIGNvbnN0aXR1ZW50IHNlYXJjaCAqL1xuLmZzQ29uc3RpdHVlbnQuZnNTZWFyY2gge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2RkZGVkZjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAuZnNDb25zdGl0dWVudC5mc1NlYXJjaCA+IC5mc0VsZW1lbnRDb250ZW50IHtcbiAgICBtYXJnaW46IDAgLTEwcHg7XG4gIH1cbn1cbi5mc0NvbnN0aXR1ZW50LmZzU2VhcmNoIGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAuZnNDb25zdGl0dWVudC5mc1NlYXJjaCBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgd2lkdGg6IDQ5LjUlO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5mc0NvbnN0aXR1ZW50LmZzU2VhcmNoIGxhYmVsIHtcbiAgICB3aWR0aDogMzIuODMzMzMzMzMzMyU7XG4gIH1cbn1cbi5mc0NvbnN0aXR1ZW50LmZzU2VhcmNoIGlucHV0LFxuLmZzQ29uc3RpdHVlbnQuZnNTZWFyY2ggc2VsZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmZzQ29uc3RpdHVlbnQuZnNTZWFyY2ggW3R5cGUqPSdzdWJtaXQnXSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5mc0NvbnN0aXR1ZW50LmZzU2VhcmNoIFt0eXBlKj0nc3VibWl0J10ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNWVtO1xuICB9XG59XG4uZnNDb25zdGl0dWVudC5mc1NlYXJjaCAuZnNDb25zdGl0dWVudFNlYXJjaEJ1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDEycHggMjBweDtcbiAgYmFja2dyb3VuZDogIzVmNWY1ZjtcbiAgY29sb3I6ICNmZmY7XG4gIG91dGxpbmU6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4O1xufVxuLmZzQ29uc3RpdHVlbnQuZnNTZWFyY2ggLmZzQ29uc3RpdHVlbnRTZWFyY2hCdXR0b246aG92ZXIsIC5mc0NvbnN0aXR1ZW50LmZzU2VhcmNoIC5mc0NvbnN0aXR1ZW50U2VhcmNoQnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhmOGY4ZjtcbiAgY29sb3I6ICMwMDA7XG59XG4uZnNDb25zdGl0dWVudC5mc1NlYXJjaCAuZnNDb25zdGl0dWVudFNlYXJjaEJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IC13ZWJraXQtZm9jdXMtcmluZy1jb2xvciBhdXRvIDFweDtcbn1cbi5mc0NvbnN0aXR1ZW50LmZzU2VhcmNoIC5mc0NvbnN0aXR1ZW50U2VhcmNoQnV0dG9uIGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMS4xO1xufVxuLmZzQ29uc3RpdHVlbnQgLmZzRWxlbWVudFBhZ2luYXRpb24ge1xuICBtYXJnaW46IDIwcHggMDtcbn1cblxuLyohIGVsZW1lbnRzIC0gY29uc3RpdHVlbnQgcHJvZmlsZSAqL1xuLmZzQ29uc3RpdHVlbnRQcm9maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmZzQ29uc3RpdHVlbnRQcm9maWxlIC5mc1Byb2ZpbGVJbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLmZzQ29uc3RpdHVlbnRQcm9maWxlIC5mc0Z1bGxOYW1lIHtcbiAgY29sb3I6ICM1YTgyMDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmZzQ29uc3RpdHVlbnRQcm9maWxlLmZzSGFzUGhvdG8gPiBkaXYsIC5mc0NvbnN0aXR1ZW50UHJvZmlsZS5mc0hhc1Bob3RvID4gaDMge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDI1JSArIDIwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmZzQ29uc3RpdHVlbnRQcm9maWxlLmZzSGFzUGhvdG8gLmZzUHJvZmlsZUltYWdlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmZzQ29uc3RpdHVlbnRQcm9maWxlLmZzSGFzUGhvdG8gLmZzUHJvZmlsZUltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgcGFkZGluZzogMDtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5mc0NvbnN0aXR1ZW50UHJvZmlsZTpub3QoLmZzSGFzUGhvdG8pIC5mc1Byb2ZpbGVJbWFnZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5mc0NvbnN0aXR1ZW50UHJvZmlsZTpub3QoLmZzSGFzUGhvdG8pIC5mc1Byb2ZpbGVJbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cbn1cblxuLmZzUHJvZmlsZVNlY3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1ZW07XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cbi5mc1Byb2ZpbGVTZWN0aW9uIGg0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzM7XG4gIG1hcmdpbjogMCAwIC41ZW0gMDtcbiAgcGFkZGluZzogMCAwIC41ZW0gMDtcbn1cbi5mc1Byb2ZpbGVTZWN0aW9uIC5mc1Byb2ZpbGVTZWN0aW9uRGF0YSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuLmZzUHJvZmlsZVNlY3Rpb24gLmZzUHJvZmlsZVNlY3Rpb25EYXRhLmZzVGl0bGUge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLmZzUHJvZmlsZVNlY3Rpb25TcGVjaWFsRGF0YSA+IGRpdiwgLmZzUHJvZmlsZVNwZWNpYWxGaWVsZE5hbWUgPiBkaXYge1xuICB3aWR0aDogYXV0bztcbiAgZmxvYXQ6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmZzUHJvZmlsZVNlY3Rpb25TcGVjaWFsRGF0YSA+IGRpdiwgLmZzUHJvZmlsZVNwZWNpYWxGaWVsZE5hbWUgPiBkaXYge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5mc1Byb2ZpbGVTZWN0aW9uU3BlY2lhbERhdGEgPiBkaXY6Zmlyc3QtY2hpbGQsIC5mc1Byb2ZpbGVTcGVjaWFsRmllbGROYW1lID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5mc1Byb2ZpbGVTZWN0aW9uU3BlY2lhbERhdGEgPiBkaXY6bGFzdC1jaGlsZCwgLmZzUHJvZmlsZVNwZWNpYWxGaWVsZE5hbWUgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxufVxuXG4uZnNQcm9maWxlU2VjdGlvbkZpZWxkTmFtZSxcbi5mc1Byb2ZpbGVTZWN0aW9uRmllbGRWYWx1ZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBmbG9hdDogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5mc1Byb2ZpbGVTZWN0aW9uRmllbGROYW1lIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4MDBweCkge1xuICAuZnNQcm9maWxlU2VjdGlvbkZpZWxkVmFsdWUge1xuICAgIHdpZHRoOiA3NSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5mc0Jpb2dyYXBoeSAuZnNQcm9maWxlU2VjdGlvbkZpZWxkTmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgLmZzQmlvZ3JhcGh5IC5mc1Byb2ZpbGVTZWN0aW9uRmllbGROYW1lLFxuICAuZnNCaW9ncmFwaHkgLmZzUHJvZmlsZVNlY3Rpb25GaWVsZFZhbHVlIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uZnNQcm9maWxlU2VjdGlvbkRhdGEuZnNFbXBsb3llZFNpbmNlIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLyohIGVsZW1lbnRzIC0gY29uc3RpdHVlbnQgZGVmYXVsdCBsYXlvdXQgKi9cbi5mc0RpcmVjdG9yeSB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4uZnNEaXJlY3RvcnkgLmZzQ29uc3RpdHVlbnRJdGVtIHtcbiAgcGFkZGluZzogMjBweCAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xufVxuLmZzRGlyZWN0b3J5IC5mc0NvbnN0aXR1ZW50SXRlbSA+IGgzLCAuZnNEaXJlY3RvcnkgLmZzQ29uc3RpdHVlbnRJdGVtID4gZGl2IHtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbi5mc0RpcmVjdG9yeSAuZnNDb25zdGl0dWVudEl0ZW0gPiBoMzpsYXN0LWNoaWxkLCAuZnNEaXJlY3RvcnkgLmZzQ29uc3RpdHVlbnRJdGVtID4gZGl2Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmZzRGlyZWN0b3J5IC5mc0NvbnN0aXR1ZW50SXRlbSAuZnNQaG90byBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5mc0NvbnN0aXR1ZW50Q29sdW1uTGF5b3V0XzEgLmZzQ29uc3RpdHVlbnRJdGVtIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmZzQ29uc3RpdHVlbnRDb2x1bW5MYXlvdXRfMiB7XG4gICAgbWFyZ2luOiAwIC0xMHB4O1xuICB9XG59XG4uZnNDb25zdGl0dWVudENvbHVtbkxheW91dF8yIC5mc0NvbnN0aXR1ZW50SXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmZzQ29uc3RpdHVlbnRDb2x1bW5MYXlvdXRfMiAuZnNDb25zdGl0dWVudEl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cbi5mc0NvbnN0aXR1ZW50Q29sdW1uTGF5b3V0XzIgLmZzQ29uc3RpdHVlbnRJdGVtOm50aC1jaGlsZCgybisxKSB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmZzQ29uc3RpdHVlbnRDb2x1bW5MYXlvdXRfMyB7XG4gICAgbWFyZ2luOiAwIC0xMHB4O1xuICB9XG59XG4uZnNDb25zdGl0dWVudENvbHVtbkxheW91dF8zIC5mc0NvbnN0aXR1ZW50SXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmZzQ29uc3RpdHVlbnRDb2x1bW5MYXlvdXRfMyAuZnNDb25zdGl0dWVudEl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbiAgLmZzQ29uc3RpdHVlbnRDb2x1bW5MYXlvdXRfMyAuZnNDb25zdGl0dWVudEl0ZW06bnRoLWNoaWxkKDJuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5mc0NvbnN0aXR1ZW50Q29sdW1uTGF5b3V0XzMgLmZzQ29uc3RpdHVlbnRJdGVtIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMyUgLSAyMHB4KTtcbiAgfVxuICAuZnNDb25zdGl0dWVudENvbHVtbkxheW91dF8zIC5mc0NvbnN0aXR1ZW50SXRlbTpudGgtY2hpbGQoMm4rMSkge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5mc0NvbnN0aXR1ZW50Q29sdW1uTGF5b3V0XzMgLmZzQ29uc3RpdHVlbnRJdGVtOm50aC1jaGlsZCgzbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5mc0NvbnN0aXR1ZW50Q29sdW1uTGF5b3V0XzQge1xuICAgIG1hcmdpbjogMCAtMTBweDtcbiAgfVxufVxuLmZzQ29uc3RpdHVlbnRDb2x1bW5MYXlvdXRfNCAuZnNDb25zdGl0dWVudEl0ZW0ge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5mc0NvbnN0aXR1ZW50Q29sdW1uTGF5b3V0XzQgLmZzQ29uc3RpdHVlbnRJdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG4gIC5mc0NvbnN0aXR1ZW50Q29sdW1uTGF5b3V0XzQgLmZzQ29uc3RpdHVlbnRJdGVtOm50aC1jaGlsZCgybisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAuZnNDb25zdGl0dWVudENvbHVtbkxheW91dF80IC5mc0NvbnN0aXR1ZW50SXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMlIC0gMjBweCk7XG4gIH1cbiAgLmZzQ29uc3RpdHVlbnRDb2x1bW5MYXlvdXRfNCAuZnNDb25zdGl0dWVudEl0ZW06bnRoLWNoaWxkKDJuKzEpIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAuZnNDb25zdGl0dWVudENvbHVtbkxheW91dF80IC5mc0NvbnN0aXR1ZW50SXRlbTpudGgtY2hpbGQoM24rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM4MHB4KSB7XG4gIC5mc0NvbnN0aXR1ZW50Q29sdW1uTGF5b3V0XzQgLmZzQ29uc3RpdHVlbnRJdGVtIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAyMHB4KTtcbiAgfVxuICAuZnNDb25zdGl0dWVudENvbHVtbkxheW91dF80IC5mc0NvbnN0aXR1ZW50SXRlbTpudGgtY2hpbGQoM24rMSkge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5mc0NvbnN0aXR1ZW50Q29sdW1uTGF5b3V0XzQgLmZzQ29uc3RpdHVlbnRJdGVtOm50aC1jaGlsZCg0bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLmZzQWNjb3JkaW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5mc0FjY29yZGlvbiAuZnNQYW5lbCB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5mc0FjY29yZGlvbiAuZnNQYW5lbCA+IGhlYWRlciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiAjMTczODYyO1xuICBib3JkZXI6IDAgc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uZnNBY2NvcmRpb24gLmZzUGFuZWwgPiBoZWFkZXIgaDIge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIHRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LWZhbWlseTogXCJvcGVuLXNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbi5mc0FjY29yZGlvbiAuZnNQYW5lbCA+IGhlYWRlciBoMjpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJJY29Nb29uXCI7XG59XG4uZnNBY2NvcmRpb24gLmZzUGFuZWwgPiBoZWFkZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNWE4MjAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmZzQWNjb3JkaW9uIC5mc1BhbmVsID4gaGVhZGVyOmhvdmVyIGgyIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uZnNBY2NvcmRpb24gLmZzUGFuZWwgPiAuZnNFbGVtZW50Q29udGVudCB7XG4gIGJvcmRlcjogMCBzb2xpZCAjYmViZWJlO1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLmZzQWNjb3JkaW9uIC5mc1BhbmVsLmZzU3RhdGVPcGVuID4gaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogIzYyNjk3MDtcbiAgYm9yZGVyLWNvbG9yOiAjYmViZWJlO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5mc0FjY29yZGlvbiAuZnNQYW5lbC5mc1N0YXRlT3BlbiA+IGhlYWRlciBoMiB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmZzQWNjb3JkaW9uIC5mc1BhbmVsLmZzU3RhdGVPcGVuID4gaGVhZGVyIGgyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74G4XCI7XG59XG5cbi5mc0FjY29yZGlvbi5mc1BhbmVsSWNvbkJlZm9yZSAuZnNQYW5lbC5mc1N0YXRlT3BlbiA+IGhlYWRlciBoMjo6YmVmb3JlLFxuLmZzQWNjb3JkaW9uLmZzUGFuZWxJY29uQWZ0ZXIgLmZzUGFuZWwuZnNTdGF0ZU9wZW4gPiBoZWFkZXIgaDI6OmFmdGVyLFxuLmZzQWNjb3JkaW9uLmZzUGFuZWxJY29uQWZ0ZXIgLmZzUGFuZWwgPiBoZWFkZXIgaDI6OmFmdGVyLFxuLmZzQWNjb3JkaW9uLmZzUGFuZWxJY29uQmVmb3JlIC5mc1BhbmVsID4gaGVhZGVyIGgyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AjVwiO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmZzQWNjb3JkaW9uLmZzUGFuZWxJY29uQmVmb3JlIC5mc1BhbmVsLmZzU3RhdGVPcGVuID4gaGVhZGVyIGgyOjpiZWZvcmUsXG4uZnNBY2NvcmRpb24uZnNQYW5lbEljb25BZnRlciAuZnNQYW5lbC5mc1N0YXRlT3BlbiA+IGhlYWRlciBoMjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+BuFwiO1xufVxuXG4uZnNBY2NvcmRpb24uZnNQYW5lbEljb25BZnRlciAuZnNQYW5lbCA+IGhlYWRlciBoMjo6YWZ0ZXIsXG4uZnNBY2NvcmRpb24uZnNQYW5lbEljb25CZWZvcmUgLmZzUGFuZWwgPiBoZWFkZXIgaDI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74G3XCI7XG59XG5cbi5mc0FjY29yZGlvbi5mc1BhbmVsSWNvbkJlZm9yZSAuZnNQYW5lbCA+IGhlYWRlciBoMjo6YmVmb3JlIHtcbiAgbWFyZ2luOiAtM3B4IDIwcHggMCAwO1xufVxuXG4uZnNBY2NvcmRpb24uZnNQYW5lbEljb25BZnRlciAuZnNQYW5lbCA+IGhlYWRlciBoMjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmZzQWNjb3JkaW9uLmZzUGFuZWxJY29uQWZ0ZXIgLmZzUGFuZWwgPiBoZWFkZXIgaDI6YWZ0ZXIge1xuICBtYXJnaW46IDAgMCAwIDIwcHg7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLyohIGVsZW1lbnRzIC0gY2FsZW5kYXIgdjAuMC4xICovXG4uZnNDYWxlbmRhciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuLmZzQ2FsZW5kYXIgPiBoZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5mc0NhbGVuZGFyID4gaGVhZGVyIC5mc0VsZW1lbnRUaXRsZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6ICMxNzM4NjI7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5mc0NhbGVuZGFyOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5mc0NhbGVuZGFyOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmZzQ2FsZW5kYXIgaW1nIHtcbiAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICM1MTZhODk7XG59XG4uZnNDYWxlbmRhci5mc0dyaWQgLmZzQ2FsZW5kYXJHcmlkQnJvd3NlciBzcGFuIHtcbiAgcGFkZGluZzogMCAyMHB4ICFpbXBvcnRhbnQ7XG59XG4uZnNDYWxlbmRhci5mc0dyaWQgLmZzQ2FsZW5kYXJHcmlkQnJvd3NlciAuZnNMZWZ0QXJyb3csIC5mc0NhbGVuZGFyLmZzR3JpZCAuZnNDYWxlbmRhckdyaWRCcm93c2VyIC5mc1JpZ2h0QXJyb3cge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmZzQ2FsZW5kYXIuZnNHcmlkIC5mc0NhbGVuZGFyR3JpZEJyb3dzZXIgLmZzTGVmdEFycm93OmJlZm9yZSwgLmZzQ2FsZW5kYXIuZnNHcmlkIC5mc0NhbGVuZGFyR3JpZEJyb3dzZXIgLmZzUmlnaHRBcnJvdzpiZWZvcmUge1xuICB0b3A6IC0zcHg7XG59XG4uZnNDYWxlbmRhciBhcnRpY2xlIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDExMHB4O1xuICBtaW4taGVpZ2h0OiA5MHB4O1xufVxuLmZzQ2FsZW5kYXIgYXJ0aWNsZTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4uZnNDYWxlbmRhciBhcnRpY2xlIC5mc05vdGVzIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5mc0NhbGVuZGFyIC5mc1RpdGxlIHtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS4yZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uZnNDYWxlbmRhciAuZnNUaXRsZSBhOmhvdmVyIHtcbiAgY29sb3I6ICM1MTZhODk7XG59XG4uZnNDYWxlbmRhciAuZnNEYXRlIHtcbiAgbWFyZ2luOiAwIDAgNXB4O1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGNvbG9yOiAjNDI0MjQyO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDkwcHg7XG4gIHdpZHRoOiA5MHB4O1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM2MjY5NzA7XG59XG4uZnNDYWxlbmRhciAuZnNEYXRlIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5mc0NhbGVuZGFyIC5mc0RhdGUgLmZzRGF5TmFtZSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5mc0NhbGVuZGFyIC5mc0RhdGUgLmZzTW9udGgge1xuICBmb250LXNpemU6IDEycHg7XG59XG4uZnNDYWxlbmRhciAuZnNEYXRlIC5mc0RheSB7XG4gIGZvbnQtc2l6ZTogNDhweDtcbiAgY29sb3I6ICM1YTgyMDA7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG59XG4uZnNDYWxlbmRhciAuZnNFdmVudERldGFpbHMge1xuICBmb250LXNpemU6IDE1cHg7XG59XG4uZnNDYWxlbmRhciAuZnNUaW1lUmFuZ2Uge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbi5mc0NhbGVuZGFyIC5mc1RpbWVSYW5nZTpiZWZvcmUge1xuICBjb2xvcjogIzVhODIwMDtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gIGNvbnRlbnQ6IFwi74CXXCI7XG59XG4uZnNDYWxlbmRhciAuZnNMb2NhdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLmZzQ2FsZW5kYXIgLmZzTG9jYXRpb246YmVmb3JlIHtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gIGNvbnRlbnQ6IFwi74GBXCI7XG4gIGNvbG9yOiAjNWE4MjAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmZzQ2FsZW5kYXIuZnNTbGlkZXNob3cgYXJ0aWNsZSB7XG4gICAgbWFyZ2luOiAwIDEwcHggMTBweDtcbiAgfVxufVxuXG4uZnNDYWxlbmRhck1vbnRoQnJvd3NlciAuZnNDYWxlbmRhclByZXZNb250aCwgLmZzQ2FsZW5kYXJNb250aEJyb3dzZXIgLmZzQ2FsZW5kYXJOZXh0TW9udGgge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG91dGxpbmU6IDA7XG59XG4uZnNDYWxlbmRhck1vbnRoQnJvd3NlciAuZnNDYWxlbmRhclByZXZNb250aDpiZWZvcmUsIC5mc0NhbGVuZGFyTW9udGhCcm93c2VyIC5mc0NhbGVuZGFyTmV4dE1vbnRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SEXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGNvbG9yOiAjNWE4MjAwO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbi5mc0NhbGVuZGFyTW9udGhCcm93c2VyIC5mc0NhbGVuZGFyTmV4dE1vbnRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SFXCI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5mc0NhbGVuZGFyLmZzR3JpZCAuZnNDYWxlbmRhckV2ZW50R3JpZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgLmZzQ2FsZW5kYXIuZnNHcmlkIC5mc0NhbGVuZGFyRXZlbnRHcmlkIC5mc0NhbGVuZGFyTW9udGhCcm93c2VyIHtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgfVxuICAuZnNDYWxlbmRhci5mc0dyaWQgLmZzQ2FsZW5kYXJFdmVudEdyaWQgLmZzQ2FsZW5kYXJEYXlib3gsXG4gIC5mc0NhbGVuZGFyLmZzR3JpZCAuZnNDYWxlbmRhckV2ZW50R3JpZCAuZnNDYWxlbmRhck91dE9mUmFuZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxNC4yODU3MTQyODU3JSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogNTBweCAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLmZzQ2FsZW5kYXIuZnNHcmlkIC5mc0NhbGVuZGFyRXZlbnRHcmlkIC5mc0NhbGVuZGFyRGF5Ym94LmZzQ2FsZW5kYXJXZWVrZW5kRGF5Qm94LFxuICAuZnNDYWxlbmRhci5mc0dyaWQgLmZzQ2FsZW5kYXJFdmVudEdyaWQgLmZzQ2FsZW5kYXJPdXRPZlJhbmdlLmZzQ2FsZW5kYXJXZWVrZW5kRGF5Qm94IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbiAgLmZzQ2FsZW5kYXIuZnNHcmlkIC5mc0NhbGVuZGFyRXZlbnRHcmlkIC5mc0NhbGVuZGFyRGF5Ym94LmZzQ2FsZW5kYXJXZWVrZW5kRGF5Qm94ID4gZGl2LFxuICAuZnNDYWxlbmRhci5mc0dyaWQgLmZzQ2FsZW5kYXJFdmVudEdyaWQgLmZzQ2FsZW5kYXJPdXRPZlJhbmdlLmZzQ2FsZW5kYXJXZWVrZW5kRGF5Qm94ID4gZGl2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Y4ZjhmODtcbiAgfVxuICAuZnNDYWxlbmRhci5mc0dyaWQgLmZzQ2FsZW5kYXJFdmVudEdyaWQgLmZzQ2FsZW5kYXJEYXlib3guZnNDYWxlbmRhcldlZWtlbmREYXlCb3ggPiBkaXY6Zmlyc3QtY2hpbGQsXG4gIC5mc0NhbGVuZGFyLmZzR3JpZCAuZnNDYWxlbmRhckV2ZW50R3JpZCAuZnNDYWxlbmRhck91dE9mUmFuZ2UuZnNDYWxlbmRhcldlZWtlbmREYXlCb3ggPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgfVxuICAuZnNDYWxlbmRhci5mc0dyaWQgLmZzQ2FsZW5kYXJFdmVudEdyaWQgLmZzQ2FsZW5kYXJEYXlib3guZnNDYWxlbmRhcldlZWtlbmREYXlCb3ggPiBkaXYuc2VsZWN0ZWQsXG4gIC5mc0NhbGVuZGFyLmZzR3JpZCAuZnNDYWxlbmRhckV2ZW50R3JpZCAuZnNDYWxlbmRhck91dE9mUmFuZ2UuZnNDYWxlbmRhcldlZWtlbmREYXlCb3ggPiBkaXYuc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1YTgyMDA7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbiAgLmZzQ2FsZW5kYXIuZnNHcmlkIC5mc0NhbGVuZGFyRXZlbnRHcmlkIC5mc0NhbGVuZGFyRGF5Ym94LnNlbGVjdGVkLFxuICAuZnNDYWxlbmRhci5mc0dyaWQgLmZzQ2FsZW5kYXJFdmVudEdyaWQgLmZzQ2FsZW5kYXJPdXRPZlJhbmdlLnNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjOWNiNDY2O1xuICB9XG4gIC5mc0NhbGVuZGFyLmZzR3JpZCAuZnNDYWxlbmRhckV2ZW50R3JpZCAuZnNDYWxlbmRhckRheWJveC5zZWxlY3RlZCAuZnNDYWxlbmRhckRhdGUsXG4gIC5mc0NhbGVuZGFyLmZzR3JpZCAuZnNDYWxlbmRhckV2ZW50R3JpZCAuZnNDYWxlbmRhck91dE9mUmFuZ2Uuc2VsZWN0ZWQgLmZzQ2FsZW5kYXJEYXRlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuICAuZnNDYWxlbmRhci5mc0dyaWQgLmZzQ2FsZW5kYXJFdmVudEdyaWQgLmZzQ2FsZW5kYXJEYXlib3ggLmZzQ2FsZW5kYXJEYXRlLFxuICAuZnNDYWxlbmRhci5mc0dyaWQgLmZzQ2FsZW5kYXJFdmVudEdyaWQgLmZzQ2FsZW5kYXJPdXRPZlJhbmdlIC5mc0NhbGVuZGFyRGF0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHRvcDogNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxuICAuZnNDYWxlbmRhci5mc0dyaWQgLmZzQ2FsZW5kYXJFdmVudEdyaWQgLmZzQ2FsZW5kYXJSb3cge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxuICAuZnNDYWxlbmRhci5mc0dyaWQgLmZzQ2FsZW5kYXJFdmVudEdyaWQgLmZzQ2FsZW5kYXJJbmZvIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4jZXZlbnQtdmlldyB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbjogMjBweCBhdXRvIDA7XG59XG4jZXZlbnQtdmlldyAuZnNDYWxlbmRhckRheWJveCB7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICNldmVudC12aWV3IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zY3JvbGwtdXAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAuc2Nyb2xsLXVwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5mc0NhbGVuZGFyV2Vla2VuZERheUJveGZzQ2FsZW5kYXJPdXRPZlJhbmdlID4gZGl2Omxhc3QtY2hpbGQgLmZzQ2FsZW5kYXJEYXRlIHtcbiAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogMDtcbn1cblxuLmZzQ2FsZW5kYXJFdmVudEdyaWQgLmZzQ2FsZW5kYXJXZWVrZGF5cyBzcGFuIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM4MHB4KSB7XG4gIC5mc0NhbGVuZGFyRXZlbnRHcmlkIC5mc0NhbGVuZGFyV2Vla2RheXMgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG59XG5cbi5mc0NhbGVuZGFyRGF5Ym94IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xufVxuLmZzQ2FsZW5kYXJSb3cgLmZzQ2FsZW5kYXJEYXlib3guaGFzLWluZm8ge1xuICBiYWNrZ3JvdW5kOiAjYjljM2QwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5mc0NhbGVuZGFyUm93IC5mc0NhbGVuZGFyRGF5Ym94Lmhhcy1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG59XG4uZnNDYWxlbmRhckV2ZW50R3JpZCAuZnNDYWxlbmRhclJvdyAuZnNDYWxlbmRhclRvZGF5IHtcbiAgYmFja2dyb3VuZDogI2RhZTNjNjtcbn1cblxuLmZzRWxlbWVudEV2ZW50Q29sb3JJY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xufVxuXG4uZnNDYWxlbmRhckxlZ2VuZCB7XG4gIG1hcmdpbjogMjBweCAwO1xuICBwYWRkaW5nOiAwO1xufVxuLmZzQ2FsZW5kYXJMZWdlbmQgdWwsXG4uZnNDYWxlbmRhckxlZ2VuZCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5mc0NhbGVuZGFyTGVnZW5kIGEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAuZnNDYWxlbmRhckxlZ2VuZCA+IHVsIHtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MDBweCkge1xuICAuZnNDYWxlbmRhckxlZ2VuZCA+IHVsIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gIH1cbn1cbi5mc0NhbGVuZGFyTGVnZW5kID4gdWwgdWwge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbn1cblxuLmNhcHRpb24ge1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLWJvdHRvbTogOS42cHg7XG4gIGNvbG9yOiAjNzk3OTc5O1xuICBmb250LWZhbWlseTogXCJnYXJhbW9uZC1wcmVtaWVyLXByb1wiLCBUaW1lcywgc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmZzX3N0eWxlXzEwLFxuLmxlYWQtaW4ge1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBjb2xvcjogIzE3Mzg2MjtcbiAgZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmZzX3N0eWxlXzksXG4uY2FsbG91dDpub3QoLmJ1dHRvbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAyMHB4IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNWE4MjAwO1xuICBmb250LWZhbWlseTogXCJvcGVuLXNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLmZzX3N0eWxlXzkubGVmdCxcbi5jYWxsb3V0Om5vdCguYnV0dG9uKS5sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gIC5mc19zdHlsZV85LmxlZnQsXG4gIC5jYWxsb3V0Om5vdCguYnV0dG9uKS5sZWZ0IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG4uZnNfc3R5bGVfOS5yaWdodCxcbi5jYWxsb3V0Om5vdCguYnV0dG9uKS5yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gIC5mc19zdHlsZV85LnJpZ2h0LFxuICAuY2FsbG91dDpub3QoLmJ1dHRvbikucmlnaHQge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLmNvbnRlbnQtYmxvY2sge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cbi5jb250ZW50LWJsb2NrID4gaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4uY29udGVudC1ibG9jayA+IGhlYWRlciAuZnNFbGVtZW50VGl0bGUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGNvbG9yOiAjMTczODYyO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4uY29udGVudC1ibG9jazpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4uY29udGVudC1ibG9jazpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5jb250ZW50LWJsb2NrIGltZyB7XG4gIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjNTE2YTg5O1xufVxuXG4uZnNfc3R5bGVfMyxcbi5mc19zdHlsZV8yLFxuLmZzX3N0eWxlXzQsXG4uYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBmb250LWZhbWlseTogXCJvcGVuLXNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBwYWRkaW5nOiAxMnB4IDIwcHg7XG4gIGJhY2tncm91bmQ6ICM1YTgyMDA7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIG91dGxpbmU6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyOiAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uZnNfc3R5bGVfMzpob3ZlciwgLmZzX3N0eWxlXzM6Zm9jdXMsXG4uZnNfc3R5bGVfMjpob3Zlcixcbi5mc19zdHlsZV8yOmZvY3VzLFxuLmZzX3N0eWxlXzQ6aG92ZXIsXG4uZnNfc3R5bGVfNDpmb2N1cyxcbi5idXR0b246aG92ZXIsXG4uYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3Mzg2MjtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cbi5mc19zdHlsZV8zOmZvY3VzLFxuLmZzX3N0eWxlXzI6Zm9jdXMsXG4uZnNfc3R5bGVfNDpmb2N1cyxcbi5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAtd2Via2l0LWZvY3VzLXJpbmctY29sb3IgYXV0byAxcHg7XG59XG4uZnNfc3R5bGVfMyBlbSxcbi5mc19zdHlsZV8yIGVtLFxuLmZzX3N0eWxlXzQgZW0sXG4uYnV0dG9uIGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMS4xO1xufVxuLmZzX3N0eWxlXzM6aG92ZXIsXG4uZnNfc3R5bGVfMjpob3Zlcixcbi5mc19zdHlsZV80OmhvdmVyLFxuLmJ1dHRvbjpob3ZlciB7XG4gIGJvcmRlcjogMHB4IHNvbGlkICNiZWJlYmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogIzM3NGYwMDtcbn1cblxuLmZzX3N0eWxlXzMsXG4uYnV0dG9uLmJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTczODYyO1xufVxuLmZzX3N0eWxlXzM6aG92ZXIsXG4uYnV0dG9uLmJsdWU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMGQyMDM5O1xufVxuXG4uZnNfc3R5bGVfNCxcbi5idXR0b24uZ3JheSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2MjY5NzA7XG59XG4uZnNfc3R5bGVfNDpob3Zlcixcbi5idXR0b24uZ3JheTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM0YTUwNTU7XG4gIGNvbG9yOiAjNWY1ZjVmO1xufVxuXG4uY2FsbG91dC1idXR0b24sIC5mc19zdHlsZV82LCAuZnNfc3R5bGVfNSwgLmZzX3N0eWxlXzcge1xuICBmb250LWZhbWlseTogXCJvcGVuLXNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDEycHggMjBweDtcbiAgYmFja2dyb3VuZDogIzVhODIwMDtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgb3V0bGluZTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAyN3B4IDMwcHg7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgYm9yZGVyOiAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgcGFkZGluZzogMWVtIDIuNWVtO1xufVxuLmNhbGxvdXQtYnV0dG9uOmhvdmVyLCAuY2FsbG91dC1idXR0b246Zm9jdXMsXG4uZnNfc3R5bGVfNjpob3Zlcixcbi5mc19zdHlsZV82OmZvY3VzLFxuLmZzX3N0eWxlXzU6aG92ZXIsXG4uZnNfc3R5bGVfNTpmb2N1cyxcbi5mc19zdHlsZV83OmhvdmVyLFxuLmZzX3N0eWxlXzc6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTczODYyO1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuLmNhbGxvdXQtYnV0dG9uOmZvY3VzLFxuLmZzX3N0eWxlXzY6Zm9jdXMsXG4uZnNfc3R5bGVfNTpmb2N1cyxcbi5mc19zdHlsZV83OmZvY3VzIHtcbiAgb3V0bGluZTogLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yIGF1dG8gMXB4O1xufVxuLmNhbGxvdXQtYnV0dG9uIGVtLFxuLmZzX3N0eWxlXzYgZW0sXG4uZnNfc3R5bGVfNSBlbSxcbi5mc19zdHlsZV83IGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMS4xO1xufVxuLmNhbGxvdXQtYnV0dG9uIGVtLFxuLmZzX3N0eWxlXzYgZW0sXG4uZnNfc3R5bGVfNSBlbSxcbi5mc19zdHlsZV83IGVtIHtcbiAgbWFyZ2luLXRvcDogLjVlbTtcbn1cbi5jYWxsb3V0LWJ1dHRvbjpob3Zlcixcbi5mc19zdHlsZV82OmhvdmVyLFxuLmZzX3N0eWxlXzU6aG92ZXIsXG4uZnNfc3R5bGVfNzpob3ZlciB7XG4gIGJvcmRlcjogMHB4IHNvbGlkICNiZWJlYmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogIzM3NGYwMDtcbn1cbiNmc0Jhbm5lckxlZnQgLmNhbGxvdXQtYnV0dG9uLCAjZnNCYW5uZXJSaWdodCAuY2FsbG91dC1idXR0b24sXG4jZnNCYW5uZXJMZWZ0IC5mc19zdHlsZV82LCAjZnNCYW5uZXJSaWdodCAuZnNfc3R5bGVfNixcbiNmc0Jhbm5lckxlZnQgLmZzX3N0eWxlXzUsICNmc0Jhbm5lclJpZ2h0IC5mc19zdHlsZV81LFxuI2ZzQmFubmVyTGVmdCAuZnNfc3R5bGVfNywgI2ZzQmFubmVyUmlnaHQgLmZzX3N0eWxlXzcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5jYWxsb3V0LWJ1dHRvbi5mc19zdHlsZV82LCAuZnNfc3R5bGVfNi5mc19zdHlsZV82LCAuZnNfc3R5bGVfNS5mc19zdHlsZV82LCAuZnNfc3R5bGVfNy5mc19zdHlsZV82IHtcbiAgYmFja2dyb3VuZDogIzE3Mzg2Mjtcbn1cbi5jYWxsb3V0LWJ1dHRvbi5mc19zdHlsZV82OmhvdmVyLCAuZnNfc3R5bGVfNi5mc19zdHlsZV82OmhvdmVyLCAuZnNfc3R5bGVfNS5mc19zdHlsZV82OmhvdmVyLCAuZnNfc3R5bGVfNy5mc19zdHlsZV82OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzBkMjAzOTtcbn1cbi5jYWxsb3V0LWJ1dHRvbi5mc19zdHlsZV83LCAuZnNfc3R5bGVfNi5mc19zdHlsZV83LCAuZnNfc3R5bGVfNS5mc19zdHlsZV83LCAuZnNfc3R5bGVfNy5mc19zdHlsZV83IHtcbiAgYmFja2dyb3VuZDogIzYyNjk3MDtcbn1cbi5jYWxsb3V0LWJ1dHRvbi5mc19zdHlsZV83OmhvdmVyLCAuZnNfc3R5bGVfNi5mc19zdHlsZV83OmhvdmVyLCAuZnNfc3R5bGVfNS5mc19zdHlsZV83OmhvdmVyLCAuZnNfc3R5bGVfNy5mc19zdHlsZV83OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzRhNTA1NTtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi5mc19zdHlsZV84IHtcbiAgYm9yZGVyLWxlZnQ6IDEycHggc29saWQgIzVhODIwMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uZnNfc3R5bGVfOFtzdHlsZT1cImZsb2F0OiByaWdodDtcIl0ge1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAwIDAgMWVtIDFlbTtcbn1cbi5mc19zdHlsZV84W3N0eWxlPVwiZmxvYXQ6IGxlZnQ7XCJdIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMCAxZW0gMWVtIDA7XG59XG5cbi5mc1NsaWRlc2hvdyAuZnNQYWdlciBsaSB7XG4gIG1hcmdpbjogMCAxcHg7XG59XG4uZnNTbGlkZXNob3cgLmZzUGFnZXIgbGkgYnV0dG9uIHtcbiAgaGVpZ2h0OiAxM3B4O1xuICB3aWR0aDogMTNweDtcbiAgcGFkZGluZzogMDtcbn1cbi5mc1NsaWRlc2hvdyAuZnNQYWdlciBsaSBidXR0b246YmVmb3JlIHtcbiAgaGVpZ2h0OiAxM3B4O1xuICB3aWR0aDogMTNweDtcbiAgZm9udC1zaXplOiA0MnB4O1xuICBjb2xvcjogI2Q3ZDdkNztcbiAgb3BhY2l0eTogMTtcbn1cblxuLmZzUmVhZE1vcmVMaW5rIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAjNWE4MjAwO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4vKiEgZWxlbWVudHMgLSBmb3JtcyAqL1xudGV4dGFyZWEsXG5pbnB1dCxcbnNlbGVjdCB7XG4gIHBhZGRpbmc6IDVweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uZnNDb21wb3NlckZvcm1FbWJlZCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG4uZnNDb21wb3NlckZvcm1FbWJlZCBmb3JtIHtcbiAgem9vbTogMTtcbn1cbi5mc0NvbXBvc2VyRm9ybUVtYmVkIGZvcm06YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6ICcnO1xufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSBpbnB1dCB7XG4gIGJvcmRlcjogc29saWQgMXB4ICNjY2M7XG59XG4uZnNDb21wb3NlckZvcm1FbWJlZCBmb3JtIGlucHV0LmZpbGVVcGxvYWRlciB7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG59XG4uZnNDb21wb3NlckZvcm1FbWJlZCBmb3JtIGZpZWxkc2V0IHtcbiAgcGFkZGluZzogMDtcbn1cbi5mc0NvbXBvc2VyRm9ybUVtYmVkIGZvcm0gdGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IHNvbGlkIDFweCAjY2NjO1xufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAubWFpbkdyb3VwU3ViIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAuZm9ybVBhZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAuZWxlbWVudFJvdyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAuZWxlbWVudFJvdzpsYXN0LWNoaWxkIC5lbGVtZW50Q29udGFpbmVyOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAuZWxlbWVudENvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAuZnNDb21wb3NlckZvcm1FbWJlZCBmb3JtIC5lbGVtZW50Q29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAuZWxlbWVudENvbnRhaW5lciBsYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbn1cbi5mc0NvbXBvc2VyRm9ybUVtYmVkIGZvcm0gLmVsZW1lbnRDb250YWluZXIgbGFiZWwuaG9yaXpvbnRhbCB7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIG1hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50O1xufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAuZWxlbWVudENvbnRhaW5lciBsYWJlbC5ob3Jpem9udGFsOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4uZnNDb21wb3NlckZvcm1FbWJlZCBmb3JtIC5lbGVtZW50Q29udGFpbmVyIGhyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4uZnNDb21wb3NlckZvcm1FbWJlZCBmb3JtIC5lbGVtZW50Q29udGFpbmVyIHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAuZnNDb21wb3NlckZvcm1FbWJlZCBmb3JtIC5lbGVtZW50Qm9keSA+IGlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAuZWxlbWVudEJvZHkgPiAuZGVzY1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAubGFiZWxMZWZ0IC5lbGVtZW50Q29udGFpbmVyIGxhYmVsLCAuZnNDb21wb3NlckZvcm1FbWJlZCBmb3JtIC5sYWJlbExlZnQgLmVsZW1lbnRDb250YWluZXIgLmdyb3VwTGFiZWwge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmbG9hdDogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAuZnNDb21wb3NlckZvcm1FbWJlZCBmb3JtIC5sYWJlbExlZnQgLmVsZW1lbnRDb250YWluZXIgbGFiZWwsIC5mc0NvbXBvc2VyRm9ybUVtYmVkIGZvcm0gLmxhYmVsTGVmdCAuZWxlbWVudENvbnRhaW5lciAuZ3JvdXBMYWJlbCB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAubGFiZWxMZWZ0IC5lbGVtZW50Q29udGFpbmVyID4gbGFiZWwge1xuICAgIHBhZGRpbmc6IDVweCAxMHB4IDVweCA1cHg7XG4gIH1cbn1cbi5mc0NvbXBvc2VyRm9ybUVtYmVkIGZvcm0gLmxhYmVsTGVmdCAuZWxlbWVudENvbnRhaW5lciAuZ3JvdXBMYWJlbCBsYWJlbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAubGFiZWxMZWZ0IC5lbGVtZW50Q29udGFpbmVyIGZpZWxkc2V0IGxhYmVsIHtcbiAgd2lkdGg6IGF1dG87XG59XG4uZnNDb21wb3NlckZvcm1FbWJlZCBmb3JtIC5sYWJlbExlZnQgLmVsZW1lbnRCb2R5IHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAubGFiZWxMZWZ0IC5lbGVtZW50Qm9keSB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAubGlua0xpa2Uge1xuICBjb2xvcjogIzVhODIwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IC4zcztcbn1cbi5mc0NvbXBvc2VyRm9ybUVtYmVkIGZvcm0gLmxpbmtMaWtlOmhvdmVyIHtcbiAgY29sb3I6ICMxNzM4NjI7XG59XG4uZnNDb21wb3NlckZvcm1FbWJlZCBmb3JtIC5yZXF1aXJlZCB7XG4gIGNvbG9yOiAjNWE4MjAwO1xufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAucGFnZUNvbnRyb2xzIHtcbiAgcGFkZGluZzogMTBweCAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uZnNDb21wb3NlckZvcm1FbWJlZCBmb3JtIC5wYWdlQ29udHJvbHMgLnVzZXJDb25maXJtYXRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAudXNlckNvbmZpcm1hdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4uZnNDb21wb3NlckZvcm1FbWJlZCBmb3JtIC51c2VyQ29uZmlybWF0aW9uIC51c2VyQ29uZmlybWF0aW9uVG9nZ2xlIHtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG4uZnNDb21wb3NlckZvcm1FbWJlZCBmb3JtIC51c2VyQ29uZmlybWF0aW9uID4gbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5mc0NvbXBvc2VyRm9ybUVtYmVkIGZvcm0gLmVsZW1lbnRDb2x1bW4ge1xuICB6b29tOiAxO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4uZnNDb21wb3NlckZvcm1FbWJlZCBmb3JtIC5lbGVtZW50Q29sdW1uOmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiAnJztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5mc0NvbXBvc2VyRm9ybUVtYmVkIGZvcm0gLmVsZW1lbnRDb2x1bW4ge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAuZWxlbWVudENvbHVtbiAuZWxlbWVudENvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uZnNDb21wb3NlckZvcm1FbWJlZCBmb3JtIC5lbGVtZW50Q29sdW1uIC5lbGVtZW50Qm9keSA+IGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uZnNDb21wb3NlckZvcm1FbWJlZCBmb3JtIC5wYWdlQnJlYWsge1xuICB6b29tOiAxO1xufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAucGFnZUJyZWFrOmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiAnJztcbn1cbi5mc0NvbXBvc2VyRm9ybUVtYmVkIGZvcm0gLnBhZ2VCcmVhayAubmV4dFBhZ2UsIC5mc0NvbXBvc2VyRm9ybUVtYmVkIGZvcm0gLnBhZ2VCcmVhayAucHJldlBhZ2Uge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjNWE4MjAwO1xuICB0cmFuc2l0aW9uOiAuM3M7XG4gIG91dGxpbmU6IDA7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogMTBweCAwO1xufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAucGFnZUJyZWFrIC5uZXh0UGFnZTpob3ZlciwgLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAucGFnZUJyZWFrIC5wcmV2UGFnZTpob3ZlciB7XG4gIGNvbG9yOiAjMTczODYyO1xuICB0cmFuc2l0aW9uOiAuM3M7XG59XG4uZnNDb21wb3NlckZvcm1FbWJlZCBmb3JtIC5wYWdlQnJlYWsgLnByZXZQYWdlIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAucGFnZUJyZWFrIC5wYWdlbnVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgcGFkZGluZzogMTBweCAwO1xufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAucGFnZUJyZWFrIC5wYWdlbnVtOmVtcHR5IHtcbiAgbWFyZ2luOiAwO1xufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAuc3VibWl0QnRuIHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgb3V0bGluZTogMDtcbiAgYmFja2dyb3VuZDogIzVhODIwMCAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgZm9ybSAuc3VibWl0QnRuOmhvdmVyIHtcbiAgdHJhbnNpdGlvbjogLjNzO1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiAjMTczODYyICFpbXBvcnRhbnQ7XG59XG4uZnNDb21wb3NlckZvcm1FbWJlZCAudWktd2lkZ2V0IHtcbiAgZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIHNhbnMtc2VyaWY7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi5mc0NvbXBvc2VyRm9ybUVtYmVkIC51aS1kYXRlcGlja2VyOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5mc0NvbXBvc2VyRm9ybUVtYmVkIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi5mc0NvbXBvc2VyRm9ybUVtYmVkIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYsIC5mc0NvbXBvc2VyRm9ybUVtYmVkIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZnNDb21wb3NlckZvcm1FbWJlZCAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHNwYW4sIC5mc0NvbXBvc2VyRm9ybUVtYmVkIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQgc3BhbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uZnNDb21wb3NlckZvcm1FbWJlZCAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2OmJlZm9yZSwgLmZzQ29tcG9zZXJGb3JtRW1iZWQgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dDpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRyYW5zaXRpb246IC4zcztcbn1cbi5mc0NvbXBvc2VyRm9ybUVtYmVkIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXY6aG92ZXI6YmVmb3JlLCAuZnNDb21wb3NlckZvcm1FbWJlZCAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0OmhvdmVyOmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IC4zcztcbiAgb3BhY2l0eTogLjU7XG59XG4uZnNDb21wb3NlckZvcm1FbWJlZCAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXDIwM0EnO1xufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldjpiZWZvcmUge1xuICBjb250ZW50OiAnXFwyMDM5Jztcbn1cbi5mc0NvbXBvc2VyRm9ybUVtYmVkIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIge1xuICByaWdodDogMnB4O1xuICB0b3A6IDJweDtcbn1cbi5mc0NvbXBvc2VyRm9ybUVtYmVkIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIge1xuICBsZWZ0OiAycHg7XG4gIHRvcDogMnB4O1xufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgLnVpLWRhdGVwaWNrZXIgLnVpLXN0YXRlLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZnNDb21wb3NlckZvcm1FbWJlZCAudWktZGF0ZXBpY2tlciAudWktc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLmZzQ29tcG9zZXJGb3JtRW1iZWQgLnVpLWRhdGVwaWNrZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCB7XG4gIGJvcmRlcjogc29saWQgMXB4ICNkM2QzZDM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkM2QzZDM7XG59XG5cbiNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIHtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBub25lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4jZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiB1bCxcbiNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTM0cHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gICNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluID4gLmZzRWxlbWVudENvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAjZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiA+IC5mc0VsZW1lbnRDb250ZW50IG5hdiB1bC5mc05hdkxldmVsMSA+IGxpID4gYSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM4MHB4KSB7XG4gICNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDYwcHgpO1xuICB9XG59XG4jZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiBuYXYge1xuICBoZWlnaHQ6IDEwMCU7XG59XG4jZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiBuYXYgdWwsXG4jZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiBuYXYgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4jZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiBuYXYgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gbmF2IHVsLmZzTmF2TGV2ZWwxIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cbiNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIG5hdiB1bC5mc05hdkxldmVsMSA+IGxpIHtcbiAgZmxleDogMSBhdXRvO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5uby1mbGV4Ym94ICNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIG5hdiB1bC5mc05hdkxldmVsMSA+IGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gbmF2IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiA4cHg7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIG5hdiB1bC5mc05hdkxldmVsMSA+IGxpID4gYSB7XG4gICAgcGFkZGluZzogMzdweCA4cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIG5hdiB1bC5mc05hdkxldmVsMSA+IGxpID4gYSB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gICNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIG5hdiB1bC5mc05hdkxldmVsMSA+IGxpID4gYSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM4MHB4KSB7XG4gICNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIG5hdiB1bC5mc05hdkxldmVsMSA+IGxpID4gYSB7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQ4MHB4KSB7XG4gICNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIG5hdiB1bC5mc05hdkxldmVsMSA+IGxpID4gYSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG59XG4jZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiBuYXYgdWwuZnNOYXZMZXZlbDEgPiBsaTpob3ZlciwgI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gbmF2IHVsLmZzTmF2TGV2ZWwxID4gbGkubWVudS1pdGVtLW9wZW4sICNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIG5hdiB1bC5mc05hdkxldmVsMSA+IGxpOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogIzUxNmE4OTtcbn1cbiNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIG5hdiB1bC5mc05hdkxldmVsMSA+IGxpLmZzTmF2Q3VycmVudFBhZ2UgPiBhLCAjZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiBuYXYgdWwuZnNOYXZMZXZlbDEgPiBsaS5mc05hdkN1cnJlbnRQYWdlQW5jZXN0b3IgPiBhIHtcbiAgYmFja2dyb3VuZDogIzUxNmE4OTtcbn1cbiNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIG5hdiB1bC5mc05hdkxldmVsMSA+IGxpOm5vdCguZnNOYXZQYXJlbnRQYWdlKSBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogIzUxNmE4OTtcbn1cbiNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIC5mc05hdlBhZ2VJbmZvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDk5LjUlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDY1MHB4O1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAxMy4zMzMzMzMzMzMzcHg7XG4gIGJhY2tncm91bmQ6ICM1MTZhODk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4jZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiAuZnNOYXZMZXZlbDEgPiBsaTpsYXN0LWNoaWxkIC5mc05hdlBhZ2VJbmZvIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cbiNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIC5mc05hdkxldmVsMSA+IGxpOm50aC1sYXN0LWNoaWxkKDIpIC5mc05hdlBhZ2VJbmZvIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cbiNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIC5mc05hdkxldmVsMSA+IGxpOm50aC1sYXN0LWNoaWxkKDMpIC5mc05hdlBhZ2VJbmZvIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cbiNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIC5mc05hdlBhZ2VJbmZvIC5mc05hdlBhZ2VEZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4yMmVtO1xuICB3aWR0aDogMzYuNTg1MzY1ODUzNyU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTcxNDI4NTcxNDtcbiAgY29sb3I6ICNmZmY7XG59XG4jZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiAuZnNOYXZQYWdlSW5mbyAuZnNOYXZQYWdlRGVzY3JpcHRpb24gaDMsXG4jZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiAuZnNOYXZQYWdlSW5mbyAuZnNOYXZQYWdlRGVzY3JpcHRpb24gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDEuNSAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBjb2xvcjogIzE3Mzg2MjtcbiAgZm9udC1mYW1pbHk6IFwiZ2FyYW1vbmQtcHJlbWllci1wcm9cIiwgVGltZXMsIHNlcmlmO1xufVxuI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gLmZzTmF2UGFnZUluZm8gLmZzTmF2UGFnZURlc2NyaXB0aW9uIGgzLCAjZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiAuZnNOYXZQYWdlSW5mbyAuZnNOYXZQYWdlRGVzY3JpcHRpb24gaDM6aG92ZXIsXG4jZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiAuZnNOYXZQYWdlSW5mbyAuZnNOYXZQYWdlRGVzY3JpcHRpb24gYSxcbiNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIC5mc05hdlBhZ2VJbmZvIC5mc05hdlBhZ2VEZXNjcmlwdGlvbiBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cbiNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIC5mc05hdlBhZ2VJbmZvIC5mc05hdlBhZ2VEZXNjcmlwdGlvbiBoMzpmaXJzdC1jaGlsZCxcbiNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIC5mc05hdlBhZ2VJbmZvIC5mc05hdlBhZ2VEZXNjcmlwdGlvbiBhOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbiNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIC5mc05hdlBhZ2VJbmZvIHVsLmZzTmF2TGV2ZWwyIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiBpbml0aWFsO1xuICBjb2x1bW4tY291bnQ6IDM7XG4gIGNvbHVtbi1nYXA6IDMwcHg7XG4gIGNvbHVtbi1ydWxlOiBub25lO1xuICB6b29tOiAxO1xufVxuI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gLmZzTmF2UGFnZUluZm8gdWwuZnNOYXZMZXZlbDI6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6ICcnO1xufVxuI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gLmZzTmF2UGFnZUluZm8gdWwuZnNOYXZMZXZlbDIgPiBsaSB7XG4gIGJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xufVxuLm5vLWNzc2NvbHVtbnMgI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gLmZzTmF2UGFnZUluZm8gdWwuZnNOYXZMZXZlbDIgPiBsaSB7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDMzLjMlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLm5vLWNzc2NvbHVtbnMgI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gLmZzTmF2UGFnZUluZm8gdWwuZnNOYXZMZXZlbDIgPiBsaTpmaXJzdC1jaGlsZDphZnRlciB7XG4gIGNvbnRlbnQ6IG5vcm1hbDtcbn1cbiNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIC5mc05hdlBhZ2VJbmZvIGEge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU3MTQyODU3MTQ7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxMHB4IDEwcHg7XG59XG4jZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiAuZnNOYXZQYWdlSW5mbyBhOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gbGk6aG92ZXIgLmZzTmF2UGFnZUluZm8sICNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIGxpLm1lbnUtaXRlbS1vcGVuIC5mc05hdlBhZ2VJbmZvLCAjZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiBsaTpmb2N1cyAuZnNOYXZQYWdlSW5mbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4jZnNQYWdlQm9keVdyYXBwZXIgLm5hdmlnYXRpb24udGllciB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgLypcbiAgICBIb21lOiBOL0FcbiAgICBUaWVyIDEgKEFLQTogXCJMYW5kaW5nIFBhZ2VcIik6IFNob3cgVDMgKGltbWVkaWF0ZSBjaGlsZHJlbiBXSVRIIGltbWVkaWF0ZSBjaGlsZHJlbiBleHBhbmRlZCBPTkxZIG9mIGN1cnJlbnQgcGFnZSlcbiAgICBUaWVyIDI6IFNob3cgVDMgKGltbWVkaWF0ZSBjaGlsZHJlbilcbiAgICBUaWVyIDM6IFNob3cgVDMgKHNpYmxpbmdzLCB3aXRoIGN1cnJlbnQgcGFnZSBpbiAnYWN0aXZlJyBzdGF0ZSksIFNob3cgVDQgKGltbWVkaWF0ZSBjaGlsZHJlbiBPTkxZIG9mIGN1cnJlbnQgcGFnZSlcbiAgICBUaWVyIDQ6IFNob3cgVDMgKGltbWVkaWF0ZSBwYXJlbnQgJiBwYXJlbnQncyBzaWJsaW5ncywgd2l0aCBjdXJyZW50IHBhZ2UgYW5jZXN0b3IgaW4gJ2FjdGl2ZScgc3RhdGUpLCBTaG93IFQ0IChzaWJsaW5ncyBPTkxZIG9mIGN1cnJlbnQgcGFnZSlcbiAgICBUaWVyIDU6ID8/IFNob3cgbGluayBiYWNrIHRvIGltbWVkaWF0ZSBwYXJlbnQ/XG4gICovXG59XG4jZnNQYWdlQm9keVdyYXBwZXIgLm5hdmlnYXRpb24udGllciB1bCxcbiNmc1BhZ2VCb2R5V3JhcHBlciAubmF2aWdhdGlvbi50aWVyIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuI2ZzUGFnZUJvZHlXcmFwcGVyIC5uYXZpZ2F0aW9uLnRpZXIgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmhhcy10aWVyLW5hdmlnYXRpb24gI2ZzUGFnZUJvZHlXcmFwcGVyIC5uYXZpZ2F0aW9uLnRpZXIge1xuICBtYXgtaGVpZ2h0OiAxMDAwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgI2ZzUGFnZUJvZHlXcmFwcGVyIC5uYXZpZ2F0aW9uLnRpZXIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuI2ZzUGFnZUJvZHlXcmFwcGVyIC5uYXZpZ2F0aW9uLnRpZXIubW9iaWxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgI2ZzUGFnZUJvZHlXcmFwcGVyIC5uYXZpZ2F0aW9uLnRpZXIubW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4jZnNQYWdlQm9keVdyYXBwZXIgLm5hdmlnYXRpb24udGllciA+IGhlYWRlciAuZnNFbGVtZW50VGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMCAwIDEwcHggMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogIzE3Mzg2MjtcbiAgZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMTczODYyO1xufVxuI2ZzUGFnZUJvZHlXcmFwcGVyIC5uYXZpZ2F0aW9uLnRpZXIgPiBoZWFkZXIgLmZzRWxlbWVudFRpdGxlOmFmdGVyIHtcbiAgY29udGVudDogXCLvgZRcIjtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAjZnNQYWdlQm9keVdyYXBwZXIgLm5hdmlnYXRpb24udGllciA+IGhlYWRlciAuZnNFbGVtZW50VGl0bGU6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiNmc1BhZ2VCb2R5V3JhcHBlciAubmF2aWdhdGlvbi50aWVyID4gLmZzRWxlbWVudENvbnRlbnQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIHRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jZnNQYWdlQm9keVdyYXBwZXIgLm5hdmlnYXRpb24udGllci5tb2JpbGUuYWN0aXZlLW5hdiAuZnNFbGVtZW50Q29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gICNmc1BhZ2VCb2R5V3JhcHBlciAubmF2aWdhdGlvbi50aWVyID4gLmZzRWxlbWVudENvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4jZnNQYWdlQm9keVdyYXBwZXIgLm5hdmlnYXRpb24udGllci5hY3RpdmUtbmF2ID4gaGVhZGVyIC5mc0VsZW1lbnRUaXRsZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74G4XCI7XG59XG4jZnNQYWdlQm9keVdyYXBwZXIgLm5hdmlnYXRpb24udGllciBsaSB7XG4gIG1hcmdpbjogOXB4IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbn1cbiNmc1BhZ2VCb2R5V3JhcHBlciAubmF2aWdhdGlvbi50aWVyIC5mc05hdkN1cnJlbnRQYWdlID4gYSxcbiNmc1BhZ2VCb2R5V3JhcHBlciAubmF2aWdhdGlvbi50aWVyIC5mc05hdkN1cnJlbnRQYWdlQW5jZXN0b3IgPiBhIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbiNmc1BhZ2VCb2R5V3JhcHBlciAubmF2aWdhdGlvbi50aWVyIFtjbGFzcyo9XCJmc05hdkxldmVsXCJdIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4ubmF2aWdhdGlvbi50aWVyIC5mc05hdlBhZ2VJbmZvIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5uYXZpZ2F0aW9uLnRpZXIgLmZzTmF2Q3VycmVudFBhZ2VBbmNlc3RvciAuZnNOYXZQYWdlSW5mbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm5hdmlnYXRpb24udGllciAuZnNOYXZQYXJlbnRQYWdlLmZzTmF2Q3VycmVudFBhZ2UgLmZzTmF2UGFnZUluZm8ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5uYXZpZ2F0aW9uLnRpZXIgdWwuZnNOYXZMZXZlbDIgbGkge1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG4ubmF2aWdhdGlvbi50aWVyIHVsLmZzTmF2TGV2ZWwzIGxpIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xufVxuXG4jZnNNZW51IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAxNnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTI7XG4gIGhlaWdodDogMDtcbiAgYmFja2dyb3VuZDogIzE3Mzg2Mjtcbn1cbi5mc0FjY291bnRCYXJWaXNpYmxlICNmc01lbnUge1xuICB0b3A6IDQ1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgI2ZzTWVudSB7XG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG4ub2ZmLWNhbnZhcy1tZW51LW9wZW4gI2ZzTWVudSB7XG4gIGhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cbi5vZmYtY2FudmFzLW1lbnUtb3BlbiBodG1sLFxuLm9mZi1jYW52YXMtbWVudS1vcGVuIGJvZHkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogYXV0bztcbn1cbi5vZmYtY2FudmFzLW1lbnUtb3BlbiAjZnNQYWdlV3JhcHBlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogYXV0bztcbn1cbiNmc01lbnUgaGVhZGVyIC5mc0VsZW1lbnRUaXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jZnNNZW51IGhlYWRlciAuZnNFbGVtZW50SGVhZGVyQ29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jZnNNZW51IC5idXR0b24ub2ZmLWNhbnZhcy10cmlnZ2VyIHtcbiAgYmFja2dyb3VuZDogIzc5Nzk3OTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDY1cHg7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cbiNmc01lbnUgLmJ1dHRvbi5vZmYtY2FudmFzLXRyaWdnZXIsICNmc01lbnUgLmJ1dHRvbi5vZmYtY2FudmFzLXRyaWdnZXI6aG92ZXIge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuI2ZzTWVudSAuYnV0dG9uLm9mZi1jYW52YXMtdHJpZ2dlcjpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuI2ZzTWVudSAuYnV0dG9uLm9mZi1jYW52YXMtdHJpZ2dlciBzcGFuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiNmc01lbnUgLmJ1dHRvbi5vZmYtY2FudmFzLXRyaWdnZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+AjVwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAxMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1pbmRlbnQ6IDA7XG4gIGZvbnQtc2l6ZTogMzRweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuI2ZzTWVudSAubmF2aWdhdGlvbi5tYWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG4gIHBhZGRpbmc6IDIwcHggMCAxMHB4O1xufVxuI2ZzTWVudSAubmF2aWdhdGlvbi5tYWluIHVsLmZzTmF2TGV2ZWwxIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbiNmc01lbnUgLm5hdmlnYXRpb24ubWFpbiB1bC5mc05hdkxldmVsMSBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xufVxuI2ZzTWVudSAubmF2aWdhdGlvbi5tYWluIHVsLmZzTmF2TGV2ZWwxIGxpLmZzTmF2Q3VycmVudFBhZ2UgPiBhLCAjZnNNZW51IC5uYXZpZ2F0aW9uLm1haW4gdWwuZnNOYXZMZXZlbDEgbGkuZnNOYXZDdXJyZW50UGFnZUFuY2VzdG9yID4gYSB7XG4gIGNvbG9yOiAjN2NiMTAxO1xufVxuI2ZzTWVudSAubmF2aWdhdGlvbi5tYWluIHVsLmZzTmF2TGV2ZWwxIGxpIHNwYW4uc3ViLXRyaWdnZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMjVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNmc01lbnUgLm5hdmlnYXRpb24ubWFpbiB1bC5mc05hdkxldmVsMSBsaSBzcGFuLnN1Yi10cmlnZ2VyOmFmdGVyIHtcbiAgY29udGVudDogXCLvhIdcIjtcbiAgZm9udC1zaXplOiAxLjdlbTtcbiAgY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG4jZnNNZW51IC5uYXZpZ2F0aW9uLm1haW4gdWwuZnNOYXZMZXZlbDEgbGkuYWN0aXZlIHNwYW4uc3ViLXRyaWdnZXI6YWZ0ZXIge1xuICBjb250ZW50OiAnXFxmMTA2JyAhaW1wb3J0YW50O1xufVxuI2ZzTWVudSAubmF2aWdhdGlvbi5tYWluIHVsLmZzTmF2TGV2ZWwxIGxpIGEge1xuICBib3JkZXI6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMjVweCk7XG4gIGNvbG9yOiAjZmZmO1xufVxuI2ZzTWVudSAubmF2aWdhdGlvbi5tYWluIHVsLmZzTmF2TGV2ZWwxIGxpIGE6aG92ZXIge1xuICBjb2xvcjogIzdkYjMwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuI2ZzTWVudSAubmF2aWdhdGlvbi5tYWluIHVsLmZzTmF2TGV2ZWwyIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG4jZnNNZW51IC5uYXZpZ2F0aW9uLm1haW4gdWwuZnNOYXZMZXZlbDIgbGkge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG4jZnNNZW51IC5uYXZpZ2F0aW9uLm1haW4gLmZzTmF2UGFnZUluZm8ge1xuICBkaXNwbGF5OiBub25lO1xufVxuI2ZzTWVudSAubmF2aWdhdGlvbi5tYWluIHVsLmZzTmF2TGV2ZWwxIGxpLmFjdGl2ZSA+IC5mc05hdlBhZ2VJbmZvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuI2ZzTWVudSAubmF2aWdhdGlvbi51dGlsaXR5IHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cbiNmc01lbnUgLm5hdmlnYXRpb24udXRpbGl0eSB1bCxcbiNmc01lbnUgLm5hdmlnYXRpb24udXRpbGl0eSBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiNmc01lbnUgLm5hdmlnYXRpb24udXRpbGl0eSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jZnNNZW51IC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEge1xuICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG4jZnNNZW51IC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cbiNmc01lbnUgLm5hdmlnYXRpb24udXRpbGl0eSB1bC5mc05hdkxldmVsMSBsaSBzcGFuLnN1Yi10cmlnZ2VyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyNXB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA4cHg7XG4gIHJpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNmc01lbnUgLm5hdmlnYXRpb24udXRpbGl0eSB1bC5mc05hdkxldmVsMSBsaSBzcGFuLnN1Yi10cmlnZ2VyOmFmdGVyIHtcbiAgY29udGVudDogXCLvhIdcIjtcbiAgZm9udC1zaXplOiAxLjdlbTtcbiAgY29sb3I6ICM2MjY5NzA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG4ubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxIGxpLmFjdGl2ZSBzcGFuLnN1Yi10cmlnZ2VyOmFmdGVyIHtcbiAgY29udGVudDogJ1xcZjEwNicgIWltcG9ydGFudDtcbn1cbiNmc01lbnUgLm5hdmlnYXRpb24udXRpbGl0eSB1bC5mc05hdkxldmVsMSBsaSBhIHtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxLjFlbSAuOGVtIDEuMWVtIDEuMmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogIzVhODIwMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAjZnNNZW51IC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgbGkgYSB7XG4gICAgcGFkZGluZzogMS4xZW0gMS4yZW0gMS4xZW0gMi41ZW07XG4gIH1cbn1cbiNmc01lbnUgLm5hdmlnYXRpb24udXRpbGl0eSB1bC5mc05hdkxldmVsMSBsaSBhOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG4jZnNNZW51IC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjNjI2OTcwO1xufVxuI2ZzTWVudSAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxIGxpIGEgPiAuZnNFbGVtZW50Q29udGVudCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbiNmc01lbnUgLm5hdmlnYXRpb24udXRpbGl0eSB1bC5mc05hdkxldmVsMSBsaSBhIHN2ZyB7XG4gIG1heC13aWR0aDogMTVweCAhaW1wb3J0YW50O1xuICBtYXgtaGVpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxZW07XG4gIGxlZnQ6IDEwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICBmaWxsOiAjNWE4MjAwICFpbXBvcnRhbnQ7XG59XG4jZnNNZW51IC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgbGkgdWwuZnNOYXZMZXZlbDIge1xuICBtYXJnaW46IDAgMCAxZW07XG59XG4jZnNNZW51IC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgbGkgdWwuZnNOYXZMZXZlbDIgbGkgYSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXNpemU6IDE1cHg7XG4gIHBhZGRpbmc6IDEwcHggMCAxMHB4IDEwcHg7XG59XG4jZnNNZW51IC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgbGkgLmZzTmF2UGFnZUluZm8ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLm5hdmlnYXRpb24udXRpbGl0eSB1bC5mc05hdkxldmVsMSBsaS5hY3RpdmUgPiAuZnNOYXZQYWdlSW5mbyB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4ubmF2aWdhdGlvbi5zb2NpYWwgdWwsXG4ubmF2aWdhdGlvbi5zb2NpYWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ubmF2aWdhdGlvbi5zb2NpYWwgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5uYXZpZ2F0aW9uLnNvY2lhbCBuYXYge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG4ubmF2aWdhdGlvbi5zb2NpYWwgdWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cbi5uYXZpZ2F0aW9uLnNvY2lhbCB1bCBsaSB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwLjVweDtcbiAgcGFkZGluZy1sZWZ0OiAxMC41cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4yMmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjVweDtcbn1cbi5uYXZpZ2F0aW9uLnNvY2lhbCBhIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDM4cHg7XG4gIGhlaWdodDogMzhweDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubmF2aWdhdGlvbi5zb2NpYWwgYTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmlnYXRpb24uc29jaWFsIGE6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtaW5kZW50OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogNTAlO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMjVweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgY29sb3I6ICNmZmY7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbn1cbi5uYXZpZ2F0aW9uLnNvY2lhbCBhW2hyZWYqPSdmYWNlYm9vayddOmFmdGVyIHtcbiAgY29udGVudDogXCLvgppcIjtcbn1cbi5uYXZpZ2F0aW9uLnNvY2lhbCBhW2hyZWYqPSdnb29nbGUnXTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74OVXCI7XG59XG4ubmF2aWdhdGlvbi5zb2NpYWwgYVtocmVmKj0naW5zdGFncmFtJ106YWZ0ZXIge1xuICBjb250ZW50OiBcIu+FrVwiO1xufVxuLm5hdmlnYXRpb24uc29jaWFsIGFbaHJlZio9J2xpbmtlZGluJ106YWZ0ZXIge1xuICBjb250ZW50OiBcIu+DoVwiO1xufVxuLm5hdmlnYXRpb24uc29jaWFsIGFbaHJlZio9J2Jsb2cnXTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74KeXCI7XG59XG4ubmF2aWdhdGlvbi5zb2NpYWwgYVtocmVmKj0ndHdpdHRlciddOmFmdGVyIHtcbiAgY29udGVudDogXCLvgplcIjtcbn1cbi5uYXZpZ2F0aW9uLnNvY2lhbCBhW2hyZWYqPSd5b3V0dWJlJ106YWZ0ZXIge1xuICBjb250ZW50OiBcIu+FqlwiO1xufVxuXG4jZnNGb290ZXIgLnNvY2lhbCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgI2ZzRm9vdGVyIC5zb2NpYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxufVxuI2ZzRm9vdGVyIC5zb2NpYWwgPiBoZWFkZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmZzQ29tcG9zZU1vZGUgI2ZzRm9vdGVyIC5zb2NpYWwgPiBoZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzgwcHgpIHtcbiAgI2ZzRm9vdGVyIC5zb2NpYWwgLmZzRWxlbWVudENvbnRlbnQgdWwuZnNOYXZMZXZlbDEge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG4jZnNGb290ZXIgLnNvY2lhbCAuZnNFbGVtZW50Q29udGVudCB1bC5mc05hdkxldmVsMSA+IC5icmVhayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWluZGVudDogLTk5OWVtO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgI2ZzRm9vdGVyIC5zb2NpYWwgLmZzRWxlbWVudENvbnRlbnQgdWwuZnNOYXZMZXZlbDEgPiAuYnJlYWsge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiNmc0Zvb3RlciAuc29jaWFsIC5mc0VsZW1lbnRDb250ZW50IGEge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4jZnNGb290ZXIgLnNvY2lhbCAuZnNFbGVtZW50Q29udGVudCBhOmFmdGVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG4jZnNGb290ZXIgLnNvY2lhbCAuZnNFbGVtZW50Q29udGVudCBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuI2ZzRm9vdGVyIC5zb2NpYWwgLmZzRWxlbWVudENvbnRlbnQgYTpob3ZlcjphZnRlciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAjMTczODYyO1xufVxuXG4uZnNOZXdzIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qU2xpZGVzaG93Ki9cbn1cbi5mc05ld3MgPiBoZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5mc05ld3MgPiBoZWFkZXIgLmZzRWxlbWVudFRpdGxlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBjb2xvcjogIzE3Mzg2MjtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLmZzTmV3czpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4uZnNOZXdzOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmZzTmV3cyBpbWcge1xuICBib3JkZXItYm90dG9tOiA1cHggc29saWQgIzUxNmE4OTtcbn1cbi5mc05ld3MgYXJ0aWNsZSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4uZnNOZXdzIGFydGljbGU6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLmZzTmV3cyAuZnNUaHVtYm5haWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5mc05ld3MgLmZzVGh1bWJuYWlsIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuI2ZzQmFubmVyUmlnaHQgLmZzTmV3cyAuZnNUaHVtYm5haWwgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4jZnNCYW5uZXJMZWZ0IC5mc05ld3MgLmZzVGh1bWJuYWlsIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmZzTmV3cyAuZnNUaXRsZSB7XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmZzTmV3cyAuZnNUaXRsZSBhOmhvdmVyIHtcbiAgY29sb3I6ICM1MTZhODk7XG59XG4uZnNOZXdzIC5mc0RhdGVUaW1lIHtcbiAgbWFyZ2luOiAwIDAgNXB4O1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGNvbG9yOiAjNDI0MjQyO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjNWY1ZjVmO1xufVxuLmZzTmV3cyAuZnNTdW1tYXJ5IHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzMzMzMzO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG4uZnNOZXdzIC5mc1N1bW1hcnkgcCB7XG4gIG1hcmdpbjogMDtcbn1cbi5mc05ld3MgLmZzU3VtbWFyeSA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLmZzTmV3cy5mc1NsaWRlc2hvdyAuZnNFbGVtZW50Q29udGVudCB7XG4gIG1hcmdpbjogMDtcbn1cbi5mc05ld3MuZnNTbGlkZXNob3cgYXJ0aWNsZSB7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG4uZnNOZXdzLmZzU2xpZGVzaG93IC5mc1BhZ2VyIHNwYW4ge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBjb2xvciAxMDBtcywgb3BhY2l0eSAxMDBtcztcbn1cbi5mc05ld3MuZnNTbGlkZXNob3cgLmZzUGFnZXIgc3Bhbi5mc1N0YXRlQWN0aXZlIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IDE7XG59XG4uZnNOZXdzLmZzR3JpZCAuZnNOZXdzR3JpZCB7XG4gIHpvb206IDE7XG59XG4uZnNOZXdzLmZzR3JpZCAuZnNOZXdzR3JpZDphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogJyc7XG59XG4uZnNOZXdzLmZzR3JpZCBhcnRpY2xlIHtcbiAgY2xlYXI6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZVR3b0NvbHVtbnMgYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDQ5JTtcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZVR3b0NvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoM24tMSkge1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZVR3b0NvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoM24rMSkge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlVHdvQ29sdW1ucyBhcnRpY2xlOm50aC1jaGlsZCg0bi0yKSB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlVHdvQ29sdW1ucyBhcnRpY2xlOm50aC1jaGlsZCg0bi0xKSB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlVHdvQ29sdW1ucyBhcnRpY2xlOm50aC1jaGlsZCg0bisxKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVUd29Db2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDVuLTMpIHtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVUd29Db2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDVuLTIpIHtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVUd29Db2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDVuLTEpIHtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVUd29Db2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDVuKzEpIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZVR3b0NvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQob2RkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxJTtcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZVR3b0NvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoZXZlbikge1xuICAgIG1hcmdpbi1sZWZ0OiAxJTtcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZVR3b0NvbHVtbnMgYXJ0aWNsZTpudGgtb2YtdHlwZSgybiszKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZVRocmVlQ29sdW1ucyBhcnRpY2xlIHtcbiAgICB3aWR0aDogNDklO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlVGhyZWVDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDNuLTEpIHtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVUaHJlZUNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoM24rMSkge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlVGhyZWVDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDRuLTIpIHtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVUaHJlZUNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoNG4tMSkge1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZVRocmVlQ29sdW1ucyBhcnRpY2xlOm50aC1jaGlsZCg0bisxKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVUaHJlZUNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoNW4tMykge1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZVRocmVlQ29sdW1ucyBhcnRpY2xlOm50aC1jaGlsZCg1bi0yKSB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlVGhyZWVDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDVuLTEpIHtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVUaHJlZUNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoNW4rMSkge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlVGhyZWVDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKG9kZCkge1xuICAgIG1hcmdpbi1yaWdodDogMSU7XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVUaHJlZUNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoZXZlbikge1xuICAgIG1hcmdpbi1sZWZ0OiAxJTtcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZVRocmVlQ29sdW1ucyBhcnRpY2xlOm50aC1vZi10eXBlKDJuKzMpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlVGhyZWVDb2x1bW5zIGFydGljbGUge1xuICAgIHdpZHRoOiAzMiU7XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVUaHJlZUNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQob2RkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlVGhyZWVDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZVRocmVlQ29sdW1ucyBhcnRpY2xlOm50aC1jaGlsZCgybisxKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVUaHJlZUNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoNG4tMikge1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZVRocmVlQ29sdW1ucyBhcnRpY2xlOm50aC1jaGlsZCg0bi0xKSB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlVGhyZWVDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDRuKzEpIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZVRocmVlQ29sdW1ucyBhcnRpY2xlOm50aC1jaGlsZCg1bi0zKSB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlVGhyZWVDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDVuLTIpIHtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVUaHJlZUNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoNW4tMSkge1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZVRocmVlQ29sdW1ucyBhcnRpY2xlOm50aC1jaGlsZCg1bisxKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVUaHJlZUNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoM24tMSkge1xuICAgIG1hcmdpbjogMCAyJTtcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZVRocmVlQ29sdW1ucyBhcnRpY2xlOm50aC1vZi10eXBlKDJuKzMpIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZVRocmVlQ29sdW1ucyBhcnRpY2xlOm50aC1vZi10eXBlKDNuKzQpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlRm91ckNvbHVtbnMgYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDQ5JTtcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZUZvdXJDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDNuLTEpIHtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVGb3VyQ29sdW1ucyBhcnRpY2xlOm50aC1jaGlsZCgzbisxKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVGb3VyQ29sdW1ucyBhcnRpY2xlOm50aC1jaGlsZCg0bi0yKSB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlRm91ckNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoNG4tMSkge1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZUZvdXJDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDRuKzEpIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZUZvdXJDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDVuLTMpIHtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVGb3VyQ29sdW1ucyBhcnRpY2xlOm50aC1jaGlsZCg1bi0yKSB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlRm91ckNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoNW4tMSkge1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZUZvdXJDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDVuKzEpIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZUZvdXJDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKG9kZCkge1xuICAgIG1hcmdpbi1yaWdodDogMSU7XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVGb3VyQ29sdW1ucyBhcnRpY2xlOm50aC1jaGlsZChldmVuKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDElO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlRm91ckNvbHVtbnMgYXJ0aWNsZTpudGgtb2YtdHlwZSgybiszKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZUZvdXJDb2x1bW5zIGFydGljbGUge1xuICAgIHdpZHRoOiAyMy41JTtcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZUZvdXJDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKG9kZCkge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZUZvdXJDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZUZvdXJDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZUZvdXJDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDNuLTEpIHtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVGb3VyQ29sdW1ucyBhcnRpY2xlOm50aC1jaGlsZCgzbisxKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVGb3VyQ29sdW1ucyBhcnRpY2xlOm50aC1jaGlsZCg1bi0zKSB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlRm91ckNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoNW4tMikge1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZUZvdXJDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDVuLTEpIHtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVGb3VyQ29sdW1ucyBhcnRpY2xlOm50aC1jaGlsZCg1bisxKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVGb3VyQ29sdW1ucyBhcnRpY2xlOm50aC1jaGlsZCg0bi0yKSB7XG4gICAgbWFyZ2luOiAwIDElIDAgMiU7XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVGb3VyQ29sdW1ucyBhcnRpY2xlOm50aC1jaGlsZCg0bi0xKSB7XG4gICAgbWFyZ2luOiAwIDIlIDAgMSU7XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVGb3VyQ29sdW1ucyBhcnRpY2xlOm50aC1vZi10eXBlKDJuKzMpIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZUZvdXJDb2x1bW5zIGFydGljbGU6bnRoLW9mLXR5cGUoNG4rNSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVGaXZlQ29sdW1ucyBhcnRpY2xlIHtcbiAgICB3aWR0aDogNDklO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlRml2ZUNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoM24tMSkge1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZUZpdmVDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZUZpdmVDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDRuLTIpIHtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVGaXZlQ29sdW1ucyBhcnRpY2xlOm50aC1jaGlsZCg0bi0xKSB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlRml2ZUNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoNG4rMSkge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlRml2ZUNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoNW4tMykge1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZUZpdmVDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDVuLTIpIHtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVGaXZlQ29sdW1ucyBhcnRpY2xlOm50aC1jaGlsZCg1bi0xKSB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlRml2ZUNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoNW4rMSkge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlRml2ZUNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQob2RkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxJTtcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZUZpdmVDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBtYXJnaW4tbGVmdDogMSU7XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVGaXZlQ29sdW1ucyBhcnRpY2xlOm50aC1vZi10eXBlKDJuKzMpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlRml2ZUNvbHVtbnMgYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDE4LjQlO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlRml2ZUNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQob2RkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlRml2ZUNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoZXZlbikge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlRml2ZUNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoMm4rMSkge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlRml2ZUNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoM24tMSkge1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZUZpdmVDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZUZpdmVDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDRuLTIpIHtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgLmZzTmV3cy5mc0dyaWQgLmZzU3R5bGVGaXZlQ29sdW1ucyBhcnRpY2xlOm50aC1jaGlsZCg0bi0xKSB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlRml2ZUNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoNG4rMSkge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlRml2ZUNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoNW4tMykge1xuICAgIG1hcmdpbjogMCAxJSAwIDIlO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlRml2ZUNvbHVtbnMgYXJ0aWNsZTpudGgtY2hpbGQoNW4tMikge1xuICAgIG1hcmdpbjogMCAxJTtcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZUZpdmVDb2x1bW5zIGFydGljbGU6bnRoLWNoaWxkKDVuLTEpIHtcbiAgICBtYXJnaW46IDAgMiUgMCAxJTtcbiAgfVxuICAuZnNOZXdzLmZzR3JpZCAuZnNTdHlsZUZpdmVDb2x1bW5zIGFydGljbGU6bnRoLW9mLXR5cGUoMm4rMykge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5mc05ld3MuZnNHcmlkIC5mc1N0eWxlRml2ZUNvbHVtbnMgYXJ0aWNsZTpudGgtb2YtdHlwZSg1bis2KSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLmZzQWxlcnRGZWVkcyB7XG4gIHpvb206IDE7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuLmZzQWxlcnRGZWVkczphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogJyc7XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyogU2VhcmNoIFZhcmlhYmxlcyAgICAgICovXG4vKj09PT09PT09PT09PT09PT09PT09PT09Ki9cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyogTm9ybWFsaXplIFNlYXJjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbmZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMsIC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtLnNlYXJjaCBmb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuZm9ybS5nc2Mtc2VhcmNoLWJveC10b29scyB0YWJsZSwgLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0uc2VhcmNoIGZvcm0gdGFibGUge1xuICBib3JkZXI6IDA7XG59XG5mb3JtLmdzYy1zZWFyY2gtYm94LXRvb2xzIHRhYmxlLFxuZm9ybS5nc2Mtc2VhcmNoLWJveC10b29scyB0Ym9keSxcbmZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMgdHIsXG5mb3JtLmdzYy1zZWFyY2gtYm94LXRvb2xzIHRkLCAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybS5zZWFyY2ggZm9ybSB0YWJsZSxcbi5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtLnNlYXJjaCBmb3JtIHRib2R5LFxuLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0uc2VhcmNoIGZvcm0gdHIsXG4uZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybS5zZWFyY2ggZm9ybSB0ZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuZm9ybS5nc2Mtc2VhcmNoLWJveC10b29scyB0ZC5nc2MtaW5wdXQsIC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtLnNlYXJjaCBmb3JtIHRkLmdzYy1pbnB1dCB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbn1cbmZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMgdGFibGUuZ3NjLXNlYXJjaC1ib3gsIC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtLnNlYXJjaCBmb3JtIHRhYmxlLmdzYy1zZWFyY2gtYm94IHtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbmZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMgZGl2LmdzYy1pbnB1dC1ib3gsIGZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMgLmZzU3R5bGVTZWFyY2hGaWVsZC5mc1N0eWxlRGVmYXVsdEZpZWxkLCAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybS5zZWFyY2ggZm9ybSBkaXYuZ3NjLWlucHV0LWJveCwgLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0uc2VhcmNoIGZvcm0gLmZzU3R5bGVTZWFyY2hGaWVsZC5mc1N0eWxlRGVmYXVsdEZpZWxkIHtcbiAgbWluLXdpZHRoOiAxNDBweDtcbiAgYm9yZGVyOiAwO1xuICBoZWlnaHQ6IDQ2cHg7XG59XG5mb3JtLmdzYy1zZWFyY2gtYm94LXRvb2xzIGRpdi5nc2MtaW5wdXQtYm94LmdzYy1pbnB1dC1ib3gtZm9jdXMsIGZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMgLmZzU3R5bGVTZWFyY2hGaWVsZC5mc1N0eWxlRGVmYXVsdEZpZWxkLmdzYy1pbnB1dC1ib3gtZm9jdXMsIC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtLnNlYXJjaCBmb3JtIGRpdi5nc2MtaW5wdXQtYm94LmdzYy1pbnB1dC1ib3gtZm9jdXMsIC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtLnNlYXJjaCBmb3JtIC5mc1N0eWxlU2VhcmNoRmllbGQuZnNTdHlsZURlZmF1bHRGaWVsZC5nc2MtaW5wdXQtYm94LWZvY3VzIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbmZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMgZGl2LmdzYy1pbnB1dC1ib3ggdGFibGUsXG5mb3JtLmdzYy1zZWFyY2gtYm94LXRvb2xzIGRpdi5nc2MtaW5wdXQtYm94IHRib2R5LFxuZm9ybS5nc2Mtc2VhcmNoLWJveC10b29scyBkaXYuZ3NjLWlucHV0LWJveCB0cixcbmZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMgZGl2LmdzYy1pbnB1dC1ib3ggdGQsIGZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMgLmZzU3R5bGVTZWFyY2hGaWVsZC5mc1N0eWxlRGVmYXVsdEZpZWxkIHRhYmxlLFxuZm9ybS5nc2Mtc2VhcmNoLWJveC10b29scyAuZnNTdHlsZVNlYXJjaEZpZWxkLmZzU3R5bGVEZWZhdWx0RmllbGQgdGJvZHksXG5mb3JtLmdzYy1zZWFyY2gtYm94LXRvb2xzIC5mc1N0eWxlU2VhcmNoRmllbGQuZnNTdHlsZURlZmF1bHRGaWVsZCB0cixcbmZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMgLmZzU3R5bGVTZWFyY2hGaWVsZC5mc1N0eWxlRGVmYXVsdEZpZWxkIHRkLCAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybS5zZWFyY2ggZm9ybSBkaXYuZ3NjLWlucHV0LWJveCB0YWJsZSxcbi5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtLnNlYXJjaCBmb3JtIGRpdi5nc2MtaW5wdXQtYm94IHRib2R5LFxuLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0uc2VhcmNoIGZvcm0gZGl2LmdzYy1pbnB1dC1ib3ggdHIsXG4uZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybS5zZWFyY2ggZm9ybSBkaXYuZ3NjLWlucHV0LWJveCB0ZCwgLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0uc2VhcmNoIGZvcm0gLmZzU3R5bGVTZWFyY2hGaWVsZC5mc1N0eWxlRGVmYXVsdEZpZWxkIHRhYmxlLFxuLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0uc2VhcmNoIGZvcm0gLmZzU3R5bGVTZWFyY2hGaWVsZC5mc1N0eWxlRGVmYXVsdEZpZWxkIHRib2R5LFxuLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0uc2VhcmNoIGZvcm0gLmZzU3R5bGVTZWFyY2hGaWVsZC5mc1N0eWxlRGVmYXVsdEZpZWxkIHRyLFxuLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0uc2VhcmNoIGZvcm0gLmZzU3R5bGVTZWFyY2hGaWVsZC5mc1N0eWxlRGVmYXVsdEZpZWxkIHRkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDA7XG4gIGhlaWdodDogNDZweDtcbn1cbmZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMgdGQuZ3NpYl9hLCAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybS5zZWFyY2ggZm9ybSB0ZC5nc2liX2Ege1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5mb3JtLmdzYy1zZWFyY2gtYm94LXRvb2xzIHRkLmdzaWJfYiwgLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0uc2VhcmNoIGZvcm0gdGQuZ3NpYl9iIHtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuZm9ybS5nc2Mtc2VhcmNoLWJveC10b29scyB0ZC5nc2MtaW5wdXQsIC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtLnNlYXJjaCBmb3JtIHRkLmdzYy1pbnB1dCB7XG4gIGZsb2F0OiBub25lO1xufVxuZm9ybS5nc2Mtc2VhcmNoLWJveC10b29scyBpbnB1dC5nc2MtaW5wdXQsIGZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMgLmZzU3R5bGVTZWFyY2hGaWVsZC5mc1N0eWxlRGVmYXVsdEZpZWxkLCAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybS5zZWFyY2ggZm9ybSBpbnB1dC5nc2MtaW5wdXQsIC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtLnNlYXJjaCBmb3JtIC5mc1N0eWxlU2VhcmNoRmllbGQuZnNTdHlsZURlZmF1bHRGaWVsZCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0NnB4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNjM2MjYyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmctcmlnaHQ6IDQ2cHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5mb3JtLmdzYy1zZWFyY2gtYm94LXRvb2xzIC5mc0J1dHRvbkNsZWFyLCAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybS5zZWFyY2ggZm9ybSAuZnNCdXR0b25DbGVhciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbmZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMgdGFibGUuZ3NjLWJyYW5kaW5nLCAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybS5zZWFyY2ggZm9ybSB0YWJsZS5nc2MtYnJhbmRpbmcge1xuICBkaXNwbGF5OiBub25lO1xufVxuZm9ybS5nc2Mtc2VhcmNoLWJveC10b29scyB0ZC5nc2Mtc2VhcmNoLWJ1dHRvbiwgZm9ybS5nc2Mtc2VhcmNoLWJveC10b29scyAuZnNTZWFyY2hFbGVtZW50U2VhcmNoQnV0dG9uLmZzU3R5bGVVcGRhdGVCdXR0b24sIC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtLnNlYXJjaCBmb3JtIHRkLmdzYy1zZWFyY2gtYnV0dG9uLCAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybS5zZWFyY2ggZm9ybSAuZnNTZWFyY2hFbGVtZW50U2VhcmNoQnV0dG9uLmZzU3R5bGVVcGRhdGVCdXR0b24ge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIHRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogNDZweDtcbiAgd2lkdGg6IDQ2cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDU7XG4gIGNvbG9yOiAjZWVlO1xufVxuZm9ybS5nc2Mtc2VhcmNoLWJveC10b29scyB0ZC5nc2Mtc2VhcmNoLWJ1dHRvbjphZnRlciwgZm9ybS5nc2Mtc2VhcmNoLWJveC10b29scyAuZnNTZWFyY2hFbGVtZW50U2VhcmNoQnV0dG9uLmZzU3R5bGVVcGRhdGVCdXR0b246YWZ0ZXIsIC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtLnNlYXJjaCBmb3JtIHRkLmdzYy1zZWFyY2gtYnV0dG9uOmFmdGVyLCAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybS5zZWFyY2ggZm9ybSAuZnNTZWFyY2hFbGVtZW50U2VhcmNoQnV0dG9uLmZzU3R5bGVVcGRhdGVCdXR0b246YWZ0ZXIge1xuICBjb250ZW50OiBcIu+AglwiO1xuICBjb250ZW50OiAjZWVlO1xuICBvcGFjaXR5OiAxO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuZm9ybS5nc2Mtc2VhcmNoLWJveC10b29scyB0ZC5nc2Mtc2VhcmNoLWJ1dHRvbjpob3ZlciwgZm9ybS5nc2Mtc2VhcmNoLWJveC10b29scyAuZnNTZWFyY2hFbGVtZW50U2VhcmNoQnV0dG9uLmZzU3R5bGVVcGRhdGVCdXR0b246aG92ZXIsIC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtLnNlYXJjaCBmb3JtIHRkLmdzYy1zZWFyY2gtYnV0dG9uOmhvdmVyLCAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybS5zZWFyY2ggZm9ybSAuZnNTZWFyY2hFbGVtZW50U2VhcmNoQnV0dG9uLmZzU3R5bGVVcGRhdGVCdXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZmY7XG59XG5mb3JtLmdzYy1zZWFyY2gtYm94LXRvb2xzIGlucHV0LmdzYy1zZWFyY2gtYnV0dG9uLCBmb3JtLmdzYy1zZWFyY2gtYm94LXRvb2xzIC5mc1NlYXJjaEVsZW1lbnRTZWFyY2hCdXR0b24uZnNTdHlsZVVwZGF0ZUJ1dHRvbiwgLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0uc2VhcmNoIGZvcm0gaW5wdXQuZ3NjLXNlYXJjaC1idXR0b24sIC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtLnNlYXJjaCBmb3JtIC5mc1NlYXJjaEVsZW1lbnRTZWFyY2hCdXR0b24uZnNTdHlsZVVwZGF0ZUJ1dHRvbiB7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiA0NnB4O1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAvKiBXZWJLaXQsIEJsaW5rLCBFZGdlICovXG4gIGNvbG9yOiAjNjM2MjYyO1xufVxuXG46LW1vei1wbGFjZWhvbGRlciB7XG4gIC8qIE1vemlsbGEgRmlyZWZveCA0IHRvIDE4ICovXG4gIGNvbG9yOiAjNjM2MjYyO1xuICBvcGFjaXR5OiAxO1xufVxuXG46Oi1tb3otcGxhY2Vob2xkZXIge1xuICAvKiBNb3ppbGxhIEZpcmVmb3ggMTkrICovXG4gIGNvbG9yOiAjNjM2MjYyO1xuICBvcGFjaXR5OiAxO1xufVxuXG46LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTAtMTEgKi9cbiAgY29sb3I6ICM2MzYyNjI7XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyogSGVhZGVyIFN0eWxlcyAgICAgICAgICovXG4vKj09PT09PT09PT09PT09PT09PT09PT09Ki9cbiNmc0hlYWRlciAuZnNTZWFyY2guZnNTZWFyY2hGaWVsZCwgI2ZzSGVhZGVyIC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAzMCU7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4jZnNIZWFkZXIgLmZzU2VhcmNoLmZzU2VhcmNoRmllbGQgLmZzRmllbGRMYWJlbCwgI2ZzSGVhZGVyIC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtIC5mc0ZpZWxkTGFiZWwge1xuICBmb250LXNpemU6IDA7XG4gIGhlaWdodDogMDtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5wYWdlLXNlYXJjaC1vcGVuICNmc0hlYWRlciAuZnNTZWFyY2guZnNTZWFyY2hGaWVsZCwgLnBhZ2Utc2VhcmNoLW9wZW4gI2ZzSGVhZGVyIC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtIHtcbiAgbWF4LWhlaWdodDogNjZweDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuI2ZzSGVhZGVyIC5mc1NlYXJjaC5mc1NlYXJjaEZpZWxkIC5mc0VsZW1lbnRDb250ZW50IHRkLmdzYy1zZWFyY2gtYnV0dG9uLCAjZnNIZWFkZXIgLmZzU2VhcmNoLmZzU2VhcmNoRmllbGQgLmZzRWxlbWVudENvbnRlbnQgLmZzU2VhcmNoRWxlbWVudFNlYXJjaEJ1dHRvbi5mc1N0eWxlVXBkYXRlQnV0dG9uLCAjZnNIZWFkZXIgLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0gLmZzRWxlbWVudENvbnRlbnQgdGQuZ3NjLXNlYXJjaC1idXR0b24sICNmc0hlYWRlciAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybSAuZnNFbGVtZW50Q29udGVudCAuZnNTZWFyY2hFbGVtZW50U2VhcmNoQnV0dG9uLmZzU3R5bGVVcGRhdGVCdXR0b24ge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIHRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgI2ZzSGVhZGVyIC5mc1NlYXJjaC5mc1NlYXJjaEZpZWxkIC5mc0VsZW1lbnRDb250ZW50IHRkLmdzYy1zZWFyY2gtYnV0dG9uLCAjZnNIZWFkZXIgLmZzU2VhcmNoLmZzU2VhcmNoRmllbGQgLmZzRWxlbWVudENvbnRlbnQgLmZzU2VhcmNoRWxlbWVudFNlYXJjaEJ1dHRvbi5mc1N0eWxlVXBkYXRlQnV0dG9uLCAjZnNIZWFkZXIgLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0gLmZzRWxlbWVudENvbnRlbnQgdGQuZ3NjLXNlYXJjaC1idXR0b24sICNmc0hlYWRlciAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybSAuZnNFbGVtZW50Q29udGVudCAuZnNTZWFyY2hFbGVtZW50U2VhcmNoQnV0dG9uLmZzU3R5bGVVcGRhdGVCdXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzM4NjI7XG4gIH1cbn1cbiNmc0hlYWRlciAuZnNTZWFyY2guZnNTZWFyY2hGaWVsZCAuZnNFbGVtZW50Q29udGVudCBpbnB1dC5nc2MtaW5wdXQsICNmc0hlYWRlciAuZnNTZWFyY2guZnNTZWFyY2hGaWVsZCAuZnNFbGVtZW50Q29udGVudCAuZnNTdHlsZVNlYXJjaEZpZWxkLmZzU3R5bGVEZWZhdWx0RmllbGQsICNmc0hlYWRlciAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybSAuZnNFbGVtZW50Q29udGVudCBpbnB1dC5nc2MtaW5wdXQsICNmc0hlYWRlciAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybSAuZnNFbGVtZW50Q29udGVudCAuZnNTdHlsZVNlYXJjaEZpZWxkLmZzU3R5bGVEZWZhdWx0RmllbGQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIHRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgI2ZzSGVhZGVyIC5mc1NlYXJjaC5mc1NlYXJjaEZpZWxkIC5mc0VsZW1lbnRDb250ZW50IGlucHV0LmdzYy1pbnB1dCwgI2ZzSGVhZGVyIC5mc1NlYXJjaC5mc1NlYXJjaEZpZWxkIC5mc0VsZW1lbnRDb250ZW50IC5mc1N0eWxlU2VhcmNoRmllbGQuZnNTdHlsZURlZmF1bHRGaWVsZCwgI2ZzSGVhZGVyIC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtIC5mc0VsZW1lbnRDb250ZW50IGlucHV0LmdzYy1pbnB1dCwgI2ZzSGVhZGVyIC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtIC5mc0VsZW1lbnRDb250ZW50IC5mc1N0eWxlU2VhcmNoRmllbGQuZnNTdHlsZURlZmF1bHRGaWVsZCB7XG4gICAgcGFkZGluZy1yaWdodDogNjZweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyogRHJhd2VyLVNwZWNpZmljIFN0eWxlcyAgICAgICAgICovXG4vKj09PT09PT09PT09PT09PT09PT09PT09Ki9cbiNmc01lbnUgLmZzU2VhcmNoLmZzU2VhcmNoRmllbGQsICNmc01lbnUgLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDEwcHg7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbn1cbiNmc01lbnUgLmZzU2VhcmNoLmZzU2VhcmNoRmllbGQgZm9ybS5nc2Mtc2VhcmNoLWJveC10b29scyAuZnNGaWVsZExhYmVsLCAjZnNNZW51IC5mc1NlYXJjaC5mc1NlYXJjaEZpZWxkIGZvcm0gLmZzRmllbGRMYWJlbCwgI2ZzTWVudSAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybSBmb3JtLmdzYy1zZWFyY2gtYm94LXRvb2xzIC5mc0ZpZWxkTGFiZWwsICNmc01lbnUgLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0gZm9ybSAuZnNGaWVsZExhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xufVxuI2ZzTWVudSAuZnNTZWFyY2guZnNTZWFyY2hGaWVsZCBmb3JtLmdzYy1zZWFyY2gtYm94LXRvb2xzIGRpdi5nc2MtaW5wdXQtYm94LCAjZnNNZW51IC5mc1NlYXJjaC5mc1NlYXJjaEZpZWxkIGZvcm0gZGl2LmdzYy1pbnB1dC1ib3gsICNmc01lbnUgLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0gZm9ybS5nc2Mtc2VhcmNoLWJveC10b29scyBkaXYuZ3NjLWlucHV0LWJveCwgI2ZzTWVudSAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybSBmb3JtIGRpdi5nc2MtaW5wdXQtYm94IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbiNmc01lbnUgLmZzU2VhcmNoLmZzU2VhcmNoRmllbGQgZm9ybS5nc2Mtc2VhcmNoLWJveC10b29scyBpbnB1dC5nc2MtaW5wdXQsICNmc01lbnUgLmZzU2VhcmNoLmZzU2VhcmNoRmllbGQgZm9ybS5nc2Mtc2VhcmNoLWJveC10b29scyBpbnB1dCwgI2ZzTWVudSAuZnNTZWFyY2guZnNTZWFyY2hGaWVsZCBmb3JtIGlucHV0LmdzYy1pbnB1dCwgI2ZzTWVudSAuZnNTZWFyY2guZnNTZWFyY2hGaWVsZCBmb3JtIGlucHV0LCAjZnNNZW51IC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtIGZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMgaW5wdXQuZ3NjLWlucHV0LCAjZnNNZW51IC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtIGZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMgaW5wdXQsICNmc01lbnUgLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0gZm9ybSBpbnB1dC5nc2MtaW5wdXQsICNmc01lbnUgLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0gZm9ybSBpbnB1dCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuI2ZzTWVudSAuZnNTZWFyY2guZnNTZWFyY2hGaWVsZCBmb3JtLmdzYy1zZWFyY2gtYm94LXRvb2xzIHRkLmdzYy1zZWFyY2gtYnV0dG9uLCAjZnNNZW51IC5mc1NlYXJjaC5mc1NlYXJjaEZpZWxkIGZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMgLmZzU2VhcmNoRWxlbWVudFNlYXJjaEJ1dHRvbi5mc1N0eWxlVXBkYXRlQnV0dG9uLCAjZnNNZW51IC5mc1NlYXJjaC5mc1NlYXJjaEZpZWxkIGZvcm0gdGQuZ3NjLXNlYXJjaC1idXR0b24sICNmc01lbnUgLmZzU2VhcmNoLmZzU2VhcmNoRmllbGQgZm9ybSAuZnNTZWFyY2hFbGVtZW50U2VhcmNoQnV0dG9uLmZzU3R5bGVVcGRhdGVCdXR0b24sICNmc01lbnUgLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0gZm9ybS5nc2Mtc2VhcmNoLWJveC10b29scyB0ZC5nc2Mtc2VhcmNoLWJ1dHRvbiwgI2ZzTWVudSAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybSBmb3JtLmdzYy1zZWFyY2gtYm94LXRvb2xzIC5mc1NlYXJjaEVsZW1lbnRTZWFyY2hCdXR0b24uZnNTdHlsZVVwZGF0ZUJ1dHRvbiwgI2ZzTWVudSAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybSBmb3JtIHRkLmdzYy1zZWFyY2gtYnV0dG9uLCAjZnNNZW51IC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtIGZvcm0gLmZzU2VhcmNoRWxlbWVudFNlYXJjaEJ1dHRvbi5mc1N0eWxlVXBkYXRlQnV0dG9uIHtcbiAgY29sb3I6ICM1ZjVmNWY7XG59XG4jZnNNZW51IC5mc1NlYXJjaC5mc1NlYXJjaEZpZWxkIGZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMgdGQuZ3NjLXNlYXJjaC1idXR0b246YWZ0ZXIsICNmc01lbnUgLmZzU2VhcmNoLmZzU2VhcmNoRmllbGQgZm9ybS5nc2Mtc2VhcmNoLWJveC10b29scyAuZnNTZWFyY2hFbGVtZW50U2VhcmNoQnV0dG9uLmZzU3R5bGVVcGRhdGVCdXR0b246YWZ0ZXIsICNmc01lbnUgLmZzU2VhcmNoLmZzU2VhcmNoRmllbGQgZm9ybSB0ZC5nc2Mtc2VhcmNoLWJ1dHRvbjphZnRlciwgI2ZzTWVudSAuZnNTZWFyY2guZnNTZWFyY2hGaWVsZCBmb3JtIC5mc1NlYXJjaEVsZW1lbnRTZWFyY2hCdXR0b24uZnNTdHlsZVVwZGF0ZUJ1dHRvbjphZnRlciwgI2ZzTWVudSAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybSBmb3JtLmdzYy1zZWFyY2gtYm94LXRvb2xzIHRkLmdzYy1zZWFyY2gtYnV0dG9uOmFmdGVyLCAjZnNNZW51IC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtIGZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMgLmZzU2VhcmNoRWxlbWVudFNlYXJjaEJ1dHRvbi5mc1N0eWxlVXBkYXRlQnV0dG9uOmFmdGVyLCAjZnNNZW51IC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtIGZvcm0gdGQuZ3NjLXNlYXJjaC1idXR0b246YWZ0ZXIsICNmc01lbnUgLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0gZm9ybSAuZnNTZWFyY2hFbGVtZW50U2VhcmNoQnV0dG9uLmZzU3R5bGVVcGRhdGVCdXR0b246YWZ0ZXIge1xuICBmb250LXNpemU6IDE2cHg7XG59XG4jZnNNZW51IC5mc1NlYXJjaC5mc1NlYXJjaEZpZWxkIGZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMgLmZzU2VhcmNoRWxlbWVudFNlYXJjaEJ1dHRvbi5mc1N0eWxlVXBkYXRlQnV0dG9uLCAjZnNNZW51IC5mc1NlYXJjaC5mc1NlYXJjaEZpZWxkIGZvcm0gLmZzU2VhcmNoRWxlbWVudFNlYXJjaEJ1dHRvbi5mc1N0eWxlVXBkYXRlQnV0dG9uLCAjZnNNZW51IC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtIGZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMgLmZzU2VhcmNoRWxlbWVudFNlYXJjaEJ1dHRvbi5mc1N0eWxlVXBkYXRlQnV0dG9uLCAjZnNNZW51IC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtIGZvcm0gLmZzU2VhcmNoRWxlbWVudFNlYXJjaEJ1dHRvbi5mc1N0eWxlVXBkYXRlQnV0dG9uIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG4gIHdpZHRoOiA0NnB4O1xuICBvcGFjaXR5OiAxO1xuICBmb250LXNpemU6IDA7XG59XG4jZnNNZW51IC5mc1NlYXJjaC5mc1NlYXJjaEZpZWxkIGZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMgLmZzU2VhcmNoRWxlbWVudFNlYXJjaEJ1dHRvbi5mc1N0eWxlVXBkYXRlQnV0dG9uOmFmdGVyLCAjZnNNZW51IC5mc1NlYXJjaC5mc1NlYXJjaEZpZWxkIGZvcm0gLmZzU2VhcmNoRWxlbWVudFNlYXJjaEJ1dHRvbi5mc1N0eWxlVXBkYXRlQnV0dG9uOmFmdGVyLCAjZnNNZW51IC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtIGZvcm0uZ3NjLXNlYXJjaC1ib3gtdG9vbHMgLmZzU2VhcmNoRWxlbWVudFNlYXJjaEJ1dHRvbi5mc1N0eWxlVXBkYXRlQnV0dG9uOmFmdGVyLCAjZnNNZW51IC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtIGZvcm0gLmZzU2VhcmNoRWxlbWVudFNlYXJjaEJ1dHRvbi5mc1N0eWxlVXBkYXRlQnV0dG9uOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzVmNWY1Zjtcbn1cblxuLyogXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDQ2cHg7XG4gICAgd2lkdGg6IDQ2cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiA1O1xuICAgIGNvbG9yOiAjZWVlO1xuICAgICovXG4jZnNIZWFkZXIgLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0uc2VhcmNoIGZvcm0gLmZzU2VhcmNoRWxlbWVudFNlYXJjaEJ1dHRvbi5mc1N0eWxlVXBkYXRlQnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3Mzg2MjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiA0NnB4O1xuICB3aWR0aDogNDZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA1O1xuICBjb2xvcjogI2VlZTtcbiAgbGVmdDogYXV0bztcbiAgb3BhY2l0eTogMTtcbiAgZm9udC1zaXplOiAwO1xufVxuI2ZzSGVhZGVyIC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtLnNlYXJjaCBmb3JtIC5mc1NlYXJjaEVsZW1lbnRTZWFyY2hCdXR0b24uZnNTdHlsZVVwZGF0ZUJ1dHRvbjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMnB4O1xuICB0b3A6IGNhbGMoNTAlICsgLTFweCk7XG4gIGZvbnQtc2l6ZTogMjJweDtcbn1cbiNmc0hlYWRlciAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybS5zZWFyY2ggZm9ybSAuZnNTZWFyY2hFbGVtZW50U2VhcmNoQnV0dG9uLmZzU3R5bGVVcGRhdGVCdXR0b246aG92ZXIsICNmc0hlYWRlciAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybS5zZWFyY2ggZm9ybSAuZnNTZWFyY2hFbGVtZW50U2VhcmNoQnV0dG9uLmZzU3R5bGVVcGRhdGVCdXR0b246Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbn1cbiNmc0hlYWRlciAuZnNTZWFyY2hFbGVtZW50LmZzU2VhcmNoRm9ybS5zZWFyY2ggZm9ybSAuZnNTZWFyY2hFbGVtZW50S2V5d29yZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5mc1NlYXJjaEVsZW1lbnQgLmZzU2VhcmNoUmVzdWx0SW5mbyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTlFOUU5O1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cblxuLmZzVGFicyB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5mc1RhYnMgLmZzVGFic05hdiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAuZnNUYWJzIC5mc1RhYnNOYXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4uZnNUYWJzIC5mc1RhYnNOYXYgbGkge1xuICBtYXJnaW4tcmlnaHQ6IDJweDtcbn1cbi5mc1RhYnMgLmZzVGFic05hdiBsaSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTJweCAxNXB4O1xuICBiYWNrZ3JvdW5kOiAjNWE4MjAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uZnNUYWJzIC5mc1RhYnNOYXYgbGkgYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMxNzM4NjI7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmZzVGFicyAuZnNUYWJzTmF2IGxpLmZzU3RhdGVTZWxlY3RlZCBhIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICM1YTgyMDA7XG4gIGJvcmRlci1jb2xvcjogI2JlYmViZTtcbn1cbi5mc1RhYnMgLmZzRWxlbWVudENvbnRlbnQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG4uZnNUYWJzIC5mc1BhbmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLmZzVGFicyAuZnNQYW5lbCA+IGhlYWRlciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiAjMTczODYyO1xuICBib3JkZXI6IDAgc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uZnNUYWJzIC5mc1BhbmVsID4gaGVhZGVyIGgyIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgcGFkZGluZzogMTBweCAxMnB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4uZnNUYWJzIC5mc1BhbmVsID4gaGVhZGVyIGgyOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkljb01vb25cIjtcbn1cbi5mc1RhYnMgLmZzUGFuZWwgPiBoZWFkZXIgaDI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgbdcIjtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xufVxuLmZzVGFicyAuZnNQYW5lbCA+IGhlYWRlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM1YTgyMDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uZnNUYWJzIC5mc1BhbmVsID4gaGVhZGVyOmhvdmVyIGgyIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uZnNUYWJzIC5mc1BhbmVsID4gLmZzRWxlbWVudENvbnRlbnQge1xuICBib3JkZXI6IDAgc29saWQgI2JlYmViZTtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MDBweCkge1xuICAuZnNUYWJzIC5mc1BhbmVsID4gLmZzRWxlbWVudENvbnRlbnQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxufVxuLmZzVGFicyAuZnNQYW5lbC5mc1N0YXRlT3BlbiA+IGhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICM2MjY5NzA7XG4gIGJvcmRlci1jb2xvcjogI2JlYmViZTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uZnNUYWJzIC5mc1BhbmVsLmZzU3RhdGVPcGVuID4gaGVhZGVyIGgyIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uZnNUYWJzIC5mc1BhbmVsLmZzU3RhdGVPcGVuID4gaGVhZGVyIGgyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74G4XCI7XG59XG4uZnNUYWJzIC5mc1BhbmVsLmZzU3RhdGVPcGVuID4gLmZzRWxlbWVudENvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmZzUGFuZWxHcm91cC5mc1RhYnMgPiAuZnNFbGVtZW50Q29udGVudCA+IC5mc1BhbmVsID4gLmZzRWxlbWVudEFjdGlvbkJ1dHRvbkNvbnRhaW5lcixcbi5mc1BhbmVsR3JvdXAuZnNUYWJzID4gLmZzRWxlbWVudENvbnRlbnQgPiAuZnNQYW5lbCA+IGhlYWRlciwgLmZzUGFuZWxHcm91cC5mc1RhYnMgPiAuZnNFbGVtZW50Q29udGVudCA+IC5mc1BhbmVsOm5vdCguZnNTdGF0ZU9wZW4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmZzUGFuZWxHcm91cC5mc1RhYnMgPiAuZnNFbGVtZW50Q29udGVudCA+IC5mc1BhbmVsID4gLmZzRWxlbWVudEFjdGlvbkJ1dHRvbkNvbnRhaW5lcixcbiAgLmZzUGFuZWxHcm91cC5mc1RhYnMgPiAuZnNFbGVtZW50Q29udGVudCA+IC5mc1BhbmVsID4gaGVhZGVyLCAuZnNQYW5lbEdyb3VwLmZzVGFicyA+IC5mc0VsZW1lbnRDb250ZW50ID4gLmZzUGFuZWw6bm90KC5mc1N0YXRlT3Blbikge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuI2ZzSGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAjZnNIZWFkZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbi5oYXMtbWFzdGhlYWQgI2ZzSGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA1O1xufVxuLmhhcy1tYXN0aGVhZCAuZnNDb21wb3NlTW9kZSAjZnNIZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICB6LWluZGV4OiBhdXRvO1xufVxuLmZzQ29tcG9zZU1vZGUgI2ZzSGVhZGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiNmc0hlYWRlciBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuI2ZzSGVhZGVyID4gLmZzQmFubmVyIHtcbiAgbWluLWhlaWdodDogOThweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuI2ZzSGVhZGVyIGhlYWRlciAuZnNFbGVtZW50VGl0bGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuI2ZzSGVhZGVyIGhlYWRlciAuZnNFbGVtZW50SGVhZGVyQ29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vZmYtY2FudmFzLXRyaWdnZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA1OHB4O1xuICB3aWR0aDogNThweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDMwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICBwYWRkaW5nOiAwO1xufVxuLm9mZi1jYW52YXMtdHJpZ2dlciBzcGFuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5vZmYtY2FudmFzLXRyaWdnZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuLm9mZi1jYW52YXMtdHJpZ2dlcjpob3ZlciBpbWcge1xuICAtd2Via2l0LWZpbHRlcjogZHJvcC1zaGFkb3coMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4zKSk7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4zKSk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLm9mZi1jYW52YXMtdHJpZ2dlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4jZnNIZWFkZXIgLmJyYW5kaW5nIHtcbiAgei1pbmRleDogMTA7XG4gIHdpZHRoOiA1MCU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgI2ZzSGVhZGVyIC5icmFuZGluZyB7XG4gICAgd2lkdGg6IDM4MHB4O1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgI2ZzSGVhZGVyIC5icmFuZGluZyB7XG4gICAgd2lkdGg6IDc0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzgwcHgpIHtcbiAgI2ZzSGVhZGVyIC5icmFuZGluZyB7XG4gICAgd2lkdGg6IDM4MHB4O1xuICB9XG59XG4jZnNIZWFkZXIgLmJyYW5kaW5nID4gaGVhZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiNmc0hlYWRlciAuYnJhbmRpbmcgPiAuZnNFbGVtZW50Q29udGVudCBoMSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuI2ZzSGVhZGVyIC5icmFuZGluZyA+IC5mc0VsZW1lbnRDb250ZW50IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEzLjMzMzMzMzMzMzNweCAwO1xuICBtaW4taGVpZ2h0OiAxMDFweDtcbiAgZm9udC1zaXplOiAyNXB4O1xuICBsaW5lLWhlaWdodDogMS4xZW07XG59XG4jZnNIZWFkZXIgLmJyYW5kaW5nID4gLmZzRWxlbWVudENvbnRlbnQgc3Bhbi5zY2hvb2xuYW1lLCAjZnNIZWFkZXIgLmJyYW5kaW5nID4gLmZzRWxlbWVudENvbnRlbnQgaDEuc2Nob29sbmFtZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgI2ZzSGVhZGVyIC5icmFuZGluZyA+IC5mc0VsZW1lbnRDb250ZW50IHNwYW4uc2Nob29sbmFtZSwgI2ZzSGVhZGVyIC5icmFuZGluZyA+IC5mc0VsZW1lbnRDb250ZW50IGgxLnNjaG9vbG5hbWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAxMDRweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgfVxuICAjZnNIZWFkZXIgLmJyYW5kaW5nID4gLmZzRWxlbWVudENvbnRlbnQgc3Bhbi5zY2hvb2xuYW1lIHN0cm9uZywgI2ZzSGVhZGVyIC5icmFuZGluZyA+IC5mc0VsZW1lbnRDb250ZW50IGgxLnNjaG9vbG5hbWUgc3Ryb25nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICNmc0hlYWRlciAuYnJhbmRpbmcgPiAuZnNFbGVtZW50Q29udGVudCBzcGFuLnNjaG9vbG5hbWUsICNmc0hlYWRlciAuYnJhbmRpbmcgPiAuZnNFbGVtZW50Q29udGVudCBoMS5zY2hvb2xuYW1lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM4MHB4KSB7XG4gICNmc0hlYWRlciAuYnJhbmRpbmcgPiAuZnNFbGVtZW50Q29udGVudCBzcGFuLnNjaG9vbG5hbWUsICNmc0hlYWRlciAuYnJhbmRpbmcgPiAuZnNFbGVtZW50Q29udGVudCBoMS5zY2hvb2xuYW1lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiA4NnB4O1xuICB9XG59XG4jZnNIZWFkZXIgLmJyYW5kaW5nID4gLmZzRWxlbWVudENvbnRlbnQgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiA3NHB4O1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWF4LWhlaWdodDogNzRweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAjZnNIZWFkZXIgLmJyYW5kaW5nID4gLmZzRWxlbWVudENvbnRlbnQgaW1nIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4jZnNIZWFkZXIgLnV0aWxpdGllcyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW46IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgI2ZzSGVhZGVyIC51dGlsaXRpZXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4jZnNIZWFkZXIgLnV0aWxpdGllcyAuZnNFbGVtZW50Q29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAjZnNIZWFkZXIgLnV0aWxpdGllcyAuZnNFbGVtZW50Q29udGVudCB7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICB9XG59XG4jZnNIZWFkZXIgLnV0aWxpdGllcyAuc2Nob29sLWRldGFpbHMge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDExMDBweCkge1xuICAjZnNIZWFkZXIgLnV0aWxpdGllcyAuc2Nob29sLWRldGFpbHMge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMi41ZW07XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDQ1JTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICNmc0hlYWRlciAudXRpbGl0aWVzIHNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG59XG4jZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLFxuI2ZzSGVhZGVyIC51dGlsaXRpZXMgLm5hdmlnYXRpb24udXRpbGl0eSBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkge1xuICAgIGhlaWdodDogNDRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiA0N3B4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0N3B4KTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDExMDBweCkge1xuICAjZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHtcbiAgICB3aWR0aDogNTUlO1xuICB9XG59XG4jZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxIHtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4jZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxID4gbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogLTAuMjJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuI2ZzSGVhZGVyIC51dGlsaXRpZXMgLm5hdmlnYXRpb24udXRpbGl0eSB1bC5mc05hdkxldmVsMSA+IGxpOmhvdmVyLCAjZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxID4gbGk6Zm9jdXMsICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaS5tZW51LW9wZW4sICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaS5tZW51LWl0ZW0tb3BlbiB7XG4gIGJhY2tncm91bmQ6ICM2MjY5NzA7XG59XG4jZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxID4gbGk6aG92ZXIgYSwgI2ZzSGVhZGVyIC51dGlsaXRpZXMgLm5hdmlnYXRpb24udXRpbGl0eSB1bC5mc05hdkxldmVsMSA+IGxpOmZvY3VzIGEsICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaS5tZW51LW9wZW4gYSwgI2ZzSGVhZGVyIC51dGlsaXRpZXMgLm5hdmlnYXRpb24udXRpbGl0eSB1bC5mc05hdkxldmVsMSA+IGxpLm1lbnUtaXRlbS1vcGVuIGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbiNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaTpob3ZlciBhIHN2ZywgI2ZzSGVhZGVyIC51dGlsaXRpZXMgLm5hdmlnYXRpb24udXRpbGl0eSB1bC5mc05hdkxldmVsMSA+IGxpOmZvY3VzIGEgc3ZnLCAjZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxID4gbGkubWVudS1vcGVuIGEgc3ZnLCAjZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxID4gbGkubWVudS1pdGVtLW9wZW4gYSBzdmcge1xuICBmaWxsOiB3aGl0ZTtcbn1cbiNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEge1xuICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEuMWVtIC44ZW0gMS4xZW0gMS4yZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgI2ZzSGVhZGVyIC51dGlsaXRpZXMgLm5hdmlnYXRpb24udXRpbGl0eSB1bC5mc05hdkxldmVsMSA+IGxpID4gYSB7XG4gICAgcGFkZGluZzogMS4xZW0gMS4yZW0gMS4xZW0gMi41ZW07XG4gIH1cbn1cbiNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGE6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cbiNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEgPiAuZnNFbGVtZW50Q29udGVudCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbiNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEgPiAuZnNFbGVtZW50Q29udGVudCA+IGRpdiB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbiNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEgc3ZnIHtcbiAgbWF4LXdpZHRoOiAxNXB4ICFpbXBvcnRhbnQ7XG4gIG1heC1oZWlnaHQ6IDE1cHggIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogLTI0cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICBmaWxsOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4jZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxID4gbGkucXVpY2tsaW5rcyBhIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjFlbTtcbn1cbiNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaS5xdWlja2xpbmtzIGE6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTkwMCc7XG4gIGZvbnQtZmFtaWx5OiBcIkljb01vb25cIjtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuI2ZzSGVhZGVyIC51dGlsaXRpZXMgLm5hdmlnYXRpb24udXRpbGl0eSAuZnNOYXZQYWdlSW5mbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA5OS41JTtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjNjI2OTcwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuI2ZzSGVhZGVyIC51dGlsaXRpZXMgLm5hdmlnYXRpb24udXRpbGl0eSAuZnNOYXZQYWdlSW5mbyB1bC5mc05hdkxldmVsMiB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG4jZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IC5mc05hdlBhZ2VJbmZvIHVsLmZzTmF2TGV2ZWwyID4gbGkge1xuICBtYXJnaW46IDAgMCAuNWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbiNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgLmZzTmF2UGFnZUluZm8gdWwuZnNOYXZMZXZlbDIgPiBsaSBhIHtcbiAgcGFkZGluZzogMCA2LjY2NjY2NjY2NjdweDtcbn1cbiNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgLmZzTmF2UGFnZUluZm8gdWwuZnNOYXZMZXZlbDIgPiBsaSBhOmhvdmVyLCAjZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IC5mc05hdlBhZ2VJbmZvIHVsLmZzTmF2TGV2ZWwyID4gbGkgYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuI2ZzSGVhZGVyIC51dGlsaXRpZXMgLm5hdmlnYXRpb24udXRpbGl0eSBsaTpob3ZlciAuZnNOYXZQYWdlSW5mbywgI2ZzSGVhZGVyIC51dGlsaXRpZXMgLm5hdmlnYXRpb24udXRpbGl0eSBsaTpmb2N1cyAuZnNOYXZQYWdlSW5mbywgI2ZzSGVhZGVyIC51dGlsaXRpZXMgLm5hdmlnYXRpb24udXRpbGl0eSBsaS5tZW51LW9wZW4gLmZzTmF2UGFnZUluZm8sICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgbGkubWVudS1pdGVtLW9wZW4gLmZzTmF2UGFnZUluZm8ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zY2hvb2wyMSAjZnNIZWFkZXIgLnV0aWxpdGllcyAuc2Nob29sLWRldGFpbHMge1xuICBjb2xvcjogIzVmNWY1Zjtcbn1cbi5zY2hvb2wyMSAjZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHtcbiAgY29sb3I6ICM1ZjVmNWY7XG59XG4uc2Nob29sMjEgI2ZzSGVhZGVyIC51dGlsaXRpZXMgLm5hdmlnYXRpb24udXRpbGl0eSB1bC5mc05hdkxldmVsMSA+IGxpID4gYSBzdmcge1xuICBmaWxsOiAjMmQ3OGFlO1xufVxuLnNjaG9vbDIxICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGE6aG92ZXIge1xuICBjb2xvcjogI0ZGRjtcbn1cbi5zY2hvb2wyMSAjZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhOmhvdmVyIHN2ZyB7XG4gIGZpbGw6ICNGRkY7XG59XG4uc2Nob29sMjEgI2ZzSGVhZGVyIC51dGlsaXRpZXMgLm5hdmlnYXRpb24udXRpbGl0eSB1bC5mc05hdkxldmVsMSA+IGxpOmhvdmVyIGEsIC5zY2hvb2wyMSAjZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxID4gbGk6Zm9jdXMgYSwgLnNjaG9vbDIxICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaS5tZW51LW9wZW4gYSwgLnNjaG9vbDIxICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaS5tZW51LWl0ZW0tb3BlbiBhIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cbi5zY2hvb2wyMSAjZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxID4gbGk6aG92ZXIgYSBzdmcsIC5zY2hvb2wyMSAjZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxID4gbGk6Zm9jdXMgYSBzdmcsIC5zY2hvb2wyMSAjZnNIZWFkZXIgLnV0aWxpdGllcyAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxID4gbGkubWVudS1vcGVuIGEgc3ZnLCAuc2Nob29sMjEgI2ZzSGVhZGVyIC51dGlsaXRpZXMgLm5hdmlnYXRpb24udXRpbGl0eSB1bC5mc05hdkxldmVsMSA+IGxpLm1lbnUtaXRlbS1vcGVuIGEgc3ZnIHtcbiAgZmlsbDogI2ZmZiAhaW1wb3J0YW50O1xufVxuLnNjaG9vbDIxICNmc0hlYWRlciAudXRpbGl0aWVzIC5zZWFyY2gtdHJpZ2dlcjphZnRlciB7XG4gIGNvbG9yOiAjMmQ3OGFlO1xufVxuLnNjaG9vbDIxICNmc0hlYWRlciAudXRpbGl0aWVzIC5zZWFyY2gtdHJpZ2dlcjpob3Zlcjo6YWZ0ZXIge1xuICBjb2xvcjogI0ZGRjtcbn1cblxuLnN1Yi1uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZDogIzE3Mzg2Mjtcbn1cbi5oYXMtc3ViLW5hdmlnYXRpb24gLnN1Yi1uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uaGFzLXN1Yi1uYXZpZ2F0aW9uIC5zdWItbmF2aWdhdGlvbi5tYXN0aGVhZC1hbHRlcm5hdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnN1Yi1uYXZpZ2F0aW9uID4gaGVhZGVyIC5mc0VsZW1lbnRUaXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc3ViLW5hdmlnYXRpb24gPiBoZWFkZXIgLmZzRWxlbWVudEhlYWRlckNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMCAwIDEwcHggMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogIzE3Mzg2MjtcbiAgZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uc3ViLW5hdmlnYXRpb24gPiBoZWFkZXIgLmZzRWxlbWVudEhlYWRlckNvbnRlbnQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+BlFwiO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuLnN1Yi1uYXZpZ2F0aW9uID4gLmZzRWxlbWVudENvbnRlbnQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIHRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnN1Yi1uYXZpZ2F0aW9uID4gLmZzRWxlbWVudENvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gIH1cbn1cbi5zdWItbmF2aWdhdGlvbi1vcGVuIC5zdWItbmF2aWdhdGlvbiA+IGhlYWRlciAuZnNFbGVtZW50SGVhZGVyQ29udGVudDphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74G4XCI7XG59XG4uc3ViLW5hdmlnYXRpb24tb3BlbiAuc3ViLW5hdmlnYXRpb24gPiAuZnNFbGVtZW50Q29udGVudCB7XG4gIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cbi5zdWItbmF2aWdhdGlvbiBuYXYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTE0NnB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4uc3ViLW5hdmlnYXRpb24gbmF2IHVsLFxuLnN1Yi1uYXZpZ2F0aW9uIG5hdiBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5zdWItbmF2aWdhdGlvbiBuYXYgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnN1Yi1uYXZpZ2F0aW9uIG5hdiB1bC5mc05hdkxldmVsMSB7XG4gIG1hcmdpbjogMDtcbn1cbi5zdWItbmF2aWdhdGlvbiBuYXYgdWwuZnNOYXZMZXZlbDEgPiBsaSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmZmO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5zdWItbmF2aWdhdGlvbiBuYXYgdWwuZnNOYXZMZXZlbDEgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yMmVtO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gIH1cbn1cbi5zdWItbmF2aWdhdGlvbiBuYXYgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTRweCAyMHB4O1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzc1O1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3Mzg2Mjtcbn1cbi5zdWItbmF2aWdhdGlvbiBuYXYgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGE6aG92ZXIge1xuICBjb2xvcjogIzgzYTE0MDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3Mzg2Mjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAuc3ViLW5hdmlnYXRpb24gbmF2IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS4zNzU7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDIxLjVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjEuNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuc3ViLW5hdmlnYXRpb24gbmF2IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nOiAzN3B4IDhweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuc3ViLW5hdmlnYXRpb24gbmF2IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtaW4td2lkdGg6IDEzMDBweCkge1xuICAuc3ViLW5hdmlnYXRpb24gbmF2IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtaW4td2lkdGg6IDEzODBweCkge1xuICAuc3ViLW5hdmlnYXRpb24gbmF2IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtaW4td2lkdGg6IDE0ODBweCkge1xuICAuc3ViLW5hdmlnYXRpb24gbmF2IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtaW4td2lkdGg6IDEzODBweCkge1xuICAuc3ViLW5hdmlnYXRpb24gbmF2IHVsLmZzTmF2TGV2ZWwxID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nLXRvcDogMjEuNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMS41cHg7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbn1cblxuLnN1Yi1uYXZpZ2F0aW9uIG5hdiB1bC5mc05hdkxldmVsMSA+IGxpLmZzTmF2Q3VycmVudFBhZ2UgPiBhLCAuc3ViLW5hdmlnYXRpb24gbmF2IHVsLmZzTmF2TGV2ZWwxID4gbGkuZnNOYXZDdXJyZW50UGFnZUFuY2VzdG9yID4gYSB7XG4gIGNvbG9yOiAjNWE4MjAwO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uc2VhcmNoLXRyaWdnZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogIzJkNDEwMDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICB0ZXh0LWluZGVudDogLTk5OWVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG59XG4uc2VhcmNoLXRyaWdnZXIgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnNlYXJjaC10cmlnZ2VyIHNwYW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnBhZ2Utc2VhcmNoLW9wZW4gLnNlYXJjaC10cmlnZ2VyIHtcbiAgY29sb3I6ICM4M2ExNDA7XG59XG4uc2VhcmNoLXRyaWdnZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+AglwiO1xuICBmb250LXNpemU6IDIycHg7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAwO1xuICB0ZXh0LWluZGVudDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xufVxuLnNlYXJjaC10cmlnZ2VyOmhvdmVyOmFmdGVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2VhcmNoLXRyaWdnZXI6aG92ZXIgYSB7XG4gIGJhY2tncm91bmQ6ICMxMjJjNGQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM4MHB4KSB7XG4gIC5zZWFyY2gtdHJpZ2dlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLnNraXAtbGluaywgLnNraXAtbGluayBwIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uc2tpcC1saW5rIGEge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTQycHg7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDZweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IHRvcCAxcyBlYXNlLW91dCxiYWNrZ3JvdW5kIDFzIGxpbmVhcjtcbiAgei1pbmRleDogOTk5OTtcbn1cblxuLnNraXAtbGluayBhOmZvY3VzIHtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiB0b3AgLjFzIGVhc2UtaW4sYmFja2dyb3VuZCAuNXMgbGluZWFyO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNWY1ZjVmO1xufVxuXG4jZnNCYW5uZXJMZWZ0ID4gLmZzQmFubmVyID4gKjpub3QoLmZzTmF2aWdhdGlvbikge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gICNmc0Jhbm5lckxlZnQgPiAuZnNCYW5uZXIgPiAqOm5vdCguZnNOYXZpZ2F0aW9uKSB7XG4gICAgZGlzcGxheTogaW5oZXJpdDtcbiAgfVxufVxuXG4jZnNGb290ZXIge1xuICBwYWRkaW5nOiA0MHB4IDIwcHg7XG59XG4jZnNGb290ZXIgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbiNmc0Zvb3RlciA+IC5mc0Jhbm5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNzE0Mjg1NzE0MztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDExNDZweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gICNmc0Zvb3RlciA+IC5mc0Jhbm5lciB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuI2ZzRm9vdGVyID4gLmZzQmFubmVyIGhlYWRlciAuZnNFbGVtZW50VGl0bGUge1xuICBjb2xvcjogIzE3Mzg2MjtcbiAgZm9udC1mYW1pbHk6IFwiZ2FyYW1vbmQtcHJlbWllci1wcm9cIiwgVGltZXMsIHNlcmlmO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzgwcHgpIHtcbiAgI2ZzRm9vdGVyID4gLmZzQmFubmVyIGhlYWRlciAuZnNFbGVtZW50VGl0bGUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbiNmc0Zvb3RlciA+IC5mc0Jhbm5lciBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4jZnNGb290ZXIgPiAuZnNCYW5uZXIgYTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4jZnNGb290ZXIgLmNvbnRhY3Qge1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBmb250LXNpemU6IDE1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM4MHB4KSB7XG4gICNmc0Zvb3RlciAuY29udGFjdCB7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxufVxuI2ZzRm9vdGVyIC5jb250YWN0ID4gaGVhZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5mc0NvbXBvc2VNb2RlICNmc0Zvb3RlciAuY29udGFjdCA+IGhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEzODBweCkge1xuICAjZnNGb290ZXIgLmNvbnRhY3QgLmZzRWxlbWVudENvbnRlbnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbiNmc0Zvb3RlciAuY29udGFjdCBbaXRlbXByb3A9J25hbWUnXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDIwcHg7XG59XG4jZnNGb290ZXIgLmNvbnRhY3QgW2l0ZW1wcm9wPSdhZGRyZXNzJ10ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNmc0Zvb3RlciAuY29udGFjdCBbaXRlbXByb3A9J3N0cmVldEFkZHJlc3MnXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiNmc0Zvb3RlciAuY29udGFjdCBbaXRlbXByb3A9J3N0cmVldEFkZHJlc3MnXTphZnRlciB7XG4gIGhlaWdodDogMWVtO1xuICB3aWR0aDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbiNmc0Zvb3RlciAuY29udGFjdCBbaXRlbXByb3A9J3RlbGVwaG9uZSddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1ZW07XG59XG4jZnNGb290ZXIgLmNvbnRhY3QgW2l0ZW1wcm9wPSd0ZWxlcGhvbmUnXSxcbiNmc0Zvb3RlciAuY29udGFjdCBbaXRlbXByb3A9J2ZheCddIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuI2ZzRm9vdGVyIC5mb290ZXItbGlua3Mge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBmb250LXNpemU6IDE1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4jZnNGb290ZXIgLmZvb3Rlci1saW5rcyB1bCxcbiNmc0Zvb3RlciAuZm9vdGVyLWxpbmtzIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuI2ZzRm9vdGVyIC5mb290ZXItbGlua3MgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuI2ZzRm9vdGVyIC5mb290ZXItbGlua3MgPiBoZWFkZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmZzQ29tcG9zZU1vZGUgI2ZzRm9vdGVyIC5mb290ZXItbGlua3MgPiBoZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNmc0Zvb3RlciAuZm9vdGVyLWxpbmtzIC5mc0VsZW1lbnRDb250ZW50IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiNmc0Zvb3RlciAuZm9vdGVyLWxpbmtzIC5mc0VsZW1lbnRDb250ZW50IG5hdiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAjZnNGb290ZXIgLmZvb3Rlci1saW5rcyAuZnNFbGVtZW50Q29udGVudCBuYXYge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzgwcHgpIHtcbiAgI2ZzRm9vdGVyIC5mb290ZXItbGlua3MgLmZzRWxlbWVudENvbnRlbnQgbmF2IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbiNmc0Zvb3RlciAuZm9vdGVyLWxpbmtzIC5mc0VsZW1lbnRDb250ZW50IHVsLmZzTmF2TGV2ZWwxIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgI2ZzRm9vdGVyIC5mb290ZXItbGlua3MgLmZzRWxlbWVudENvbnRlbnQgdWwuZnNOYXZMZXZlbDEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzgwcHgpIHtcbiAgI2ZzRm9vdGVyIC5mb290ZXItbGlua3MgLmZzRWxlbWVudENvbnRlbnQgdWwuZnNOYXZMZXZlbDEge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICB9XG4gICNmc0Zvb3RlciAuZm9vdGVyLWxpbmtzIC5mc0VsZW1lbnRDb250ZW50IHVsLmZzTmF2TGV2ZWwxOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuI2ZzRm9vdGVyIC5mb290ZXItbGlua3MgLmZzRWxlbWVudENvbnRlbnQgdWwuZnNOYXZMZXZlbDEgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZmZmO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuI2ZzRm9vdGVyIC5mb290ZXItbGlua3MgLmZzRWxlbWVudENvbnRlbnQgdWwuZnNOYXZMZXZlbDEgbGk6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgYm9yZGVyOiAwO1xufVxuI2ZzRm9vdGVyIC5mb290ZXItbGlua3MgLmZzRWxlbWVudENvbnRlbnQgdWwuZnNOYXZMZXZlbDEgbGkgYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuI2ZzRm9vdGVyIC5mb290ZXItbGlua3MgLmZzRWxlbWVudENvbnRlbnQgdWwuZnNOYXZMZXZlbDEgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuI2ZzRm9vdGVyIC5uYXZpZ2F0aW9uLmhpZXJhcmNoeSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNmc0Zvb3RlciAucG93ZXJlZC1ieS1maW5hbHNpdGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgI2ZzRm9vdGVyIC5wb3dlcmVkLWJ5LWZpbmFsc2l0ZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuI2ZzRm9vdGVyIC5wb3dlcmVkLWJ5LWZpbmFsc2l0ZSA+IC5pbm5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbiNmc0Zvb3RlciAucG93ZXJlZC1ieS1maW5hbHNpdGUgI2ZzUG93ZXJlZEJ5RmluYWxzaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2MjY5NzA7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogc2NyZWVuO1xufVxuXG4jZnNQYWdlQ29udGVudCA+IC5mc0xheW91dCAuZnNDb250ZW50Lm1hc3RoZWFkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5mc0NvbXBvc2VNb2RlICNmc1BhZ2VDb250ZW50ID4gLmZzTGF5b3V0IC5mc0NvbnRlbnQubWFzdGhlYWQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5oYXMtZGVzY3JpcHRpb24gI2ZzUGFnZUNvbnRlbnQgPiAuZnNMYXlvdXQgLmZzQ29udGVudC5kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ob21lICNmc0Jhbm5lckxlZnQsXG4uaG9tZSAjZnNCYW5uZXJSaWdodCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uaG9tZSAjZnNQYWdlQm9keVdyYXBwZXIge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG4uaG9tZSAjZnNQYWdlQm9keSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cbi5ob21lICNmc1BhZ2VDb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG4uaG9tZSAuZnNMYXlvdXQge1xuICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbn1cbi5ob21lIC5mc0xheW91dCAuZnNEaXYge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uaG9tZSAuZnNQbGF5ZXIubWFzdGhlYWQge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLmhvbWUgLmZzUGxheWVyLm1hc3RoZWFkID4gaGVhZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5mc0NvbXBvc2VNb2RlLmhvbWUgLmZzUGxheWVyLm1hc3RoZWFkIGhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmhvbWUgLmZzUGxheWVyLm1hc3RoZWFkIC5mc0VsZW1lbnRDb250ZW50IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uaG9tZSAuZnNQbGF5ZXIubWFzdGhlYWQgLmZzRWxlbWVudENvbnRlbnQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+EkFwiO1xuICAtd2Via2l0LWFuaW1hdGlvbjogYW5pbWF0ZS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbiAgLW8tYW5pbWF0aW9uOiBhbmltYXRlLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xuICBhbmltYXRpb246IGFuaW1hdGUtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjNWQ3NDkxO1xuICBmb250LXNpemU6IDYwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbi5oYXMtbWFzdGhlYWQgLmhvbWUgLmZzUGxheWVyLm1hc3RoZWFkIC5mc0VsZW1lbnRDb250ZW50IHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG4uaGFzLW1hc3RoZWFkIC5ob21lIC5mc1BsYXllci5tYXN0aGVhZCAuZnNFbGVtZW50Q29udGVudDphZnRlciB7XG4gIGNvbnRlbnQ6IG5vcm1hbDtcbn1cbi5ob21lIC5mc1BsYXllci5tYXN0aGVhZCA+IGZvb3RlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uaG9tZSAuZnNQbGF5ZXIubWFzdGhlYWQgLmNsdXN0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogNDAlO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgNTAlKTtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAuaG9tZSAuZnNQbGF5ZXIubWFzdGhlYWQgLmNsdXN0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4uaG9tZSAuZnNQbGF5ZXIubWFzdGhlYWQgLmNsdXN0ZXIgPiAuaW5uZXIge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5ob21lIC5mc1BsYXllci5tYXN0aGVhZCAuY2x1c3RlciA+IC5pbm5lciB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG59XG4uaG9tZSAuZnNQbGF5ZXIubWFzdGhlYWQgLnNsaWRlIC5pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA2MzBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vbmU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4uaG9tZSAuZnNQbGF5ZXIubWFzdGhlYWQgLnNsaWRlIC5pbWFnZSA+IC5pbm5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5ob21lIC5mc1BsYXllci5tYXN0aGVhZCAuc2xpZGUgLmltYWdlID4gLmlubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMjQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzgwcHgpIHtcbiAgLmhvbWUgLmZzUGxheWVyLm1hc3RoZWFkIC5zbGlkZSAuaW1hZ2UgPiAuaW5uZXIge1xuICAgIHBhZGRpbmctdG9wOiAyODBweDtcbiAgfVxufVxuLmhvbWUgLmZzUGxheWVyLm1hc3RoZWFkIC5zbGlkZSAuZGV0YWlscyB7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmZjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAuaG9tZSAuZnNQbGF5ZXIubWFzdGhlYWQgLnNsaWRlIC5kZXRhaWxzIHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuLmhvbWUgLmZzUGxheWVyLm1hc3RoZWFkIC5zbGlkZSAuZGV0YWlscyAudGl0bGUge1xuICBmb250LXNpemU6IDUwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBsaW5lLWhlaWdodDogNTBweDtcbiAgZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uaG9tZSAuZnNQbGF5ZXIubWFzdGhlYWQgLnNsaWRlIC5kZXRhaWxzIC5jb3B5IHtcbiAgcGFkZGluZzogMTBweCAwO1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogNTUwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4uaG9tZSAuZnNQbGF5ZXIubWFzdGhlYWQgLnNsaWRlIC5kZXRhaWxzIC5jb3B5IHAge1xuICBtYXJnaW46IDA7XG59XG4uaG9tZSAuZnNQbGF5ZXIubWFzdGhlYWQgLmNvbnRhaW5lci5tYXN0aGVhZCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5oYXMtbWFzdGhlYWQgLmhvbWUgLmZzUGxheWVyLm1hc3RoZWFkIC5jb250YWluZXIubWFzdGhlYWQge1xuICBtYXgtaGVpZ2h0OiA4NTBweDtcbn1cblxuLmhvbWUgc2VjdGlvbi5mc05ld3Mge1xuICBwYWRkaW5nOiAzOHB4IDIwcHggMDtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAuaG9tZSBzZWN0aW9uLmZzTmV3cyB7XG4gICAgcGFkZGluZy10b3A6IDM4cHg7XG4gIH1cbn1cbi5ob21lIHNlY3Rpb24uZnNOZXdzID4gaGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG4uaG9tZSBzZWN0aW9uLmZzTmV3cyA+IGhlYWRlciAuZnNFbGVtZW50VGl0bGUge1xuICBmb250LXNpemU6IDM2cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBzYW5zLXNlcmlmO1xufVxuLmhvbWUgc2VjdGlvbi5mc05ld3MgPiBoZWFkZXIgLmZzRWxlbWVudEhlYWRlckNvbnRlbnQgYSB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5ob21lIHNlY3Rpb24uZnNOZXdzIC5mc0VsZW1lbnRDb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDExNDZweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLmhvbWUgc2VjdGlvbi5mc05ld3MgLmZzRWxlbWVudENvbnRlbnQgYXJ0aWNsZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgcGFkZGluZzogMTBweCAxMHB4IDIwcHggMTBweDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDdkN2Q3O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5ob21lIHNlY3Rpb24uZnNOZXdzIC5mc0VsZW1lbnRDb250ZW50IGFydGljbGUge1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICB9XG59XG4uaG9tZS1uZXdzLXJlYWR5IC5ob21lIHNlY3Rpb24uZnNOZXdzIC5mc0VsZW1lbnRDb250ZW50IGFydGljbGUge1xuICB3aWR0aDogYXV0bztcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmhvbWUgc2VjdGlvbi5mc05ld3MgLmZzRWxlbWVudENvbnRlbnQgYXJ0aWNsZSAuZnNUaHVtYm5haWwge1xuICBtYXJnaW46IC0xMHB4IC0xMHB4IDEwcHggLTEwcHg7XG4gIG1heC1oZWlnaHQ6IDE4MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmhvbWUgc2VjdGlvbi5mc05ld3MgLmZzRWxlbWVudENvbnRlbnQgYXJ0aWNsZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmhvbWUgc2VjdGlvbi5mc0NhbGVuZGFyIHtcbiAgcGFkZGluZzogMzhweCAyMHB4IDA7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzM4NjI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHpvb206IDE7XG4gIGNvbG9yOiAjZmZmO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5ob21lIHNlY3Rpb24uZnNDYWxlbmRhciB7XG4gICAgcGFkZGluZy10b3A6IDM4cHg7XG4gIH1cbn1cbi5ob21lIHNlY3Rpb24uZnNDYWxlbmRhcjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogJyc7XG59XG4uaG9tZSBzZWN0aW9uLmZzQ2FsZW5kYXIgPiBoZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cbi5ob21lIHNlY3Rpb24uZnNDYWxlbmRhciA+IGhlYWRlciAuZnNFbGVtZW50VGl0bGUge1xuICBmb250LXNpemU6IDM2cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5ob21lIHNlY3Rpb24uZnNDYWxlbmRhciA+IGhlYWRlciAuZnNFbGVtZW50SGVhZGVyQ29udGVudCBhIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmhvbWUgc2VjdGlvbi5mc0NhbGVuZGFyIC5mc0VsZW1lbnRDb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDExNDZweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLmhvbWUgc2VjdGlvbi5mc0NhbGVuZGFyIC5mc0VsZW1lbnRDb250ZW50IGFydGljbGUge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIHRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAuaG9tZSBzZWN0aW9uLmZzQ2FsZW5kYXIgLmZzRWxlbWVudENvbnRlbnQgYXJ0aWNsZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gIH1cbn1cbi5ob21lIHNlY3Rpb24uZnNDYWxlbmRhciAuZnNFbGVtZW50Q29udGVudCBhcnRpY2xlIC5mc1RpdGxlIGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5ob21lIHNlY3Rpb24uZnNDYWxlbmRhciAuZnNFbGVtZW50Q29udGVudCBhcnRpY2xlIC5mc0RhdGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgaGVpZ2h0OiAxMzVweDtcbiAgd2lkdGg6IDEzNXB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5ob21lIHNlY3Rpb24uZnNDYWxlbmRhciAuZnNFbGVtZW50Q29udGVudCBhcnRpY2xlIC5mc0RhdGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG59XG4uaG9tZSBzZWN0aW9uLmZzQ2FsZW5kYXIgLmZzRWxlbWVudENvbnRlbnQgYXJ0aWNsZSAuZnNEYXRlIC5mc0RheU5hbWUge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLmhvbWUgc2VjdGlvbi5mc0NhbGVuZGFyIC5mc0VsZW1lbnRDb250ZW50IGFydGljbGUgLmZzRGF0ZSAuZnNNb250aCB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmctdG9wOiA0cHg7XG59XG4uaG9tZSBzZWN0aW9uLmZzQ2FsZW5kYXIgLmZzRWxlbWVudENvbnRlbnQgYXJ0aWNsZSAuZnNEYXRlIC5mc0RheSB7XG4gIGZvbnQtc2l6ZTogNzFweDtcbiAgY29sb3I6ICNmZmY7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4uaG9tZSBzZWN0aW9uLmZzQ2FsZW5kYXIgLmZzRWxlbWVudENvbnRlbnQgYXJ0aWNsZSAuZnNEYXRlIC5mc1llYXIge1xuICBjb2xvcjogI2ZmZjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NTBweCkge1xuICAuaG9tZSBzZWN0aW9uLmZzQ2FsZW5kYXIgLmZzRWxlbWVudENvbnRlbnQgYXJ0aWNsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNjBweDtcbiAgfVxuICAuaG9tZSBzZWN0aW9uLmZzQ2FsZW5kYXIgLmZzRWxlbWVudENvbnRlbnQgYXJ0aWNsZSAuZnNEYXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuLmhvbWUgLmNsdXN0ZXIge1xuICBoZWlnaHQ6IDU1cHg7XG59XG4uaG9tZSAuY2x1c3RlciA+IC5pbm5lciB7XG4gIG1hcmdpbi1yaWdodDogLTIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAgNTVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgem9vbTogMTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmhvbWUgLmNsdXN0ZXIgPiAuaW5uZXI6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6ICcnO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5ob21lIC5jbHVzdGVyID4gLmlubmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IDk1JTtcbiAgfVxufVxuLmhvbWUgLmNsdXN0ZXIgYnV0dG9uIHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBvdXRsaW5lOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMzMzcztcbiAgd2lkdGg6IDU1cHg7XG4gIGhlaWdodDogNTVweDtcbiAgY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWluZGVudDogLTY2NmVtO1xuICBvcGFjaXR5OiAuODtcbn1cbi5ob21lIC5jbHVzdGVyIGJ1dHRvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4uaG9tZSAuY2x1c3RlciBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAtd2Via2l0LWZvY3VzLXJpbmctY29sb3IgYXV0byAxcHg7XG4gIG91dGxpbmUtY29sb3I6IC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogYXV0bztcbiAgb3V0bGluZS13aWR0aDogMXB4O1xuICBvcGFjaXR5OiAxO1xufVxuLmhvbWUgLmNsdXN0ZXIgYnV0dG9uOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWluZGVudDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBiYWNrZ3JvdW5kOiBncmVlbjtcbn1cbi5ob21lIC5jbHVzdGVyIGJ1dHRvbi5wcmV2aW91cyB7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvO1xufVxuLmhvbWUgLmNsdXN0ZXIgYnV0dG9uLnByZXZpb3VzOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiL3VwbG9hZGVkL3RoZW1lcy9idWlsZC9pbWFnZXMvYW5nbGUtbGVmdC5zdmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDUwcHg7XG59XG4uaG9tZSAuY2x1c3RlciBidXR0b24ubmV4dCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xufVxuLmhvbWUgLmNsdXN0ZXIgYnV0dG9uLm5leHQ6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIvdXBsb2FkZWQvdGhlbWVzL2J1aWxkL2ltYWdlcy9hbmdsZS1yaWdodC5zdmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDUwcHg7XG59XG5cbi5ob21lIC5zbGljay1kb3RzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA0MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5ob21lIC5zbGljay1kb3RzIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM4MHB4KSB7XG4gIC5ob21lIC5zbGljay1kb3RzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICB9XG59XG4uaG9tZSAuc2xpY2stZG90cyBsaSB7XG4gIG1hcmdpbjogMCA1cHggMCAwO1xuICBsaW5lLWhlaWdodDogMTJweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uaG9tZSAuc2xpY2stZG90cyBsaSBidXR0b24ge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgaGVpZ2h0OiAxMnB4O1xuICB3aWR0aDogMTJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnBsYXlDb250cm9scyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMzBweDtcbiAgbGVmdDogMTVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAucGxheUNvbnRyb2xzIHtcbiAgICB0b3A6IDE2NXB4O1xuICAgIGxlZnQ6IDMwcHg7XG4gIH1cbn1cbi5wbGF5Q29udHJvbHMgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzVhODIwMDtcbiAgYm9yZGVyOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMjhweDtcbn1cbi5wbGF5Q29udHJvbHMgYnV0dG9uOmJlZm9yZSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmhvbWUgLmZzTWVkaWFDb250cm9sc0JvdHRvbSB7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cblxuLmNvbG9ycyBvbCB7XG4gIHpvb206IDE7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uY29sb3JzIG9sOmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiAnJztcbn1cbi5jb2xvcnMgb2wgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIGhlaWdodDogNGVtO1xuICB3aWR0aDogMzYuMzYzNjM2MzYzNiU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmNvbG9ycyBvbCBsaSB7XG4gICAgd2lkdGg6IDI3LjI3MjcyNzI3MjclO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTE0NnB4KSB7XG4gIC5jb2xvcnMgb2wgbGkge1xuICAgIHdpZHRoOiAxOC4xODE4MTgxODE4JTtcbiAgfVxufVxuLmNvbG9ycyBvbCBsaTphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzY1NjU2NTtcbn1cbi5jb2xvcnMgb2wgbGk6bnRoLW9mLXR5cGUoMSkge1xuICBiYWNrZ3JvdW5kOiAjNWY1ZjVmO1xuICBjb2xvcjogIzVmNWY1Zjtcbn1cbi5jb2xvcnMgb2wgbGk6bnRoLW9mLXR5cGUoMSk6YWZ0ZXIge1xuICBjb250ZW50OiBcIiM1ZjVmNWZcIjtcbn1cbi5jb2xvcnMgb2wgbGk6bnRoLW9mLXR5cGUoMikge1xuICBiYWNrZ3JvdW5kOiAjNWE4MjAwO1xuICBjb2xvcjogIzVhODIwMDtcbn1cbi5jb2xvcnMgb2wgbGk6bnRoLW9mLXR5cGUoMik6YWZ0ZXIge1xuICBjb250ZW50OiBcIiM1YTgyMDBcIjtcbn1cbi5jb2xvcnMgb2wgbGk6bnRoLW9mLXR5cGUoMykge1xuICBiYWNrZ3JvdW5kOiAjMTczODYyO1xuICBjb2xvcjogIzE3Mzg2Mjtcbn1cbi5jb2xvcnMgb2wgbGk6bnRoLW9mLXR5cGUoMyk6YWZ0ZXIge1xuICBjb250ZW50OiBcIiMxNzM4NjJcIjtcbn1cbi5jb2xvcnMgb2wgbGk6bnRoLW9mLXR5cGUoNCkge1xuICBiYWNrZ3JvdW5kOiAjODNhMTQwO1xuICBjb2xvcjogIzgzYTE0MDtcbn1cbi5jb2xvcnMgb2wgbGk6bnRoLW9mLXR5cGUoNCk6YWZ0ZXIge1xuICBjb250ZW50OiBcIiM4M2ExNDBcIjtcbn1cbi5jb2xvcnMgb2wgbGk6bnRoLW9mLXR5cGUoNSkge1xuICBiYWNrZ3JvdW5kOiAjNTE2YTg5O1xuICBjb2xvcjogIzUxNmE4OTtcbn1cbi5jb2xvcnMgb2wgbGk6bnRoLW9mLXR5cGUoNSk6YWZ0ZXIge1xuICBjb250ZW50OiBcIiM1MTZhODlcIjtcbn1cbi5jb2xvcnMgb2wgbGk6bnRoLW9mLXR5cGUoNikge1xuICBiYWNrZ3JvdW5kOiAjNjI2OTcwO1xuICBjb2xvcjogIzYyNjk3MDtcbn1cbi5jb2xvcnMgb2wgbGk6bnRoLW9mLXR5cGUoNik6YWZ0ZXIge1xuICBjb250ZW50OiBcIiM2MjY5NzBcIjtcbn1cbi5jb2xvcnMgb2wgbGk6bnRoLW9mLXR5cGUoNykge1xuICBiYWNrZ3JvdW5kOiAjYmViZWJlO1xuICBjb2xvcjogI2JlYmViZTtcbn1cbi5jb2xvcnMgb2wgbGk6bnRoLW9mLXR5cGUoNyk6YWZ0ZXIge1xuICBjb250ZW50OiBcIiNiZWJlYmVcIjtcbn1cbi5jb2xvcnMgb2wgbGk6bnRoLW9mLXR5cGUoOCkge1xuICBiYWNrZ3JvdW5kOiAjOGY4ZjhmO1xuICBjb2xvcjogIzhmOGY4Zjtcbn1cbi5jb2xvcnMgb2wgbGk6bnRoLW9mLXR5cGUoOCk6YWZ0ZXIge1xuICBjb250ZW50OiBcIiM4ZjhmOGZcIjtcbn1cbi5jb2xvcnMgb2wgbGk6bnRoLW9mLXR5cGUoOSkge1xuICBiYWNrZ3JvdW5kOiAjNjU2NTY1O1xuICBjb2xvcjogIzY1NjU2NTtcbn1cbi5jb2xvcnMgb2wgbGk6bnRoLW9mLXR5cGUoOSk6YWZ0ZXIge1xuICBjb250ZW50OiBcIiM2NTY1NjVcIjtcbn1cbi5jb2xvcnMgb2wgbGk6bnRoLW9mLXR5cGUoMTApIHtcbiAgYmFja2dyb3VuZDogIzQyNDI0MjtcbiAgY29sb3I6ICM0MjQyNDI7XG59XG4uY29sb3JzIG9sIGxpOm50aC1vZi10eXBlKDEwKTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIzQyNDI0MlwiO1xufVxuLmNvbG9ycyBvbCBsaTpudGgtb2YtdHlwZSgxMSkge1xuICBiYWNrZ3JvdW5kOiAjMWQxZDFkO1xuICBjb2xvcjogIzFkMWQxZDtcbn1cbi5jb2xvcnMgb2wgbGk6bnRoLW9mLXR5cGUoMTEpOmFmdGVyIHtcbiAgY29udGVudDogXCIjMWQxZDFkXCI7XG59XG5cbi5oZWFkZXJzIGgxOmFmdGVyIHtcbiAgY29udGVudDogXCIgc2l6ZTogMzhweCAvIGxpbmU6IDQycHhcIjtcbn1cbi5oZWFkZXJzIGgyOmFmdGVyIHtcbiAgY29udGVudDogXCIgc2l6ZTogMjhweCAvIGxpbmU6IDMycHhcIjtcbn1cbi5oZWFkZXJzIGgzOmFmdGVyIHtcbiAgY29udGVudDogXCIgc2l6ZTogMjRweCAvIGxpbmU6IDI4cHhcIjtcbn1cbi5oZWFkZXJzIGg0OmFmdGVyIHtcbiAgY29udGVudDogXCIgc2l6ZTogMjJweCAvIGxpbmU6IDI2cHhcIjtcbn1cbi5oZWFkZXJzIGg1OmFmdGVyIHtcbiAgY29udGVudDogXCIgc2l6ZTogMTZweCAvIGxpbmU6IDIwcHhcIjtcbn1cbi5oZWFkZXJzIGg2OmFmdGVyIHtcbiAgY29udGVudDogXCIgc2l6ZTogMTZweCAvIGxpbmU6IDI0cHhcIjtcbn1cblxuXG4iLCIvKiogXG4gKiBIdG1sNSBQbGFjZWhvbGRlciBQb2x5ZmlsbCAtIHYyLjAuOSAtIDIwMTQtMDEtMjEgXG4gKiB3ZWI6IGh0dHA6Ly9ibG9nLmdpbmFkZXIuZGUvZGV2L2pxdWVyeS9IVE1MNS1wbGFjZWhvbGRlci1wb2x5ZmlsbC8gXG4gKiBpc3N1ZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9naW5hZGVyL0hUTUw1LXBsYWNlaG9sZGVyLXBvbHlmaWxsL2lzc3VlcyBcbiAqIENvcHlyaWdodCAoYykgMjAxNCBEaXJrIEdpbmFkZXI7IExpY2Vuc2VkIE1JVCwgR1BMIFxuICovXG5cbnNwYW4ucGxhY2Vob2xkZXJ7cG9zaXRpb246YWJzb2x1dGU7Zm9udC1zaXplOjc1JTtjb2xvcjojOTk5O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7cGFkZGluZzo0cHggM3B4O3otaW5kZXg6MTtjdXJzb3I6dGV4dH1zcGFuLnBsYWNlaG9sZGVyLWhpZGUtZXhjZXB0LXNjcmVlbnJlYWRlcntjbGlwOnJlY3QoMXB4IDFweCAxcHggMXB4KTtjbGlwOnJlY3QoMXB4LDFweCwxcHgsMXB4KTtwYWRkaW5nOjAhaW1wb3J0YW50O2JvcmRlcjowIWltcG9ydGFudDtoZWlnaHQ6MXB4IWltcG9ydGFudDt3aWR0aDoxcHghaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbn1zcGFuLnBsYWNlaG9sZGVyLWhpZGV7ZGlzcGxheTpub25lfWxhYmVsLnZpc3VhbGx5aGlkZGVuLXdpdGgtcGxhY2Vob2xkZXJ7aGVpZ2h0OmF1dG8haW1wb3J0YW50O292ZXJmbG93OnZpc2libGUhaW1wb3J0YW50O3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudDtsZWZ0Oi05OTllbX0iLCJAaW1wb3J0ICdwbGFjZWhvbGRlcl9wb2x5ZmlsbC5taW4nO1xuXG4vL2ZlZWRzIGNvcnJlY3Rpb25zXG4uSWRlbnRpdHktc2NyZWVuTmFtZSwgLnRpbWVsaW5lLVR3ZWV0LXJldHdlZXRDcmVkaXQge1xuICAgIGNvbG9yOiAjNWU2OTcxICFpbXBvcnRhbnQ7XG59IiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4yIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9udCBJY29uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJWZvbnQtaWNvbiB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1pY29uO1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuJWZvbnQtaWNvbjIge1xuICBmb250LWZhbWlseTogJGZvbnQtaWNvbjI7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBmb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQXNzZXQgUGF0aHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEV4YW1wbGUgVXNhZ2U6XG4vLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlLWRpciArICdsb2dvLnN2ZycpO1xuXG4kbGF5b3V0LWRpcjogJy91cGxvYWRlZC90aGVtZXMvYnVpbGQvJztcbiRpbWFnZS1kaXI6ICRsYXlvdXQtZGlyICsgJ2ltYWdlcy8nO1xuJGZvbnQtZGlyOiAkbGF5b3V0LWRpciArICdmb250cy8nO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTmF2aWdhdGlvbjogTWFpbiBOYXZcbi8vIE51bWJlciByZXByZXNlbnRzIHRoZSBvcmRlciBpbiB3aGljaCB0aGUgT3VyIFNjaG9vbHMgcGFnZSBhcHBlYXJzIGluIHRoZSBtYWluIG5hdmlnYXRpb24gLSBkZWZhdWx0cyB0byBmaXJzdFxuLy8gTmV2ZXJtaW5kIC0gTm90IGJlaW5nIHVzZWRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vICRzY2hvb2xzLWRyb3Bkb3duLWxvY2F0aW9uOiAxO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29sdW1uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJvdW5kcnk6IDExNDY7XG4kaGVhZGVyLWJvdW5kcnk6IDEwMCU7XG4kZ3V0dGVyOiAyMHB4O1xuXG4vLyBMZWZ0IEJhbm5lciwgUmlnaHQgQmFubmVyIHBhZGRpbmdcbiRsYi1wYWRkaW5nLXJpZ2h0OiA1MHB4O1xuJHJiLXBhZGRpbmctbGVmdDogNTBweDtcblxuLy8gTGVmdCBCYW5uZXIsIFJpZ2h0IEJhbm5lciB3aWR0aFxuJGxiLXdpZHRoOiBwZXJjZW50YWdlKCAoIDMwMCArICggJGxiLXBhZGRpbmctcmlnaHQgLyAxcHggKSApIC8gJGJvdW5kcnkgKTtcbiRyYi13aWR0aDogcGVyY2VudGFnZSggKCAyODQgKyAoICRyYi1wYWRkaW5nLWxlZnQgLyAxcHggKSApIC8gJGJvdW5kcnkgKTtcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQnJlYWtwb2ludHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEV4YW1wbGUgdXNhZ2U6XG4vLyBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pIHt9XG5cbiRicC1taWNybzogMzAwcHg7XG4kYnAtdGlueTogNDAwcHg7XG4kYnAtc21hbGw6IDUwMHB4O1xuJGJwLW1lZGl1bTogNjAwcHg7XG4kYnAtYmlnOiA3MDBweDtcbiRicC1sYXJnZTogODAwcHg7XG4kYnAtaHVnZTogOTAwcHg7XG4kYnAtYm91bmRyeTogJGJvdW5kcnkgKiAxcHg7XG4kYnAtYm91bmRyeS1wbHVzOiAoJGJvdW5kcnkgKyAoJGd1dHRlciAqIDIpKSAqIDFweDtcbiRicC10aXRhbjogMTAwMHB4O1xuJGJwLXdvcmxkOiAxMTAwcHg7XG4kYnAtc29sYXI6IDEyMDBweDtcbiRicC1nYWxheHk6IDEzMDBweDtcbiRicC11bml2ZXJzZTogMTQwMHB4O1xuXG4vLyBEZXZpY2UgQnJlYWtwb2ludHNcbi8vIEFzc3VtZXMgTW9iaWxlIEZpcnN0XG4kYnAtcGhhYmxldDogJGJwLXNtYWxsOy8vNTAwXG4kYnAtcG9ydHJhaXQ6IDc1MHB4O1xuJGJwLWxhbmRzY2FwZTogJGJwLWh1Z2U7Ly85MDBcbiRicC1kZXNrdG9wOiAxMzgwcHg7Ly8xMTgwXG5cbiRsZWdhY3ktYnJvd3NlcjogZmFsc2UgIWRlZmF1bHQ7XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNpdHVhdGlvbmFsIEZsZXhwb2ludHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRicC1jcmVhdGUtY29sdW1uczogJGJwLXBvcnRyYWl0Oy8vNzAwcHg7XG4kYnAtbWFpbi1uYXYtaW5saW5lOiAkYnAtbGFuZHNjYXBlOy8vOTAwcHg7XG4kYnAtc2hvdy1tYWluLWRyb3Bkb3duczogJGJwLWxhbmRzY2FwZTtcbiRicC1oaWRlLW9mZi1jYW52YXM6ICRicC1sYW5kc2NhcGU7Ly85MDBweDtcblxuLy8gQWxsIENvbHVtbiBmbGV4cG9pbnRzICptdXN0KiBiZSBhYm92ZSAkYnAtY3JlYXRlLWNvbHVtbnMgZmxleHBvaW50XG4kYnAtMi1jb2x1bW46ICRicC1wb3J0cmFpdDsvLzcwMHB4O1xuJGJwLTMtY29sdW1uOiAkYnAtbGFuZHNjYXBlOy8vOTAwcHg7XG4kYnAtMi0yLWNvbHVtbjogJGJwLXBvcnRyYWl0Oy8vNzAwcHg7XG4kYnAtNC1jb2x1bW46ICRicC1kZXNrdG9wOy8vMTAwMHB4O1xuJGJwLWVsZXBoYW50LWNvbHVtbjogJGJwLWRlc2t0b3A7Ly8xMDAwcHg7XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbG9yc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gU3BlY2lhbHR5IENvbG9yc1xuJHBsYWNlaG9sZGVyOiByZ2JhKCNmZmYsIC41KTtcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9udCBUeXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNlcmlmOiBcImdhcmFtb25kLXByZW1pZXItcHJvXCIsIFRpbWVzLCBzZXJpZjtcbiRzZXJpZi0yOiBudWxsO1xuXG4kc2Fucy1zZXJpZjogJ29wZW4tc2FucycsIHNhbnMtc2VyaWY7XG4kc2Fucy1zZXJpZi0yOiBudWxsO1xuXG4kbW9ub3NwYWNlOiBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlO1xuXG4kZm9udC1pY29uOiAnSWNvTW9vbic7XG4kZm9udC1pY29uMjogJ0ZvbnRBd2Vzb21lJztcbiRmb250LWljb21vb24tZmlsZW5hbWU6ICdhc3Blbic7XG5cbi8vIEdseXBoc1xuJGdseXBoLXBsdXM6IFwiXFxmMDY3XCI7XG4kZ2x5cGgtbWludXM6IFwiXFxmMDY4XCI7XG4kZ2x5cGgtY2xvc2U6IFwiXFxmMDBkXCI7XG4kZ2x5cGgtY2hldnJvbi1sZWZ0OiBcIlxcZjA1M1wiO1xuJGdseXBoLWNoZXZyb24tcmlnaHQ6IFwiXFxmMDU0XCI7XG4kZ2x5cGgtY2hldnJvbi11cDogXCJcXGYwNzdcIjtcbiRnbHlwaC1jaGV2cm9uLWRvd246IFwiXFxmMDc4XCI7XG4kZ2x5cGgtYW5nbGUtbGVmdDogXCJcXGYxMDRcIjtcbiRnbHlwaC1hbmdsZS1yaWdodDogXCJcXGYxMDVcIjtcbiRnbHlwaC1hbmdsZS11cDogXCJcXGYxMDZcIjtcbiRnbHlwaC1hbmdsZS1kb3duOiBcIlxcZjEwN1wiO1xuJGdseXBoLWZhY2Vib29rOiBcIlxcZjA5YVwiO1xuJGdseXBoLXR3aXR0ZXI6IFwiXFxmMDk5XCI7XG4kZ2x5cGgtbGlua2VkaW46IFwiXFxmMGUxXCI7XG4kZ2x5cGgteW91dHViZS1wbGF5OiBcIlxcZjE2YVwiO1xuJGdseXBoLWZlZWQ6IFwiXFxmMDllXCI7XG4kZ2x5cGgtZ29vZ2xlLXBsdXM6IFwiXFxmMGQ1XCI7XG4kZ2x5cGgtaW5zdGFncmFtOiBcIlxcZjE2ZFwiO1xuJGdseXBoLXNlYXJjaDogXCJcXGYwMDJcIjtcbiRnbHlwaC1iYXJzOiBcIlxcZjBjOVwiO1xuJGdseXBoLXNwaW5uZXI6IFwiXFxmMTEwXCI7XG5cblxuXG4vLyBSZWl0ZXJhdGlvbiBvZiBmb250cyBmb3IgdGhlIHN0eWxlIGd1aWRlXG4kZm9udHM6XG4kc2VyaWYsXG4kc2VyaWYtMixcbiRzYW5zLXNlcmlmLFxuJHNhbnMtc2VyaWYtMixcbiRmb250LWljb24sXG4kZm9udC1pY29uMixcbiRtb25vc3BhY2U7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAoQmFzaWMpIFBhcmFncmFwaFxuLy8gTk9URTogZm9udC1zaXplL2xpbmUtaGVpZ2h0L2NvbG9yXG4vLyBhcmUgaW5oZXJpdGVkIGZyb20gdGhlIGJvZHlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kcC1tYXJnaW46IDIwcHg7IC8vIEFkanVzdGVkIGZvciBDU1MgbGluZS1oZWlnaHQvYmFzZWxpbmUgbW9kZWwsIDMwcHggaW4gY29tcFxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBIZWFkaW5nc1xuLy8gTk9URTogdGhlIEBtaXhpbiBoZWFkaW5nKClcbi8vIGNhbGN1bGF0ZXMgdGhlIGhlYWRpbmcgc2l6ZSBhc1xuLy8gYSBwZXJjZW50YWdlIG9mIHRoZVxuLy8gJGJvZHktZm9udC1zaXplXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaDEtc2l6ZTogMzhweDtcbiRoMS1saW5lLWhlaWdodDogNDJweDtcbiRoMS1tYXJnaW46IDFlbTsgLy8gQWRqdXN0ZWQgZm9yIENTUyBsaW5lLWhlaWdodC9iYXNlbGluZSBtb2RlbCwgMjBweCBpbiBjb21wXG4kaDEtY29sb3I6ICRtMjtcblxuJGgyLXNpemU6IDI4cHg7XG4kaDItbGluZS1oZWlnaHQ6IDMycHg7XG4kaDItbWFyZ2luOiAxZW07IC8vIEFkanVzdGVkIGZvciBDU1MgbGluZS1oZWlnaHQvYmFzZWxpbmUgbW9kZWwsIDE2cHggaW4gY29tcFxuJGgyLWNvbG9yOiAkbTE7XG5cbiRoMy1zaXplOiAyNHB4O1xuJGgzLWxpbmUtaGVpZ2h0OiAyOHB4O1xuJGgzLW1hcmdpbjogMWVtO1xuJGgzLWNvbG9yOiAkbTI7XG5cbiRoNC1zaXplOiAyMnB4O1xuJGg0LWxpbmUtaGVpZ2h0OiAyNnB4O1xuJGg0LW1hcmdpbjogMWVtO1xuJGg0LWNvbG9yOiAkbTE7XG5cbiRoNS1zaXplOiAxNnB4O1xuJGg1LWxpbmUtaGVpZ2h0OiAyMHB4O1xuJGg1LW1hcmdpbjogMWVtO1xuJGg1LWNvbG9yOiAkYm9keS1jb2xvcjtcblxuJGg2LXNpemU6IDE2cHg7XG4kaDYtbGluZS1oZWlnaHQ6IDI0cHg7XG4kaDYtbWFyZ2luOiAxZW07XG4kaDYtY29sb3I6ICRib2R5LWNvbG9yO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ3VzdG9tIFR5cGUgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGxlYWQtaW4tc2l6ZTogMjBweDtcbiRsZWFkLWluLWxpbmUtaGVpZ2h0OiAzMHB4O1xuJGxlYWQtaW4tbWFyZ2luOiAkaDItbWFyZ2luO1xuJGxlYWQtaW4tY29sb3I6ICRtMjtcbiRsZWFkLWluLWZhbWlseTogJHNhbnMtc2VyaWY7XG5cbiRibG9ja3F1b3RlLXNpemU6IDE2cHg7XG4kYmxvY2txdW90ZS1saW5lLWhlaWdodDogKDI0LzE2KTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkbTI7XG4kYmxvY2txdW90ZS1mYW1pbHk6ICRzYW5zLXNlcmlmO1xuJGJsb2NrcXVvdGUtb2Zmc2V0OiAxMHB4O1xuJGJsb2NrcXVvdGUtaG9yaXpvbnRhbC1tYXJnaW46IDA7XG4kYmxvY2txdW90ZS12ZXJ0aWNhbC1tYXJnaW46ICggJHAtbWFyZ2luICogMiApO1xuJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiAkbTE7XG5cblxuJGNpdGF0aW9uLXNpemU6ICRib2R5LWZvbnQtc2l6ZTtcbiRjaXRhdGlvbi1saW5lLWhlaWdodDogJGJvZHktbGluZS1oZWlnaHQ7XG4kY2l0YXRpb24tY29sb3I6ICRtMTtcbiRjaXRhdGlvbi1mYW1pbHk6ICRzYW5zLXNlcmlmO1xuJGNpdGF0aW9uLXRvcC1vZmZzZXQ6IDhweDsvLyBBZGp1c3RlZCBmb3IgQ1NTIGxpbmUtaGVpZ2h0L2Jhc2VsaW5lIG1vZGVsLCA4cHggaW4gY29tcFxuXG4kY2FwdGlvbi1zaXplOiAkYm9keS1mb250LXNpemU7IC8vIGFzIGdvb2QgYSBzdGFydGluZyBwb2ludCBhcyBhbnlcbiRjYXB0aW9uLWxpbmUtaGVpZ2h0OiAkYm9keS1saW5lLWhlaWdodCAqIDAuODsgLy8gYXMgZ29vZCBhIHN0YXJ0aW5nIHBvaW50IGFzIGFueVxuJGNhcHRpb24tbWFyZ2luOiAoICRjYXB0aW9uLXNpemUgKiAkY2FwdGlvbi1saW5lLWhlaWdodCApIC8gMjsgLy8gYXMgZ29vZCBhIHN0YXJ0aW5nIHBvaW50IGFzIGFueVxuJGNhcHRpb24tY29sb3I6IGxpZ2h0ZW4oICRib2R5LWNvbG9yLCAxMCUgKTtcblxuJGNhbGxvdXQtc2l6ZTogMjBweDtcbiRjYWxsb3V0LWxpbmUtaGVpZ2h0OiAoMzAvMjApO1xuJGNhbGxvdXQtY29sb3I6ICRtMTtcbiRjYWxsb3V0LWZhbWlseTogJHNhbnMtc2VyaWY7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhlYWRlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRoZWFkZXItdXRpbGl0eS1saW5rLWJhY2tncm91bmQ6IG1peCggJG0xLCAkY29sb3ItYmxhY2ssIDUwJSApO1xuJGhlYWRlci1taXNjZWxsYW5lb3VzLWJ1dHRvbi13aWR0aDogNDVweDtcbiRoZWFkZXItbWlzY2VsbGFuZW91cy1idXR0b24taGVpZ2h0OiAzNnB4O1xuJGJyYW5kaW5nLXdpZHRoLWZ1bGw6IDM4MDtcbiRicmFuZGluZy1pY29uLXdpZHRoOiA3NHB4O1xuJGJyYW5kaW5nLWljb24taGVpZ2h0OiA3NHB4O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSGVhZGVyOiBTdWItbmF2aWdhdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRzdWItbmF2aWdhdGlvbi1iYWNrZ3JvdW5kLWNvbG9yOiAkbTI7XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhvbWVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNYXN0aGVhZFxuXG4kaG9tZS1tYXN0aGVhZC1ob3Jpem9udGFsLXBhZGRpbmc6ICRndXR0ZXI7XG4kaG9tZS1tYXN0aGVhZC12ZXJ0aWNhbC1wYWRkaW5nOiAxcHg7XG5cbiRob21lLW1hc3RoZWFkLXRpdGxlLXNpemU6IDUwcHg7XG4kaG9tZS1tYXN0aGVhZC10aXRsZS1saW5lLWhlaWdodDogNTBweDtcbiRob21lLW1hc3RoZWFkLXRpdGxlLWZvbnQ6ICRzYW5zLXNlcmlmO1xuJGhvbWUtbWFzdGhlYWQtdGl0bGUtZm9udC13ZWlnaHQ6IDYwMDtcbiRob21lLW1hc3RoZWFkLXRpdGxlLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4kaG9tZS1tYXN0aGVhZC10aXRsZS1tYXJnaW46IDEwcHg7XG5cbiRob21lLW1hc3RoZWFkLWRldGFpbC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuJGhvbWUtbWFzdGhlYWQtZGV0YWlsLWNvcHktZmFtaWx5OiAkc2Fucy1zZXJpZjtcbiRob21lLW1hc3RoZWFkLWRldGFpbC1jb3B5LXNpemU6IDIycHg7XG4kaG9tZS1tYXN0aGVhZC1kZXRhaWwtY29weS1saW5lLWhlaWdodDogMzJweDtcblxuJGhvbWUtbWFzdGhlYWQtaW1hZ2UtcGFkZGluZy10b3A6IDIwMHB4O1xuJGhvbWUtbWFzdGhlYWQtaW1hZ2UtaGVpZ2h0OiA2MzBweDtcblxuJGhvbWUtY2Fyb3VzZWwtYXJyb3ctZGltZW5zaW9uczogNTVweDtcblxuLy8gXCJCbG9ja3NcIlxuJGhvbWUtYmxvY2stdmVydGljYWwtb2Zmc2V0LW1vYmlsZTogMzhweDtcbiRob21lLWJsb2NrLXZlcnRpY2FsLW9mZnNldDogMzhweDtcblxuLy8gU2VjdGlvbiBIZWFkZXJzXG4kaG9tZS1zZWN0aW9uLXRpdGxlLXNpemU6IDM2cHg7XG4kaG9tZS1zZWN0aW9uLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4kaG9tZS1zZWN0aW9uLWZvbnQtd2VpZ2h0OiBub3JtYWw7XG4kaG9tZS1zZWN0aW9uLWZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcblxuJGhvbWUtbmV3cy10aHVtYm5haWwtaGVpZ2h0OiAxODBweDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVsZW1lbnRzOiBCdXR0b25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGJ1dHRvbnMtc2l6ZTogJGJvZHktZm9udC1zaXplO1xuJGJ1dHRvbnMtbGluZS1oZWlnaHQ6ICRoNS1saW5lLWhlaWdodDtcbiRidXR0b25zLXdlaWdodDogNjAwO1xuJGJ1dHRvbnMtY29sb3I6ICRjb2xvci13aGl0ZSAhaW1wb3J0YW50O1xuJGJ1dHRvbnMtY29sb3ItaG92ZXI6ICRjb2xvci13aGl0ZSAhaW1wb3J0YW50O1xuJGJ1dHRvbnMtYmFja2dyb3VuZC1jb2xvcjogJG0xO1xuJGJ1dHRvbnMtYmFja2dyb3VuZC1jb2xvci1ob3ZlcjogJG0yO1xuJGJ1dHRvbnMtaGVhZGVyLWhvcml6b250YWwtcGFkZGluZzogJGd1dHRlcjtcbiRidXR0b25zLWhlYWRlci12ZXJ0aWNhbC1wYWRkaW5nOiAxMnB4O1xuJGJ1dHRvbnMtdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiRidXR0b25zLWJvcmRlci13aWR0aDogMHB4O1xuJGJ1dHRvbnMtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiRidXR0b25zLWJvcmRlci1jb2xvcjogJGcxO1xuXG4kYnV0dG9ucy1jYWxsb3V0LXNpemU6ICRidXR0b25zLXNpemU7XG4kYnV0dG9ucy1jYWxsb3V0LWxpbmUtaGVpZ2h0OiAkYnV0dG9ucy1saW5lLWhlaWdodDtcbiRidXR0b25zLWNhbGxvdXQtd2VpZ2h0OiAkYnV0dG9ucy13ZWlnaHQ7XG4kYnV0dG9ucy1jYWxsb3V0LWNvbG9yOiAkYnV0dG9ucy1jb2xvcjtcbiRidXR0b25zLWNhbGxvdXQtY29sb3ItaG92ZXI6ICRidXR0b25zLWNvbG9yLWhvdmVyO1xuJGJ1dHRvbnMtY2FsbG91dC1iYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9ucy1iYWNrZ3JvdW5kLWNvbG9yO1xuJGJ1dHRvbnMtY2FsbG91dC1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyOiAkYnV0dG9ucy1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyO1xuJGJ1dHRvbnMtY2FsbG91dC1oZWFkZXItaG9yaXpvbnRhbC1wYWRkaW5nOiAzMHB4O1xuJGJ1dHRvbnMtY2FsbG91dC1oZWFkZXItdmVydGljYWwtcGFkZGluZzogMjdweDtcblxuJGJ1dHRvbnMtY2FsbG91dC1ib3JkZXItd2lkdGg6ICRidXR0b25zLWJvcmRlci13aWR0aDtcbiRidXR0b25zLWNhbGxvdXQtYm9yZGVyLXN0eWxlOiAkYnV0dG9ucy1ib3JkZXItc3R5bGU7XG4kYnV0dG9ucy1jYWxsb3V0LWJvcmRlci1jb2xvcjogJGJ1dHRvbnMtYm9yZGVyLWNvbG9yO1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBFbGVtZW50czogVGFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJHRhYmxlLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAkbTI7XG4kdGFibGUtaGVhZGVyLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4kdGFibGUtaGVhZGVyLXNpemU6ICRoNS1zaXplO1xuJHRhYmxlLWhlYWRlci1saW5lLWhlaWdodDogJGg1LWxpbmUtaGVpZ2h0O1xuJHRhYmxlLWhlYWRlci1ob3Jpem9udGFsLXBhZGRpbmc6IDE1cHg7XG4kdGFibGUtaGVhZGVyLXZlcnRpY2FsLXBhZGRpbmc6IDEycHg7XG5cbiR0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiR0YWJsZS1iYWNrZ3JvdW5kLXN0cmlwZS1jb2xvcjogJGcwO1xuXG4kdGFibGUtY29sb3I6ICRib2R5LWNvbG9yO1xuJHRhYmxlLXNpemU6ICRib2R5LWZvbnQtc2l6ZTtcbiR0YWJsZS1saW5lLWhlaWdodDogJGJvZHktbGluZS1oZWlnaHQ7XG4kdGFibGUtaG9yaXpvbnRhbC1wYWRkaW5nOiAxNXB4O1xuJHRhYmxlLXZlcnRpY2FsLXBhZGRpbmc6IDEwcHg7XG5cblxuJHRhYmxlLWJvcmRlci13aWR0aDogMHB4O1xuJHRhYmxlLWJvcmRlci1zdHlsZTogc29saWQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAkZzE7XG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRWxlbWVudHM6IFRhYnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kdGFicy1iYWNrZ3JvdW5kLWNvbG9yOiAkbTE7XG4kdGFicy1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyOiAkbTI7XG4kdGFicy1iYWNrZ3JvdW5kLWNvbG9yLWFjdGl2ZTogJGNvbG9yLXdoaXRlO1xuXG4kdGFicy1jb2xvcjogJGNvbG9yLXdoaXRlO1xuJHRhYnMtY29sb3ItaG92ZXI6ICRjb2xvci13aGl0ZTtcbiR0YWJzLWNvbG9yLWFjdGl2ZTogJG0xO1xuXG4kdGFicy1ib3JkZXItd2lkdGg6IDFweDtcbiR0YWJzLWJvcmRlci1zdHlsZTogc29saWQ7XG4kdGFicy1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuJHRhYnMtYm9yZGVyLWNvbG9yLWhvdmVyOiB0cmFuc3BhcmVudDtcbiR0YWJzLWJvcmRlci1jb2xvci1hY3RpdmU6ICRnMTtcblxuJHRhYnMtaG9yaXpvbnRhbC1tYXJnaW46IDJweDtcbi8vJHRhYnMtdmVydGljYWwtbWFyZ2luOiAkZ3V0dGVyO1xuJHRhYnMtaG9yaXpvbnRhbC1wYWRkaW5nOiAxNXB4O1xuJHRhYnMtdmVydGljYWwtcGFkZGluZzogMTJweDtcbiR0YWJzLXNpemU6ICRoNS1zaXplO1xuJHRhYnMtbGluZS1oZWlnaHQ6ICRoNS1saW5lLWhlaWdodDtcbiR0YWJzLXdlaWdodDogNjAwO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRWxlbWVudHM6IEFjY29yZGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kYWNjb3JkaW9ucy1iYWNrZ3JvdW5kLWNvbG9yOiAkbTI7XG4kYWNjb3JkaW9ucy1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyOiAkbTE7XG4kYWNjb3JkaW9ucy1iYWNrZ3JvdW5kLWNvbG9yLWFjdGl2ZTogJG01O1xuXG4kYWNjb3JkaW9ucy1jb2xvcjogJGNvbG9yLXdoaXRlO1xuJGFjY29yZGlvbnMtY29sb3ItaG92ZXI6ICRjb2xvci13aGl0ZTtcbiRhY2NvcmRpb25zLWNvbG9yLWFjdGl2ZTogJGNvbG9yLXdoaXRlO1xuXG4kYWNjb3JkaW9ucy1ib3JkZXItd2lkdGg6IDA7XG4kYWNjb3JkaW9ucy1ib3JkZXItc3R5bGU6IHNvbGlkO1xuJGFjY29yZGlvbnMtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiRhY2NvcmRpb25zLWJvcmRlci1jb2xvci1ob3ZlcjogdHJhbnNwYXJlbnQ7XG4kYWNjb3JkaW9ucy1ib3JkZXItY29sb3ItYWN0aXZlOiAkZzE7XG5cbiRhY2NvcmRpb25zLWhvcml6b250YWwtbWFyZ2luOiAkZ3V0dGVyO1xuJGFjY29yZGlvbnMtdmVydGljYWwtbWFyZ2luOiA1cHg7XG4kYWNjb3JkaW9ucy1ob3Jpem9udGFsLXBhZGRpbmc6IDEycHg7XG4kYWNjb3JkaW9ucy12ZXJ0aWNhbC1wYWRkaW5nOiAxMHB4O1xuJGFjY29yZGlvbnMtc2l6ZTogJGg1LXNpemU7XG4kYWNjb3JkaW9ucy1saW5lLWhlaWdodDogJGg1LWxpbmUtaGVpZ2h0O1xuJGFjY29yZGlvbnMtd2VpZ2h0OiBub3JtYWw7XG4kYWNjb3JkaW9ucy1pY29uLW9wZW46ICRnbHlwaC1jaGV2cm9uLXVwO1xuJGFjY29yZGlvbnMtaWNvbi1jbG9zZTogJGdseXBoLWNoZXZyb24tZG93bjtcbiRhY2NvcmRpb25zLWljb24tc2l6ZTogMTVweDtcbiRhY2NvcmRpb25zLWljb24tb2Zmc2V0OiA0MHB4O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRWxlbWVudHM6IE5ld3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBFbGVtZW50czogQ2FsZW5kYXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRWxlbWVudHM6IFRpZXIgTmF2aWdhdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRpZXIgVG9nZ2xlXG5cbiRuYXZpZ2F0aW9uLXRpZXItdG9nZ2xlLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuJG5hdmlnYXRpb24tdGllci10b2dnbGUtc2l6ZTogMThweDtcbiRuYXZpZ2F0aW9uLXRpZXItdG9nZ2xlLWxpbmUtaGVpZ2h0OiAyMnB4O1xuJG5hdmlnYXRpb24tdGllci10b2dnbGUtZm9udC1mYW1pbHk6ICRzYW5zLXNlcmlmO1xuJG5hdmlnYXRpb24tdGllci10b2dnbGUtd2VpZ2h0OiA2MDA7XG4kbmF2aWdhdGlvbi10aWVyLXRvZ2dsZS1jb2xvcjogJG0yO1xuXG4kbmF2aWdhdGlvbi10aWVyLXRvZ2dsZS1ob3Jpem9udGFsLW1hcmdpbjogMDtcbiRuYXZpZ2F0aW9uLXRpZXItdG9nZ2xlLXZlcnRpY2FsLW1hcmdpbjogMTBweDtcblxuLy8gVGllciBMaW5rc1xuJG5hdmlnYXRpb24tdGllci1iYWNrZ3JvdW5kLWNvbG9yOiAkbTI7XG4kbmF2aWdhdGlvbi10aWVyLWJhY2tncm91bmQtY29sb3ItaG92ZXI6ICRtMjtcbiRuYXZpZ2F0aW9uLXRpZXItYmFja2dyb3VuZC1jb2xvci1hY3RpdmU6ICRtMjtcblxuJG5hdmlnYXRpb24tdGllci1jb2xvcjogJGNvbG9yLXdoaXRlO1xuJG5hdmlnYXRpb24tdGllci1jb2xvci1ob3ZlcjogJG0zO1xuJG5hdmlnYXRpb24tdGllci1jb2xvci1hY3RpdmU6ICRtMTtcblxuJG5hdmlnYXRpb24tdGllci1ib3JkZXItd2lkdGg6IDFweDtcbiRuYXZpZ2F0aW9uLXRpZXItYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiRuYXZpZ2F0aW9uLXRpZXItYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiRuYXZpZ2F0aW9uLXRpZXItYm9yZGVyLWNvbG9yLWhvdmVyOiB0cmFuc3BhcmVudDtcbiRuYXZpZ2F0aW9uLXRpZXItYm9yZGVyLWNvbG9yLWFjdGl2ZTogJGcxO1xuXG4kbmF2aWdhdGlvbi10aWVyLWhvcml6b250YWwtbWFyZ2luOiAwO1xuJG5hdmlnYXRpb24tdGllci12ZXJ0aWNhbC1tYXJnaW46IDlweDtcblxuJG5hdmlnYXRpb24tdGllci1ob3Jpem9udGFsLXBhZGRpbmc6IDIwcHg7XG4kbmF2aWdhdGlvbi10aWVyLXZlcnRpY2FsLXBhZGRpbmc6IDE0cHg7XG4kbmF2aWdhdGlvbi10aWVyLXNpemU6ICRib2R5LWZvbnQtc2l6ZTtcbiRuYXZpZ2F0aW9uLXRpZXItbGluZS1oZWlnaHQ6ICggMjJweCAvICRuYXZpZ2F0aW9uLXRpZXItc2l6ZSApO1xuJG5hdmlnYXRpb24tdGllci1mb250LWZhbWlseTogJHNhbnMtc2VyaWY7XG4kbmF2aWdhdGlvbi10aWVyLXdlaWdodDogNDAwO1xuXG4kbmF2aWdhdGlvbi10aWVyLWljb24tb3BlbjogJGdseXBoLWFuZ2xlLXJpZ2h0O1xuJG5hdmlnYXRpb24tdGllci1pY29uLWNsb3NlOiAkZ2x5cGgtYW5nbGUtZG93bjtcbiRuYXZpZ2F0aW9uLXRpZXItaWNvbi1zaXplOiAyNHB4O1xuJG5hdmlnYXRpb24tdGllci1pY29uLW9mZnNldDogNDBweDtcblxuJG5hdmlnYXRpb24tdGllci1pbmRlbnQtb2Zmc2V0OiAkZ3V0dGVyO1xuXG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU3BlY2lhbCBTaXRlIENvbmRpdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIENvbmZpZ3VyZSBicmVha3BvaW50cyB0byBiZSBpbiBlbXNcbiRicC1pbi1lbXM6IGZhbHNlO1xuXG4vLyBFbGVtZW50cyA+PiBDYWxlbmRhclxuLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIHRvIGluY2x1ZGUgZmxvYXRpbmcgZGF0ZXNcbiRmbG9hdGluZy1kYXRlOiB0cnVlO1xuLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGxpdHRsZSBpY29ucyBzaG93IHVwIG5leHQgdG8gZXZlbnQgZGV0YWlsc1xuJGV2ZW50LWljb25zOiB0cnVlO1xuXG4vLyBFbGVtZW50cyA+PiBDb25zdGl0dWVudFxuLy8gZmFsc2UgaW5kaWNhdGVzIGRpc3BsYXk6IGlubGluZS1ibG9jayByYXRoZXIgdGhhbiBjb2x1bW4tY291bnRcbiRwaW50ZXJlc3QtZGlyZWN0b3J5OiB0cnVlO1xuXG4vLyBFbGVtZW50cyA+PiBVbmlxdWVcbi8vIERldGVybWluZXMgdGhlIHJhbmdlIGF0IHdoaWNoIHRoZSBoZXJvIGJhY2tncm91bmQgaW1hZ2Ugc2NhbGVzXG4kaGVyby1mbGV4LWhlaWdodDogMzB2dztcbiRoZXJvLW1pbi1oZWlnaHQ6IDI4MDtcbiRoZXJvLW1heC1oZWlnaHQ6IDYwMDtcblxuLy8gRWxlbWVudHMgPj4gQ29uc3RpdHVlbnRcbi8vICdhcnJvdycsICdkb3RzJywgJ3BsdXMnXG4kbmF2LXN1Yi1pY29uOiAnZG90cyc7XG4vLyBEZWNpZGUgd2hldGhlciB0aGUgc3ViIG5hdiBoYXMgY29sbGFwc2UgZnVuY3Rpb25hbGl0eVxuJG5hdi1zdWItY29sbGFwc2VzOiB0cnVlO1xuXG5cbiR0cmFuc2l0LXNwZWVkOiAwLjMzM3M7XG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2Rlcm5penJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vd3d3LnNpdGVwb2ludC5jb20vc2NhbGluZy12YWx1ZXMtYWNyb3NzLWJyZWFrcG9pbnRzLXVzaW5nLXNhc3MvXG5cbi8vIE1vZGVybml6ciBmYWxsYmFja3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIE1vZGVybml6ciBtaXhpbiB0byBjcmVhdGUgLm1vZGVybml6ciBzZWxlY3Rvcjpcbi8vIGNvZGVwZW4uaW8vc3R1cm9ic29uL3Blbi94Y2RoYVxuXG4vLyBFeGFtcGxlIHVzYWdlOlxuLy8gLnNlbGVjdG9yIHtcbi8vICAgQGluY2x1ZGUgbW9kZXJuaXpyKGNzc2FuaW1hdGlvbnMpIHtcbi8vICAgICBsZWZ0OiA0MGVtO1xuLy8gICB9XG4vLyAgIEBpbmNsdWRlIG1vZGVybml6cihjc3NhbmltYXRpb25zLCBmYWxzZSkge1xuLy8gICAgIGJhY2tncm91bmQ6IHJlZDtcbi8vICAgfVxuLy8gfVxuXG5AbWl4aW4gbW9kZXJuaXpyKCRwcm9wZXJ0eSwgJHN1cHBvcnQ6IHRydWUpIHtcblxuICBAaWYgJHN1cHBvcnQgPT0gdHJ1ZSB7XG5cbiAgICAuI3skcHJvcGVydHl9ICYge1xuXG4gICAgICBAY29udGVudDtcblxuICAgIH1cblxuICB9XG5cbiAgQGVsc2Uge1xuXG4gICAgLm5vLSN7JHByb3BlcnR5fSAmIHtcblxuICAgICAgQGNvbnRlbnQ7XG5cbiAgICB9XG5cbiAgfVxuXG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbXBhcnRtZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBFeGFtcGxlIHVzYWdlOlxuLy8gLnNlY3Rpb25lZC1jb250YWluZXIge1xuLy8gICBAaW5jbHVkZSBjb21wYXJ0bWVudDtcbi8vIH1cblxuQG1peGluIGNvbXBhcnRtZW50KCR2YWx1ZTogJGJvdW5kcnkgKiAxcHgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6ICR2YWx1ZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb21tb24gQ29sdW1uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIGxheW91dC1jb2x1bW4oJGltcG9ydGFuY2U6IGZhbHNlKSB7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuXG4gIEBpZiAkaW1wb3J0YW5jZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICBAZWxzZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1jcmVhdGUtY29sdW1ucykge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQnJlYWtwb2ludFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gaHR0cDovL2pha2VhcmNoaWJhbGQuZ2l0aHViLmlvL3Nhc3MtaWUvXG5cbi8vIEV4YW1wbGUgVXNhZ2U6XG4vLyAuZWxlbWVudCB7XG4vLyAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSkge31cbi8vIH1cblxuQG1peGluIGJyZWFrcG9pbnQoJGZsZXgtcGl2b3QpIHtcblxuICBAaWYgJGxlZ2FjeS1icm93c2VyIHtcblxuICAgIEBjb250ZW50O1xuXG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRmbGV4LXBpdm90KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgfVxuXG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb21tb24gQnV0dG9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIGRlZmF1bHQtYnV0dG9uLXR5cGUoKXtcbiAgZm9udC1mYW1pbHk6ICRzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogJGJ1dHRvbnMtd2VpZ2h0O1xuICB0ZXh0LXRyYW5zZm9ybTogJGJ1dHRvbnMtdGV4dC10cmFuc2Zvcm07XG4gIGZvbnQtc2l6ZTogJGJ1dHRvbnMtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRidXR0b25zLWxpbmUtaGVpZ2h0O1xufVxuXG5AbWl4aW4gYnV0dG9uKCRiYWNrZ3JvdW5kOiAkZDEsICRob3Zlci1iYWNrZ3JvdW5kOiAkZzIsICRjb2xvcjogJGNvbG9yLXdoaXRlLCAkaG92ZXItY29sb3I6ICRjb2xvci1ibGFjaykge1xuICBAaW5jbHVkZSBkZWZhdWx0LWJ1dHRvbi10eXBlKCk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDAgMCAkZ3V0dGVyO1xuICBwYWRkaW5nOiAkYnV0dG9ucy1oZWFkZXItdmVydGljYWwtcGFkZGluZyAkYnV0dG9ucy1oZWFkZXItaG9yaXpvbnRhbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgb3V0bGluZTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMgeyBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGhvdmVyLWNvbG9yO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yIGF1dG8gMXB4OyBcbiAgfVxuXG4gIGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgfVxuXG59XG5cbkBtaXhpbiBidXR0b24tY2FsbG91dCgkYmFja2dyb3VuZDogJGQxLCAkaG92ZXItYmFja2dyb3VuZDogJGcyLCAkY29sb3I6ICRjb2xvci13aGl0ZSwgJGhvdmVyLWNvbG9yOiAkY29sb3ItYmxhY2spe1xuICBAaW5jbHVkZSBidXR0b24oJGJhY2tncm91bmQsICRob3Zlci1iYWNrZ3JvdW5kLCAkY29sb3IsICRob3Zlci1jb2xvcik7XG4gIHBhZGRpbmc6ICRidXR0b25zLWNhbGxvdXQtaGVhZGVyLXZlcnRpY2FsLXBhZGRpbmcgJGJ1dHRvbnMtY2FsbG91dC1oZWFkZXItaG9yaXpvbnRhbC1wYWRkaW5nO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBmb250LXNpemU6IGNlKCAkYnV0dG9ucy1jYWxsb3V0LXNpemUgKTtcbiAgbGluZS1oZWlnaHQ6ICRidXR0b25zLWNhbGxvdXQtbGluZS1oZWlnaHQ7XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJ1dHRvbiBSZXNldFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gRXhhbXBsZSB1c2FnZTpcbi8vIC50cmlnZ2VyIHtcbi8vICAgQGluY2x1ZGUgYnV0dG9uLXJlc2V0O1xuLy8gfVxuXG5AbWl4aW4gYnV0dG9uLXJlc2V0KCRjb21wbGV0ZTogdHJ1ZSkge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG91dGxpbmU6IDA7XG5cbiAgQGlmICRjb21wbGV0ZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxufVxuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhlYWRpbmdzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIGRlZmF1bHQtaGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbkBtaXhpbiBoZWFkaW5nKCAkc2l6ZTogJGJvZHktZm9udC1zaXplLCAkbGluZS1oZWlnaHQ6ICRib2R5LWxpbmUtaGVpZ2h0LCAkbWFyZ2luOiAkZ3V0dGVyICl7XG4gIGZvbnQtc2l6ZTogY2UoICRzaXplICk7XG4gIGxpbmUtaGVpZ2h0OiAoICBzdSggJGxpbmUtaGVpZ2h0ICkgLyAgc3UoICRzaXplICkgKTtcbiAgLy8gb3B0aW5nIGZvciB1bml0bGVzcyBsaW5lIGhlaWdodCBodHRwczovL2Nzcy10cmlja3MuY29tL2FsbWFuYWMvcHJvcGVydGllcy9sL2xpbmUtaGVpZ2h0L1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xufVxuXG5AbWl4aW4gYWNjb3JkaW9uLWhlYWRpbmcoKXtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAkYWNjb3JkaW9ucy1zaXplO1xuICBsaW5lLWhlaWdodDogJGFjY29yZGlvbnMtbGluZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRhY2NvcmRpb25zLXZlcnRpY2FsLXBhZGRpbmcgJGFjY29yZGlvbnMtaG9yaXpvbnRhbC1wYWRkaW5nO1xuICBjb2xvcjogJGFjY29yZGlvbnMtY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcbiAgLy90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogJGFjY29yZGlvbnMtd2VpZ2h0O1xufVxuXG5AbWl4aW4gc2hhcmVkLWJhbm5lci1ibG9jay1oZWFkZXIoKXtcbiAgJj4gaGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWJsYWNrO1xuICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXI7XG4gICAgLy9wYWRkaW5nLWJvdHRvbTogJGd1dHRlciAtICggKCAkaDMtbGluZS1oZWlnaHQgLSAkaDMtc2l6ZSApIC8gMiApO1xuICAgIC5mc0VsZW1lbnRUaXRsZSB7XG4gICAgICBAZXh0ZW5kICVoNDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGNvbG9yOiAkbTI7XG4gICAgICAvL0BpbmNsdWRlIG1hcmdpbi15KCAkZ3V0dGVyIC0gKCAoICggKCAkaDMtc2l6ZSAvIDFweCApICogJGgzLWxpbmUtaGVpZ2h0ICkgLSAoICggJGgzLXNpemUgLyAxcHggKSApICkgLyAyICkgKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZvbnQgSWNvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEV4YW1wbGUgdXNhZ2U6XG4vLyAubGFiZWw6YmVmb3JlIHtcbi8vICAgQGluY2x1ZGUgZm9udC1pY29uKCdcXGYwZDInKTtcbi8vIH1cblxuQG1peGluIGZvbnQtaWNvbigkZ2x5cGgpIHtcbiAgQGV4dGVuZCAlZm9udC1pY29uO1xuICBjb250ZW50OiAkZ2x5cGg7XG59XG5AbWl4aW4gZm9udC1pY29uMigkZ2x5cGgpIHtcbiAgQGV4dGVuZCAlZm9udC1pY29uMjtcbiAgY29udGVudDogJGdseXBoO1xufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNYXJnaW4gJiBQYWRkaW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIG1hcmdpbi14KCRsZW5ndGg6ICRndXR0ZXIpIHtcbiAgbWFyZ2luLXJpZ2h0OiAkbGVuZ3RoO1xuICBtYXJnaW4tbGVmdDogJGxlbmd0aDtcbn1cblxuQG1peGluIG1hcmdpbi15KCRsZW5ndGg6ICRndXR0ZXIpIHtcbiAgbWFyZ2luLXRvcDogJGxlbmd0aDtcbiAgbWFyZ2luLWJvdHRvbTogJGxlbmd0aDtcbn1cblxuQG1peGluIHBhZGRpbmcteCgkbGVuZ3RoOiAkZ3V0dGVyKSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRsZW5ndGg7XG4gIHBhZGRpbmctbGVmdDogJGxlbmd0aDtcbn1cblxuQG1peGluIHBhZGRpbmcteSgkbGVuZ3RoOiAkZ3V0dGVyKSB7XG4gIHBhZGRpbmctdG9wOiAkbGVuZ3RoO1xuICBwYWRkaW5nLWJvdHRvbTogJGxlbmd0aDtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJhY2tncm91bmRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBFeGFtcGxlIHVzYWdlOlxuLy8gLmNvdmVyLXBob3RvIHtcbi8vICAgQGluY2x1ZGUgYmctY292ZXI7XG4vLyB9XG5cbkBtaXhpbiBiZy1jb3ZlcigkcG9zaXRpb246IDUwJSA1MCUpIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHBvc2l0aW9uO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gT2ZmIENhbnZhc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIG9mZi1jYW52YXMoJGRpcmVjdGlvbiwgJHRyYW5zZm9ybS12YWx1ZTogMjAlKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJGZvcmVncm91bmQtaW5kZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOlxuICBvcGFjaXR5IC4zcyxcbiAgdmlzaWJpbGl0eSAuM3MsXG4gIHRyYW5zZm9ybSAuM3M7XG5cbiAgLy8gRnJvbSBvZmYtbGVmdCB0byByaWdodFxuICBAaWYgJGRpcmVjdGlvbiA9PSBsdHIge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHRyYW5zZm9ybS12YWx1ZSAqIC0xLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgkdHJhbnNmb3JtLXZhbHVlICogLTEsIDApO1xuICB9XG4gICAgLy8gRnJvbSBvZmYtcmlnaHQgdG8gbGVmdFxuICBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHRyYW5zZm9ybS12YWx1ZSAqIC0xLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgkdHJhbnNmb3JtLXZhbHVlICogLTEsIDApO1xuICB9XG4gICAgLy8gRnJvbSBvZmYtdG9wIHRvIGJvdHRvbVxuICBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHR0YiB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkdHJhbnNmb3JtLXZhbHVlICogLTEsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsICR0cmFuc2Zvcm0tdmFsdWUgKiAtMSk7XG4gIH1cbiAgICAvLyBGcm9tIG9mZi1ib3R0b20gdG8gdG9wXG4gIEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gYnR0IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR0cmFuc2Zvcm0tdmFsdWUgKiAtMSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgJHRyYW5zZm9ybS12YWx1ZSAqIC0xKTtcbiAgfVxuICBAZWxzZSB7fVxuXG59XG5cbkBtaXhpbiBvZmYtY2FudmFzLWFjdGl2ZSgkZGVmYXVsdC10cmFuc2Zvcm06IHRydWUpIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmICRkZWZhdWx0LXRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEcm9wZG93blxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIGRyb3Bkb3duKCR3aWR0aCwgJHBvc2l0aW9uOiBjZW50ZXIpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDk5LjUlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6ICR3aWR0aDtcblxuICBAaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICB9XG4gIEBlbHNlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTGlzdCBSZXNldFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gRXhhbXBsZSB1c2FnZTpcbi8vIG5hdiB7XG4vLyAgIEBpbmNsdWRlIGxpc3QtcmVzZXQ7XG4vLyB9XG5cbkBtaXhpbiBsaXN0LXJlc2V0IHtcblxuICB1bCxcbiAgb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICBsaSB7XG4gICAgLy8gbWFyZ2luOiAwO1xuICAgIC8vIHBhZGRpbmc6IDA7XG4gIH1cblxuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENsZWFyZml4XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBFeGFtcGxlIFVzYWdlOlxuLy8gLmNvbnRhaW5zLWZsb2F0cyB7XG4vLyAgIEBpbmNsdWRlIGNsZWFyO1xuLy8gfVxuXG5AbWl4aW4gY2xlYXIge1xuICB6b29tOiAxO1xuXG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRGV2ZWxvcGVyIFRvb2xzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIGRldi1jb2xvcigkYm9yZGVyLWNvbG9yOiAjZjAwKXtcbiAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyLWNvbG9yOy8vcmV0dXJuUkdCQSgkYm9yZGVyLWNvbG9yLCAwLjQpO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVHJhbnNpdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcGVydHk6IGFsbCwgJGR1cmF0aW9uOiAkdHJhbnNpdC1zcGVlZCl7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogJHByb3BlcnR5ICRkdXJhdGlvbjtcbiAgLW1vei10cmFuc2l0aW9uOiAkcHJvcGVydHkgJGR1cmF0aW9uO1xuICAtbXMtdHJhbnNpdGlvbjogJHByb3BlcnR5ICRkdXJhdGlvbjtcbiAgLW8tdHJhbnNpdGlvbjogJHByb3BlcnR5ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbjogJHByb3BlcnR5ICRkdXJhdGlvbjs7XG59XG5cblxuQG1peGluIGJhY2tncm91bmQtY29sb3ItYWxwaGEoJGNvbG9yLCRhbHBoYTowLjUpe1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHJldHVyblJHQkEoJGNvbG9yLCRhbHBoYSk7XG59XG5cbkBtaXhpbiB0ZXh0LWNvbG9yLWFscGhhKCRjb2xvciwkYWxwaGE6MC41KXtcbiAgY29sb3I6ICRjb2xvcjtcbiAgY29sb3I6IHJldHVyblJHQkEoJGNvbG9yLCRhbHBoYSk7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBbmltYXRpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gYW5pbWF0aW9uLXNwaW4oKXtcbiAgLXdlYmtpdC1hbmltYXRpb246IGFuaW1hdGUtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG4gIC1vLWFuaW1hdGlvbjogYW5pbWF0ZS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiBhbmltYXRlLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xufVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGUtc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBObyBTZWxlY3Rcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gbm9zZWxlY3QoKSB7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lOy8vcmVhbGx5P1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSW5saW5lIEVsZW1lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gaW5saW5lLWVsZW1lbnQoICRhbGlnbjogdG9wICl7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246ICRhbGlnbjtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4yMmVtO1xufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBIZWFkZXIgTGF5b3V0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSGVhZGVyIFV0aWxpdGllcyBMaW5rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBtaXhpbiBoZWFkZXItdXRpbGl0eS1saW5rcyggKXtcbiAgQGluY2x1ZGUgbWFyZ2luLXgoIDJweCApO1xuICAvL2NvbG9yOiAkZzI7IHRoaXMgaXMgaW4gdGhlIHNjaG9vbCBjb2xvcnMgbWl4aW5cbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEuMWVtIC44ZW0gMS4xZW0gMS4yZW07XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFuZHNjYXBlKSB7IHBhZGRpbmc6IDEuMWVtIDEuMmVtIDEuMWVtIDIuNWVtOyB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSGVhZGVyIE1haW4gTmF2aWdhdGlvbiBMaW5rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBtaXhpbiBoZWFkZXItbmF2aWdhdGlvbi1saW5rcy1ob3ZlciggKXtcbiAgYmFja2dyb3VuZDogJG00O1xufVxuQG1peGluIGhlYWRlci1uYXZpZ2F0aW9uLWxpbmtzKCApe1xuICAvL0BpbmNsdWRlIG1hcmdpbi14KCAycHggKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvL2NvbG9yOiAkY29sb3Itd2hpdGU7XG4gIC8vY29sb3I6IHRleHQtY29sb3IoJG0xKTsgLy8gc2VlIHNjaG9vbCBjb2xvcnMgbWl4aW5cbiAgcGFkZGluZzogOHB4O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhbmRzY2FwZSkge1xuICAgIHBhZGRpbmc6IDM3cHggOHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1zb2xhcikge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1nYWxheHkpIHsgXG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWRlc2t0b3ApIHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZGVza3RvcCArIDEwMCkge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICB9XG5cbn1cbkBtaXhpbiBoZWFkZXItbmF2aWdhdGlvbi1saW5rcy1hY3RpdmUoICl7XG4gIGNvbG9yOiAkbTE7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5AbWl4aW4gaGVhZGVyLXN1Yi1uYXZpZ2F0aW9uLWxpbmtzKCApe1xuICBAaW5jbHVkZSBoZWFkZXItbmF2aWdhdGlvbi1saW5rcyggKTtcblxuICAkbG9jYWwtbGluZS1oZWlnaHQ6ICggMjIgLyBzdSggJGJvZHktZm9udC1zaXplICkgKTtcbiAgZm9udC1zaXplOiAkYm9keS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbG9jYWwtbGluZS1oZWlnaHQ7XG5cbiAgQGluY2x1ZGUgcGFkZGluZy14KCAkZ3V0dGVyICk7XG4gIEBpbmNsdWRlIHBhZGRpbmcteSggKCA2NXB4IC0gKCAkYm9keS1mb250LXNpemUgKiAkbG9jYWwtbGluZS1oZWlnaHQgKSApIC8gMiApO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1kZXNrdG9wKSB7XG4gICAgJGxvY2FsLWZvbnQtc2l6ZTogJGJvZHktZm9udC1zaXplO1xuICAgIEBpbmNsdWRlIHBhZGRpbmcteSggKCA2NXB4IC0gKCAkbG9jYWwtZm9udC1zaXplICogJGxvY2FsLWxpbmUtaGVpZ2h0ICkgKSAvIDIgKTtcbiAgICBmb250LXNpemU6IGNlKCRsb2NhbC1mb250LXNpemUpO1xuICB9XG5cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhlYWRlciBNYWluIE5hdmlnYXRpb24gRHJvcC1kb3duIExpbmtzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIGhlYWRlci1uYXZpZ2F0aW9uLWRyb3Bkb3duLWxpbmtzKCApe1xuICBmb250LXNpemU6IDE0cHg7Ly8gb3ZlcmtpbGxcbiAgbGluZS1oZWlnaHQ6ICggMjIgLyAxNCApOy8vIG92ZXJraWxsXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIHBhZGRpbmc6ICggKCA0MnB4IC0gMjIgKSAvIDIgKSAoICRndXR0ZXIgKiAwLjUgKTtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxufVxuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFjY29yZGlvbi9UYWIgUGFuZWxcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gc2hhcmVkLWFjY29yZGlvbi1mc1BhbmVsKCAkaXMtdGFiOiBmYWxzZSApe1xuICAuZnNQYW5lbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGFjY29yZGlvbnMtdmVydGljYWwtbWFyZ2luO1xuXG4gICAgPiBoZWFkZXIge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbnMtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlcjogJGFjY29yZGlvbnMtYm9yZGVyLXdpZHRoICRhY2NvcmRpb25zLWJvcmRlci1zdHlsZSAkYWNjb3JkaW9ucy1ib3JkZXItY29sb3I7XG5cbiAgICAgIGgyIHtcblxuICAgICAgICBAaW5jbHVkZSBhY2NvcmRpb24taGVhZGluZygpO1xuXG4gICAgICAgICY6YmVmb3JlIHsgZm9udC1mYW1pbHk6ICRmb250LWljb247IH1cblxuICAgICAgICBAaWYgJGlzLXRhYiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGFjY29yZGlvbnMtaWNvbi1vcGVuO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYWNjb3JkaW9ucy1pY29uLW9mZnNldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbnMtYmFja2dyb3VuZC1jb2xvci1ob3ZlcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkdGFicy1ib3JkZXItY29sb3ItaG92ZXI7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgIGNvbG9yOiAkYWNjb3JkaW9ucy1jb2xvci1ob3ZlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0vL2VuZCBoZWFkZXJcblxuICAgICY+LmZzRWxlbWVudENvbnRlbnQge1xuICAgICAgYm9yZGVyOiAkYWNjb3JkaW9ucy1ib3JkZXItd2lkdGggJGFjY29yZGlvbnMtYm9yZGVyLXN0eWxlICRhY2NvcmRpb25zLWJvcmRlci1jb2xvci1hY3RpdmU7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuXG4gICAgICBAaWYgJGlzLXRhYiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXBoYWJsZXQpIHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuICAgICYuZnNTdGF0ZU9wZW4ge1xuICAgICAgPiBoZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ucy1iYWNrZ3JvdW5kLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjb3JkaW9ucy1ib3JkZXItY29sb3ItYWN0aXZlO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgY29sb3I6ICRhY2NvcmRpb25zLWNvbG9yLWFjdGl2ZTtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb25zLWljb24tY2xvc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkaXMtdGFiIHtcbiAgICAgICAgPi5mc0VsZW1lbnRDb250ZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9Ly9lbmQgYWNjb3JkaW9uIGNvbnRlbnQgc2VjdGlvblxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29udGVudCAoQmxvY2tzLCBJbWFnZXPigKYpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIGNvbnRlbnQtaW1hZ2UtcnVsZSgpe1xuICBib3JkZXItYm90dG9tOiA1cHggc29saWQgJG00O1xufVxuXG5AbWl4aW4gc2hhcmVkLWNvbnRlbnQtYmxvY2soKXtcblxuICBAaW5jbHVkZSBzaGFyZWQtYmFubmVyLWJsb2NrLWhlYWRlcigpO1xuICBAaW5jbHVkZSBtYXJnaW4teSggJGd1dHRlciApO1xuICBwYWRkaW5nLWJvdHRvbTogJGd1dHRlcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBpbWcge1xuICAgIEBpbmNsdWRlIGNvbnRlbnQtaW1hZ2UtcnVsZSgpO1xuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENhbGVuZGFyLCBOZXdzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIHNoYXJlZC1jYWxlbmRhci1uZXdzLWJsb2NrKCl7XG4gIEBpbmNsdWRlIG1hcmdpbi15KCAkZ3V0dGVyICk7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gc2hhcmVkLWNhbGVuZGFyLW5ld3MtZGF0ZS1zdHlsZSgpe1xuICBtYXJnaW46IDAgMCA1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6ICgxNi8xNCk7XG4gIGNvbG9yOiAkZzQ7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuQG1peGluIHNoYXJlZC1jYWxlbmRhci1uZXdzLXRpdGxlLXN0eWxlKCl7XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyIC8gMjtcbiAgLy8mLCBhIHtcbiAgICAvL2NvbG9yOiAkbTE7ICBTZWUgU2Nob29sIENvbG9ycyBNaXhpblxuICAvL31cblxuICBhOmhvdmVyIHsgY29sb3I6ICRtNDsgfVxuXG59XG5cbkBtaXhpbiBzaGFyZWQtY2FsZW5kYXItbmV3cy10ZXh0LXN0eWxlKCl7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6ICgyMC8xNSk7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhvbWVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gc2hhcmVkLWhvbWUtc2VjdGlvbi1wYWRkaW5nKCl7XG4gIHBhZGRpbmc6ICRob21lLWJsb2NrLXZlcnRpY2FsLW9mZnNldC1tb2JpbGUgJGd1dHRlciAwOy8vYm90dG9tIGFjY29tbW9kYXRlcyBidXR0b24ocylcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtcG9ydHJhaXQpIHtcbiAgICBwYWRkaW5nLXRvcDogJGhvbWUtYmxvY2stdmVydGljYWwtb2Zmc2V0O1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUaWVyIE5hdmlnYXRpb24gTUFBQUFERERERE5FU1NTU1NTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9AbWl4aW4gdGllci1uYXZpZ2F0aW9uLWhlYWRlci10b2dnbGUoICRicmVha3BvaW50OiAkYnAtcG9ydHJhaXQgKXtcbiAgQG1peGluIHRpZXItbmF2aWdhdGlvbi1oZWFkZXItdG9nZ2xlKCl7XG4gIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgLy8gICBkaXNwbGF5OiBub25lO1xuICAvLyB9XG4gIGJhY2tncm91bmQtY29sb3I6ICRuYXZpZ2F0aW9uLXRpZXItdG9nZ2xlLWJhY2tncm91bmQtY29sb3I7XG4gIHBhZGRpbmc6IDAgJG5hdmlnYXRpb24tdGllci10b2dnbGUtaG9yaXpvbnRhbC1tYXJnaW4gJG5hdmlnYXRpb24tdGllci10b2dnbGUtdmVydGljYWwtbWFyZ2luICRuYXZpZ2F0aW9uLXRpZXItdG9nZ2xlLWhvcml6b250YWwtbWFyZ2luO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiAkbmF2aWdhdGlvbi10aWVyLXRvZ2dsZS1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRuYXZpZ2F0aW9uLXRpZXItdG9nZ2xlLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRuYXZpZ2F0aW9uLXRpZXItdG9nZ2xlLXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbmF2aWdhdGlvbi10aWVyLXRvZ2dsZS1saW5lLWhlaWdodDtcbiAgZm9udC13ZWlnaHQ6ICRuYXZpZ2F0aW9uLXRpZXItdG9nZ2xlLXdlaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmFmdGVyIHtcblxuICAgIEBpbmNsdWRlIGZvbnQtaWNvbiggJGdseXBoLWNoZXZyb24tcmlnaHQgKTtcbiAgICBwYWRkaW5nOiAwICRndXR0ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG5cbn1cblxuQG1peGluIHRpZXItbmF2aWdhdGlvbi1jdXJyZW50LWxpc3QoKXtcbiAgJj4gbGkge1xuXG4gIH1cbiAgJj4gbGkgPiBhIHtcbiAgICBAaW5jbHVkZSB0aWVyLW5hdmlnYXRpb24tbGluay1wYXJlbnQoKTtcbiAgfVxufVxuXG5AbWl4aW4gdGllci1uYXZpZ2F0aW9uLWV4cGFuZGVkLWxpc3QoKXtcbiAgbWFyZ2luOiAwICggJG5hdmlnYXRpb24tdGllci1ob3Jpem9udGFsLXBhZGRpbmcgKiAwLjUgKSAoICRuYXZpZ2F0aW9uLXRpZXItaG9yaXpvbnRhbC1wYWRkaW5nICogMC41ICk7IC8vMHB4O1xuICAmPiBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gICY+IGxpID4gYSB7XG4gICAgQGluY2x1ZGUgdGllci1uYXZpZ2F0aW9uLWxpbmstY2hpbGQoKTtcbiAgfVxufVxuXG5AbWl4aW4gdGllci1uYXZpZ2F0aW9uLWxpbmstcGFyZW50KCl7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbmF2aWdhdGlvbi10aWVyLXZlcnRpY2FsLXBhZGRpbmcgJG5hdmlnYXRpb24tdGllci1ob3Jpem9udGFsLXBhZGRpbmc7XG4gIGZvbnQtc2l6ZTogY2UoICRuYXZpZ2F0aW9uLXRpZXItc2l6ZSkgO1xuICBsaW5lLWhlaWdodDogJG5hdmlnYXRpb24tdGllci1saW5lLWhlaWdodDtcbiAgLy9mb250LWZhbWlseTogJG5hdmlnYXRpb24tdGllci1mb250LWZhbWlseTtcbiAgLy9sZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAvL2ZvbnQtd2VpZ2h0OiAkbmF2aWdhdGlvbi10aWVyLXdlaWdodDtcblxuICBjb2xvcjogJG5hdmlnYXRpb24tdGllci1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmlnYXRpb24tdGllci1iYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkbmF2aWdhdGlvbi10aWVyLWNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZpZ2F0aW9uLXRpZXItYmFja2dyb3VuZC1jb2xvci1ob3ZlcjtcbiAgfVxuXG59XG5cbkBtaXhpbiB0aWVyLW5hdmlnYXRpb24tbGluay1jaGlsZCgpe1xuICBAaW5jbHVkZSB0aWVyLW5hdmlnYXRpb24tbGluay1wYXJlbnQoKTtcbiAgQGluY2x1ZGUgcGFkZGluZy15KCAkbmF2aWdhdGlvbi10aWVyLXZlcnRpY2FsLXBhZGRpbmcgKiAwLjM1NyApO1xuICAvL3BhZGRpbmc6ICggJG5hdmlnYXRpb24tdGllci12ZXJ0aWNhbC1wYWRkaW5nICkgKCAkbmF2aWdhdGlvbi10aWVyLWhvcml6b250YWwtcGFkZGluZyAqIDEuNSApO1xuICBmb250LXNpemU6IGNlKCAkbmF2aWdhdGlvbi10aWVyLXNpemUgKiAwLjg3NSApIDtcbiAgbGluZS1oZWlnaHQ6ICggMjBweCAvICggJG5hdmlnYXRpb24tdGllci1zaXplICogMC44NzUgKSApO1xufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBOZXdzIEdyaWQgU2hlbmFuaWdhbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtaXhpbiBuZXdzLWdyaWQtMi1jb2woKXtcblxuICAmOm50aC1jaGlsZCgzbi0xKXsgbWFyZ2luOiBhdXRvOyB9XG4gICY6bnRoLWNoaWxkKDNuKzEpeyBjbGVhcjogbm9uZTsgfVxuXG4gICY6bnRoLWNoaWxkKDRuLTIpeyBtYXJnaW46IGF1dG87IH1cbiAgJjpudGgtY2hpbGQoNG4tMSl7IG1hcmdpbjogYXV0bzsgfVxuICAmOm50aC1jaGlsZCg0bisxKXsgY2xlYXI6IG5vbmU7IH1cblxuICAmOm50aC1jaGlsZCg1bi0zKXsgbWFyZ2luOiBhdXRvOyB9XG4gICY6bnRoLWNoaWxkKDVuLTIpeyBtYXJnaW46IGF1dG87IH1cbiAgJjpudGgtY2hpbGQoNW4tMSl7IG1hcmdpbjogYXV0bzsgfVxuICAmOm50aC1jaGlsZCg1bisxKXsgY2xlYXI6IG5vbmU7IH1cblxuICB3aWR0aDogNDklO1xuICAmOm50aC1jaGlsZChvZGQpeyBtYXJnaW4tcmlnaHQ6IDElOyB9XG4gICY6bnRoLWNoaWxkKGV2ZW4peyBtYXJnaW4tbGVmdDogMSU7IH1cbiAgJjpudGgtb2YtdHlwZSgybiszKXsgY2xlYXI6IGJvdGg7IH1cbn1cbkBtaXhpbiBuZXdzLWdyaWQtMy1jb2woKXtcblxuICAmOm50aC1jaGlsZChvZGQpeyBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgJjpudGgtY2hpbGQoZXZlbil7IG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICY6bnRoLWNoaWxkKDJuKzEpeyBjbGVhcjogbm9uZTsgfVxuXG4gICY6bnRoLWNoaWxkKDRuLTIpeyBtYXJnaW46IGF1dG87IH1cbiAgJjpudGgtY2hpbGQoNG4tMSl7IG1hcmdpbjogYXV0bzsgfVxuICAmOm50aC1jaGlsZCg0bisxKXsgY2xlYXI6IG5vbmU7IH1cblxuICAmOm50aC1jaGlsZCg1bi0zKXsgbWFyZ2luOiBhdXRvOyB9XG4gICY6bnRoLWNoaWxkKDVuLTIpeyBtYXJnaW46IGF1dG87IH1cbiAgJjpudGgtY2hpbGQoNW4tMSl7IG1hcmdpbjogYXV0bzsgfVxuICAmOm50aC1jaGlsZCg1bisxKXsgY2xlYXI6IG5vbmU7IH1cblxuICB3aWR0aDogMzIlO1xuICAmOm50aC1jaGlsZCgzbi0xKXsgbWFyZ2luOiAwIDIlOyB9XG4gICY6bnRoLW9mLXR5cGUoMm4rMykge1xuICAgIGNsZWFyOm5vbmU7XG4gIH1cbiAgJjpudGgtb2YtdHlwZSgzbis0KXsgY2xlYXI6IGJvdGg7IH1cblxufVxuQG1peGluIG5ld3MtZ3JpZC00LWNvbCgpe1xuXG4gICY6bnRoLWNoaWxkKG9kZCl7IG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAmOm50aC1jaGlsZChldmVuKXsgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgJjpudGgtY2hpbGQoMm4rMSl7IGNsZWFyOiBub25lOyB9XG5cbiAgJjpudGgtY2hpbGQoM24tMSl7IG1hcmdpbjogYXV0bzsgfVxuICAmOm50aC1jaGlsZCgzbisxKXsgY2xlYXI6IG5vbmU7IH1cblxuICAmOm50aC1jaGlsZCg1bi0zKXsgbWFyZ2luOiBhdXRvOyB9XG4gICY6bnRoLWNoaWxkKDVuLTIpeyBtYXJnaW46IGF1dG87IH1cbiAgJjpudGgtY2hpbGQoNW4tMSl7IG1hcmdpbjogYXV0bzsgfVxuICAmOm50aC1jaGlsZCg1bisxKXsgY2xlYXI6IG5vbmU7IH1cblxuICB3aWR0aDogMjMuNSU7XG4gICY6bnRoLWNoaWxkKDRuLTIpeyBtYXJnaW46IDAgMSUgMCAyJTsgfVxuICAmOm50aC1jaGlsZCg0bi0xKXsgbWFyZ2luOiAwIDIlIDAgMSU7IH1cbiAgJjpudGgtb2YtdHlwZSgybiszKSB7XG4gICAgY2xlYXI6bm9uZTtcbiAgfVxuICAmOm50aC1vZi10eXBlKDRuKzUpeyBjbGVhcjogYm90aDsgfVxuXG5cbn1cbkBtaXhpbiBuZXdzLWdyaWQtNS1jb2woKXtcblxuICAmOm50aC1jaGlsZChvZGQpeyBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgJjpudGgtY2hpbGQoZXZlbil7IG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICY6bnRoLWNoaWxkKDJuKzEpeyBjbGVhcjogbm9uZTsgfVxuXG4gICY6bnRoLWNoaWxkKDNuLTEpeyBtYXJnaW46IGF1dG87IH1cbiAgJjpudGgtY2hpbGQoM24rMSl7IGNsZWFyOiBub25lOyB9XG5cbiAgJjpudGgtY2hpbGQoNG4tMil7IG1hcmdpbjogYXV0bzsgfVxuICAmOm50aC1jaGlsZCg0bi0xKXsgbWFyZ2luOiBhdXRvOyB9XG4gICY6bnRoLWNoaWxkKDRuKzEpeyBjbGVhcjogbm9uZTsgfVxuXG4gIHdpZHRoOiAxOC40JTtcbiAgJjpudGgtY2hpbGQoNW4tMyl7IG1hcmdpbjogMCAxJSAwIDIlOyB9XG4gICY6bnRoLWNoaWxkKDVuLTIpeyBtYXJnaW46IDAgMSU7IH1cbiAgJjpudGgtY2hpbGQoNW4tMSl7IG1hcmdpbjogMCAyJSAwIDElOyB9XG4gICY6bnRoLW9mLXR5cGUoMm4rMykge1xuICAgIGNsZWFyOm5vbmU7XG4gIH1cbiAgJjpudGgtb2YtdHlwZSg1bis2KXsgY2xlYXI6IGJvdGg7IH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIER5bmFtaWNhbGx5IGNoYW5nZSB0ZXh0IGJhc2VkIG9uIGJhY2tncm91bmQgY29sb3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AZnVuY3Rpb24gdGV4dC1jb2xvcigkYmctY29sb3IpIHtcbiAgICBAaWYgKGxpZ2h0bmVzcyggJGJnLWNvbG9yICkgPiA1NSkge1xuICAgICBAcmV0dXJuICRjb2xvci13aGl0ZTsgXG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEByZXR1cm4gJGNvbG9yLXdoaXRlOyBcbiAgICB9XG59XG5cbi8vIEFsdGVybmF0ZSBsaWdodCAvIGRhcmsgb3B0aW9ucyAoZWcgdXRpbGl0eSBuYXYgYXJlYSlcbkBmdW5jdGlvbiB0ZXh0LWNvbG9yLWFsdCgkYmctY29sb3IpIHtcbiAgICBAaWYgKGxpZ2h0bmVzcyggJGJnLWNvbG9yICkgPiA1NSkge1xuICAgICAgQHJldHVybiAkY29sb3ItYmxhY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEByZXR1cm4gJGcxO1xuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNjaG9vbCBDb2xvcnMgTWl4aW5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFNjaG9vbCBDb2xvciBBc3NpZ25tZW50c1xuQG1peGluIHRoZW1lKCRuYW1lLCAkcHJpbWFyeS1jb2xvciwgJHNlY29uZGFyeS1jb2xvcikge1xuICAuI3skbmFtZX0ge1xuXG4gICAgI2ZzSGVhZGVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwuOSk7IH1cblxuICAgICNmc0hlYWRlciAudXRpbGl0aWVzIHsgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjsgfVxuICAgICNmc0hlYWRlciAudXRpbGl0aWVzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaSAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0ZXh0LWNvbG9yKCRzZWNvbmRhcnktY29sb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiByZ2JhKHRleHQtY29sb3IoJHNlY29uZGFyeS1jb2xvciksIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAjZnNIZWFkZXIgLmJyYW5kaW5nID4gLmZzRWxlbWVudENvbnRlbnQgYSB7IGNvbG9yOiB0ZXh0LWNvbG9yKCRwcmltYXJ5LWNvbG9yKTsgfVxuICAgICNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIG5hdiB1bC5mc05hdkxldmVsMSA+IGxpID4gYSB7IGNvbG9yOiB0ZXh0LWNvbG9yKCRwcmltYXJ5LWNvbG9yKTsgfVxuICAgICNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIG5hdiB1bC5mc05hdkxldmVsMSA+IGxpOmhvdmVyID4gYSB7IGNvbG9yOiAkY29sb3Itd2hpdGU7IH1cblxuICAgIGEgeyBjb2xvcjogJHByaW1hcnktY29sb3I7IH1cblxuICAgIC5mc0NhbGVuZGFyIHtcbiAgICAgIC5mc0RhdGUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAuZnNEYXkgeyBjb2xvcjogJHByaW1hcnktY29sb3I7IH1cbiAgICAgIH1cbiAgICAgIC5mc1RpbWVSYW5nZSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5mc0xvY2F0aW9uIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmZzVGl0bGUgYSB7IGNvbG9yOiAkcHJpbWFyeS1jb2xvcjsgfVxuICAgIH1cblxuICAgIC8vIC5vZmYtY2FudmFzIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgbGkgYSB7XG4gICAgLy8gICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgLy8gICBzdmcgeyBmaWxsOiAkcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLy8gfVxuXG4vLyBTbGljayBEb3QgQ29sb3JcblxuICAuZnNTbGlkZXNob3cgLmZzUGFnZXIgbGkge1xuICAgIG1hcmdpbjogMCAxcHg7XG4gICAgICAmLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbWVwYWdlc1xuXG4gICAgJi5ob21lIHtcbiAgICAgIC5mc1RpdGxlIGEgeyBjb2xvcjogJHByaW1hcnktY29sb3I7IH1cbiAgICAgIC5mc0NhbGVuZGFyIHtcbiAgICAgICAgLmZzRGF0ZSB7XG4gICAgICAgICAgLy9ib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmZzUmVhZE1vcmVMaW5rIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbixcbiAgICAgICAgICAgICAgJjpob3ZlciBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5wbGF5Q29udHJvbHMgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yOyBcbiAgICB9XG4gIH0gLy8gbmFtZVxufSAvLyB0aGVtZVxuXG5AaW5jbHVkZSB0aGVtZShkaXN0cmljdCwgJG0xLCRtMik7XG5AaW5jbHVkZSB0aGVtZShzY2hvb2wxLCAkc2NoMSwkc2NoMS1hbHQpO1xuQGluY2x1ZGUgdGhlbWUoc2Nob29sMiwgJHNjaDIsJHNjaDItYWx0KTtcbkBpbmNsdWRlIHRoZW1lKHNjaG9vbDMsICRzY2gzLCRzY2gzLWFsdCk7XG5AaW5jbHVkZSB0aGVtZShzY2hvb2w0LCAkc2NoNCwkc2NoNC1hbHQpO1xuQGluY2x1ZGUgdGhlbWUoc2Nob29sNSwgJHNjaDUsJHNjaDUtYWx0KTtcbkBpbmNsdWRlIHRoZW1lKHNjaG9vbDYsICRzY2g2LCRzY2g2LWFsdCk7XG5AaW5jbHVkZSB0aGVtZShzY2hvb2w3LCAkc2NoNywkc2NoNy1hbHQpO1xuQGluY2x1ZGUgdGhlbWUoc2Nob29sOCwgJHNjaDgsJHNjaDgtYWx0KTtcbkBpbmNsdWRlIHRoZW1lKHNjaG9vbDksICRzY2g5LCRzY2g5LWFsdCk7XG5AaW5jbHVkZSB0aGVtZShzY2hvb2wxMCwgJHNjaDEwLCRzY2gxMC1hbHQpO1xuQGluY2x1ZGUgdGhlbWUoc2Nob29sMTEsICRzY2gxMSwkc2NoMTEtYWx0KTtcbkBpbmNsdWRlIHRoZW1lKHNjaG9vbDIxLCAkc2NoMjEsJHNjaDIxLWFsdCk7XG5cbi5kaXN0cmljdCB7XG4gI2ZzSGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MCwgMTMwLCAwLCAxKTsgXG59XG59XG4jZnNNZW51IC5uYXZpZ2F0aW9uLm1haW4gdWwuZnNOYXZMZXZlbDEgbGkuZnNOYXZDdXJyZW50UGFnZSA+IGEsICNmc01lbnUgLm5hdmlnYXRpb24ubWFpbiB1bC5mc05hdkxldmVsMSBsaS5mc05hdkN1cnJlbnRQYWdlQW5jZXN0b3IgPiBhIHtcbiAgY29sb3I6ICM3Y2IxMDE7XG59XG5cbi5zY2hvb2w0IHsgXG4gICNmc0hlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkc2NoNCwgLjk3KTtcbiAgfVxufVxuXG4uc2Nob29sNSB7IFxuICAjZnNIZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHNjaDUsIC45Nyk7XG4gIH1cbn1cblxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbG9yc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNvbG9yLWJsYWNrOiAjMDAwO1xuJGNvbG9yLXdoaXRlOiAjZmZmO1xuXG4vLyBEZWZhdWx0IENvbG9yXG4kZDE6ICM1ZjVmNWY7XG5cbi8vIEBmdW5jdGlvbiB0aW50KCRjb2xvciwgJHBlcmNlbnRhZ2UpIHtcbi8vICAgQHJldHVybiBtaXgod2hpdGUsICRjb2xvciwgJHBlcmNlbnRhZ2UpO1xuLy8gfVxuXG4vLyBNYWluIENvbG9yc1xuLy8kbTE6ICM3OGFjMDA7XG4kbTE6ICM1YTgyMDA7XG4kbTI6ICMxNzM4NjI7XG4kbTM6IG1peCh3aGl0ZSwgJG0xLCAyNSUpO1xuJG00OiBtaXgod2hpdGUsICRtMiwgMjUlKTtcbiRtNTogIzYyNjk3MDtcblxuLy8gU2Nob29sIENvbG9yIE92ZXJyaWRlc1xuLy8gU2V0IHlvdXIgY29sb3JzIGhlcmUgZm9yIGhvd2V2ZXIgbWFueSBzY2hvb2xzIHlvdSBoYXZlLiAgTGVhdmUgdGhlIHJlc3QgYXMgaXMuXG4kc2NoMTogIzlDNkQwMiA7IC8vIHN0b25pbmd0b24gaHNcbiRzY2gxLWFsdDogJG0yO1xuJHNjaDI6ICMzYTdmMDE7IC8vIG15c3RpY1xuJHNjaDItYWx0OiAkbTI7XG4kc2NoMzogI2UyMzQ0MjsgLy8gcGF3Y2F0dWNrbXNcbiRzY2gzLWFsdDogJG0yO1xuLy8kc2NoNDogIzRjYmY0NjsvL2RlYW5zXG4kc2NoNDogIzMyODUyRTtcbiRzY2g0LWFsdDogJG0yO1xuLy8kc2NoNTogIzY2YzlkYjsvL3dlc3QgYnJvYWRcbiRzY2g1OiAjMTA3ODk2OyBcbiRzY2g1LWFsdDogJG0yO1xuJHNjaDY6ICNkY2NiNjg7Ly93ZXN0IHZpbmVcbiRzY2g2LWFsdDogJG0yO1xuJHNjaDc6ICRtMTtcbiRzY2g3LWFsdDogJG0yO1xuJHNjaDg6ICRtMTtcbiRzY2g4LWFsdDogJG0yO1xuJHNjaDk6ICRtMTtcbiRzY2g5LWFsdDogJG01O1xuJHNjaDEwOiAkbTE7XG4kc2NoMTAtYWx0OiAkbTU7XG4kc2NoMTE6ICRtMTtcbiRzY2gxMS1hbHQ6ICRtNTtcbiRzY2gxMjogJG0xO1xuJHNjaDEyLWFsdDogJG01O1xuJHNjaDEzOiAkbTE7XG4kc2NoMTMtYWx0OiAkbTU7XG4kc2NoMTQ6ICRtMTtcbiRzY2gxNC1hbHQ6ICRtNTtcbiRzY2gxNTogJG0xO1xuJHNjaDE1LWFsdDogJG01O1xuJHNjaDE2OiAkbTE7XG4kc2NoMTYtYWx0OiAkbTU7XG4kc2NoMTc6ICRtMTtcbiRzY2gxNy1hbHQ6ICRtNTtcbiRzY2gxODogJG0xO1xuJHNjaDE4LWFsdDogJG01O1xuJHNjaDE5OiAkbTE7XG4kc2NoMTktYWx0OiAkbTU7XG4kc2NoMjA6ICRtMTtcbiRzY2gyMC1hbHQ6ICRtNTtcbi8vJHNjaDIxOiAjMzE4NEJGOyAgIC8vVmVybm9uOiBTTVNcbiRzY2gyMTogIzJkNzhhZTsgIFxuJHNjaDIxLWFsdDogI0ZFRTcwMDtcblxuLy8gU2hhZGUgQ29sb3JzXG4kczE6ICNlZWU7XG4kczI6ICMzMzM7XG4kczM6ICNkN2Q3ZDc7XG5cbi8vIEdyYXlzXG4kZzA6ICNmOGY4Zjg7XG4kZzE6ICNiZWJlYmU7XG4kZzI6ICM4ZjhmOGY7XG4kZzM6ICM2NTY1NjU7XG4kZzQ6ICM0MjQyNDI7XG4kZzU6ICMxZDFkMWQ7XG4kZzY6ICM3OTc5Nzk7XG5cbi8vIFJlaXRlcmF0aW9uIG9mIGNvbG9ycyBmb3IgdGhlIHN0eWxlIGd1aWRlXG4vLyBEdXBsaWNhdGVkIG9mIHByZWV4aXN0aW5nIGNvbG9ycyBlbnRlcmVkIGludG8gYSBjb21tYSBzZXBhcmF0ZWQgbGlzdFxuJGNvbG9yczpcbiRkMSxcbiRtMSxcbiRtMixcbiRtMyxcbiRtNCxcbiRtNSxcbiRnMSxcbiRnMixcbiRnMyxcbiRnNCxcbiRnNVxuO1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUZXh0IFByb3BlcnRpZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEVudGVyIHRoZSB2YWx1ZXMgZm91bmQgZnJvbSBib2R5IGNvcHlcblxuJGJvZHktZm9udC1zaXplOiAxNnB4O1xuJGJvZHktbGluZS1oZWlnaHQ6ICggMjQgLyAxNiApO1xuJGJvZHktY29sb3I6ICRkMTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGh0bWwgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGh0bWwtYmFja2dyb3VuZC1jb2xvcjogJG01O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUGFnZSBDb250ZW50IFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRwYWdlLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlOyIsIi8qISBzdHJ1Y3R1cmUgLSBsYXlvdXRzIHYwLjAuMSAqL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gR2xvYmFsXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyAxLiBBcHBseSBhIG5hdHVyYWwgYm94IGxheW91dCBtb2RlbCB0byBhbGwgZWxlbWVudHM6XG4vLyBwYXVsaXJpc2guY29tLzIwMTIvYm94LXNpemluZy1ib3JkZXItYm94LWZ0d1xuXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLy8gU2VwYXJhdGUgdW5pdmVyc2FsIHBzdWVkbyBzZWxlY3RvcnMgZm9yIHBlcmZvcm1hbmNlXG4vLyBSZW1vdmUgcG9pbnRlci1ldmVudHMgdG8gcHJldmVudCBvdmVybGF5cyBmcm9tIGJlaW5nIGNsaWNrYWJsZVxuXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcbiAgYmFja2dyb3VuZDogJGh0bWwtYmFja2dyb3VuZC1jb2xvcjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8vIGFsbCB3ZWJraXRcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gZmlyZWZveFxufVxuaHRtbDpub3QoLmZzQ29tcG9zZXJGb3JtRW1iZWQpIHtcbiAgLy8gZGlzcGxheTogbm9uZTtcbiAgJi5qcyB7IGRpc3BsYXk6IGJsb2NrOyB9XG59XG5cbmJvZHkge1xuICBmb250LXNpemU6ICRib2R5LWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRib2R5LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGQxO1xuXG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUeXBlXG5cbi8vIE5vdGU6IFwiZGVmYXVsdC1oZWFkaW5nKClcIiB0YWtlcyBjYXJlIG9mOlxuLy8gZm9udC13ZWlnaHQsXG4vLyBhbmQgbWFyZ2luLXRvcFxuXG4vLyBOb3RlOiBcImhlYWRpbmcoKVwiIHRha2VzIGNhcmUgb2Y6XG4vLyBmb250LXNpemUsIGxpbmUtaGVpZ2h0LFxuLy8gYW5kIG1hcmdpbi1ib3R0b21cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIEBpbmNsdWRlIGRlZmF1bHQtaGVhZGluZygpO1xufVxuXG5oMSwgJWgxLCAuaDEge1xuICBAaW5jbHVkZSBoZWFkaW5nKCAkaDEtc2l6ZSwgJGgxLWxpbmUtaGVpZ2h0LCAkaDEtbWFyZ2luICk7XG4gIGNvbG9yOiAkaDEtY29sb3I7XG4gIC8vZm9udC1mYW1pbHk6ICRzZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG5oMiwgJWgyLCAuaDIge1xuICBAaW5jbHVkZSBoZWFkaW5nKCAkaDItc2l6ZSwgJGgyLWxpbmUtaGVpZ2h0LCAkaDItbWFyZ2luICk7XG4gIGNvbG9yOiAkaDItY29sb3I7XG4gIC8vZm9udC1mYW1pbHk6ICRzZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5oMywgJWgzLCAuaDMge1xuICBAaW5jbHVkZSBoZWFkaW5nKCAkaDMtc2l6ZSwgJGgzLWxpbmUtaGVpZ2h0LCAkaDMtbWFyZ2luICk7XG4gIGNvbG9yOiAkaDMtY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG5oNCwgJWg0LCAuaDQge1xuICBAaW5jbHVkZSBoZWFkaW5nKCAkaDQtc2l6ZSwgJGg0LWxpbmUtaGVpZ2h0LCAkaDQtbWFyZ2luICk7XG4gIGNvbG9yOiAkaDQtY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG5oNSwgJWg1LCAuaDUge1xuICBAaW5jbHVkZSBoZWFkaW5nKCAkaDUtc2l6ZSwgJGg1LWxpbmUtaGVpZ2h0LCAkaDUtbWFyZ2luICk7XG4gIGNvbG9yOiAkaDUtY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5oNiwgJWg2LCAuaDYge1xuICBAaW5jbHVkZSBoZWFkaW5nKCAkaDYtc2l6ZSwgJGg2LWxpbmUtaGVpZ2h0LCAkaDYtbWFyZ2luICk7XG4gIGNvbG9yOiAkaDYtY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHAtbWFyZ2luO1xufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBbmNob3JzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAvLyBjb2xvcjogJG0xOyAgU2VlIFNjaG9vbCBDb2xvcnMgTWl4aW5cbiAgdHJhbnNpdGlvbjpcbiAgYmFja2dyb3VuZCAuM3MsXG4gIGNvbG9yIC4zcztcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJG0xO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTGlzdHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbnVsLFxub2wge1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXI7XG4gIG1hcmdpbi10b3A6ICRwLW1hcmdpbjsgLy8gdW50aWwgdG9sZCBkaWZmZXJlbnRcbiAgbWFyZ2luLWJvdHRvbTogJHAtbWFyZ2luOyAvLyB1bnRpbCB0b2xkIGRpZmZlcmVudFxufVxuXG4vLyBJZiB0aGUgZGVzaWduIGhhcyBwcmV0dHkgbGl0dGxlIGljb25zLCB1c2Ugb2wgdG8gc3R5bGUgdGhlbSB1cFxub2wge1xuXG4gIGxpIHtcblxuICAgICY6YmVmb3JlIHt9XG5cbiAgfVxuXG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gVGFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJXRhYmxlLXN0eWxlIHtcbiAgLy9kaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgbWFyZ2luLXkoICRndXR0ZXIgKTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuXG4gIHRyIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcblxuICAgICAgdGgsIHRkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJHRhYmxlLWJvcmRlci13aWR0aCAkdGFibGUtYm9yZGVyLXN0eWxlICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyLXdpZHRoICR0YWJsZS1ib3JkZXItc3R5bGUgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIHRoLCB0ZCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7fVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7fVxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS12ZXJ0aWNhbC1wYWRkaW5nICR0YWJsZS1ob3Jpem9udGFsLXBhZGRpbmc7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZC1jb2xvcjtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR0YWJsZS1ib3JkZXItd2lkdGggJHRhYmxlLWJvcmRlci1zdHlsZSAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR0YWJsZS1ib3JkZXItd2lkdGggJHRhYmxlLWJvcmRlci1zdHlsZSAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIHRoIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cblxuICB0ZCB7XG4gICAgJjpmaXJzdC1jaGlsZCB7fVxuXG4gIH1cblxuICAvLyBaZWJyYSBTdHJpcGVcbiAgdHI6bnRoLW9mLXR5cGUob2RkKSB0ZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQtc3RyaXBlLWNvbG9yO1xuICB9XG5cbn1cblxuLmZzX3N0eWxlXzExLFxudGFibGUuc3R5bGVkIHtcbiAgQGV4dGVuZCAldGFibGUtc3R5bGU7XG59XG5cbi5mc19zdHlsZV8xMixcbnRhYmxlLnN0eWxlZC5oZWFkZXItcm93IHtcbiAgQGV4dGVuZCAldGFibGUtc3R5bGU7XG5cbiAgJj4gdHI6Zmlyc3QtY2hpbGQsXG4gICY+IHRib2R5IHRyOmZpcnN0LWNoaWxkIHtcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtaGVhZGVyLXZlcnRpY2FsLXBhZGRpbmcgJHRhYmxlLWhlYWRlci1ob3Jpem9udGFsLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG4gICAgICBjb2xvcjogJHRhYmxlLWhlYWRlci1jb2xvcjtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXNpemU6ICR0YWJsZS1oZWFkZXItc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkdGFibGUtaGVhZGVyLWxpbmUtaGVpZ2h0O1xuICAgICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoICR0YWJsZS1ib3JkZXItc3R5bGUgJHRhYmxlLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfVxuXG59XG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWVkaWFcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmltZyxcbmNhbnZhcyxcbnZpZGVvLFxuc3ZnIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmlmcmFtZSB7XG4gIGJvcmRlcjogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2txdW90ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5mc19zdHlsZV8xLFxuYmxvY2txdW90ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGJsb2NrcXVvdGUtdmVydGljYWwtbWFyZ2luICRibG9ja3F1b3RlLWhvcml6b250YWwtbWFyZ2luO1xuICBwYWRkaW5nLWxlZnQ6ICRibG9ja3F1b3RlLW9mZnNldDtcbiAgZm9udC1zaXplOiAkYmxvY2txdW90ZS1zaXplO1xuICBsaW5lLWhlaWdodDogJGJsb2NrcXVvdGUtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRibG9ja3F1b3RlLWZhbWlseTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcblxuICAmOmJlZm9yZSB7XG4vKlxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgY29udGVudDogJ1xcMjAxQyc7XG4qL1xuICB9XG5cbiAgY2l0ZSxcbiAgZW0ge1xuICAgIGNvbG9yOiAkczI7XG4gICAgZm9udC1zaXplOiAuOWVtO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnLSAnO1xuICAgIH1cbiAgfVxuXG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDaXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8uZnNfc3R5bGVfMjgsXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogJGd1dHRlciAwO1xuICBmb250LXNpemU6ICRjaXRhdGlvbi1zaXplO1xuICBsaW5lLWhlaWdodDogJGNpdGF0aW9uLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGNpdGF0aW9uLWNvbG9yO1xuICBmb250LWZhbWlseTogJGNpdGF0aW9uLWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG4gIC8vICY6YmVmb3JlIHtcbiAgLy8gICBjb250ZW50OiAnfiAnO1xuICAvLyB9XG5cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGb250IEluY2x1ZGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1pY29uO1xuXG4gIHNyYzogdXJsKCcjeyRmb250LWRpcn0vaWNvbW9vbi8jeyRmb250LWljb21vb24tZmlsZW5hbWV9LmVvdD8jeyRib3VuZHJ5fSN7JGZvbnQtaWNvbW9vbi1maWxlbmFtZX0nKTtcbiAgc3JjOiB1cmwoJyN7JGZvbnQtZGlyfS9pY29tb29uLyN7JGZvbnQtaWNvbW9vbi1maWxlbmFtZX0uZW90PyNpZWZpeD8jeyRib3VuZHJ5fSN7JGZvbnQtaWNvbW9vbi1maWxlbmFtZX0nKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCcjeyRmb250LWRpcn0vaWNvbW9vbi8jeyRmb250LWljb21vb24tZmlsZW5hbWV9LndvZmYyPyN7JGJvdW5kcnl9I3skZm9udC1pY29tb29uLWZpbGVuYW1lfScpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJyN7JGZvbnQtZGlyfS9pY29tb29uLyN7JGZvbnQtaWNvbW9vbi1maWxlbmFtZX0udHRmPyN7JGJvdW5kcnl9I3skZm9udC1pY29tb29uLWZpbGVuYW1lfScpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoJyN7JGZvbnQtZGlyfS9pY29tb29uLyN7JGZvbnQtaWNvbW9vbi1maWxlbmFtZX0ud29mZj8jeyRib3VuZHJ5fSN7JGZvbnQtaWNvbW9vbi1maWxlbmFtZX0nKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJyN7JGZvbnQtZGlyfS9pY29tb29uLyN7JGZvbnQtaWNvbW9vbi1maWxlbmFtZX0uc3ZnPyN7JGJvdW5kcnl9IyN7JGZvbnQtaWNvbW9vbi1maWxlbmFtZX0nKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbltjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1pY29uO1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEljb24gQ2xhc3Nlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5pY29uLXBsdXM6YmVmb3JlIHsgY29udGVudDogJGdseXBoLXBsdXM7IH1cbi5pY29uLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRnbHlwaC1taW51czsgfVxuLmljb24tY2xvc2U6YmVmb3JlIHsgY29udGVudDogJGdseXBoLWNsb3NlOyB9XG4uaWNvbi1jaGV2cm9uLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGdseXBoLWNoZXZyb24tbGVmdDsgfVxuLmljb24tY2hldnJvbi1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZ2x5cGgtY2hldnJvbi1yaWdodDsgfVxuLmljb24tY2hldnJvbi11cDpiZWZvcmUgeyBjb250ZW50OiAkZ2x5cGgtY2hldnJvbi11cDsgfVxuLmljb24tY2hldnJvbi1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRnbHlwaC1jaGV2cm9uLWRvd247IH1cbi5pY29uLWFuZ2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGdseXBoLWFuZ2xlLWxlZnQ7IH1cbi5pY29uLWFuZ2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRnbHlwaC1hbmdsZS1yaWdodDsgfVxuLmljb24tYW5nbGUtdXA6YmVmb3JlIHsgY29udGVudDogJGdseXBoLWFuZ2xlLXVwOyB9XG4uaWNvbi1hbmdsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRnbHlwaC1hbmdsZS1kb3duOyB9XG4uaWNvbi1mYWNlYm9vazpiZWZvcmUgeyBjb250ZW50OiAkZ2x5cGgtZmFjZWJvb2s7IH1cbi5pY29uLXR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogJGdseXBoLXR3aXR0ZXI7IH1cbi5pY29uLWxpbmtlZGluOmJlZm9yZSB7IGNvbnRlbnQ6ICRnbHlwaC1saW5rZWRpbjsgfVxuLmljb24teW91dHViZS1wbGF5OmJlZm9yZSB7IGNvbnRlbnQ6ICRnbHlwaC15b3V0dWJlLXBsYXk7IH1cbi5pY29uLWZlZWQ6YmVmb3JlIHsgY29udGVudDogJGdseXBoLWZlZWQ7IH1cbi5pY29uLWdvb2dsZS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRnbHlwaC1nb29nbGUtcGx1czsgfVxuLmljb24taW5zdGFncmFtOmJlZm9yZSB7IGNvbnRlbnQ6ICRnbHlwaC1pbnN0YWdyYW07IH1cbi5pY29uLXNlYXJjaDpiZWZvcmUgeyBjb250ZW50OiAkZ2x5cGgtc2VhcmNoOyB9XG4uaWNvbi1iYXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRnbHlwaC1iYXJzOyB9XG4uaWNvbi1zcGlubmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRnbHlwaC1zcGlubmVyOyB9XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUGFnZSBDb250YWluZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4jZnNQYWdlV3JhcHBlciB7XG59XG5cbiNmc1BhZ2VCb2R5V3JhcHBlciB7XG4gIEBpbmNsdWRlIHBhZGRpbmcteDtcbiAgQGluY2x1ZGUgcGFkZGluZy15KCRndXR0ZXIgKiAyKTtcbiAgYmFja2dyb3VuZDogJHBhZ2UtY29udGVudC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5oYXMtdGllci1uYXZpZ2F0aW9uICYge1xuICAgIEBpbmNsdWRlIHBhZGRpbmcteSgkZ3V0dGVyICogMCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1wb3J0cmFpdCkge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZy15KCRndXR0ZXIgKiAyKTtcbiAgICB9XG4gIH1cbn1cblxuI2ZzUGFnZUJvZHkgeyBcbiAgQGluY2x1ZGUgY29tcGFydG1lbnQoJGJwLWJvdW5kcnkpO1xuXG4gIC5ob21lICYge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICAuZnNDb250ZW50IHtcbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG4jZnNQYWdlQ29udGVudCB7fSBcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29tbW9uIENvbHVtbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kbGItd2lkdGgtbGlzdDogcGVyY2VudGFnZSgxLzEpLCBwZXJjZW50YWdlKCAyMjAgLyA3MDAgKSwgJGxiLXdpZHRoO1xuXG4jZnNCYW5uZXJMZWZ0IHtcbiAgQGluY2x1ZGUgbGF5b3V0LWNvbHVtbjtcbiAgLy9kaXNwbGF5OiBub25lO1xuICB3aWR0aDogYXV0bztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1wb3J0cmFpdCkge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRsYi1wYWRkaW5nLXJpZ2h0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBudGgoJGxiLXdpZHRoLWxpc3QsMik7IC8vJGxiLXdpZHRoO1xuXG4gICAgLmZzT3ZlcnJpZGVMZWZ0QmFubmVyICYge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFuZHNjYXBlKSB7XG4gICAgd2lkdGg6IG50aCgkbGItd2lkdGgtbGlzdCwzKTtcbiAgfVxuXG59XG5cbi5mc0Jhbm5lckxlZnQge1xuICAmLm1vYmlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtcG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbiNmc1BhZ2VDb250ZW50IHtcbiAgQGluY2x1ZGUgbGF5b3V0LWNvbHVtbih0cnVlKTtcbiAgbWFyZ2luOiAwO1xuICAuZnNIYXNSaWdodEJhbm5lciAmIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXBvcnRyYWl0KSB7XG4gICAgICB3aWR0aDogMTAwJSAtICRyYi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cblxuICB9XG5cbiAgLmZzSGFzTGVmdEJhbm5lciAmIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXBvcnRyYWl0KSB7XG4gICAgICB3aWR0aDogMTAwJSAtIG50aCgkbGItd2lkdGgtbGlzdCwyKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICB9XG5cbiAgLmZzSGFzTGVmdEJhbm5lci5mc092ZXJyaWRlTGVmdEJhbm5lciAmIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1wb3J0cmFpdCkge1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZnNIYXNMZWZ0QmFubmVyLmZzSGFzUmlnaHRCYW5uZXIgJiB7XG4gICAgQGluY2x1ZGUgY2xlYXIoKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXBvcnRyYWl0KSB7XG4gICAgICB3aWR0aDogMTAwJSAtIG50aCgkbGItd2lkdGgtbGlzdCwyKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhbmRzY2FwZSkge1xuICAgICAgd2lkdGg6IDEwMCUgLSBudGgoJGxiLXdpZHRoLWxpc3QsMykgLSAkcmItd2lkdGggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgfVxuXG4gIC5mc0hhc0xlZnRCYW5uZXIuZnNIYXNSaWdodEJhbm5lci5mc092ZXJyaWRlTGVmdEJhbm5lciAmIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1wb3J0cmFpdCkge1xuICAgICAgLmZzT3ZlcnJpZGVMZWZ0QmFubmVyICYge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jZnNCYW5uZXJSaWdodCB7XG4gIEBpbmNsdWRlIGxheW91dC1jb2x1bW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtcG9ydHJhaXQpIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRyYi1wYWRkaW5nLWxlZnQ7XG4gICAgd2lkdGg6ICRyYi13aWR0aDtcbiAgfVxuXG4gIC5mc0hhc0xlZnRCYW5uZXIgJiB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1wb3J0cmFpdCkge1xuICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuICAgICAgd2lkdGg6IDEwMCUgLSBudGgoJGxiLXdpZHRoLWxpc3QsMik7XG4gICAgICBtYXJnaW4tbGVmdDogbnRoKCRsYi13aWR0aC1saXN0LCAyKTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhbmRzY2FwZSkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkcmItcGFkZGluZy1sZWZ0O1xuICAgICAgd2lkdGg6ICRyYi13aWR0aDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgfVxuXG4gIC5mc0hhc0xlZnRCYW5uZXIuZnNPdmVycmlkZUxlZnRCYW5uZXIgJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtcG9ydHJhaXQpIHtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb21tb24gTGF5b3V0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZnNMYXlvdXQge1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWNyZWF0ZS1jb2x1bW5zKSB7XG4gICAgQGluY2x1ZGUgbWFyZ2luLXgoJGd1dHRlciAqIC0xKTtcbiAgfVxuXG4gIC5mc0RpdiB7XG4gICAgQGluY2x1ZGUgbGF5b3V0LWNvbHVtbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWNyZWF0ZS1jb2x1bW5zKSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nLXg7XG4gICAgfVxuXG4gIH1cblxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMWNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIE5vIENoYW5nZXNcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMmNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5mc1R3b0NvbHVtbkxheW91dCB7XG5cbiAgLmZzRGl2IHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLTItY29sdW1uKSB7XG4gICAgICB3aWR0aDogY3AoMSwgMik7XG4gICAgfVxuXG4gIH1cblxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAzY1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmZzVGhyZWVDb2x1bW5MYXlvdXQge1xuXG4gIC5mc0RpdiB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC0zLWNvbHVtbikge1xuICAgICAgd2lkdGg6IGNwKDEsIDMpO1xuICAgIH1cblxuICB9XG5cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gNGNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5mc0ZvdXJDb2x1bW5MYXlvdXQge1xuXG4gIC5mc0RpdiB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC0yLWNvbHVtbikge1xuICAgICAgd2lkdGg6IGNwKDEsIDIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLTQtY29sdW1uKSB7XG4gICAgICB3aWR0aDogY3AoMSwgNCk7XG4gICAgfVxuXG4gIH1cblxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAyYy0xY1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gTm8gQ2hhbmdlc1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAxYy0yY1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gTm8gQ2hhbmdlc1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAzYy0xY1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gTm8gQ2hhbmdlc1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAxYy0zY1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gTm8gQ2hhbmdlc1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAxYy0yYy0xY1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gTm8gQ2hhbmdlc1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAxYy0zYy0xY1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gTm8gQ2hhbmdlc1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBFbGVwaGFudHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5mc0xheW91dCB7XG5cbiAgLmZzU3R5bGVUd29UaGlyZHMge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZWxlcGhhbnQtY29sdW1uKSB7XG4gICAgICB3aWR0aDogY3AoMiwgMyk7XG4gICAgfVxuXG4gIH1cblxuICAuZnNTdHlsZU9uZVRoaXJkIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWVsZXBoYW50LWNvbHVtbikge1xuICAgICAgd2lkdGg6IGNwKDEsIDMpO1xuICAgIH1cblxuICB9XG5cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMWMtMmMtMXJjXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAxbGMtMWMtMmNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4iLCIvKiEgZWxlbWVudHMgLSBjb25zdGl0dWVudCBtYWluICovXG5cbkBpbXBvcnRcbiAgJ3NlYXJjaCcsXG4gICdwcm9maWxlJyxcbiAgJ2RlZmF1bHQnOyAvL2RlZmF1bHQgb3B0aW9uIHRvIHJlcGxhY2Ugd2l0aCBwaW50ZXJlc3QgY29tbWVudCB0aGlzIG91dCBhbmQgdXNlIHRoZSBvbmUgYmVsb3dcblxuICAvLyAnbW9kdWxlcy9jb25zdGl0dWVudHMvcGludGVyZXN0JzsgLy9waW50ZXJlc3Qgb3B0aW9uIHRvIHJlcGxhY2UgZGVmYXVsdCBvciB1c2UgZm9yIHNwZWNpYWwgdHJlYXRtZW50c1xuIiwiLyohIGVsZW1lbnRzIC0gY29uc3RpdHVlbnQgc2VhcmNoICovXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTZWFyY2hcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5mc0NvbnN0aXR1ZW50IHtcblxuICAmLmZzU2VhcmNoIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGd1dHRlcjtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2RkZGVkZjtcblxuICAgID4uZnNFbGVtZW50Q29udGVudCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1jcmVhdGUtY29sdW1ucykge1xuICAgICAgICBtYXJnaW46IDAgLTEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiBjZSgkZ3V0dGVyKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtY3JlYXRlLWNvbHVtbnMpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB3aWR0aDogY3AoMSwgMikgLSAuNSU7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtMy1jb2x1bW4pIHtcbiAgICAgICAgd2lkdGg6IGNwKDEsIDMpIC0gLjUlO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgaW5wdXQsXG4gICAgc2VsZWN0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgW3R5cGUqPSdzdWJtaXQnXSB7XG4gICAgICB3aWR0aDogYXV0bztcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtY3JlYXRlLWNvbHVtbnMpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNlKCRndXR0ZXIgLyAyKTtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIC5mc0NvbnN0aXR1ZW50U2VhcmNoQnV0dG9uIC0gdGhpcyBwdWxscyB0aGUgYnV0dG9uIG1peGluIGZyb20gdGhlIF9idXR0b25zLnNjc3MgcGFydGlhbCwgXG4gICAgLy8gYSBnb29kIHRoaW5nIHRvIHRha2UgYWR2YW50YWdlIG9mIHN0eWxpbmcgaW4gdGhlIGJ1aWxkIGFzIGl0IHdpbGwgY2FzY2FkZSB0aHJvdWdoIHRoZSBzaXRlXG4gICAgLmZzQ29uc3RpdHVlbnRTZWFyY2hCdXR0b24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMTBweDtcbiAgICB9XG4gIH1cblxuICAuZnNFbGVtZW50UGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiAkZ3V0dGVyIDA7XG4gIH1cblxufVxuIiwiLyohIGVsZW1lbnRzIC0gY29uc3RpdHVlbnQgcHJvZmlsZSAqL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJvZmlsZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gb3B0aW9uYWwganMgZm9yIGV4dHJhIHN0eWxpbmdcbi8vIGlmICgkKCcuZnNDb25zdGl0dWVudFByb2ZpbGUnKS5sZW5ndGgpIHtcbi8vICAgJCgnLmZzQ29uc3RpdHVlbnRQcm9maWxlOmhhcyguZnNQcm9maWxlSW1hZ2UpJykuYWRkQ2xhc3MoJ2ZzSGFzUGhvdG8nKTtcbi8vIH1cblxuLmZzQ29uc3RpdHVlbnRQcm9maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5mc1Byb2ZpbGVJbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlcjtcbiAgfVxuXG4gIC5mc0Z1bGxOYW1lIHtcbiAgICBjb2xvcjogJG0xO1xuICB9XG5cbiAgJi5mc0hhc1Bob3RvIHsgLy9pZiBvcHRpb25hbCBqcyBpcyB1c2VkXG5cbiAgICA+ZGl2LCA+IGgzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoODAwcHgpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDI1JSArIDIwcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mc1Byb2ZpbGVJbWFnZSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDYwMHB4KSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoODAwcHgpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIG1heC13aWR0aDogMjUlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gICY6bm90KC5mc0hhc1Bob3RvKSB7XG4gICAgLmZzUHJvZmlsZUltYWdlIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNjAwcHgpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg4MDBweCkge1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4uZnNQcm9maWxlU2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IGNlKCRndXR0ZXIpO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGg0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzMjtcbiAgICAgIG1hcmdpbjogMCAwIC41ZW0gMDtcbiAgICAgIHBhZGRpbmc6IDAgMCAuNWVtIDA7XG4gICAgfVxuXG4gIC5mc1Byb2ZpbGVTZWN0aW9uRGF0YSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlciAvIDI7XG4gICAgcGFkZGluZy1ib3R0b206ICRndXR0ZXIgLyAyO1xuICAgICYuZnNUaXRsZSB7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMWVtOyB9XG5cbiAgfVxuXG59XG5cbi5mc1Byb2ZpbGVTZWN0aW9uU3BlY2lhbERhdGE+ZGl2LCAuZnNQcm9maWxlU3BlY2lhbEZpZWxkTmFtZT5kaXYge1xuICB3aWR0aDogYXV0bztcbiAgZmxvYXQ6IG5vbmU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoODAwcHgpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAmOmZpcnN0LWNoaWxkIHsgd2lkdGg6IDI1JTsgfVxuICAgICY6bGFzdC1jaGlsZCB7IHdpZHRoOiA3NSU7IH1cbiAgfVxufVxuXG4uZnNQcm9maWxlU2VjdGlvbkZpZWxkTmFtZSxcbi5mc1Byb2ZpbGVTZWN0aW9uRmllbGRWYWx1ZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBmbG9hdDogbm9uZTtcbn1cblxuLmZzUHJvZmlsZVNlY3Rpb25GaWVsZE5hbWUge1xuICBAaW5jbHVkZSBicmVha3BvaW50KDgwMHB4KSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuLmZzUHJvZmlsZVNlY3Rpb25GaWVsZFZhbHVlIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCg4MDBweCkge1xuICAgIHdpZHRoOiA3NSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuLy8gRXhjZXB0aW9uIGZvciBCaW9ncmFwaHlcbi5mc0Jpb2dyYXBoeSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDgwMHB4KSB7XG4gICAgICAgIC5mc1Byb2ZpbGVTZWN0aW9uRmllbGROYW1lIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAgICAgLmZzUHJvZmlsZVNlY3Rpb25GaWVsZE5hbWUsXG4gICAgICAgIC5mc1Byb2ZpbGVTZWN0aW9uRmllbGRWYWx1ZSB7IGZsb2F0OiBub25lOyB3aWR0aDogMTAwJTt9XG4gICAgICB9XG4gICAgfVxuXG4uZnNQcm9maWxlU2VjdGlvbkRhdGEuZnNFbXBsb3llZFNpbmNlIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4iLCIvKiEgZWxlbWVudHMgLSBjb25zdGl0dWVudCBkZWZhdWx0IGxheW91dCAqL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbHVtbnMgZGVmYXVsdCBkaXJlY3Rvcnlcbi8vIGZvciBwaW50ZXJlc3Qgc3R5bGUgc3dhcCBvdXQgaW4gbWFpbi5jc3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZnNEaXJlY3Rvcnkge1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuXG4gIC5mc0NvbnN0aXR1ZW50SXRlbSB7XG4gICAgcGFkZGluZzogJGd1dHRlciAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRzMTtcblxuICAgIC8vIC8vIG9wdGlvbmFsIHN0eWxpbmcgdG8gcmVtb3ZlIGJvbGQgbGFiZWxzIGFuZCBhd2t3YXJkIGJyIHRhZ3MgaW4gRE9NXG4gICAgLy8gPmRpdiBzdHJvbmcsID5kaXYgYnIge1xuICAgIC8vICAgZGlzcGxheTogbm9uZTtcbiAgICAvLyB9XG5cbiAgICA+IGgzLCA+IGRpdiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlciAvIDI7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZnNQaG90byB7XG4gICAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9Ly9lbmQgY29uc3RpdHVlbnQgaW5kaXZpZHVhbCBpdGVtXG5cbn1cblxuLy8gT25lIENvbHVtblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmZzQ29uc3RpdHVlbnRDb2x1bW5MYXlvdXRfMSB7XG5cbiAgLmZzQ29uc3RpdHVlbnRJdGVtIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlcjtcbiAgfVxuXG59XG5cblxuLy8gVHdvIENvbHVtblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmZzQ29uc3RpdHVlbnRDb2x1bW5MYXlvdXRfMiB7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtMi1jb2x1bW4pIHtcbiAgICBtYXJnaW46IDAgLTEwcHg7XG4gIH1cblxuICAuZnNDb25zdGl0dWVudEl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtMi1jb2x1bW4pIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgfVxuXG59XG5cblxuLy8gVGhyZWUgQ29sdW1uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZnNDb25zdGl0dWVudENvbHVtbkxheW91dF8zIHtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC0yLWNvbHVtbikge1xuICAgIG1hcmdpbjogMCAtMTBweDtcbiAgfVxuXG4gIC5mc0NvbnN0aXR1ZW50SXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC0yLWNvbHVtbikge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlcjtcblxuICAgICAgJjpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC0zLWNvbHVtbikge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMlIC0gMjBweCk7XG5cbiAgICAgICY6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxufVxuXG5cbi8vIEZvdXIgQ29sdW1uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZnNDb25zdGl0dWVudENvbHVtbkxheW91dF80IHtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC0yLWNvbHVtbikge1xuICAgIG1hcmdpbjogMCAtMTBweDtcbiAgfVxuXG4gIC5mc0NvbnN0aXR1ZW50SXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC0yLWNvbHVtbikge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXI7XG5cbiAgICAgICY6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtMy1jb2x1bW4pIHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzJSAtIDIwcHgpO1xuXG4gICAgICAmOm50aC1jaGlsZCgybisxKSB7XG4gICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLTQtY29sdW1uKSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAyMHB4KTtcblxuICAgICAgJjpudGgtY2hpbGQoM24rMSkge1xuICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoNG4rMSkge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG59XG5cbiIsIi5mc0FjY29yZGlvbiB7XG4gIG1hcmdpbi1ib3R0b206ICRndXR0ZXI7XG5cbiAgQGluY2x1ZGUgc2hhcmVkLWFjY29yZGlvbi1mc1BhbmVsKCk7XG5cbn1cblxuLy9jcmF6aW5lc3MgdG8gb3ZlcnJpZGUgYXBwbGljYXRpb24gY3NzIGZvciBpY29uXG4uZnNBY2NvcmRpb24uZnNQYW5lbEljb25CZWZvcmUgLmZzUGFuZWwuZnNTdGF0ZU9wZW4+aGVhZGVyIGgyOjpiZWZvcmUsXG4uZnNBY2NvcmRpb24uZnNQYW5lbEljb25BZnRlciAuZnNQYW5lbC5mc1N0YXRlT3Blbj5oZWFkZXIgaDI6OmFmdGVyLFxuLmZzQWNjb3JkaW9uLmZzUGFuZWxJY29uQWZ0ZXIgLmZzUGFuZWw+aGVhZGVyIGgyOjphZnRlcixcbi5mc0FjY29yZGlvbi5mc1BhbmVsSWNvbkJlZm9yZSAuZnNQYW5lbD5oZWFkZXIgaDI6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGZvbnQtaWNvbiggJGdseXBoLWNsb3NlICk7XG4gIGZvbnQtc2l6ZTogJGFjY29yZGlvbnMtaWNvbi1zaXplO1xuICBib3JkZXI6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5mc0FjY29yZGlvbi5mc1BhbmVsSWNvbkJlZm9yZSAuZnNQYW5lbC5mc1N0YXRlT3Blbj5oZWFkZXIgaDI6OmJlZm9yZSxcbi5mc0FjY29yZGlvbi5mc1BhbmVsSWNvbkFmdGVyIC5mc1BhbmVsLmZzU3RhdGVPcGVuPmhlYWRlciBoMjo6YWZ0ZXIge1xuICBjb250ZW50OiAkYWNjb3JkaW9ucy1pY29uLWNsb3NlO1xufVxuXG4uZnNBY2NvcmRpb24uZnNQYW5lbEljb25BZnRlciAuZnNQYW5lbD5oZWFkZXIgaDI6OmFmdGVyLFxuLmZzQWNjb3JkaW9uLmZzUGFuZWxJY29uQmVmb3JlIC5mc1BhbmVsPmhlYWRlciBoMjo6YmVmb3JlIHtcbiAgY29udGVudDogJGFjY29yZGlvbnMtaWNvbi1vcGVuO1xufVxuXG4uZnNBY2NvcmRpb24uZnNQYW5lbEljb25CZWZvcmUgLmZzUGFuZWw+aGVhZGVyIGgyOjpiZWZvcmUge1xuICBtYXJnaW46IC0zcHggJGd1dHRlciAwIDA7XG59XG5cbi5mc0FjY29yZGlvbi5mc1BhbmVsSWNvbkFmdGVyIC5mc1BhbmVsPmhlYWRlciBoMiB7XG4gICY6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIG1hcmdpbjogMCAwIDAgJGd1dHRlcjtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cbiIsIi8qISBlbGVtZW50cyAtIGNhbGVuZGFyIHYwLjAuMSAqL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTGlzdFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmZzQ2FsZW5kYXIge1xuICAgIEBpbmNsdWRlIHNoYXJlZC1jb250ZW50LWJsb2NrO1xuICAgICYuZnNHcmlkIHtcbiAgICAgICAgLmZzQ2FsZW5kYXJHcmlkQnJvd3NlciB7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBwYWRkaW5nOjAgMjBweCFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5mc0xlZnRBcnJvdywuZnNSaWdodEFycm93IHtcbiAgICAgICAgICAgIHdpZHRoOmF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6YXV0bztcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgdG9wOi0zcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgYXJ0aWNsZSB7XG4gICAgICAgIEBpbmNsdWRlIHNoYXJlZC1jYWxlbmRhci1uZXdzLWJsb2NrO1xuICAgICAgICAvLyBQcm92aWRlcyBzcGFjZSBmb3IgdGhlIGZsb2F0aW5nIGRhdGVcbiAgICAgICAgLy8gVGhpcyBpcyBzZXQgdXAgaW4gY29uZmlnIGZpbGVcbiAgICAgICAgQGlmICRmbG9hdGluZy1kYXRlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIC8vIDgwIHJlZmVycyB0byB0aGUgaGVpZ2h0IG9mIHRoZSBmbG9hdGluZy1kYXRlXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDExMHB4O1xuICAgICAgICAgICAgbWluLWhlaWdodDogOTBweDtcbiAgICAgICAgfVxuICAgICAgICAuZnNOb3RlcyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyIC8gMjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZnNUaXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIHNoYXJlZC1jYWxlbmRhci1uZXdzLXRpdGxlLXN0eWxlO1xuICAgIH1cbiAgICAuZnNEYXRlIHtcbiAgICAgICAgQGluY2x1ZGUgc2hhcmVkLWNhbGVuZGFyLW5ld3MtZGF0ZS1zdHlsZTtcbiAgICAgICAgLy8gUG9zaXRpb24gdGhlIGRhdGUgdG8gdGhlIGxlZnQgb2YgdGhlIGV2ZW50IGRldGFpbHNcbiAgICAgICAgQGlmICRmbG9hdGluZy1kYXRlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJG01O1xuICAgICAgICB9XG4gICAgICAgIC8vIE1vbiBGZWIgMTJcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAaWYgJGZsb2F0aW5nLWRhdGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIE1vblxuICAgICAgICAuZnNEYXlOYW1lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuICAgICAgICAvLyBGZWJcbiAgICAgICAgLmZzTW9udGgge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG4gICAgICAgIC8vIDEyXG4gICAgICAgIC5mc0RheSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICAgICAgICBjb2xvcjogJG0xO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZnNFdmVudERldGFpbHMge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgfVxuICAgIC5mc1RpbWVSYW5nZSB7XG4gICAgICAgIEBpbmNsdWRlIHNoYXJlZC1jYWxlbmRhci1uZXdzLXRleHQtc3R5bGU7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbTE7XG4gICAgICAgICAgICBAaWYgJGV2ZW50LWljb25zIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWljb24yKFwiXFxmMDE3XCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5mc0xvY2F0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgc2hhcmVkLWNhbGVuZGFyLW5ld3MtdGV4dC1zdHlsZTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGlmICRldmVudC1pY29ucyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1pY29uMihcIlxcZjA0MVwiKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG0xO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZnNDYWxlbmRhci5mc1NsaWRlc2hvdyB7XG4gICAgYXJ0aWNsZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXBvcnRyYWl0KSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgKCRndXR0ZXIgLyAyKSAoJGd1dHRlciAvIDIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyB4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eFxuLy8gRGFuZ2VyIFpvbmVcbi8vIHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHcmlkXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZnNDYWxlbmRhck1vbnRoQnJvd3NlciB7XG4gICAgLmZzQ2FsZW5kYXJQcmV2TW9udGgsIC5mc0NhbGVuZGFyTmV4dE1vbnRoIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWljb24oJGdseXBoLWFuZ2xlLWxlZnQpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBjb2xvcjogJG0xO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZzQ2FsZW5kYXJOZXh0TW9udGgge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkZ2x5cGgtYW5nbGUtcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vZ3JpZCBjYWxlbmRhciBtb2JpbGl0eSBmdW5jdGlvbmFsaXR5IGFuZCBzdHlsaW5nXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicC1sYW5kc2NhcGUgLSAxKSB7XG4gICAgLmZzQ2FsZW5kYXIuZnNHcmlkIC5mc0NhbGVuZGFyRXZlbnRHcmlkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAuZnNDYWxlbmRhck1vbnRoQnJvd3NlciB7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgfVxuICAgICAgICAuZnNDYWxlbmRhckRheWJveCxcbiAgICAgICAgLmZzQ2FsZW5kYXJPdXRPZlJhbmdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvIDcpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAmLmZzQ2FsZW5kYXJXZWVrZW5kRGF5Qm94IHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGcwO1xuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtaXgoJG0xLCAkY29sb3Itd2hpdGUsIDYwJSk7XG4gICAgICAgICAgICAgICAgLmZzQ2FsZW5kYXJEYXRlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZnNDYWxlbmRhckRhdGUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZzQ2FsZW5kYXJSb3cge1xuICAgICAgICAgICAgLy8gZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuICAgICAgICAuZnNDYWxlbmRhckluZm8ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2V2ZW50LXZpZXcge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG8gMDtcbiAgICAuZnNDYWxlbmRhckRheWJveCB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYW5kc2NhcGUpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5zY3JvbGwtdXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhbmRzY2FwZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmZzQ2FsZW5kYXJXZWVrZW5kRGF5Qm94ZnNDYWxlbmRhck91dE9mUmFuZ2UgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgLmZzQ2FsZW5kYXJEYXRlIHtcbiAgICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5mc0NhbGVuZGFyRXZlbnRHcmlkIC5mc0NhbGVuZGFyV2Vla2RheXMgc3BhbiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZGVza3RvcCkge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxufVxuXG4vLyBNb250aCBTZWxlY3RvclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmZzQ2FsZW5kYXJNb250aEJyb3dzZXIge1xuICAgIGJ1dHRvbiB7fVxuICAgIEBhdC1yb290IC5mc0NhbGVuZGFyUHJldk1vbnRoIHt9XG4gICAgQGF0LXJvb3QgLmZzQ2FsZW5kYXJOZXh0TW9udGgge31cbn1cblxuLy8gV2Vla2RheSBIZWFkZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZnNDYWxlbmRhcldlZWtkYXlzIHtcbiAgICBzcGFuIHt9XG59XG5cbi8vIEluZGl2aWR1YWwgRGF5c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmZzQ2FsZW5kYXJSb3cge31cblxuLmZzQ2FsZW5kYXJEYXlib3gge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgLmZzQ2FsZW5kYXJSb3cgJiB7XG4gICAgICAgICYuaGFzLWluZm8ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWl4KCRtMiwgJGNvbG9yLXdoaXRlLCAzMCUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAYXQtcm9vdCAuZnNDYWxlbmRhck91dE9mUmFuZ2Uge31cbiAgICBAYXQtcm9vdCAuZnNDYWxlbmRhckV2ZW50R3JpZCAuZnNDYWxlbmRhclJvdyAuZnNDYWxlbmRhclRvZGF5IHtcbiAgICAgICAgYmFja2dyb3VuZDogbWl4KCRtMywgJGNvbG9yLXdoaXRlLCAzMCUpO1xuICAgIH1cbiAgICBAYXQtcm9vdCAuZnNDYWxlbmRhcldlZWtlbmREYXlCb3gge31cbiAgICAuZnNDYWxlbmRhckRhdGUge31cbiAgICAuZnNDYWxlbmRhckRheSB7fVxuICAgIC5mc0NhbGVuZGFyTW9udGgge31cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENhbGVuZGFyICYgQ2F0ZWdvcnkgTGVnZW5kXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLmZzRWxlbWVudEV2ZW50Q29sb3JJY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xufVxuXG4uZnNDYWxlbmRhckxlZ2VuZCB7XG4gICAgQGluY2x1ZGUgbGlzdC1yZXNldDtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGg0IHt9XG4gICAgPiB1bCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSkge1xuICAgICAgICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFyZ2UpIHtcbiAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMztcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHt9XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgbGkge31cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ2FwdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmNhcHRpb24ge1xuXG4gIC8vZGlzcGxheTogbm9uZTsvL3RlbXBcblxuICBmb250LXNpemU6IGNlKCAkY2FwdGlvbi1zaXplICk7XG4gIGxpbmUtaGVpZ2h0OiAkY2FwdGlvbi1saW5lLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogKCAkY2FwdGlvbi1zaXplICogJGNhcHRpb24tbGluZS1oZWlnaHQgKSAvIDI7IC8vIGFzIGdvb2QgYSBzdGFydGluZyBwb2ludCBhcyBhbnlcbiAgY29sb3I6ICRjYXB0aW9uLWNvbG9yO1xuICBmb250LWZhbWlseTogJHNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExlYWQgSW5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4uZnNfc3R5bGVfMTAsXG4ubGVhZC1pbiB7XG4gIGZvbnQtc2l6ZTogY2UoJGxlYWQtaW4tc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiBzdSggJGxlYWQtaW4tbGluZS1oZWlnaHQgKSAvIHN1KCAkbGVhZC1pbi1zaXplICk7XG4gIG1hcmdpbi1ib3R0b206ICRsZWFkLWluLW1hcmdpbjtcbiAgY29sb3I6ICRsZWFkLWluLWNvbG9yO1xuICBmb250LWZhbWlseTogJGxlYWQtaW4tZmFtaWx5O1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIChUZXh0KSBDYWxsb3V0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLmZzX3N0eWxlXzksIC8vMzFcbi5jYWxsb3V0Om5vdCguYnV0dG9uKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46ICRndXR0ZXIgMDtcbiAgYmFja2dyb3VuZDogJGNhbGxvdXQtYmFja2dyb3VuZC1jb2xvcjtcbiAgZm9udC1zaXplOiAkY2FsbG91dC1zaXplO1xuICBsaW5lLWhlaWdodDogJGNhbGxvdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY2FsbG91dC1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRjYWxsb3V0LWZhbWlseTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gJi5sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogJGd1dHRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXBoYWJsZXQpIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuXG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ3V0dGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtcGhhYmxldCkge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgfVxuXG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCYW5uZXIgQmxvY2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLmNvbnRlbnQtYmxvY2sge1xuICBAaW5jbHVkZSBzaGFyZWQtY29udGVudC1ibG9jaygpO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRXh0ZW5kZWQgQnV0dG9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5mc19zdHlsZV8zLC8vYmx1ZSAzLy8yNVxuLmZzX3N0eWxlXzIsLy9ncmVlbiAyLy8yNlxuLmZzX3N0eWxlXzQsLy9ncmF5IDQvLzI3XG4uYnV0dG9uIHtcbiAgQGluY2x1ZGUgZGVmYXVsdC1idXR0b24tdHlwZSgpO1xuICBAaW5jbHVkZSBidXR0b24oJGJ1dHRvbnMtYmFja2dyb3VuZC1jb2xvciwgJGJ1dHRvbnMtYmFja2dyb3VuZC1jb2xvci1ob3ZlciwgJGJ1dHRvbnMtY29sb3IsICRidXR0b25zLWNvbG9yLWhvdmVyKTtcbiAgYm9yZGVyOiAkYnV0dG9ucy1ib3JkZXItd2lkdGggJGJ1dHRvbnMtYm9yZGVyLXN0eWxlIHRyYW5zcGFyZW50O1xuICAmOmhvdmVyIHtcbiAgICBib3JkZXI6ICRidXR0b25zLWJvcmRlci13aWR0aCAkYnV0dG9ucy1ib3JkZXItc3R5bGUgJGJ1dHRvbnMtYm9yZGVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJG0xLDEwJSk7XG4gIH1cbn1cblxuLmZzX3N0eWxlXzMsXG4uYnV0dG9uLmJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbTI7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigkbTIsMTAlKTtcbiAgfVxufVxuLmZzX3N0eWxlXzQsXG4uYnV0dG9uLmdyYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbTU7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigkbTUsMTAlKTtcbiAgICBjb2xvcjogJGQxO1xuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENhbGxvdXQgQnV0dG9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uY2FsbG91dC1idXR0b24sXG4uZnNfc3R5bGVfNiwvL2JsdWUvLzMyXG4uZnNfc3R5bGVfNSwvL2dyZWVuLy8zM1xuLmZzX3N0eWxlXzcgeyAvL2dyYXkvLzM0XG4gIEBpbmNsdWRlIGRlZmF1bHQtYnV0dG9uLXR5cGUoKTtcblxuICBAaW5jbHVkZSBidXR0b24tY2FsbG91dCgkYnV0dG9ucy1iYWNrZ3JvdW5kLWNvbG9yLCAkYnV0dG9ucy1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyLCAkYnV0dG9ucy1jb2xvciwgJGJ1dHRvbnMtY29sb3ItaG92ZXIpO1xuICBib3JkZXI6ICRidXR0b25zLWNhbGxvdXQtYm9yZGVyLXdpZHRoICRidXR0b25zLWNhbGxvdXQtYm9yZGVyLXN0eWxlIHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDIycHg7XG4gIHBhZGRpbmc6IDFlbSAyLjVlbTtcbiAgZW0geyBtYXJnaW4tdG9wOiAuNWVtOyB9XG4gICY6aG92ZXIge1xuICAgIGJvcmRlcjogJGJ1dHRvbnMtY2FsbG91dC1ib3JkZXItd2lkdGggJGJ1dHRvbnMtY2FsbG91dC1ib3JkZXItc3R5bGUgJGJ1dHRvbnMtY2FsbG91dC1ib3JkZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigkbTEsMTAlKTtcbiAgfVxuXG4gICNmc0Jhbm5lckxlZnQgJixcbiAgI2ZzQmFubmVyUmlnaHQgJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmZzX3N0eWxlXzYge1xuICAgIGJhY2tncm91bmQ6ICRtMjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkbTIsMTAlKTtcbiAgICB9XG4gIH1cbiAgJi5mc19zdHlsZV83IHtcbiAgICBiYWNrZ3JvdW5kOiAkbTU7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJG01LDEwJSk7XG4gICAgICBjb2xvcjogJHMyO1xuICAgIH1cbiAgfVxuXG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTdHlsZWQgSW1hZ2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5mc19zdHlsZV84IHsvLzI5XG4gIGJvcmRlci1sZWZ0OiAxMnB4IHNvbGlkICRtMTtcbiAgd2lkdGg6IDEwMCU7XG4gICZbc3R5bGU9XCJmbG9hdDogcmlnaHQ7XCJdIHsgd2lkdGg6IGF1dG87IG1hcmdpbjogMCAwIDFlbSAxZW07IH1cbiAgJltzdHlsZT1cImZsb2F0OiBsZWZ0O1wiXSB7IHdpZHRoOiBhdXRvOyBtYXJnaW46IDAgMWVtIDFlbSAwOyB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTbGljayBDb250cm9sIE92ZXJyaWRlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAuZnNTbGlkZXNob3cgLmZzUGFnZXIgbGkge1xuICAgIG1hcmdpbjogMCAxcHg7XG4gICAgYnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgICAgICAgIGNvbG9yOiAkczM7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cblxuICAgICAgfVxuICAgICAgJi5zbGljay1hY3RpdmUge1xuICAgICAgICBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICAvLyBjb2xvcjogJG0xOyBTZWUgU2Nob29sIENvbG9ycyBNaXhpblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29udGVudCBJbWFnZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAuZnNfc3R5bGVfMTUsIC8vbGVmdFxuLy8gLmZzX3N0eWxlXzE2LCAvL3JpZ2h0XG4vLyAuZnNfc3R5bGVfMTcge1xuLy8gICBkaXNwbGF5OiBibG9jaztcbi8vICAgd2lkdGg6IDEwMCU7XG5cbi8vICAgYm9yZGVyOiBub25lO1xuLy8gICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4vLyAgIC1tb3otYm94LXNoYWRvdzogbm9uZTtcbi8vICAgYm94LXNoYWRvdzogbm9uZTtcblxuLy8gICBtYXJnaW46ICRndXR0ZXIgYXV0bztcblxuLy8gICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1wb3J0cmFpdCkge1xuLy8gICAgIC8vd2lkdGg6IGF1dG87XG4vLyAgIH1cblxuLy8gfVxuXG4vLyAuZnNfc3R5bGVfMTUsIC8vbGVmdFxuLy8gLmZzX3N0eWxlXzE2IC8vcmlnaHRcbi8vICB7XG4vLyAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXBvcnRyYWl0KSB7XG4vLyAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoIDEgLyAyICk7XG4vLyAgIH1cblxuLy8gICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYW5kc2NhcGUpIHtcbi8vICAgICB3aWR0aDogcGVyY2VudGFnZSggMyAvIDggKTtcbi8vICAgfVxuLy8gfVxuXG5cbi8vIC8vbGVmdFxuLy8gLmZzX3N0eWxlXzE1IHtcblxuLy8gICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1wb3J0cmFpdCkge1xuLy8gICAgIGZsb2F0OiBsZWZ0O1xuLy8gICAgIG1hcmdpbi1yaWdodDogJGd1dHRlcjtcbi8vICAgICBtYXJnaW4tbGVmdDogMDtcbi8vICAgfVxuXG4vLyB9XG5cbi8vcmlnaHRcbi8vIC5mc19zdHlsZV8xNiB7XG4vLyAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXBvcnRyYWl0KSB7XG4vLyAgICAgZmxvYXQ6IHJpZ2h0O1xuLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vICAgICBtYXJnaW4tbGVmdDogJGd1dHRlcjtcbi8vICAgfVxuLy8gfVxuXG4uZnNSZWFkTW9yZUxpbmsge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6ICRtMTtcbiAgbWFyZ2luLXRvcDogJGd1dHRlciAvIDI7XG59XG5cblxuXG4iLCIvKiEgZWxlbWVudHMgLSBmb3JtcyAqL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRG9jdW1lbnRhdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gZXhhbXBsZTogaHR0cDovL2NvZGVyZXBvLmRlbW8uZmluYWxzaXRlLmNvbS9wcm9kdWN0aW9uL2Zvcm1cbi8vIHRoZSBwYWdlIGNvbnRhaW5zIGV4YW1wbGUgcGFnZXMgb2YgZm9ybSBvcHRpb25zIGluY2x1ZGluZzogXG4vLyAgLSBjb21tb24gZm9ybSB3aXRob3V0IHBhZ2luZ1xuLy8gIC0gY29tbW9uIGZvcm0gd2l0aCBwYWdpbmdcbi8vICAtIGNvbW1vbiBmb3JtIHRoYXQgaW5jbHVkZSBjb2x1bW5zXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb21tb24gRm9ybSBFbGVtZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxudGV4dGFyZWEsXG5pbnB1dCxcbnNlbGVjdCB7XG4gIHBhZGRpbmc6IDVweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uZnNDb21wb3NlckZvcm1FbWJlZCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7IC8vcmVzZXQgZm9yIGh0bWwgYmFja2dyb3VuZCBjb2xvclxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIHN0eWxpbmcgZm9yIGVtYmVkZGVkIGZvcm1zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgZm9ybSB7XG4gICAgQGluY2x1ZGUgY2xlYXI7XG5cbiAgICBpbnB1dCB7XG4gICAgICBib3JkZXI6IHNvbGlkIDFweCAjY2NjO1xuXG4gICAgICAmLmZpbGVVcGxvYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZmllbGRzZXQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlcjogc29saWQgMXB4ICNjY2M7XG4gICAgfVxuXG4gICAgLm1haW5Hcm91cFN1YiB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmZvcm1QYWdlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXI7XG4gICAgfVxuXG4gICAgLmVsZW1lbnRSb3cge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAuZWxlbWVudENvbnRhaW5lciB7XG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmVsZW1lbnRDb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIDAgJGd1dHRlcjtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcblxuICAgICAgICAmLmhvcml6b250YWwge1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ3V0dGVyIC8yIWltcG9ydGFudDtcblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGhyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZWxlbWVudEJvZHkge1xuICAgICAgPiBpbnB1dCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiAuZGVzY1RleHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyIC8gMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvL2xhYmVsIGFsaWduZWQgbGVmdFxuXG4gICAgLmxhYmVsTGVmdCB7XG4gICAgICAuZWxlbWVudENvbnRhaW5lciB7XG5cbiAgICAgICAgbGFiZWwsIC5ncm91cExhYmVsIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNjAwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IGxhYmVsIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDYwMHB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweCA1cHggNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ncm91cExhYmVsIHtcbiAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmaWVsZHNldCB7XG4gICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5lbGVtZW50Qm9keSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDYwMHB4KSB7XG4gICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gLy9lbmQgbGFibGUgYWxpZ25lZCBsZWZ0XG5cbiAgICAubGlua0xpa2Uge1xuICAgICAgY29sb3I6ICRtMTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IC4zcztcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkbTI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJlcXVpcmVkIHtcbiAgICAgIGNvbG9yOiAkbTE7XG4gICAgfVxuXG4gICAgLnBhZ2VDb250cm9scyB7XG4gICAgICBwYWRkaW5nOiAkZ3V0dGVyIC8gMiAwIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXIgLzI7XG5cbiAgICAgIC51c2VyQ29uZmlybWF0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudXNlckNvbmZpcm1hdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuXG4gICAgICAudXNlckNvbmZpcm1hdGlvblRvZ2dsZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgfVxuXG4gICAgICA+bGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZWxlbWVudENvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAgICAgZmxvYXQ6IG5vbmUhaW1wb3J0YW50O1xuICAgICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lbGVtZW50Q29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVsZW1lbnRCb2R5IHtcbiAgICAgICAgICA+aW5wdXQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2VCcmVhayB7XG4gICAgICBAaW5jbHVkZSBjbGVhcjtcblxuICAgICAgLm5leHRQYWdlLCAucHJldlBhZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkbTE7XG4gICAgICAgIHRyYW5zaXRpb246IC4zcztcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nOiAkZ3V0dGVyIC8gMiAwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkbTI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogLjNzO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wcmV2UGFnZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGd1dHRlciAvIDI7XG4gICAgICB9XG5cbiAgICAgIC5wYWdlbnVtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGd1dHRlciAvIDI7XG4gICAgICAgIHBhZGRpbmc6ICRndXR0ZXIgLyAyIDA7XG5cbiAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIHN1Ym1pdCBidXR0b24gY2Fubm90IHVzZSBAaW5jbHVkZSBidXR0b24gYmVjYXVzZSBvZiB0aGUgZGlzcGxheSBwcm9wZXJ0eVxuICAgIC5zdWJtaXRCdG4ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogJGd1dHRlciAvIDIgJGd1dHRlcjtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkbTEhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICBib3JkZXI6IG5vbmUhaW1wb3J0YW50O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zaXRpb246IC4zcztcbiAgICAgICAgY29sb3I6ICNmZmYhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbTIhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH0vLyBlbmQgYWN0dWFsIGZvcm0gZmllbGQgXG5cbiAgLy9kYXRlIHBpY2tlZCB3aXRoIGpxdWVyeSB1aSBcbiAgLnVpLXdpZGdldCB7XG4gICAgZm9udC1mYW1pbHk6ICRzYW5zLXNlcmlmO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC51aS1kYXRlcGlja2VyIHtcbiAgICAmOmVtcHR5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLnVpLWRhdGVwaWNrZXItcHJldiwgLnVpLWRhdGVwaWNrZXItbmV4dCB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRyYW5zaXRpb246IC4zcztcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAuM3M7XG4gICAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudWktZGF0ZXBpY2tlci1uZXh0IHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcMjAzQSc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnVpLWRhdGVwaWNrZXItcHJldiB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXDIwMzknO1xuICAgICAgfVxuICAgIH1cblxuICAgIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIge1xuICAgICAgcmlnaHQ6IDJweDtcbiAgICAgIHRvcDogMnB4O1xuICAgIH1cblxuICAgIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIge1xuICAgICAgbGVmdDogMnB4O1xuICAgICAgdG9wOiAycHg7XG4gICAgfVxuXG4gICAgLnVpLXN0YXRlLWRlZmF1bHQge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgjMDAwLCAuMDUpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC51aS1zdGF0ZS1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgjMDAwLCAuMSk7XG4gICAgfVxuXG4gICAgLnVpLXN0YXRlLWhpZ2hsaWdodCB7XG4gICAgICBib3JkZXI6IHNvbGlkIDFweCAjZDNkM2QzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkMztcbiAgICB9XG5cbiAgfS8vZW5kIGRhdGUgcGlja2VyXG5cbn0vL2VuZCBjdXN0b20gZm9ybSBzZWxlY3RvclxuXG4iLCIjZnNIZWFkZXIgLm5hdmlnYXRpb24ubWFpbiB7XG4gICAgQGluY2x1ZGUgbGlzdC1yZXNldDtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFuZHNjYXBlKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTM0cHgpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICA+IC5mc0VsZW1lbnRDb250ZW50IHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG5hdiB1bC5mc05hdkxldmVsMSA+IGxpID4gYSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOyBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWRlc2t0b3ApIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQ2MHB4KTtcbiAgICB9XG5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PVxuICAgIC8vIChNYWluLCBQYWdlKSBOYXZpZ2F0aW9uXG4gICAgbmF2IHtcbiAgICAgICAgQGluY2x1ZGUgbGlzdC1yZXNldDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB1bC5mc05hdkxldmVsMSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIGF1dG87XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1vZGVybml6cihmbGV4Ym94LCBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBoZWFkZXItbmF2aWdhdGlvbi1saW5rcztcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXIsICYubWVudS1pdGVtLW9wZW4sICY6Zm9jdXMgeyBcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGVyLW5hdmlnYXRpb24tbGlua3MtaG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuZnNOYXZDdXJyZW50UGFnZSA+IGEsXG4gICAgICAgICAgICAgICAgJi5mc05hdkN1cnJlbnRQYWdlQW5jZXN0b3IgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGVyLW5hdmlnYXRpb24tbGlua3MtaG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bm90KC5mc05hdlBhcmVudFBhZ2UpIHsgXG4gICAgICAgICAgICAgICAgICAgIGE6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG00O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vID09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gRHJvcC1kb3duKHMpIChBS0EgXCIuZnNOYXZQYWdlSW5mb1wiKVxuICAgIC5mc05hdlBhZ2VJbmZvIHtcbiAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24oNjUwcHgsIGxlZnQpO1xuICAgICAgICBwYWRkaW5nOiAkZ3V0dGVyIC8gMS41O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbTQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIC8vIExhc3QgMyBEcm9wZG93bnNcbiAgICAgICAgQGF0LXJvb3QgI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gLmZzTmF2TGV2ZWwxID4gbGk6bGFzdC1jaGlsZCAuZnNOYXZQYWdlSW5mbyB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgQGF0LXJvb3QgI2ZzSGVhZGVyIC5uYXZpZ2F0aW9uLm1haW4gLmZzTmF2TGV2ZWwxID4gbGk6bnRoLWxhc3QtY2hpbGQoMikgLmZzTmF2UGFnZUluZm8ge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIEBhdC1yb290ICNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIC5mc05hdkxldmVsMSA+IGxpOm50aC1sYXN0LWNoaWxkKDMpIC5mc05hdlBhZ2VJbmZvIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuZnNOYXZQYWdlRGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgaW5saW5lLWVsZW1lbnQodG9wKTtcbiAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDMwMCAvIDgyMCk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogKDIyIC8gMTQpO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIGgzLFxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkYm9keS1saW5lLWhlaWdodCAwIDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGNlKDI0KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogKDMwIC8gMjQpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbTI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzZXJpZjtcbiAgICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdWwuZnNOYXZMZXZlbDIge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBpbml0aWFsO1xuICAgICAgICAgICAgLy8gY2hyb21lIGZpeFxuICAgICAgICAgICAgY29sdW1uLWNvdW50OiAzO1xuICAgICAgICAgICAgY29sdW1uLWdhcDogMzBweDtcbiAgICAgICAgICAgIGNvbHVtbi1ydWxlOiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXI7XG4gICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgICAgICAgICAgICAgICAvLyBwcmV2ZW50IGVhY2ggaXRlbSBicmVha2luZ1xuICAgICAgICAgICAgICAgIC8vLmZzTmF2UGFnZUluZm8geyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgICAgICAgICAvLyBTaG93IFRpZXIgMyBGb3IgU2Nob29scyBEcm9wZG93blxuICAgICAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgICAgICAgICAgLy8gQGF0LXJvb3QgLmRpc3RyaWN0ICNmc0hlYWRlciAubmF2aWdhdGlvbi5tYWluIG5hdiB1bC5mc05hdkxldmVsMSBsaTpudGgtY2hpbGQoI3skc2Nob29scy1kcm9wZG93bi1sb2NhdGlvbn0pIC5mc05hdlBhZ2VJbmZvIHVsLmZzTmF2TGV2ZWwyID4gbGkge1xuICAgICAgICAgICAgICAgIC8vICAgICA+IGEge1xuICAgICAgICAgICAgICAgIC8vICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICAgICAgLy8gICAgIH1cbiAgICAgICAgICAgICAgICAvLyAgICAgLmZzTmF2UGFnZUluZm8ge1xuICAgICAgICAgICAgICAgIC8vICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICB1bC5mc05hdkxldmVsMyB7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vICAgICB9XG4gICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbW9kZXJuaXpyKGNzc2NvbHVtbnMsIGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbi14KCRndXR0ZXIgKiAtMC41KTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMzLjMlO1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRlci1uYXZpZ2F0aW9uLWRyb3Bkb3duLWxpbmtzO1xuICAgICAgICB9XG4gICAgfVxuICAgIGxpOmhvdmVyIC5mc05hdlBhZ2VJbmZvLCBsaS5tZW51LWl0ZW0tb3BlbiAuZnNOYXZQYWdlSW5mbywgbGk6Zm9jdXMgLmZzTmF2UGFnZUluZm8geyBcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufSIsIlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRpZXIgTmF2aWdhdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiNmc1BhZ2VCb2R5V3JhcHBlciAubmF2aWdhdGlvbi50aWVyIHtcbiAgJGxvY2FsLWJyZWFrcG9pbnQtZm9yLWNvbGxhcHNpYmxlLW1lbnU6ICRicC1wb3J0cmFpdDtcblxuICBAaW5jbHVkZSBsaXN0LXJlc2V0O1xuICAvL0BpbmNsdWRlIG1hcmdpbi14KCAkZ3V0dGVyICogLTEgKTtcbiAgbWFyZ2luLWJvdHRvbTogJGd1dHRlcjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuXG4gIC8vIEhpZGUgYXQgbG9hZCB0byBmaWdodCBGT1VDXG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLmhhcy10aWVyLW5hdmlnYXRpb24gJiB7XG4gICAgbWF4LWhlaWdodDogMTAwMHB4O1xuICB9XG5cblxuICAvLyBBbGwgKGV4Y2VwdCB0aGUgXCIubW9iaWxlXCIpIGFyZSBoaWRkZW4gYXQgTW9iaWxlIFZpZXcsIHNob3duIGluIE90aGVyIFZpZXdzXG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoICRsb2NhbC1icmVha3BvaW50LWZvci1jb2xsYXBzaWJsZS1tZW51ICkge1xuICAgIEBpbmNsdWRlIG1hcmdpbi14KCAwICk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBUaGUgXCIubW9iaWxlXCIgaXMgaGlkZGVuIGF0IE90aGVyIFZpZXdzLCBzaG93biBpbiBNb2JpbGUgVmlld1xuICAmLm1vYmlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCggJGxvY2FsLWJyZWFrcG9pbnQtZm9yLWNvbGxhcHNpYmxlLW1lbnUgKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG5cbiAgJj4gaGVhZGVyIHtcbiAgICAuZnNFbGVtZW50VGl0bGUge1xuICAgICAgQGluY2x1ZGUgdGllci1uYXZpZ2F0aW9uLWhlYWRlci10b2dnbGU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG0yO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXBvcnRyYWl0KSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY+IC5mc0VsZW1lbnRDb250ZW50IHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCk7XG4gICAgLy9tYXgtaGVpZ2h0OiAwO1xuICAgIC8vb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGF0LXJvb3QgI2ZzUGFnZUJvZHlXcmFwcGVyIC5uYXZpZ2F0aW9uLnRpZXIubW9iaWxlLmFjdGl2ZS1uYXYgLmZzRWxlbWVudENvbnRlbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCggJGxvY2FsLWJyZWFrcG9pbnQtZm9yLWNvbGxhcHNpYmxlLW1lbnUgKSB7XG4gICAgICAvL21heC1oZWlnaHQ6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZS1uYXYge1xuXG4gICAgJj4gaGVhZGVyIC5mc0VsZW1lbnRUaXRsZTphZnRlciB7XG4gICAgICBjb250ZW50OiAkZ2x5cGgtY2hldnJvbi1kb3duO1xuICAgIH1cblxuICAgICY+IC5mc0VsZW1lbnRDb250ZW50IHtcbiAgICAgIC8vbWF4LWhlaWdodDogMTAwMHB4O1xuICAgIH1cblxuICB9XG5cbiAgbGkge1xuICAgIG1hcmdpbjogJG5hdmlnYXRpb24tdGllci12ZXJ0aWNhbC1tYXJnaW4gJG5hdmlnYXRpb24tdGllci1ob3Jpem9udGFsLW1hcmdpbjtcbiAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gIH1cblxuXG5cbiAgLy8gISEgQ0FVVElPTiAhISBDQVVUSU9OICEhIENBVVRJT04gISEgQ0FVVElPTlxuICAvLyBNYW5hZ2UgdGhlIHZpZXcgb2YgdGhlIE5hdmlnYXRpb24gd2l0aCBDU1NcbiAgLypcbiAgICBIb21lOiBOL0FcbiAgICBUaWVyIDEgKEFLQTogXCJMYW5kaW5nIFBhZ2VcIik6IFNob3cgVDMgKGltbWVkaWF0ZSBjaGlsZHJlbiBXSVRIIGltbWVkaWF0ZSBjaGlsZHJlbiBleHBhbmRlZCBPTkxZIG9mIGN1cnJlbnQgcGFnZSlcbiAgICBUaWVyIDI6IFNob3cgVDMgKGltbWVkaWF0ZSBjaGlsZHJlbilcbiAgICBUaWVyIDM6IFNob3cgVDMgKHNpYmxpbmdzLCB3aXRoIGN1cnJlbnQgcGFnZSBpbiAnYWN0aXZlJyBzdGF0ZSksIFNob3cgVDQgKGltbWVkaWF0ZSBjaGlsZHJlbiBPTkxZIG9mIGN1cnJlbnQgcGFnZSlcbiAgICBUaWVyIDQ6IFNob3cgVDMgKGltbWVkaWF0ZSBwYXJlbnQgJiBwYXJlbnQncyBzaWJsaW5ncywgd2l0aCBjdXJyZW50IHBhZ2UgYW5jZXN0b3IgaW4gJ2FjdGl2ZScgc3RhdGUpLCBTaG93IFQ0IChzaWJsaW5ncyBPTkxZIG9mIGN1cnJlbnQgcGFnZSlcbiAgICBUaWVyIDU6ID8/IFNob3cgbGluayBiYWNrIHRvIGltbWVkaWF0ZSBwYXJlbnQ/XG4gICovXG5cblxuICAuZnNOYXZDdXJyZW50UGFnZSA+IGEsXG4gIC5mc05hdkN1cnJlbnRQYWdlQW5jZXN0b3IgPiBhIHtcbiAgICAvL2NvbG9yOiAkbTEgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLy8gQ29tbW9uIHRvIGFsbCBUaWVyIExldmVsc1xuICBbY2xhc3MqPVwiZnNOYXZMZXZlbFwiXSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5uYXZpZ2F0aW9uLnRpZXIge1xuICAuZnNOYXZQYWdlSW5mbyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAYXQtcm9vdCAubmF2aWdhdGlvbi50aWVyIC5mc05hdkN1cnJlbnRQYWdlQW5jZXN0b3IgLmZzTmF2UGFnZUluZm8geyBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBhdC1yb290IC5uYXZpZ2F0aW9uLnRpZXIgLmZzTmF2UGFyZW50UGFnZS5mc05hdkN1cnJlbnRQYWdlIC5mc05hdlBhZ2VJbmZvIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgfVxuICB1bC5mc05hdkxldmVsMiBsaSB7IHBhZGRpbmctbGVmdDogMTVweDsgfVxuICB1bC5mc05hdkxldmVsMyBsaSB7IHBhZGRpbmctbGVmdDogMzBweDsgfVxufVxuXG5cbiAgLy8gW2NsYXNzKj1cImhpZXJhcmNoeS10aWVyXCJdICYge1xuXG4gIC8vICAgLy8gaGlkZSBhbGwgVGllciAxIChBS0E6IFwiTGFuZGluZyBQYWdlXCIpIHNpYmxpbmcgY29udGFpbmVyc1xuICAvLyAgIC5mc05hdkxldmVsMSA+IGxpIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gIC8vICAgLy8gaGlkZSBhbGwgVGllciAxIChBS0E6IFwiTGFuZGluZyBQYWdlXCIpIHNpYmxpbmcgbGlua3NcbiAgLy8gICAuZnNOYXZMZXZlbDEgPiBsaSA+IGEgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgLy8gICAvLyBzaG93IGN1cnJlbnQgVGllciAxIChBS0E6IFwiTGFuZGluZyBQYWdlXCIpIGNvbnRhaW5lclxuICAvLyAgIC5mc05hdkxldmVsMSA+IGxpLmZzTmF2Q3VycmVudFBhZ2UsXG4gIC8vICAgLmZzTmF2TGV2ZWwxID4gbGkuZnNOYXZDdXJyZW50UGFnZUFuY2VzdG9yIHtcbiAgLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuICAvLyAgIH1cblxuICAvLyB9XG5cbi8vICAgLy8gQ29tbW9uIGZvciBUaWVyIDIgYW5kIGxvd2VyIExldmVsc1xuLy8gICAuaGllcmFyY2h5LXRpZXItMiAmLFxuLy8gICAuaGllcmFyY2h5LXRpZXItMyAmLFxuLy8gICAuaGllcmFyY2h5LXRpZXItNCAmLFxuLy8gICAuaGllcmFyY2h5LXRpZXItNSAmIHtcblxuLy8gICAgIC8vIGhpZGUgYWxsIFRpZXIgMiBzaWJsaW5nIGNvbnRhaW5lcnNcbi8vICAgICAuZnNOYXZMZXZlbDIgPiBsaSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLy8gICAgIC8vIGhpZGUgYWxsIFRpZXIgMiBzaWJsaW5nIGxpbmtzXG4vLyAgICAgLmZzTmF2TGV2ZWwyID4gbGkgPiBhIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vLyAgICAgLy8gc2hvdyBjdXJyZW50IFRpZXIgMiBjb250YWluZXJcbi8vICAgICAuZnNOYXZMZXZlbDIgPiBsaS5mc05hdkN1cnJlbnRQYWdlLFxuLy8gICAgIC5mc05hdkxldmVsMiA+IGxpLmZzTmF2Q3VycmVudFBhZ2VBbmNlc3RvciB7XG4vLyAgICAgICBkaXNwbGF5OiBibG9jaztcbi8vICAgICB9XG5cbi8vICAgICAvLyBoaWRlIGFsbCBUaWVyIDQgY29udGFpbmVyc1xuLy8gICAgIC5mc05hdkxldmVsNCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLy8gICAgIC8vIEN1cnJlbnQgTGlzdFxuLy8gICAgIC5mc05hdkxldmVsMyB7XG4vLyAgICAgICBAaW5jbHVkZSB0aWVyLW5hdmlnYXRpb24tY3VycmVudC1saXN0KCk7XG4vLyAgICAgfVxuXG4vLyAgICAgLy8gRXhwYW5kZWQgTGlzdCBDaGlsZHJlbiAodGVjaG5pY2FsbHkgTi9BIG9uIFRpZXIgMilcbi8vICAgICAuZnNOYXZMZXZlbDQge1xuLy8gICAgICAgQGluY2x1ZGUgdGllci1uYXZpZ2F0aW9uLWV4cGFuZGVkLWxpc3QoKTtcbi8vICAgICB9XG5cbi8vICAgfVxuXG4vLyAgIC8vIENvbW1vbiBmb3IgVGllciAzIGFuZCBsb3dlciBMZXZlbHNcbi8vICAgLmhpZXJhcmNoeS10aWVyLTMgJixcbi8vICAgLmhpZXJhcmNoeS10aWVyLTQgJixcbi8vICAgLmhpZXJhcmNoeS10aWVyLTUgJiB7XG5cbi8vICAgICAvLyBtYXRjaCBjdXJyZW50IFRpZXIgMyBjb250YWluZXIgYmFja2dyb3VuZFxuLy8gICAgIC5mc05hdkxldmVsMyA+IGxpLmZzTmF2Q3VycmVudFBhZ2UsXG4vLyAgICAgLmZzTmF2TGV2ZWwzID4gbGkuZnNOYXZDdXJyZW50UGFnZUFuY2VzdG9yIHtcbi8vICAgICAgIGJhY2tncm91bmQ6ICRuYXZpZ2F0aW9uLXRpZXItYmFja2dyb3VuZC1jb2xvcjtcbi8vICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLyAgICAgfVxuXG4vLyAgICAgLy8gc2hvdyBjdXJyZW50IFRpZXIgNCBjb250YWluZXJcbi8vICAgICAuZnNOYXZMZXZlbDMgPiBsaS5mc05hdkN1cnJlbnRQYWdlIC5mc05hdkxldmVsNCxcbi8vICAgICAuZnNOYXZMZXZlbDMgPiBsaS5mc05hdkN1cnJlbnRQYWdlQW5jZXN0b3IgLmZzTmF2TGV2ZWw0IHtcbi8vICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8gICAgIH1cbi8vICAgfVxuXG4vLyAgIC8vIFNwZWNpZmljIFRpZXIgU3R5bGVzXG4vLyAgIC5oaWVyYXJjaHktdGllci0xICYge1xuXG4vLyAgICAgLy8gQ3VycmVudCBMaXN0XG4vLyAgICAgLmZzTmF2TGV2ZWwyIHtcbi8vICAgICAgIEBpbmNsdWRlIHRpZXItbmF2aWdhdGlvbi1jdXJyZW50LWxpc3QoKTtcbi8vICAgICB9XG5cbi8vICAgICAvLyBFeHBhbmRlZCBMaXN0IENoaWxkcmVuXG4vLyAgICAgLmZzTmF2TGV2ZWwzIHtcbi8vICAgICAgIEBpbmNsdWRlIHRpZXItbmF2aWdhdGlvbi1leHBhbmRlZC1saXN0KCk7XG4vLyAgICAgfVxuLy8gICB9XG5cbi8vICAgLmhpZXJhcmNoeS10aWVyLTUgJiB7XG5cbi8vICAgICAvLyBoaWRlIGFsbCBUaWVyIDQgc2libGluZyBsaW5rc1xuLy8gICAgIC5mc05hdkxldmVsNCA+IGxpID4gYSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLy8gICAgIC8vIHNob3cgbGFzdCBrbm93biBUaWVyIDQgbGlua1xuLy8gICAgIC5mc05hdkxldmVsNCA+IGxpLmZzTmF2Q3VycmVudFBhZ2VBbmNlc3RvciAgPiBhIHtcbi8vICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8gICAgIH1cblxuLy8gICB9XG5cblxuLy8gfVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTY2hvb2wgRGl2aXNpb24gTGlzdHMgKE5vIGRpdmlzaW9uIGxhbmRpbmcgcGFnZXMgbm93IHNvIG5vdCBiZWluZyB1c2VkKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gLnNjaG9vbC1saXN0IHtcbi8vICAgQGluY2x1ZGUgbGlzdC1yZXNldDtcbi8vICAgLy9AaW5jbHVkZSBtYXJnaW4teCggJGd1dHRlciAqIC0xICk7XG4vLyAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXI7XG4vLyAgIEBpbmNsdWRlIHRyYW5zaXRpb24oKTtcblxuLy8gICAuZnNOYXZMZXZlbDEge1xuLy8gICAgIG1hcmdpbjogMCAwICRndXR0ZXI7XG4vLyAgICAgPiBsaSB7XG4vLyAgICAgICBmb250LXNpemU6IDEuMmVtO1xuLy8gICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbi8vICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1haW4tbmF2LWlubGluZSkge1xuLy8gICAgICAgICBwYWRkaW5nOiAkZ3V0dGVyO1xuLy8gICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZzA7XG4vLyAgICAgICAgIHdpZHRoOiAzMCU7XG4vLyAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vICAgICAgICAgbWFyZ2luOiAwIDIlICRndXR0ZXIgMDtcbi8vICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbi8vICAgICAgIH1cbi8vICAgICAgICAgLmZzTmF2TGV2ZWwyIHtcbi8vICAgICAgICAgbWFyZ2luOiAwO1xuLy8gICAgICAgICBsaSB7XG4vLyAgICAgICAgICAgZm9udC1zaXplOiAkYm9keS1mb250LXNpemU7XG4vLyAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRndXR0ZXI7XG4vLyAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vICAgICAgICAgICAuZnNOYXZMZXZlbDMge1xuLy8gICAgICAgICAgICAgbWFyZ2luOiAwO1xuLy8gICAgICAgICAgICAgbGkge1xuLy8gICAgICAgICAgICAgfVxuLy8gICAgICAgICAgIH1cbi8vICAgICAgICAgfVxuLy8gICAgICAgfVxuLy8gICAgIH1cbi8vICAgfVxuLy8gfSIsIiNmc01lbnUge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAoJGd1dHRlciAvIDEuMjUpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIGhlaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiAkbTI7XG4gICAgLmZzQWNjb3VudEJhclZpc2libGUgJiB7XG4gICAgICAgIHRvcDogNDVweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFuZHNjYXBlKSB7XG4gICAgICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLm9mZi1jYW52YXMtbWVudS1vcGVuICYge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAvL292ZXJ3cml0ZSB3aXRoIEpTXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICB9XG4gICAgQGF0LXJvb3QgLm9mZi1jYW52YXMtbWVudS1vcGVuIHtcbiAgICAgICAgaHRtbCxcbiAgICAgICAgYm9keSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgI2ZzUGFnZVdyYXBwZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuICAgIGhlYWRlciB7XG4gICAgICAgIC5mc0VsZW1lbnRUaXRsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5mc0VsZW1lbnRIZWFkZXJDb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBDbG9zZS9Ub2dnbGUgQnV0dG9uXG4gICAgLmJ1dHRvbi5vZmYtY2FudmFzLXRyaWdnZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZzY7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIC8vcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNjVweDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAmLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtaWNvbigkZ2x5cGgtY2xvc2UpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDM0cHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyAoTWFpbikgTmF2aWdhdGlvblxuICAgIC5uYXZpZ2F0aW9uLm1haW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogJGd1dHRlciAqIDM7XG4gICAgICAgIHBhZGRpbmc6ICRndXR0ZXIgMCAoJGd1dHRlciAqIDAuNSk7XG4gICAgICAgIHVsLmZzTmF2TGV2ZWwxIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgICAgICAgICAgICAgICYuZnNOYXZDdXJyZW50UGFnZSA+IGEsXG4gICAgICAgICAgICAgICAgJi5mc05hdkN1cnJlbnRQYWdlQW5jZXN0b3IgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM3Y2IxMDE7IFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzcGFuLnN1Yi10cmlnZ2VyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1pY29uMihcIlxcZjEwN1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43ZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGF0LXJvb3QgI2ZzTWVudSAubmF2aWdhdGlvbi5tYWluIHVsLmZzTmF2TGV2ZWwxIGxpLmFjdGl2ZSBzcGFuLnN1Yi10cmlnZ2VyOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMDYnICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNXB4KTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzdkYjMwMDsgXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdWwuZnNOYXZMZXZlbDIge1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZnNOYXZQYWdlSW5mbyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgQGF0LXJvb3QgI2ZzTWVudSAubmF2aWdhdGlvbi5tYWluIHVsLmZzTmF2TGV2ZWwxIGxpLmFjdGl2ZSA+IC5mc05hdlBhZ2VJbmZvIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyAoVXRpbGl0eSkgTmF2aWdhdGlvblxuICAgIC5uYXZpZ2F0aW9uLnV0aWxpdHkge1xuICAgICAgICBAaW5jbHVkZSBsaXN0LXJlc2V0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyICogMjtcbiAgICAgICAgdWwuZnNOYXZMZXZlbDEge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luLXgoJGd1dHRlciAqIC0xKTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICgkZ3V0dGVyICogMC41KSAkZ3V0dGVyO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLXV0aWxpdHktbGluay1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXI7XG4gICAgICAgICAgICAgICAgc3Bhbi5zdWItdHJpZ2dlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1pY29uMihcIlxcZjEwN1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43ZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG01O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAYXQtcm9vdCAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxIGxpLmFjdGl2ZSBzcGFuLnN1Yi10cmlnZ2VyOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMDYnICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRlci11dGlsaXR5LWxpbmtzO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG0xO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbTU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPiAuZnNFbGVtZW50Q29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTVweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTVweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkbTEgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB1bC5mc05hdkxldmVsMiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDFlbTtcbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmZzTmF2UGFnZUluZm8ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBAYXQtcm9vdCAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxIGxpLmFjdGl2ZSA+IC5mc05hdlBhZ2VJbmZvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5uYXZpZ2F0aW9uLnNvY2lhbCB7XG4gICAgJGxvY2FsLW1hcmdpbjogNXB4O1xuICAgIEBpbmNsdWRlIGxpc3QtcmVzZXQ7XG4gICAgbmF2IHtcbiAgICAgICAgLy9AaW5jbHVkZSBwYWRkaW5nLXgoIDUwcHggKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtcG9ydHJhaXQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcteCgwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB1bCB7XG4gICAgICAgIC8vQGluY2x1ZGUgbWFyZ2luLXgoICRsb2NhbC1tYXJnaW4gKiAtMC41ICk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nLXgoJGxvY2FsLW1hcmdpbiAqIDIuMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBpbmxpbmUtZWxlbWVudChtaWRkbGUpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxvY2FsLW1hcmdpbiAqIDAuNTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgICAgLy9AaW5jbHVkZSBiYWNrZ3JvdW5kLWNvbG9yLWFscGhhKCAkY29sb3Itd2hpdGUsIDAuNiApO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDM4cHg7XG4gICAgICAgIGhlaWdodDogMzhweDtcbiAgICAgICAgLy8gLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA2MCU7XG4gICAgICAgIC8vIC1tb3otYm9yZGVyLXJhZGl1czogNjAlO1xuICAgICAgICAvLyBib3JkZXItcmFkaXVzOiA2MCU7XG4gICAgICAgIC8vY29sb3I6ICRtMTtcbiAgICAgICAgLy9jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC8vdGV4dC1pbmRlbnQ6IC05OTllbTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICAgIH1cbiAgICAgICAgJltocmVmKj0nZmFjZWJvb2snXTphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWljb24oJGdseXBoLWZhY2Vib29rKTtcbiAgICAgICAgfVxuICAgICAgICAmW2hyZWYqPSdnb29nbGUnXTphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWljb24oJGdseXBoLWdvb2dsZS1wbHVzKTtcbiAgICAgICAgfVxuICAgICAgICAmW2hyZWYqPSdpbnN0YWdyYW0nXTphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWljb24oJGdseXBoLWluc3RhZ3JhbSk7XG4gICAgICAgIH1cbiAgICAgICAgJltocmVmKj0nbGlua2VkaW4nXTphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWljb24oJGdseXBoLWxpbmtlZGluKTtcbiAgICAgICAgfVxuICAgICAgICAmW2hyZWYqPSdibG9nJ106YWZ0ZXIge1xuICAgICAgICAgICAgLy90aGlzIG9uZSBpcyBhIGJpdCB0cmlja2llclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1pY29uKCRnbHlwaC1mZWVkKTtcbiAgICAgICAgfVxuICAgICAgICAmW2hyZWYqPSd0d2l0dGVyJ106YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1pY29uKCRnbHlwaC10d2l0dGVyKTtcbiAgICAgICAgfVxuICAgICAgICAmW2hyZWYqPSd5b3V0dWJlJ106YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1pY29uKCRnbHlwaC15b3V0dWJlLXBsYXkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PVxuLy8gU29jaWFsXG5cbiNmc0Zvb3RlciAuc29jaWFsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyICogMjtcbiAgICAvLyAgQGluY2x1ZGUgZGV2LWNvbG9yKCAjMGRmICk7XG4gICAgLy9AaW5jbHVkZSBtYXJnaW4teSggJGd1dHRlciAqIDEuNSApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXBvcnRyYWl0KSB7XG4gICAgICAgIC8vQGluY2x1ZGUgaW5saW5lLWVsZW1lbnQoKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogNDAlO1xuICAgIH1cblxuICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWRlc2t0b3ApIHtcbiAgICAvLyAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAzKTtcbiAgICAvLyB9XG4gICAgJiA+IGhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIC5mc0NvbXBvc2VNb2RlICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgLmZzRWxlbWVudFRpdGxlIHt9XG4gICAgICAgIC5mc0VsZW1lbnRIZWFkZXJDb250ZW50IHt9XG4gICAgfVxuICAgIC5mc0VsZW1lbnRDb250ZW50IHtcbiAgICAgICAgdWwuZnNOYXZMZXZlbDEge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZGVza3RvcCkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmID4gLmJyZWFrIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OWVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXBvcnRyYWl0KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgLy9AaW5jbHVkZSBiYWNrZ3JvdW5kLWNvbG9yLWFscGhhKCAkY29sb3Itd2hpdGUsIDAuNiApO1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG0yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTGlzdFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmZzTmV3cyB7XG4gICAgQGluY2x1ZGUgc2hhcmVkLWNvbnRlbnQtYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBhcnRpY2xlIHtcbiAgICAgICAgQGluY2x1ZGUgc2hhcmVkLWNhbGVuZGFyLW5ld3MtYmxvY2s7XG4gICAgfVxuICAgIC5mc1RodW1ibmFpbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAjZnNCYW5uZXJSaWdodCAmIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICNmc0Jhbm5lckxlZnQgJiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZzVGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBzaGFyZWQtY2FsZW5kYXItbmV3cy10aXRsZS1zdHlsZTtcbiAgICB9XG4gICAgLmZzQXV0aG9yIHt9XG4gICAgLmZzRGF0ZVRpbWUge1xuICAgICAgICBAaW5jbHVkZSBzaGFyZWQtY2FsZW5kYXItbmV3cy1kYXRlLXN0eWxlO1xuICAgICAgICBjb2xvcjogJGQxO1xuICAgIH1cbiAgICAuZnNTdW1tYXJ5IHtcbiAgICAgICAgQGluY2x1ZGUgc2hhcmVkLWNhbGVuZGFyLW5ld3MtdGV4dC1zdHlsZTtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLypTbGlkZXNob3cqL1xuICAgICYuZnNTbGlkZXNob3cge1xuICAgICAgICAuZnNFbGVtZW50Q29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgYXJ0aWNsZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ3V0dGVyO1xuICAgICAgICB9XG4gICAgICAgIC5mc1ByZXZCdXR0b24sIC5mc05leHRCdXR0b24ge1xuICAgICAgICAgICAgJjpiZWZvcmUge31cbiAgICAgICAgfVxuICAgICAgICAuZnNQcmV2QnV0dG9uIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHt9XG4gICAgICAgIH1cbiAgICAgICAgLmZzTmV4dEJ1dHRvbiB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7fVxuICAgICAgICB9XG4gICAgICAgIC5mc1BhZ2VyIHtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAxMDBtcywgb3BhY2l0eSAxMDBtcztcbiAgICAgICAgICAgICAgICAmLmZzU3RhdGVBY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBHcmlkXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAmLmZzR3JpZCB7XG4gICAgICAgIC5mc0FsZXJ0c0ljb24sIC5mc1JTU0ljb24ge31cbiAgICAgICAgLmZzTmV3c0dyaWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXI7XG4gICAgICAgIH1cbiAgICAgICAgYXJ0aWNsZSB7XG4gICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICAuZnNTdHlsZVR3b0NvbHVtbnMge1xuICAgICAgICAgICAgYXJ0aWNsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtcG9ydHJhaXQpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbmV3cy1ncmlkLTItY29sO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZnNTdHlsZVRocmVlQ29sdW1ucyB7XG4gICAgICAgICAgICBhcnRpY2xlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1wb3J0cmFpdCkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBuZXdzLWdyaWQtMi1jb2w7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG5ld3MtZ3JpZC0zLWNvbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZzU3R5bGVGb3VyQ29sdW1ucyB7XG4gICAgICAgICAgICBhcnRpY2xlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1wb3J0cmFpdCkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBuZXdzLWdyaWQtMi1jb2w7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG5ld3MtZ3JpZC00LWNvbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZzU3R5bGVGaXZlQ29sdW1ucyB7XG4gICAgICAgICAgICBhcnRpY2xlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1wb3J0cmFpdCkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBuZXdzLWdyaWQtMi1jb2w7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG5ld3MtZ3JpZC01LWNvbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mc0FsZXJ0RmVlZHMge1xuICAgIEBpbmNsdWRlIGNsZWFyO1xuICAgIG1hcmdpbjogMTBweCAwO1xufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyogU2VhcmNoIFZhcmlhYmxlcyAgICAgICovXG4vKj09PT09PT09PT09PT09PT09PT09PT09Ki9cbiRzZWFyY2gtaW5wdXQtbWluLXdpZHRoOiAxNDBweDtcbiRpbnB1dC1iZy1jb2xvcjogJGNvbG9yLXdoaXRlO1xuLy8kaW5wdXQtdGV4dC1jb2xvcjogJGc2O1xuJGlucHV0LXRleHQtY29sb3I6ICM2MzYyNjI7XG4kaW5wdXQtZm9udC1zaXplOiAxNHB4O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAoMjQvMjApO1xuJGlucHV0LWZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcbiRpbnB1dC1mb250LXN0eWxlOiBub3JtYWw7XG5cbiRzZWFyY2gtaGVpZ2h0OiA0NnB4O1xuJHN1Ym1pdC1mb250OiAkZm9udC1pY29uO1xuJHN1Ym1pdC10ZXh0OiAkczE7XG4kc3VibWl0LXRleHQtY29sb3I6ICRzMTtcbiRzdWJtaXQtcGFkZGluZy14OiAxMHB4O1xuJHN1Ym1pdC1iZy1jb2xvcjogdHJhbnNwYXJlbnQ7XG4kc3VibWl0LWhvdmVyLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4kc3VibWl0LWhvdmVyLWJnLWNvbG9yOiB0cmFuc3BhcmVudDtcbiRzdWJtaXQtd2lkdGg6ICRzZWFyY2gtaGVpZ2h0Oy8vdHJpY2tzc3NzeVxuXG5cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4vKiBOb3JtYWxpemUgU2VhcmNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuZm9ybS5nc2Mtc2VhcmNoLWJveC10b29scywgLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0uc2VhcmNoIGZvcm0geyAvL2Zvcm0gdGhhdCBob2xkcyBhbGwgdGhlIHdlaXJkbmVzc1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgdGFibGV7IC8vcmVtb3ZlIGJvcmRlciBmcm9tIGFsbCB0YWJsZXNcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICB0YWJsZSxcbiAgdGJvZHksXG4gIHRyLFxuICB0ZHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkLmdzYy1pbnB1dHsgLy93aHk/XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuXG4gIHRhYmxlLmdzYy1zZWFyY2gtYm94e1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgLy8vLy8vLy8vXG4gIH1cblxuICBkaXYuZ3NjLWlucHV0LWJveCwgLmZzU3R5bGVTZWFyY2hGaWVsZC5mc1N0eWxlRGVmYXVsdEZpZWxkIHtcbiAgICBtaW4td2lkdGg6ICRzZWFyY2gtaW5wdXQtbWluLXdpZHRoO1xuICAgIGJvcmRlcjogMDtcbiAgICBoZWlnaHQ6ICRzZWFyY2gtaGVpZ2h0O1xuXG4gICAgJi5nc2MtaW5wdXQtYm94LWZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICAgIHRhYmxlLFxuICAgIHRib2R5LFxuICAgIHRyLFxuICAgIHRke1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBoZWlnaHQ6ICRzZWFyY2gtaGVpZ2h0O1xuICAgIH1cblxuICB9XG5cbiAgdGQuZ3NpYl9he1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgdGQuZ3NpYl9ie1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgdGQuZ3NjLWlucHV0IHtcbiAgICBmbG9hdDogbm9uZTsgLy8vLy8vLy8vLy8vL1xuICB9XG5cbiAgaW5wdXQuZ3NjLWlucHV0LCAuZnNTdHlsZVNlYXJjaEZpZWxkLmZzU3R5bGVEZWZhdWx0RmllbGR7IFxuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1iZy1jb2xvciAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRzZWFyY2gtaGVpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRpbnB1dC10ZXh0LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGlucHV0LWZvbnQtc3R5bGU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRzdWJtaXQtd2lkdGggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAuZnNCdXR0b25DbGVhciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgdGFibGUuZ3NjLWJyYW5kaW5ne1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0ZC5nc2Mtc2VhcmNoLWJ1dHRvbiwgLmZzU2VhcmNoRWxlbWVudFNlYXJjaEJ1dHRvbi5mc1N0eWxlVXBkYXRlQnV0dG9uIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLy9mbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZzogMCAkc3VibWl0LXBhZGRpbmcteDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGhlaWdodDogJHNlYXJjaC1oZWlnaHQ7XG4gICAgd2lkdGg6ICRzdWJtaXQtd2lkdGg7XG4gICAgYmFja2dyb3VuZDogJHN1Ym1pdC1iZy1jb2xvcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDU7XG4gICAgY29sb3I6ICRzdWJtaXQtdGV4dC1jb2xvcjtcblxuICAgICY6YWZ0ZXJ7XG5cbiAgICAgIEBpbmNsdWRlIGZvbnQtaWNvbiggJGdseXBoLXNlYXJjaCApO1xuICAgICAgY29udGVudDogJHN1Ym1pdC10ZXh0O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcblxuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cblxuICB9XG5cbiAgdGQuZ3NjLXNlYXJjaC1idXR0b246aG92ZXIsIC5mc1NlYXJjaEVsZW1lbnRTZWFyY2hCdXR0b24uZnNTdHlsZVVwZGF0ZUJ1dHRvbjpob3ZlcntcbiAgICBiYWNrZ3JvdW5kOiAkc3VibWl0LWhvdmVyLWJnLWNvbG9yO1xuICAgIGNvbG9yOiAkc3VibWl0LWhvdmVyLWNvbG9yO1xuICB9XG5cbiAgaW5wdXQuZ3NjLXNlYXJjaC1idXR0b24sIC5mc1NlYXJjaEVsZW1lbnRTZWFyY2hCdXR0b24uZnNTdHlsZVVwZGF0ZUJ1dHRvbntcbiAgICBib3JkZXI6IDA7XG4gICAgaGVpZ2h0OiAkc2VhcmNoLWhlaWdodDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxufVxuXG5cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIFdlYktpdCwgQmxpbmssIEVkZ2UgKi9cbiAgY29sb3I6ICRpbnB1dC10ZXh0LWNvbG9yO1xufVxuOi1tb3otcGxhY2Vob2xkZXIgeyAvKiBNb3ppbGxhIEZpcmVmb3ggNCB0byAxOCAqL1xuICBjb2xvcjogJGlucHV0LXRleHQtY29sb3I7XG4gIG9wYWNpdHk6ICAxO1xufVxuOjotbW96LXBsYWNlaG9sZGVyIHsgLyogTW96aWxsYSBGaXJlZm94IDE5KyAqL1xuICBjb2xvcjogJGlucHV0LXRleHQtY29sb3I7XG4gIG9wYWNpdHk6IDE7XG59XG46LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTAtMTEgKi9cbiAgY29sb3I6ICRpbnB1dC10ZXh0LWNvbG9yO1xufVxuXG5cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PSovXG4vKiBIZWFkZXIgU3R5bGVzICAgICAgICAgKi9cbi8qPT09PT09PT09PT09PT09PT09PT09PT0qL1xuI2ZzSGVhZGVyIC5mc1NlYXJjaC5mc1NlYXJjaEZpZWxkLCAjZnNIZWFkZXIgLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0geyBcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAzMCU7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC5mc0ZpZWxkTGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBoZWlnaHQ6MDtcbiAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAucGFnZS1zZWFyY2gtb3BlbiAmIHtcbiAgICBtYXgtaGVpZ2h0OiA2NnB4O1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiByZXR1cm5SR0JBKCAkY29sb3Itd2hpdGUsIDAuMiApO1xuICB9XG5cbiAgJj4gaGVhZGVyIHtcbiAgICAuZnNFbGVtZW50VGl0bGUgeyB9XG4gICAgLmZzRWxlbWVudEhlYWRlckNvbnRlbnQgeyB9XG4gIH1cblxuICAuZnNFbGVtZW50Q29udGVudCB7XG5cbiAgICB0ZC5nc2Mtc2VhcmNoLWJ1dHRvbiwgLmZzU2VhcmNoRWxlbWVudFNlYXJjaEJ1dHRvbi5mc1N0eWxlVXBkYXRlQnV0dG9uICB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1waGFibGV0KSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dC5nc2MtaW5wdXQsIC5mc1N0eWxlU2VhcmNoRmllbGQuZnNTdHlsZURlZmF1bHRGaWVsZCB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1waGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzdWJtaXQtd2lkdGggKyAoICRndXR0ZXIgKiAxKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyogRHJhd2VyLVNwZWNpZmljIFN0eWxlcyAgICAgICAgICovXG4vKj09PT09PT09PT09PT09PT09PT09PT09Ki9cbiNmc01lbnUgLmZzU2VhcmNoLmZzU2VhcmNoRmllbGQsICNmc01lbnUgLmZzU2VhcmNoRWxlbWVudC5mc1NlYXJjaEZvcm0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDEwcHg7XG4gIG1hcmdpbjogMCAwICRndXR0ZXI7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgZm9ybS5nc2Mtc2VhcmNoLWJveC10b29scywgZm9ybXtcblxuICAgIC5mc1NlYXJjaC50b3Atc2VhcmNoeyAvL3NlYXJjaCBjb250YWluZXJcblxuICAgIH1cblxuICAgIC5mc0ZpZWxkTGFiZWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29sb3I6dHJhbnNwYXJlbnQ7XG4gICAgICB0ZXh0LWluZGVudDotOTk5OXB4OyBcbiAgICB9XG5cbiAgICBkaXYuZ3NjLWlucHV0LWJveHsgLy9zZWFyY2ggaW5wdXQgY29udGFpbmVyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgfVxuXG5cbiAgICBpbnB1dC5nc2MtaW5wdXQsIGlucHV0e1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgdGQuZ3NjLXNlYXJjaC1idXR0b24sIC5mc1NlYXJjaEVsZW1lbnRTZWFyY2hCdXR0b24uZnNTdHlsZVVwZGF0ZUJ1dHRvbiB7IC8vc3VibWl0IGJ1dHRvblxuICAgICAgY29sb3I6ICRkMTtcbiAgICAgICY6YWZ0ZXIgeyBmb250LXNpemU6IDE2cHg7IH1cbiAgICB9XG5cbiAgICAuZnNTZWFyY2hFbGVtZW50U2VhcmNoQnV0dG9uLmZzU3R5bGVVcGRhdGVCdXR0b24geyAgXG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6YXV0bztcbiAgICAgIHdpZHRoOiAgNDZweDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBmb250LXNpemU6IDA7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbG9yOiAjNWY1ZjVmO1xuICAgICAgfVxuXG5cbiAgICB9XG5cbiAgfVxufVxuXG4vKiBcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zMzNzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGhlaWdodDogNDZweDtcbiAgICB3aWR0aDogNDZweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDU7XG4gICAgY29sb3I6ICNlZWU7XG4gICAgKi8gXG4gICAgI2ZzSGVhZGVyIC5mc1NlYXJjaEVsZW1lbnQuZnNTZWFyY2hGb3JtLnNlYXJjaCBmb3JtIHtcbiAgICAgIC5mc1NlYXJjaEVsZW1lbnRTZWFyY2hCdXR0b24uZnNTdHlsZVVwZGF0ZUJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzM4NjI7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjMzM3M7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGhlaWdodDogNDZweDtcbiAgICAgICAgd2lkdGg6IDQ2cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgY29sb3I6ICNlZWU7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICAgIHRvcDogY2FsYyg1MCUgKyAtMXB4KTsgIFxuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmZzU2VhcmNoRWxlbWVudEtleXdvcmQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mc1NlYXJjaEVsZW1lbnQgLmZzU2VhcmNoUmVzdWx0SW5mbyB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0U5RTlFOTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICB9XG5cbiIsIi5mc1RhYnN7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGd1dHRlcjtcblxuICAuZnNUYWJzTmF2IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBub25lOyAvL2hpZGVzIG5hdiBmb3IgbW9iaWxlIGFjY29yZGlvbiBmdW5jdGlvbmFsaXR5XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCAkYnAtcG9ydHJhaXQgKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICR0YWJzLWhvcml6b250YWwtbWFyZ2luO1xuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogJHRhYnMtdmVydGljYWwtcGFkZGluZyAkdGFicy1ob3Jpem9udGFsLXBhZGRpbmc7XG5cbiAgICAgICAgYmFja2dyb3VuZDogJHRhYnMtYmFja2dyb3VuZC1jb2xvcjtcblxuICAgICAgICBmb250LXNpemU6ICR0YWJzLXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkdGFicy1saW5lLWhlaWdodDtcbiAgICAgICAgY29sb3I6ICR0YWJzLWNvbG9yO1xuICAgICAgICBmb250LWZhbWlseTogJHNhbnMtc2VyaWY7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR0YWJzLXdlaWdodDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgXG4gICAgICAgIGJvcmRlcjogJHRhYnMtYm9yZGVyLXdpZHRoICR0YWJzLWJvcmRlci1zdHlsZSAkdGFicy1ib3JkZXItY29sb3I7XG5cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGFicy1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyO1xuICAgICAgICAgIGNvbG9yOiAkdGFicy1jb2xvci1ob3ZlcjtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICR0YWJzLWJvcmRlci1jb2xvci1ob3ZlcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmZzU3RhdGVTZWxlY3RlZCB7IC8vYWN0aXZlIHRhYlxuICAgICAgICBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGFicy1iYWNrZ3JvdW5kLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICBjb2xvcjogJHRhYnMtY29sb3ItYWN0aXZlO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRhYnMtYm9yZGVyLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gIH0vLyBlbmQgdGFicyBuYXZpZ2F0aW9uXG5cbiAgLmZzRWxlbWVudENvbnRlbnQge1xuICAgIEBpbmNsdWRlIHBhZGRpbmcteCggMCApO1xuICB9XG5cbiAgLy9mb3IgdGFiIHRvIGFjY29yZGlvbiBvbiBtb2JpbGUgdGhpcyByZXVzZXMgdGhlIGFjY29yZGlvbiB2YXJpYWJsZXNcbiAgLy9iZSBzdXJlIHRvIHVwZGF0ZSB0aG9zZSBzbyB0aGF0IHRoZXNlIGF1dG9tYXRpY2FsbHkgbWF0Y2ggdGhlIHN0eWxpbmdcblxuICBAaW5jbHVkZSBzaGFyZWQtYWNjb3JkaW9uLWZzUGFuZWwoIHRydWUgKTtcblxufVxuXG5cblxuLy8gY3JhemluZXNzIHRvIG92ZXJyaWRlIGFwcCBjc3Ncbi8vIHRoaXMgaXMgdG8gZGlzcGxheSB0aGUgaGlkZGVuIGhlYWRlciBmb3IgYWNjb3JkaW9uIGZ1bmN0aW9uYWxpdHkgb24gbW9iaWxlXG4uZnNQYW5lbEdyb3VwLmZzVGFicz4uZnNFbGVtZW50Q29udGVudD4uZnNQYW5lbD4uZnNFbGVtZW50QWN0aW9uQnV0dG9uQ29udGFpbmVyLFxuLmZzUGFuZWxHcm91cC5mc1RhYnM+LmZzRWxlbWVudENvbnRlbnQ+LmZzUGFuZWw+aGVhZGVyLCAuZnNQYW5lbEdyb3VwLmZzVGFicz4uZnNFbGVtZW50Q29udGVudD4uZnNQYW5lbDpub3QoLmZzU3RhdGVPcGVuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCAkYnAtcG9ydHJhaXQgKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufSIsIiNmc0hlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDExO1xuICAgIC8vIC5mc0FjY291bnRCYXJWaXNpYmxlICYge1xuICAgIC8vICAgICB0b3A6IDQ1cHggIWltcG9ydGFudDtcbiAgICAvLyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFuZHNjYXBlKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmhhcy1tYXN0aGVhZCAmIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgIH1cbiAgICAuaGFzLW1hc3RoZWFkIC5mc0NvbXBvc2VNb2RlICYge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB6LWluZGV4OiBhdXRvO1xuICAgIH1cbiAgICAuZnNDb21wb3NlTW9kZSAmIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gICAgJiA+IC5mc0Jhbm5lciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6ICRicmFuZGluZy1pY29uLWhlaWdodCArIDI0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIGhlYWRlciB7XG4gICAgICAgIC5mc0VsZW1lbnRUaXRsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5mc0VsZW1lbnRIZWFkZXJDb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09XG4vLyBIZWFkZXIgTWVudS10cmlnZ2VyXG4ub2ZmLWNhbnZhcy10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDU4cHg7XG4gICAgd2lkdGg6IDU4cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogJGd1dHRlciAqIDEuNTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBpbWcge31cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBkcm9wLXNoYWRvdygxcHggMnB4IDAgcmdiYSgjMDAwLCAwLjMpKTtcbiAgICAgICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMXB4IDJweCAwIHJnYmEoIzAwMCwgMC4zKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gJjphZnRlciB7XG4gICAgLy8gICBjb250ZW50OiAkZ2x5cGgtYmFycztcbiAgICAvLyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFuZHNjYXBlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PVxuLy8gQnJhbmRpbmdcblxuI2ZzSGVhZGVyIC5icmFuZGluZyB7XG4gICAgei1pbmRleDogMTA7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1wb3J0cmFpdCkge1xuICAgICAgICB3aWR0aDogJGJyYW5kaW5nLXdpZHRoLWZ1bGwgKiAxcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYW5kc2NhcGUpIHtcbiAgICAgICAgd2lkdGg6IDc0cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkZ3V0dGVyICogMjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1kZXNrdG9wKSB7XG4gICAgICAgIHdpZHRoOiAkYnJhbmRpbmctd2lkdGgtZnVsbCAqIDFweDtcbiAgICB9XG5cbiAgICAmID4gaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgLmZzRWxlbWVudFRpdGxlIHt9XG4gICAgICAgIC5mc0VsZW1lbnRIZWFkZXJDb250ZW50IHt9XG4gICAgfVxuICAgID4gLmZzRWxlbWVudENvbnRlbnQge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6MTtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7IC8vIHNlZSBzY2hvb2wgY29sb3JzIG1peGluXG4gICAgICAgICAgICBjb2xvcjogdGV4dC1jb2xvcigkbTEpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogKCRndXR0ZXIgLyAxLjUpIDA7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OjEwMXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4uc2Nob29sbmFtZSwgaDEuc2Nob29sbmFtZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtcG9ydHJhaXQpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogJGJyYW5kaW5nLWljb24td2lkdGggKyAzMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgICAgICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWRlc2t0b3ApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBsZWZ0OiAkYnJhbmRpbmctaWNvbi13aWR0aCArIDEyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICB3aWR0aDogJGJyYW5kaW5nLWljb24td2lkdGg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRicmFuZGluZy1pY29uLXdpZHRoO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWFpbi1uYXYtaW5saW5lKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09XG4vLyBVdGlsaXRpZXNcblxuI2ZzSGVhZGVyIC51dGlsaXRpZXMge1xuICAgIC8vYmFja2dyb3VuZDogJG0yOyBTZWUgU2Nob29sIGNvbG9ycyBtaXhpblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgJGxvY2FsLW1vYmlsZS1idXR0b24tb2Zmc2V0OiA1cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhbmRzY2FwZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuZnNFbGVtZW50Q29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgY29tcGFydG1lbnQoJGhlYWRlci1ib3VuZHJ5KTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtcG9ydHJhaXQpIHtcbiAgICAgICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmID4gaGVhZGVyIHtcbiAgICAgICAgLmZzRWxlbWVudFRpdGxlIHt9XG4gICAgICAgIC5mc0VsZW1lbnRIZWFkZXJDb250ZW50IHt9XG4gICAgfVxuICAgIC5zY2hvb2wtZGV0YWlscyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXdvcmxkKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCNmZmYsIDAuNSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IGNlKCRndXR0ZXIgKiAyKTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHNlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBVdGlsaXRpZXM6IE5hdmlnYXRpb25cbiAgICAubmF2aWdhdGlvbi51dGlsaXR5IHtcbiAgICAgICAgQGluY2x1ZGUgbGlzdC1yZXNldDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtcG9ydHJhaXQpIHtcbiAgICAgICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiA0N3B4O1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQ3cHgpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC13b3JsZCkge1xuICAgICAgICAgICAgd2lkdGg6IDU1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsLmZzTmF2TGV2ZWwxIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGlubGluZS1lbGVtZW50KG1pZGRsZSk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMsICYubWVudS1vcGVuLCAmLm1lbnUtaXRlbS1vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG01O1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHJnYmEoJGNvbG9yLXdoaXRlLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBoZWFkZXItdXRpbGl0eS1saW5rcztcbiAgICAgICAgICAgICAgICAgICAgPiAuZnNFbGVtZW50Q29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE1cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE1cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTI0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHJnYmEoJGNvbG9yLXdoaXRlLCAwLjUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5xdWlja2xpbmtzIHtcbiAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMWVtO1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZTkwMCc7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWljb247XG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09XG4gICAgICAgIC8vIERyb3AtZG93bihzKSAoQUtBIFwiLmZzTmF2UGFnZUluZm9cIilcbiAgICAgICAgLmZzTmF2UGFnZUluZm8ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24oMTAwJSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ3V0dGVyIC8gMjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtNTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB1bC5mc05hdkxldmVsMiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIC41ZW07XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgKCRndXR0ZXIgLyAzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vY29sb3I6IHNhdHVyYXRlKCRtMSwgMTAlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsaTpob3ZlciAuZnNOYXZQYWdlSW5mbywgbGk6Zm9jdXMgLmZzTmF2UGFnZUluZm8sIGxpLm1lbnUtb3BlbiAuZnNOYXZQYWdlSW5mbywgbGkubWVudS1pdGVtLW9wZW4gLmZzTmF2UGFnZUluZm8ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvL1RoZW1lIHNwZWNpZmljIGNvbG9yIGFkanVzdG1lbnRzXG4gICAgLnNjaG9vbDIxICYge1xuICAgICAgICAuc2Nob29sLWRldGFpbHMge1xuICAgICAgICAgICAgY29sb3I6ICRkMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaSA+IGEge1xuICAgICAgICAgICAgY29sb3I6ICRkMTtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkc2NoMjE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuXG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogI0ZGRjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm5hdmlnYXRpb24udXRpbGl0eSB1bC5mc05hdkxldmVsMSA+IGxpOmhvdmVyLCAubmF2aWdhdGlvbi51dGlsaXR5IHVsLmZzTmF2TGV2ZWwxID4gbGk6Zm9jdXMsIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaS5tZW51LW9wZW4sIC5uYXZpZ2F0aW9uLnV0aWxpdHkgdWwuZnNOYXZMZXZlbDEgPiBsaS5tZW51LWl0ZW0tb3BlbiB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoLXRyaWdnZXJ7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNjaDIxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PVxuLy8gKFRpZXIpIE5hdmlnYXRpb25cblxuLnN1Yi1uYXZpZ2F0aW9uIHtcbiAgICAkbG9jYWwtYnJlYWtwb2ludC1mb3ItY29sbGFwc2libGUtbWVudTogJGJwLWxhbmRzY2FwZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJhY2tncm91bmQ6ICRzdWItbmF2aWdhdGlvbi1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIC5oYXMtc3ViLW5hdmlnYXRpb24gJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAmLm1hc3RoZWFkLWFsdGVybmF0ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgPiBoZWFkZXIge1xuICAgICAgICAuZnNFbGVtZW50VGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuZnNFbGVtZW50SGVhZGVyQ29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0aWVyLW5hdmlnYXRpb24taGVhZGVyLXRvZ2dsZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmID4gLmZzRWxlbWVudENvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsb2NhbC1icmVha3BvaW50LWZvci1jb2xsYXBzaWJsZS1tZW51KSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zdWItbmF2aWdhdGlvbi1vcGVuICYge1xuICAgICAgICAmID4gaGVhZGVyIC5mc0VsZW1lbnRIZWFkZXJDb250ZW50OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRnbHlwaC1jaGV2cm9uLWRvd247XG4gICAgICAgIH1cbiAgICAgICAgJiA+IC5mc0VsZW1lbnRDb250ZW50IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgbmF2IHtcbiAgICAgICAgQGluY2x1ZGUgbGlzdC1yZXNldDtcbiAgICAgICAgQGluY2x1ZGUgY29tcGFydG1lbnQ7XG4gICAgICAgIHVsLmZzTmF2TGV2ZWwxIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsb2NhbC1icmVha3BvaW50LWZvci1jb2xsYXBzaWJsZS1tZW51KSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGlubGluZS1lbGVtZW50KG1pZGRsZSk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0aWVyLW5hdmlnYXRpb24tbGluay1wYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxvY2FsLWJyZWFrcG9pbnQtZm9yLWNvbGxhcHNpYmxlLW1lbnUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRlci1zdWItbmF2aWdhdGlvbi1saW5rcztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmZzTmF2Q3VycmVudFBhZ2UgPiBhLFxuICAgICAgICAgICAgICAgICYuZnNOYXZDdXJyZW50UGFnZUFuY2VzdG9yID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRlci1uYXZpZ2F0aW9uLWxpbmtzLWFjdGl2ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNmc0hlYWRlciAudGhpbmcge1xuICAgICYgPiBoZWFkZXIge1xuICAgICAgICAuZnNFbGVtZW50VGl0bGUge31cbiAgICAgICAgLmZzRWxlbWVudEhlYWRlckNvbnRlbnQge31cbiAgICB9XG4gICAgLmZzRWxlbWVudENvbnRlbnQge31cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT1cbi8vIChQYWdlKSBOYXZpZ2F0aW9uOiBTZWFyY2gtdHJpZ2dlclxuLnNlYXJjaC10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLXV0aWxpdHktbGluay1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTllbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoI2ZmZiwgMC40KTtcbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAucGFnZS1zZWFyY2gtb3BlbiAmIHtcbiAgICAgICAgY29sb3I6ICRtMztcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtaWNvbigkZ2x5cGgtc2VhcmNoKTtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgY29sb3I6IHJnYmEoI2ZmZiwgMC40KTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJG0yLCA1JSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZGVza3RvcCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5za2lwLWxpbmssIC5za2lwLWxpbmsgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbiAgLnNraXAtbGluayBhIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAtNDJweDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDZweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRyYW5zaXRpb246IHRvcCAxcyBlYXNlLW91dCxiYWNrZ3JvdW5kIDFzIGxpbmVhcjtcbiAgICB6LWluZGV4OiA5OTk5OyB9XG5cbiAgLnNraXAtbGluayBhOmZvY3VzIHtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgLjFzIGVhc2UtaW4sYmFja2dyb3VuZCAuNXMgbGluZWFyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvciAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkZDE7IH1cbiIsIiNmc0Jhbm5lckxlZnQge1xuICAvL0BpbmNsdWRlIGRldi1jb2xvcigpO1xuXG4gICY+IC5mc0Jhbm5lciB7XG5cbiAgICAvLyBUaGUgdHJpY2s/IENvbGxhcHNlIHRoZSBUaWVyIE5hdiwgaGlkZSBldmVyeXRoaW5nIGVsc2UgaW4gI2ZzQmFubmVyTGVmdCBhdCA8IFBvcnRyYWl0IHZpZXdcbiAgICAmID4gKjpub3QoIC5mc05hdmlnYXRpb24gKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1wb3J0cmFpdCkge1xuICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbiNmc0Jhbm5lckxlZnQgPiAudGhpbmcge1xuXG4gICY+IGhlYWRlciB7XG4gICAgLmZzRWxlbWVudFRpdGxlIHsgfVxuICAgIC5mc0VsZW1lbnRIZWFkZXJDb250ZW50IHsgfVxuICB9XG5cbiAgLmZzRWxlbWVudENvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhbmRzY2FwZSkgeyB9XG4gIH1cblxufSIsIiNmc0Zvb3RlciB7XG4gIC8vQGluY2x1ZGUgZGV2LWNvbG9yKCk7XG4gIHBhZGRpbmc6ICRndXR0ZXIgKiAyICRndXR0ZXI7XG5cbiAgYTpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4gICY+LmZzQmFubmVyIHtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIC8vY29sb3I6IHJldHVyblJHQkEoICRjb2xvci13aGl0ZSwgMC42ICk7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAoIDI0IC8gMTQgKTtcbiAgICBAaW5jbHVkZSBjb21wYXJ0bWVudCgpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtcG9ydHJhaXQpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAvL0BpbmNsdWRlIGNvbXBhcnRtZW50KCA3MDBweCApO1xuICAgIH1cblxuICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhbmRzY2FwZSkge1xuICAgIC8vICAgQGluY2x1ZGUgY29tcGFydG1lbnQoIDk0MHB4ICk7XG4gICAgLy8gfVxuXG4gICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZGVza3RvcCkge1xuICAgIC8vIH1cblxuICAgIGhlYWRlciB7XG4gICAgICAuZnNFbGVtZW50VGl0bGUge1xuICAgICAgICBAZXh0ZW5kICVoMztcbiAgICAgICAgY29sb3I6ICRtMjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzZXJpZjtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyICogMC4yNTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1kZXNrdG9wKSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmZzRWxlbWVudEhlYWRlckNvbnRlbnQgeyB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgLy9jb2xvcjogcmV0dXJuUkdCQSggJGNvbG9yLXdoaXRlLCAwLjYgKTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgICY+IC5mc0VsZW1lbnQge1xuICAgIH1cblxuICB9XG5cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT1cbi8vIENvbnRhY3QgKiBOb3QgVXNlZFxuXG4jZnNGb290ZXIgLmNvbnRhY3Qge1xuLy8gIEBpbmNsdWRlIGRldi1jb2xvciggI2YwZCApO1xuICBtYXJnaW46IDAgMCAkZ3V0dGVyO1xuICBmb250LXNpemU6IDE1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZGVza3RvcCkge1xuICAgIC8vQGluY2x1ZGUgaW5saW5lLWVsZW1lbnQoKTtcbiAgICB3aWR0aDogNjAlO1xuICB9XG5cbiAgJj4gaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC5mc0NvbXBvc2VNb2RlICYge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICB9XG4gICAgLmZzRWxlbWVudFRpdGxlIHsgfVxuICAgIC5mc0VsZW1lbnRIZWFkZXJDb250ZW50IHsgfVxuICB9XG5cbiAgLmZzRWxlbWVudENvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWRlc2t0b3ApIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgW2l0ZW1wcm9wPSduYW1lJ10ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cblxuICBbaXRlbXByb3A9J2FkZHJlc3MnXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgfVxuXG4gIFtpdGVtcHJvcD0nc3RyZWV0QWRkcmVzcyddIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgICAvL2JvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZmY7XG5cbiAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYW5kc2NhcGUpIHtcbiAgICAvLyAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvLyAgICY6YWZ0ZXIgeyBjb250ZW50OiAnLCc7IH1cbiAgICAvLyB9XG5cbiAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KCRicC1kZXNrdG9wKSB7XG4gICAgLy8gICBkaXNwbGF5OiBibG9jaztcbiAgICAvLyAgICY6YWZ0ZXIgeyBjb250ZW50OiBub3JtYWw7IH1cbiAgICAvLyB9XG4gIH1cblxuICBbaXRlbXByb3A9J2FkZHJlc3NMb2NhbGl0eSddIHt9XG5cbiAgW2l0ZW1wcm9wPSdhZGRyZXNzUmVnaW9uJ10ge31cblxuICBbaXRlbXByb3A9J3Bvc3RhbENvZGUnXSB7fVxuXG4gIFtpdGVtcHJvcD0ndGVsZXBob25lJ10ge1xuICAgIG1hcmdpbi1yaWdodDogMC43NWVtO1xuICB9XG4gIFtpdGVtcHJvcD0ndGVsZXBob25lJ10sXG4gIFtpdGVtcHJvcD0nZmF4J10ge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICBbaXRlbXByb3A9J2FkZHJlc3MnXSxcbiAgW2l0ZW1wcm9wPSd0ZWxlcGhvbmUnXSB7XG5cbiAgfVxuXG5cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT1cbi8vIEZvb3Rlci1saW5rc1xuXG4jZnNGb290ZXIgLmZvb3Rlci1saW5rcyB7XG4vLyAgQGluY2x1ZGUgZGV2LWNvbG9yKCAjZmQwICk7XG4gIG1hcmdpbi1ib3R0b206ICRndXR0ZXIgKiAxLjU7XG4gIEBpbmNsdWRlIGxpc3QtcmVzZXQoKTtcbiAgZm9udC1zaXplOiAxNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhbmRzY2FwZSkge1xuICAvLyAgIEBpbmNsdWRlIGlubGluZS1lbGVtZW50KCk7XG4gIC8vICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvIDIpO1xuICAvLyB9XG5cbiAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZGVza3RvcCkge1xuICAvLyAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAzKTtcbiAgLy8gfVxuXG4gICY+IGhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAuZnNDb21wb3NlTW9kZSAmIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgfVxuICAgIC5mc0VsZW1lbnRUaXRsZSB7IH1cbiAgICAuZnNFbGVtZW50SGVhZGVyQ29udGVudCB7IH1cbiAgfVxuXG4gIC5mc0VsZW1lbnRDb250ZW50IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG5hdiB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXBvcnRyYWl0KSB7XG4gICAgICAgIC8vQGluY2x1ZGUgbWFyZ2luLXgoICRndXR0ZXIgKiAtMC41ICk7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWRlc2t0b3ApIHtcbiAgICAgICAgQGluY2x1ZGUgbWFyZ2luLXgoIDAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdWwuZnNOYXZMZXZlbDEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtcG9ydHJhaXQpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZGVza3RvcCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogKCAkZ3V0dGVyICogMiApO1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY29sb3Itd2hpdGU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7IHBhZGRpbmctcmlnaHQ6IDA7IG1hcmdpbi1yaWdodDogMDsgYm9yZGVyOiAwOyB9XG5cblxuXG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09XG4vLyBTdXBlciBTZWNyZXRcbi8vIEhpZGRlbiBCcmVhZGNydW1iXG5cbiNmc0Zvb3RlciAubmF2aWdhdGlvbi5oaWVyYXJjaHkgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT1cbi8vIFBvd2VyZWQgQnkgRmluYWxTaXRlXG5cbiNmc0Zvb3RlciAucG93ZXJlZC1ieS1maW5hbHNpdGUge1xuICAvLyBhIEpTIGdlbmVyYXRlZCBjb250YWluZXJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXBvcnRyYWl0KSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gICY+IC5pbm5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgI2ZzUG93ZXJlZEJ5RmluYWxzaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbTU7XG4gICAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzY3JlZW47XG4gIH1cblxufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAoTGFuZGluZz8pIFBhZ2UgTWFzdGhlYWRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAuY29udGFpbmVyLm1hc3RoZWFkIHtcbi8vICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4vLyAgIC5mc0NvbXBvc2VNb2RlICYge1xuLy8gICAgIGRpc3BsYXk6IG5vbmU7XG4vLyAgIH1cblxuLy8gICAuaW1hZ2Uge1xuLy8gICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oKTtcbi8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuLy8gICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4vLyAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuLy8gICAgIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKCAyNTAgLyAzMjAgKTtcblxuLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXBvcnRyYWl0KSB7XG4vLyAgICAgICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSggNjAwIC8gODAwICk7XG4vLyAgICAgfVxuXG4vLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFuZHNjYXBlKSB7XG4vLyAgICAgICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSggNzUwIC8gMTIwMCApO1xuLy8gICAgIH1cblxuLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWRlc2t0b3ApIHtcbi8vICAgICAgIHBhZGRpbmctYm90dG9tOiA3NTBweDtcbi8vICAgICB9XG5cbi8vICAgfVxuLy8gfVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAoTGFuZGluZz8pIFBhZ2UgRGVzY3JpcHRpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAubWFzdGhlYWQuY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4vLyAgIHBhZGRpbmc6IDAgJGd1dHRlcjtcbi8vICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2UtY29udGVudC1iYWNrZ3JvdW5kLWNvbG9yO1xuLy8gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbi8vICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFuZHNjYXBlKSB7XG4vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICAgIGJvdHRvbTogMDtcbi8vICAgICBsZWZ0OiAwO1xuLy8gICAgIHdpZHRoOiAxMDAlO1xuLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuLy8gICB9XG5cbi8vICAgJj4uaW5uZXIge1xuLy8gICAgIHBhZGRpbmc6ICRndXR0ZXIgMDtcblxuLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhbmRzY2FwZSkge1xuLy8gICAgICAgQGluY2x1ZGUgY29tcGFydG1lbnQoIHBlcmNlbnRhZ2UoIDg4MCAvICRib3VuZHJ5ICkgKTtcbi8vICAgICAgIHBhZGRpbmc6ICRndXR0ZXI7XG4vLyAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZXR1cm5SR0JBKCAkcGFnZS1jb250ZW50LWJhY2tncm91bmQtY29sb3IsIDAuNyApO1xuLy8gICAgIH1cblxuLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWRlc2t0b3ApIHtcbi8vICAgICAgIEBpbmNsdWRlIGNvbXBhcnRtZW50KCA4ODBweCApO1xuLy8gICAgIH1cbi8vICAgfVxuXG4vLyAgIGgxIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuLy8gICBwIHsgbWFyZ2luOiAwOyB9XG4vLyB9XG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWlzY2VsbGFuZW91cyBMYXlvdXQgQ29udHJvbHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4jZnNQYWdlQ29udGVudCB7XG4gIC5mc1BhZ2VUaXRsZSB7fVxuXG4gICY+IC5mc0xheW91dCB7XG5cbiAgICAuZnNDb250ZW50Lm1hc3RoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgIC5mc0NvbXBvc2VNb2RlICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgIH1cbiAgICAuZnNDb250ZW50LmRlc2NyaXB0aW9uIHtcbiAgICAgIC5oYXMtZGVzY3JpcHRpb24gJiB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLmhvbWUge1xuICAgICNmc0Jhbm5lckxlZnQsXG4gICAgI2ZzQmFubmVyUmlnaHQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAvLyBMYXlvdXQgUmVzZXRzXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAjZnNQYWdlQm9keVdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgICNmc1BhZ2VCb2R5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAjZnNQYWdlQ29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAuZnNMYXlvdXQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgLmZzRGl2IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWFzdGhlYWRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4uaG9tZSAuZnNQbGF5ZXIubWFzdGhlYWQge1xuICAgIC8vZ2V0cyBpbWFnZSBiYWNrZ3JvdW5kIGZyb20gSlNcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICAmID4gaGVhZGVyLFxuICAgIC5mc0VsZW1lbnRDb250ZW50IHt9XG4gICAgJiA+IGhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBhdC1yb290IC5mc0NvbXBvc2VNb2RlLmhvbWUgLmZzUGxheWVyLm1hc3RoZWFkIGhlYWRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICAuZnNFbGVtZW50VGl0bGUge31cbiAgICAgICAgLmZzRWxlbWVudEhlYWRlckNvbnRlbnQge31cbiAgICB9XG4gICAgLmZzRWxlbWVudENvbnRlbnQge1xuICAgICAgICAvL2Rpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWljb24oJGdseXBoLXNwaW5uZXIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYW5pbWF0aW9uLXNwaW47XG4gICAgICAgICAgICAvL2NvbnRlbnQ6ICdsb2FkaW5nJztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6IG1peCgkbTIsICRjb2xvci13aGl0ZSwgNzAlKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgICAgIC5oYXMtbWFzdGhlYWQgJiB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmID4gZm9vdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmNsdXN0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogNDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgNTAlKTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtcG9ydHJhaXQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+IC5pbm5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4teCgwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXBvcnRyYWl0KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luLXgoYXV0byk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNsaWRlIHtcbiAgICAgICAgJiA+IC5pbm5lciB7fVxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgaGVpZ2h0OiAkaG9tZS1tYXN0aGVhZC1pbWFnZS1oZWlnaHQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgJiA+IC5pbm5lciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkaG9tZS1tYXN0aGVhZC1pbWFnZS1wYWRkaW5nLXRvcDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1wb3J0cmFpdCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJGhvbWUtbWFzdGhlYWQtaW1hZ2UtcGFkZGluZy10b3AgKyA0MHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWRlc2t0b3ApIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRob21lLW1hc3RoZWFkLWltYWdlLXBhZGRpbmctdG9wICsgODBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmRldGFpbHMge1xuICAgICAgICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMCAkZ3V0dGVyO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6ICRob21lLW1hc3RoZWFkLWRldGFpbC1jb2xvcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXBvcnRyYWl0KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAkZ3V0dGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA4NSU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkaG9tZS1tYXN0aGVhZC10aXRsZS1zaXplO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkaG9tZS1tYXN0aGVhZC1kZXRhaWwtY29sb3I7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRob21lLW1hc3RoZWFkLXRpdGxlLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRob21lLW1hc3RoZWFkLXRpdGxlLW1hcmdpbjtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGhvbWUtbWFzdGhlYWQtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRob21lLW1hc3RoZWFkLXRpdGxlLWZvbnQ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRob21lLW1hc3RoZWFkLXRpdGxlLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvcHkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICgkZ3V0dGVyIC8gMikgMDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRob21lLW1hc3RoZWFkLWRldGFpbC1jb3B5LWZhbWlseTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRob21lLW1hc3RoZWFkLWRldGFpbC1jb3B5LXNpemU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRob21lLW1hc3RoZWFkLWRldGFpbC1jb3B5LWxpbmUtaGVpZ2h0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1NTBweDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRhaW5lci5tYXN0aGVhZCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC5oYXMtbWFzdGhlYWQgJiB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA4NTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE5ld3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4uaG9tZSBzZWN0aW9uLmZzTmV3cyB7XG4gICAgQGluY2x1ZGUgc2hhcmVkLWhvbWUtc2VjdGlvbi1wYWRkaW5nO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbjogMDtcbiAgICA+IGhlYWRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAuZnNFbGVtZW50VGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkaG9tZS1zZWN0aW9uLXRpdGxlLXNpemU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGhvbWUtc2VjdGlvbi10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkaG9tZS1zZWN0aW9uLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRob21lLXNlY3Rpb24tZm9udC1mYW1pbHk7XG4gICAgICAgIH1cbiAgICAgICAgLmZzRWxlbWVudEhlYWRlckNvbnRlbnQgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5mc0VsZW1lbnRDb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgY29tcGFydG1lbnQ7XG4gICAgICAgIGFydGljbGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICgkZ3V0dGVyIC8gMikgKCRndXR0ZXIgLyAyKSAkZ3V0dGVyICgkZ3V0dGVyIC8gMik7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkczM7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1wb3J0cmFpdCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAoJGd1dHRlciAvIDIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZnNUaXRsZSB7fVxuICAgICAgICAgICAgLmZzRGF0ZSB7fVxuICAgICAgICAgICAgLmhvbWUtbmV3cy1yZWFkeSAmIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZzVGh1bWJuYWlsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46ICgkZ3V0dGVyICogLTAuNSkgKCRndXR0ZXIgKiAtMC41KSAoJGd1dHRlciAvIDIpICgkZ3V0dGVyICogLTAuNSk7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogJGhvbWUtbmV3cy10aHVtYm5haWwtaGVpZ2h0O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYgPiBmb290ZXIge31cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENhbGVuZGFyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaG9tZSBzZWN0aW9uLmZzQ2FsZW5kYXIge1xuICAgIEBpbmNsdWRlIHNoYXJlZC1ob21lLXNlY3Rpb24tcGFkZGluZztcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG0yO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIC8vYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBsdW1pbm9zaXR5OyAgbWF5YmUgc29tZWRheSwgaWVcbiAgICBAaW5jbHVkZSBjbGVhcjtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgID4gaGVhZGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIC5mc0VsZW1lbnRUaXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRob21lLXNlY3Rpb24tdGl0bGUtc2l6ZTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkaG9tZS1zZWN0aW9uLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRob21lLXNlY3Rpb24tZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGhvbWUtc2VjdGlvbi1mb250LWZhbWlseTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgLmZzRWxlbWVudEhlYWRlckNvbnRlbnQgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5mc0VsZW1lbnRDb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgY29tcGFydG1lbnQ7XG4gICAgICAgIGFydGljbGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1wb3J0cmFpdCkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAoJGd1dHRlciAvIDIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZnNUaXRsZSBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mc0RhdGUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEzNXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMzVweDtcbiAgICAgICAgICAgICAgICAvL2JvcmRlci1jb2xvcjogJG0xO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXI7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtcG9ydHJhaXQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5mc0RheU5hbWUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIEZlYlxuICAgICAgICAgICAgICAgIC5mc01vbnRoIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyAxMlxuICAgICAgICAgICAgICAgIC5mc0RheSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNzFweDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZnNZZWFyIHsgXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtcG9ydHJhaXQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2MHB4O1xuICAgICAgICAgICAgICAgIC5mc0RhdGUge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiA+IGZvb3RlciB7fVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29udHJvbCBDbHVzdGVyXG4vLyBmb3IgdGhlIG1haW4gc2xpZGVzaG93XG4vLyBDYXJvdXNlbCBDb250cm9sc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5ob21lIC5jbHVzdGVyIHtcbiAgICBoZWlnaHQ6ICRob21lLWNhcm91c2VsLWFycm93LWRpbWVuc2lvbnM7XG4gICAgJiA+IC5pbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIG1hcmdpbi14KCRndXR0ZXIgKiAtMSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwICRob21lLWNhcm91c2VsLWFycm93LWRpbWVuc2lvbnM7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXBvcnRyYWl0KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4teChhdXRvKTtcbiAgICAgICAgICAgIHdpZHRoOiA5NSU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXJlc2V0O1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgICAgICB3aWR0aDogJGhvbWUtY2Fyb3VzZWwtYXJyb3ctZGltZW5zaW9ucztcbiAgICAgICAgaGVpZ2h0OiAkaG9tZS1jYXJvdXNlbC1hcnJvdy1kaW1lbnNpb25zO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC02NjZlbTtcbiAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXBvcnRyYWl0KSB7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAtd2Via2l0LWZvY3VzLXJpbmctY29sb3IgYXV0byAxcHg7XG4gICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gICAgICAgICAgICBvdXRsaW5lLXN0eWxlOiBhdXRvO1xuICAgICAgICAgICAgb3V0bGluZS13aWR0aDogMXB4OyBcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogZ3JlZW47XG4gICAgICAgIH1cbiAgICAgICAgJi5wcmV2aW91cyB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJGltYWdlLWRpciArIFwiYW5nbGUtbGVmdC5zdmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gNTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLm5leHQge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCRpbWFnZS1kaXIgKyBcImFuZ2xlLXJpZ2h0LnN2Z1wiKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byA1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaG9tZSAuc2xpY2stZG90cyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206ICRndXR0ZXIgKiAyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1wb3J0cmFpdCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWRlc2t0b3ApIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbixcbiAgICAgICAgJjpob3ZlciBidXR0b24ge1xuICAgICAgICAgICAgLy8gYmFja2dyb3VuZDogJG0xOyAgU2VlIFNjaG9vbCBDb2xvcnMgTWl4aW5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gI2ZzSGVhZGVyIC50aGluZyB7XG4vLyAgICAgJiA+IGhlYWRlciB7XG4vLyAgICAgICAgIC5mc0VsZW1lbnRUaXRsZSB7fVxuLy8gICAgICAgICAuZnNFbGVtZW50SGVhZGVyQ29udGVudCB7fVxuLy8gICAgIH1cbi8vICAgICAuZnNFbGVtZW50Q29udGVudCB7fVxuLy8gfVxuXG4ucGxheUNvbnRyb2xzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMzBweDtcbiAgICBsZWZ0OiAxNXB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoOTAwcHgpIHtcbiAgICAgICAgdG9wOiAxNjVweDtcbiAgICAgICAgbGVmdDogMzBweDtcbiAgICB9XG4gICAgYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG0xO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IFxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhvbWUgLmZzTWVkaWFDb250cm9sc0JvdHRvbSB7IFxuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn0iLCIvLyBDb2xvcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5jb2xvcnMge1xuXG4gIG9sIHtcbiAgICBAaW5jbHVkZSBjbGVhcjtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIEBtaXhpbiBjb2xvcnMoJGNvbG9yKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cblxuXG5cbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICAgIGhlaWdodDogNGVtO1xuICAgICAgd2lkdGg6IGNwKDEsIGxlbmd0aCgkY29sb3JzKSAvIDQgKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiBjcCgxLCBsZW5ndGgoJGNvbG9ycykgLyAzICk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWJvdW5kcnkpIHtcbiAgICAgICAgLy9tYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogY3AoMSwgbGVuZ3RoKCRjb2xvcnMpIC8gMiApO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICRnMztcbiAgICAgIH1cblxuICAgICAgQGVhY2ggJGNvbG9yLWtleSBpbiAkY29sb3JzIHtcblxuICAgICAgICAkaTogaW5kZXgoJGNvbG9ycywgJGNvbG9yLWtleSk7XG5cbiAgICAgICAgJjpudGgtb2YtdHlwZSgjeyRpfSkge1xuICAgICAgICAgIEBpbmNsdWRlIGNvbG9ycyhudGgoJGNvbG9ycywgJGkpKTtcblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyN7bnRoKCRjb2xvcnMsICRpKX0nO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbn1cblxuLy8gSGVhZGVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmhlYWRlcnMge1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNiB7XG5cbiAgICBoI3skaX0ge1xuXG4gICAgICAmOmFmdGVyIHt9XG5cbiAgICB9XG5cbiAgfVxuXG4gIGgxIHtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyBzaXplOiAjeyRoMS1zaXplfSAvIGxpbmU6ICN7JGgxLWxpbmUtaGVpZ2h0fSc7XG4gICAgfVxuXG4gIH1cblxuICBoMiB7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgc2l6ZTogI3skaDItc2l6ZX0gLyBsaW5lOiAjeyRoMi1saW5lLWhlaWdodH0nO1xuICAgIH1cblxuICB9XG5cbiAgaDMge1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnIHNpemU6ICN7JGgzLXNpemV9IC8gbGluZTogI3skaDMtbGluZS1oZWlnaHR9JztcbiAgICB9XG5cbiAgfVxuXG4gIGg0IHtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyBzaXplOiAjeyRoNC1zaXplfSAvIGxpbmU6ICN7JGg0LWxpbmUtaGVpZ2h0fSc7XG4gICAgfVxuXG4gIH1cblxuICBoNSB7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgc2l6ZTogI3skaDUtc2l6ZX0gLyBsaW5lOiAjeyRoNS1saW5lLWhlaWdodH0nO1xuICAgIH1cblxuICB9XG5cbiAgaDYge1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnIHNpemU6ICN7JGg2LXNpemV9IC8gbGluZTogI3skaDYtbGluZS1oZWlnaHR9JztcbiAgICB9XG5cbiAgfVxuXG59Il19 */
