/**
* infused
*/
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device 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/10/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 of focused elements when they are also in an
 * active/hover state.
 */
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 8/9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/**
 * 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; }

th,
td {
  padding: 0; }

/*  Syntax Quick Reference
  --------------------------
  column($ratios: 1, $offset: 0, $cycle: 0, $uncycle: 0, $gutter: $jeet-gutter)
  span($ratio: 1, $offset: 0)
  shift($ratios: 0, $col_or_span: column, $gutter: $jeet-gutter)
  unshift()
  edit()
  center($max_width: 1410px, $pad: 0)
  stack($pad: 0, $align: false)
  unstack()
  align($direction: both)
  cf()
*/
/**
 * Grid settings.
 * All values are defaults and can therefore be easily overidden.
 */
/**
 * List functions courtesy of the wonderful folks at Team Sass.
 * Check out their awesome grid: Singularity.
 */
/**
 * Get  percentage from a given ratio.
 * @param {number} [$ratio=1] - The column ratio of the element.
 * @returns {number} - The percentage value.
 */
/**
 * Work out the column widths based on the ratio and gutter sizes.
 * @param {number} [$ratios=1] - The column ratio of the element.
 * @param {number} [$gutter=$jeet-gutter] - The gutter for the column.
 * @returns {list} $width $gutter - A list containing the with and gutter for the element.
 */
/**
 * Get the set layout direction for the project.
 * @returns {string} $direction - The layout direction.
 */
/**
 * Replace a specified list value with a new value (uses built in set-nth() if available)
 * @param {list} $list - The list of values you want to alter.
 * @param {number} $index - The index of the list item you want to replace.
 * @param {*} $value - The value you want to replace $index with.
 * @returns {list} $list - The list with the value replaced or removed.
 * @warn if an invalid index is supplied.
 */
/**
 * Reverse a list (progressively enhanced for Sass 3.3)
 * @param {list} $list - The list of values you want to reverse.
 * @returns {list} $result - The reversed list.
 */
/**
 * Get the opposite direction to a given value.
 * @param {string} $dir - The direction you want the opposite of.
 * @returns {string} - The opposite direction to $dir.
 * @warn if an incorrect string is provided.
 */
/**
 * Style an element as a column with a gutter.
 * @param {number} [$ratios=1] - A width relative to its container as a fraction.
 * @param {number} [$offset=0] - A offset specified as a fraction (see $ratios).
 * @param {number} [$cycle=0] - Easily create an nth column grid where $cycle equals the number of columns.
 * @param {number} [$uncycle=0] - Undo a previous cycle value to allow for a new one.
 * @param {number} [$gutter=$jeet-gutter] - Specify the gutter width as a percentage of the containers width.
 */
/**
 * An alias for the column mixin.
 * @param [$args...] - All arguments get passed through to column().
 */
/**
 * Get the width of a column and nothing else.
 * @param {number} [$ratios=1] - A width relative to its container as a fraction.
 * @param {number} [$gutter=$jeet-gutter] - Specify the gutter width as a percentage of the containers width.
 */
/**
 * Get the gutter size of a column and nothing else.
 * @param {number} [ratios=1] - A width relative to its container as a fraction.
 * @param {number} [gutter=jeet.gutter] - Specify the gutter width as a percentage of the containers width.
 */
/**
 * An alias for the column-width function.
 * @param [$args...] - All arguments get passed through to column().
 */
/**
 * An alias for the column-gutter function.
 * @param [$args...] - All arguments get passed through to column().
 */
/**
 * Style an element as a column without any gutters for a seamless row.
 * @param {number} [$ratios=1] - A width relative to its container as a fraction.
 * @param {number} [$offset=0] - A offset specified as a fraction (see $ratios).
 * @param {number} [cycle=0] - Easily create an nth column grid where cycle equals the number of columns.
 * @param {number} [uncycle=0] - Undo a previous cycle value to allow for a new one.
 */
/**
 * Reorder columns without altering the HTML.
 * @param {number} [$ratios=0] - Specify how far along you want the element to move.
 * @param {string} [$col-or-span=column] - Specify whether the element has a gutter or not.
 * @param {number} [$gutter=$jeet-gutter] - Specify the gutter width as a percentage of the containers width.
 */
/**
 * Reset an element that has had shift() applied to it.
 */
/**
 * View the grid and its layers for easy debugging.
 * @param {string} [$color=black] - The background tint applied.
 * @param {boolean} [$important=false] - Whether to apply the style as !important.
 */
/**
 *  Alias for edit().
 */
/**
 * Horizontally center an element.
 * @param {number} [$max-width=1410px] - The max width the element can be.
 * @param {number} [$pad=0] - Specify the element's left and right padding.
 */
/**
 * Uncenter an element.
 */
/**
 * Stack an element so that nothing is either side of it.
 * @param {number} [$pad=0] - Specify the element's left and right padding.
 * @param {boolean/string} [$align=false] - Specify the text align for the element.
 */
/**
 * Unstack an element.
 */
/**
 * Center an element on either or both axes.
 * @requires A parent container with relative positioning.
 * @param {string} [$direction=both] - Specify which axes to center the element on.
 */
/**
 * Apply a clearfix to an element.
 */
html, body {
  -webkit-tap-highlight-color: transparent; }

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

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

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

*:focus {
  outline: 0; }

html {
  box-sizing: border-box; }

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

/**
* pleaserespond depends on jeet, breakpoint
* @todo standalone bower package, and add to infused bower package as dependency
*/
html {
  font-size: 62.5%; }

.HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle, .PropertiesPage .content .PropertiesList .wrap .Property .middle {
  width: 97%;
  max-width: 100%; }

.wrap {
  position: relative;
  width: 88%;
  max-width: 900px;
  margin: 0 auto; }
  .wrap::after {
    content: "";
    display: table;
    clear: both; }

/**
* style
*/
.Search .actions > *,
.Filter .actions > *, .Search .wrap .SearchForm .favourites > *, .Filter .wrap .toggle, .typography .section.buttons .button, .Viewport .Modal .icon, .Viewport .Top .top .logo, .Viewport .Top .top .find, .Viewport .Top .top .user, .Viewport .Top .top .menuButton, .Viewport .BackToTop div, .Viewport .Top .topmost ul li a, .Footer .Callout form button, .Footer .container .Contact .wrap .ContactForm .actions button, .print, .section.form .row .fieldHolder .CustomFile .zone, .section.form button.add, .section.form .actions button, .HomePage .FeaturedProperties .wrap .Properties .slide .Property .top, .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .favourite .icon, .HomePage .FeaturedProperties .wrap .Properties .slide .Property .bottom a, .HomePage .RandomAgents .wrap .container .Agent, .AccountPage .Searches ul li .icon, .PropertiesPage .content .PropertiesList .Status .wrap .status .inner .buttons a, .PropertiesPage .content .PropertiesList .wrap .Property .top, .PropertiesPage .content .PropertiesList .wrap .Property .middle .favourite .icon, .PropertiesPage .content .PropertiesList .wrap .Property .bottom a, .PropertyPage .content .Property .top .wrap .gallery, .PropertyPage .content .Property .top .wrap .favourite .icon, .PropertyPage .content .Property .middle .actions li > a,
.PropertyPage .content .Property .middle .actions li .label, .PropertyPage .content .Property .middle .actions li.share .networks li, .PropertyPage .content .Property .middle .agent .left, .MeetTheTeamPage .AgentsList ul li, .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent, .ApplyOnlinePage .steps li {
  transition: opacity 0.15s ease-out;
  cursor: pointer; }
  .Search .actions > :hover,
  .Filter .actions > :hover, .Search .wrap .SearchForm .favourites > :hover, .Filter .wrap .toggle:hover, .typography .section.buttons .button:hover, .Viewport .Modal .icon:hover, .Viewport .Top .top .logo:hover, .Viewport .Top .top .find:hover, .Viewport .Top .top .user:hover, .Viewport .Top .top .menuButton:hover, .Viewport .BackToTop div:hover, .Viewport .Top .topmost ul li a:hover, .Footer .Callout form button:hover, .Footer .container .Contact .wrap .ContactForm .actions button:hover, .print:hover, .section.form .row .fieldHolder .CustomFile .zone:hover, .section.form button.add:hover, .section.form .actions button:hover, .HomePage .FeaturedProperties .wrap .Properties .slide .Property .top:hover, .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .favourite .icon:hover, .HomePage .FeaturedProperties .wrap .Properties .slide .Property .bottom a:hover, .HomePage .RandomAgents .wrap .container .Agent:hover, .AccountPage .Searches ul li .icon:hover, .PropertiesPage .content .PropertiesList .Status .wrap .status .inner .buttons a:hover, .PropertiesPage .content .PropertiesList .wrap .Property .top:hover, .PropertiesPage .content .PropertiesList .wrap .Property .middle .favourite .icon:hover, .PropertiesPage .content .PropertiesList .wrap .Property .bottom a:hover, .PropertyPage .content .Property .top .wrap .gallery:hover, .PropertyPage .content .Property .top .wrap .favourite .icon:hover, .PropertyPage .content .Property .middle .actions li > a:hover,
  .PropertyPage .content .Property .middle .actions li .label:hover, .PropertyPage .content .Property .middle .actions li.share .networks li:hover, .PropertyPage .content .Property .middle .agent .left:hover, .MeetTheTeamPage .AgentsList ul li:hover, .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent:hover, .ApplyOnlinePage .steps li:hover {
    opacity: 0.95; }

.Search .wrap .SearchForm .favourites .Searches, .Search .wrap .SearchForm .form, .Search .wrap .SearchForm .form .Input, .Search .wrap .SearchForm .form .Select, .Search .wrap .SearchForm .form .Select .Select-control, .Search .wrap .SearchForm .form .Select .Select-control .Select-placeholder,
.Search .wrap .SearchForm .form .Select .Select-control .Select-value, .Filter .wrap .FilterForm .form .Select, .Filter .wrap .FilterForm .form .Select .Select-control, .Filter .wrap .FilterForm .form .Select .Select-control .Select-placeholder,
.Filter .wrap .FilterForm .form .Select .Select-control .Select-value, .typography .section.buttons .button, .Viewport .Modal .wrap, .Viewport .Top .top .find, .Footer .container .Contact .wrap .ContactForm .Select, .Footer .container .Contact .wrap .ContactForm .Select .Select-control, .Footer .container .Contact .wrap .ContactForm .Select .Select-control .Select-placeholder,
.Footer .container .Contact .wrap .ContactForm .Select .Select-control .Select-value, .section.form .row .fieldHolder .Select, .section.form .row .fieldHolder .Select .Select-control, .section.form .row .fieldHolder .Select .Select-control .Select-placeholder,
.section.form .row .fieldHolder .Select .Select-control .Select-value, .HomePage .RandomAgents .wrap .bottom .meet, .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select, .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select .Select-control, .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select .Select-control .Select-placeholder,
.PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select .Select-control .Select-value, .NewsPage .News .NewsList .Status .Select, .NewsPage .News .NewsList .Status .Select .Select-control, .NewsPage .News .NewsList .Status .Select .Select-control .Select-placeholder,
.NewsPage .News .NewsList .Status .Select .Select-control .Select-value {
  -webkit-backface-visibility: hidden; }

.PropertiesPage .content .PropertiesList .wrap {
  width: 96%;
  max-width: 1400px; }

/* open-sans-300 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: local("Open Sans Light"), local("OpenSans-Light"), url("../fonts/opensans/open-sans-v13-latin-300.woff2") format("woff2"), url("../fonts/opensans/open-sans-v13-latin-300.woff") format("woff");
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ }

/* open-sans-300italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300;
  src: local("Open Sans Light Italic"), local("OpenSansLight-Italic"), url("../fonts/opensans/open-sans-v13-latin-300italic.woff2") format("woff2"), url("../fonts/opensans/open-sans-v13-latin-300italic.woff") format("woff");
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ }

/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local("Open Sans"), local("OpenSans"), url("../fonts/opensans/open-sans-v13-latin-regular.woff2") format("woff2"), url("../fonts/opensans/open-sans-v13-latin-regular.woff") format("woff");
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ }

/* open-sans-italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src: local("Open Sans Italic"), local("OpenSans-Italic"), url("../fonts/opensans/open-sans-v13-latin-italic.woff2") format("woff2"), url("../fonts/opensans/open-sans-v13-latin-italic.woff") format("woff");
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ }

/* open-sans-600 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: local("Open Sans Semibold"), local("OpenSans-Semibold"), url("../fonts/opensans/open-sans-v13-latin-600.woff2") format("woff2"), url("../fonts/opensans/open-sans-v13-latin-600.woff") format("woff");
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ }

/* open-sans-600italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 600;
  src: local("Open Sans Semibold Italic"), local("OpenSans-SemiboldItalic"), url("../fonts/opensans/open-sans-v13-latin-600italic.woff2") format("woff2"), url("../fonts/opensans/open-sans-v13-latin-600italic.woff") format("woff");
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ }

/* open-sans-700 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: local("Open Sans Bold"), local("OpenSans-Bold"), url("../fonts/opensans/open-sans-v13-latin-700.woff2") format("woff2"), url("../fonts/opensans/open-sans-v13-latin-700.woff") format("woff");
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ }

/* open-sans-700italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  src: local("Open Sans Bold Italic"), local("OpenSans-BoldItalic"), url("../fonts/opensans/open-sans-v13-latin-700italic.woff2") format("woff2"), url("../fonts/opensans/open-sans-v13-latin-700italic.woff") format("woff");
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ }

.Pagination {
  border-top: 1px solid #fff;
  text-align: center; }
  .Pagination::after {
    content: "";
    display: table;
    clear: both; }
  .Pagination .left {
    *zoom: 1;
    float: left;
    clear: none;
    text-align: inherit;
    width: 40%;
    margin-left: 0%;
    margin-right: 0%;
    border-right: 1px solid #fff;
    padding: 1em 0; }
    .Pagination .left:before, .Pagination .left:after {
      content: '';
      display: table; }
    .Pagination .left:after {
      clear: both; }
    .Pagination .left a {
      color: #c12026;
      font-weight: 600;
      text-decoration: none; }
  .Pagination .right {
    *zoom: 1;
    float: left;
    clear: none;
    text-align: inherit;
    width: 60%;
    margin-left: 0%;
    margin-right: 0%;
    padding: 1em 0; }
    .Pagination .right:before, .Pagination .right:after {
      content: '';
      display: table; }
    .Pagination .right:after {
      clear: both; }
    .Pagination .right .pagination li {
      display: inline-block;
      color: #c12026;
      margin: 0 0.5em; }
      .Pagination .right .pagination li a {
        color: #c12026;
        text-decoration: none; }
      .Pagination .right .pagination li.previous, .Pagination .right .pagination li.next {
        display: none; }
      .Pagination .right .pagination li.disabled {
        opacity: 0.4; }
      .Pagination .right .pagination li.current {
        font-weight: 600; }

@media (min-width: 900px) {
  .Search .actions,
  .Filter .actions {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row; } }

.Search .actions > *,
.Filter .actions > * {
  border: 0 none;
  text-align: center;
  font-weight: 600;
  padding: 0.85em 1.1em 0.8em; }

.Search .actions .search,
.Filter .actions .search {
  background: #c12026;
  color: #fff;
  margin-right: 6px; }
  @media (min-width: 900px) {
    .Search .actions .search,
    .Filter .actions .search {
      margin-right: 3px; } }
  .Search .actions .search.faded,
  .Filter .actions .search.faded {
    opacity: 0.1; }

.Search .actions .viewAll,
.Filter .actions .viewAll {
  background: #fff;
  color: #c12026;
  font-style: italic; }

.Viewport > .Search {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  top: 62px;
  visibility: hidden;
  background: #989898;
  padding: 0;
  overflow-y: auto;
  opacity: 0;
  transition: all 0.2s ease-out; }
  .Viewport > .Search.open {
    visibility: visible;
    opacity: 1; }
  .Viewport > .Search .wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    height: 100%; }
    .Viewport > .Search .wrap .SearchForm {
      -ms-flex: 1;
          flex: 1;
      font-size: 1em;
      width: 100%;
      max-width: 500px; }
      @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
        .Viewport > .Search .wrap .SearchForm {
          max-width: none; } }
      @media (min-height: 300px) {
        .Viewport > .Search .wrap .SearchForm {
          font-size: 0.9em; } }
      @media (min-height: 325px) {
        .Viewport > .Search .wrap .SearchForm {
          font-size: 1em; } }
      @media (min-height: 350px) {
        .Viewport > .Search .wrap .SearchForm {
          font-size: 1.1em; } }
      @media (min-height: 375px) {
        .Viewport > .Search .wrap .SearchForm {
          font-size: 1.2em; } }
      @media (min-height: 400px) {
        .Viewport > .Search .wrap .SearchForm {
          font-size: 1.3em; } }
      @media (min-height: 450px) {
        .Viewport > .Search .wrap .SearchForm {
          font-size: 1.4em; } }
      .Viewport > .Search .wrap .SearchForm .actions {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row; }
        .Viewport > .Search .wrap .SearchForm .actions > * {
          -ms-flex: 1;
              flex: 1; }

.Search {
  background: #9c9c9c;
  font-size: 1.3em;
  padding: 0.7em 0;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }
  @media (min-width: 900px) {
    .Search .wrap {
      width: 96%;
      max-width: 1400px; } }
  @media (min-width: 900px) {
    .Search .wrap .SearchForm {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: rows;
          flex-direction: rows; } }
  .Search .wrap .SearchForm .favourites {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: rows;
        flex-direction: rows; }
    @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
      .Search .wrap .SearchForm .favourites {
        display: block; } }
    .Search .wrap .SearchForm .favourites > * {
      -ms-flex: 1;
          flex: 1;
      background: #fff;
      text-align: center;
      padding: 0.85em 1.1em 0.8em;
      margin-bottom: 6px; }
      @media (min-width: 900px) {
        .Search .wrap .SearchForm .favourites > * {
          margin-bottom: 0;
          margin-right: 3px; } }
  @media screen and (min-width: 900px) and (-ms-high-contrast: active), (min-width: 900px) and (-ms-high-contrast: none) {
    .Search .wrap .SearchForm .favourites > * {
      display: inline-block; } }
      .Search .wrap .SearchForm .favourites > * > span {
        font-size: 0.9em;
        color: #c12026;
        white-space: nowrap; }
        .Search .wrap .SearchForm .favourites > * > span .icon {
          font-size: 0.9em;
          margin-right: 0.5em; }
    .Search .wrap .SearchForm .favourites div + div {
      margin-left: 6px; }
      @media (min-width: 900px) {
        .Search .wrap .SearchForm .favourites div + div {
          margin-left: 0; } }
    .Search .wrap .SearchForm .favourites .ShowFavourites.active {
      background: #c12026; }
      .Search .wrap .SearchForm .favourites .ShowFavourites.active span {
        color: #fff; }
    .Search .wrap .SearchForm .favourites .Searches {
      position: relative;
      transition: opacity 0.25s ease-in-out;
      z-index: 20; }
      .Search .wrap .SearchForm .favourites .Searches:hover {
        opacity: 1 !important; }
      .Search .wrap .SearchForm .favourites .Searches .dropdown {
        visibility: hidden;
        position: absolute;
        top: 100%;
        left: 0;
        background: #c12026;
        width: 100%;
        opacity: 0;
        transition: visibility 0s 0.15s, opacity 0.15s ease-in-out; }
        @media (min-width: 900px) {
          .Search .wrap .SearchForm .favourites .Searches .dropdown {
            width: 200%; } }
        .Search .wrap .SearchForm .favourites .Searches .dropdown li {
          position: relative;
          border-bottom: 1px solid rgba(0, 0, 0, 0.1);
          font-size: 0.9em;
          color: #fff;
          text-align: left;
          font-weight: 600;
          padding: 1em; }
          .Search .wrap .SearchForm .favourites .Searches .dropdown li .icon {
            position: absolute;
            transform-style: preserve-3d;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            left: auto;
            right: 0.5em; }
        .Search .wrap .SearchForm .favourites .Searches .dropdown.open {
          visibility: visible;
          opacity: 1;
          transition: opacity 0.15s ease-in-out; }
  .Search .wrap .SearchForm .form {
    transition: opacity 0.25s ease-in-out; }
    @media (min-width: 900px) {
      .Search .wrap .SearchForm .form {
        -ms-flex: 1;
            flex: 1;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: rows;
            flex-direction: rows; } }
    .Search .wrap .SearchForm .form > * {
      margin-bottom: 6px; }
      @media (min-width: 900px) {
        .Search .wrap .SearchForm .form > * {
          -ms-flex: 1;
              flex: 1;
          margin: 0 3px 0 0; } }
    .Search .wrap .SearchForm .form .Input {
      -ms-flex: 1;
          flex: 1;
      position: relative;
      background: #fff; }
      .Search .wrap .SearchForm .form .Input .icon {
        position: absolute;
        top: 50%;
        right: 0.68em;
        font-size: 1.2em;
        margin-top: -0.5em; }
      .Search .wrap .SearchForm .form .Input input {
        border: 0 none;
        line-height: inherit;
        width: 100%;
        padding: 0.85em 1.1em 0.8em; }
    .Search .wrap .SearchForm .form .Select {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      background: #fff;
      transition: all 0.25s ease-in-out;
      -ms-flex: 1;
          flex: 1; }
      @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
        .Search .wrap .SearchForm .form .Select {
          height: 2.6em; } }
      .Search .wrap .SearchForm .form .Select .Select-control {
        display: -ms-flexbox;
        display: flex;
        -ms-flex: 1;
            flex: 1;
        background: transparent;
        border: 0 none;
        border-radius: 0;
        height: auto;
        cursor: pointer;
        box-shadow: none !important; }
        .Search .wrap .SearchForm .form .Select .Select-control .Select-placeholder,
        .Search .wrap .SearchForm .form .Select .Select-control .Select-value {
          -ms-flex: 1;
              flex: 1;
          color: #2c2c2c;
          line-height: inherit;
          padding: 0.85em 1.1em 0.8em;
          padding-right: 4em; }
        .Search .wrap .SearchForm .form .Select .Select-control .Select-input {
          -ms-flex: 1;
              flex: 1;
          display: block;
          height: auto;
          padding: 0.85em 1.1em 0.8em; }
        .Search .wrap .SearchForm .form .Select .Select-control .Select-arrow-zone,
        .Search .wrap .SearchForm .form .Select .Select-control .Select-clear-zone {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-align: center;
              align-items: center;
          -ms-flex-pack: center;
              justify-content: center; }
        .Search .wrap .SearchForm .form .Select .Select-control .Select-arrow-zone {
          width: 1em;
          padding: 0;
          margin-right: 1em; }
          .Search .wrap .SearchForm .form .Select .Select-control .Select-arrow-zone .Select-arrow {
            background: url("/themes/oxygen/images/down-chevron-thin.png") 50% 50% no-repeat;
            background-size: 100%;
            border: 0 none;
            width: 1em;
            height: 1em; }
        .Search .wrap .SearchForm .form .Select .Select-control .Select-clear-zone {
          width: 1.25em;
          margin-right: 0.5em; }
          .Search .wrap .SearchForm .form .Select .Select-control .Select-clear-zone .Select-clear {
            font-size: 18px; }
      .Search .wrap .SearchForm .form .Select .Select-menu-outer {
        border-color: rgba(0, 0, 0, 0.1);
        border-radius: 0;
        box-shadow: none; }
        .Search .wrap .SearchForm .form .Select .Select-menu-outer .Select-option {
          font-size: 0.9em;
          padding: 0.85em 1.1em 0.8em;
          transition: all 0.1s ease-out-out;
          border-radius: 0; }
          .Search .wrap .SearchForm .form .Select .Select-menu-outer .Select-option.is-focused {
            background: #f9f9f9;
            color: #000; }
      .Search .wrap .SearchForm .form .Select.Select--multi .Select-input {
        padding-left: 0;
        padding-right: 0; }
      .Search .wrap .SearchForm .form .Select.Select--multi .Select-item {
        display: none;
        background: none;
        border: 0 none;
        font-size: 1em;
        color: inherit;
        margin: 0;
        padding: 0; }
        .Search .wrap .SearchForm .form .Select.Select--multi .Select-item .Select-item-icon {
          display: none; }
        .Search .wrap .SearchForm .form .Select.Select--multi .Select-item .Select-item-label {
          white-space: nowrap;
          padding: 0;
          vertical-align: inherit; }
        .Search .wrap .SearchForm .form .Select.Select--multi .Select-item:first-child {
          display: inline-block;
          padding: 0.85em 1.1em 0.8em;
          padding-right: 0.4em; }
        .Search .wrap .SearchForm .form .Select.Select--multi .Select-item:nth-child(2) {
          display: inline-block;
          padding: 0.85em 1.1em 0.8em;
          padding-left: 0;
          padding-right: 0; }
          .Search .wrap .SearchForm .form .Select.Select--multi .Select-item:nth-child(2) .Select-item-label {
            display: none; }
          .Search .wrap .SearchForm .form .Select.Select--multi .Select-item:nth-child(2):after {
            content: '+More';
            color: #949494;
            white-space: nowrap; }
      .Search .wrap .SearchForm .form .Select.is-open {
        background: rgba(255, 255, 255, 0.87); }
      .Search .wrap .SearchForm .form .Select.is-searchable .Select-input {
        padding: 0; }
        .Search .wrap .SearchForm .form .Select.is-searchable .Select-input input {
          -ms-flex: 1;
              flex: 1;
          display: block;
          font-size: 1em;
          height: auto;
          padding: 0.85em 1.1em 0.8em; }
      .Search .wrap .SearchForm .form .Select.is-disabled .Select-input {
        padding: 0.85em 1.1em 0.8em; }

@media screen and (min-width: 900px) and (-ms-high-contrast: active), (min-width: 900px) and (-ms-high-contrast: none) {
  .Search .wrap .SearchForm .form .Select {
    height: auto; } }
      .Search .wrap .SearchForm .form .Select.is-disabled {
        opacity: 0.5; }
    .Search .wrap .SearchForm .form.faded {
      opacity: 0.2; }

.Filter {
  background: rgba(255, 255, 255, 0.82);
  border-bottom: 1px solid #E0DADA;
  font-size: 1.4em;
  padding: 0.7em 0;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }
  .Filter::after {
    content: "";
    display: table;
    clear: both; }
  @media (min-width: 900px) {
    .Filter {
      background: #E3EBED;
      border-bottom: 1px solid #fff;
      font-size: 1.2em; } }
  @media (min-width: 900px) {
    .Filter .wrap {
      width: 96%;
      max-width: 1400px; } }
  .Filter .wrap .toggle {
    font-size: 1.1em;
    text-align: center;
    font-weight: 400;
    padding: 0.2em 0 0.1em; }
  .Filter .wrap .FilterForm .form {
    max-width: 500px;
    padding: 2em 0 1em;
    margin: 0 auto; }
    @media (min-width: 900px) {
      .Filter .wrap .FilterForm .form {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        max-width: 100%;
        padding: 0; } }
    .Filter .wrap .FilterForm .form > * {
      margin-bottom: 6px; }
      @media (min-width: 900px) {
        .Filter .wrap .FilterForm .form > * {
          -ms-flex: 1;
              flex: 1;
          margin: 0 3px 0 0; } }
    .Filter .wrap .FilterForm .form .Select {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      background: #fff;
      transition: all 0.25s ease-in-out;
      border: 1px solid rgba(0, 0, 0, 0.1); }
      @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
        .Filter .wrap .FilterForm .form .Select {
          height: 2.6em; } }
      .Filter .wrap .FilterForm .form .Select .Select-control {
        display: -ms-flexbox;
        display: flex;
        -ms-flex: 1;
            flex: 1;
        background: transparent;
        border: 0 none;
        border-radius: 0;
        height: auto;
        cursor: pointer;
        box-shadow: none !important; }
        .Filter .wrap .FilterForm .form .Select .Select-control .Select-placeholder,
        .Filter .wrap .FilterForm .form .Select .Select-control .Select-value {
          -ms-flex: 1;
              flex: 1;
          color: #2c2c2c;
          line-height: inherit;
          padding: 0.8em 1.1em;
          padding-right: 4em; }
        .Filter .wrap .FilterForm .form .Select .Select-control .Select-input {
          -ms-flex: 1;
              flex: 1;
          display: block;
          height: auto;
          padding: 0.8em 1.1em; }
        .Filter .wrap .FilterForm .form .Select .Select-control .Select-arrow-zone,
        .Filter .wrap .FilterForm .form .Select .Select-control .Select-clear-zone {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-align: center;
              align-items: center;
          -ms-flex-pack: center;
              justify-content: center; }
        .Filter .wrap .FilterForm .form .Select .Select-control .Select-arrow-zone {
          width: 1em;
          padding: 0;
          margin-right: 1em; }
          .Filter .wrap .FilterForm .form .Select .Select-control .Select-arrow-zone .Select-arrow {
            background: url("/themes/oxygen/images/down-chevron-thin.png") 50% 50% no-repeat;
            background-size: 100%;
            border: 0 none;
            width: 1em;
            height: 1em; }
        .Filter .wrap .FilterForm .form .Select .Select-control .Select-clear-zone {
          width: 1.25em;
          margin-right: 0.5em; }
          .Filter .wrap .FilterForm .form .Select .Select-control .Select-clear-zone .Select-clear {
            font-size: 18px; }
      .Filter .wrap .FilterForm .form .Select .Select-menu-outer {
        border-color: rgba(0, 0, 0, 0.1);
        border-radius: 0;
        box-shadow: none; }
        .Filter .wrap .FilterForm .form .Select .Select-menu-outer .Select-option {
          font-size: 0.9em;
          padding: 0.8em 1.1em;
          transition: all 0.1s ease-out-out;
          border-radius: 0; }
          .Filter .wrap .FilterForm .form .Select .Select-menu-outer .Select-option.is-focused {
            background: #f9f9f9;
            color: #000; }
      .Filter .wrap .FilterForm .form .Select.Select--multi .Select-input {
        padding-left: 0;
        padding-right: 0; }
      .Filter .wrap .FilterForm .form .Select.Select--multi .Select-item {
        display: none;
        background: none;
        border: 0 none;
        font-size: 1em;
        color: inherit;
        margin: 0;
        padding: 0; }
        .Filter .wrap .FilterForm .form .Select.Select--multi .Select-item .Select-item-icon {
          display: none; }
        .Filter .wrap .FilterForm .form .Select.Select--multi .Select-item .Select-item-label {
          white-space: nowrap;
          padding: 0;
          vertical-align: inherit; }
        .Filter .wrap .FilterForm .form .Select.Select--multi .Select-item:first-child {
          display: inline-block;
          padding: 0.8em 1.1em;
          padding-right: 0.4em; }
        .Filter .wrap .FilterForm .form .Select.Select--multi .Select-item:nth-child(2) {
          display: inline-block;
          padding: 0.8em 1.1em;
          padding-left: 0;
          padding-right: 0; }
          .Filter .wrap .FilterForm .form .Select.Select--multi .Select-item:nth-child(2) .Select-item-label {
            display: none; }
          .Filter .wrap .FilterForm .form .Select.Select--multi .Select-item:nth-child(2):after {
            content: '+More';
            color: #949494;
            white-space: nowrap; }
      .Filter .wrap .FilterForm .form .Select.is-open {
        background: rgba(255, 255, 255, 0.87); }
      .Filter .wrap .FilterForm .form .Select.is-searchable .Select-input {
        padding: 0; }
        .Filter .wrap .FilterForm .form .Select.is-searchable .Select-input input {
          -ms-flex: 1;
              flex: 1;
          display: block;
          font-size: 1em;
          height: auto;
          padding: 0.8em 1.1em; }
      .Filter .wrap .FilterForm .form .Select.is-disabled .Select-input {
        padding: 0.8em 1.1em; }

@media screen and (min-width: 900px) and (-ms-high-contrast: active), (min-width: 900px) and (-ms-high-contrast: none) {
  .Filter .wrap .FilterForm .form .Select {
    height: auto; } }
    .Filter .wrap .FilterForm .form .PriceField {
      -ms-flex: 1.2;
          flex: 1.2;
      -ms-flex-item-align: center;
          -ms-grid-row-align: center;
          align-self: center;
      margin: 1.5em 0 1em; }
      @media (min-width: 900px) {
        .Filter .wrap .FilterForm .form .PriceField {
          margin: 0 0 0 0.8em; } }
      .Filter .wrap .FilterForm .form .PriceField .slider {
        height: 18px; }
        .Filter .wrap .FilterForm .form .PriceField .slider .bar {
          top: 50%;
          background: #fff;
          height: 2px;
          margin-top: -1px; }
          .Filter .wrap .FilterForm .form .PriceField .slider .bar.bar-1 {
            background: #c12026; }
          .Filter .wrap .FilterForm .form .PriceField .slider .bar.bar-2 {
            border-left: 1px solid #c12026; }
        .Filter .wrap .FilterForm .form .PriceField .slider .handle {
          background: #c12026;
          width: 18px;
          height: 18px;
          border-radius: 18px;
          cursor: -webkit-grab;
          cursor: grab; }
          .Filter .wrap .FilterForm .form .PriceField .slider .handle:before {
            position: absolute;
            top: 2px;
            right: 2px;
            bottom: 2px;
            left: 2px;
            background: #9c9c9c;
            border: 2px solid #fff;
            border-radius: 18px;
            content: ''; }
      .Filter .wrap .FilterForm .form .PriceField .price {
        text-align: center; }
    .Filter .wrap .FilterForm .form .actions {
      margin-top: 2.5em;
      text-align: center; }

/*!
 * https://github.com/arqex/react-datetime
 */
.rdt {
  position: relative; }

.rdtPicker {
  display: none;
  position: absolute;
  width: 250px;
  padding: 4px;
  margin-top: 1px;
  z-index: 99999 !important;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  border: 1px solid #f9f9f9; }

.rdtOpen .rdtPicker {
  display: block; }

.rdtStatic .rdtPicker {
  box-shadow: none;
  position: static; }

.rdtPicker .rdtTimeToggle {
  text-align: center; }

.rdtPicker table {
  width: 100%;
  margin: 0; }

.rdtPicker td,
.rdtPicker th {
  text-align: center;
  height: 28px; }

.rdtPicker td.rdtToday:hover,
.rdtPicker td.rdtHour:hover,
.rdtPicker td.rdtMinute:hover,
.rdtPicker td.rdtSecond:hover,
.rdtPicker .rdtTimeToggle:hover {
  background: #eeeeee;
  cursor: pointer; }

.rdtPicker td.rdtOld,
.rdtPicker td.rdtNew {
  color: #999999; }

.rdtPicker td.rdtToday {
  position: relative; }

.rdtPicker td.rdtToday:before {
  content: '';
  display: inline-block;
  border-left: 7px solid transparent;
  border-bottom: 7px solid #428bca;
  border-top-color: rgba(0, 0, 0, 0.2);
  position: absolute;
  bottom: 4px;
  right: 4px; }

.rdtPicker td.rdtActive,
.rdtPicker td.rdtActive:hover {
  background-color: #428bca;
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); }

.rdtPicker td.rdtActive.rdtToday:before {
  border-bottom-color: #fff; }

.rdtPicker td.rdtDisabled,
.rdtPicker td.rdtDisabled:hover {
  background: none;
  color: #999999;
  cursor: not-allowed; }

.rdtPicker td span.rdtOld {
  color: #999999; }

.rdtPicker td span.rdtDisabled,
.rdtPicker td span.rdtDisabled:hover {
  background: none;
  color: #999999;
  cursor: not-allowed; }

.rdtPicker th {
  border-bottom: 1px solid #f9f9f9; }

.rdtPicker .dow {
  width: 14.2857%;
  border-bottom: none; }

.rdtPicker th.rdtSwitch {
  width: 100px; }

.rdtPicker th.rdtNext,
.rdtPicker th.rdtPrev {
  font-size: 21px;
  vertical-align: top; }

.rdtPicker th.rdtDisabled,
.rdtPicker th.rdtDisabled:hover {
  background: none;
  color: #999999;
  cursor: not-allowed; }

.rdtPicker thead tr:first-child th {
  cursor: pointer; }

.rdtPicker thead tr:first-child th:hover {
  background: #eeeeee; }

.rdtPicker tfoot {
  border-top: 1px solid #f9f9f9; }

.rdtPicker button {
  border: none;
  background: none;
  cursor: pointer; }

.rdtPicker button:hover {
  background-color: #eee; }

.rdtPicker thead button {
  width: 100%;
  height: 100%; }

td.rdtMonth,
td.rdtYear {
  height: 50px;
  width: 25%;
  cursor: pointer; }

td.rdtMonth:hover,
td.rdtYear:hover {
  background: #eee; }

.rdtCounters {
  display: inline-block; }

.rdtCounters > div {
  float: left; }

.rdtCounter {
  height: 100px; }

.rdtCounter {
  width: 40px; }

.rdtCounterSeparator {
  line-height: 100px; }

.rdtCounter .rdtBtn {
  height: 40%;
  line-height: 40px;
  cursor: pointer; }

.rdtCounter .rdtBtn:hover {
  background: #eee; }

.rdtCounter .rdtCount {
  height: 20%;
  font-size: 1.2em; }

.rdtMilli {
  vertical-align: middle;
  padding-left: 8px;
  width: 48px; }

.rdtMilli input {
  width: 100%;
  font-size: 1.2em;
  margin-top: 37px; }

section {
  padding: 2em 0; }
  @media (min-width: 1500px) {
    section {
      padding: 4em 0; } }

strong {
  font-weight: 400; }

.typography {
  font-size: 1.6rem;
  color: #424242;
  font-weight: 300; }
  .typography h1 {
    margin: 0.5em 0;
    font-size: 1.9em;
    font-weight: 700;
    margin-top: 0; }
    @media (min-width: 900px) {
      .typography h1 {
        font-size: 2.5em;
        margin-bottom: 0.15em; } }
  .typography h2 {
    font-size: 1.55em;
    font-weight: 300;
    font-style: italic;
    text-align: center;
    margin-top: 1em;
    margin-bottom: 1.5em; }
  .typography h3 {
    font-size: 1.3em;
    font-weight: 500;
    margin-top: 1em;
    margin-bottom: 0.75em; }
  .typography h4 {
    font-size: 1.1em;
    font-weight: 500;
    margin-top: 1em;
    margin-bottom: 0.75em; }
  .typography p {
    margin-bottom: 0.75em; }
  .typography ol {
    list-style: decimal inside; }
  .typography ul {
    list-style: disc inside; }
  .typography ul, .typography ol {
    margin: 1.5em 0; }
    @media (min-width: 550px) {
      .typography ul, .typography ol {
        margin-left: 1em;
        margin-right: 1em; } }
    .typography ul li, .typography ol li {
      margin-bottom: 1em; }
  .typography blockquote {
    font-size: 1.25em;
    text-align: center;
    margin: 1em 0.5em; }
    @media (min-width: 900px) {
      .typography blockquote {
        margin-right: 2em;
        margin-left: 2em; } }
  .typography a {
    color: #c12026;
    text-decoration: none;
    transition: color 0.15s ease-in; }
    .typography a:hover {
      color: #de363d; }
  .typography strong {
    font-weight: 400; }
  .typography.sections {
    padding: 1em 0; }
    .typography.sections > .wrap > h1 {
      margin-top: 0.5em; }
  .typography .section.image, .typography .section.video {
    width: 100%;
    margin: 0.75em auto 1.85em; }
    @media (min-width: 900px) {
      .typography .section.image, .typography .section.video {
        width: 88%;
        margin: 1em auto 2em; } }
    .typography .section.image img, .typography .section.video img {
      width: 100%;
      margin: 0 auto; }
    .typography .section.image iframe, .typography .section.video iframe {
      width: 100%; }
  .typography .section.buttons {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    margin: 0 auto 2em; }
    @media (min-width: 600px) {
      .typography .section.buttons {
        -ms-flex-direction: row;
            flex-direction: row; } }
    .typography .section.buttons .button {
      border: 1px solid rgba(193, 32, 38, 0.19);
      color: #c12026;
      text-align: center;
      text-decoration: none;
      padding: 0.8em 0.5em;
      margin: 0 -1em;
      border-radius: 5px; }
      @media (min-width: 600px) {
        .typography .section.buttons .button {
          display: block !important;
          font-size: 1.2em;
          margin-left: 0;
          margin-right: 0; } }
      .typography .section.buttons .button * {
        vertical-align: middle; }
      .typography .section.buttons .button .icon {
        font-size: 1.5em;
        margin-right: 0.3em; }
    @media (min-width: 600px) {
      .typography .section.buttons.one .button {
        max-width: 60%;
        width: 60%;
        margin: 0 auto; } }
    @media (min-width: 600px) {
      .typography .section.buttons.two .button {
        -ms-flex: 1;
            flex: 1;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: center;
            justify-content: center; } }
    .typography .section.buttons.two .button:first-child {
      margin-bottom: 0.75em; }
      @media (min-width: 600px) {
        .typography .section.buttons.two .button:first-child {
          margin-right: 1em !important;
          margin-bottom: 0; } }
    @media (min-width: 600px) {
      .typography .section.buttons.two .button .icon {
        display: block;
        margin-bottom: 0.4em; } }
    .typography .section.buttons.three .button {
      margin-bottom: 0.75em; }
      @media (min-width: 600px) {
        .typography .section.buttons.three .button {
          -ms-flex: 1;
              flex: 1;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-align: center;
              align-items: center;
          -ms-flex-pack: center;
              justify-content: center;
          margin-bottom: 0; } }
      @media (min-width: 600px) {
        .typography .section.buttons.three .button:nth-child(2) {
          margin-left: 1em;
          margin-right: 1em; } }
      @media (min-width: 600px) {
        .typography .section.buttons.three .button .icon {
          display: block;
          margin-bottom: 0.4em; } }
    .typography .section.buttons:last-child {
      margin-top: 1em; }

.Search {
  z-index: 3; }

.Nav {
  z-index: 4; }

.Top {
  z-index: 5; }

.menuButton {
  z-index: 5; }

.Modal {
  z-index: 6; }

.BackToTop {
  z-index: 5; }

html, body {
  font-family: "Open Sans", sans-serif;
  color: #424242;
  line-height: 1.3;
  font-weight: 300;
  height: 100%;
  overflow: hidden; }

#app {
  background: #fff; }

#app, .Root, .Viewport {
  height: 100%;
  overflow: hidden; }

.Viewport {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column; }
  .Viewport .Modal {
    position: absolute;
    top: 100%;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.9);
    color: #fff;
    padding: 25px;
    opacity: 0;
    transition: all 0.2s ease-out;
    overflow-y: auto; }
    .Viewport .Modal.open {
      top: 0;
      opacity: 1; }
    .Viewport .Modal .icon {
      position: fixed;
      top: 0.75em;
      right: 1.2em;
      font-size: 32px;
      z-index: 2; }
    .Viewport .Modal .wrap {
      position: relative;
      z-index: 1; }
      .Viewport .Modal .wrap.PrivacyPolicy {
        font-size: 1.4em;
        color: #fff;
        padding-top: 2em; }
        .Viewport .Modal .wrap.PrivacyPolicy h1 {
          margin-bottom: 0.5em; }
        .Viewport .Modal .wrap.PrivacyPolicy p {
          margin-bottom: 0.75em; }
      .Viewport .Modal .wrap.Gallery {
        position: absolute;
        transform-style: preserve-3d;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 800px;
        max-width: 75%; }
        .Viewport .Modal .wrap.Gallery .slick-slider {
          margin-bottom: 0; }
          .Viewport .Modal .wrap.Gallery .slick-slider .slick-slide {
            float: none;
            border-left: 1px solid transparent;
            border-right: 1px solid transparent;
            display: inline-block !important;
            vertical-align: middle; }
        .Viewport .Modal .wrap.Gallery .slick-dots button::before {
          color: #fff; }
        .Viewport .Modal .wrap.Gallery .left,
        .Viewport .Modal .wrap.Gallery .right {
          position: absolute;
          transform-style: preserve-3d;
          top: 50%;
          transform: translateY(-50%); }
          .Viewport .Modal .wrap.Gallery .left::before,
          .Viewport .Modal .wrap.Gallery .right::before {
            font-size: 30px; }
        .Viewport .Modal .wrap.Gallery .left {
          left: -40px;
          right: auto; }
        .Viewport .Modal .wrap.Gallery .right {
          left: auto;
          right: -40px; }
  .Viewport .Top {
    position: relative;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
    .Viewport .Top.navOpen .top {
      background: transparent; }
      .Viewport .Top.navOpen .top .logo, .Viewport .Top.navOpen .top .find, .Viewport .Top.navOpen .top .user {
        visibility: hidden; }
    .Viewport .Top .topmost {
      background: #E2E2E2;
      border-bottom: 1px solid rgba(193, 32, 38, 0.12); }
    .Viewport .Top .top {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      background: #fff;
      font-size: 1.5em;
      line-height: 62px;
      height: 62px;
      overflow: visible; }
      @media (min-width: 900px) {
        .Viewport .Top .top {
          border-bottom: 2px solid #c12026; } }
      .Viewport .Top .top .logo img.small {
        max-width: 30px;
        margin: 14px 12px 0; }
        @media (min-width: 450px) {
          .Viewport .Top .top .logo img.small {
            display: none; } }
      .Viewport .Top .top .logo img.large {
        display: none;
        max-width: 130px;
        margin: 14px 18px 0; }
        @media (min-width: 450px) {
          .Viewport .Top .top .logo img.large {
            display: block; } }
      .Viewport .Top .top .find {
        -ms-flex: 1;
            flex: 1;
        position: relative;
        background: #c12026;
        font-size: 1.15em;
        color: #fff;
        text-align: center;
        overflow: hidden; }
        @media (min-width: 900px) {
          .Viewport .Top .top .find {
            display: none; } }
        .Viewport .Top .top .find .icon {
          position: relative;
          top: 0.1em;
          margin-left: 0.15em; }
        .Viewport .Top .top .find::before {
          position: absolute;
          transform-style: preserve-3d;
          left: 50%;
          transform: translateX(-50%);
          bottom: 0;
          border-right: 120px solid transparent;
          border-left: 120px solid transparent;
          border-bottom: 12px solid rgba(0, 0, 0, 0.15);
          width: 0;
          height: 0;
          margin: 0 auto;
          content: ''; }
        .Viewport .Top .top .find.close {
          background: #fff;
          font-size: 1.4em;
          color: #c12026;
          font-weight: 700;
          overflow: visible; }
          .Viewport .Top .top .find.close .icon {
            top: 0;
            font-size: 0.75em;
            margin-left: 0.3em; }
          .Viewport .Top .top .find.close::before {
            position: absolute;
            transform-style: preserve-3d;
            left: 50%;
            transform: translateX(-50%);
            bottom: 0;
            border-right: 80px solid transparent;
            border-left: 80px solid transparent;
            border-bottom: 10px solid rgba(0, 0, 0, 0.05);
            width: 0;
            height: 0;
            margin: 0 auto;
            content: ''; }
          .Viewport .Top .top .find.close::after {
            position: absolute;
            transform-style: preserve-3d;
            left: 50%;
            transform: translateX(-50%);
            top: 100%;
            border-right: 80px solid transparent;
            border-left: 80px solid transparent;
            border-top: 10px solid #fff;
            width: 0;
            height: 0;
            margin: 0 auto;
            content: ''; }
      .Viewport .Top .top .user {
        display: none;
        background: #fff;
        font-size: 0.95em;
        font-weight: 300;
        color: #c12026;
        font-style: italic;
        text-decoration: none;
        padding: 0 2em; }
        @media (min-width: 550px) {
          .Viewport .Top .top .user {
            display: block;
            border-right: 1px solid #eee; } }
        @media (min-width: 900px) {
          .Viewport .Top .top .user {
            background: #c12026;
            border-right: 0 none;
            color: #fff; } }
        .Viewport .Top .top .user .icon {
          position: relative;
          top: -0.25em;
          font-size: 0.5em;
          margin-left: 0.5em; }
      .Viewport .Top .top .menuButton {
        font-size: 32px;
        color: #c12026;
        line-height: 62px;
        padding: 0 12px; }
        @media (min-width: 450px) {
          .Viewport .Top .top .menuButton {
            padding: 0 18px; } }
        @media (min-width: 900px) {
          .Viewport .Top .top .menuButton {
            display: none; } }
        .Viewport .Top .top .menuButton.open {
          color: #fff; }
  .Viewport .Middle {
    -ms-flex: 1;
        flex: 1;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch; }
    .Viewport .Middle .Container {
      -ms-flex: 1;
          flex: 1; }
      .Viewport .Middle .Container .Fold {
        display: -ms-flexbox;
        display: flex;
        background-color: #fff; }
        .Viewport .Middle .Container .Fold .Page, .Viewport .Middle .Container .Fold > article {
          -ms-flex: 1;
              flex: 1;
          background: #fff; }
        .Viewport .Middle .Container .Fold .Page .TrustPilot {
          width: 250px;
          margin: 5px 0 10px -10px; }
  .Viewport .BackToTop {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto; }
    .Viewport .BackToTop div {
      position: absolute;
      bottom: -50px;
      right: 2%;
      background: #e04349;
      font-size: 1.3em;
      color: #fff;
      font-weight: 600;
      line-height: 25px;
      text-align: center;
      width: 50px;
      height: 25px;
      transition: all 0.25s ease-in-out; }
      .Viewport .BackToTop div::before {
        position: absolute;
        bottom: 100%;
        left: 0;
        border-left: 25px solid transparent;
        border-right: 25px solid transparent;
        border-bottom: 12px solid #e04349;
        width: 0;
        height: 0;
        content: ''; }
    .Viewport .BackToTop.visible div {
      bottom: 0; }
  .Viewport ~ div {
    max-width: 100% !important; }

nav ul {
  list-style: none;
  padding: 0;
  margin: 0; }
  nav ul li a {
    display: block;
    font-family: "Open Sans", sans-serif;
    color: #424242;
    font-weight: 200;
    text-decoration: none;
    transition: all 0.5s ease-out; }

.Viewport .Top .topmost {
  height: 31px;
  overflow: hidden; }
  .Viewport .Top .topmost ul li {
    display: inline-block; }
    .Viewport .Top .topmost ul li a {
      font-size: 1.35em;
      line-height: 32px;
      text-decoration: none;
      margin: 0 0.4em; }
      .Viewport .Top .topmost ul li a:hover, .Viewport .Top .topmost ul li a.current {
        border-bottom-width: 1px;
        border-bottom-style: solid; }
  .Viewport .Top .topmost .SecondaryNav {
    float: right;
    background: #fff;
    padding: 0 10px; }
    .Viewport .Top .topmost .SecondaryNav a {
      color: #c12026;
      border-color: rgba(193, 32, 38, 0.3); }
  .Viewport .Top .topmost .FormNav {
    float: left;
    padding: 0 10px; }
    .Viewport .Top .topmost .FormNav a {
      color: #5A5A5A;
      border-color: rgba(0, 0, 0, 0.2); }
    .Viewport .Top .topmost .FormNav li:last-child {
      display: none; }
      @media (min-width: 1150px) {
        .Viewport .Top .topmost .FormNav li:last-child {
          display: inline-block; } }

.Viewport .Top .Nav {
  -ms-flex: 1;
      flex: 1;
  text-align: center; }
  .Viewport .Top .Nav .wrap {
    width: 100%;
    max-width: 100%; }
    .Viewport .Top .Nav .wrap ul {
      margin-right: 1.8em; }
      .Viewport .Top .Nav .wrap ul li {
        display: inline-block;
        width: auto;
        margin: 0 0.5em; }
        .Viewport .Top .Nav .wrap ul li:first-child {
          display: none; }
        .Viewport .Top .Nav .wrap ul li a {
          position: relative;
          color: #424242; }
          @media (min-width: 950px) {
            .Viewport .Top .Nav .wrap ul li a {
              font-size: 1.05em; } }
          .Viewport .Top .Nav .wrap ul li a::before {
            position: absolute;
            transform-style: preserve-3d;
            left: 50%;
            transform: translateX(-50%);
            bottom: 0;
            border-left: 60px solid transparent;
            border-right: 60px solid transparent;
            border-bottom: 12px solid transparent;
            width: 0;
            height: 0;
            margin: 0 auto;
            transition: border 0.35s ease-in-out;
            content: ''; }
          .Viewport .Top .Nav .wrap ul li a:hover, .Viewport .Top .Nav .wrap ul li a.current, .Viewport .Top .Nav .wrap ul li a.section {
            color: #c12026; }
            .Viewport .Top .Nav .wrap ul li a:hover::before, .Viewport .Top .Nav .wrap ul li a.current::before, .Viewport .Top .Nav .wrap ul li a.section::before {
              border-bottom-color: rgba(0, 0, 0, 0.1); }
          .Viewport .Top .Nav .wrap ul li a.current::before, .Viewport .Top .Nav .wrap ul li a.section::before {
            border-bottom-color: #c12026; }

.Viewport > .Nav {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  visibility: hidden;
  background: #fff;
  border-top: 62px solid #c12026;
  width: 100%;
  height: 100%;
  padding-top: 30px;
  overflow-y: auto;
  opacity: 0;
  transition: all 0.2s ease-out; }
  .Viewport > .Nav.open {
    opacity: 1;
    visibility: visible; }
  .Viewport > .Nav .wrap {
    margin-bottom: 1.4em; }
    .Viewport > .Nav .wrap li a {
      font-size: 1.8em;
      color: #424242;
      font-weight: 600;
      margin-bottom: 1em; }
      .Viewport > .Nav .wrap li a:hover, .Viewport > .Nav .wrap li a.current, .Viewport > .Nav .wrap li a.section {
        color: #c12026; }
  @media (min-width: 500px) {
    .Viewport > .Nav .left {
      *zoom: 1;
      float: left;
      clear: none;
      text-align: inherit;
      width: 38.2%;
      margin-left: 0%;
      margin-right: 3%; }
      .Viewport > .Nav .left:before, .Viewport > .Nav .left:after {
        content: '';
        display: table; }
      .Viewport > .Nav .left:after {
        clear: both; }
      .Viewport > .Nav .left:last-child {
        margin-right: 0%; }
      .Viewport > .Nav .left .MainNav {
        margin-left: 15%;
        margin-right: 0; } }
  @media (min-width: 500px) {
    .Viewport > .Nav .right {
      *zoom: 1;
      float: left;
      clear: none;
      text-align: inherit;
      width: 58.8%;
      margin-left: 0%;
      margin-right: 3%; }
      .Viewport > .Nav .right:before, .Viewport > .Nav .right:after {
        content: '';
        display: table; }
      .Viewport > .Nav .right:after {
        clear: both; }
      .Viewport > .Nav .right:last-child {
        margin-right: 0%; } }
  .Viewport > .Nav .right .SecondaryNav {
    border-bottom: 1px solid #F5F5F5;
    font-size: 0.8em; }
  .Viewport > .Nav .right .FormNav {
    font-size: 0.8em; }

.Footer {
  position: relative;
  background: #1a282b;
  color: #fff;
  padding: 0; }
  .Footer a {
    color: #fff;
    text-decoration: none; }
    .Footer a:hover {
      text-decoration: underline; }
  .Footer .Callout {
    background: #c12026;
    text-align: center;
    padding: 2.2em 0; }
    .Footer .Callout h1 {
      font-size: 1.9em;
      font-weight: 500;
      margin-bottom: 0.1em; }
    .Footer .Callout p {
      font-size: 1.6em;
      margin-bottom: 1em; }
    .Footer .Callout a, .Footer .Callout strong {
      font-weight: 600; }
    .Footer .Callout form {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center; }
      @media (min-width: 600px) {
        .Footer .Callout form {
          -ms-flex-direction: row;
              flex-direction: row;
          font-size: 1.2em; } }
      .Footer .Callout form input, .Footer .Callout form button {
        display: block;
        background: #fff;
        border: 0 none;
        font-size: 1.4em;
        color: #2c2c2c;
        padding: 0.5em 0.75em; }
      .Footer .Callout form input {
        width: 95%;
        max-width: 300px;
        margin-bottom: 0.5em; }
        @media (min-width: 600px) {
          .Footer .Callout form input {
            margin-right: 0.5em;
            margin-bottom: 0; } }
      .Footer .Callout form button {
        font-weight: 400; }
  .Footer .container {
    padding-bottom: 1em; }
    @media (min-width: 700px) {
      .Footer .container {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row; } }
    @media (min-width: 1051px) {
      .Footer .container {
        padding-bottom: 3em; } }
    .Footer .container .Contact {
      -ms-flex: 1;
          flex: 1;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
      @media (min-width: 700px) {
        .Footer .container .Contact {
          border-bottom: 0 none; } }
      .Footer .container .Contact .wrap {
        padding: 1.9em 0; }
        @media (min-width: 700px) {
          .Footer .container .Contact .wrap {
            width: 100%;
            padding-left: 6%;
            padding-bottom: 0; } }
        .Footer .container .Contact .wrap h1 {
          font-size: 4.2em;
          font-weight: 400;
          margin-bottom: 0.65em; }
        .Footer .container .Contact .wrap .ContactForm {
          margin-bottom: 0; }
          .Footer .container .Contact .wrap .ContactForm .row:first-child input {
            border-radius: 0 0.9em 0 0; }
          .Footer .container .Contact .wrap .ContactForm .fieldHolder {
            margin-bottom: 0.3em; }
          .Footer .container .Contact .wrap .ContactForm label {
            display: none; }
          .Footer .container .Contact .wrap .ContactForm input, .Footer .container .Contact .wrap .ContactForm select, .Footer .container .Contact .wrap .ContactForm textarea, .Footer .container .Contact .wrap .ContactForm .checkbox, .Footer .container .Contact .wrap .ContactForm .actions {
            width: 100%;
            max-width: 100%;
            padding: 0.6em 1em;
            margin: 0 auto; }
          .Footer .container .Contact .wrap .ContactForm input, .Footer .container .Contact .wrap .ContactForm select, .Footer .container .Contact .wrap .ContactForm textarea {
            background: #fff;
            color: #2c2c2c; }
            .Footer .container .Contact .wrap .ContactForm input:-ms-input-placeholder, .Footer .container .Contact .wrap .ContactForm select:-ms-input-placeholder, .Footer .container .Contact .wrap .ContactForm textarea:-ms-input-placeholder {
              color: #c12026; }
            .Footer .container .Contact .wrap .ContactForm input::placeholder, .Footer .container .Contact .wrap .ContactForm select::placeholder, .Footer .container .Contact .wrap .ContactForm textarea::placeholder {
              color: #c12026; }
          .Footer .container .Contact .wrap .ContactForm select {
            color: #c12026; }
            .Footer .container .Contact .wrap .ContactForm select option {
              color: #2c2c2c; }
          .Footer .container .Contact .wrap .ContactForm .Select {
            display: -ms-flexbox;
            display: flex;
            -ms-flex-direction: column;
                flex-direction: column;
            background: #fff;
            transition: all 0.25s ease-in-out;
            background: #fff !important;
            width: 100% !important;
            max-width: 100% !important; }
            @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
              .Footer .container .Contact .wrap .ContactForm .Select {
                height: 2.6em; } }
            .Footer .container .Contact .wrap .ContactForm .Select .Select-control {
              display: -ms-flexbox;
              display: flex;
              -ms-flex: 1;
                  flex: 1;
              background: transparent;
              border: 0 none;
              border-radius: 0;
              height: auto;
              cursor: pointer;
              box-shadow: none !important; }
              .Footer .container .Contact .wrap .ContactForm .Select .Select-control .Select-placeholder,
              .Footer .container .Contact .wrap .ContactForm .Select .Select-control .Select-value {
                -ms-flex: 1;
                    flex: 1;
                color: #2c2c2c;
                line-height: inherit;
                padding: 0.6em 1em;
                padding-right: 4em; }
              .Footer .container .Contact .wrap .ContactForm .Select .Select-control .Select-input {
                -ms-flex: 1;
                    flex: 1;
                display: block;
                height: auto;
                padding: 0.6em 1em; }
              .Footer .container .Contact .wrap .ContactForm .Select .Select-control .Select-arrow-zone,
              .Footer .container .Contact .wrap .ContactForm .Select .Select-control .Select-clear-zone {
                display: -ms-flexbox;
                display: flex;
                -ms-flex-align: center;
                    align-items: center;
                -ms-flex-pack: center;
                    justify-content: center; }
              .Footer .container .Contact .wrap .ContactForm .Select .Select-control .Select-arrow-zone {
                width: 1em;
                padding: 0;
                margin-right: 1em; }
                .Footer .container .Contact .wrap .ContactForm .Select .Select-control .Select-arrow-zone .Select-arrow {
                  background: url("/themes/oxygen/images/down-chevron-thin.png") 50% 50% no-repeat;
                  background-size: 100%;
                  border: 0 none;
                  width: 1em;
                  height: 1em; }
              .Footer .container .Contact .wrap .ContactForm .Select .Select-control .Select-clear-zone {
                width: 1.25em;
                margin-right: 0.5em; }
                .Footer .container .Contact .wrap .ContactForm .Select .Select-control .Select-clear-zone .Select-clear {
                  font-size: 18px; }
            .Footer .container .Contact .wrap .ContactForm .Select .Select-menu-outer {
              border-color: rgba(0, 0, 0, 0.1);
              border-radius: 0;
              box-shadow: none; }
              .Footer .container .Contact .wrap .ContactForm .Select .Select-menu-outer .Select-option {
                font-size: 0.9em;
                padding: 0.6em 1em;
                transition: all 0.1s ease-out-out;
                border-radius: 0; }
                .Footer .container .Contact .wrap .ContactForm .Select .Select-menu-outer .Select-option.is-focused {
                  background: #f9f9f9;
                  color: #000; }
            .Footer .container .Contact .wrap .ContactForm .Select.Select--multi .Select-input {
              padding-left: 0;
              padding-right: 0; }
            .Footer .container .Contact .wrap .ContactForm .Select.Select--multi .Select-item {
              display: none;
              background: none;
              border: 0 none;
              font-size: 1em;
              color: inherit;
              margin: 0;
              padding: 0; }
              .Footer .container .Contact .wrap .ContactForm .Select.Select--multi .Select-item .Select-item-icon {
                display: none; }
              .Footer .container .Contact .wrap .ContactForm .Select.Select--multi .Select-item .Select-item-label {
                white-space: nowrap;
                padding: 0;
                vertical-align: inherit; }
              .Footer .container .Contact .wrap .ContactForm .Select.Select--multi .Select-item:first-child {
                display: inline-block;
                padding: 0.6em 1em;
                padding-right: 0.4em; }
              .Footer .container .Contact .wrap .ContactForm .Select.Select--multi .Select-item:nth-child(2) {
                display: inline-block;
                padding: 0.6em 1em;
                padding-left: 0;
                padding-right: 0; }
                .Footer .container .Contact .wrap .ContactForm .Select.Select--multi .Select-item:nth-child(2) .Select-item-label {
                  display: none; }
                .Footer .container .Contact .wrap .ContactForm .Select.Select--multi .Select-item:nth-child(2):after {
                  content: '+More';
                  color: #949494;
                  white-space: nowrap; }
            .Footer .container .Contact .wrap .ContactForm .Select.is-open {
              background: rgba(255, 255, 255, 0.87); }
            .Footer .container .Contact .wrap .ContactForm .Select.is-searchable .Select-input {
              padding: 0; }
              .Footer .container .Contact .wrap .ContactForm .Select.is-searchable .Select-input input {
                -ms-flex: 1;
                    flex: 1;
                display: block;
                font-size: 1em;
                height: auto;
                padding: 0.6em 1em; }
            .Footer .container .Contact .wrap .ContactForm .Select.is-disabled .Select-input {
              padding: 0.6em 1em; }
            .Footer .container .Contact .wrap .ContactForm .Select .Select-placeholder {
              color: #c12026 !important; }
          .Footer .container .Contact .wrap .ContactForm div.checkbox {
            padding: 0.3em 0 0.8em; }
          .Footer .container .Contact .wrap .ContactForm .actions {
            padding: 0; }
            .Footer .container .Contact .wrap .ContactForm .actions button {
              background: #c12026;
              color: #fff;
              font-weight: 600;
              text-align: center;
              width: 100%;
              border-radius: 0 0 0 0.9em; }
    .Footer .container .Offices {
      font-size: 1.6em;
      -ms-flex: 1;
          flex: 1; }
      @media (min-width: 700px) {
        .Footer .container .Offices {
          -ms-flex: 2;
              flex: 2;
          padding-top: 5.5em; } }
      @media (min-width: 1200px) {
        .Footer .container .Offices {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: row;
              flex-direction: row;
          -ms-flex: 3;
              flex: 3; } }
      .Footer .container .Offices .Addresses {
        -ms-flex: 2;
            flex: 2;
        padding: 1.2em 0 0.2em; }
        .Footer .container .Offices .Addresses::after {
          content: "";
          display: table;
          clear: both; }
        @media (min-width: 700px) {
          .Footer .container .Offices .Addresses {
            padding: 0; } }
        @media (min-width: 1200px) {
          .Footer .container .Offices .Addresses {
            -ms-flex: 1;
                flex: 1; } }
        @media (min-width: 1200px) {
          .Footer .container .Offices .Addresses .wrap {
            width: 83%; } }
        .Footer .container .Offices .Addresses .wrap .left {
          margin-bottom: 1em; }
          .Footer .container .Offices .Addresses .wrap .left .Tabs {
            display: -ms-flexbox;
            display: flex;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            margin-left: -0.5em;
            overflow-y: auto; }
            .Footer .container .Offices .Addresses .wrap .left .Tabs .Tab {
              display: -ms-flexbox;
              display: flex;
              -ms-flex-align: center;
                  align-items: center;
              border: 1px solid transparent;
              border-radius: 4px 4px 0 0;
              font-size: 12px;
              padding: 0.25em 0.5em 0.25em;
              margin-bottom: -1px;
              cursor: pointer; }
              .Footer .container .Offices .Addresses .wrap .left .Tabs .Tab.current {
                background: #1a282b;
                border-top: 1px solid rgba(255, 255, 255, 0.1);
                border-right: 1px solid rgba(255, 255, 255, 0.1);
                border-left: 1px solid rgba(255, 255, 255, 0.1); }
        .Footer .container .Offices .Addresses .wrap .right {
          font-size: 0.85em; }
          .Footer .container .Offices .Addresses .wrap .right address {
            font-style: normal; }
            .Footer .container .Offices .Addresses .wrap .right address p {
              margin-bottom: 1em; }
          .Footer .container .Offices .Addresses .wrap .right .link {
            font-weight: 600; }
        .Footer .container .Offices .Addresses .wrap .networks {
          padding: 1em 0; }
          .Footer .container .Offices .Addresses .wrap .networks li {
            display: inline-block;
            vertical-align: middle;
            margin-right: 0.6em; }
            .Footer .container .Offices .Addresses .wrap .networks li > * {
              display: inline-block;
              vertical-align: middle; }
            .Footer .container .Offices .Addresses .wrap .networks li a {
              font-size: 24px;
              text-decoration: none;
              vertical-align: middle; }
            .Footer .container .Offices .Addresses .wrap .networks li.OWS a {
              background: #fff;
              font-size: 14px;
              color: #c12026;
              padding: 0.35em 0.65em;
              border-radius: 2px; }
      .Footer .container .Offices .Map {
        padding: 0 0 1.2em; }
        @media (min-width: 1200px) {
          .Footer .container .Offices .Map {
            -ms-flex: 1;
                flex: 1;
            display: -ms-flexbox;
            display: flex;
            padding: 0; } }
        @media (min-width: 1200px) {
          .Footer .container .Offices .Map .wrap {
            display: -ms-flexbox;
            display: flex;
            width: 100%;
            padding-right: 6%; } }
        .Footer .container .Offices .Map .wrap .link {
          font-size: 0.85em;
          font-weight: 600;
          margin-bottom: 0.8em; }
          @media (min-width: 1200px) {
            .Footer .container .Offices .Map .wrap .link {
              display: none; } }
        .Footer .container .Offices .Map .wrap .map {
          display: none; }
          @media (min-width: 1200px) {
            .Footer .container .Offices .Map .wrap .map {
              -ms-flex: 1;
                  flex: 1;
              position: relative;
              display: block; }
              .Footer .container .Offices .Map .wrap .map > div {
                position: absolute !important; } }
          .Footer .container .Offices .Map .wrap .map .Marker {
            background: #fff;
            border-radius: 10px;
            transition: all 0.25s ease-in-out;
            font-size: 14px;
            cursor: pointer;
            text-align: center;
            opacity: 0.75; }
            .Footer .container .Offices .Map .wrap .map .Marker span {
              background: #fff;
              border: 2px solid red;
              color: #424242;
              padding: 5px;
              border-radius: 3px; }
            .Footer .container .Offices .Map .wrap .map .Marker:hover {
              opacity: 1; }

.Copyright {
  clear: both;
  background: #131315;
  font-size: 1.15em;
  color: #fff;
  text-align: center;
  padding: 1.25em 0;
  z-index: 2; }
  .Copyright a {
    color: #e14c52;
    text-decoration: none; }

.print {
  display: inline-block;
  background: #c12026;
  font-size: 0.5em;
  color: #fff;
  font-weight: 400;
  padding: 0.25em 0.5em;
  margin-left: 0.25em;
  border-radius: 2px;
  vertical-align: middle;
  cursor: pointer; }

.section.form {
  font-size: 1.6em;
  margin-bottom: 2em;
  transition: opacity 0.35s ease-in-out; }
  @media (min-width: 600px) {
    .section.form {
      font-size: 1.7em; } }
  .section.form .errors {
    display: none;
    background: #c12026;
    font-size: 0.9em;
    color: #fff;
    padding: 0.3em 0.5em;
    margin-bottom: 1em; }
    .section.form .errors.visible {
      display: block; }
  .section.form .section {
    background: #fcfcfc;
    padding: 1.5em 0;
    margin: 1.5em 0; }
  .section.form h2 {
    font-size: 1.1em;
    margin: 1.35em 0 0.5em; }
    .section.form h2:nth-of-type(1) {
      margin-top: 0; }
  .section.form ul {
    margin-bottom: 0; }
    .section.form ul li:last-child {
      margin-bottom: 0; }
  .section.form .box {
    border: 2px solid #c12026;
    font-size: 0.95em;
    padding: 1em; }
    .section.form .box p {
      margin-bottom: 0.75em; }
      .section.form .box p:last-child {
        margin-bottom: 0; }
    .section.form .box.creditCard, .section.form .box.directDebit {
      font-size: 0.9em;
      padding: 1.1em 1em;
      margin: 0.25em 0 1.25em; }
      .section.form .box.creditCard .BankAccountNumber, .section.form .box.directDebit .BankAccountNumber {
        background: #c12026;
        color: #fff;
        padding: 0.25em 1em;
        margin-left: 0.5em; }
  .section.form .note {
    font-size: 0.9em;
    font-weight: 400;
    font-style: italic;
    margin-bottom: 0.4em; }
  .section.form .statement {
    font-size: 0.75em;
    color: #525252;
    font-weight: 400; }
    .section.form .statement p {
      margin-bottom: 0.75em; }
      .section.form .statement p:last-child {
        margin-bottom: 0; }
  .section.form .checkboxes .row::after {
    content: "";
    display: table;
    clear: both; }
  @media (min-width: 900px) {
    .section.form .checkboxes .row {
      border-bottom: 1px solid rgba(0, 0, 0, 0.07); } }
  .section.form .checkboxes .row .fieldHolder {
    margin: 0.75em 0; }
    @media (min-width: 900px) {
      .section.form .checkboxes .row .fieldHolder {
        width: 42%;
        padding: 1.25em 5% 1.25em 0;
        margin: 0; } }
  .section.form .row {
    clear: both; }
    .section.form .row::after {
      content: "";
      display: table;
      clear: both; }
    @media (min-width: 600px) {
      .section.form .row.two .fieldHolder, .section.form .row.three .fieldHolder {
        float: left;
        margin-right: 0.5em; } }
    .section.form .row.labeled label {
      display: block;
      font-weight: 400;
      margin: 0.5em 0.5em 0.5em 0; }
    .section.form .row .fieldHolder {
      margin-bottom: 0.5em; }
      .section.form .row .fieldHolder input, .section.form .row .fieldHolder textarea, .section.form .row .fieldHolder select, .section.form .row .fieldHolder .CustomFile {
        display: block;
        background: #d1d1d3;
        border: 0 none;
        width: 100%;
        max-width: 17em;
        margin: 0;
        padding: 0.5em 0.75em; }
        @media (min-width: 600px) {
          .section.form .row .fieldHolder input, .section.form .row .fieldHolder textarea, .section.form .row .fieldHolder select, .section.form .row .fieldHolder .CustomFile {
            width: auto;
            min-width: 17em; }
            .section.form .row .fieldHolder input.wide, .section.form .row .fieldHolder textarea.wide, .section.form .row .fieldHolder select.wide, .section.form .row .fieldHolder .CustomFile.wide {
              min-width: 34.5em; } }
        .section.form .row .fieldHolder input:disabled, .section.form .row .fieldHolder textarea:disabled, .section.form .row .fieldHolder select:disabled, .section.form .row .fieldHolder .CustomFile:disabled {
          opacity: 0.5; }
        .section.form .row .fieldHolder input:-webkit-autofill, .section.form .row .fieldHolder textarea:-webkit-autofill, .section.form .row .fieldHolder select:-webkit-autofill, .section.form .row .fieldHolder .CustomFile:-webkit-autofill {
          -webkit-box-shadow: 0 0 0 1000px #d1d1d3 inset; }
      .section.form .row .fieldHolder textarea {
        min-height: 6em; }
      .section.form .row .fieldHolder select {
        cursor: pointer; }
      .section.form .row .fieldHolder .Select {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        background: #fff;
        transition: all 0.25s ease-in-out;
        background: #d1d1d3 !important;
        width: 100%;
        max-width: 17em;
        margin: 0; }
        @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
          .section.form .row .fieldHolder .Select {
            height: 2.6em; } }
        .section.form .row .fieldHolder .Select .Select-control {
          display: -ms-flexbox;
          display: flex;
          -ms-flex: 1;
              flex: 1;
          background: transparent;
          border: 0 none;
          border-radius: 0;
          height: auto;
          cursor: pointer;
          box-shadow: none !important; }
          .section.form .row .fieldHolder .Select .Select-control .Select-placeholder,
          .section.form .row .fieldHolder .Select .Select-control .Select-value {
            -ms-flex: 1;
                flex: 1;
            color: #2c2c2c;
            line-height: inherit;
            padding: 0.5em 0.75em;
            padding-right: 4em; }
          .section.form .row .fieldHolder .Select .Select-control .Select-input {
            -ms-flex: 1;
                flex: 1;
            display: block;
            height: auto;
            padding: 0.5em 0.75em; }
          .section.form .row .fieldHolder .Select .Select-control .Select-arrow-zone,
          .section.form .row .fieldHolder .Select .Select-control .Select-clear-zone {
            display: -ms-flexbox;
            display: flex;
            -ms-flex-align: center;
                align-items: center;
            -ms-flex-pack: center;
                justify-content: center; }
          .section.form .row .fieldHolder .Select .Select-control .Select-arrow-zone {
            width: 1em;
            padding: 0;
            margin-right: 1em; }
            .section.form .row .fieldHolder .Select .Select-control .Select-arrow-zone .Select-arrow {
              background: url("/themes/oxygen/images/down-chevron-thin.png") 50% 50% no-repeat;
              background-size: 100%;
              border: 0 none;
              width: 1em;
              height: 1em; }
          .section.form .row .fieldHolder .Select .Select-control .Select-clear-zone {
            width: 1.25em;
            margin-right: 0.5em; }
            .section.form .row .fieldHolder .Select .Select-control .Select-clear-zone .Select-clear {
              font-size: 18px; }
        .section.form .row .fieldHolder .Select .Select-menu-outer {
          border-color: rgba(0, 0, 0, 0.1);
          border-radius: 0;
          box-shadow: none; }
          .section.form .row .fieldHolder .Select .Select-menu-outer .Select-option {
            font-size: 0.9em;
            padding: 0.5em 0.75em;
            transition: all 0.1s ease-out-out;
            border-radius: 0; }
            .section.form .row .fieldHolder .Select .Select-menu-outer .Select-option.is-focused {
              background: #f9f9f9;
              color: #000; }
        .section.form .row .fieldHolder .Select.Select--multi .Select-input {
          padding-left: 0;
          padding-right: 0; }
        .section.form .row .fieldHolder .Select.Select--multi .Select-item {
          display: none;
          background: none;
          border: 0 none;
          font-size: 1em;
          color: inherit;
          margin: 0;
          padding: 0; }
          .section.form .row .fieldHolder .Select.Select--multi .Select-item .Select-item-icon {
            display: none; }
          .section.form .row .fieldHolder .Select.Select--multi .Select-item .Select-item-label {
            white-space: nowrap;
            padding: 0;
            vertical-align: inherit; }
          .section.form .row .fieldHolder .Select.Select--multi .Select-item:first-child {
            display: inline-block;
            padding: 0.5em 0.75em;
            padding-right: 0.4em; }
          .section.form .row .fieldHolder .Select.Select--multi .Select-item:nth-child(2) {
            display: inline-block;
            padding: 0.5em 0.75em;
            padding-left: 0;
            padding-right: 0; }
            .section.form .row .fieldHolder .Select.Select--multi .Select-item:nth-child(2) .Select-item-label {
              display: none; }
            .section.form .row .fieldHolder .Select.Select--multi .Select-item:nth-child(2):after {
              content: '+More';
              color: #949494;
              white-space: nowrap; }
        .section.form .row .fieldHolder .Select.is-open {
          background: rgba(255, 255, 255, 0.87); }
        .section.form .row .fieldHolder .Select.is-searchable .Select-input {
          padding: 0; }
          .section.form .row .fieldHolder .Select.is-searchable .Select-input input {
            -ms-flex: 1;
                flex: 1;
            display: block;
            font-size: 1em;
            height: auto;
            padding: 0.5em 0.75em; }
        .section.form .row .fieldHolder .Select.is-disabled .Select-input {
          padding: 0.5em 0.75em; }
        .section.form .row .fieldHolder .Select.is-disabled {
          opacity: 0.5; }
          .section.form .row .fieldHolder .Select.is-disabled .Select-arrow-zone {
            display: none; }
      .section.form .row .fieldHolder .CustomFile {
        padding: 0; }
        .section.form .row .fieldHolder .CustomFile .zone::after {
          content: "";
          display: table;
          clear: both; }
        .section.form .row .fieldHolder .CustomFile .zone .left {
          *zoom: 1;
          float: left;
          clear: none;
          text-align: inherit;
          width: 60%;
          margin-left: 0%;
          margin-right: 0%;
          padding: 0.5em 0.75em; }
          .section.form .row .fieldHolder .CustomFile .zone .left:before, .section.form .row .fieldHolder .CustomFile .zone .left:after {
            content: '';
            display: table; }
          .section.form .row .fieldHolder .CustomFile .zone .left:after {
            clear: both; }
        .section.form .row .fieldHolder .CustomFile .zone .right {
          *zoom: 1;
          float: left;
          clear: none;
          text-align: inherit;
          width: 40%;
          margin-left: 0%;
          margin-right: 0%;
          background: #E4E4E4;
          color: #c12026;
          text-align: center;
          padding: 0.5em 0.75em; }
          .section.form .row .fieldHolder .CustomFile .zone .right:before, .section.form .row .fieldHolder .CustomFile .zone .right:after {
            content: '';
            display: table; }
          .section.form .row .fieldHolder .CustomFile .zone .right:after {
            clear: both; }
        .section.form .row .fieldHolder .CustomFile .zone.selected .left {
          background: #209615;
          color: #fff; }
        .section.form .row .fieldHolder .CustomFile .zone.error {
          display: block;
          font-size: 1em;
          padding: 0; }
      .section.form .row .fieldHolder .radio,
      .section.form .row .fieldHolder .checkbox {
        margin-right: 0.5em;
        margin-bottom: 0.25em; }
      .section.form .row .fieldHolder input[type="radio"],
      .section.form .row .fieldHolder input[type="checkbox"] {
        background: transparent;
        display: inline;
        min-width: 0;
        width: auto;
        margin-right: 0.25em; }
    .section.form .row.record {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center; }
      .section.form .row.record .fieldHolder {
        margin-bottom: 0; }
      .section.form .row.record .price {
        text-align: center;
        width: 4em; }
      .section.form .row.record .placeholder {
        -ms-flex: 1;
            flex: 1; }
    .section.form .row.document {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      margin-top: 0.75em; }
      .section.form .row.document .fieldHolder {
        margin-bottom: 0; }
        .section.form .row.document .fieldHolder:nth-child(2) .fieldHolder .readOnlyLabel {
          display: none; }
  .section.form .placeholderNode {
    display: inline-block; }
  @media (min-width: 35em) {
    .section.form .supportingDocuments > .row {
      float: left;
      min-width: 17em; }
      .section.form .supportingDocuments > .row:nth-child(odd) {
        float: left;
        clear: left;
        margin-right: 0.5em; }
      .section.form .supportingDocuments > .row:nth-child(even) {
        float: left;
        clear: none; } }
  .section.form button.add {
    background: #fff;
    border: 1px solid #c12026;
    color: #c12026;
    font-weight: 600;
    font-style: italic;
    padding: 0.5em 1em;
    margin-top: 0.75em; }
    .section.form button.add + .row {
      margin-top: 1em; }
  .section.form table {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    margin: 1.5em 0 0; }
    .section.form table tr th, .section.form table tr td {
      border-bottom: 1px solid rgba(0, 0, 0, 0.02);
      padding: 1em 3em 1em 0; }
    .section.form table tr th {
      font-weight: 400;
      text-align: left;
      vertical-align: top; }
      .section.form table tr th em {
        display: block;
        font-size: 0.8em;
        font-weight: 300; }
  .section.form .rdt table {
    border: 0 none;
    margin: 0; }
    .section.form .rdt table tr th, .section.form .rdt table tr td {
      border: 0 none;
      padding: 0; }
    .section.form .rdt table tr th {
      text-align: center;
      vertical-align: middle; }
    .section.form .rdt table .rdtDay {
      cursor: pointer; }
      .section.form .rdt table .rdtDay:hover {
        background: #fbe5e6; }
      .section.form .rdt table .rdtDay.rdtToday::before {
        border-bottom-color: #c12026; }
      .section.form .rdt table .rdtDay.rdtActive {
        background: #c12026; }
  .section.form .total {
    font-size: 2em; }
  .section.form .gst {
    font-size: 0.9em;
    margin-bottom: 1em; }
  .section.form .payment {
    font-style: italic;
    padding: 0.5em 0 1em; }
  .section.form .actions {
    margin-top: 1.5em; }
    .section.form .actions button {
      background: #c12026;
      border: 0 none;
      color: #fff;
      font-weight: 400;
      padding: 0.75em 2em;
      transition: all 0.35s ease-in-out; }
  .section.form.submitting {
    opacity: 0.25; }
    .section.form.submitting .actions button {
      background: #2c2c2c;
      cursor: default; }
  .section.form .readOnlyLabel {
    font-size: 0.8em; }
  .section.form .error {
    display: inline-block;
    background: #c12026;
    color: #fff;
    font-size: 0.8em;
    padding: 0.3em 0.5em; }
  .section.form a {
    color: #c12026; }

.Invoice .branding {
  border-bottom: 1px solid #c12026;
  margin-bottom: 2em; }
  .Invoice .branding img {
    width: 200px;
    margin: 0 auto 1em; }

.Invoice .particulars {
  clear: both;
  margin-bottom: 2em; }
  .Invoice .particulars::after {
    content: "";
    display: table;
    clear: both; }
  @media (min-width: 550px) {
    .Invoice .particulars > div:first-child, .Invoice .particulars > div:last-child {
      *zoom: 1;
      float: left;
      clear: none;
      text-align: inherit;
      width: 35.625%;
      margin-left: 0%;
      margin-right: 3%; }
      .Invoice .particulars > div:first-child:before, .Invoice .particulars > div:first-child:after, .Invoice .particulars > div:last-child:before, .Invoice .particulars > div:last-child:after {
        content: '';
        display: table; }
      .Invoice .particulars > div:first-child:after, .Invoice .particulars > div:last-child:after {
        clear: both; }
      .Invoice .particulars > div:first-child:last-child, .Invoice .particulars > div:last-child:last-child {
        margin-right: 0%; } }
  @media (min-width: 550px) {
    .Invoice .particulars > div:nth-child(2) {
      *zoom: 1;
      float: left;
      clear: none;
      text-align: inherit;
      width: 22.75%;
      margin-left: 0%;
      margin-right: 3%; }
      .Invoice .particulars > div:nth-child(2):before, .Invoice .particulars > div:nth-child(2):after {
        content: '';
        display: table; }
      .Invoice .particulars > div:nth-child(2):after {
        clear: both; }
      .Invoice .particulars > div:nth-child(2):last-child {
        margin-right: 0%; } }
  .Invoice .particulars .logo {
    width: 200px; }

.Invoice .items {
  font-size: 0.95em;
  width: 100%; }
  .Invoice .items th, .Invoice .items td {
    padding: 0.75em !important;
    text-align: right;
    white-space: nowrap; }
    .Invoice .items th.first, .Invoice .items td.first {
      width: 100%;
      text-align: left;
      white-space: normal;
      padding-left: 0 !important; }
    .Invoice .items th.last, .Invoice .items td.last {
      padding-right: 0 !important; }

.Invoice .note {
  font-size: 1.2em;
  text-align: center; }
  .Invoice .note.top {
    margin: 0 0 1.75em; }
  .Invoice .note.bottom {
    margin: 3.5em 0 1em; }

@media print {
  .print {
    display: none; }
  html, body {
    overflow: visible;
    height: auto !important; }
    html #app, body #app {
      overflow: visible !important;
      height: auto !important; }
      html #app .Root, body #app .Root {
        overflow: visible !important;
        height: auto !important; }
        html #app .Root .Viewport, body #app .Root .Viewport {
          display: block !important;
          overflow: visible !important; }
          html #app .Root .Viewport .Modal,
          html #app .Root .Viewport .Top,
          html #app .Root .Viewport .BackToTop, body #app .Root .Viewport .Modal,
          body #app .Root .Viewport .Top,
          body #app .Root .Viewport .BackToTop {
            display: none !important; }
          html #app .Root .Viewport .Middle, body #app .Root .Viewport .Middle {
            display: block !important;
            overflow: visible !important; }
            html #app .Root .Viewport .Middle .Fold, body #app .Root .Viewport .Middle .Fold {
              display: block !important; }
            html #app .Root .Viewport .Middle .Bottom, body #app .Root .Viewport .Middle .Bottom {
              display: none !important; }
  form input, form textarea {
    background: #fff;
    color: #000 !important;
    padding: 0 !important; }
  form .actions {
    display: none; } }

.HomePage .Fold {
  position: relative;
  background-position: 0 50%;
  background-repeat: no-repeat;
  background-size: cover; }
  .HomePage .Fold .Testimonials {
    width: 100%; }
    .HomePage .Fold .Testimonials .Testimonial {
      display: none;
      visibility: hidden;
      background: rgba(193, 32, 38, 0.9);
      font-size: 1.8em;
      padding: 0;
      margin: 1em auto 0;
      opacity: 0;
      transition: visibility 0.35s, opacity 0.35s ease-in-out; }
      @media (min-width: 900px) {
        .HomePage .Fold .Testimonials .Testimonial {
          position: absolute;
          transform-style: preserve-3d;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          display: block;
          width: 96%;
          max-width: 700px; } }
      @media (min-width: 0) and (max-width: 899px) {
        .HomePage .Fold .Testimonials .Testimonial:first-child {
          display: block;
          visibility: visible;
          opacity: 1; } }
      @media (min-width: 900px) {
        .HomePage .Fold .Testimonials .Testimonial.current {
          visibility: visible;
          display: block;
          opacity: 1; } }
      @media (min-width: 900px) {
        .HomePage .Fold .Testimonials .Testimonial {
          margin-top: 0; } }
      .HomePage .Fold .Testimonials .Testimonial .quote {
        color: #fff;
        padding: 1.25em 0 1em; }
      .HomePage .Fold .Testimonials .Testimonial .person {
        display: inline-block;
        border-top: 1px solid #fff;
        color: #fff;
        padding: 0.75em 2em 1.25em 0; }
        .HomePage .Fold .Testimonials .Testimonial .person strong {
          font-weight: 600;
          font-style: normal; }
  .HomePage .Fold .Offers {
    width: 100%; }
    .HomePage .Fold .Offers .Offer {
      display: none;
      visibility: hidden;
      background: rgba(193, 32, 38, 0.9);
      font-size: 1.6em;
      padding: 0.75em;
      margin: 1em auto 0;
      opacity: 0;
      transition: visibility 0.35s, opacity 0.35s ease-in-out; }
      @media (min-width: 550px) {
        .HomePage .Fold .Offers .Offer {
          font-size: 1.7em; } }
      @media (min-width: 900px) {
        .HomePage .Fold .Offers .Offer {
          position: absolute;
          transform-style: preserve-3d;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          display: block;
          width: 96%;
          max-width: 700px; } }
      @media (min-width: 0) and (max-width: 899px) {
        .HomePage .Fold .Offers .Offer:first-child {
          display: block;
          visibility: visible;
          opacity: 1; } }
      @media (min-width: 900px) {
        .HomePage .Fold .Offers .Offer.current {
          visibility: visible;
          display: block;
          opacity: 1; } }
      @media (min-width: 900px) {
        .HomePage .Fold .Offers .Offer {
          margin-top: 0; } }
      .HomePage .Fold .Offers .Offer .ribbon {
        position: absolute;
        left: -4px;
        top: 0.75em;
        z-index: 1;
        overflow: hidden;
        width: 100px;
        height: 100px;
        text-align: right; }
        @media (min-width: 900px) {
          .HomePage .Fold .Offers .Offer .ribbon {
            top: -4px; } }
        .HomePage .Fold .Offers .Offer .ribbon span {
          font-size: 14px;
          font-weight: bold;
          color: #c12026;
          text-transform: uppercase;
          text-align: center;
          line-height: 28px;
          transform: rotate(-45deg);
          -webkit-transform: rotate(-45deg);
          width: 100px;
          display: block;
          background: #fcbfc7;
          position: absolute;
          top: 11px;
          left: -25px; }
          .HomePage .Fold .Offers .Offer .ribbon span::before {
            content: "";
            position: absolute;
            left: 0px;
            top: 100%;
            z-index: -1;
            border-left: 3px solid #df828c;
            border-right: 3px solid transparent;
            border-bottom: 3px solid transparent;
            border-top: 3px solid #df828c; }
          .HomePage .Fold .Offers .Offer .ribbon span::after {
            content: "";
            position: absolute;
            right: 0px;
            top: 100%;
            z-index: -1;
            border-left: 3px solid transparent;
            border-right: 3px solid #df828c;
            border-bottom: 3px solid transparent;
            border-top: 3px solid #df828c; }
      .HomePage .Fold .Offers .Offer .left {
        display: none; }
        @media (min-width: 900px) {
          .HomePage .Fold .Offers .Offer .left {
            *zoom: 1;
            float: left;
            clear: none;
            text-align: inherit;
            width: 17.6%;
            margin-left: 0%;
            margin-right: 3%;
            display: block; }
            .HomePage .Fold .Offers .Offer .left:before, .HomePage .Fold .Offers .Offer .left:after {
              content: '';
              display: table; }
            .HomePage .Fold .Offers .Offer .left:after {
              clear: both; }
            .HomePage .Fold .Offers .Offer .left:last-child {
              margin-right: 0%; }
            .HomePage .Fold .Offers .Offer .left img {
              display: block;
              border-radius: 4px; } }
      @media (min-width: 900px) {
        .HomePage .Fold .Offers .Offer .left + .right {
          *zoom: 1;
          float: left;
          clear: none;
          text-align: inherit;
          width: 79.4%;
          margin-left: 0%;
          margin-right: 3%; }
          .HomePage .Fold .Offers .Offer .left + .right:before, .HomePage .Fold .Offers .Offer .left + .right:after {
            content: '';
            display: table; }
          .HomePage .Fold .Offers .Offer .left + .right:after {
            clear: both; }
          .HomePage .Fold .Offers .Offer .left + .right:last-child {
            margin-right: 0%; } }
      .HomePage .Fold .Offers .Offer .right .heading {
        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
        padding-bottom: 0.5em;
        margin-bottom: 0.5em; }
        @media (min-width: 900px) {
          .HomePage .Fold .Offers .Offer .right .heading {
            border-bottom-color: rgba(255, 255, 255, 0.35); } }
        .HomePage .Fold .Offers .Offer .right .heading h1 {
          font-size: 1.2em;
          color: #fff;
          text-align: center; }
      .HomePage .Fold .Offers .Offer .right .wrap {
        text-align: center; }
        .HomePage .Fold .Offers .Offer .right .wrap .content {
          font-size: 0.9em;
          color: #fff;
          text-align: center;
          margin-bottom: 0.75em; }
          .HomePage .Fold .Offers .Offer .right .wrap .content strong {
            font-weight: 600;
            font-style: normal; }
        .HomePage .Fold .Offers .Offer .right .wrap .CallToAction {
          display: inline-block;
          border: 1px solid rgba(255, 255, 255, 0.5);
          font-size: 0.8em;
          color: #fff;
          font-weight: 600;
          text-decoration: none;
          text-align: center;
          padding: 0.75em 3em;
          margin: 0 auto;
          border-radius: 4px; }
          .HomePage .Fold .Offers .Offer .right .wrap .CallToAction span {
            margin-right: 0.5em; }

.HomePage .typography .section h1 {
  font-size: 1.6em;
  font-weight: 300;
  text-align: center;
  margin: 1em; }
  @media (min-width: 900px) {
    .HomePage .typography .section h1 {
      font-size: 1.8em; } }

@media (min-width: 900px) {
  .HomePage .Trustpilot {
    padding: 3em 0; } }

@media (min-width: 1600px) {
  .HomePage .Trustpilot {
    padding: 6em 0; } }

.HomePage .Trustpilot .wrap {
  max-width: 1200px; }

.HomePage .FeaturedProperties {
  background: #e3ebed;
  border-bottom: 1px solid #c12026; }
  .HomePage .FeaturedProperties::after {
    content: "";
    display: table;
    clear: both; }
  @media (min-width: 1500px) {
    .HomePage .FeaturedProperties {
      padding-top: 2.5em; } }
  .HomePage .FeaturedProperties .wrap {
    width: 98%;
    max-width: 1600px; }
    .HomePage .FeaturedProperties .wrap h1 {
      font-size: 3.2em;
      color: #c12026;
      font-weight: 300;
      text-align: center;
      margin-bottom: 0.65em; }
      @media (min-width: 900px) {
        .HomePage .FeaturedProperties .wrap h1 {
          font-size: 3.4em;
          margin-bottom: 0.7em; } }
    .HomePage .FeaturedProperties .wrap .Properties::after {
      content: "";
      display: table;
      clear: both; }
    .HomePage .FeaturedProperties .wrap .Properties .slide {
      display: none; }
      .HomePage .FeaturedProperties .wrap .Properties .slide:first-child {
        display: block; }
      @media (min-width: 650px) and (max-width: 999px) {
        .HomePage .FeaturedProperties .wrap .Properties .slide {
          *zoom: 1;
          float: left;
          clear: none;
          text-align: inherit;
          width: 50%;
          margin-left: 0%;
          margin-right: 0%; }
          .HomePage .FeaturedProperties .wrap .Properties .slide:before, .HomePage .FeaturedProperties .wrap .Properties .slide:after {
            content: '';
            display: table; }
          .HomePage .FeaturedProperties .wrap .Properties .slide:after {
            clear: both; }
          .HomePage .FeaturedProperties .wrap .Properties .slide:nth-child(-n+2) {
            display: block; } }
      @media (min-width: 1000px) and (max-width: 1449px) {
        .HomePage .FeaturedProperties .wrap .Properties .slide {
          *zoom: 1;
          float: left;
          clear: none;
          text-align: inherit;
          width: 33.33333%;
          margin-left: 0%;
          margin-right: 0%; }
          .HomePage .FeaturedProperties .wrap .Properties .slide:before, .HomePage .FeaturedProperties .wrap .Properties .slide:after {
            content: '';
            display: table; }
          .HomePage .FeaturedProperties .wrap .Properties .slide:after {
            clear: both; }
          .HomePage .FeaturedProperties .wrap .Properties .slide:nth-child(-n+3) {
            display: block; } }
      @media (min-width: 1450px) {
        .HomePage .FeaturedProperties .wrap .Properties .slide {
          *zoom: 1;
          float: left;
          clear: none;
          text-align: inherit;
          width: 25%;
          margin-left: 0%;
          margin-right: 0%; }
          .HomePage .FeaturedProperties .wrap .Properties .slide:before, .HomePage .FeaturedProperties .wrap .Properties .slide:after {
            content: '';
            display: table; }
          .HomePage .FeaturedProperties .wrap .Properties .slide:after {
            clear: both; }
          .HomePage .FeaturedProperties .wrap .Properties .slide:nth-child(-n+4) {
            display: block; } }
      .HomePage .FeaturedProperties .wrap .Properties .slide .Property {
        background: #fff;
        font-size: 1.6em;
        width: 93%;
        max-width: 360px;
        margin: 0 auto; }
        .HomePage .FeaturedProperties .wrap .Properties .slide .Property .top {
          display: block;
          background-color: #F5F5F5;
          background-position: 50% 50%;
          background-size: cover;
          background-repeat: no-repeat;
          height: 225px; }
          .HomePage .FeaturedProperties .wrap .Properties .slide .Property .top .price {
            float: left;
            background: #c12026;
            font-size: 1.7em;
            color: #fff;
            font-weight: 700;
            text-decoration: none;
            padding: 0.55em 1.1em 0.6em;
            border-radius: 0 0.22em; }
        .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle {
          position: relative;
          width: 92%; }
          .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle::after {
            content: "";
            display: table;
            clear: both; }
          .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .badges {
            height: 64px;
            float: left; }
            .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .badges li {
              position: relative;
              float: left;
              width: 48px;
              text-align: center; }
              .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .badges li:last-child {
                margin-left: -2px; }
              .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .badges li .icon {
                font-size: 32px;
                color: #c12026;
                line-height: 64px;
                text-align: center;
                width: 32px; }
                .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .badges li .icon.faded {
                  color: #2c2c2c;
                  opacity: 0.1; }
                .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .badges li .icon.icon-bedrooms {
                  font-size: 35.2px; }
                .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .badges li .icon.icon-bathrooms::before {
                  top: -4.8px; }
                .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .badges li .icon.icon-cars {
                  font-size: 27.2px; }
                .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .badges li .icon::before {
                  position: relative; }
                .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .badges li .icon .count {
                  position: absolute;
                  bottom: 9.6px;
                  left: 0;
                  right: 0;
                  background: #838486;
                  font-size: 13.44px;
                  color: #fff;
                  line-height: 18.2px;
                  font-weight: 700;
                  text-align: center;
                  width: 19.2px;
                  height: 19.2px;
                  margin: 0 auto;
                  border-radius: 9.6px;
                  opacity: 0.9; }
          .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .favourite {
            text-align: center;
            width: 51.2px;
            position: absolute;
            top: 0;
            right: 0; }
            .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .favourite .icon {
              font-size: 32px;
              color: #c12026;
              line-height: 64px; }
              .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .favourite .icon.faded {
                color: #424242;
                opacity: 0.1; }
                .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .favourite .icon.faded:hover {
                  opacity: 0.15; }
          .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .address {
            clear: both;
            height: 3.8em;
            margin-bottom: 0.1em;
            overflow: hidden;
            width: 80%; }
          .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .code {
            *zoom: 1;
            float: left;
            clear: none;
            text-align: inherit;
            width: 31.33333%;
            margin-left: 0%;
            margin-right: 3%;
            font-size: 0.85em;
            color: #848484;
            margin-bottom: 0.6em; }
            .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .code:before, .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .code:after {
              content: '';
              display: table; }
            .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .code:after {
              clear: both; }
            .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .code:last-child {
              margin-right: 0%; }
          .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .DateAvailable {
            *zoom: 1;
            float: left;
            clear: none;
            text-align: inherit;
            width: 65.66667%;
            margin-left: 0%;
            margin-right: 3%;
            font-size: 0.85em;
            color: #848484;
            text-align: right;
            margin-bottom: 0.6em; }
            .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .DateAvailable:before, .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .DateAvailable:after {
              content: '';
              display: table; }
            .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .DateAvailable:after {
              clear: both; }
            .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .DateAvailable:last-child {
              margin-right: 0%; }
            .HomePage .FeaturedProperties .wrap .Properties .slide .Property .middle .DateAvailable .label {
              font-size: 0.85em;
              margin-right: 0.3em; }
        .HomePage .FeaturedProperties .wrap .Properties .slide .Property .bottom::after {
          content: "";
          display: table;
          clear: both; }
        .HomePage .FeaturedProperties .wrap .Properties .slide .Property .bottom a {
          font-size: 1em;
          color: #fff;
          text-align: center !important;
          text-decoration: none;
          padding: 0.6em 0; }
          .HomePage .FeaturedProperties .wrap .Properties .slide .Property .bottom a.book {
            *zoom: 1;
            float: left;
            clear: none;
            text-align: inherit;
            width: 60%;
            margin-left: 0%;
            margin-right: 0%;
            background: #fdd10d;
            color: #ad7c07;
            font-weight: 400;
            text-align: center; }
            .HomePage .FeaturedProperties .wrap .Properties .slide .Property .bottom a.book:before, .HomePage .FeaturedProperties .wrap .Properties .slide .Property .bottom a.book:after {
              content: '';
              display: table; }
            .HomePage .FeaturedProperties .wrap .Properties .slide .Property .bottom a.book:after {
              clear: both; }
            .HomePage .FeaturedProperties .wrap .Properties .slide .Property .bottom a.book img {
              display: none; }
            .HomePage .FeaturedProperties .wrap .Properties .slide .Property .bottom a.book span {
              display: inline-block; }
          .HomePage .FeaturedProperties .wrap .Properties .slide .Property .bottom a.view {
            *zoom: 1;
            float: left;
            clear: none;
            text-align: inherit;
            width: 40%;
            margin-left: 0%;
            margin-right: 0%;
            background: #9C9C9C;
            font-weight: 600;
            transition: all 0.15s ease-out; }
            .HomePage .FeaturedProperties .wrap .Properties .slide .Property .bottom a.view:before, .HomePage .FeaturedProperties .wrap .Properties .slide .Property .bottom a.view:after {
              content: '';
              display: table; }
            .HomePage .FeaturedProperties .wrap .Properties .slide .Property .bottom a.view:after {
              clear: both; }
            .HomePage .FeaturedProperties .wrap .Properties .slide .Property .bottom a.view:hover {
              background: #c12026; }

.HomePage .RandomAgents::after {
  content: "";
  display: table;
  clear: both; }

.HomePage .RandomAgents .wrap {
  width: 98%;
  max-width: 1600px; }
  .HomePage .RandomAgents .wrap h1 {
    font-size: 3.1em;
    font-weight: 300;
    text-align: center;
    margin-bottom: 0.65em; }
    @media (min-width: 900px) {
      .HomePage .RandomAgents .wrap h1 {
        font-size: 3.3em;
        margin-bottom: 0.7em; } }
  .HomePage .RandomAgents .wrap .container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around; }
    @media (min-width: 1500px) {
      .HomePage .RandomAgents .wrap .container {
        padding: 1em 0; } }
    .HomePage .RandomAgents .wrap .container .Agent {
      display: none;
      -ms-flex-align: center;
          align-items: center;
      color: #050706;
      text-decoration: none; }
      .HomePage .RandomAgents .wrap .container .Agent .left {
        margin-right: 2em; }
        .HomePage .RandomAgents .wrap .container .Agent .left img {
          display: block;
          border: 1px solid #c12026;
          height: 12em; }
        .HomePage .RandomAgents .wrap .container .Agent .left .HoverImage {
          display: none; }
        .HomePage .RandomAgents .wrap .container .Agent .left:hover .Image {
          display: none; }
        .HomePage .RandomAgents .wrap .container .Agent .left:hover .HoverImage {
          display: block; }
      .HomePage .RandomAgents .wrap .container .Agent .right {
        font-size: 1.7em; }
        .HomePage .RandomAgents .wrap .container .Agent .right h2 {
          font-size: 1em;
          font-weight: 500; }
        .HomePage .RandomAgents .wrap .container .Agent .right .more {
          color: #c12026; }
    .HomePage .RandomAgents .wrap .container .Agent:first-child {
      display: -ms-flexbox;
      display: flex; }
    @media (min-width: 700px) {
      .HomePage .RandomAgents .wrap .container .Agent:nth-child(2) {
        display: -ms-flexbox;
        display: flex; } }
    @media (min-width: 1100px) {
      .HomePage .RandomAgents .wrap .container .Agent:nth-child(3) {
        display: -ms-flexbox;
        display: flex; } }
    @media (min-width: 1450px) {
      .HomePage .RandomAgents .wrap .container .Agent:nth-child(4) {
        display: -ms-flexbox;
        display: flex; } }
  .HomePage .RandomAgents .wrap .bottom {
    text-align: center;
    margin: 4em 0 2em; }
    .HomePage .RandomAgents .wrap .bottom .meet {
      border: 1px solid rgba(193, 32, 38, 0.19);
      font-size: 1.6em;
      color: #c12026;
      text-decoration: none;
      padding: 0.5em 5em;
      border-radius: 5px; }
      .HomePage .RandomAgents .wrap .bottom .meet .icon {
        font-size: 0.75em;
        margin-left: 0.75em; }

.LoginPage .LoginForm {
  background: #c12026;
  color: #fff; }
  .LoginPage .LoginForm .wrap {
    padding: 2em 0; }
    .LoginPage .LoginForm .wrap h1 {
      margin-bottom: 0.5em; }
    .LoginPage .LoginForm .wrap .row .fieldHolder {
      margin-bottom: 0.7em; }
      .LoginPage .LoginForm .wrap .row .fieldHolder input {
        background: #fff;
        color: #424242; }
        .LoginPage .LoginForm .wrap .row .fieldHolder input.Email {
          border-radius: 0 1em 0 0; }
        .LoginPage .LoginForm .wrap .row .fieldHolder input:-webkit-autofill {
          -webkit-box-shadow: 0 0 0 1000px white inset !important; }
    .LoginPage .LoginForm .wrap .actions {
      margin-top: 0; }
      .LoginPage .LoginForm .wrap .actions button:first-child {
        background: #fff;
        color: #c12026;
        border-radius: 0 0 0 1em; }
      .LoginPage .LoginForm .wrap .actions button:last-child {
        background: #fff;
        color: #c12026;
        margin-left: 0.5em; }

.LoginPage p.info {
  margin-bottom: 1em; }

.AccountPage h4.user {
  background: #c12026;
  color: #fff;
  padding: 1em;
  margin-bottom: 0; }
  .AccountPage h4.user a {
    float: right;
    color: #fff; }

.AccountPage .Newsletter {
  margin-bottom: 1em; }
  .AccountPage .Newsletter h4 {
    font-size: 1.1em;
    font-weight: 600;
    margin: 1.25em 0 0.2em; }

.AccountPage .Searches .info {
  background: #EFEFEF;
  padding: 1.25em 1em; }
  .AccountPage .Searches .info > :last-child {
    margin-bottom: 0; }

.AccountPage .Searches h4 {
  font-size: 1.1em;
  font-weight: 600;
  margin: 1.25em 0 0.2em; }

.AccountPage .Searches ul {
  margin-left: 0;
  margin-right: 0; }
  .AccountPage .Searches ul li {
    border-bottom: 1px solid #F5F5F5;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em; }
    .AccountPage .Searches ul li .icon {
      float: right; }

.PropertiesPage {
  display: -ms-flexbox;
  display: flex;
  background: #e3ebed !important; }
  .PropertiesPage .PropertiesMap {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    background: #EAEAEA;
    overflow: hidden; }
    @media (min-width: 900px) {
      .PropertiesPage .PropertiesMap {
        display: block;
        right: 50%; } }
    @media (min-width: 1000px) {
      .PropertiesPage .PropertiesMap {
        right: 60%; } }
    .PropertiesPage .PropertiesMap .Marker {
      background: #fff;
      border-radius: 10px;
      transition: all 0.25s ease-in-out;
      text-align: center;
      opacity: 0.75; }
      .PropertiesPage .PropertiesMap .Marker a {
        background: #fff;
        border: 2px solid red;
        font-size: 14px;
        color: #424242;
        text-decoration: none;
        padding: 5px;
        border-radius: 3px; }
      .PropertiesPage .PropertiesMap .Marker:hover {
        opacity: 1; }
  .PropertiesPage .content {
    -ms-flex: 1;
        flex: 1;
    position: relative;
    background: #e3ebed;
    z-index: 2; }
    @media (min-width: 900px) {
      .PropertiesPage .content {
        margin-left: 50%; } }
    @media (min-width: 1000px) {
      .PropertiesPage .content {
        margin-left: 40%; } }
    .PropertiesPage .content .PropertiesList {
      background: #e3ebed;
      font-size: 1.6em; }
      .PropertiesPage .content .PropertiesList .Status {
        border-bottom: 1px solid #fff;
        font-size: 0.9em;
        text-align: center;
        padding: 0.7em 0 0.9em;
        margin-bottom: 1em; }
        .PropertiesPage .content .PropertiesList .Status .wrap {
          overflow: visible; }
          @media (min-width: 1400px) {
            .PropertiesPage .content .PropertiesList .Status .wrap {
              display: -ms-flexbox;
              display: flex; } }
          .PropertiesPage .content .PropertiesList .Status .wrap .status {
            line-height: 1.8;
            margin-bottom: 0.6em; }
            @media (min-width: 1400px) {
              .PropertiesPage .content .PropertiesList .Status .wrap .status {
                display: -ms-flexbox;
                display: flex;
                -ms-flex-align: center;
                    align-items: center;
                -ms-flex: 1;
                    flex: 1;
                margin-bottom: 0; } }
            @media (min-width: 1400px) {
              .PropertiesPage .content .PropertiesList .Status .wrap .status .inner {
                -ms-flex: 1;
                    flex: 1; } }
            .PropertiesPage .content .PropertiesList .Status .wrap .status .inner .buttons {
              display: inline-block; }
              .PropertiesPage .content .PropertiesList .Status .wrap .status .inner .buttons a {
                background: rgba(255, 255, 255, 0.44);
                color: #c12026;
                font-weight: bold;
                text-decoration: none;
                padding: 0.25em 0.4em;
                margin: 0 0 0 0.3em; }
                .PropertiesPage .content .PropertiesList .Status .wrap .status .inner .buttons a .icon {
                  font-size: 0.8em;
                  margin-right: 0.4em; }
          .PropertiesPage .content .PropertiesList .Status .wrap .modifiers {
            display: -ms-flexbox;
            display: flex;
            -ms-flex-align: center;
                align-items: center;
            max-width: 400px;
            margin: 0 auto; }
            @media (min-width: 1400px) {
              .PropertiesPage .content .PropertiesList .Status .wrap .modifiers {
                min-width: 400px;
                max-width: 100%; } }
            .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select {
              display: -ms-flexbox;
              display: flex;
              -ms-flex-direction: column;
                  flex-direction: column;
              background: #fff;
              transition: all 0.25s ease-in-out;
              -ms-flex: 1;
                  flex: 1;
              font-size: 0.9em;
              text-align: left; }
              @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
                .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select {
                  height: 2.6em; } }
              .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select .Select-control {
                display: -ms-flexbox;
                display: flex;
                -ms-flex: 1;
                    flex: 1;
                background: transparent;
                border: 0 none;
                border-radius: 0;
                height: auto;
                cursor: pointer;
                box-shadow: none !important; }
                .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select .Select-control .Select-placeholder,
                .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select .Select-control .Select-value {
                  -ms-flex: 1;
                      flex: 1;
                  color: #2c2c2c;
                  line-height: inherit;
                  padding: 0.75em 1.1em 0.7em;
                  padding-right: 4em; }
                .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select .Select-control .Select-input {
                  -ms-flex: 1;
                      flex: 1;
                  display: block;
                  height: auto;
                  padding: 0.75em 1.1em 0.7em; }
                .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select .Select-control .Select-arrow-zone,
                .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select .Select-control .Select-clear-zone {
                  display: -ms-flexbox;
                  display: flex;
                  -ms-flex-align: center;
                      align-items: center;
                  -ms-flex-pack: center;
                      justify-content: center; }
                .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select .Select-control .Select-arrow-zone {
                  width: 1em;
                  padding: 0;
                  margin-right: 1em; }
                  .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select .Select-control .Select-arrow-zone .Select-arrow {
                    background: url("/themes/oxygen/images/down-chevron-thin.png") 50% 50% no-repeat;
                    background-size: 100%;
                    border: 0 none;
                    width: 1em;
                    height: 1em; }
                .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select .Select-control .Select-clear-zone {
                  width: 1.25em;
                  margin-right: 0.5em; }
                  .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select .Select-control .Select-clear-zone .Select-clear {
                    font-size: 18px; }
              .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select .Select-menu-outer {
                border-color: rgba(0, 0, 0, 0.1);
                border-radius: 0;
                box-shadow: none; }
                .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select .Select-menu-outer .Select-option {
                  font-size: 0.9em;
                  padding: 0.75em 1.1em 0.7em;
                  transition: all 0.1s ease-out-out;
                  border-radius: 0; }
                  .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select .Select-menu-outer .Select-option.is-focused {
                    background: #f9f9f9;
                    color: #000; }
              .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select.Select--multi .Select-input {
                padding-left: 0;
                padding-right: 0; }
              .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select.Select--multi .Select-item {
                display: none;
                background: none;
                border: 0 none;
                font-size: 1em;
                color: inherit;
                margin: 0;
                padding: 0; }
                .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select.Select--multi .Select-item .Select-item-icon {
                  display: none; }
                .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select.Select--multi .Select-item .Select-item-label {
                  white-space: nowrap;
                  padding: 0;
                  vertical-align: inherit; }
                .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select.Select--multi .Select-item:first-child {
                  display: inline-block;
                  padding: 0.75em 1.1em 0.7em;
                  padding-right: 0.4em; }
                .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select.Select--multi .Select-item:nth-child(2) {
                  display: inline-block;
                  padding: 0.75em 1.1em 0.7em;
                  padding-left: 0;
                  padding-right: 0; }
                  .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select.Select--multi .Select-item:nth-child(2) .Select-item-label {
                    display: none; }
                  .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select.Select--multi .Select-item:nth-child(2):after {
                    content: '+More';
                    color: #949494;
                    white-space: nowrap; }
              .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select.is-open {
                background: rgba(255, 255, 255, 0.87); }
              .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select.is-searchable .Select-input {
                padding: 0; }
                .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select.is-searchable .Select-input input {
                  -ms-flex: 1;
                      flex: 1;
                  display: block;
                  font-size: 1em;
                  height: auto;
                  padding: 0.75em 1.1em 0.7em; }
              .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select.is-disabled .Select-input {
                padding: 0.75em 1.1em 0.7em; }
              .PropertiesPage .content .PropertiesList .Status .wrap .modifiers .Select:nth-child(2) {
                margin-left: 0.25em; }
      .PropertiesPage .content .PropertiesList .wrap {
        width: 88%;
        overflow: hidden; }
        .PropertiesPage .content .PropertiesList .wrap::after {
          display: none; }
        @media (min-width: 600px) {
          .PropertiesPage .content .PropertiesList .wrap {
            width: 96%; } }
        @media (min-width: 900px) {
          .PropertiesPage .content .PropertiesList .wrap {
            width: 88%; } }
        @media (min-width: 1000px) {
          .PropertiesPage .content .PropertiesList .wrap {
            width: 96%; } }
        .PropertiesPage .content .PropertiesList .wrap .Property {
          background: #fff;
          margin-bottom: 1.2em; }
          .PropertiesPage .content .PropertiesList .wrap .Property .top {
            display: block;
            background-color: #F5F5F5;
            background-position: 50% 50%;
            background-size: cover;
            background-repeat: no-repeat;
            height: 225px; }
            .PropertiesPage .content .PropertiesList .wrap .Property .top .price {
              float: left;
              background: #c12026;
              font-size: 1.7em;
              color: #fff;
              font-weight: 700;
              text-decoration: none;
              padding: 0.55em 1.1em 0.6em;
              border-radius: 0 0.22em; }
          .PropertiesPage .content .PropertiesList .wrap .Property .middle {
            position: relative;
            width: 92%; }
            .PropertiesPage .content .PropertiesList .wrap .Property .middle::after {
              content: "";
              display: table;
              clear: both; }
            .PropertiesPage .content .PropertiesList .wrap .Property .middle .badges {
              height: 64px;
              float: left; }
              .PropertiesPage .content .PropertiesList .wrap .Property .middle .badges li {
                position: relative;
                float: left;
                width: 48px;
                text-align: center; }
                .PropertiesPage .content .PropertiesList .wrap .Property .middle .badges li:last-child {
                  margin-left: -2px; }
                .PropertiesPage .content .PropertiesList .wrap .Property .middle .badges li .icon {
                  font-size: 32px;
                  color: #c12026;
                  line-height: 64px;
                  text-align: center;
                  width: 32px; }
                  .PropertiesPage .content .PropertiesList .wrap .Property .middle .badges li .icon.faded {
                    color: #2c2c2c;
                    opacity: 0.1; }
                  .PropertiesPage .content .PropertiesList .wrap .Property .middle .badges li .icon.icon-bedrooms {
                    font-size: 35.2px; }
                  .PropertiesPage .content .PropertiesList .wrap .Property .middle .badges li .icon.icon-bathrooms::before {
                    top: -4.8px; }
                  .PropertiesPage .content .PropertiesList .wrap .Property .middle .badges li .icon.icon-cars {
                    font-size: 27.2px; }
                  .PropertiesPage .content .PropertiesList .wrap .Property .middle .badges li .icon::before {
                    position: relative; }
                  .PropertiesPage .content .PropertiesList .wrap .Property .middle .badges li .icon .count {
                    position: absolute;
                    bottom: 9.6px;
                    left: 0;
                    right: 0;
                    background: #838486;
                    font-size: 13.44px;
                    color: #fff;
                    line-height: 18.2px;
                    font-weight: 700;
                    text-align: center;
                    width: 19.2px;
                    height: 19.2px;
                    margin: 0 auto;
                    border-radius: 9.6px;
                    opacity: 0.9; }
            .PropertiesPage .content .PropertiesList .wrap .Property .middle .favourite {
              text-align: center;
              width: 51.2px;
              position: absolute;
              top: 0;
              right: 0; }
              .PropertiesPage .content .PropertiesList .wrap .Property .middle .favourite .icon {
                font-size: 32px;
                color: #c12026;
                line-height: 64px; }
                .PropertiesPage .content .PropertiesList .wrap .Property .middle .favourite .icon.faded {
                  color: #424242;
                  opacity: 0.1; }
                  .PropertiesPage .content .PropertiesList .wrap .Property .middle .favourite .icon.faded:hover {
                    opacity: 0.15; }
            .PropertiesPage .content .PropertiesList .wrap .Property .middle .address {
              clear: both;
              height: 3.8em;
              margin-bottom: 0.1em;
              overflow: hidden;
              width: 80%; }
            .PropertiesPage .content .PropertiesList .wrap .Property .middle .code {
              *zoom: 1;
              float: left;
              clear: none;
              text-align: inherit;
              width: 31.33333%;
              margin-left: 0%;
              margin-right: 3%;
              font-size: 0.85em;
              color: #848484;
              margin-bottom: 0.6em; }
              .PropertiesPage .content .PropertiesList .wrap .Property .middle .code:before, .PropertiesPage .content .PropertiesList .wrap .Property .middle .code:after {
                content: '';
                display: table; }
              .PropertiesPage .content .PropertiesList .wrap .Property .middle .code:after {
                clear: both; }
              .PropertiesPage .content .PropertiesList .wrap .Property .middle .code:last-child {
                margin-right: 0%; }
            .PropertiesPage .content .PropertiesList .wrap .Property .middle .DateAvailable {
              *zoom: 1;
              float: left;
              clear: none;
              text-align: inherit;
              width: 65.66667%;
              margin-left: 0%;
              margin-right: 3%;
              font-size: 0.85em;
              color: #848484;
              text-align: right;
              margin-bottom: 0.6em; }
              .PropertiesPage .content .PropertiesList .wrap .Property .middle .DateAvailable:before, .PropertiesPage .content .PropertiesList .wrap .Property .middle .DateAvailable:after {
                content: '';
                display: table; }
              .PropertiesPage .content .PropertiesList .wrap .Property .middle .DateAvailable:after {
                clear: both; }
              .PropertiesPage .content .PropertiesList .wrap .Property .middle .DateAvailable:last-child {
                margin-right: 0%; }
              .PropertiesPage .content .PropertiesList .wrap .Property .middle .DateAvailable .label {
                font-size: 0.85em;
                margin-right: 0.3em; }
          .PropertiesPage .content .PropertiesList .wrap .Property .bottom::after {
            content: "";
            display: table;
            clear: both; }
          .PropertiesPage .content .PropertiesList .wrap .Property .bottom a {
            font-size: 1em;
            color: #fff;
            text-align: center !important;
            text-decoration: none;
            padding: 0.6em 0; }
            .PropertiesPage .content .PropertiesList .wrap .Property .bottom a.book {
              *zoom: 1;
              float: left;
              clear: none;
              text-align: inherit;
              width: 60%;
              margin-left: 0%;
              margin-right: 0%;
              background: #fdd10d;
              color: #ad7c07;
              font-weight: 400;
              text-align: center; }
              .PropertiesPage .content .PropertiesList .wrap .Property .bottom a.book:before, .PropertiesPage .content .PropertiesList .wrap .Property .bottom a.book:after {
                content: '';
                display: table; }
              .PropertiesPage .content .PropertiesList .wrap .Property .bottom a.book:after {
                clear: both; }
              .PropertiesPage .content .PropertiesList .wrap .Property .bottom a.book img {
                display: none; }
              .PropertiesPage .content .PropertiesList .wrap .Property .bottom a.book span {
                display: inline-block; }
            .PropertiesPage .content .PropertiesList .wrap .Property .bottom a.view {
              *zoom: 1;
              float: left;
              clear: none;
              text-align: inherit;
              width: 40%;
              margin-left: 0%;
              margin-right: 0%;
              background: #9C9C9C;
              font-weight: 600;
              transition: all 0.15s ease-out; }
              .PropertiesPage .content .PropertiesList .wrap .Property .bottom a.view:before, .PropertiesPage .content .PropertiesList .wrap .Property .bottom a.view:after {
                content: '';
                display: table; }
              .PropertiesPage .content .PropertiesList .wrap .Property .bottom a.view:after {
                clear: both; }
              .PropertiesPage .content .PropertiesList .wrap .Property .bottom a.view:hover {
                background: #c12026; }
          @media (min-width: 600px) and (max-width: 899px) {
            .PropertiesPage .content .PropertiesList .wrap .Property {
              *zoom: 1;
              float: left;
              clear: none;
              text-align: inherit;
              width: 49.5%;
              margin-left: 0%;
              margin-right: 1%;
              margin-bottom: 1em; }
              .PropertiesPage .content .PropertiesList .wrap .Property:before, .PropertiesPage .content .PropertiesList .wrap .Property:after {
                content: '';
                display: table; }
              .PropertiesPage .content .PropertiesList .wrap .Property:after {
                clear: both; }
              .PropertiesPage .content .PropertiesList .wrap .Property:nth-child(2n) {
                margin-right: 0%;
                float: right; }
              .PropertiesPage .content .PropertiesList .wrap .Property:nth-child(2n + 1) {
                clear: both; } }
          @media (min-width: 900px) {
            .PropertiesPage .content .PropertiesList .wrap .Property {
              margin-bottom: 1.2em; } }
          @media (min-width: 1000px) and (max-width: 1549px) {
            .PropertiesPage .content .PropertiesList .wrap .Property {
              *zoom: 1;
              float: left;
              clear: none;
              text-align: inherit;
              width: 49.5%;
              margin-left: 0%;
              margin-right: 1%;
              margin-bottom: 1em; }
              .PropertiesPage .content .PropertiesList .wrap .Property:before, .PropertiesPage .content .PropertiesList .wrap .Property:after {
                content: '';
                display: table; }
              .PropertiesPage .content .PropertiesList .wrap .Property:after {
                clear: both; }
              .PropertiesPage .content .PropertiesList .wrap .Property:nth-child(2n) {
                margin-right: 0%;
                float: right; }
              .PropertiesPage .content .PropertiesList .wrap .Property:nth-child(2n + 1) {
                clear: both; } }
          @media (min-width: 1550px) {
            .PropertiesPage .content .PropertiesList .wrap .Property {
              *zoom: 1;
              float: left;
              clear: none;
              text-align: inherit;
              width: 32.66667%;
              margin-left: 0%;
              margin-right: 1%;
              margin-bottom: 1.2em; }
              .PropertiesPage .content .PropertiesList .wrap .Property:before, .PropertiesPage .content .PropertiesList .wrap .Property:after {
                content: '';
                display: table; }
              .PropertiesPage .content .PropertiesList .wrap .Property:after {
                clear: both; }
              .PropertiesPage .content .PropertiesList .wrap .Property:nth-child(3n) {
                margin-right: 0%;
                float: right; }
              .PropertiesPage .content .PropertiesList .wrap .Property:nth-child(3n + 1) {
                clear: both; } }

.PropertyPage {
  display: -ms-flexbox;
  display: flex;
  background: #fff; }
  .PropertyPage .PropertiesMap {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    background: #EAEAEA;
    overflow: hidden; }
    @media (min-width: 900px) {
      .PropertyPage .PropertiesMap {
        display: block;
        right: 60%; } }
    .PropertyPage .PropertiesMap .Marker {
      background: #fff;
      border-radius: 10px;
      transition: all 0.25s ease-in-out;
      text-align: center;
      opacity: 0.75; }
      .PropertyPage .PropertiesMap .Marker a {
        background: #fff;
        border: 2px solid red;
        font-size: 14px;
        color: #424242;
        text-decoration: none;
        padding: 5px;
        border-radius: 3px; }
      .PropertyPage .PropertiesMap .Marker:hover {
        opacity: 1; }
  .PropertyPage .content {
    -ms-flex: 1;
        flex: 1;
    position: relative;
    background: #fff;
    z-index: 2; }
    @media (min-width: 900px) {
      .PropertyPage .content {
        margin-left: 40%; } }
    .PropertyPage .content .Property {
      font-size: 1.6em;
      padding-bottom: 2em; }
      .PropertyPage .content .Property .header {
        padding: 1.5em 0 1em; }
        @media (min-width: 550px) {
          .PropertyPage .content .Property .header {
            padding: 2em 0; } }
        .PropertyPage .content .Property .header h1 {
          float: left;
          font-size: 1.75em;
          font-weight: 300; }
          @media (min-width: 550px) {
            .PropertyPage .content .Property .header h1 {
              width: 75%; } }
          .PropertyPage .content .Property .header h1 .SuburbDistrict {
            font-weight: 400; }
          .PropertyPage .content .Property .header h1 .SuburbRegion {
            font-weight: 600; }
        .PropertyPage .content .Property .header .code {
          font-size: 1.3em;
          color: #696969;
          line-height: 2; }
          @media (min-width: 550px) {
            .PropertyPage .content .Property .header .code {
              float: right; } }
      .PropertyPage .content .Property .top {
        background-color: #F5F5F5;
        background-position: 50% 50%;
        background-size: cover;
        background-repeat: no-repeat;
        height: 330px; }
        .PropertyPage .content .Property .top .wrap {
          height: 100%;
          overflow: hidden; }
          .PropertyPage .content .Property .top .wrap .price {
            float: left;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-align: center;
                align-items: center;
            -ms-flex-pack: center;
                justify-content: center;
            background: #c12026;
            padding: 0 2.4em;
            height: 5em; }
            @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
              .PropertyPage .content .Property .top .wrap .price {
                min-width: 175px;
                text-align: center; } }
            .PropertyPage .content .Property .top .wrap .price .inner {
              -ms-flex: 1;
                  flex: 1;
              font-size: 2.2em;
              color: #fff;
              font-weight: 700;
              text-decoration: none; }
          .PropertyPage .content .Property .top .wrap .gallery {
            float: left;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-align: center;
                align-items: center;
            -ms-flex-pack: center;
                justify-content: center;
            background: #424242;
            padding: 0 1.1em;
            height: 5em;
            cursor: pointer;
            opacity: 0.7; }
            @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
              .PropertyPage .content .Property .top .wrap .gallery {
                min-width: 175px;
                text-align: center; } }
            .PropertyPage .content .Property .top .wrap .gallery:hover {
              opacity: 0.85; }
            .PropertyPage .content .Property .top .wrap .gallery .inner {
              -ms-flex: 1;
                  flex: 1;
              font-size: 0.95em;
              color: #fff;
              text-align: center;
              font-weight: 500;
              text-decoration: none; }
              .PropertyPage .content .Property .top .wrap .gallery .inner strong {
                display: block;
                font-weight: 700; }
          .PropertyPage .content .Property .top .wrap .favourite {
            text-align: center;
            width: 57.6px;
            position: absolute;
            right: 0;
            bottom: -6px;
            background: #fff;
            width: 95px; }
            .PropertyPage .content .Property .top .wrap .favourite .icon {
              font-size: 36px;
              color: #c12026;
              line-height: 72px; }
              .PropertyPage .content .Property .top .wrap .favourite .icon.faded {
                color: #424242;
                opacity: 0.1; }
                .PropertyPage .content .Property .top .wrap .favourite .icon.faded:hover {
                  opacity: 0.15; }
      .PropertyPage .content .Property .middle::after {
        content: "";
        display: table;
        clear: both; }
      .PropertyPage .content .Property .middle .badges {
        height: 90px;
        float: left;
        margin-top: 6px;
        margin-bottom: 13px; }
        .PropertyPage .content .Property .middle .badges li {
          position: relative;
          float: left;
          width: 67.5px;
          text-align: center; }
          .PropertyPage .content .Property .middle .badges li:last-child {
            margin-left: -2px; }
          .PropertyPage .content .Property .middle .badges li .icon {
            font-size: 45px;
            color: #c12026;
            line-height: 90px;
            text-align: center;
            width: 45px; }
            .PropertyPage .content .Property .middle .badges li .icon.faded {
              color: #2c2c2c;
              opacity: 0.1; }
            .PropertyPage .content .Property .middle .badges li .icon.icon-bedrooms {
              font-size: 49.5px; }
            .PropertyPage .content .Property .middle .badges li .icon.icon-bathrooms::before {
              top: -6.75px; }
            .PropertyPage .content .Property .middle .badges li .icon.icon-cars {
              font-size: 38.25px; }
            .PropertyPage .content .Property .middle .badges li .icon::before {
              position: relative; }
            .PropertyPage .content .Property .middle .badges li .icon .count {
              position: absolute;
              bottom: 13.5px;
              left: 0;
              right: 0;
              background: #838486;
              font-size: 18.9px;
              color: #fff;
              line-height: 26px;
              font-weight: 700;
              text-align: center;
              width: 27px;
              height: 27px;
              margin: 0 auto;
              border-radius: 13.5px;
              opacity: 0.9; }
        @media (min-width: 601px) and (max-width: 899px), (min-width: 1051px) {
          .PropertyPage .content .Property .middle .badges {
            margin-top: 8px; } }
      .PropertyPage .content .Property .middle .actions {
        min-width: 250px; }
        @media (min-width: 0) and (max-width: 600px), (min-width: 900px) and (max-width: 1050px) {
          .PropertyPage .content .Property .middle .actions {
            clear: both;
            margin-bottom: 1em; }
            .PropertyPage .content .Property .middle .actions::after {
              content: "";
              display: table;
              clear: both; } }
        @media (min-width: 601px) and (max-width: 899px), (min-width: 1051px) {
          .PropertyPage .content .Property .middle .actions {
            float: right;
            margin-top: 28px; } }
        .PropertyPage .content .Property .middle .actions li > a,
        .PropertyPage .content .Property .middle .actions li .label {
          display: block;
          font-size: 1.1em;
          text-align: center;
          text-decoration: none;
          padding: 0.35em 0.5em;
          margin-bottom: 0.25em; }
          @media (min-width: 601px) and (max-width: 899px), (min-width: 1051px) {
            .PropertyPage .content .Property .middle .actions li > a,
            .PropertyPage .content .Property .middle .actions li .label {
              padding-right: 2em;
              padding-left: 2em; } }
        .PropertyPage .content .Property .middle .actions li.book a {
          background: #ebeced;
          padding: 0;
          border-radius: 6px 6px 0 0; }
          .PropertyPage .content .Property .middle .actions li.book a img {
            display: block;
            max-width: 200px;
            margin: 0 auto; }
          .PropertyPage .content .Property .middle .actions li.book a span {
            display: block;
            background: #fdd10d;
            border: 1px solid #cb8725;
            color: #ad7c07;
            font-weight: 400;
            padding: 0.35em 0.5em;
            border-radius: 0 0 6px 6px; }
        .PropertyPage .content .Property .middle .actions li.apply a {
          background: #c12026;
          border: 1px solid transparent;
          color: #fff;
          font-weight: 600; }
        .PropertyPage .content .Property .middle .actions li.map a,
        .PropertyPage .content .Property .middle .actions li.map span {
          background: #fff;
          border: 1px solid #c12026;
          color: #c12026;
          font-weight: 300; }
          @media (min-width: 1051px) {
            .PropertyPage .content .Property .middle .actions li.map a,
            .PropertyPage .content .Property .middle .actions li.map span {
              display: none; } }
          .PropertyPage .content .Property .middle .actions li.map a.faded,
          .PropertyPage .content .Property .middle .actions li.map span.faded {
            opacity: 0.075;
            cursor: default; }
            @media (min-width: 601px) and (max-width: 899px), (min-width: 1051px) {
              .PropertyPage .content .Property .middle .actions li.map a.faded,
              .PropertyPage .content .Property .middle .actions li.map span.faded {
                display: none; } }
        .PropertyPage .content .Property .middle .actions li.share {
          position: relative;
          background: #e3ebed;
          border: 1px solid transparent;
          color: #454545;
          font-weight: 400;
          overflow: hidden; }
          .PropertyPage .content .Property .middle .actions li.share .label {
            margin-bottom: 0; }
            .PropertyPage .content .Property .middle .actions li.share .label .icon {
              margin-right: 0.5em; }
          .PropertyPage .content .Property .middle .actions li.share .networks {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            top: -100%;
            bottom: 100%;
            display: -ms-flexbox;
            display: flex;
            background: #c12026;
            color: #fff;
            transition: all 0.25s ease-in-out; }
            .PropertyPage .content .Property .middle .actions li.share .networks li {
              -ms-flex: 1;
                  flex: 1;
              font-size: 1.2em; }
              .PropertyPage .content .Property .middle .actions li.share .networks li.facebook {
                background: #3b5998; }
              .PropertyPage .content .Property .middle .actions li.share .networks li.googleplus {
                background: #4285F4; }
              .PropertyPage .content .Property .middle .actions li.share .networks li a {
                color: #fff;
                text-decoration: none; }
          .PropertyPage .content .Property .middle .actions li.share .open .networks {
            top: 0;
            bottom: 0; }
      .PropertyPage .content .Property .middle .description {
        clear: left; }
        @media (min-width: 601px) and (max-width: 899px), (min-width: 1051px) {
          .PropertyPage .content .Property .middle .description {
            margin-right: 300px; } }
        .PropertyPage .content .Property .middle .description .details {
          margin-bottom: 1em; }
      .PropertyPage .content .Property .middle .agent {
        font-size: 0.85em;
        margin-top: 3em; }
        .PropertyPage .content .Property .middle .agent a {
          color: #c12026; }
        .PropertyPage .content .Property .middle .agent .left {
          float: left;
          margin-right: 1em; }
          .PropertyPage .content .Property .middle .agent .left img {
            width: 120px; }
          .PropertyPage .content .Property .middle .agent .left .Image {
            float: left;
            border: 1px solid #dfdfdf;
            margin-bottom: 1em;
            transition: border 0.25s ease-in-out; }
            .PropertyPage .content .Property .middle .agent .left .Image:hover {
              border-color: #c12026; }
          .PropertyPage .content .Property .middle .agent .left .HoverImage {
            display: none; }
        .PropertyPage .content .Property .middle .agent .right .position {
          font-size: 1.3em; }
        .PropertyPage .content .Property .middle .agent .right .offices {
          font-size: 1.2em;
          color: #c12026;
          font-style: italic;
          margin-bottom: 0.5em; }
        .PropertyPage .content .Property .middle .agent .right .contact {
          font-size: 1.1em; }

.NewsPage .News .category h2 {
  font-size: 1.65em;
  color: #afafaf;
  font-style: italic;
  font-weight: 400;
  margin-top: -1.8em; }
  @media (min-width: 900px) {
    .NewsPage .News .category h2 {
      margin-top: -0.6em; } }

.NewsPage .News .category ~ .NewsList {
  margin-top: 1em; }
  @media (min-width: 900px) {
    .NewsPage .News .category ~ .NewsList {
      margin-top: 2em; } }

.NewsPage .News .NewsList {
  margin-top: -1em; }
  .NewsPage .News .NewsList .Status .Select {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    background: #fff;
    transition: all 0.25s ease-in-out;
    border: 1px solid #a5a5a5;
    font-size: 1.3em;
    margin-bottom: 0.5em; }
    @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
      .NewsPage .News .NewsList .Status .Select {
        height: 2.6em; } }
    .NewsPage .News .NewsList .Status .Select .Select-control {
      display: -ms-flexbox;
      display: flex;
      -ms-flex: 1;
          flex: 1;
      background: transparent;
      border: 0 none;
      border-radius: 0;
      height: auto;
      cursor: pointer;
      box-shadow: none !important; }
      .NewsPage .News .NewsList .Status .Select .Select-control .Select-placeholder,
      .NewsPage .News .NewsList .Status .Select .Select-control .Select-value {
        -ms-flex: 1;
            flex: 1;
        color: #2c2c2c;
        line-height: inherit;
        padding: 0.75em;
        padding-right: 4em; }
      .NewsPage .News .NewsList .Status .Select .Select-control .Select-input {
        -ms-flex: 1;
            flex: 1;
        display: block;
        height: auto;
        padding: 0.75em; }
      .NewsPage .News .NewsList .Status .Select .Select-control .Select-arrow-zone,
      .NewsPage .News .NewsList .Status .Select .Select-control .Select-clear-zone {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: center;
            justify-content: center; }
      .NewsPage .News .NewsList .Status .Select .Select-control .Select-arrow-zone {
        width: 1em;
        padding: 0;
        margin-right: 1em; }
        .NewsPage .News .NewsList .Status .Select .Select-control .Select-arrow-zone .Select-arrow {
          background: url("/themes/oxygen/images/down-chevron-thin.png") 50% 50% no-repeat;
          background-size: 100%;
          border: 0 none;
          width: 1em;
          height: 1em; }
      .NewsPage .News .NewsList .Status .Select .Select-control .Select-clear-zone {
        width: 1.25em;
        margin-right: 0.5em; }
        .NewsPage .News .NewsList .Status .Select .Select-control .Select-clear-zone .Select-clear {
          font-size: 18px; }
    .NewsPage .News .NewsList .Status .Select .Select-menu-outer {
      border-color: rgba(0, 0, 0, 0.1);
      border-radius: 0;
      box-shadow: none; }
      .NewsPage .News .NewsList .Status .Select .Select-menu-outer .Select-option {
        font-size: 0.9em;
        padding: 0.75em;
        transition: all 0.1s ease-out-out;
        border-radius: 0; }
        .NewsPage .News .NewsList .Status .Select .Select-menu-outer .Select-option.is-focused {
          background: #f9f9f9;
          color: #000; }
    .NewsPage .News .NewsList .Status .Select.Select--multi .Select-input {
      padding-left: 0;
      padding-right: 0; }
    .NewsPage .News .NewsList .Status .Select.Select--multi .Select-item {
      display: none;
      background: none;
      border: 0 none;
      font-size: 1em;
      color: inherit;
      margin: 0;
      padding: 0; }
      .NewsPage .News .NewsList .Status .Select.Select--multi .Select-item .Select-item-icon {
        display: none; }
      .NewsPage .News .NewsList .Status .Select.Select--multi .Select-item .Select-item-label {
        white-space: nowrap;
        padding: 0;
        vertical-align: inherit; }
      .NewsPage .News .NewsList .Status .Select.Select--multi .Select-item:first-child {
        display: inline-block;
        padding: 0.75em;
        padding-right: 0.4em; }
      .NewsPage .News .NewsList .Status .Select.Select--multi .Select-item:nth-child(2) {
        display: inline-block;
        padding: 0.75em;
        padding-left: 0;
        padding-right: 0; }
        .NewsPage .News .NewsList .Status .Select.Select--multi .Select-item:nth-child(2) .Select-item-label {
          display: none; }
        .NewsPage .News .NewsList .Status .Select.Select--multi .Select-item:nth-child(2):after {
          content: '+More';
          color: #949494;
          white-space: nowrap; }
    .NewsPage .News .NewsList .Status .Select.is-open {
      background: rgba(255, 255, 255, 0.87); }
    .NewsPage .News .NewsList .Status .Select.is-searchable .Select-input {
      padding: 0; }
      .NewsPage .News .NewsList .Status .Select.is-searchable .Select-input input {
        -ms-flex: 1;
            flex: 1;
        display: block;
        font-size: 1em;
        height: auto;
        padding: 0.75em; }
    .NewsPage .News .NewsList .Status .Select.is-disabled .Select-input {
      padding: 0.75em; }
    @media (min-width: 400px) and (max-width: 899px) {
      .NewsPage .News .NewsList .Status .Select {
        *zoom: 1;
        float: left;
        clear: none;
        text-align: inherit;
        width: 48.5%;
        margin-left: 0%;
        margin-right: 3%; }
        .NewsPage .News .NewsList .Status .Select:before, .NewsPage .News .NewsList .Status .Select:after {
          content: '';
          display: table; }
        .NewsPage .News .NewsList .Status .Select:after {
          clear: both; }
        .NewsPage .News .NewsList .Status .Select:last-child {
          margin-right: 0%; } }
    @media (min-width: 900px) {
      .NewsPage .News .NewsList .Status .Select {
        max-width: 13.5em; } }
  .NewsPage .News .NewsList .Content {
    margin-top: 2em;
    margin-bottom: 2em; }
    @media (min-width: 900px) {
      .NewsPage .News .NewsList .Content {
        margin-top: 2em;
        margin-bottom: 2em; } }
    @media (min-width: 900px) {
      .NewsPage .News .NewsList .Content.hasCategories::after {
        content: "";
        display: table;
        clear: both; }
      .NewsPage .News .NewsList .Content.hasCategories .Articles {
        *zoom: 1;
        float: left;
        clear: none;
        text-align: inherit;
        width: 65.66667%;
        margin-left: 0%;
        margin-right: 3%; }
        .NewsPage .News .NewsList .Content.hasCategories .Articles:before, .NewsPage .News .NewsList .Content.hasCategories .Articles:after {
          content: '';
          display: table; }
        .NewsPage .News .NewsList .Content.hasCategories .Articles:after {
          clear: both; }
        .NewsPage .News .NewsList .Content.hasCategories .Articles:last-child {
          margin-right: 0%; }
      .NewsPage .News .NewsList .Content.hasCategories .Categories {
        *zoom: 1;
        float: left;
        clear: none;
        text-align: inherit;
        width: 31.33333%;
        margin-left: 0%;
        margin-right: 3%;
        border-right: 1px solid #c12026;
        text-align: right;
        padding: 0 1.5em; }
        .NewsPage .News .NewsList .Content.hasCategories .Categories:before, .NewsPage .News .NewsList .Content.hasCategories .Categories:after {
          content: '';
          display: table; }
        .NewsPage .News .NewsList .Content.hasCategories .Categories:after {
          clear: both; }
        .NewsPage .News .NewsList .Content.hasCategories .Categories:last-child {
          margin-right: 0%; }
        .NewsPage .News .NewsList .Content.hasCategories .Categories h1 {
          font-size: 1.6em;
          font-weight: 600;
          margin-bottom: 0.6em; }
        .NewsPage .News .NewsList .Content.hasCategories .Categories ul li {
          margin-bottom: 0.3em; }
          .NewsPage .News .NewsList .Content.hasCategories .Categories ul li a {
            font-size: 1.6em;
            color: #414141;
            text-decoration: none;
            transition: color 0.25s ease-in-out; }
            .NewsPage .News .NewsList .Content.hasCategories .Categories ul li a.current, .NewsPage .News .NewsList .Content.hasCategories .Categories ul li a:hover {
              color: #c12026; } }
    .NewsPage .News .NewsList .Content .Articles .Article {
      border-bottom: 1px solid #ececec;
      padding-bottom: 2em;
      margin-bottom: 2em; }
      .NewsPage .News .NewsList .Content .Articles .Article::after {
        content: "";
        display: table;
        clear: both; }
      @media (min-width: 600px) {
        .NewsPage .News .NewsList .Content .Articles .Article .left {
          float: left;
          background: #f5f5f5;
          width: 100px;
          height: 100px; }
        .NewsPage .News .NewsList .Content .Articles .Article .right {
          margin-left: 130px; } }
      .NewsPage .News .NewsList .Content .Articles .Article .Image {
        display: block;
        background-position: 50% 50%;
        background-size: cover;
        height: 100px;
        margin-bottom: 1.5em; }
      .NewsPage .News .NewsList .Content .Articles .Article h2 {
        font-size: 1.7em;
        font-weight: 600; }
        .NewsPage .News .NewsList .Content .Articles .Article h2 a {
          color: #424242;
          text-decoration: none; }
      .NewsPage .News .NewsList .Content .Articles .Article .date {
        font-size: 1.3em;
        color: #424242;
        font-style: italic;
        margin-bottom: 0.5em; }
        .NewsPage .News .NewsList .Content .Articles .Article .date a {
          color: #c12026;
          text-decoration: none; }
      .NewsPage .News .NewsList .Content .Articles .Article .blurb {
        font-size: 1.4em; }
      .NewsPage .News .NewsList .Content .Articles .Article .more {
        display: block;
        font-size: 1.4em;
        color: #c12026;
        font-weight: 400;
        text-decoration: none;
        margin-top: 0.35em; }
  .NewsPage .News .NewsList .Pagination {
    border-top: 1px solid #dedede;
    font-size: 1.75em; }
    .NewsPage .News .NewsList .Pagination .left {
      border-right: 1px solid #dedede; }

.NewsArticlePage .sections:first-child {
  padding-bottom: 0; }
  .NewsArticlePage .sections:first-child .date {
    font-size: 1.1em;
    color: #afafaf;
    font-style: italic;
    font-weight: 400; }
  .NewsArticlePage .sections:first-child .category {
    font-size: 1.1em; }

.NewsArticlePage .share {
  float: right; }
  .NewsArticlePage .share > .SocialMediaShareButton {
    display: inline-block;
    margin-left: 2px;
    opacity: 0.85;
    transition: opacity 0.25s ease-in-out;
    cursor: pointer; }
    .NewsArticlePage .share > .SocialMediaShareButton:hover {
      opacity: 1; }

.AboutPage > div .section.buttons.more .icon {
  font-size: 1em;
  margin-right: 0.5em; }

.AboutPage > div .section.buttons.more ~ .section {
  display: none; }

.AboutPage > div.open .section.buttons.more {
  display: none; }
  .AboutPage > div.open .section.buttons.more ~ .section {
    display: block; }

.MeetTheTeamPage .AgentsList ul {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  margin-bottom: 1em; }
  @media (min-width: 600px) {
    .MeetTheTeamPage .AgentsList ul {
      margin-bottom: 3em; } }
  @media (min-width: 800px) {
    .MeetTheTeamPage .AgentsList ul {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -ms-flex-pack: start;
          justify-content: flex-start; } }
  .MeetTheTeamPage .AgentsList ul li {
    background: #fff;
    border: 1px solid #c12026;
    font-size: 1.4em;
    text-align: center;
    width: 49%;
    padding: 1em 0;
    margin-bottom: 0.5em; }
    @media (min-width: 800px) {
      .MeetTheTeamPage .AgentsList ul li {
        width: 24%;
        margin-right: 1%;
        margin-bottom: 0; }
        .MeetTheTeamPage .AgentsList ul li:last-child {
          width: 25%;
          margin-right: 0; } }
    .MeetTheTeamPage .AgentsList ul li.current {
      position: relative;
      background: #c12026;
      color: #fff;
      font-weight: 700; }
    .MeetTheTeamPage .AgentsList ul li.link {
      padding: 0; }
      .MeetTheTeamPage .AgentsList ul li.link a {
        display: block;
        color: #424242;
        text-decoration: none;
        padding: 1em 0; }

.MeetTheTeamPage .AgentsList .Teams .Team {
  margin-bottom: 1em; }
  .MeetTheTeamPage .AgentsList .Teams .Team.careers .Image, .MeetTheTeamPage .AgentsList .Teams .Team.careers .HoverImage {
    opacity: 0.2; }
  .MeetTheTeamPage .AgentsList .Teams .Team h2 {
    font-size: 1.8em;
    font-weight: 300;
    margin-bottom: 0.5em; }
  .MeetTheTeamPage .AgentsList .Teams .Team .Agents::after {
    content: "";
    display: table;
    clear: both; }
  .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent {
    position: relative;
    display: block;
    background: #fff;
    color: #2c2c2c;
    text-decoration: none;
    width: 100%;
    margin-bottom: 1em; }
    @media (min-width: 450px) {
      .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent {
        *zoom: 1;
        float: left;
        clear: none;
        text-align: inherit;
        width: 48.5%;
        margin-left: 0%;
        margin-right: 3%;
        margin-bottom: 1.5em; }
        .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent:before, .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent:after {
          content: '';
          display: table; }
        .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent:after {
          clear: both; }
        .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent:nth-child(2n) {
          margin-right: 0%;
          float: right; }
        .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent:nth-child(2n + 1) {
          clear: both; } }
    @media (min-width: 650px) {
      .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent {
        *zoom: 1;
        float: left;
        clear: none;
        text-align: inherit;
        width: 31.33333%;
        margin-left: 0%;
        margin-right: 3%;
        margin-bottom: 2em; }
        .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent:before, .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent:after {
          content: '';
          display: table; }
        .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent:after {
          clear: both; }
        .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent:nth-child(2n) {
          margin-right: 3%;
          float: left; }
        .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent:nth-child(2n + 1) {
          clear: none; }
        .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent:nth-child(3n) {
          margin-right: 0%;
          float: right; }
        .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent:nth-child(3n + 1) {
          clear: both; } }
    @media (min-width: 850px) {
      .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent {
        *zoom: 1;
        float: left;
        clear: none;
        text-align: inherit;
        width: 22.75%;
        margin-left: 0%;
        margin-right: 3%; }
        .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent:before, .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent:after {
          content: '';
          display: table; }
        .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent:after {
          clear: both; }
        .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent:nth-child(3n) {
          margin-right: 3%;
          float: left; }
        .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent:nth-child(3n + 1) {
          clear: none; }
        .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent:nth-child(4n) {
          margin-right: 0%;
          float: right; }
        .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent:nth-child(4n + 1) {
          clear: both; } }
    .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent img {
      border: 1px solid #dfdfdf;
      width: 100%;
      transition: border 0.25s ease-in-out; }
      .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent img:hover {
        border-color: #c12026; }
    .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent .nameplate {
      background: #F3F3F3;
      font-size: 1.5em;
      text-align: center;
      padding: 0.5em 0.25em; }
      .MeetTheTeamPage .AgentsList .Teams .Team .Agents .Agent .nameplate strong {
        display: block;
        color: #c12026; }

.AgentPage .sections {
  margin-top: 2em; }
  @media (min-width: 900px) {
    .AgentPage .sections .left {
      float: left;
      margin-right: 2em; } }
  .AgentPage .sections .left .Image {
    border: 1px solid #dfdfdf;
    margin-bottom: 1em; }
  .AgentPage .sections .right .position {
    font-size: 1.3em; }
  .AgentPage .sections .right .offices {
    font-size: 1.2em;
    color: #c12026;
    font-style: italic;
    margin-bottom: 0.5em; }
  .AgentPage .sections .right .contact {
    font-size: 1.1em; }

.AgentPage .Video {
  display: block;
  width: 100% !important;
  margin-top: 2em; }
  @media (min-width: 900px) {
    .AgentPage .Video {
      margin-bottom: 3em; } }

.ApplyOnlinePage .steps {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: justify;
      justify-content: space-between;
  max-width: 400px;
  margin-bottom: 2.5em; }
  .ApplyOnlinePage .steps li {
    -ms-flex: 1;
        flex: 1;
    border-top: 10px solid #D1D1D3;
    font-size: 1.5em;
    text-align: center;
    font-weight: 400;
    line-height: 2;
    margin: 0 0.25em;
    opacity: 0.65;
    transition: all 0.25s ease-in-out;
    cursor: default; }
    .ApplyOnlinePage .steps li.past {
      border-color: #0DA70D;
      cursor: pointer; }
    .ApplyOnlinePage .steps li.current {
      opacity: 1;
      cursor: default; }
    .ApplyOnlinePage .steps li:first-child {
      margin-left: 0; }
    .ApplyOnlinePage .steps li:last-child {
      margin-right: 0; }

.ApplyOnlinePage .quickstart {
  margin-top: 2em; }
  .ApplyOnlinePage .quickstart h2 {
    position: relative;
    left: -0.5em;
    max-width: 300px; }
  .ApplyOnlinePage .quickstart .row {
    margin-top: 1em; }
    .ApplyOnlinePage .quickstart .row::after {
      content: "";
      display: table;
      clear: both; }
    @media (min-width: 550px) {
      .ApplyOnlinePage .quickstart .row .fieldHolder {
        *zoom: 1;
        float: left;
        clear: none;
        text-align: inherit;
        width: 31.33333%;
        margin-left: 0%;
        margin-right: 3%; }
        .ApplyOnlinePage .quickstart .row .fieldHolder:before, .ApplyOnlinePage .quickstart .row .fieldHolder:after {
          content: '';
          display: table; }
        .ApplyOnlinePage .quickstart .row .fieldHolder:after {
          clear: both; }
        .ApplyOnlinePage .quickstart .row .fieldHolder:nth-child(3n) {
          margin-right: 0%;
          float: right; }
        .ApplyOnlinePage .quickstart .row .fieldHolder:nth-child(3n + 1) {
          clear: both; } }

.ApplyOnlinePage h6 {
  margin-bottom: 1.5em; }

@media print {
  @page {
    margin: 0.5cm; }
  body {
    margin: 0; } }

body.PrintForm {
  color: #000;
  font-weight: 400;
  padding-bottom: 1em;
  overflow-y: auto; }

#PrintForm {
  font-size: 0.95em;
  width: 96%; }
  @media print {
    #PrintForm {
      width: 100%; } }
  #PrintForm .logo {
    padding: 1em 0; }
    @media print {
      #PrintForm .logo {
        padding-top: 0; } }
    #PrintForm .logo h1 {
      font-size: 1.8em;
      color: #c12026;
      font-weight: 600;
      padding: 0; }
    #PrintForm .logo img {
      float: right;
      height: 2.5em; }
  #PrintForm .pagebreak {
    page-break-before: always;
    padding-top: 1.6cm; }
  #PrintForm h2 {
    clear: both;
    font-size: 1.4em;
    font-weight: 400;
    margin-top: 0.75em;
    margin-bottom: 0.25em; }
  #PrintForm h3 {
    clear: both; }
  #PrintForm table {
    page-break-inside: avoid !important;
    table-layout: fixed;
    border: 1px solid #000;
    width: 100%; }
    #PrintForm table tr:last-child td {
      border-bottom: 0 none; }
    #PrintForm table tr th, #PrintForm table tr td {
      font-weight: bold; }
    #PrintForm table tr th {
      background: #3E3E3E;
      border-bottom: 1px solid #ccc;
      color: #fff;
      text-align: left;
      text-transform: uppercase;
      font-weight: bold;
      padding: 0.5em; }
      #PrintForm table tr th em {
        text-transform: none;
        font-weight: 200;
        font-style: normal; }
    #PrintForm table tr td {
      border-right: 1px solid #ccc;
      border-bottom: 1px solid #ccc;
      padding: 0.5em; }
      #PrintForm table tr td.grey {
        background: #F1F1F1; }
      #PrintForm table tr td.statement {
        font-weight: normal; }
        #PrintForm table tr td.statement p {
          margin-bottom: 0.5em; }
        #PrintForm table tr td.statement p:last-child {
          margin-bottom: 0; }
      #PrintForm table tr td.signature {
        padding: 3em 0.5em; }
      #PrintForm table tr td:last-child {
        border-right: 0 none; }
    #PrintForm table tr strong {
      font-weight: normal;
      text-transform: uppercase; }
    #PrintForm table + table {
      border-top: 0 none; }
  #PrintForm .fineprint {
    font-size: 0.9em; }
  #PrintForm .file {
    page-break-inside: avoid !important;
    padding: 0.8cm 0; }
    #PrintForm .file h3 {
      clear: both;
      font-size: 1.5em;
      font-weight: 300;
      width: 70%;
      margin: 0 auto; }
    #PrintForm .file img {
      display: block;
      border: 1px solid #ccc;
      width: 70%;
      padding: 5px;
      margin: 0 auto; }

.MovingHubPage .MovingHub {
  border: 0 none;
  width: 100%;
  min-height: 46em; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJpbmZ1c2VkL2Jvd2VyX2NvbXBvbmVudHMvbW9kdWxhcml6ZWQtbm9ybWFsaXplLXNjc3MvX25vcm1hbGl6ZS5zY3NzIiwiaW5mdXNlZC9ib3dlcl9jb21wb25lbnRzL21vZHVsYXJpemVkLW5vcm1hbGl6ZS1zY3NzL2Jhc2UvX2h0bWwuc2NzcyIsImluZnVzZWQvYm93ZXJfY29tcG9uZW50cy9tb2R1bGFyaXplZC1ub3JtYWxpemUtc2Nzcy9iYXNlL19ib2R5LnNjc3MiLCJpbmZ1c2VkL2Jvd2VyX2NvbXBvbmVudHMvbW9kdWxhcml6ZWQtbm9ybWFsaXplLXNjc3MvaHRtbDUvX2Jsb2Nrcy5zY3NzIiwiaW5mdXNlZC9ib3dlcl9jb21wb25lbnRzL21vZHVsYXJpemVkLW5vcm1hbGl6ZS1zY3NzL2h0bWw1L19pbmxpbmUtYmxvY2tzLnNjc3MiLCJpbmZ1c2VkL2Jvd2VyX2NvbXBvbmVudHMvbW9kdWxhcml6ZWQtbm9ybWFsaXplLXNjc3MvaHRtbDUvX2F1ZGlvLnNjc3MiLCJpbmZ1c2VkL2Jvd2VyX2NvbXBvbmVudHMvbW9kdWxhcml6ZWQtbm9ybWFsaXplLXNjc3MvaHRtbDUvX2hpZGRlbi5zY3NzIiwic3R5bGUuY3NzIiwiaW5mdXNlZC9ib3dlcl9jb21wb25lbnRzL21vZHVsYXJpemVkLW5vcm1hbGl6ZS1zY3NzL2xpbmtzL19maXgtYmFja2dyb3VuZC5zY3NzIiwiaW5mdXNlZC9ib3dlcl9jb21wb25lbnRzL21vZHVsYXJpemVkLW5vcm1hbGl6ZS1zY3NzL2xpbmtzL19maXgtb3V0bGluZS5zY3NzIiwiaW5mdXNlZC9ib3dlcl9jb21wb25lbnRzL21vZHVsYXJpemVkLW5vcm1hbGl6ZS1zY3NzL3RleHQtbGV2ZWwvX2FiYnIuc2NzcyIsImluZnVzZWQvYm93ZXJfY29tcG9uZW50cy9tb2R1bGFyaXplZC1ub3JtYWxpemUtc2Nzcy90ZXh0LWxldmVsL19maXgtYm9sZGVyLnNjc3MiLCJpbmZ1c2VkL2Jvd2VyX2NvbXBvbmVudHMvbW9kdWxhcml6ZWQtbm9ybWFsaXplLXNjc3MvdGV4dC1sZXZlbC9fZGZuLnNjc3MiLCJpbmZ1c2VkL2Jvd2VyX2NvbXBvbmVudHMvbW9kdWxhcml6ZWQtbm9ybWFsaXplLXNjc3MvdGV4dC1sZXZlbC9faGVhZGluZ3Muc2NzcyIsImluZnVzZWQvYm93ZXJfY29tcG9uZW50cy9tb2R1bGFyaXplZC1ub3JtYWxpemUtc2Nzcy90ZXh0LWxldmVsL19tYXJrLnNjc3MiLCJpbmZ1c2VkL2Jvd2VyX2NvbXBvbmVudHMvbW9kdWxhcml6ZWQtbm9ybWFsaXplLXNjc3MvdGV4dC1sZXZlbC9fc21hbGwuc2NzcyIsImluZnVzZWQvYm93ZXJfY29tcG9uZW50cy9tb2R1bGFyaXplZC1ub3JtYWxpemUtc2Nzcy90ZXh0LWxldmVsL19zdWItYW5kLXN1cC5zY3NzIiwiaW5mdXNlZC9ib3dlcl9jb21wb25lbnRzL21vZHVsYXJpemVkLW5vcm1hbGl6ZS1zY3NzL2VtYmVkL19pbWcuc2NzcyIsImluZnVzZWQvYm93ZXJfY29tcG9uZW50cy9tb2R1bGFyaXplZC1ub3JtYWxpemUtc2Nzcy9lbWJlZC9fc3ZnLnNjc3MiLCJpbmZ1c2VkL2Jvd2VyX2NvbXBvbmVudHMvbW9kdWxhcml6ZWQtbm9ybWFsaXplLXNjc3MvZ3JvdXBpbmcvX2ZpZ3VyZS5zY3NzIiwiaW5mdXNlZC9ib3dlcl9jb21wb25lbnRzL21vZHVsYXJpemVkLW5vcm1hbGl6ZS1zY3NzL2dyb3VwaW5nL19oci5zY3NzIiwiaW5mdXNlZC9ib3dlcl9jb21wb25lbnRzL21vZHVsYXJpemVkLW5vcm1hbGl6ZS1zY3NzL2dyb3VwaW5nL19wcmUuc2NzcyIsImluZnVzZWQvYm93ZXJfY29tcG9uZW50cy9tb2R1bGFyaXplZC1ub3JtYWxpemUtc2Nzcy9ncm91cGluZy9fZml4LW1vbm9zcGFjZS5zY3NzIiwiaW5mdXNlZC9ib3dlcl9jb21wb25lbnRzL21vZHVsYXJpemVkLW5vcm1hbGl6ZS1zY3NzL2Zvcm1zL19maXgtZm9udC5zY3NzIiwiaW5mdXNlZC9ib3dlcl9jb21wb25lbnRzL21vZHVsYXJpemVkLW5vcm1hbGl6ZS1zY3NzL2Zvcm1zL19maXgtb3ZlcmZsb3cuc2NzcyIsImluZnVzZWQvYm93ZXJfY29tcG9uZW50cy9tb2R1bGFyaXplZC1ub3JtYWxpemUtc2Nzcy9mb3Jtcy9fZml4LXRleHQtdHJhbnNmb3JtLnNjc3MiLCJpbmZ1c2VkL2Jvd2VyX2NvbXBvbmVudHMvbW9kdWxhcml6ZWQtbm9ybWFsaXplLXNjc3MvZm9ybXMvX2J1dHRvbnMuc2NzcyIsImluZnVzZWQvYm93ZXJfY29tcG9uZW50cy9tb2R1bGFyaXplZC1ub3JtYWxpemUtc2Nzcy9mb3Jtcy9fZGlzYWJsZWQuc2NzcyIsImluZnVzZWQvYm93ZXJfY29tcG9uZW50cy9tb2R1bGFyaXplZC1ub3JtYWxpemUtc2Nzcy9mb3Jtcy9fZml4LWZvY3VzLWlubmVyLnNjc3MiLCJpbmZ1c2VkL2Jvd2VyX2NvbXBvbmVudHMvbW9kdWxhcml6ZWQtbm9ybWFsaXplLXNjc3MvZm9ybXMvX2ZpeC1saW5lLWhlaWdodC5zY3NzIiwiaW5mdXNlZC9ib3dlcl9jb21wb25lbnRzL21vZHVsYXJpemVkLW5vcm1hbGl6ZS1zY3NzL2Zvcm1zL19jaGVja2JveC1hbmQtcmFkaW8uc2NzcyIsImluZnVzZWQvYm93ZXJfY29tcG9uZW50cy9tb2R1bGFyaXplZC1ub3JtYWxpemUtc2Nzcy9mb3Jtcy9fbnVtYmVyLnNjc3MiLCJpbmZ1c2VkL2Jvd2VyX2NvbXBvbmVudHMvbW9kdWxhcml6ZWQtbm9ybWFsaXplLXNjc3MvZm9ybXMvX3NlYXJjaC5zY3NzIiwiaW5mdXNlZC9ib3dlcl9jb21wb25lbnRzL21vZHVsYXJpemVkLW5vcm1hbGl6ZS1zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiaW5mdXNlZC9ib3dlcl9jb21wb25lbnRzL21vZHVsYXJpemVkLW5vcm1hbGl6ZS1zY3NzL2Zvcm1zL19sZWdlbmQuc2NzcyIsImluZnVzZWQvYm93ZXJfY29tcG9uZW50cy9tb2R1bGFyaXplZC1ub3JtYWxpemUtc2Nzcy9mb3Jtcy9fdGV4dGFyZWEuc2NzcyIsImluZnVzZWQvYm93ZXJfY29tcG9uZW50cy9tb2R1bGFyaXplZC1ub3JtYWxpemUtc2Nzcy9mb3Jtcy9fb3B0Z3JvdXAuc2NzcyIsImluZnVzZWQvYm93ZXJfY29tcG9uZW50cy9tb2R1bGFyaXplZC1ub3JtYWxpemUtc2Nzcy90YWJsZXMvX2ZpeC1jZWxsLXNwYWNpbmcuc2NzcyIsImluZnVzZWQvYm93ZXJfY29tcG9uZW50cy9qZWV0L3Njc3MvamVldC9pbmRleC5zY3NzIiwiaW5mdXNlZC9ib3dlcl9jb21wb25lbnRzL2plZXQvc2Nzcy9qZWV0L19zZXR0aW5ncy5zY3NzIiwiaW5mdXNlZC9ib3dlcl9jb21wb25lbnRzL2plZXQvc2Nzcy9qZWV0L19mdW5jdGlvbnMuc2NzcyIsImluZnVzZWQvYm93ZXJfY29tcG9uZW50cy9qZWV0L3Njc3MvamVldC9fZ3JpZC5zY3NzIiwiaW5mdXNlZC9pbmNsdWRlcy9fYmFzZS5zY3NzIiwiaW5mdXNlZC9pbmNsdWRlcy9fYm94LXNpemluZy5zY3NzIiwiaW5mdXNlZC9pbmNsdWRlcy9fcGxlYXNlcmVzcG9uZC5zY3NzIiwiaW5mdXNlZC9pbmNsdWRlcy9fdXRpbHMuc2NzcyIsIl9vcGVuc2Fucy5zY3NzIiwiY29tcG9uZW50cy9QYWdpbmF0aW9uLnNjc3MiLCJpbmZ1c2VkL2Jvd2VyX2NvbXBvbmVudHMvY29tcGFzcy1icmVha3BvaW50L3N0eWxlc2hlZXRzL19icmVha3BvaW50LnNjc3MiLCJjb21wb25lbnRzL1NlYXJjaC5zY3NzIiwiY29tcG9uZW50cy9TZWxlY3Quc2NzcyIsImNvbXBvbmVudHMvcmVhY3QtZGF0ZXRpbWUuY3NzIiwibGF5b3V0L190eXBvLnNjc3MiLCJsYXlvdXQvX21haW4uc2NzcyIsImxheW91dC9fbmF2aWdhdGlvbi5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImxheW91dC9fZm9ybXMuc2NzcyIsImxheW91dC9fcHJpbnQuc2NzcyIsInZpZXdzL0hvbWVQYWdlLnNjc3MiLCJjb21wb25lbnRzL1Byb3BlcnR5LnNjc3MiLCJjb21wb25lbnRzL2JhZGdlcy5zY3NzIiwiY29tcG9uZW50cy9mYXZvdXJpdGUuc2NzcyIsInZpZXdzL0xvZ2luUGFnZS5zY3NzIiwidmlld3MvQWNjb3VudFBhZ2Uuc2NzcyIsInZpZXdzL1Byb3BlcnRpZXNQYWdlLnNjc3MiLCJ2aWV3cy9Qcm9wZXJ0eVBhZ2Uuc2NzcyIsInZpZXdzL05ld3NQYWdlLnNjc3MiLCJ2aWV3cy9OZXdzQXJ0aWNsZVBhZ2Uuc2NzcyIsInZpZXdzL0Fib3V0UGFnZS5zY3NzIiwidmlld3MvTWVldFRoZVRlYW1QYWdlLnNjc3MiLCJ2aWV3cy9BZ2VudFBhZ2Uuc2NzcyIsInZpZXdzL0FwcGx5T25saW5lUGFnZS5zY3NzIiwidmlld3MvUHJpbnRGb3JtLnNjc3MiLCJ2aWV3cy9Nb3ZpbmdIdWJQYWdlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0VBRUU7QUNGRiw0RUFBNEU7QUNBNUU7Ozs7R0FJRztBQUVIO0VBQ0Usd0JBQXdCO0VBQUUsT0FBTztFQUNqQywyQkFBMkI7RUFBRSxPQUFPO0VBQ3BDLCtCQUErQjtFQUFFLE9BQU8sRUFDekM7O0FDVkQ7O0dBRUc7QUFFSDtFQUNFLFVBQVUsRUFDWDs7QUZBRDtnRkFDZ0Y7QUdQaEY7Ozs7O0dBS0c7QUFFSDs7Ozs7Ozs7Ozs7OztFQWFFLGVBQWUsRUFDaEI7O0FDckJEOzs7R0FHRztBQUVIOzs7O0VBSUUsc0JBQXNCO0VBQUUsT0FBTztFQUMvQix5QkFBeUI7RUFBRSxPQUFPLEVBQ25DOztBQ1hEOzs7R0FHRztBQUVIO0VBQ0UsY0FBYztFQUNkLFVBQVUsRUFDWDs7QUNSRDs7O0dBR0c7QUNvRUg7O0VEaEVFLGNBQWMsRUFDZjs7QU5PRDtnRkFDZ0Y7QVFoQmhGOztHQUVHO0FBRUg7RUFDRSw4QkFBOEIsRUFDL0I7O0FDTkQ7OztHQUdHO0FBRUg7O0VBRUUsV0FBVyxFQUNaOztBVGNEO2dGQUNnRjtBVXZCaEY7O0dBRUc7QUFFSDtFQUNFLDBCQUEwQixFQUMzQjs7QUNORDs7R0FF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L1xuJHdyYXAtd2lkdGg6IDg4JTtcbiR3cmFwLW1heC13aWR0aDogOTAwcHg7XG4kd3JhcC13aWRlLW1heC13aWR0aDogOTYlO1xuXG4kdGFibGV0OiA5MDBweDtcblxuQGltcG9ydCAnaW5mdXNlZC9pbmZ1c2VkJztcblxuLyoqXG4qIHN0eWxlXG4qL1xuJGJsYWNrOiAjNDI0MjQyO1xuJHJlZDogI2MxMjAyNjtcblxuJWhvdmVye1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2Utb3V0O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0Jjpob3Zlcntcblx0XHRvcGFjaXR5OiAwLjk1O1xuXHR9XG59XG5cbiVsYXllcntcblx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbiVjb25zdHJpY3RlZHtcblx0d2lkdGg6ICR3cmFwLXdpZGUtbWF4LXdpZHRoOyBtYXgtd2lkdGg6IDE0MDBweDtcbn1cblxuLy8vIEZPUiBPRkZMSU5FIFVTRSBPTkxZIC8vL1xuXHRAaW1wb3J0ICdvcGVuc2Fucyc7XG4vLy8gRk9SIE9GRkxJTkUgVVNFIE9OTFkgLy8vXG5cblxuXG5AaW1wb3J0ICdjb21wb25lbnRzL1BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9TZWxlY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9TZWFyY2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy9Qcm9wZXJ0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JlYWN0LWRhdGV0aW1lJztcblxuQGltcG9ydCAnbGF5b3V0L3R5cG8nO1xuQGltcG9ydCAnbGF5b3V0L21haW4nO1xuQGltcG9ydCAnbGF5b3V0L25hdmlnYXRpb24nO1xuQGltcG9ydCAnbGF5b3V0L2Zvb3Rlcic7XG5AaW1wb3J0ICdsYXlvdXQvZm9ybXMnO1xuQGltcG9ydCAnbGF5b3V0L3ByaW50JztcblxuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mYXZvdXJpdGUnO1xuXG5AaW1wb3J0ICd2aWV3cy9Ib21lUGFnZSc7XG5AaW1wb3J0ICd2aWV3cy9Mb2dpblBhZ2UnO1xuQGltcG9ydCAndmlld3MvQWNjb3VudFBhZ2UnO1xuQGltcG9ydCAndmlld3MvUHJvcGVydGllc1BhZ2UnO1xuQGltcG9ydCAndmlld3MvUHJvcGVydHlQYWdlJztcbkBpbXBvcnQgJ3ZpZXdzL05ld3NQYWdlJztcbkBpbXBvcnQgJ3ZpZXdzL05ld3NBcnRpY2xlUGFnZSc7XG5AaW1wb3J0ICd2aWV3cy9BYm91dFBhZ2UnO1xuQGltcG9ydCAndmlld3MvTWVldFRoZVRlYW1QYWdlJztcbkBpbXBvcnQgJ3ZpZXdzL0FnZW50UGFnZSc7XG5AaW1wb3J0ICd2aWV3cy9BcHBseU9ubGluZVBhZ2UnO1xuQGltcG9ydCAndmlld3MvUHJpbnRGb3JtJztcbkBpbXBvcnQgJ3ZpZXdzL01vdmluZ0h1YlBhZ2UnO1xuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG5AaW1wb3J0ICdiYXNlL2h0bWwnO1xuQGltcG9ydCAnYmFzZS9ib2R5JztcblxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW1wb3J0ICdodG1sNS9ibG9ja3MnO1xuQGltcG9ydCAnaHRtbDUvaW5saW5lLWJsb2Nrcyc7XG5AaW1wb3J0ICdodG1sNS9hdWRpbyc7XG5AaW1wb3J0ICdodG1sNS9oaWRkZW4nO1xuXG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW1wb3J0ICdsaW5rcy9maXgtYmFja2dyb3VuZCc7XG5AaW1wb3J0ICdsaW5rcy9maXgtb3V0bGluZSc7XG5cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbXBvcnQgJ3RleHQtbGV2ZWwvYWJicic7XG5AaW1wb3J0ICd0ZXh0LWxldmVsL2ZpeC1ib2xkZXInO1xuQGltcG9ydCAndGV4dC1sZXZlbC9kZm4nO1xuQGltcG9ydCAndGV4dC1sZXZlbC9oZWFkaW5ncyc7XG5AaW1wb3J0ICd0ZXh0LWxldmVsL21hcmsnO1xuQGltcG9ydCAndGV4dC1sZXZlbC9zbWFsbCc7XG5AaW1wb3J0ICd0ZXh0LWxldmVsL3N1Yi1hbmQtc3VwJztcblxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW1wb3J0ICdlbWJlZC9pbWcnO1xuQGltcG9ydCAnZW1iZWQvc3ZnJztcblxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW1wb3J0ICdncm91cGluZy9maWd1cmUnO1xuQGltcG9ydCAnZ3JvdXBpbmcvaHInO1xuQGltcG9ydCAnZ3JvdXBpbmcvcHJlJztcbkBpbXBvcnQgJ2dyb3VwaW5nL2ZpeC1tb25vc3BhY2UnO1xuXG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cblxuQGltcG9ydCAnZm9ybXMvZml4LWZvbnQnO1xuQGltcG9ydCAnZm9ybXMvZml4LW92ZXJmbG93JztcbkBpbXBvcnQgJ2Zvcm1zL2ZpeC10ZXh0LXRyYW5zZm9ybSc7XG5AaW1wb3J0ICdmb3Jtcy9idXR0b25zJztcbkBpbXBvcnQgJ2Zvcm1zL2Rpc2FibGVkJztcbkBpbXBvcnQgJ2Zvcm1zL2ZpeC1mb2N1cy1pbm5lcic7XG5AaW1wb3J0ICdmb3Jtcy9maXgtbGluZS1oZWlnaHQnO1xuQGltcG9ydCAnZm9ybXMvY2hlY2tib3gtYW5kLXJhZGlvJztcbkBpbXBvcnQgJ2Zvcm1zL251bWJlcic7XG5AaW1wb3J0ICdmb3Jtcy9zZWFyY2gnO1xuQGltcG9ydCAnZm9ybXMvZmllbGRzZXQnO1xuQGltcG9ydCAnZm9ybXMvbGVnZW5kJztcbkBpbXBvcnQgJ2Zvcm1zL3RleHRhcmVhJztcbkBpbXBvcnQgJ2Zvcm1zL29wdGdyb3VwJztcblxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbXBvcnQgJ3RhYmxlcy9maXgtY2VsbC1zcGFjaW5nJztcbiIsIi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuIiwiLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cbiIsIi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gKiBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4iLCIvKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuIiwiLypcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cbiIsIi8qXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKipcbiogaW5mdXNlZFxuKi9cbi8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLypcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLypcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkOyB9XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qKlxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG50aCxcbnRkIHtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiAgU3ludGF4IFF1aWNrIFJlZmVyZW5jZVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBjb2x1bW4oJHJhdGlvczogMSwgJG9mZnNldDogMCwgJGN5Y2xlOiAwLCAkdW5jeWNsZTogMCwgJGd1dHRlcjogJGplZXQtZ3V0dGVyKVxuICBzcGFuKCRyYXRpbzogMSwgJG9mZnNldDogMClcbiAgc2hpZnQoJHJhdGlvczogMCwgJGNvbF9vcl9zcGFuOiBjb2x1bW4sICRndXR0ZXI6ICRqZWV0LWd1dHRlcilcbiAgdW5zaGlmdCgpXG4gIGVkaXQoKVxuICBjZW50ZXIoJG1heF93aWR0aDogMTQxMHB4LCAkcGFkOiAwKVxuICBzdGFjaygkcGFkOiAwLCAkYWxpZ246IGZhbHNlKVxuICB1bnN0YWNrKClcbiAgYWxpZ24oJGRpcmVjdGlvbjogYm90aClcbiAgY2YoKVxuKi9cbi8qKlxuICogR3JpZCBzZXR0aW5ncy5cbiAqIEFsbCB2YWx1ZXMgYXJlIGRlZmF1bHRzIGFuZCBjYW4gdGhlcmVmb3JlIGJlIGVhc2lseSBvdmVyaWRkZW4uXG4gKi9cbi8qKlxuICogTGlzdCBmdW5jdGlvbnMgY291cnRlc3kgb2YgdGhlIHdvbmRlcmZ1bCBmb2xrcyBhdCBUZWFtIFNhc3MuXG4gKiBDaGVjayBvdXQgdGhlaXIgYXdlc29tZSBncmlkOiBTaW5ndWxhcml0eS5cbiAqL1xuLyoqXG4gKiBHZXQgIHBlcmNlbnRhZ2UgZnJvbSBhIGdpdmVuIHJhdGlvLlxuICogQHBhcmFtIHtudW1iZXJ9IFskcmF0aW89MV0gLSBUaGUgY29sdW1uIHJhdGlvIG9mIHRoZSBlbGVtZW50LlxuICogQHJldHVybnMge251bWJlcn0gLSBUaGUgcGVyY2VudGFnZSB2YWx1ZS5cbiAqL1xuLyoqXG4gKiBXb3JrIG91dCB0aGUgY29sdW1uIHdpZHRocyBiYXNlZCBvbiB0aGUgcmF0aW8gYW5kIGd1dHRlciBzaXplcy5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbJHJhdGlvcz0xXSAtIFRoZSBjb2x1bW4gcmF0aW8gb2YgdGhlIGVsZW1lbnQuXG4gKiBAcGFyYW0ge251bWJlcn0gWyRndXR0ZXI9JGplZXQtZ3V0dGVyXSAtIFRoZSBndXR0ZXIgZm9yIHRoZSBjb2x1bW4uXG4gKiBAcmV0dXJucyB7bGlzdH0gJHdpZHRoICRndXR0ZXIgLSBBIGxpc3QgY29udGFpbmluZyB0aGUgd2l0aCBhbmQgZ3V0dGVyIGZvciB0aGUgZWxlbWVudC5cbiAqL1xuLyoqXG4gKiBHZXQgdGhlIHNldCBsYXlvdXQgZGlyZWN0aW9uIGZvciB0aGUgcHJvamVjdC5cbiAqIEByZXR1cm5zIHtzdHJpbmd9ICRkaXJlY3Rpb24gLSBUaGUgbGF5b3V0IGRpcmVjdGlvbi5cbiAqL1xuLyoqXG4gKiBSZXBsYWNlIGEgc3BlY2lmaWVkIGxpc3QgdmFsdWUgd2l0aCBhIG5ldyB2YWx1ZSAodXNlcyBidWlsdCBpbiBzZXQtbnRoKCkgaWYgYXZhaWxhYmxlKVxuICogQHBhcmFtIHtsaXN0fSAkbGlzdCAtIFRoZSBsaXN0IG9mIHZhbHVlcyB5b3Ugd2FudCB0byBhbHRlci5cbiAqIEBwYXJhbSB7bnVtYmVyfSAkaW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIGxpc3QgaXRlbSB5b3Ugd2FudCB0byByZXBsYWNlLlxuICogQHBhcmFtIHsqfSAkdmFsdWUgLSBUaGUgdmFsdWUgeW91IHdhbnQgdG8gcmVwbGFjZSAkaW5kZXggd2l0aC5cbiAqIEByZXR1cm5zIHtsaXN0fSAkbGlzdCAtIFRoZSBsaXN0IHdpdGggdGhlIHZhbHVlIHJlcGxhY2VkIG9yIHJlbW92ZWQuXG4gKiBAd2FybiBpZiBhbiBpbnZhbGlkIGluZGV4IGlzIHN1cHBsaWVkLlxuICovXG4vKipcbiAqIFJldmVyc2UgYSBsaXN0IChwcm9ncmVzc2l2ZWx5IGVuaGFuY2VkIGZvciBTYXNzIDMuMylcbiAqIEBwYXJhbSB7bGlzdH0gJGxpc3QgLSBUaGUgbGlzdCBvZiB2YWx1ZXMgeW91IHdhbnQgdG8gcmV2ZXJzZS5cbiAqIEByZXR1cm5zIHtsaXN0fSAkcmVzdWx0IC0gVGhlIHJldmVyc2VkIGxpc3QuXG4gKi9cbi8qKlxuICogR2V0IHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gdG8gYSBnaXZlbiB2YWx1ZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSAkZGlyIC0gVGhlIGRpcmVjdGlvbiB5b3Ugd2FudCB0aGUgb3Bwb3NpdGUgb2YuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSAtIFRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gdG8gJGRpci5cbiAqIEB3YXJuIGlmIGFuIGluY29ycmVjdCBzdHJpbmcgaXMgcHJvdmlkZWQuXG4gKi9cbi8qKlxuICogU3R5bGUgYW4gZWxlbWVudCBhcyBhIGNvbHVtbiB3aXRoIGEgZ3V0dGVyLlxuICogQHBhcmFtIHtudW1iZXJ9IFskcmF0aW9zPTFdIC0gQSB3aWR0aCByZWxhdGl2ZSB0byBpdHMgY29udGFpbmVyIGFzIGEgZnJhY3Rpb24uXG4gKiBAcGFyYW0ge251bWJlcn0gWyRvZmZzZXQ9MF0gLSBBIG9mZnNldCBzcGVjaWZpZWQgYXMgYSBmcmFjdGlvbiAoc2VlICRyYXRpb3MpLlxuICogQHBhcmFtIHtudW1iZXJ9IFskY3ljbGU9MF0gLSBFYXNpbHkgY3JlYXRlIGFuIG50aCBjb2x1bW4gZ3JpZCB3aGVyZSAkY3ljbGUgZXF1YWxzIHRoZSBudW1iZXIgb2YgY29sdW1ucy5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbJHVuY3ljbGU9MF0gLSBVbmRvIGEgcHJldmlvdXMgY3ljbGUgdmFsdWUgdG8gYWxsb3cgZm9yIGEgbmV3IG9uZS5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbJGd1dHRlcj0kamVldC1ndXR0ZXJdIC0gU3BlY2lmeSB0aGUgZ3V0dGVyIHdpZHRoIGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgY29udGFpbmVycyB3aWR0aC5cbiAqL1xuLyoqXG4gKiBBbiBhbGlhcyBmb3IgdGhlIGNvbHVtbiBtaXhpbi5cbiAqIEBwYXJhbSBbJGFyZ3MuLi5dIC0gQWxsIGFyZ3VtZW50cyBnZXQgcGFzc2VkIHRocm91Z2ggdG8gY29sdW1uKCkuXG4gKi9cbi8qKlxuICogR2V0IHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBhbmQgbm90aGluZyBlbHNlLlxuICogQHBhcmFtIHtudW1iZXJ9IFskcmF0aW9zPTFdIC0gQSB3aWR0aCByZWxhdGl2ZSB0byBpdHMgY29udGFpbmVyIGFzIGEgZnJhY3Rpb24uXG4gKiBAcGFyYW0ge251bWJlcn0gWyRndXR0ZXI9JGplZXQtZ3V0dGVyXSAtIFNwZWNpZnkgdGhlIGd1dHRlciB3aWR0aCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIGNvbnRhaW5lcnMgd2lkdGguXG4gKi9cbi8qKlxuICogR2V0IHRoZSBndXR0ZXIgc2l6ZSBvZiBhIGNvbHVtbiBhbmQgbm90aGluZyBlbHNlLlxuICogQHBhcmFtIHtudW1iZXJ9IFtyYXRpb3M9MV0gLSBBIHdpZHRoIHJlbGF0aXZlIHRvIGl0cyBjb250YWluZXIgYXMgYSBmcmFjdGlvbi5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbZ3V0dGVyPWplZXQuZ3V0dGVyXSAtIFNwZWNpZnkgdGhlIGd1dHRlciB3aWR0aCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIGNvbnRhaW5lcnMgd2lkdGguXG4gKi9cbi8qKlxuICogQW4gYWxpYXMgZm9yIHRoZSBjb2x1bW4td2lkdGggZnVuY3Rpb24uXG4gKiBAcGFyYW0gWyRhcmdzLi4uXSAtIEFsbCBhcmd1bWVudHMgZ2V0IHBhc3NlZCB0aHJvdWdoIHRvIGNvbHVtbigpLlxuICovXG4vKipcbiAqIEFuIGFsaWFzIGZvciB0aGUgY29sdW1uLWd1dHRlciBmdW5jdGlvbi5cbiAqIEBwYXJhbSBbJGFyZ3MuLi5dIC0gQWxsIGFyZ3VtZW50cyBnZXQgcGFzc2VkIHRocm91Z2ggdG8gY29sdW1uKCkuXG4gKi9cbi8qKlxuICogU3R5bGUgYW4gZWxlbWVudCBhcyBhIGNvbHVtbiB3aXRob3V0IGFueSBndXR0ZXJzIGZvciBhIHNlYW1sZXNzIHJvdy5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbJHJhdGlvcz0xXSAtIEEgd2lkdGggcmVsYXRpdmUgdG8gaXRzIGNvbnRhaW5lciBhcyBhIGZyYWN0aW9uLlxuICogQHBhcmFtIHtudW1iZXJ9IFskb2Zmc2V0PTBdIC0gQSBvZmZzZXQgc3BlY2lmaWVkIGFzIGEgZnJhY3Rpb24gKHNlZSAkcmF0aW9zKS5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbY3ljbGU9MF0gLSBFYXNpbHkgY3JlYXRlIGFuIG50aCBjb2x1bW4gZ3JpZCB3aGVyZSBjeWNsZSBlcXVhbHMgdGhlIG51bWJlciBvZiBjb2x1bW5zLlxuICogQHBhcmFtIHtudW1iZXJ9IFt1bmN5Y2xlPTBdIC0gVW5kbyBhIHByZXZpb3VzIGN5Y2xlIHZhbHVlIHRvIGFsbG93IGZvciBhIG5ldyBvbmUuXG4gKi9cbi8qKlxuICogUmVvcmRlciBjb2x1bW5zIHdpdGhvdXQgYWx0ZXJpbmcgdGhlIEhUTUwuXG4gKiBAcGFyYW0ge251bWJlcn0gWyRyYXRpb3M9MF0gLSBTcGVjaWZ5IGhvdyBmYXIgYWxvbmcgeW91IHdhbnQgdGhlIGVsZW1lbnQgdG8gbW92ZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbJGNvbC1vci1zcGFuPWNvbHVtbl0gLSBTcGVjaWZ5IHdoZXRoZXIgdGhlIGVsZW1lbnQgaGFzIGEgZ3V0dGVyIG9yIG5vdC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbJGd1dHRlcj0kamVldC1ndXR0ZXJdIC0gU3BlY2lmeSB0aGUgZ3V0dGVyIHdpZHRoIGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgY29udGFpbmVycyB3aWR0aC5cbiAqL1xuLyoqXG4gKiBSZXNldCBhbiBlbGVtZW50IHRoYXQgaGFzIGhhZCBzaGlmdCgpIGFwcGxpZWQgdG8gaXQuXG4gKi9cbi8qKlxuICogVmlldyB0aGUgZ3JpZCBhbmQgaXRzIGxheWVycyBmb3IgZWFzeSBkZWJ1Z2dpbmcuXG4gKiBAcGFyYW0ge3N0cmluZ30gWyRjb2xvcj1ibGFja10gLSBUaGUgYmFja2dyb3VuZCB0aW50IGFwcGxpZWQuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFskaW1wb3J0YW50PWZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIHN0eWxlIGFzICFpbXBvcnRhbnQuXG4gKi9cbi8qKlxuICogIEFsaWFzIGZvciBlZGl0KCkuXG4gKi9cbi8qKlxuICogSG9yaXpvbnRhbGx5IGNlbnRlciBhbiBlbGVtZW50LlxuICogQHBhcmFtIHtudW1iZXJ9IFskbWF4LXdpZHRoPTE0MTBweF0gLSBUaGUgbWF4IHdpZHRoIHRoZSBlbGVtZW50IGNhbiBiZS5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbJHBhZD0wXSAtIFNwZWNpZnkgdGhlIGVsZW1lbnQncyBsZWZ0IGFuZCByaWdodCBwYWRkaW5nLlxuICovXG4vKipcbiAqIFVuY2VudGVyIGFuIGVsZW1lbnQuXG4gKi9cbi8qKlxuICogU3RhY2sgYW4gZWxlbWVudCBzbyB0aGF0IG5vdGhpbmcgaXMgZWl0aGVyIHNpZGUgb2YgaXQuXG4gKiBAcGFyYW0ge251bWJlcn0gWyRwYWQ9MF0gLSBTcGVjaWZ5IHRoZSBlbGVtZW50J3MgbGVmdCBhbmQgcmlnaHQgcGFkZGluZy5cbiAqIEBwYXJhbSB7Ym9vbGVhbi9zdHJpbmd9IFskYWxpZ249ZmFsc2VdIC0gU3BlY2lmeSB0aGUgdGV4dCBhbGlnbiBmb3IgdGhlIGVsZW1lbnQuXG4gKi9cbi8qKlxuICogVW5zdGFjayBhbiBlbGVtZW50LlxuICovXG4vKipcbiAqIENlbnRlciBhbiBlbGVtZW50IG9uIGVpdGhlciBvciBib3RoIGF4ZXMuXG4gKiBAcmVxdWlyZXMgQSBwYXJlbnQgY29udGFpbmVyIHdpdGggcmVsYXRpdmUgcG9zaXRpb25pbmcuXG4gKiBAcGFyYW0ge3N0cmluZ30gWyRkaXJlY3Rpb249Ym90aF0gLSBTcGVjaWZ5IHdoaWNoIGF4ZXMgdG8gY2VudGVyIHRoZSBlbGVtZW50IG9uLlxuICovXG4vKipcbiAqIEFwcGx5IGEgY2xlYXJmaXggdG8gYW4gZWxlbWVudC5cbiAqL1xuaHRtbCwgYm9keSB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwIHtcbiAgbWFyZ2luOiAwOyB9XG5cbnVsLCBvbCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuXG4qOmZvY3VzIHtcbiAgb3V0bGluZTogMDsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuLyoqXG4qIHBsZWFzZXJlc3BvbmQgZGVwZW5kcyBvbiBqZWV0LCBicmVha3BvaW50XG4qIEB0b2RvIHN0YW5kYWxvbmUgYm93ZXIgcGFja2FnZSwgYW5kIGFkZCB0byBpbmZ1c2VkIGJvd2VyIHBhY2thZ2UgYXMgZGVwZW5kZW5jeVxuKi9cbmh0bWwge1xuICBmb250LXNpemU6IDYyLjUlOyB9XG5cbi5Ib21lUGFnZSAuRmVhdHVyZWRQcm9wZXJ0aWVzIC53cmFwIC5Qcm9wZXJ0aWVzIC5zbGlkZSAuUHJvcGVydHkgLm1pZGRsZSwgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAud3JhcCAuUHJvcGVydHkgLm1pZGRsZSB7XG4gIHdpZHRoOiA5NyU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ud3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDg4JTtcbiAgbWF4LXdpZHRoOiA5MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLndyYXA6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi8qKlxuKiBzdHlsZVxuKi9cbi5TZWFyY2ggLmFjdGlvbnMgPiAqLFxuLkZpbHRlciAuYWN0aW9ucyA+ICosIC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmZhdm91cml0ZXMgPiAqLCAuRmlsdGVyIC53cmFwIC50b2dnbGUsIC50eXBvZ3JhcGh5IC5zZWN0aW9uLmJ1dHRvbnMgLmJ1dHRvbiwgLlZpZXdwb3J0IC5Nb2RhbCAuaWNvbiwgLlZpZXdwb3J0IC5Ub3AgLnRvcCAubG9nbywgLlZpZXdwb3J0IC5Ub3AgLnRvcCAuZmluZCwgLlZpZXdwb3J0IC5Ub3AgLnRvcCAudXNlciwgLlZpZXdwb3J0IC5Ub3AgLnRvcCAubWVudUJ1dHRvbiwgLlZpZXdwb3J0IC5CYWNrVG9Ub3AgZGl2LCAuVmlld3BvcnQgLlRvcCAudG9wbW9zdCB1bCBsaSBhLCAuRm9vdGVyIC5DYWxsb3V0IGZvcm0gYnV0dG9uLCAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgLkNvbnRhY3RGb3JtIC5hY3Rpb25zIGJ1dHRvbiwgLnByaW50LCAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIC5DdXN0b21GaWxlIC56b25lLCAuc2VjdGlvbi5mb3JtIGJ1dHRvbi5hZGQsIC5zZWN0aW9uLmZvcm0gLmFjdGlvbnMgYnV0dG9uLCAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUgLlByb3BlcnR5IC50b3AsIC5Ib21lUGFnZSAuRmVhdHVyZWRQcm9wZXJ0aWVzIC53cmFwIC5Qcm9wZXJ0aWVzIC5zbGlkZSAuUHJvcGVydHkgLm1pZGRsZSAuZmF2b3VyaXRlIC5pY29uLCAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUgLlByb3BlcnR5IC5ib3R0b20gYSwgLkhvbWVQYWdlIC5SYW5kb21BZ2VudHMgLndyYXAgLmNvbnRhaW5lciAuQWdlbnQsIC5BY2NvdW50UGFnZSAuU2VhcmNoZXMgdWwgbGkgLmljb24sIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLlN0YXR1cyAud3JhcCAuc3RhdHVzIC5pbm5lciAuYnV0dG9ucyBhLCAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAudG9wLCAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAubWlkZGxlIC5mYXZvdXJpdGUgLmljb24sIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAgLlByb3BlcnR5IC5ib3R0b20gYSwgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLnRvcCAud3JhcCAuZ2FsbGVyeSwgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLnRvcCAud3JhcCAuZmF2b3VyaXRlIC5pY29uLCAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlIC5hY3Rpb25zIGxpID4gYSxcbi5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmFjdGlvbnMgbGkgLmxhYmVsLCAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlIC5hY3Rpb25zIGxpLnNoYXJlIC5uZXR3b3JrcyBsaSwgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLm1pZGRsZSAuYWdlbnQgLmxlZnQsIC5NZWV0VGhlVGVhbVBhZ2UgLkFnZW50c0xpc3QgdWwgbGksIC5NZWV0VGhlVGVhbVBhZ2UgLkFnZW50c0xpc3QgLlRlYW1zIC5UZWFtIC5BZ2VudHMgLkFnZW50LCAuQXBwbHlPbmxpbmVQYWdlIC5zdGVwcyBsaSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZS1vdXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuU2VhcmNoIC5hY3Rpb25zID4gOmhvdmVyLFxuICAuRmlsdGVyIC5hY3Rpb25zID4gOmhvdmVyLCAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mYXZvdXJpdGVzID4gOmhvdmVyLCAuRmlsdGVyIC53cmFwIC50b2dnbGU6aG92ZXIsIC50eXBvZ3JhcGh5IC5zZWN0aW9uLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlciwgLlZpZXdwb3J0IC5Nb2RhbCAuaWNvbjpob3ZlciwgLlZpZXdwb3J0IC5Ub3AgLnRvcCAubG9nbzpob3ZlciwgLlZpZXdwb3J0IC5Ub3AgLnRvcCAuZmluZDpob3ZlciwgLlZpZXdwb3J0IC5Ub3AgLnRvcCAudXNlcjpob3ZlciwgLlZpZXdwb3J0IC5Ub3AgLnRvcCAubWVudUJ1dHRvbjpob3ZlciwgLlZpZXdwb3J0IC5CYWNrVG9Ub3AgZGl2OmhvdmVyLCAuVmlld3BvcnQgLlRvcCAudG9wbW9zdCB1bCBsaSBhOmhvdmVyLCAuRm9vdGVyIC5DYWxsb3V0IGZvcm0gYnV0dG9uOmhvdmVyLCAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgLkNvbnRhY3RGb3JtIC5hY3Rpb25zIGJ1dHRvbjpob3ZlciwgLnByaW50OmhvdmVyLCAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIC5DdXN0b21GaWxlIC56b25lOmhvdmVyLCAuc2VjdGlvbi5mb3JtIGJ1dHRvbi5hZGQ6aG92ZXIsIC5zZWN0aW9uLmZvcm0gLmFjdGlvbnMgYnV0dG9uOmhvdmVyLCAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUgLlByb3BlcnR5IC50b3A6aG92ZXIsIC5Ib21lUGFnZSAuRmVhdHVyZWRQcm9wZXJ0aWVzIC53cmFwIC5Qcm9wZXJ0aWVzIC5zbGlkZSAuUHJvcGVydHkgLm1pZGRsZSAuZmF2b3VyaXRlIC5pY29uOmhvdmVyLCAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUgLlByb3BlcnR5IC5ib3R0b20gYTpob3ZlciwgLkhvbWVQYWdlIC5SYW5kb21BZ2VudHMgLndyYXAgLmNvbnRhaW5lciAuQWdlbnQ6aG92ZXIsIC5BY2NvdW50UGFnZSAuU2VhcmNoZXMgdWwgbGkgLmljb246aG92ZXIsIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLlN0YXR1cyAud3JhcCAuc3RhdHVzIC5pbm5lciAuYnV0dG9ucyBhOmhvdmVyLCAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAudG9wOmhvdmVyLCAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAubWlkZGxlIC5mYXZvdXJpdGUgLmljb246aG92ZXIsIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAgLlByb3BlcnR5IC5ib3R0b20gYTpob3ZlciwgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLnRvcCAud3JhcCAuZ2FsbGVyeTpob3ZlciwgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLnRvcCAud3JhcCAuZmF2b3VyaXRlIC5pY29uOmhvdmVyLCAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlIC5hY3Rpb25zIGxpID4gYTpob3ZlcixcbiAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLm1pZGRsZSAuYWN0aW9ucyBsaSAubGFiZWw6aG92ZXIsIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmFjdGlvbnMgbGkuc2hhcmUgLm5ldHdvcmtzIGxpOmhvdmVyLCAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlIC5hZ2VudCAubGVmdDpob3ZlciwgLk1lZXRUaGVUZWFtUGFnZSAuQWdlbnRzTGlzdCB1bCBsaTpob3ZlciwgLk1lZXRUaGVUZWFtUGFnZSAuQWdlbnRzTGlzdCAuVGVhbXMgLlRlYW0gLkFnZW50cyAuQWdlbnQ6aG92ZXIsIC5BcHBseU9ubGluZVBhZ2UgLnN0ZXBzIGxpOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjk1OyB9XG5cbi5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmZhdm91cml0ZXMgLlNlYXJjaGVzLCAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mb3JtLCAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mb3JtIC5JbnB1dCwgLlNlYXJjaCAud3JhcCAuU2VhcmNoRm9ybSAuZm9ybSAuU2VsZWN0LCAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mb3JtIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sLCAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mb3JtIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtcGxhY2Vob2xkZXIsXG4uU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mb3JtIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtdmFsdWUsIC5GaWx0ZXIgLndyYXAgLkZpbHRlckZvcm0gLmZvcm0gLlNlbGVjdCwgLkZpbHRlciAud3JhcCAuRmlsdGVyRm9ybSAuZm9ybSAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCwgLkZpbHRlciAud3JhcCAuRmlsdGVyRm9ybSAuZm9ybSAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LXBsYWNlaG9sZGVyLFxuLkZpbHRlciAud3JhcCAuRmlsdGVyRm9ybSAuZm9ybSAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LXZhbHVlLCAudHlwb2dyYXBoeSAuc2VjdGlvbi5idXR0b25zIC5idXR0b24sIC5WaWV3cG9ydCAuTW9kYWwgLndyYXAsIC5WaWV3cG9ydCAuVG9wIC50b3AgLmZpbmQsIC5Gb290ZXIgLmNvbnRhaW5lciAuQ29udGFjdCAud3JhcCAuQ29udGFjdEZvcm0gLlNlbGVjdCwgLkZvb3RlciAuY29udGFpbmVyIC5Db250YWN0IC53cmFwIC5Db250YWN0Rm9ybSAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCwgLkZvb3RlciAuY29udGFpbmVyIC5Db250YWN0IC53cmFwIC5Db250YWN0Rm9ybSAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LXBsYWNlaG9sZGVyLFxuLkZvb3RlciAuY29udGFpbmVyIC5Db250YWN0IC53cmFwIC5Db250YWN0Rm9ybSAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LXZhbHVlLCAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIC5TZWxlY3QsIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wsIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC1wbGFjZWhvbGRlcixcbi5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC12YWx1ZSwgLkhvbWVQYWdlIC5SYW5kb21BZ2VudHMgLndyYXAgLmJvdHRvbSAubWVldCwgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAuU3RhdHVzIC53cmFwIC5tb2RpZmllcnMgLlNlbGVjdCwgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAuU3RhdHVzIC53cmFwIC5tb2RpZmllcnMgLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wsIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLlN0YXR1cyAud3JhcCAubW9kaWZpZXJzIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtcGxhY2Vob2xkZXIsXG4uUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC5TdGF0dXMgLndyYXAgLm1vZGlmaWVycyAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LXZhbHVlLCAuTmV3c1BhZ2UgLk5ld3MgLk5ld3NMaXN0IC5TdGF0dXMgLlNlbGVjdCwgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuU3RhdHVzIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sLCAuTmV3c1BhZ2UgLk5ld3MgLk5ld3NMaXN0IC5TdGF0dXMgLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC1wbGFjZWhvbGRlcixcbi5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLlN0YXR1cyAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LXZhbHVlIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAud3JhcCB7XG4gIHdpZHRoOiA5NiU7XG4gIG1heC13aWR0aDogMTQwMHB4OyB9XG5cbi8qIG9wZW4tc2Fucy0zMDAgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBzcmM6IGxvY2FsKFwiT3BlbiBTYW5zIExpZ2h0XCIpLCBsb2NhbChcIk9wZW5TYW5zLUxpZ2h0XCIpLCB1cmwoXCIuLi9mb250cy9vcGVuc2Fucy9vcGVuLXNhbnMtdjEzLWxhdGluLTMwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvb3BlbnNhbnMvb3Blbi1zYW5zLXYxMy1sYXRpbi0zMDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICAvKiBDaHJvbWUgNissIEZpcmVmb3ggMy42KywgSUUgOSssIFNhZmFyaSA1LjErICovIH1cblxuLyogb3Blbi1zYW5zLTMwMGl0YWxpYyAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHNyYzogbG9jYWwoXCJPcGVuIFNhbnMgTGlnaHQgSXRhbGljXCIpLCBsb2NhbChcIk9wZW5TYW5zTGlnaHQtSXRhbGljXCIpLCB1cmwoXCIuLi9mb250cy9vcGVuc2Fucy9vcGVuLXNhbnMtdjEzLWxhdGluLTMwMGl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvb3BlbnNhbnMvb3Blbi1zYW5zLXYxMy1sYXRpbi0zMDBpdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICAvKiBDaHJvbWUgNissIEZpcmVmb3ggMy42KywgSUUgOSssIFNhZmFyaSA1LjErICovIH1cblxuLyogb3Blbi1zYW5zLXJlZ3VsYXIgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IGxvY2FsKFwiT3BlbiBTYW5zXCIpLCBsb2NhbChcIk9wZW5TYW5zXCIpLCB1cmwoXCIuLi9mb250cy9vcGVuc2Fucy9vcGVuLXNhbnMtdjEzLWxhdGluLXJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL29wZW5zYW5zL29wZW4tc2Fucy12MTMtbGF0aW4tcmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIC8qIENocm9tZSA2KywgRmlyZWZveCAzLjYrLCBJRSA5KywgU2FmYXJpIDUuMSsgKi8gfVxuXG4vKiBvcGVuLXNhbnMtaXRhbGljIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiBsb2NhbChcIk9wZW4gU2FucyBJdGFsaWNcIiksIGxvY2FsKFwiT3BlblNhbnMtSXRhbGljXCIpLCB1cmwoXCIuLi9mb250cy9vcGVuc2Fucy9vcGVuLXNhbnMtdjEzLWxhdGluLWl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvb3BlbnNhbnMvb3Blbi1zYW5zLXYxMy1sYXRpbi1pdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICAvKiBDaHJvbWUgNissIEZpcmVmb3ggMy42KywgSUUgOSssIFNhZmFyaSA1LjErICovIH1cblxuLyogb3Blbi1zYW5zLTYwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHNyYzogbG9jYWwoXCJPcGVuIFNhbnMgU2VtaWJvbGRcIiksIGxvY2FsKFwiT3BlblNhbnMtU2VtaWJvbGRcIiksIHVybChcIi4uL2ZvbnRzL29wZW5zYW5zL29wZW4tc2Fucy12MTMtbGF0aW4tNjAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9vcGVuc2Fucy9vcGVuLXNhbnMtdjEzLWxhdGluLTYwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIC8qIENocm9tZSA2KywgRmlyZWZveCAzLjYrLCBJRSA5KywgU2FmYXJpIDUuMSsgKi8gfVxuXG4vKiBvcGVuLXNhbnMtNjAwaXRhbGljIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgc3JjOiBsb2NhbChcIk9wZW4gU2FucyBTZW1pYm9sZCBJdGFsaWNcIiksIGxvY2FsKFwiT3BlblNhbnMtU2VtaWJvbGRJdGFsaWNcIiksIHVybChcIi4uL2ZvbnRzL29wZW5zYW5zL29wZW4tc2Fucy12MTMtbGF0aW4tNjAwaXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9vcGVuc2Fucy9vcGVuLXNhbnMtdjEzLWxhdGluLTYwMGl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIC8qIENocm9tZSA2KywgRmlyZWZveCAzLjYrLCBJRSA5KywgU2FmYXJpIDUuMSsgKi8gfVxuXG4vKiBvcGVuLXNhbnMtNzAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiBsb2NhbChcIk9wZW4gU2FucyBCb2xkXCIpLCBsb2NhbChcIk9wZW5TYW5zLUJvbGRcIiksIHVybChcIi4uL2ZvbnRzL29wZW5zYW5zL29wZW4tc2Fucy12MTMtbGF0aW4tNzAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9vcGVuc2Fucy9vcGVuLXNhbnMtdjEzLWxhdGluLTcwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIC8qIENocm9tZSA2KywgRmlyZWZveCAzLjYrLCBJRSA5KywgU2FmYXJpIDUuMSsgKi8gfVxuXG4vKiBvcGVuLXNhbnMtNzAwaXRhbGljIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiBsb2NhbChcIk9wZW4gU2FucyBCb2xkIEl0YWxpY1wiKSwgbG9jYWwoXCJPcGVuU2Fucy1Cb2xkSXRhbGljXCIpLCB1cmwoXCIuLi9mb250cy9vcGVuc2Fucy9vcGVuLXNhbnMtdjEzLWxhdGluLTcwMGl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvb3BlbnNhbnMvb3Blbi1zYW5zLXYxMy1sYXRpbi03MDBpdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICAvKiBDaHJvbWUgNissIEZpcmVmb3ggMy42KywgSUUgOSssIFNhZmFyaSA1LjErICovIH1cblxuLlBhZ2luYXRpb24ge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5QYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuUGFnaW5hdGlvbiAubGVmdCB7XG4gICAgKnpvb206IDE7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICB3aWR0aDogNDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAlO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZmY7XG4gICAgcGFkZGluZzogMWVtIDA7IH1cbiAgICAuUGFnaW5hdGlvbiAubGVmdDpiZWZvcmUsIC5QYWdpbmF0aW9uIC5sZWZ0OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAuUGFnaW5hdGlvbiAubGVmdDphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5QYWdpbmF0aW9uIC5sZWZ0IGEge1xuICAgICAgY29sb3I6ICNjMTIwMjY7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5QYWdpbmF0aW9uIC5yaWdodCB7XG4gICAgKnpvb206IDE7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICB3aWR0aDogNjAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAlO1xuICAgIHBhZGRpbmc6IDFlbSAwOyB9XG4gICAgLlBhZ2luYXRpb24gLnJpZ2h0OmJlZm9yZSwgLlBhZ2luYXRpb24gLnJpZ2h0OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAuUGFnaW5hdGlvbiAucmlnaHQ6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuUGFnaW5hdGlvbiAucmlnaHQgLnBhZ2luYXRpb24gbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY29sb3I6ICNjMTIwMjY7XG4gICAgICBtYXJnaW46IDAgMC41ZW07IH1cbiAgICAgIC5QYWdpbmF0aW9uIC5yaWdodCAucGFnaW5hdGlvbiBsaSBhIHtcbiAgICAgICAgY29sb3I6ICNjMTIwMjY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLlBhZ2luYXRpb24gLnJpZ2h0IC5wYWdpbmF0aW9uIGxpLnByZXZpb3VzLCAuUGFnaW5hdGlvbiAucmlnaHQgLnBhZ2luYXRpb24gbGkubmV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5QYWdpbmF0aW9uIC5yaWdodCAucGFnaW5hdGlvbiBsaS5kaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNDsgfVxuICAgICAgLlBhZ2luYXRpb24gLnJpZ2h0IC5wYWdpbmF0aW9uIGxpLmN1cnJlbnQge1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAuU2VhcmNoIC5hY3Rpb25zLFxuICAuRmlsdGVyIC5hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuXG4uU2VhcmNoIC5hY3Rpb25zID4gKixcbi5GaWx0ZXIgLmFjdGlvbnMgPiAqIHtcbiAgYm9yZGVyOiAwIG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZzogMC44NWVtIDEuMWVtIDAuOGVtOyB9XG5cbi5TZWFyY2ggLmFjdGlvbnMgLnNlYXJjaCxcbi5GaWx0ZXIgLmFjdGlvbnMgLnNlYXJjaCB7XG4gIGJhY2tncm91bmQ6ICNjMTIwMjY7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tcmlnaHQ6IDZweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuU2VhcmNoIC5hY3Rpb25zIC5zZWFyY2gsXG4gICAgLkZpbHRlciAuYWN0aW9ucyAuc2VhcmNoIHtcbiAgICAgIG1hcmdpbi1yaWdodDogM3B4OyB9IH1cbiAgLlNlYXJjaCAuYWN0aW9ucyAuc2VhcmNoLmZhZGVkLFxuICAuRmlsdGVyIC5hY3Rpb25zIC5zZWFyY2guZmFkZWQge1xuICAgIG9wYWNpdHk6IDAuMTsgfVxuXG4uU2VhcmNoIC5hY3Rpb25zIC52aWV3QWxsLFxuLkZpbHRlciAuYWN0aW9ucyAudmlld0FsbCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjYzEyMDI2O1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLlZpZXdwb3J0ID4gLlNlYXJjaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB0b3A6IDYycHg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogIzk4OTg5ODtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7IH1cbiAgLlZpZXdwb3J0ID4gLlNlYXJjaC5vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLlZpZXdwb3J0ID4gLlNlYXJjaCAud3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5WaWV3cG9ydCA+IC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0ge1xuICAgICAgZmxleDogMTtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDUwMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgICAuVmlld3BvcnQgPiAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuICAgICAgQG1lZGlhIChtaW4taGVpZ2h0OiAzMDBweCkge1xuICAgICAgICAuVmlld3BvcnQgPiAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuOWVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLWhlaWdodDogMzI1cHgpIHtcbiAgICAgICAgLlZpZXdwb3J0ID4gLlNlYXJjaCAud3JhcCAuU2VhcmNoRm9ybSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxZW07IH0gfVxuICAgICAgQG1lZGlhIChtaW4taGVpZ2h0OiAzNTBweCkge1xuICAgICAgICAuVmlld3BvcnQgPiAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMWVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLWhlaWdodDogMzc1cHgpIHtcbiAgICAgICAgLlZpZXdwb3J0ID4gLlNlYXJjaCAud3JhcCAuU2VhcmNoRm9ybSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjJlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi1oZWlnaHQ6IDQwMHB4KSB7XG4gICAgICAgIC5WaWV3cG9ydCA+IC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zZW07IH0gfVxuICAgICAgQG1lZGlhIChtaW4taGVpZ2h0OiA0NTBweCkge1xuICAgICAgICAuVmlld3BvcnQgPiAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNGVtOyB9IH1cbiAgICAgIC5WaWV3cG9ydCA+IC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmFjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgICAgIC5WaWV3cG9ydCA+IC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmFjdGlvbnMgPiAqIHtcbiAgICAgICAgICBmbGV4OiAxOyB9XG5cbi5TZWFyY2gge1xuICBiYWNrZ3JvdW5kOiAjOWM5YzljO1xuICBmb250LXNpemU6IDEuM2VtO1xuICBwYWRkaW5nOiAwLjdlbSAwO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuU2VhcmNoIC53cmFwIHtcbiAgICAgIHdpZHRoOiA5NiU7XG4gICAgICBtYXgtd2lkdGg6IDE0MDBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3dzOyB9IH1cbiAgLlNlYXJjaCAud3JhcCAuU2VhcmNoRm9ybSAuZmF2b3VyaXRlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mYXZvdXJpdGVzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmZhdm91cml0ZXMgPiAqIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMC44NWVtIDEuMWVtIDAuOGVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNnB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgLlNlYXJjaCAud3JhcCAuU2VhcmNoRm9ybSAuZmF2b3VyaXRlcyA+ICoge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mYXZvdXJpdGVzID4gKiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAgICAgLlNlYXJjaCAud3JhcCAuU2VhcmNoRm9ybSAuZmF2b3VyaXRlcyA+ICogPiBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgY29sb3I6ICNjMTIwMjY7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgICAgLlNlYXJjaCAud3JhcCAuU2VhcmNoRm9ybSAuZmF2b3VyaXRlcyA+ICogPiBzcGFuIC5pY29uIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07IH1cbiAgICAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mYXZvdXJpdGVzIGRpdiArIGRpdiB7XG4gICAgICBtYXJnaW4tbGVmdDogNnB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgLlNlYXJjaCAud3JhcCAuU2VhcmNoRm9ybSAuZmF2b3VyaXRlcyBkaXYgKyBkaXYge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mYXZvdXJpdGVzIC5TaG93RmF2b3VyaXRlcy5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogI2MxMjAyNjsgfVxuICAgICAgLlNlYXJjaCAud3JhcCAuU2VhcmNoRm9ybSAuZmF2b3VyaXRlcyAuU2hvd0Zhdm91cml0ZXMuYWN0aXZlIHNwYW4ge1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmZhdm91cml0ZXMgLlNlYXJjaGVzIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICB6LWluZGV4OiAyMDsgfVxuICAgICAgLlNlYXJjaCAud3JhcCAuU2VhcmNoRm9ybSAuZmF2b3VyaXRlcyAuU2VhcmNoZXM6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmZhdm91cml0ZXMgLlNlYXJjaGVzIC5kcm9wZG93biB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICNjMTIwMjY7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDBzIDAuMTVzLCBvcGFjaXR5IDAuMTVzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgIC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmZhdm91cml0ZXMgLlNlYXJjaGVzIC5kcm9wZG93biB7XG4gICAgICAgICAgICB3aWR0aDogMjAwJTsgfSB9XG4gICAgICAgIC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmZhdm91cml0ZXMgLlNlYXJjaGVzIC5kcm9wZG93biBsaSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgcGFkZGluZzogMWVtOyB9XG4gICAgICAgICAgLlNlYXJjaCAud3JhcCAuU2VhcmNoRm9ybSAuZmF2b3VyaXRlcyAuU2VhcmNoZXMgLmRyb3Bkb3duIGxpIC5pY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiAwLjVlbTsgfVxuICAgICAgICAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mYXZvdXJpdGVzIC5TZWFyY2hlcyAuZHJvcGRvd24ub3BlbiB7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZS1pbi1vdXQ7IH1cbiAgLlNlYXJjaCAud3JhcCAuU2VhcmNoRm9ybSAuZm9ybSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLWluLW91dDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgLlNlYXJjaCAud3JhcCAuU2VhcmNoRm9ybSAuZm9ybSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3dzOyB9IH1cbiAgICAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mb3JtID4gKiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgICAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mb3JtID4gKiB7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBtYXJnaW46IDAgM3B4IDAgMDsgfSB9XG4gICAgLlNlYXJjaCAud3JhcCAuU2VhcmNoRm9ybSAuZm9ybSAuSW5wdXQge1xuICAgICAgZmxleDogMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAgIC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmZvcm0gLklucHV0IC5pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDAuNjhlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTAuNWVtOyB9XG4gICAgICAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mb3JtIC5JbnB1dCBpbnB1dCB7XG4gICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAuODVlbSAxLjFlbSAwLjhlbTsgfVxuICAgIC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmZvcm0gLlNlbGVjdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICBmbGV4OiAxOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgICAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mb3JtIC5TZWxlY3Qge1xuICAgICAgICAgIGhlaWdodDogMi42ZW07IH0gfVxuICAgICAgLlNlYXJjaCAud3JhcCAuU2VhcmNoRm9ybSAuZm9ybSAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgICAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mb3JtIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtcGxhY2Vob2xkZXIsXG4gICAgICAgIC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmZvcm0gLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC12YWx1ZSB7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBjb2xvcjogIzJjMmMyYztcbiAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICBwYWRkaW5nOiAwLjg1ZW0gMS4xZW0gMC44ZW07XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNGVtOyB9XG4gICAgICAgIC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmZvcm0gLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC1pbnB1dCB7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogMC44NWVtIDEuMWVtIDAuOGVtOyB9XG4gICAgICAgIC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmZvcm0gLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC1hcnJvdy16b25lLFxuICAgICAgICAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mb3JtIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtY2xlYXItem9uZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgIC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmZvcm0gLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC1hcnJvdy16b25lIHtcbiAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07IH1cbiAgICAgICAgICAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mb3JtIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtYXJyb3ctem9uZSAuU2VsZWN0LWFycm93IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi90aGVtZXMvb3h5Z2VuL2ltYWdlcy9kb3duLWNoZXZyb24tdGhpbi5wbmdcIikgNTAlIDUwJSBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDFlbTsgfVxuICAgICAgICAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mb3JtIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtY2xlYXItem9uZSB7XG4gICAgICAgICAgd2lkdGg6IDEuMjVlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtOyB9XG4gICAgICAgICAgLlNlYXJjaCAud3JhcCAuU2VhcmNoRm9ybSAuZm9ybSAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LWNsZWFyLXpvbmUgLlNlbGVjdC1jbGVhciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgICAgIC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmZvcm0gLlNlbGVjdCAuU2VsZWN0LW1lbnUtb3V0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgICAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mb3JtIC5TZWxlY3QgLlNlbGVjdC1tZW51LW91dGVyIC5TZWxlY3Qtb3B0aW9uIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICAgIHBhZGRpbmc6IDAuODVlbSAxLjFlbSAwLjhlbTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLW91dC1vdXQ7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgICAgIC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmZvcm0gLlNlbGVjdCAuU2VsZWN0LW1lbnUtb3V0ZXIgLlNlbGVjdC1vcHRpb24uaXMtZm9jdXNlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmZvcm0gLlNlbGVjdC5TZWxlY3QtLW11bHRpIC5TZWxlY3QtaW5wdXQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgIC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmZvcm0gLlNlbGVjdC5TZWxlY3QtLW11bHRpIC5TZWxlY3QtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mb3JtIC5TZWxlY3QuU2VsZWN0LS1tdWx0aSAuU2VsZWN0LWl0ZW0gLlNlbGVjdC1pdGVtLWljb24ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLlNlYXJjaCAud3JhcCAuU2VhcmNoRm9ybSAuZm9ybSAuU2VsZWN0LlNlbGVjdC0tbXVsdGkgLlNlbGVjdC1pdGVtIC5TZWxlY3QtaXRlbS1sYWJlbCB7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0OyB9XG4gICAgICAgIC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmZvcm0gLlNlbGVjdC5TZWxlY3QtLW11bHRpIC5TZWxlY3QtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDAuODVlbSAxLjFlbSAwLjhlbTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjRlbTsgfVxuICAgICAgICAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mb3JtIC5TZWxlY3QuU2VsZWN0LS1tdWx0aSAuU2VsZWN0LWl0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMC44NWVtIDEuMWVtIDAuOGVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAgICAgLlNlYXJjaCAud3JhcCAuU2VhcmNoRm9ybSAuZm9ybSAuU2VsZWN0LlNlbGVjdC0tbXVsdGkgLlNlbGVjdC1pdGVtOm50aC1jaGlsZCgyKSAuU2VsZWN0LWl0ZW0tbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgIC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmZvcm0gLlNlbGVjdC5TZWxlY3QtLW11bHRpIC5TZWxlY3QtaXRlbTpudGgtY2hpbGQoMik6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJytNb3JlJztcbiAgICAgICAgICAgIGNvbG9yOiAjOTQ5NDk0O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgICAgLlNlYXJjaCAud3JhcCAuU2VhcmNoRm9ybSAuZm9ybSAuU2VsZWN0LmlzLW9wZW4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODcpOyB9XG4gICAgICAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mb3JtIC5TZWxlY3QuaXMtc2VhcmNoYWJsZSAuU2VsZWN0LWlucHV0IHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mb3JtIC5TZWxlY3QuaXMtc2VhcmNoYWJsZSAuU2VsZWN0LWlucHV0IGlucHV0IHtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nOiAwLjg1ZW0gMS4xZW0gMC44ZW07IH1cbiAgICAgIC5TZWFyY2ggLndyYXAgLlNlYXJjaEZvcm0gLmZvcm0gLlNlbGVjdC5pcy1kaXNhYmxlZCAuU2VsZWN0LWlucHV0IHtcbiAgICAgICAgcGFkZGluZzogMC44NWVtIDEuMWVtIDAuOGVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAobWluLXdpZHRoOiA5MDBweCkgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mb3JtIC5TZWxlY3Qge1xuICAgIGhlaWdodDogYXV0bzsgfSB9XG4gICAgICAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mb3JtIC5TZWxlY3QuaXMtZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICAuU2VhcmNoIC53cmFwIC5TZWFyY2hGb3JtIC5mb3JtLmZhZGVkIHtcbiAgICAgIG9wYWNpdHk6IDAuMjsgfVxuXG4uRmlsdGVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgyKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFMERBREE7XG4gIGZvbnQtc2l6ZTogMS40ZW07XG4gIHBhZGRpbmc6IDAuN2VtIDA7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5GaWx0ZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5GaWx0ZXIge1xuICAgICAgYmFja2dyb3VuZDogI0UzRUJFRDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICAgICAgZm9udC1zaXplOiAxLjJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5GaWx0ZXIgLndyYXAge1xuICAgICAgd2lkdGg6IDk2JTtcbiAgICAgIG1heC13aWR0aDogMTQwMHB4OyB9IH1cbiAgLkZpbHRlciAud3JhcCAudG9nZ2xlIHtcbiAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHBhZGRpbmc6IDAuMmVtIDAgMC4xZW07IH1cbiAgLkZpbHRlciAud3JhcCAuRmlsdGVyRm9ybSAuZm9ybSB7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICBwYWRkaW5nOiAyZW0gMCAxZW07XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgIC5GaWx0ZXIgLndyYXAgLkZpbHRlckZvcm0gLmZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5GaWx0ZXIgLndyYXAgLkZpbHRlckZvcm0gLmZvcm0gPiAqIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIC5GaWx0ZXIgLndyYXAgLkZpbHRlckZvcm0gLmZvcm0gPiAqIHtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIG1hcmdpbjogMCAzcHggMCAwOyB9IH1cbiAgICAuRmlsdGVyIC53cmFwIC5GaWx0ZXJGb3JtIC5mb3JtIC5TZWxlY3Qge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgICAuRmlsdGVyIC53cmFwIC5GaWx0ZXJGb3JtIC5mb3JtIC5TZWxlY3Qge1xuICAgICAgICAgIGhlaWdodDogMi42ZW07IH0gfVxuICAgICAgLkZpbHRlciAud3JhcCAuRmlsdGVyRm9ybSAuZm9ybSAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgICAuRmlsdGVyIC53cmFwIC5GaWx0ZXJGb3JtIC5mb3JtIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtcGxhY2Vob2xkZXIsXG4gICAgICAgIC5GaWx0ZXIgLndyYXAgLkZpbHRlckZvcm0gLmZvcm0gLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC12YWx1ZSB7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBjb2xvcjogIzJjMmMyYztcbiAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICBwYWRkaW5nOiAwLjhlbSAxLjFlbTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cbiAgICAgICAgLkZpbHRlciAud3JhcCAuRmlsdGVyRm9ybSAuZm9ybSAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LWlucHV0IHtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nOiAwLjhlbSAxLjFlbTsgfVxuICAgICAgICAuRmlsdGVyIC53cmFwIC5GaWx0ZXJGb3JtIC5mb3JtIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtYXJyb3ctem9uZSxcbiAgICAgICAgLkZpbHRlciAud3JhcCAuRmlsdGVyRm9ybSAuZm9ybSAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LWNsZWFyLXpvbmUge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgICAuRmlsdGVyIC53cmFwIC5GaWx0ZXJGb3JtIC5mb3JtIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtYXJyb3ctem9uZSB7XG4gICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMWVtOyB9XG4gICAgICAgICAgLkZpbHRlciAud3JhcCAuRmlsdGVyRm9ybSAuZm9ybSAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LWFycm93LXpvbmUgLlNlbGVjdC1hcnJvdyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvdGhlbWVzL294eWdlbi9pbWFnZXMvZG93bi1jaGV2cm9uLXRoaW4ucG5nXCIpIDUwJSA1MCUgbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxZW07IH1cbiAgICAgICAgLkZpbHRlciAud3JhcCAuRmlsdGVyRm9ybSAuZm9ybSAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LWNsZWFyLXpvbmUge1xuICAgICAgICAgIHdpZHRoOiAxLjI1ZW07XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTsgfVxuICAgICAgICAgIC5GaWx0ZXIgLndyYXAgLkZpbHRlckZvcm0gLmZvcm0gLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC1jbGVhci16b25lIC5TZWxlY3QtY2xlYXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgICAuRmlsdGVyIC53cmFwIC5GaWx0ZXJGb3JtIC5mb3JtIC5TZWxlY3QgLlNlbGVjdC1tZW51LW91dGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgICAgLkZpbHRlciAud3JhcCAuRmlsdGVyRm9ybSAuZm9ybSAuU2VsZWN0IC5TZWxlY3QtbWVudS1vdXRlciAuU2VsZWN0LW9wdGlvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgICBwYWRkaW5nOiAwLjhlbSAxLjFlbTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLW91dC1vdXQ7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgICAgIC5GaWx0ZXIgLndyYXAgLkZpbHRlckZvcm0gLmZvcm0gLlNlbGVjdCAuU2VsZWN0LW1lbnUtb3V0ZXIgLlNlbGVjdC1vcHRpb24uaXMtZm9jdXNlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIC5GaWx0ZXIgLndyYXAgLkZpbHRlckZvcm0gLmZvcm0gLlNlbGVjdC5TZWxlY3QtLW11bHRpIC5TZWxlY3QtaW5wdXQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgIC5GaWx0ZXIgLndyYXAgLkZpbHRlckZvcm0gLmZvcm0gLlNlbGVjdC5TZWxlY3QtLW11bHRpIC5TZWxlY3QtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAuRmlsdGVyIC53cmFwIC5GaWx0ZXJGb3JtIC5mb3JtIC5TZWxlY3QuU2VsZWN0LS1tdWx0aSAuU2VsZWN0LWl0ZW0gLlNlbGVjdC1pdGVtLWljb24ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLkZpbHRlciAud3JhcCAuRmlsdGVyRm9ybSAuZm9ybSAuU2VsZWN0LlNlbGVjdC0tbXVsdGkgLlNlbGVjdC1pdGVtIC5TZWxlY3QtaXRlbS1sYWJlbCB7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0OyB9XG4gICAgICAgIC5GaWx0ZXIgLndyYXAgLkZpbHRlckZvcm0gLmZvcm0gLlNlbGVjdC5TZWxlY3QtLW11bHRpIC5TZWxlY3QtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDAuOGVtIDEuMWVtO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNGVtOyB9XG4gICAgICAgIC5GaWx0ZXIgLndyYXAgLkZpbHRlckZvcm0gLmZvcm0gLlNlbGVjdC5TZWxlY3QtLW11bHRpIC5TZWxlY3QtaXRlbTpudGgtY2hpbGQoMikge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiAwLjhlbSAxLjFlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICAgICAgIC5GaWx0ZXIgLndyYXAgLkZpbHRlckZvcm0gLmZvcm0gLlNlbGVjdC5TZWxlY3QtLW11bHRpIC5TZWxlY3QtaXRlbTpudGgtY2hpbGQoMikgLlNlbGVjdC1pdGVtLWxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAuRmlsdGVyIC53cmFwIC5GaWx0ZXJGb3JtIC5mb3JtIC5TZWxlY3QuU2VsZWN0LS1tdWx0aSAuU2VsZWN0LWl0ZW06bnRoLWNoaWxkKDIpOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcrTW9yZSc7XG4gICAgICAgICAgICBjb2xvcjogIzk0OTQ5NDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgIC5GaWx0ZXIgLndyYXAgLkZpbHRlckZvcm0gLmZvcm0gLlNlbGVjdC5pcy1vcGVuIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg3KTsgfVxuICAgICAgLkZpbHRlciAud3JhcCAuRmlsdGVyRm9ybSAuZm9ybSAuU2VsZWN0LmlzLXNlYXJjaGFibGUgLlNlbGVjdC1pbnB1dCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgLkZpbHRlciAud3JhcCAuRmlsdGVyRm9ybSAuZm9ybSAuU2VsZWN0LmlzLXNlYXJjaGFibGUgLlNlbGVjdC1pbnB1dCBpbnB1dCB7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogMC44ZW0gMS4xZW07IH1cbiAgICAgIC5GaWx0ZXIgLndyYXAgLkZpbHRlckZvcm0gLmZvcm0gLlNlbGVjdC5pcy1kaXNhYmxlZCAuU2VsZWN0LWlucHV0IHtcbiAgICAgICAgcGFkZGluZzogMC44ZW0gMS4xZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5GaWx0ZXIgLndyYXAgLkZpbHRlckZvcm0gLmZvcm0gLlNlbGVjdCB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICAuRmlsdGVyIC53cmFwIC5GaWx0ZXJGb3JtIC5mb3JtIC5QcmljZUZpZWxkIHtcbiAgICAgIGZsZXg6IDEuMjtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMS41ZW0gMCAxZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgICAuRmlsdGVyIC53cmFwIC5GaWx0ZXJGb3JtIC5mb3JtIC5QcmljZUZpZWxkIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIDAuOGVtOyB9IH1cbiAgICAgIC5GaWx0ZXIgLndyYXAgLkZpbHRlckZvcm0gLmZvcm0gLlByaWNlRmllbGQgLnNsaWRlciB7XG4gICAgICAgIGhlaWdodDogMThweDsgfVxuICAgICAgICAuRmlsdGVyIC53cmFwIC5GaWx0ZXJGb3JtIC5mb3JtIC5QcmljZUZpZWxkIC5zbGlkZXIgLmJhciB7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gICAgICAgICAgLkZpbHRlciAud3JhcCAuRmlsdGVyRm9ybSAuZm9ybSAuUHJpY2VGaWVsZCAuc2xpZGVyIC5iYXIuYmFyLTEge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2MxMjAyNjsgfVxuICAgICAgICAgIC5GaWx0ZXIgLndyYXAgLkZpbHRlckZvcm0gLmZvcm0gLlByaWNlRmllbGQgLnNsaWRlciAuYmFyLmJhci0yIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2MxMjAyNjsgfVxuICAgICAgICAuRmlsdGVyIC53cmFwIC5GaWx0ZXJGb3JtIC5mb3JtIC5QcmljZUZpZWxkIC5zbGlkZXIgLmhhbmRsZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2MxMjAyNjtcbiAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgICAgICAgICBjdXJzb3I6IGdyYWI7IH1cbiAgICAgICAgICAuRmlsdGVyIC53cmFwIC5GaWx0ZXJGb3JtIC5mb3JtIC5QcmljZUZpZWxkIC5zbGlkZXIgLmhhbmRsZTpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICByaWdodDogMnB4O1xuICAgICAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjOWM5YzljO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgICAgICAgICBjb250ZW50OiAnJzsgfVxuICAgICAgLkZpbHRlciAud3JhcCAuRmlsdGVyRm9ybSAuZm9ybSAuUHJpY2VGaWVsZCAucHJpY2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuRmlsdGVyIC53cmFwIC5GaWx0ZXJGb3JtIC5mb3JtIC5hY3Rpb25zIHtcbiAgICAgIG1hcmdpbi10b3A6IDIuNWVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qIVxuICogaHR0cHM6Ly9naXRodWIuY29tL2FycWV4L3JlYWN0LWRhdGV0aW1lXG4gKi9cbi5yZHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnJkdFBpY2tlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDI1MHB4O1xuICBwYWRkaW5nOiA0cHg7XG4gIG1hcmdpbi10b3A6IDFweDtcbiAgei1pbmRleDogOTk5OTkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Y5ZjlmOTsgfVxuXG4ucmR0T3BlbiAucmR0UGlja2VyIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJkdFN0YXRpYyAucmR0UGlja2VyIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgcG9zaXRpb246IHN0YXRpYzsgfVxuXG4ucmR0UGlja2VyIC5yZHRUaW1lVG9nZ2xlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5yZHRQaWNrZXIgdGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5yZHRQaWNrZXIgdGQsXG4ucmR0UGlja2VyIHRoIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoZWlnaHQ6IDI4cHg7IH1cblxuLnJkdFBpY2tlciB0ZC5yZHRUb2RheTpob3Zlcixcbi5yZHRQaWNrZXIgdGQucmR0SG91cjpob3Zlcixcbi5yZHRQaWNrZXIgdGQucmR0TWludXRlOmhvdmVyLFxuLnJkdFBpY2tlciB0ZC5yZHRTZWNvbmQ6aG92ZXIsXG4ucmR0UGlja2VyIC5yZHRUaW1lVG9nZ2xlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2VlZWVlZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5yZHRQaWNrZXIgdGQucmR0T2xkLFxuLnJkdFBpY2tlciB0ZC5yZHROZXcge1xuICBjb2xvcjogIzk5OTk5OTsgfVxuXG4ucmR0UGlja2VyIHRkLnJkdFRvZGF5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5yZHRQaWNrZXIgdGQucmR0VG9kYXk6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICM0MjhiY2E7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDRweDtcbiAgcmlnaHQ6IDRweDsgfVxuXG4ucmR0UGlja2VyIHRkLnJkdEFjdGl2ZSxcbi5yZHRQaWNrZXIgdGQucmR0QWN0aXZlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyOGJjYTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5yZHRQaWNrZXIgdGQucmR0QWN0aXZlLnJkdFRvZGF5OmJlZm9yZSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7IH1cblxuLnJkdFBpY2tlciB0ZC5yZHREaXNhYmxlZCxcbi5yZHRQaWNrZXIgdGQucmR0RGlzYWJsZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogIzk5OTk5OTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4ucmR0UGlja2VyIHRkIHNwYW4ucmR0T2xkIHtcbiAgY29sb3I6ICM5OTk5OTk7IH1cblxuLnJkdFBpY2tlciB0ZCBzcGFuLnJkdERpc2FibGVkLFxuLnJkdFBpY2tlciB0ZCBzcGFuLnJkdERpc2FibGVkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICM5OTk5OTk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLnJkdFBpY2tlciB0aCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjlmOWY5OyB9XG5cbi5yZHRQaWNrZXIgLmRvdyB7XG4gIHdpZHRoOiAxNC4yODU3JTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4ucmR0UGlja2VyIHRoLnJkdFN3aXRjaCB7XG4gIHdpZHRoOiAxMDBweDsgfVxuXG4ucmR0UGlja2VyIHRoLnJkdE5leHQsXG4ucmR0UGlja2VyIHRoLnJkdFByZXYge1xuICBmb250LXNpemU6IDIxcHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLnJkdFBpY2tlciB0aC5yZHREaXNhYmxlZCxcbi5yZHRQaWNrZXIgdGgucmR0RGlzYWJsZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogIzk5OTk5OTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4ucmR0UGlja2VyIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5yZHRQaWNrZXIgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGg6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZWVlZWVlOyB9XG5cbi5yZHRQaWNrZXIgdGZvb3Qge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2Y5ZjlmOTsgfVxuXG4ucmR0UGlja2VyIGJ1dHRvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5yZHRQaWNrZXIgYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgfVxuXG4ucmR0UGlja2VyIHRoZWFkIGJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxudGQucmR0TW9udGgsXG50ZC5yZHRZZWFyIHtcbiAgaGVpZ2h0OiA1MHB4O1xuICB3aWR0aDogMjUlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxudGQucmR0TW9udGg6aG92ZXIsXG50ZC5yZHRZZWFyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2VlZTsgfVxuXG4ucmR0Q291bnRlcnMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnJkdENvdW50ZXJzID4gZGl2IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnJkdENvdW50ZXIge1xuICBoZWlnaHQ6IDEwMHB4OyB9XG5cbi5yZHRDb3VudGVyIHtcbiAgd2lkdGg6IDQwcHg7IH1cblxuLnJkdENvdW50ZXJTZXBhcmF0b3Ige1xuICBsaW5lLWhlaWdodDogMTAwcHg7IH1cblxuLnJkdENvdW50ZXIgLnJkdEJ0biB7XG4gIGhlaWdodDogNDAlO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5yZHRDb3VudGVyIC5yZHRCdG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZWVlOyB9XG5cbi5yZHRDb3VudGVyIC5yZHRDb3VudCB7XG4gIGhlaWdodDogMjAlO1xuICBmb250LXNpemU6IDEuMmVtOyB9XG5cbi5yZHRNaWxsaSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICB3aWR0aDogNDhweDsgfVxuXG4ucmR0TWlsbGkgaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbWFyZ2luLXRvcDogMzdweDsgfVxuXG5zZWN0aW9uIHtcbiAgcGFkZGluZzogMmVtIDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE1MDBweCkge1xuICAgIHNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogNGVtIDA7IH0gfVxuXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi50eXBvZ3JhcGh5IHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGNvbG9yOiAjNDI0MjQyO1xuICBmb250LXdlaWdodDogMzAwOyB9XG4gIC50eXBvZ3JhcGh5IGgxIHtcbiAgICBtYXJnaW46IDAuNWVtIDA7XG4gICAgZm9udC1zaXplOiAxLjllbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgIC50eXBvZ3JhcGh5IGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjVlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4xNWVtOyB9IH1cbiAgLnR5cG9ncmFwaHkgaDIge1xuICAgIGZvbnQtc2l6ZTogMS41NWVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07IH1cbiAgLnR5cG9ncmFwaHkgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NWVtOyB9XG4gIC50eXBvZ3JhcGh5IGg0IHtcbiAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNzVlbTsgfVxuICAudHlwb2dyYXBoeSBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1ZW07IH1cbiAgLnR5cG9ncmFwaHkgb2wge1xuICAgIGxpc3Qtc3R5bGU6IGRlY2ltYWwgaW5zaWRlOyB9XG4gIC50eXBvZ3JhcGh5IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjIGluc2lkZTsgfVxuICAudHlwb2dyYXBoeSB1bCwgLnR5cG9ncmFwaHkgb2wge1xuICAgIG1hcmdpbjogMS41ZW0gMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NTBweCkge1xuICAgICAgLnR5cG9ncmFwaHkgdWwsIC50eXBvZ3JhcGh5IG9sIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07IH0gfVxuICAgIC50eXBvZ3JhcGh5IHVsIGxpLCAudHlwb2dyYXBoeSBvbCBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgLnR5cG9ncmFwaHkgYmxvY2txdW90ZSB7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMWVtIDAuNWVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAudHlwb2dyYXBoeSBibG9ja3F1b3RlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyZW07IH0gfVxuICAudHlwb2dyYXBoeSBhIHtcbiAgICBjb2xvcjogI2MxMjAyNjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbjsgfVxuICAgIC50eXBvZ3JhcGh5IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNkZTM2M2Q7IH1cbiAgLnR5cG9ncmFwaHkgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC50eXBvZ3JhcGh5LnNlY3Rpb25zIHtcbiAgICBwYWRkaW5nOiAxZW0gMDsgfVxuICAgIC50eXBvZ3JhcGh5LnNlY3Rpb25zID4gLndyYXAgPiBoMSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVlbTsgfVxuICAudHlwb2dyYXBoeSAuc2VjdGlvbi5pbWFnZSwgLnR5cG9ncmFwaHkgLnNlY3Rpb24udmlkZW8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMC43NWVtIGF1dG8gMS44NWVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAudHlwb2dyYXBoeSAuc2VjdGlvbi5pbWFnZSwgLnR5cG9ncmFwaHkgLnNlY3Rpb24udmlkZW8ge1xuICAgICAgICB3aWR0aDogODglO1xuICAgICAgICBtYXJnaW46IDFlbSBhdXRvIDJlbTsgfSB9XG4gICAgLnR5cG9ncmFwaHkgLnNlY3Rpb24uaW1hZ2UgaW1nLCAudHlwb2dyYXBoeSAuc2VjdGlvbi52aWRlbyBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC50eXBvZ3JhcGh5IC5zZWN0aW9uLmltYWdlIGlmcmFtZSwgLnR5cG9ncmFwaHkgLnNlY3Rpb24udmlkZW8gaWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC50eXBvZ3JhcGh5IC5zZWN0aW9uLmJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDAgYXV0byAyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgIC50eXBvZ3JhcGh5IC5zZWN0aW9uLmJ1dHRvbnMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICAudHlwb2dyYXBoeSAuc2VjdGlvbi5idXR0b25zIC5idXR0b24ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxOTMsIDMyLCAzOCwgMC4xOSk7XG4gICAgICBjb2xvcjogI2MxMjAyNjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDAuOGVtIDAuNWVtO1xuICAgICAgbWFyZ2luOiAwIC0xZW07XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgICAudHlwb2dyYXBoeSAuc2VjdGlvbi5idXR0b25zIC5idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgICAgLnR5cG9ncmFwaHkgLnNlY3Rpb24uYnV0dG9ucyAuYnV0dG9uICoge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICAudHlwb2dyYXBoeSAuc2VjdGlvbi5idXR0b25zIC5idXR0b24gLmljb24ge1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuM2VtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAudHlwb2dyYXBoeSAuc2VjdGlvbi5idXR0b25zLm9uZSAuYnV0dG9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgIC50eXBvZ3JhcGh5IC5zZWN0aW9uLmJ1dHRvbnMudHdvIC5idXR0b24ge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgLnR5cG9ncmFwaHkgLnNlY3Rpb24uYnV0dG9ucy50d28gLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjc1ZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgICAudHlwb2dyYXBoeSAuc2VjdGlvbi5idXR0b25zLnR3byAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFlbSAhaW1wb3J0YW50O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgLnR5cG9ncmFwaHkgLnNlY3Rpb24uYnV0dG9ucy50d28gLmJ1dHRvbiAuaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjRlbTsgfSB9XG4gICAgLnR5cG9ncmFwaHkgLnNlY3Rpb24uYnV0dG9ucy50aHJlZSAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIC50eXBvZ3JhcGh5IC5zZWN0aW9uLmJ1dHRvbnMudGhyZWUgLmJ1dHRvbiB7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgICAudHlwb2dyYXBoeSAuc2VjdGlvbi5idXR0b25zLnRocmVlIC5idXR0b246bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMWVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgICAudHlwb2dyYXBoeSAuc2VjdGlvbi5idXR0b25zLnRocmVlIC5idXR0b24gLmljb24ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNGVtOyB9IH1cbiAgICAudHlwb2dyYXBoeSAuc2VjdGlvbi5idXR0b25zOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMWVtOyB9XG5cbi5TZWFyY2gge1xuICB6LWluZGV4OiAzOyB9XG5cbi5OYXYge1xuICB6LWluZGV4OiA0OyB9XG5cbi5Ub3Age1xuICB6LWluZGV4OiA1OyB9XG5cbi5tZW51QnV0dG9uIHtcbiAgei1pbmRleDogNTsgfVxuXG4uTW9kYWwge1xuICB6LWluZGV4OiA2OyB9XG5cbi5CYWNrVG9Ub3Age1xuICB6LWluZGV4OiA1OyB9XG5cbmh0bWwsIGJvZHkge1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICM0MjQyNDI7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4jYXBwIHtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4jYXBwLCAuUm9vdCwgLlZpZXdwb3J0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5WaWV3cG9ydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuVmlld3BvcnQgLk1vZGFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAyNXB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAgIC5WaWV3cG9ydCAuTW9kYWwub3BlbiB7XG4gICAgICB0b3A6IDA7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLlZpZXdwb3J0IC5Nb2RhbCAuaWNvbiB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDAuNzVlbTtcbiAgICAgIHJpZ2h0OiAxLjJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAuVmlld3BvcnQgLk1vZGFsIC53cmFwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIC5WaWV3cG9ydCAuTW9kYWwgLndyYXAuUHJpdmFjeVBvbGljeSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBwYWRkaW5nLXRvcDogMmVtOyB9XG4gICAgICAgIC5WaWV3cG9ydCAuTW9kYWwgLndyYXAuUHJpdmFjeVBvbGljeSBoMSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IH1cbiAgICAgICAgLlZpZXdwb3J0IC5Nb2RhbCAud3JhcC5Qcml2YWN5UG9saWN5IHAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVlbTsgfVxuICAgICAgLlZpZXdwb3J0IC5Nb2RhbCAud3JhcC5HYWxsZXJ5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgd2lkdGg6IDgwMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAgICAgICAuVmlld3BvcnQgLk1vZGFsIC53cmFwLkdhbGxlcnkgLnNsaWNrLXNsaWRlciB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAgIC5WaWV3cG9ydCAuTW9kYWwgLndyYXAuR2FsbGVyeSAuc2xpY2stc2xpZGVyIC5zbGljay1zbGlkZSB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgICAuVmlld3BvcnQgLk1vZGFsIC53cmFwLkdhbGxlcnkgLnNsaWNrLWRvdHMgYnV0dG9uOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5WaWV3cG9ydCAuTW9kYWwgLndyYXAuR2FsbGVyeSAubGVmdCxcbiAgICAgICAgLlZpZXdwb3J0IC5Nb2RhbCAud3JhcC5HYWxsZXJ5IC5yaWdodCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICAgICAgLlZpZXdwb3J0IC5Nb2RhbCAud3JhcC5HYWxsZXJ5IC5sZWZ0OjpiZWZvcmUsXG4gICAgICAgICAgLlZpZXdwb3J0IC5Nb2RhbCAud3JhcC5HYWxsZXJ5IC5yaWdodDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDsgfVxuICAgICAgICAuVmlld3BvcnQgLk1vZGFsIC53cmFwLkdhbGxlcnkgLmxlZnQge1xuICAgICAgICAgIGxlZnQ6IC00MHB4O1xuICAgICAgICAgIHJpZ2h0OiBhdXRvOyB9XG4gICAgICAgIC5WaWV3cG9ydCAuTW9kYWwgLndyYXAuR2FsbGVyeSAucmlnaHQge1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgcmlnaHQ6IC00MHB4OyB9XG4gIC5WaWV3cG9ydCAuVG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgICAuVmlld3BvcnQgLlRvcC5uYXZPcGVuIC50b3Age1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5WaWV3cG9ydCAuVG9wLm5hdk9wZW4gLnRvcCAubG9nbywgLlZpZXdwb3J0IC5Ub3AubmF2T3BlbiAudG9wIC5maW5kLCAuVmlld3BvcnQgLlRvcC5uYXZPcGVuIC50b3AgLnVzZXIge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAuVmlld3BvcnQgLlRvcCAudG9wbW9zdCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRTJFMkUyO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTkzLCAzMiwgMzgsIDAuMTIpOyB9XG4gICAgLlZpZXdwb3J0IC5Ub3AgLnRvcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDYycHg7XG4gICAgICBoZWlnaHQ6IDYycHg7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIC5WaWV3cG9ydCAuVG9wIC50b3Age1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYzEyMDI2OyB9IH1cbiAgICAgIC5WaWV3cG9ydCAuVG9wIC50b3AgLmxvZ28gaW1nLnNtYWxsIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMHB4O1xuICAgICAgICBtYXJnaW46IDE0cHggMTJweCAwOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0NTBweCkge1xuICAgICAgICAgIC5WaWV3cG9ydCAuVG9wIC50b3AgLmxvZ28gaW1nLnNtYWxsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgLlZpZXdwb3J0IC5Ub3AgLnRvcCAubG9nbyBpbWcubGFyZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXgtd2lkdGg6IDEzMHB4O1xuICAgICAgICBtYXJnaW46IDE0cHggMThweCAwOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0NTBweCkge1xuICAgICAgICAgIC5WaWV3cG9ydCAuVG9wIC50b3AgLmxvZ28gaW1nLmxhcmdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAgIC5WaWV3cG9ydCAuVG9wIC50b3AgLmZpbmQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNjMTIwMjY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xNWVtO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgIC5WaWV3cG9ydCAuVG9wIC50b3AgLmZpbmQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAgIC5WaWV3cG9ydCAuVG9wIC50b3AgLmZpbmQgLmljb24ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IDAuMWVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjE1ZW07IH1cbiAgICAgICAgLlZpZXdwb3J0IC5Ub3AgLnRvcCAuZmluZDo6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDEyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgICAgIC5WaWV3cG9ydCAuVG9wIC50b3AgLmZpbmQuY2xvc2Uge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgICBjb2xvcjogI2MxMjAyNjtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgICAgICAgLlZpZXdwb3J0IC5Ub3AgLnRvcCAuZmluZC5jbG9zZSAuaWNvbiB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjNlbTsgfVxuICAgICAgICAgIC5WaWV3cG9ydCAuVG9wIC50b3AgLmZpbmQuY2xvc2U6OmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiA4MHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDgwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgY29udGVudDogJyc7IH1cbiAgICAgICAgICAuVmlld3BvcnQgLlRvcCAudG9wIC5maW5kLmNsb3NlOjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiA4MHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDgwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxMHB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgY29udGVudDogJyc7IH1cbiAgICAgIC5WaWV3cG9ydCAuVG9wIC50b3AgLnVzZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDAuOTVlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgY29sb3I6ICNjMTIwMjY7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwIDJlbTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNTUwcHgpIHtcbiAgICAgICAgICAuVmlld3BvcnQgLlRvcCAudG9wIC51c2VyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2VlZTsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgIC5WaWV3cG9ydCAuVG9wIC50b3AgLnVzZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2MxMjAyNjtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMCBub25lO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7IH0gfVxuICAgICAgICAuVmlld3BvcnQgLlRvcCAudG9wIC51c2VyIC5pY29uIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAtMC4yNWVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC41ZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNWVtOyB9XG4gICAgICAuVmlld3BvcnQgLlRvcCAudG9wIC5tZW51QnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBjb2xvcjogI2MxMjAyNjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYycHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTJweDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDUwcHgpIHtcbiAgICAgICAgICAuVmlld3BvcnQgLlRvcCAudG9wIC5tZW51QnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMThweDsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgIC5WaWV3cG9ydCAuVG9wIC50b3AgLm1lbnVCdXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAgIC5WaWV3cG9ydCAuVG9wIC50b3AgLm1lbnVCdXR0b24ub3BlbiB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLlZpZXdwb3J0IC5NaWRkbGUge1xuICAgIGZsZXg6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbiAgICAuVmlld3BvcnQgLk1pZGRsZSAuQ29udGFpbmVyIHtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICAgIC5WaWV3cG9ydCAuTWlkZGxlIC5Db250YWluZXIgLkZvbGQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5WaWV3cG9ydCAuTWlkZGxlIC5Db250YWluZXIgLkZvbGQgLlBhZ2UsIC5WaWV3cG9ydCAuTWlkZGxlIC5Db250YWluZXIgLkZvbGQgPiBhcnRpY2xlIHtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAgICAgLlZpZXdwb3J0IC5NaWRkbGUgLkNvbnRhaW5lciAuRm9sZCAuUGFnZSAuVHJ1c3RQaWxvdCB7XG4gICAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICAgIG1hcmdpbjogNXB4IDAgMTBweCAtMTBweDsgfVxuICAuVmlld3BvcnQgLkJhY2tUb1RvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgLlZpZXdwb3J0IC5CYWNrVG9Ub3AgZGl2IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTUwcHg7XG4gICAgICByaWdodDogMiU7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTA0MzQ5O1xuICAgICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgIC5WaWV3cG9ydCAuQmFja1RvVG9wIGRpdjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAyNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDI1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDEycHggc29saWQgI2UwNDM0OTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgY29udGVudDogJyc7IH1cbiAgICAuVmlld3BvcnQgLkJhY2tUb1RvcC52aXNpYmxlIGRpdiB7XG4gICAgICBib3R0b206IDA7IH1cbiAgLlZpZXdwb3J0IH4gZGl2IHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG5uYXYgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cbiAgbmF2IHVsIGxpIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgIGNvbG9yOiAjNDI0MjQyO1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2Utb3V0OyB9XG5cbi5WaWV3cG9ydCAuVG9wIC50b3Btb3N0IHtcbiAgaGVpZ2h0OiAzMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5WaWV3cG9ydCAuVG9wIC50b3Btb3N0IHVsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuVmlld3BvcnQgLlRvcCAudG9wbW9zdCB1bCBsaSBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMC40ZW07IH1cbiAgICAgIC5WaWV3cG9ydCAuVG9wIC50b3Btb3N0IHVsIGxpIGE6aG92ZXIsIC5WaWV3cG9ydCAuVG9wIC50b3Btb3N0IHVsIGxpIGEuY3VycmVudCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7IH1cbiAgLlZpZXdwb3J0IC5Ub3AgLnRvcG1vc3QgLlNlY29uZGFyeU5hdiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgLlZpZXdwb3J0IC5Ub3AgLnRvcG1vc3QgLlNlY29uZGFyeU5hdiBhIHtcbiAgICAgIGNvbG9yOiAjYzEyMDI2O1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE5MywgMzIsIDM4LCAwLjMpOyB9XG4gIC5WaWV3cG9ydCAuVG9wIC50b3Btb3N0IC5Gb3JtTmF2IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICAuVmlld3BvcnQgLlRvcCAudG9wbW9zdCAuRm9ybU5hdiBhIHtcbiAgICAgIGNvbG9yOiAjNUE1QTVBO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgICAuVmlld3BvcnQgLlRvcCAudG9wbW9zdCAuRm9ybU5hdiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMTUwcHgpIHtcbiAgICAgICAgLlZpZXdwb3J0IC5Ub3AgLnRvcG1vc3QgLkZvcm1OYXYgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuLlZpZXdwb3J0IC5Ub3AgLk5hdiB7XG4gIGZsZXg6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuVmlld3BvcnQgLlRvcCAuTmF2IC53cmFwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAuVmlld3BvcnQgLlRvcCAuTmF2IC53cmFwIHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMS44ZW07IH1cbiAgICAgIC5WaWV3cG9ydCAuVG9wIC5OYXYgLndyYXAgdWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgMC41ZW07IH1cbiAgICAgICAgLlZpZXdwb3J0IC5Ub3AgLk5hdiAud3JhcCB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAuVmlld3BvcnQgLlRvcCAuTmF2IC53cmFwIHVsIGxpIGEge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBjb2xvcjogIzQyNDI0MjsgfVxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5NTBweCkge1xuICAgICAgICAgICAgLlZpZXdwb3J0IC5Ub3AgLk5hdiAud3JhcCB1bCBsaSBhIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjA1ZW07IH0gfVxuICAgICAgICAgIC5WaWV3cG9ydCAuVG9wIC5OYXYgLndyYXAgdWwgbGkgYTo6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogNjBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogNjBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDEycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuMzVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgY29udGVudDogJyc7IH1cbiAgICAgICAgICAuVmlld3BvcnQgLlRvcCAuTmF2IC53cmFwIHVsIGxpIGE6aG92ZXIsIC5WaWV3cG9ydCAuVG9wIC5OYXYgLndyYXAgdWwgbGkgYS5jdXJyZW50LCAuVmlld3BvcnQgLlRvcCAuTmF2IC53cmFwIHVsIGxpIGEuc2VjdGlvbiB7XG4gICAgICAgICAgICBjb2xvcjogI2MxMjAyNjsgfVxuICAgICAgICAgICAgLlZpZXdwb3J0IC5Ub3AgLk5hdiAud3JhcCB1bCBsaSBhOmhvdmVyOjpiZWZvcmUsIC5WaWV3cG9ydCAuVG9wIC5OYXYgLndyYXAgdWwgbGkgYS5jdXJyZW50OjpiZWZvcmUsIC5WaWV3cG9ydCAuVG9wIC5OYXYgLndyYXAgdWwgbGkgYS5zZWN0aW9uOjpiZWZvcmUge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgICAgICAgICAuVmlld3BvcnQgLlRvcCAuTmF2IC53cmFwIHVsIGxpIGEuY3VycmVudDo6YmVmb3JlLCAuVmlld3BvcnQgLlRvcCAuTmF2IC53cmFwIHVsIGxpIGEuc2VjdGlvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNjMTIwMjY7IH1cblxuLlZpZXdwb3J0ID4gLk5hdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItdG9wOiA2MnB4IHNvbGlkICNjMTIwMjY7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDsgfVxuICAuVmlld3BvcnQgPiAuTmF2Lm9wZW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuVmlld3BvcnQgPiAuTmF2IC53cmFwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjRlbTsgfVxuICAgIC5WaWV3cG9ydCA+IC5OYXYgLndyYXAgbGkgYSB7XG4gICAgICBmb250LXNpemU6IDEuOGVtO1xuICAgICAgY29sb3I6ICM0MjQyNDI7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gICAgICAuVmlld3BvcnQgPiAuTmF2IC53cmFwIGxpIGE6aG92ZXIsIC5WaWV3cG9ydCA+IC5OYXYgLndyYXAgbGkgYS5jdXJyZW50LCAuVmlld3BvcnQgPiAuTmF2IC53cmFwIGxpIGEuc2VjdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjYzEyMDI2OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1MDBweCkge1xuICAgIC5WaWV3cG9ydCA+IC5OYXYgLmxlZnQge1xuICAgICAgKnpvb206IDE7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgIHdpZHRoOiAzOC4yJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMyU7IH1cbiAgICAgIC5WaWV3cG9ydCA+IC5OYXYgLmxlZnQ6YmVmb3JlLCAuVmlld3BvcnQgPiAuTmF2IC5sZWZ0OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAuVmlld3BvcnQgPiAuTmF2IC5sZWZ0OmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5WaWV3cG9ydCA+IC5OYXYgLmxlZnQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMCU7IH1cbiAgICAgIC5WaWV3cG9ydCA+IC5OYXYgLmxlZnQgLk1haW5OYXYge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTUlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgICAuVmlld3BvcnQgPiAuTmF2IC5yaWdodCB7XG4gICAgICAqem9vbTogMTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgd2lkdGg6IDU4LjglO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzJTsgfVxuICAgICAgLlZpZXdwb3J0ID4gLk5hdiAucmlnaHQ6YmVmb3JlLCAuVmlld3BvcnQgPiAuTmF2IC5yaWdodDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgLlZpZXdwb3J0ID4gLk5hdiAucmlnaHQ6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLlZpZXdwb3J0ID4gLk5hdiAucmlnaHQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMCU7IH0gfVxuICAuVmlld3BvcnQgPiAuTmF2IC5yaWdodCAuU2Vjb25kYXJ5TmF2IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0Y1RjVGNTtcbiAgICBmb250LXNpemU6IDAuOGVtOyB9XG4gIC5WaWV3cG9ydCA+IC5OYXYgLnJpZ2h0IC5Gb3JtTmF2IHtcbiAgICBmb250LXNpemU6IDAuOGVtOyB9XG5cbi5Gb290ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICMxYTI4MmI7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5Gb290ZXIgYSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLkZvb3RlciBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5Gb290ZXIgLkNhbGxvdXQge1xuICAgIGJhY2tncm91bmQ6ICNjMTIwMjY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIuMmVtIDA7IH1cbiAgICAuRm9vdGVyIC5DYWxsb3V0IGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMS45ZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4xZW07IH1cbiAgICAuRm9vdGVyIC5DYWxsb3V0IHAge1xuICAgICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAgIC5Gb290ZXIgLkNhbGxvdXQgYSwgLkZvb3RlciAuQ2FsbG91dCBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5Gb290ZXIgLkNhbGxvdXQgZm9ybSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIC5Gb290ZXIgLkNhbGxvdXQgZm9ybSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBmb250LXNpemU6IDEuMmVtOyB9IH1cbiAgICAgIC5Gb290ZXIgLkNhbGxvdXQgZm9ybSBpbnB1dCwgLkZvb3RlciAuQ2FsbG91dCBmb3JtIGJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgY29sb3I6ICMyYzJjMmM7XG4gICAgICAgIHBhZGRpbmc6IDAuNWVtIDAuNzVlbTsgfVxuICAgICAgLkZvb3RlciAuQ2FsbG91dCBmb3JtIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IDk1JTtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgLkZvb3RlciAuQ2FsbG91dCBmb3JtIGlucHV0IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAgIC5Gb290ZXIgLkNhbGxvdXQgZm9ybSBidXR0b24ge1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5Gb290ZXIgLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgLkZvb3RlciAuY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwNTFweCkge1xuICAgICAgLkZvb3RlciAuY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNlbTsgfSB9XG4gICAgLkZvb3RlciAuY29udGFpbmVyIC5Db250YWN0IHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgLkZvb3RlciAuY29udGFpbmVyIC5Db250YWN0IHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwIG5vbmU7IH0gfVxuICAgICAgLkZvb3RlciAuY29udGFpbmVyIC5Db250YWN0IC53cmFwIHtcbiAgICAgICAgcGFkZGluZzogMS45ZW0gMDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDYlO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNC4yZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjY1ZW07IH1cbiAgICAgICAgLkZvb3RlciAuY29udGFpbmVyIC5Db250YWN0IC53cmFwIC5Db250YWN0Rm9ybSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuQ29udGFjdCAud3JhcCAuQ29udGFjdEZvcm0gLnJvdzpmaXJzdC1jaGlsZCBpbnB1dCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAuOWVtIDAgMDsgfVxuICAgICAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuQ29udGFjdCAud3JhcCAuQ29udGFjdEZvcm0gLmZpZWxkSG9sZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuM2VtOyB9XG4gICAgICAgICAgLkZvb3RlciAuY29udGFpbmVyIC5Db250YWN0IC53cmFwIC5Db250YWN0Rm9ybSBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgLkZvb3RlciAuY29udGFpbmVyIC5Db250YWN0IC53cmFwIC5Db250YWN0Rm9ybSBpbnB1dCwgLkZvb3RlciAuY29udGFpbmVyIC5Db250YWN0IC53cmFwIC5Db250YWN0Rm9ybSBzZWxlY3QsIC5Gb290ZXIgLmNvbnRhaW5lciAuQ29udGFjdCAud3JhcCAuQ29udGFjdEZvcm0gdGV4dGFyZWEsIC5Gb290ZXIgLmNvbnRhaW5lciAuQ29udGFjdCAud3JhcCAuQ29udGFjdEZvcm0gLmNoZWNrYm94LCAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgLkNvbnRhY3RGb3JtIC5hY3Rpb25zIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMC42ZW0gMWVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgLkNvbnRhY3RGb3JtIGlucHV0LCAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgLkNvbnRhY3RGb3JtIHNlbGVjdCwgLkZvb3RlciAuY29udGFpbmVyIC5Db250YWN0IC53cmFwIC5Db250YWN0Rm9ybSB0ZXh0YXJlYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgY29sb3I6ICMyYzJjMmM7IH1cbiAgICAgICAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuQ29udGFjdCAud3JhcCAuQ29udGFjdEZvcm0gaW5wdXQ6OnBsYWNlaG9sZGVyLCAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgLkNvbnRhY3RGb3JtIHNlbGVjdDo6cGxhY2Vob2xkZXIsIC5Gb290ZXIgLmNvbnRhaW5lciAuQ29udGFjdCAud3JhcCAuQ29udGFjdEZvcm0gdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNjMTIwMjY7IH1cbiAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgLkNvbnRhY3RGb3JtIHNlbGVjdCB7XG4gICAgICAgICAgICBjb2xvcjogI2MxMjAyNjsgfVxuICAgICAgICAgICAgLkZvb3RlciAuY29udGFpbmVyIC5Db250YWN0IC53cmFwIC5Db250YWN0Rm9ybSBzZWxlY3Qgb3B0aW9uIHtcbiAgICAgICAgICAgICAgY29sb3I6ICMyYzJjMmM7IH1cbiAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgLkNvbnRhY3RGb3JtIC5TZWxlY3Qge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgLkNvbnRhY3RGb3JtIC5TZWxlY3Qge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMi42ZW07IH0gfVxuICAgICAgICAgICAgLkZvb3RlciAuY29udGFpbmVyIC5Db250YWN0IC53cmFwIC5Db250YWN0Rm9ybSAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgLkNvbnRhY3RGb3JtIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuQ29udGFjdCAud3JhcCAuQ29udGFjdEZvcm0gLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC12YWx1ZSB7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzJjMmMyYztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjZlbSAxZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNGVtOyB9XG4gICAgICAgICAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuQ29udGFjdCAud3JhcCAuQ29udGFjdEZvcm0gLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC1pbnB1dCB7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC42ZW0gMWVtOyB9XG4gICAgICAgICAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuQ29udGFjdCAud3JhcCAuQ29udGFjdEZvcm0gLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC1hcnJvdy16b25lLFxuICAgICAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgLkNvbnRhY3RGb3JtIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtY2xlYXItem9uZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgICAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuQ29udGFjdCAud3JhcCAuQ29udGFjdEZvcm0gLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC1hcnJvdy16b25lIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07IH1cbiAgICAgICAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgLkNvbnRhY3RGb3JtIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtYXJyb3ctem9uZSAuU2VsZWN0LWFycm93IHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi90aGVtZXMvb3h5Z2VuL2ltYWdlcy9kb3duLWNoZXZyb24tdGhpbi5wbmdcIikgNTAlIDUwJSBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFlbTsgfVxuICAgICAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgLkNvbnRhY3RGb3JtIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtY2xlYXItem9uZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEuMjVlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtOyB9XG4gICAgICAgICAgICAgICAgLkZvb3RlciAuY29udGFpbmVyIC5Db250YWN0IC53cmFwIC5Db250YWN0Rm9ybSAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LWNsZWFyLXpvbmUgLlNlbGVjdC1jbGVhciB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgICAgICAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuQ29udGFjdCAud3JhcCAuQ29udGFjdEZvcm0gLlNlbGVjdCAuU2VsZWN0LW1lbnUtb3V0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgLkNvbnRhY3RGb3JtIC5TZWxlY3QgLlNlbGVjdC1tZW51LW91dGVyIC5TZWxlY3Qtb3B0aW9uIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNmVtIDFlbTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLW91dC1vdXQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgICAgICAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuQ29udGFjdCAud3JhcCAuQ29udGFjdEZvcm0gLlNlbGVjdCAuU2VsZWN0LW1lbnUtb3V0ZXIgLlNlbGVjdC1vcHRpb24uaXMtZm9jdXNlZCB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgICAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuQ29udGFjdCAud3JhcCAuQ29udGFjdEZvcm0gLlNlbGVjdC5TZWxlY3QtLW11bHRpIC5TZWxlY3QtaW5wdXQge1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgICAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuQ29udGFjdCAud3JhcCAuQ29udGFjdEZvcm0gLlNlbGVjdC5TZWxlY3QtLW11bHRpIC5TZWxlY3QtaXRlbSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgLkNvbnRhY3RGb3JtIC5TZWxlY3QuU2VsZWN0LS1tdWx0aSAuU2VsZWN0LWl0ZW0gLlNlbGVjdC1pdGVtLWljb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgICAgLkZvb3RlciAuY29udGFpbmVyIC5Db250YWN0IC53cmFwIC5Db250YWN0Rm9ybSAuU2VsZWN0LlNlbGVjdC0tbXVsdGkgLlNlbGVjdC1pdGVtIC5TZWxlY3QtaXRlbS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0OyB9XG4gICAgICAgICAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuQ29udGFjdCAud3JhcCAuQ29udGFjdEZvcm0gLlNlbGVjdC5TZWxlY3QtLW11bHRpIC5TZWxlY3QtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNmVtIDFlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjRlbTsgfVxuICAgICAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgLkNvbnRhY3RGb3JtIC5TZWxlY3QuU2VsZWN0LS1tdWx0aSAuU2VsZWN0LWl0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC42ZW0gMWVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAgICAgICAgICAgLkZvb3RlciAuY29udGFpbmVyIC5Db250YWN0IC53cmFwIC5Db250YWN0Rm9ybSAuU2VsZWN0LlNlbGVjdC0tbXVsdGkgLlNlbGVjdC1pdGVtOm50aC1jaGlsZCgyKSAuU2VsZWN0LWl0ZW0tbGFiZWwge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgICAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuQ29udGFjdCAud3JhcCAuQ29udGFjdEZvcm0gLlNlbGVjdC5TZWxlY3QtLW11bHRpIC5TZWxlY3QtaXRlbTpudGgtY2hpbGQoMik6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogJytNb3JlJztcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAjOTQ5NDk0O1xuICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgICAgICAgICAgLkZvb3RlciAuY29udGFpbmVyIC5Db250YWN0IC53cmFwIC5Db250YWN0Rm9ybSAuU2VsZWN0LmlzLW9wZW4ge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODcpOyB9XG4gICAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgLkNvbnRhY3RGb3JtIC5TZWxlY3QuaXMtc2VhcmNoYWJsZSAuU2VsZWN0LWlucHV0IHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgLkNvbnRhY3RGb3JtIC5TZWxlY3QuaXMtc2VhcmNoYWJsZSAuU2VsZWN0LWlucHV0IGlucHV0IHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjZlbSAxZW07IH1cbiAgICAgICAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuQ29udGFjdCAud3JhcCAuQ29udGFjdEZvcm0gLlNlbGVjdC5pcy1kaXNhYmxlZCAuU2VsZWN0LWlucHV0IHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMC42ZW0gMWVtOyB9XG4gICAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgLkNvbnRhY3RGb3JtIC5TZWxlY3QgLlNlbGVjdC1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjYzEyMDI2ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgLkNvbnRhY3RGb3JtIGRpdi5jaGVja2JveCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjNlbSAwIDAuOGVtOyB9XG4gICAgICAgICAgLkZvb3RlciAuY29udGFpbmVyIC5Db250YWN0IC53cmFwIC5Db250YWN0Rm9ybSAuYWN0aW9ucyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLkNvbnRhY3QgLndyYXAgLkNvbnRhY3RGb3JtIC5hY3Rpb25zIGJ1dHRvbiB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNjMTIwMjY7XG4gICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwLjllbTsgfVxuICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuT2ZmaWNlcyB7XG4gICAgICBmb250LXNpemU6IDEuNmVtO1xuICAgICAgZmxleDogMTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuT2ZmaWNlcyB7XG4gICAgICAgICAgZmxleDogMjtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNS41ZW07IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLk9mZmljZXMge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBmbGV4OiAzOyB9IH1cbiAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuT2ZmaWNlcyAuQWRkcmVzc2VzIHtcbiAgICAgICAgZmxleDogMjtcbiAgICAgICAgcGFkZGluZzogMS4yZW0gMCAwLjJlbTsgfVxuICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLk9mZmljZXMgLkFkZHJlc3Nlczo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgICAgLkZvb3RlciAuY29udGFpbmVyIC5PZmZpY2VzIC5BZGRyZXNzZXMge1xuICAgICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLk9mZmljZXMgLkFkZHJlc3NlcyB7XG4gICAgICAgICAgICBmbGV4OiAxOyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuT2ZmaWNlcyAuQWRkcmVzc2VzIC53cmFwIHtcbiAgICAgICAgICAgIHdpZHRoOiA4MyU7IH0gfVxuICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLk9mZmljZXMgLkFkZHJlc3NlcyAud3JhcCAubGVmdCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gICAgICAgICAgLkZvb3RlciAuY29udGFpbmVyIC5PZmZpY2VzIC5BZGRyZXNzZXMgLndyYXAgLmxlZnQgLlRhYnMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTAuNWVtO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAgICAgICAgICAgLkZvb3RlciAuY29udGFpbmVyIC5PZmZpY2VzIC5BZGRyZXNzZXMgLndyYXAgLmxlZnQgLlRhYnMgLlRhYiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwLjI1ZW0gMC41ZW0gMC4yNWVtO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgICAgICAgICAgLkZvb3RlciAuY29udGFpbmVyIC5PZmZpY2VzIC5BZGRyZXNzZXMgLndyYXAgLmxlZnQgLlRhYnMgLlRhYi5jdXJyZW50IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMWEyODJiO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOyB9XG4gICAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuT2ZmaWNlcyAuQWRkcmVzc2VzIC53cmFwIC5yaWdodCB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg1ZW07IH1cbiAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLk9mZmljZXMgLkFkZHJlc3NlcyAud3JhcCAucmlnaHQgYWRkcmVzcyB7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgICAgICAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuT2ZmaWNlcyAuQWRkcmVzc2VzIC53cmFwIC5yaWdodCBhZGRyZXNzIHAge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLk9mZmljZXMgLkFkZHJlc3NlcyAud3JhcCAucmlnaHQgLmxpbmsge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLk9mZmljZXMgLkFkZHJlc3NlcyAud3JhcCAubmV0d29ya3Mge1xuICAgICAgICAgIHBhZGRpbmc6IDFlbSAwOyB9XG4gICAgICAgICAgLkZvb3RlciAuY29udGFpbmVyIC5PZmZpY2VzIC5BZGRyZXNzZXMgLndyYXAgLm5ldHdvcmtzIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNmVtOyB9XG4gICAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLk9mZmljZXMgLkFkZHJlc3NlcyAud3JhcCAubmV0d29ya3MgbGkgPiAqIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLk9mZmljZXMgLkFkZHJlc3NlcyAud3JhcCAubmV0d29ya3MgbGkgYSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLk9mZmljZXMgLkFkZHJlc3NlcyAud3JhcCAubmV0d29ya3MgbGkuT1dTIGEge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgIGNvbG9yOiAjYzEyMDI2O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42NWVtO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cbiAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuT2ZmaWNlcyAuTWFwIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDEuMmVtOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLk9mZmljZXMgLk1hcCB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgLkZvb3RlciAuY29udGFpbmVyIC5PZmZpY2VzIC5NYXAgLndyYXAge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNiU7IH0gfVxuICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLk9mZmljZXMgLk1hcCAud3JhcCAubGluayB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjhlbTsgfVxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuT2ZmaWNlcyAuTWFwIC53cmFwIC5saW5rIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAgIC5Gb290ZXIgLmNvbnRhaW5lciAuT2ZmaWNlcyAuTWFwIC53cmFwIC5tYXAge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLk9mZmljZXMgLk1hcCAud3JhcCAubWFwIHtcbiAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgICAgICAuRm9vdGVyIC5jb250YWluZXIgLk9mZmljZXMgLk1hcCAud3JhcCAubWFwID4gZGl2IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgfSB9XG4gICAgICAgICAgLkZvb3RlciAuY29udGFpbmVyIC5PZmZpY2VzIC5NYXAgLndyYXAgLm1hcCAuTWFya2VyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgb3BhY2l0eTogMC43NTsgfVxuICAgICAgICAgICAgLkZvb3RlciAuY29udGFpbmVyIC5PZmZpY2VzIC5NYXAgLndyYXAgLm1hcCAuTWFya2VyIHNwYW4ge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCByZWQ7XG4gICAgICAgICAgICAgIGNvbG9yOiAjNDI0MjQyO1xuICAgICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAgICAgICAgICAgLkZvb3RlciAuY29udGFpbmVyIC5PZmZpY2VzIC5NYXAgLndyYXAgLm1hcCAuTWFya2VyOmhvdmVyIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTsgfVxuXG4uQ29weXJpZ2h0IHtcbiAgY2xlYXI6IGJvdGg7XG4gIGJhY2tncm91bmQ6ICMxMzEzMTU7XG4gIGZvbnQtc2l6ZTogMS4xNWVtO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxLjI1ZW0gMDtcbiAgei1pbmRleDogMjsgfVxuICAuQ29weXJpZ2h0IGEge1xuICAgIGNvbG9yOiAjZTE0YzUyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ucHJpbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6ICNjMTIwMjY7XG4gIGZvbnQtc2l6ZTogMC41ZW07XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nOiAwLjI1ZW0gMC41ZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjI1ZW07XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zZWN0aW9uLmZvcm0ge1xuICBmb250LXNpemU6IDEuNmVtO1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLnNlY3Rpb24uZm9ybSB7XG4gICAgICBmb250LXNpemU6IDEuN2VtOyB9IH1cbiAgLnNlY3Rpb24uZm9ybSAuZXJyb3JzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNjMTIwMjY7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAwLjNlbSAwLjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgICAuc2VjdGlvbi5mb3JtIC5lcnJvcnMudmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2VjdGlvbi5mb3JtIC5zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmNmY2ZjO1xuICAgIHBhZGRpbmc6IDEuNWVtIDA7XG4gICAgbWFyZ2luOiAxLjVlbSAwOyB9XG4gIC5zZWN0aW9uLmZvcm0gaDIge1xuICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgbWFyZ2luOiAxLjM1ZW0gMCAwLjVlbTsgfVxuICAgIC5zZWN0aW9uLmZvcm0gaDI6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuc2VjdGlvbi5mb3JtIHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnNlY3Rpb24uZm9ybSB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnNlY3Rpb24uZm9ybSAuYm94IHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjYzEyMDI2O1xuICAgIGZvbnQtc2l6ZTogMC45NWVtO1xuICAgIHBhZGRpbmc6IDFlbTsgfVxuICAgIC5zZWN0aW9uLmZvcm0gLmJveCBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVlbTsgfVxuICAgICAgLnNlY3Rpb24uZm9ybSAuYm94IHA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuc2VjdGlvbi5mb3JtIC5ib3guY3JlZGl0Q2FyZCwgLnNlY3Rpb24uZm9ybSAuYm94LmRpcmVjdERlYml0IHtcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICBwYWRkaW5nOiAxLjFlbSAxZW07XG4gICAgICBtYXJnaW46IDAuMjVlbSAwIDEuMjVlbTsgfVxuICAgICAgLnNlY3Rpb24uZm9ybSAuYm94LmNyZWRpdENhcmQgLkJhbmtBY2NvdW50TnVtYmVyLCAuc2VjdGlvbi5mb3JtIC5ib3guZGlyZWN0RGViaXQgLkJhbmtBY2NvdW50TnVtYmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2MxMjAyNjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHBhZGRpbmc6IDAuMjVlbSAxZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTsgfVxuICAuc2VjdGlvbi5mb3JtIC5ub3RlIHtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNGVtOyB9XG4gIC5zZWN0aW9uLmZvcm0gLnN0YXRlbWVudCB7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgY29sb3I6ICM1MjUyNTI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5zZWN0aW9uLmZvcm0gLnN0YXRlbWVudCBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVlbTsgfVxuICAgICAgLnNlY3Rpb24uZm9ybSAuc3RhdGVtZW50IHA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnNlY3Rpb24uZm9ybSAuY2hlY2tib3hlcyAucm93OjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuc2VjdGlvbi5mb3JtIC5jaGVja2JveGVzIC5yb3cge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNyk7IH0gfVxuICAuc2VjdGlvbi5mb3JtIC5jaGVja2JveGVzIC5yb3cgLmZpZWxkSG9sZGVyIHtcbiAgICBtYXJnaW46IDAuNzVlbSAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAuc2VjdGlvbi5mb3JtIC5jaGVja2JveGVzIC5yb3cgLmZpZWxkSG9sZGVyIHtcbiAgICAgICAgd2lkdGg6IDQyJTtcbiAgICAgICAgcGFkZGluZzogMS4yNWVtIDUlIDEuMjVlbSAwO1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAuc2VjdGlvbi5mb3JtIC5yb3cge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnNlY3Rpb24uZm9ybSAucm93OjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgLnNlY3Rpb24uZm9ybSAucm93LnR3byAuZmllbGRIb2xkZXIsIC5zZWN0aW9uLmZvcm0gLnJvdy50aHJlZSAuZmllbGRIb2xkZXIge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTsgfSB9XG4gICAgLnNlY3Rpb24uZm9ybSAucm93LmxhYmVsZWQgbGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luOiAwLjVlbSAwLjVlbSAwLjVlbSAwOyB9XG4gICAgLnNlY3Rpb24uZm9ybSAucm93IC5maWVsZEhvbGRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfVxuICAgICAgLnNlY3Rpb24uZm9ybSAucm93IC5maWVsZEhvbGRlciBpbnB1dCwgLnNlY3Rpb24uZm9ybSAucm93IC5maWVsZEhvbGRlciB0ZXh0YXJlYSwgLnNlY3Rpb24uZm9ybSAucm93IC5maWVsZEhvbGRlciBzZWxlY3QsIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLkN1c3RvbUZpbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogI2QxZDFkMztcbiAgICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDE3ZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMC41ZW0gMC43NWVtOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgaW5wdXQsIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgdGV4dGFyZWEsIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgc2VsZWN0LCAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIC5DdXN0b21GaWxlIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxN2VtOyB9XG4gICAgICAgICAgICAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIGlucHV0LndpZGUsIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgdGV4dGFyZWEud2lkZSwgLnNlY3Rpb24uZm9ybSAucm93IC5maWVsZEhvbGRlciBzZWxlY3Qud2lkZSwgLnNlY3Rpb24uZm9ybSAucm93IC5maWVsZEhvbGRlciAuQ3VzdG9tRmlsZS53aWRlIHtcbiAgICAgICAgICAgICAgbWluLXdpZHRoOiAzNC41ZW07IH0gfVxuICAgICAgICAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIGlucHV0OmRpc2FibGVkLCAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIHRleHRhcmVhOmRpc2FibGVkLCAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIHNlbGVjdDpkaXNhYmxlZCwgLnNlY3Rpb24uZm9ybSAucm93IC5maWVsZEhvbGRlciAuQ3VzdG9tRmlsZTpkaXNhYmxlZCB7XG4gICAgICAgICAgb3BhY2l0eTogMC41OyB9XG4gICAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCwgLnNlY3Rpb24uZm9ybSAucm93IC5maWVsZEhvbGRlciB0ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsLCAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIHNlbGVjdDotd2Via2l0LWF1dG9maWxsLCAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIC5DdXN0b21GaWxlOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMTAwMHB4ICNkMWQxZDMgaW5zZXQ7IH1cbiAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgdGV4dGFyZWEge1xuICAgICAgICBtaW4taGVpZ2h0OiA2ZW07IH1cbiAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgc2VsZWN0IHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIC5TZWxlY3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICNkMWQxZDMgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTdlbTtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgICAgLnNlY3Rpb24uZm9ybSAucm93IC5maWVsZEhvbGRlciAuU2VsZWN0IHtcbiAgICAgICAgICAgIGhlaWdodDogMi42ZW07IH0gfVxuICAgICAgICAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC1wbGFjZWhvbGRlcixcbiAgICAgICAgICAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtdmFsdWUge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGNvbG9yOiAjMmMyYzJjO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVlbSAwLjc1ZW07XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cbiAgICAgICAgICAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtaW5wdXQge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMC41ZW0gMC43NWVtOyB9XG4gICAgICAgICAgLnNlY3Rpb24uZm9ybSAucm93IC5maWVsZEhvbGRlciAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LWFycm93LXpvbmUsXG4gICAgICAgICAgLnNlY3Rpb24uZm9ybSAucm93IC5maWVsZEhvbGRlciAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LWNsZWFyLXpvbmUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC1hcnJvdy16b25lIHtcbiAgICAgICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07IH1cbiAgICAgICAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC1hcnJvdy16b25lIC5TZWxlY3QtYXJyb3cge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvdGhlbWVzL294eWdlbi9pbWFnZXMvZG93bi1jaGV2cm9uLXRoaW4ucG5nXCIpIDUwJSA1MCUgbm8tcmVwZWF0O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDFlbTsgfVxuICAgICAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC1jbGVhci16b25lIHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjI1ZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtOyB9XG4gICAgICAgICAgICAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtY2xlYXItem9uZSAuU2VsZWN0LWNsZWFyIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLlNlbGVjdCAuU2VsZWN0LW1lbnUtb3V0ZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLlNlbGVjdCAuU2VsZWN0LW1lbnUtb3V0ZXIgLlNlbGVjdC1vcHRpb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNWVtIDAuNzVlbTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2Utb3V0LW91dDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgICAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLlNlbGVjdCAuU2VsZWN0LW1lbnUtb3V0ZXIgLlNlbGVjdC1vcHRpb24uaXMtZm9jdXNlZCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLlNlbGVjdC5TZWxlY3QtLW11bHRpIC5TZWxlY3QtaW5wdXQge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLlNlbGVjdC5TZWxlY3QtLW11bHRpIC5TZWxlY3QtaXRlbSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgICAgLnNlY3Rpb24uZm9ybSAucm93IC5maWVsZEhvbGRlciAuU2VsZWN0LlNlbGVjdC0tbXVsdGkgLlNlbGVjdC1pdGVtIC5TZWxlY3QtaXRlbS1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIC5TZWxlY3QuU2VsZWN0LS1tdWx0aSAuU2VsZWN0LWl0ZW0gLlNlbGVjdC1pdGVtLWxhYmVsIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7IH1cbiAgICAgICAgICAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIC5TZWxlY3QuU2VsZWN0LS1tdWx0aSAuU2VsZWN0LWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMC41ZW0gMC43NWVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC40ZW07IH1cbiAgICAgICAgICAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIC5TZWxlY3QuU2VsZWN0LS1tdWx0aSAuU2VsZWN0LWl0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNWVtIDAuNzVlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgICAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLlNlbGVjdC5TZWxlY3QtLW11bHRpIC5TZWxlY3QtaXRlbTpudGgtY2hpbGQoMikgLlNlbGVjdC1pdGVtLWxhYmVsIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgICAgLnNlY3Rpb24uZm9ybSAucm93IC5maWVsZEhvbGRlciAuU2VsZWN0LlNlbGVjdC0tbXVsdGkgLlNlbGVjdC1pdGVtOm50aC1jaGlsZCgyKTphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcrTW9yZSc7XG4gICAgICAgICAgICAgIGNvbG9yOiAjOTQ5NDk0O1xuICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLlNlbGVjdC5pcy1vcGVuIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODcpOyB9XG4gICAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLlNlbGVjdC5pcy1zZWFyY2hhYmxlIC5TZWxlY3QtaW5wdXQge1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgICAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIC5TZWxlY3QuaXMtc2VhcmNoYWJsZSAuU2VsZWN0LWlucHV0IGlucHV0IHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMC41ZW0gMC43NWVtOyB9XG4gICAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLlNlbGVjdC5pcy1kaXNhYmxlZCAuU2VsZWN0LWlucHV0IHtcbiAgICAgICAgICBwYWRkaW5nOiAwLjVlbSAwLjc1ZW07IH1cbiAgICAgICAgLnNlY3Rpb24uZm9ybSAucm93IC5maWVsZEhvbGRlciAuU2VsZWN0LmlzLWRpc2FibGVkIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICAgICAgICAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIC5TZWxlY3QuaXMtZGlzYWJsZWQgLlNlbGVjdC1hcnJvdy16b25lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLkN1c3RvbUZpbGUge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLkN1c3RvbUZpbGUgLnpvbmU6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLkN1c3RvbUZpbGUgLnpvbmUgLmxlZnQge1xuICAgICAgICAgICp6b29tOiAxO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMCU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwJTtcbiAgICAgICAgICBwYWRkaW5nOiAwLjVlbSAwLjc1ZW07IH1cbiAgICAgICAgICAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIC5DdXN0b21GaWxlIC56b25lIC5sZWZ0OmJlZm9yZSwgLnNlY3Rpb24uZm9ybSAucm93IC5maWVsZEhvbGRlciAuQ3VzdG9tRmlsZSAuem9uZSAubGVmdDphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAgICAgLnNlY3Rpb24uZm9ybSAucm93IC5maWVsZEhvbGRlciAuQ3VzdG9tRmlsZSAuem9uZSAubGVmdDphZnRlciB7XG4gICAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIC5DdXN0b21GaWxlIC56b25lIC5yaWdodCB7XG4gICAgICAgICAgKnpvb206IDE7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAlO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNFNEU0RTQ7XG4gICAgICAgICAgY29sb3I6ICNjMTIwMjY7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDAuNWVtIDAuNzVlbTsgfVxuICAgICAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLkN1c3RvbUZpbGUgLnpvbmUgLnJpZ2h0OmJlZm9yZSwgLnNlY3Rpb24uZm9ybSAucm93IC5maWVsZEhvbGRlciAuQ3VzdG9tRmlsZSAuem9uZSAucmlnaHQ6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLkN1c3RvbUZpbGUgLnpvbmUgLnJpZ2h0OmFmdGVyIHtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIC5zZWN0aW9uLmZvcm0gLnJvdyAuZmllbGRIb2xkZXIgLkN1c3RvbUZpbGUgLnpvbmUuc2VsZWN0ZWQgLmxlZnQge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyMDk2MTU7XG4gICAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgLnNlY3Rpb24uZm9ybSAucm93IC5maWVsZEhvbGRlciAuQ3VzdG9tRmlsZSAuem9uZS5lcnJvciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLnNlY3Rpb24uZm9ybSAucm93IC5maWVsZEhvbGRlciAucmFkaW8sXG4gICAgICAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIC5jaGVja2JveCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVlbTsgfVxuICAgICAgLnNlY3Rpb24uZm9ybSAucm93IC5maWVsZEhvbGRlciBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgICAuc2VjdGlvbi5mb3JtIC5yb3cgLmZpZWxkSG9sZGVyIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4yNWVtOyB9XG4gICAgLnNlY3Rpb24uZm9ybSAucm93LnJlY29yZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLnNlY3Rpb24uZm9ybSAucm93LnJlY29yZCAuZmllbGRIb2xkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuc2VjdGlvbi5mb3JtIC5yb3cucmVjb3JkIC5wcmljZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDRlbTsgfVxuICAgICAgLnNlY3Rpb24uZm9ybSAucm93LnJlY29yZCAucGxhY2Vob2xkZXIge1xuICAgICAgICBmbGV4OiAxOyB9XG4gICAgLnNlY3Rpb24uZm9ybSAucm93LmRvY3VtZW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogMC43NWVtOyB9XG4gICAgICAuc2VjdGlvbi5mb3JtIC5yb3cuZG9jdW1lbnQgLmZpZWxkSG9sZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAuc2VjdGlvbi5mb3JtIC5yb3cuZG9jdW1lbnQgLmZpZWxkSG9sZGVyOm50aC1jaGlsZCgyKSAuZmllbGRIb2xkZXIgLnJlYWRPbmx5TGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNlY3Rpb24uZm9ybSAucGxhY2Vob2xkZXJOb2RlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDM1ZW0pIHtcbiAgICAuc2VjdGlvbi5mb3JtIC5zdXBwb3J0aW5nRG9jdW1lbnRzID4gLnJvdyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1pbi13aWR0aDogMTdlbTsgfVxuICAgICAgLnNlY3Rpb24uZm9ybSAuc3VwcG9ydGluZ0RvY3VtZW50cyA+IC5yb3c6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07IH1cbiAgICAgIC5zZWN0aW9uLmZvcm0gLnN1cHBvcnRpbmdEb2N1bWVudHMgPiAucm93Om50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbm9uZTsgfSB9XG4gIC5zZWN0aW9uLmZvcm0gYnV0dG9uLmFkZCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzEyMDI2O1xuICAgIGNvbG9yOiAjYzEyMDI2O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjc1ZW07IH1cbiAgICAuc2VjdGlvbi5mb3JtIGJ1dHRvbi5hZGQgKyAucm93IHtcbiAgICAgIG1hcmdpbi10b3A6IDFlbTsgfVxuICAuc2VjdGlvbi5mb3JtIHRhYmxlIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIG1hcmdpbjogMS41ZW0gMCAwOyB9XG4gICAgLnNlY3Rpb24uZm9ybSB0YWJsZSB0ciB0aCwgLnNlY3Rpb24uZm9ybSB0YWJsZSB0ciB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjAyKTtcbiAgICAgIHBhZGRpbmc6IDFlbSAzZW0gMWVtIDA7IH1cbiAgICAuc2VjdGlvbi5mb3JtIHRhYmxlIHRyIHRoIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgICAgLnNlY3Rpb24uZm9ybSB0YWJsZSB0ciB0aCBlbSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gIC5zZWN0aW9uLmZvcm0gLnJkdCB0YWJsZSB7XG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnNlY3Rpb24uZm9ybSAucmR0IHRhYmxlIHRyIHRoLCAuc2VjdGlvbi5mb3JtIC5yZHQgdGFibGUgdHIgdGQge1xuICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnNlY3Rpb24uZm9ybSAucmR0IHRhYmxlIHRyIHRoIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAuc2VjdGlvbi5mb3JtIC5yZHQgdGFibGUgLnJkdERheSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC5zZWN0aW9uLmZvcm0gLnJkdCB0YWJsZSAucmR0RGF5OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZiZTVlNjsgfVxuICAgICAgLnNlY3Rpb24uZm9ybSAucmR0IHRhYmxlIC5yZHREYXkucmR0VG9kYXk6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNjMTIwMjY7IH1cbiAgICAgIC5zZWN0aW9uLmZvcm0gLnJkdCB0YWJsZSAucmR0RGF5LnJkdEFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNjMTIwMjY7IH1cbiAgLnNlY3Rpb24uZm9ybSAudG90YWwge1xuICAgIGZvbnQtc2l6ZTogMmVtOyB9XG4gIC5zZWN0aW9uLmZvcm0gLmdzdCB7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgLnNlY3Rpb24uZm9ybSAucGF5bWVudCB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIHBhZGRpbmc6IDAuNWVtIDAgMWVtOyB9XG4gIC5zZWN0aW9uLmZvcm0gLmFjdGlvbnMge1xuICAgIG1hcmdpbi10b3A6IDEuNWVtOyB9XG4gICAgLnNlY3Rpb24uZm9ybSAuYWN0aW9ucyBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogI2MxMjAyNjtcbiAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgcGFkZGluZzogMC43NWVtIDJlbTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjM1cyBlYXNlLWluLW91dDsgfVxuICAuc2VjdGlvbi5mb3JtLnN1Ym1pdHRpbmcge1xuICAgIG9wYWNpdHk6IDAuMjU7IH1cbiAgICAuc2VjdGlvbi5mb3JtLnN1Ym1pdHRpbmcgLmFjdGlvbnMgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyYzJjMmM7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnNlY3Rpb24uZm9ybSAucmVhZE9ubHlMYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjhlbTsgfVxuICAuc2VjdGlvbi5mb3JtIC5lcnJvciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICNjMTIwMjY7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICBwYWRkaW5nOiAwLjNlbSAwLjVlbTsgfVxuICAuc2VjdGlvbi5mb3JtIGEge1xuICAgIGNvbG9yOiAjYzEyMDI2OyB9XG5cbi5JbnZvaWNlIC5icmFuZGluZyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzEyMDI2O1xuICBtYXJnaW4tYm90dG9tOiAyZW07IH1cbiAgLkludm9pY2UgLmJyYW5kaW5nIGltZyB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDFlbTsgfVxuXG4uSW52b2ljZSAucGFydGljdWxhcnMge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG4gIC5JbnZvaWNlIC5wYXJ0aWN1bGFyczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgLkludm9pY2UgLnBhcnRpY3VsYXJzID4gZGl2OmZpcnN0LWNoaWxkLCAuSW52b2ljZSAucGFydGljdWxhcnMgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgICAqem9vbTogMTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgd2lkdGg6IDM1LjYyNSU7XG4gICAgICBtYXJnaW4tbGVmdDogMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMlOyB9XG4gICAgICAuSW52b2ljZSAucGFydGljdWxhcnMgPiBkaXY6Zmlyc3QtY2hpbGQ6YmVmb3JlLCAuSW52b2ljZSAucGFydGljdWxhcnMgPiBkaXY6Zmlyc3QtY2hpbGQ6YWZ0ZXIsIC5JbnZvaWNlIC5wYXJ0aWN1bGFycyA+IGRpdjpsYXN0LWNoaWxkOmJlZm9yZSwgLkludm9pY2UgLnBhcnRpY3VsYXJzID4gZGl2Omxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgIC5JbnZvaWNlIC5wYXJ0aWN1bGFycyA+IGRpdjpmaXJzdC1jaGlsZDphZnRlciwgLkludm9pY2UgLnBhcnRpY3VsYXJzID4gZGl2Omxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLkludm9pY2UgLnBhcnRpY3VsYXJzID4gZGl2OmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQsIC5JbnZvaWNlIC5wYXJ0aWN1bGFycyA+IGRpdjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgLkludm9pY2UgLnBhcnRpY3VsYXJzID4gZGl2Om50aC1jaGlsZCgyKSB7XG4gICAgICAqem9vbTogMTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgd2lkdGg6IDIyLjc1JTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMyU7IH1cbiAgICAgIC5JbnZvaWNlIC5wYXJ0aWN1bGFycyA+IGRpdjpudGgtY2hpbGQoMik6YmVmb3JlLCAuSW52b2ljZSAucGFydGljdWxhcnMgPiBkaXY6bnRoLWNoaWxkKDIpOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAuSW52b2ljZSAucGFydGljdWxhcnMgPiBkaXY6bnRoLWNoaWxkKDIpOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5JbnZvaWNlIC5wYXJ0aWN1bGFycyA+IGRpdjpudGgtY2hpbGQoMik6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMCU7IH0gfVxuICAuSW52b2ljZSAucGFydGljdWxhcnMgLmxvZ28ge1xuICAgIHdpZHRoOiAyMDBweDsgfVxuXG4uSW52b2ljZSAuaXRlbXMge1xuICBmb250LXNpemU6IDAuOTVlbTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLkludm9pY2UgLml0ZW1zIHRoLCAuSW52b2ljZSAuaXRlbXMgdGQge1xuICAgIHBhZGRpbmc6IDAuNzVlbSAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAuSW52b2ljZSAuaXRlbXMgdGguZmlyc3QsIC5JbnZvaWNlIC5pdGVtcyB0ZC5maXJzdCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuSW52b2ljZSAuaXRlbXMgdGgubGFzdCwgLkludm9pY2UgLml0ZW1zIHRkLmxhc3Qge1xuICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi5JbnZvaWNlIC5ub3RlIHtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5JbnZvaWNlIC5ub3RlLnRvcCB7XG4gICAgbWFyZ2luOiAwIDAgMS43NWVtOyB9XG4gIC5JbnZvaWNlIC5ub3RlLmJvdHRvbSB7XG4gICAgbWFyZ2luOiAzLjVlbSAwIDFlbTsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAucHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgaHRtbCwgYm9keSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICBodG1sICNhcHAsIGJvZHkgI2FwcCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAgIGh0bWwgI2FwcCAuUm9vdCwgYm9keSAjYXBwIC5Sb290IHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgaHRtbCAjYXBwIC5Sb290IC5WaWV3cG9ydCwgYm9keSAjYXBwIC5Sb290IC5WaWV3cG9ydCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgaHRtbCAjYXBwIC5Sb290IC5WaWV3cG9ydCAuTW9kYWwsXG4gICAgICAgICAgaHRtbCAjYXBwIC5Sb290IC5WaWV3cG9ydCAuVG9wLFxuICAgICAgICAgIGh0bWwgI2FwcCAuUm9vdCAuVmlld3BvcnQgLkJhY2tUb1RvcCwgYm9keSAjYXBwIC5Sb290IC5WaWV3cG9ydCAuTW9kYWwsXG4gICAgICAgICAgYm9keSAjYXBwIC5Sb290IC5WaWV3cG9ydCAuVG9wLFxuICAgICAgICAgIGJvZHkgI2FwcCAuUm9vdCAuVmlld3BvcnQgLkJhY2tUb1RvcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICBodG1sICNhcHAgLlJvb3QgLlZpZXdwb3J0IC5NaWRkbGUsIGJvZHkgI2FwcCAuUm9vdCAuVmlld3BvcnQgLk1pZGRsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgfVxuICAgICAgICAgICAgaHRtbCAjYXBwIC5Sb290IC5WaWV3cG9ydCAuTWlkZGxlIC5Gb2xkLCBib2R5ICNhcHAgLlJvb3QgLlZpZXdwb3J0IC5NaWRkbGUgLkZvbGQge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgICBodG1sICNhcHAgLlJvb3QgLlZpZXdwb3J0IC5NaWRkbGUgLkJvdHRvbSwgYm9keSAjYXBwIC5Sb290IC5WaWV3cG9ydCAuTWlkZGxlIC5Cb3R0b20ge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgZm9ybSBpbnB1dCwgZm9ybSB0ZXh0YXJlYSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICBmb3JtIC5hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLkhvbWVQYWdlIC5Gb2xkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAuSG9tZVBhZ2UgLkZvbGQgLlRlc3RpbW9uaWFscyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuSG9tZVBhZ2UgLkZvbGQgLlRlc3RpbW9uaWFscyAuVGVzdGltb25pYWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTkzLCAzMiwgMzgsIDAuOSk7XG4gICAgICBmb250LXNpemU6IDEuOGVtO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMWVtIGF1dG8gMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDAuMzVzLCBvcGFjaXR5IDAuMzVzIGVhc2UtaW4tb3V0OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgLkhvbWVQYWdlIC5Gb2xkIC5UZXN0aW1vbmlhbHMgLlRlc3RpbW9uaWFsIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDk2JTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDcwMHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAwKSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgICAgLkhvbWVQYWdlIC5Gb2xkIC5UZXN0aW1vbmlhbHMgLlRlc3RpbW9uaWFsOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIC5Ib21lUGFnZSAuRm9sZCAuVGVzdGltb25pYWxzIC5UZXN0aW1vbmlhbC5jdXJyZW50IHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIC5Ib21lUGFnZSAuRm9sZCAuVGVzdGltb25pYWxzIC5UZXN0aW1vbmlhbCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgICAuSG9tZVBhZ2UgLkZvbGQgLlRlc3RpbW9uaWFscyAuVGVzdGltb25pYWwgLnF1b3RlIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVlbSAwIDFlbTsgfVxuICAgICAgLkhvbWVQYWdlIC5Gb2xkIC5UZXN0aW1vbmlhbHMgLlRlc3RpbW9uaWFsIC5wZXJzb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgcGFkZGluZzogMC43NWVtIDJlbSAxLjI1ZW0gMDsgfVxuICAgICAgICAuSG9tZVBhZ2UgLkZvbGQgLlRlc3RpbW9uaWFscyAuVGVzdGltb25pYWwgLnBlcnNvbiBzdHJvbmcge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG4gIC5Ib21lUGFnZSAuRm9sZCAuT2ZmZXJzIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5Ib21lUGFnZSAuRm9sZCAuT2ZmZXJzIC5PZmZlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgxOTMsIDMyLCAzOCwgMC45KTtcbiAgICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgICBwYWRkaW5nOiAwLjc1ZW07XG4gICAgICBtYXJnaW46IDFlbSBhdXRvIDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwLjM1cywgb3BhY2l0eSAwLjM1cyBlYXNlLWluLW91dDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgICAgIC5Ib21lUGFnZSAuRm9sZCAuT2ZmZXJzIC5PZmZlciB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjdlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgLkhvbWVQYWdlIC5Gb2xkIC5PZmZlcnMgLk9mZmVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDk2JTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDcwMHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAwKSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgICAgLkhvbWVQYWdlIC5Gb2xkIC5PZmZlcnMgLk9mZmVyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIC5Ib21lUGFnZSAuRm9sZCAuT2ZmZXJzIC5PZmZlci5jdXJyZW50IHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIC5Ib21lUGFnZSAuRm9sZCAuT2ZmZXJzIC5PZmZlciB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgICAuSG9tZVBhZ2UgLkZvbGQgLk9mZmVycyAuT2ZmZXIgLnJpYmJvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTRweDtcbiAgICAgICAgdG9wOiAwLjc1ZW07XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgLkhvbWVQYWdlIC5Gb2xkIC5PZmZlcnMgLk9mZmVyIC5yaWJib24ge1xuICAgICAgICAgICAgdG9wOiAtNHB4OyB9IH1cbiAgICAgICAgLkhvbWVQYWdlIC5Gb2xkIC5PZmZlcnMgLk9mZmVyIC5yaWJib24gc3BhbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIGNvbG9yOiAjYzEyMDI2O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmNiZmM3O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgICAgbGVmdDogLTI1cHg7IH1cbiAgICAgICAgICAuSG9tZVBhZ2UgLkZvbGQgLk9mZmVycyAuT2ZmZXIgLnJpYmJvbiBzcGFuOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZGY4MjhjO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAzcHggc29saWQgI2RmODI4YzsgfVxuICAgICAgICAgIC5Ib21lUGFnZSAuRm9sZCAuT2ZmZXJzIC5PZmZlciAucmliYm9uIHNwYW46OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMHB4O1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgI2RmODI4YztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAjZGY4MjhjOyB9XG4gICAgICAuSG9tZVBhZ2UgLkZvbGQgLk9mZmVycyAuT2ZmZXIgLmxlZnQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgIC5Ib21lUGFnZSAuRm9sZCAuT2ZmZXJzIC5PZmZlciAubGVmdCB7XG4gICAgICAgICAgICAqem9vbTogMTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICAgICAgd2lkdGg6IDE3LjYlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgICAuSG9tZVBhZ2UgLkZvbGQgLk9mZmVycyAuT2ZmZXIgLmxlZnQ6YmVmb3JlLCAuSG9tZVBhZ2UgLkZvbGQgLk9mZmVycyAuT2ZmZXIgLmxlZnQ6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgICAgICAgIC5Ib21lUGFnZSAuRm9sZCAuT2ZmZXJzIC5PZmZlciAubGVmdDphZnRlciB7XG4gICAgICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgICAgICAuSG9tZVBhZ2UgLkZvbGQgLk9mZmVycyAuT2ZmZXIgLmxlZnQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCU7IH1cbiAgICAgICAgICAgIC5Ib21lUGFnZSAuRm9sZCAuT2ZmZXJzIC5PZmZlciAubGVmdCBpbWcge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgICAuSG9tZVBhZ2UgLkZvbGQgLk9mZmVycyAuT2ZmZXIgLmxlZnQgKyAucmlnaHQge1xuICAgICAgICAgICp6b29tOiAxO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgICAgd2lkdGg6IDc5LjQlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMlOyB9XG4gICAgICAgICAgLkhvbWVQYWdlIC5Gb2xkIC5PZmZlcnMgLk9mZmVyIC5sZWZ0ICsgLnJpZ2h0OmJlZm9yZSwgLkhvbWVQYWdlIC5Gb2xkIC5PZmZlcnMgLk9mZmVyIC5sZWZ0ICsgLnJpZ2h0OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgICAgICAuSG9tZVBhZ2UgLkZvbGQgLk9mZmVycyAuT2ZmZXIgLmxlZnQgKyAucmlnaHQ6YWZ0ZXIge1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgICAuSG9tZVBhZ2UgLkZvbGQgLk9mZmVycyAuT2ZmZXIgLmxlZnQgKyAucmlnaHQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAlOyB9IH1cbiAgICAgIC5Ib21lUGFnZSAuRm9sZCAuT2ZmZXJzIC5PZmZlciAucmlnaHQgLmhlYWRpbmcge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAuSG9tZVBhZ2UgLkZvbGQgLk9mZmVycyAuT2ZmZXIgLnJpZ2h0IC5oZWFkaW5nIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSk7IH0gfVxuICAgICAgICAuSG9tZVBhZ2UgLkZvbGQgLk9mZmVycyAuT2ZmZXIgLnJpZ2h0IC5oZWFkaW5nIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLkhvbWVQYWdlIC5Gb2xkIC5PZmZlcnMgLk9mZmVyIC5yaWdodCAud3JhcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAuSG9tZVBhZ2UgLkZvbGQgLk9mZmVycyAuT2ZmZXIgLnJpZ2h0IC53cmFwIC5jb250ZW50IHtcbiAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjc1ZW07IH1cbiAgICAgICAgICAuSG9tZVBhZ2UgLkZvbGQgLk9mZmVycyAuT2ZmZXIgLnJpZ2h0IC53cmFwIC5jb250ZW50IHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG4gICAgICAgIC5Ib21lUGFnZSAuRm9sZCAuT2ZmZXJzIC5PZmZlciAucmlnaHQgLndyYXAgLkNhbGxUb0FjdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nOiAwLjc1ZW0gM2VtO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICAgICAgICAgIC5Ib21lUGFnZSAuRm9sZCAuT2ZmZXJzIC5PZmZlciAucmlnaHQgLndyYXAgLkNhbGxUb0FjdGlvbiBzcGFuIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07IH1cblxuLkhvbWVQYWdlIC50eXBvZ3JhcGh5IC5zZWN0aW9uIGgxIHtcbiAgZm9udC1zaXplOiAxLjZlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDFlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuSG9tZVBhZ2UgLnR5cG9ncmFwaHkgLnNlY3Rpb24gaDEge1xuICAgICAgZm9udC1zaXplOiAxLjhlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAuSG9tZVBhZ2UgLlRydXN0cGlsb3Qge1xuICAgIHBhZGRpbmc6IDNlbSAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAuSG9tZVBhZ2UgLlRydXN0cGlsb3Qge1xuICAgIHBhZGRpbmc6IDZlbSAwOyB9IH1cblxuLkhvbWVQYWdlIC5UcnVzdHBpbG90IC53cmFwIHtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7IH1cblxuLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMge1xuICBiYWNrZ3JvdW5kOiAjZTNlYmVkO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MxMjAyNjsgfVxuICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE1MDBweCkge1xuICAgIC5Ib21lUGFnZSAuRmVhdHVyZWRQcm9wZXJ0aWVzIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjVlbTsgfSB9XG4gIC5Ib21lUGFnZSAuRmVhdHVyZWRQcm9wZXJ0aWVzIC53cmFwIHtcbiAgICB3aWR0aDogOTglO1xuICAgIG1heC13aWR0aDogMTYwMHB4OyB9XG4gICAgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgaDEge1xuICAgICAgZm9udC1zaXplOiAzLjJlbTtcbiAgICAgIGNvbG9yOiAjYzEyMDI2O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjVlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIC5Ib21lUGFnZSAuRmVhdHVyZWRQcm9wZXJ0aWVzIC53cmFwIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDMuNGVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuN2VtOyB9IH1cbiAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllczo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NTBweCkgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAgIC5Ib21lUGFnZSAuRmVhdHVyZWRQcm9wZXJ0aWVzIC53cmFwIC5Qcm9wZXJ0aWVzIC5zbGlkZSB7XG4gICAgICAgICAgKnpvb206IDE7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAlOyB9XG4gICAgICAgICAgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlOmJlZm9yZSwgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgICAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGU6YWZ0ZXIge1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGU6bnRoLWNoaWxkKC1uKzIpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIGFuZCAobWF4LXdpZHRoOiAxNDQ5cHgpIHtcbiAgICAgICAgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlIHtcbiAgICAgICAgICAqem9vbTogMTtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAlO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMCU7IH1cbiAgICAgICAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGU6YmVmb3JlLCAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGU6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgICAgIC5Ib21lUGFnZSAuRmVhdHVyZWRQcm9wZXJ0aWVzIC53cmFwIC5Qcm9wZXJ0aWVzIC5zbGlkZTphZnRlciB7XG4gICAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAgIC5Ib21lUGFnZSAuRmVhdHVyZWRQcm9wZXJ0aWVzIC53cmFwIC5Qcm9wZXJ0aWVzIC5zbGlkZTpudGgtY2hpbGQoLW4rMykge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NTBweCkge1xuICAgICAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUge1xuICAgICAgICAgICp6b29tOiAxO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMCU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwJTsgfVxuICAgICAgICAgIC5Ib21lUGFnZSAuRmVhdHVyZWRQcm9wZXJ0aWVzIC53cmFwIC5Qcm9wZXJ0aWVzIC5zbGlkZTpiZWZvcmUsIC5Ib21lUGFnZSAuRmVhdHVyZWRQcm9wZXJ0aWVzIC53cmFwIC5Qcm9wZXJ0aWVzIC5zbGlkZTphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAgICAgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlOmFmdGVyIHtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgICAgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlOm50aC1jaGlsZCgtbis0KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUgLlByb3BlcnR5IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICAgICAgd2lkdGg6IDkzJTtcbiAgICAgICAgbWF4LXdpZHRoOiAzNjBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAgICAgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlIC5Qcm9wZXJ0eSAudG9wIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGhlaWdodDogMjI1cHg7IH1cbiAgICAgICAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUgLlByb3BlcnR5IC50b3AgLnByaWNlIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2MxMjAyNjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43ZW07XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjU1ZW0gMS4xZW0gMC42ZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAuMjJlbTsgfVxuICAgICAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUgLlByb3BlcnR5IC5taWRkbGUge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB3aWR0aDogOTIlOyB9XG4gICAgICAgICAgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlIC5Qcm9wZXJ0eSAubWlkZGxlOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAgIC5Ib21lUGFnZSAuRmVhdHVyZWRQcm9wZXJ0aWVzIC53cmFwIC5Qcm9wZXJ0aWVzIC5zbGlkZSAuUHJvcGVydHkgLm1pZGRsZSAuYmFkZ2VzIHtcbiAgICAgICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgICAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUgLlByb3BlcnR5IC5taWRkbGUgLmJhZGdlcyBsaSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICAgICAgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlIC5Qcm9wZXJ0eSAubWlkZGxlIC5iYWRnZXMgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7IH1cbiAgICAgICAgICAgICAgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlIC5Qcm9wZXJ0eSAubWlkZGxlIC5iYWRnZXMgbGkgLmljb24ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2MxMjAyNjtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNjRweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMycHg7IH1cbiAgICAgICAgICAgICAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUgLlByb3BlcnR5IC5taWRkbGUgLmJhZGdlcyBsaSAuaWNvbi5mYWRlZCB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogIzJjMmMyYztcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMTsgfVxuICAgICAgICAgICAgICAgIC5Ib21lUGFnZSAuRmVhdHVyZWRQcm9wZXJ0aWVzIC53cmFwIC5Qcm9wZXJ0aWVzIC5zbGlkZSAuUHJvcGVydHkgLm1pZGRsZSAuYmFkZ2VzIGxpIC5pY29uLmljb24tYmVkcm9vbXMge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzNS4ycHg7IH1cbiAgICAgICAgICAgICAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUgLlByb3BlcnR5IC5taWRkbGUgLmJhZGdlcyBsaSAuaWNvbi5pY29uLWJhdGhyb29tczo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIHRvcDogLTQuOHB4OyB9XG4gICAgICAgICAgICAgICAgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlIC5Qcm9wZXJ0eSAubWlkZGxlIC5iYWRnZXMgbGkgLmljb24uaWNvbi1jYXJzIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjcuMnB4OyB9XG4gICAgICAgICAgICAgICAgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlIC5Qcm9wZXJ0eSAubWlkZGxlIC5iYWRnZXMgbGkgLmljb246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICAgICAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUgLlByb3BlcnR5IC5taWRkbGUgLmJhZGdlcyBsaSAuaWNvbiAuY291bnQge1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgYm90dG9tOiA5LjZweDtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM4Mzg0ODY7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzLjQ0cHg7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOC4ycHg7XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDE5LjJweDtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMTkuMnB4O1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA5LjZweDtcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuOTsgfVxuICAgICAgICAgIC5Ib21lUGFnZSAuRmVhdHVyZWRQcm9wZXJ0aWVzIC53cmFwIC5Qcm9wZXJ0aWVzIC5zbGlkZSAuUHJvcGVydHkgLm1pZGRsZSAuZmF2b3VyaXRlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiA1MS4ycHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDsgfVxuICAgICAgICAgICAgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlIC5Qcm9wZXJ0eSAubWlkZGxlIC5mYXZvdXJpdGUgLmljb24ge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgICAgICAgIGNvbG9yOiAjYzEyMDI2O1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNjRweDsgfVxuICAgICAgICAgICAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUgLlByb3BlcnR5IC5taWRkbGUgLmZhdm91cml0ZSAuaWNvbi5mYWRlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM0MjQyNDI7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4xOyB9XG4gICAgICAgICAgICAgICAgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlIC5Qcm9wZXJ0eSAubWlkZGxlIC5mYXZvdXJpdGUgLmljb24uZmFkZWQ6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4xNTsgfVxuICAgICAgICAgIC5Ib21lUGFnZSAuRmVhdHVyZWRQcm9wZXJ0aWVzIC53cmFwIC5Qcm9wZXJ0aWVzIC5zbGlkZSAuUHJvcGVydHkgLm1pZGRsZSAuYWRkcmVzcyB7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIGhlaWdodDogMy44ZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjFlbTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB3aWR0aDogODAlOyB9XG4gICAgICAgICAgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlIC5Qcm9wZXJ0eSAubWlkZGxlIC5jb2RlIHtcbiAgICAgICAgICAgICp6b29tOiAxO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgICAgICB3aWR0aDogMzEuMzMzMzMlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgICAgICAgICAgY29sb3I6ICM4NDg0ODQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjZlbTsgfVxuICAgICAgICAgICAgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlIC5Qcm9wZXJ0eSAubWlkZGxlIC5jb2RlOmJlZm9yZSwgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlIC5Qcm9wZXJ0eSAubWlkZGxlIC5jb2RlOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAgICAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUgLlByb3BlcnR5IC5taWRkbGUgLmNvZGU6YWZ0ZXIge1xuICAgICAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAgICAgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlIC5Qcm9wZXJ0eSAubWlkZGxlIC5jb2RlOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAlOyB9XG4gICAgICAgICAgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlIC5Qcm9wZXJ0eSAubWlkZGxlIC5EYXRlQXZhaWxhYmxlIHtcbiAgICAgICAgICAgICp6b29tOiAxO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgICAgICB3aWR0aDogNjUuNjY2NjclO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgICAgICAgICAgY29sb3I6ICM4NDg0ODQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNmVtOyB9XG4gICAgICAgICAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUgLlByb3BlcnR5IC5taWRkbGUgLkRhdGVBdmFpbGFibGU6YmVmb3JlLCAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUgLlByb3BlcnR5IC5taWRkbGUgLkRhdGVBdmFpbGFibGU6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgICAgICAgIC5Ib21lUGFnZSAuRmVhdHVyZWRQcm9wZXJ0aWVzIC53cmFwIC5Qcm9wZXJ0aWVzIC5zbGlkZSAuUHJvcGVydHkgLm1pZGRsZSAuRGF0ZUF2YWlsYWJsZTphZnRlciB7XG4gICAgICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgICAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUgLlByb3BlcnR5IC5taWRkbGUgLkRhdGVBdmFpbGFibGU6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCU7IH1cbiAgICAgICAgICAgIC5Ib21lUGFnZSAuRmVhdHVyZWRQcm9wZXJ0aWVzIC53cmFwIC5Qcm9wZXJ0aWVzIC5zbGlkZSAuUHJvcGVydHkgLm1pZGRsZSAuRGF0ZUF2YWlsYWJsZSAubGFiZWwge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjNlbTsgfVxuICAgICAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUgLlByb3BlcnR5IC5ib3R0b206OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIC5Ib21lUGFnZSAuRmVhdHVyZWRQcm9wZXJ0aWVzIC53cmFwIC5Qcm9wZXJ0aWVzIC5zbGlkZSAuUHJvcGVydHkgLmJvdHRvbSBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgcGFkZGluZzogMC42ZW0gMDsgfVxuICAgICAgICAgIC5Ib21lUGFnZSAuRmVhdHVyZWRQcm9wZXJ0aWVzIC53cmFwIC5Qcm9wZXJ0aWVzIC5zbGlkZSAuUHJvcGVydHkgLmJvdHRvbSBhLmJvb2sge1xuICAgICAgICAgICAgKnpvb206IDE7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMCU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZkZDEwZDtcbiAgICAgICAgICAgIGNvbG9yOiAjYWQ3YzA3O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAgICAgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlIC5Qcm9wZXJ0eSAuYm90dG9tIGEuYm9vazpiZWZvcmUsIC5Ib21lUGFnZSAuRmVhdHVyZWRQcm9wZXJ0aWVzIC53cmFwIC5Qcm9wZXJ0aWVzIC5zbGlkZSAuUHJvcGVydHkgLmJvdHRvbSBhLmJvb2s6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgICAgICAgIC5Ib21lUGFnZSAuRmVhdHVyZWRQcm9wZXJ0aWVzIC53cmFwIC5Qcm9wZXJ0aWVzIC5zbGlkZSAuUHJvcGVydHkgLmJvdHRvbSBhLmJvb2s6YWZ0ZXIge1xuICAgICAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAgICAgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlIC5Qcm9wZXJ0eSAuYm90dG9tIGEuYm9vayBpbWcge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUgLlByb3BlcnR5IC5ib3R0b20gYS5ib29rIHNwYW4ge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUgLlByb3BlcnR5IC5ib3R0b20gYS52aWV3IHtcbiAgICAgICAgICAgICp6b29tOiAxO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM5QzlDOUM7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0OyB9XG4gICAgICAgICAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUgLlByb3BlcnR5IC5ib3R0b20gYS52aWV3OmJlZm9yZSwgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlIC5Qcm9wZXJ0eSAuYm90dG9tIGEudmlldzphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgICAgICAgLkhvbWVQYWdlIC5GZWF0dXJlZFByb3BlcnRpZXMgLndyYXAgLlByb3BlcnRpZXMgLnNsaWRlIC5Qcm9wZXJ0eSAuYm90dG9tIGEudmlldzphZnRlciB7XG4gICAgICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgICAgICAuSG9tZVBhZ2UgLkZlYXR1cmVkUHJvcGVydGllcyAud3JhcCAuUHJvcGVydGllcyAuc2xpZGUgLlByb3BlcnR5IC5ib3R0b20gYS52aWV3OmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2MxMjAyNjsgfVxuXG4uSG9tZVBhZ2UgLlJhbmRvbUFnZW50czo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLkhvbWVQYWdlIC5SYW5kb21BZ2VudHMgLndyYXAge1xuICB3aWR0aDogOTglO1xuICBtYXgtd2lkdGg6IDE2MDBweDsgfVxuICAuSG9tZVBhZ2UgLlJhbmRvbUFnZW50cyAud3JhcCBoMSB7XG4gICAgZm9udC1zaXplOiAzLjFlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjY1ZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgIC5Ib21lUGFnZSAuUmFuZG9tQWdlbnRzIC53cmFwIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjNlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43ZW07IH0gfVxuICAuSG9tZVBhZ2UgLlJhbmRvbUFnZW50cyAud3JhcCAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE1MDBweCkge1xuICAgICAgLkhvbWVQYWdlIC5SYW5kb21BZ2VudHMgLndyYXAgLmNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDFlbSAwOyB9IH1cbiAgICAuSG9tZVBhZ2UgLlJhbmRvbUFnZW50cyAud3JhcCAuY29udGFpbmVyIC5BZ2VudCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAjMDUwNzA2O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuSG9tZVBhZ2UgLlJhbmRvbUFnZW50cyAud3JhcCAuY29udGFpbmVyIC5BZ2VudCAubGVmdCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMmVtOyB9XG4gICAgICAgIC5Ib21lUGFnZSAuUmFuZG9tQWdlbnRzIC53cmFwIC5jb250YWluZXIgLkFnZW50IC5sZWZ0IGltZyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MxMjAyNjtcbiAgICAgICAgICBoZWlnaHQ6IDEyZW07IH1cbiAgICAgICAgLkhvbWVQYWdlIC5SYW5kb21BZ2VudHMgLndyYXAgLmNvbnRhaW5lciAuQWdlbnQgLmxlZnQgLkhvdmVySW1hZ2Uge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLkhvbWVQYWdlIC5SYW5kb21BZ2VudHMgLndyYXAgLmNvbnRhaW5lciAuQWdlbnQgLmxlZnQ6aG92ZXIgLkltYWdlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5Ib21lUGFnZSAuUmFuZG9tQWdlbnRzIC53cmFwIC5jb250YWluZXIgLkFnZW50IC5sZWZ0OmhvdmVyIC5Ib3ZlckltYWdlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLkhvbWVQYWdlIC5SYW5kb21BZ2VudHMgLndyYXAgLmNvbnRhaW5lciAuQWdlbnQgLnJpZ2h0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjdlbTsgfVxuICAgICAgICAuSG9tZVBhZ2UgLlJhbmRvbUFnZW50cyAud3JhcCAuY29udGFpbmVyIC5BZ2VudCAucmlnaHQgaDIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgICAgLkhvbWVQYWdlIC5SYW5kb21BZ2VudHMgLndyYXAgLmNvbnRhaW5lciAuQWdlbnQgLnJpZ2h0IC5tb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2MxMjAyNjsgfVxuICAgIC5Ib21lUGFnZSAuUmFuZG9tQWdlbnRzIC53cmFwIC5jb250YWluZXIgLkFnZW50OmZpcnN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC5Ib21lUGFnZSAuUmFuZG9tQWdlbnRzIC53cmFwIC5jb250YWluZXIgLkFnZW50Om50aC1jaGlsZCgyKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgIC5Ib21lUGFnZSAuUmFuZG9tQWdlbnRzIC53cmFwIC5jb250YWluZXIgLkFnZW50Om50aC1jaGlsZCgzKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDUwcHgpIHtcbiAgICAgIC5Ib21lUGFnZSAuUmFuZG9tQWdlbnRzIC53cmFwIC5jb250YWluZXIgLkFnZW50Om50aC1jaGlsZCg0KSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAuSG9tZVBhZ2UgLlJhbmRvbUFnZW50cyAud3JhcCAuYm90dG9tIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiA0ZW0gMCAyZW07IH1cbiAgICAuSG9tZVBhZ2UgLlJhbmRvbUFnZW50cyAud3JhcCAuYm90dG9tIC5tZWV0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTkzLCAzMiwgMzgsIDAuMTkpO1xuICAgICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICAgIGNvbG9yOiAjYzEyMDI2O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgcGFkZGluZzogMC41ZW0gNWVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gICAgICAuSG9tZVBhZ2UgLlJhbmRvbUFnZW50cyAud3JhcCAuYm90dG9tIC5tZWV0IC5pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjc1ZW07IH1cblxuLkxvZ2luUGFnZSAuTG9naW5Gb3JtIHtcbiAgYmFja2dyb3VuZDogI2MxMjAyNjtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLkxvZ2luUGFnZSAuTG9naW5Gb3JtIC53cmFwIHtcbiAgICBwYWRkaW5nOiAyZW0gMDsgfVxuICAgIC5Mb2dpblBhZ2UgLkxvZ2luRm9ybSAud3JhcCBoMSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfVxuICAgIC5Mb2dpblBhZ2UgLkxvZ2luRm9ybSAud3JhcCAucm93IC5maWVsZEhvbGRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjdlbTsgfVxuICAgICAgLkxvZ2luUGFnZSAuTG9naW5Gb3JtIC53cmFwIC5yb3cgLmZpZWxkSG9sZGVyIGlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgY29sb3I6ICM0MjQyNDI7IH1cbiAgICAgICAgLkxvZ2luUGFnZSAuTG9naW5Gb3JtIC53cmFwIC5yb3cgLmZpZWxkSG9sZGVyIGlucHV0LkVtYWlsIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDFlbSAwIDA7IH1cbiAgICAgICAgLkxvZ2luUGFnZSAuTG9naW5Gb3JtIC53cmFwIC5yb3cgLmZpZWxkSG9sZGVyIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwge1xuICAgICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMTAwMHB4IHdoaXRlIGluc2V0ICFpbXBvcnRhbnQ7IH1cbiAgICAuTG9naW5QYWdlIC5Mb2dpbkZvcm0gLndyYXAgLmFjdGlvbnMge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgLkxvZ2luUGFnZSAuTG9naW5Gb3JtIC53cmFwIC5hY3Rpb25zIGJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGNvbG9yOiAjYzEyMDI2O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAxZW07IH1cbiAgICAgIC5Mb2dpblBhZ2UgLkxvZ2luRm9ybSAud3JhcCAuYWN0aW9ucyBidXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGNvbG9yOiAjYzEyMDI2O1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41ZW07IH1cblxuLkxvZ2luUGFnZSBwLmluZm8ge1xuICBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuLkFjY291bnRQYWdlIGg0LnVzZXIge1xuICBiYWNrZ3JvdW5kOiAjYzEyMDI2O1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMWVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5BY2NvdW50UGFnZSBoNC51c2VyIGEge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4uQWNjb3VudFBhZ2UgLk5ld3NsZXR0ZXIge1xuICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgLkFjY291bnRQYWdlIC5OZXdzbGV0dGVyIGg0IHtcbiAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luOiAxLjI1ZW0gMCAwLjJlbTsgfVxuXG4uQWNjb3VudFBhZ2UgLlNlYXJjaGVzIC5pbmZvIHtcbiAgYmFja2dyb3VuZDogI0VGRUZFRjtcbiAgcGFkZGluZzogMS4yNWVtIDFlbTsgfVxuICAuQWNjb3VudFBhZ2UgLlNlYXJjaGVzIC5pbmZvID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLkFjY291bnRQYWdlIC5TZWFyY2hlcyBoNCB7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbjogMS4yNWVtIDAgMC4yZW07IH1cblxuLkFjY291bnRQYWdlIC5TZWFyY2hlcyB1bCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLkFjY291bnRQYWdlIC5TZWFyY2hlcyB1bCBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGNUY1RjU7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG4gICAgLkFjY291bnRQYWdlIC5TZWFyY2hlcyB1bCBsaSAuaWNvbiB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cblxuLlByb3BlcnRpZXNQYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYmFja2dyb3VuZDogI2UzZWJlZCAhaW1wb3J0YW50OyB9XG4gIC5Qcm9wZXJ0aWVzUGFnZSAuUHJvcGVydGllc01hcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6ICNFQUVBRUE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgLlByb3BlcnRpZXNQYWdlIC5Qcm9wZXJ0aWVzTWFwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHJpZ2h0OiA1MCU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuUHJvcGVydGllc01hcCB7XG4gICAgICAgIHJpZ2h0OiA2MCU7IH0gfVxuICAgIC5Qcm9wZXJ0aWVzUGFnZSAuUHJvcGVydGllc01hcCAuTWFya2VyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgb3BhY2l0eTogMC43NTsgfVxuICAgICAgLlByb3BlcnRpZXNQYWdlIC5Qcm9wZXJ0aWVzTWFwIC5NYXJrZXIgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJlZDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBjb2xvcjogIzQyNDI0MjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAgICAgLlByb3BlcnRpZXNQYWdlIC5Qcm9wZXJ0aWVzTWFwIC5NYXJrZXI6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCB7XG4gICAgZmxleDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogI2UzZWJlZDtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogNTAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogNDAlOyB9IH1cbiAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IHtcbiAgICAgIGJhY2tncm91bmQ6ICNlM2ViZWQ7XG4gICAgICBmb250LXNpemU6IDEuNmVtOyB9XG4gICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC5TdGF0dXMge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwLjdlbSAwIDAuOWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAuU3RhdHVzIC53cmFwIHtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLlN0YXR1cyAud3JhcCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLlN0YXR1cyAud3JhcCAuc3RhdHVzIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjZlbTsgfVxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC5TdGF0dXMgLndyYXAgLnN0YXR1cyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLlN0YXR1cyAud3JhcCAuc3RhdHVzIC5pbm5lciB7XG4gICAgICAgICAgICAgICAgZmxleDogMTsgfSB9XG4gICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC5TdGF0dXMgLndyYXAgLnN0YXR1cyAuaW5uZXIgLmJ1dHRvbnMge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAuU3RhdHVzIC53cmFwIC5zdGF0dXMgLmlubmVyIC5idXR0b25zIGEge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40NCk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNjMTIwMjY7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMjVlbSAwLjRlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDAuM2VtOyB9XG4gICAgICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAuU3RhdHVzIC53cmFwIC5zdGF0dXMgLmlubmVyIC5idXR0b25zIGEgLmljb24ge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC40ZW07IH1cbiAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC5TdGF0dXMgLndyYXAgLm1vZGlmaWVycyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC5TdGF0dXMgLndyYXAgLm1vZGlmaWVycyB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA0MDBweDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAuU3RhdHVzIC53cmFwIC5tb2RpZmllcnMgLlNlbGVjdCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLlN0YXR1cyAud3JhcCAubW9kaWZpZXJzIC5TZWxlY3Qge1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyLjZlbTsgfSB9XG4gICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLlN0YXR1cyAud3JhcCAubW9kaWZpZXJzIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLlN0YXR1cyAud3JhcCAubW9kaWZpZXJzIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAuU3RhdHVzIC53cmFwIC5tb2RpZmllcnMgLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC12YWx1ZSB7XG4gICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICMyYzJjMmM7XG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVlbSAxLjFlbSAwLjdlbTtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDRlbTsgfVxuICAgICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLlN0YXR1cyAud3JhcCAubW9kaWZpZXJzIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtaW5wdXQge1xuICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC43NWVtIDEuMWVtIDAuN2VtOyB9XG4gICAgICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAuU3RhdHVzIC53cmFwIC5tb2RpZmllcnMgLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC1hcnJvdy16b25lLFxuICAgICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLlN0YXR1cyAud3JhcCAubW9kaWZpZXJzIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtY2xlYXItem9uZSB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAuU3RhdHVzIC53cmFwIC5tb2RpZmllcnMgLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC1hcnJvdy16b25lIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07IH1cbiAgICAgICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLlN0YXR1cyAud3JhcCAubW9kaWZpZXJzIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtYXJyb3ctem9uZSAuU2VsZWN0LWFycm93IHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL3RoZW1lcy9veHlnZW4vaW1hZ2VzL2Rvd24tY2hldnJvbi10aGluLnBuZ1wiKSA1MCUgNTAlIG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxZW07IH1cbiAgICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC5TdGF0dXMgLndyYXAgLm1vZGlmaWVycyAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LWNsZWFyLXpvbmUge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEuMjVlbTtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07IH1cbiAgICAgICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLlN0YXR1cyAud3JhcCAubW9kaWZpZXJzIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtY2xlYXItem9uZSAuU2VsZWN0LWNsZWFyIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLlN0YXR1cyAud3JhcCAubW9kaWZpZXJzIC5TZWxlY3QgLlNlbGVjdC1tZW51LW91dGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC5TdGF0dXMgLndyYXAgLm1vZGlmaWVycyAuU2VsZWN0IC5TZWxlY3QtbWVudS1vdXRlciAuU2VsZWN0LW9wdGlvbiB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC43NWVtIDEuMWVtIDAuN2VtO1xuICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1vdXQtb3V0O1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAuU3RhdHVzIC53cmFwIC5tb2RpZmllcnMgLlNlbGVjdCAuU2VsZWN0LW1lbnUtb3V0ZXIgLlNlbGVjdC1vcHRpb24uaXMtZm9jdXNlZCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLlN0YXR1cyAud3JhcCAubW9kaWZpZXJzIC5TZWxlY3QuU2VsZWN0LS1tdWx0aSAuU2VsZWN0LWlucHV0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC5TdGF0dXMgLndyYXAgLm1vZGlmaWVycyAuU2VsZWN0LlNlbGVjdC0tbXVsdGkgLlNlbGVjdC1pdGVtIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC5TdGF0dXMgLndyYXAgLm1vZGlmaWVycyAuU2VsZWN0LlNlbGVjdC0tbXVsdGkgLlNlbGVjdC1pdGVtIC5TZWxlY3QtaXRlbS1pY29uIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC5TdGF0dXMgLndyYXAgLm1vZGlmaWVycyAuU2VsZWN0LlNlbGVjdC0tbXVsdGkgLlNlbGVjdC1pdGVtIC5TZWxlY3QtaXRlbS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0OyB9XG4gICAgICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAuU3RhdHVzIC53cmFwIC5tb2RpZmllcnMgLlNlbGVjdC5TZWxlY3QtLW11bHRpIC5TZWxlY3QtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjc1ZW0gMS4xZW0gMC43ZW07XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjRlbTsgfVxuICAgICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLlN0YXR1cyAud3JhcCAubW9kaWZpZXJzIC5TZWxlY3QuU2VsZWN0LS1tdWx0aSAuU2VsZWN0LWl0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVlbSAxLjFlbSAwLjdlbTtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLlN0YXR1cyAud3JhcCAubW9kaWZpZXJzIC5TZWxlY3QuU2VsZWN0LS1tdWx0aSAuU2VsZWN0LWl0ZW06bnRoLWNoaWxkKDIpIC5TZWxlY3QtaXRlbS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLlN0YXR1cyAud3JhcCAubW9kaWZpZXJzIC5TZWxlY3QuU2VsZWN0LS1tdWx0aSAuU2VsZWN0LWl0ZW06bnRoLWNoaWxkKDIpOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJytNb3JlJztcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM5NDk0OTQ7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAuU3RhdHVzIC53cmFwIC5tb2RpZmllcnMgLlNlbGVjdC5pcy1vcGVuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODcpOyB9XG4gICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLlN0YXR1cyAud3JhcCAubW9kaWZpZXJzIC5TZWxlY3QuaXMtc2VhcmNoYWJsZSAuU2VsZWN0LWlucHV0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAuU3RhdHVzIC53cmFwIC5tb2RpZmllcnMgLlNlbGVjdC5pcy1zZWFyY2hhYmxlIC5TZWxlY3QtaW5wdXQgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjc1ZW0gMS4xZW0gMC43ZW07IH1cbiAgICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAuU3RhdHVzIC53cmFwIC5tb2RpZmllcnMgLlNlbGVjdC5pcy1kaXNhYmxlZCAuU2VsZWN0LWlucHV0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjc1ZW0gMS4xZW0gMC43ZW07IH1cbiAgICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAuU3RhdHVzIC53cmFwIC5tb2RpZmllcnMgLlNlbGVjdDpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1ZW07IH1cbiAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAge1xuICAgICAgICB3aWR0aDogODglO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXA6OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAge1xuICAgICAgICAgICAgd2lkdGg6IDk2JTsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAge1xuICAgICAgICAgICAgd2lkdGg6IDg4JTsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIHtcbiAgICAgICAgICAgIHdpZHRoOiA5NiU7IH0gfVxuICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjJlbTsgfVxuICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAgLlByb3BlcnR5IC50b3Age1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMjVweDsgfVxuICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAud3JhcCAuUHJvcGVydHkgLnRvcCAucHJpY2Uge1xuICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2MxMjAyNjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjdlbTtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMC41NWVtIDEuMWVtIDAuNmVtO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAuMjJlbTsgfVxuICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAgLlByb3BlcnR5IC5taWRkbGUge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDkyJTsgfVxuICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAud3JhcCAuUHJvcGVydHkgLm1pZGRsZTo6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAgLlByb3BlcnR5IC5taWRkbGUgLmJhZGdlcyB7XG4gICAgICAgICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAud3JhcCAuUHJvcGVydHkgLm1pZGRsZSAuYmFkZ2VzIGxpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAud3JhcCAuUHJvcGVydHkgLm1pZGRsZSAuYmFkZ2VzIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7IH1cbiAgICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAubWlkZGxlIC5iYWRnZXMgbGkgLmljb24ge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICNjMTIwMjY7XG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNjRweDtcbiAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMnB4OyB9XG4gICAgICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAubWlkZGxlIC5iYWRnZXMgbGkgLmljb24uZmFkZWQge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzJjMmMyYztcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4xOyB9XG4gICAgICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAubWlkZGxlIC5iYWRnZXMgbGkgLmljb24uaWNvbi1iZWRyb29tcyB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzUuMnB4OyB9XG4gICAgICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAubWlkZGxlIC5iYWRnZXMgbGkgLmljb24uaWNvbi1iYXRocm9vbXM6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTQuOHB4OyB9XG4gICAgICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAubWlkZGxlIC5iYWRnZXMgbGkgLmljb24uaWNvbi1jYXJzIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNy4ycHg7IH1cbiAgICAgICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAgLlByb3BlcnR5IC5taWRkbGUgLmJhZGdlcyBsaSAuaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAubWlkZGxlIC5iYWRnZXMgbGkgLmljb24gLmNvdW50IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDkuNnB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzgzODQ4NjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMy40NHB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4LjJweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTkuMnB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE5LjJweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDkuNnB4O1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjk7IH1cbiAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAgLlByb3BlcnR5IC5taWRkbGUgLmZhdm91cml0ZSB7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgd2lkdGg6IDUxLjJweDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAgLlByb3BlcnR5IC5taWRkbGUgLmZhdm91cml0ZSAuaWNvbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjYzEyMDI2O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2NHB4OyB9XG4gICAgICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAud3JhcCAuUHJvcGVydHkgLm1pZGRsZSAuZmF2b3VyaXRlIC5pY29uLmZhZGVkIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNDI0MjQyO1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4xOyB9XG4gICAgICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAubWlkZGxlIC5mYXZvdXJpdGUgLmljb24uZmFkZWQ6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjE1OyB9XG4gICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAubWlkZGxlIC5hZGRyZXNzIHtcbiAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgIGhlaWdodDogMy44ZW07XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMWVtO1xuICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICB3aWR0aDogODAlOyB9XG4gICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAubWlkZGxlIC5jb2RlIHtcbiAgICAgICAgICAgICAgKnpvb206IDE7XG4gICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgd2lkdGg6IDMxLjMzMzMzJTtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAlO1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMlO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICAgICAgICAgICAgY29sb3I6ICM4NDg0ODQ7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNmVtOyB9XG4gICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAgLlByb3BlcnR5IC5taWRkbGUgLmNvZGU6YmVmb3JlLCAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAubWlkZGxlIC5jb2RlOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAubWlkZGxlIC5jb2RlOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAubWlkZGxlIC5jb2RlOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCU7IH1cbiAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAgLlByb3BlcnR5IC5taWRkbGUgLkRhdGVBdmFpbGFibGUge1xuICAgICAgICAgICAgICAqem9vbTogMTtcbiAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICAgICAgICB3aWR0aDogNjUuNjY2NjclO1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMCU7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMyU7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgICAgICAgICAgICBjb2xvcjogIzg0ODQ4NDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNmVtOyB9XG4gICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAgLlByb3BlcnR5IC5taWRkbGUgLkRhdGVBdmFpbGFibGU6YmVmb3JlLCAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAubWlkZGxlIC5EYXRlQXZhaWxhYmxlOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAubWlkZGxlIC5EYXRlQXZhaWxhYmxlOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAubWlkZGxlIC5EYXRlQXZhaWxhYmxlOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCU7IH1cbiAgICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAud3JhcCAuUHJvcGVydHkgLm1pZGRsZSAuRGF0ZUF2YWlsYWJsZSAubGFiZWwge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC4zZW07IH1cbiAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAuYm90dG9tOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAgLlByb3BlcnR5IC5ib3R0b20gYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjZlbSAwOyB9XG4gICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAuYm90dG9tIGEuYm9vayB7XG4gICAgICAgICAgICAgICp6b29tOiAxO1xuICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwJTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZkZDEwZDtcbiAgICAgICAgICAgICAgY29sb3I6ICNhZDdjMDc7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAuYm90dG9tIGEuYm9vazpiZWZvcmUsIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAgLlByb3BlcnR5IC5ib3R0b20gYS5ib29rOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAuYm90dG9tIGEuYm9vazphZnRlciB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAud3JhcCAuUHJvcGVydHkgLmJvdHRvbSBhLmJvb2sgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAgLlByb3BlcnR5IC5ib3R0b20gYS5ib29rIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAud3JhcCAuUHJvcGVydHkgLmJvdHRvbSBhLnZpZXcge1xuICAgICAgICAgICAgICAqem9vbTogMTtcbiAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMCU7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM5QzlDOUM7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLW91dDsgfVxuICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAuYm90dG9tIGEudmlldzpiZWZvcmUsIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAgLlByb3BlcnR5IC5ib3R0b20gYS52aWV3OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eSAuYm90dG9tIGEudmlldzphZnRlciB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAud3JhcCAuUHJvcGVydHkgLmJvdHRvbSBhLnZpZXc6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNjMTIwMjY7IH1cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAud3JhcCAuUHJvcGVydHkge1xuICAgICAgICAgICAgICAqem9vbTogMTtcbiAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICAgICAgICB3aWR0aDogNDkuNSU7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxJTtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAgLlByb3BlcnR5OmJlZm9yZSwgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAud3JhcCAuUHJvcGVydHk6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAgLlByb3BlcnR5OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eTpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAlO1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eTpudGgtY2hpbGQoMm4gKyAxKSB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAud3JhcCAuUHJvcGVydHkge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjJlbTsgfSB9XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkgYW5kIChtYXgtd2lkdGg6IDE1NDlweCkge1xuICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAud3JhcCAuUHJvcGVydHkge1xuICAgICAgICAgICAgICAqem9vbTogMTtcbiAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICAgICAgICB3aWR0aDogNDkuNSU7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxJTtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAgLlByb3BlcnR5OmJlZm9yZSwgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAud3JhcCAuUHJvcGVydHk6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAgLlByb3BlcnR5OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eTpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAlO1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eTpudGgtY2hpbGQoMm4gKyAxKSB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNTUwcHgpIHtcbiAgICAgICAgICAgIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAgLlByb3BlcnR5IHtcbiAgICAgICAgICAgICAgKnpvb206IDE7XG4gICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgd2lkdGg6IDMyLjY2NjY3JTtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAlO1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDElO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjJlbTsgfVxuICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eTpiZWZvcmUsIC5Qcm9wZXJ0aWVzUGFnZSAuY29udGVudCAuUHJvcGVydGllc0xpc3QgLndyYXAgLlByb3BlcnR5OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgICAgICAgICAuUHJvcGVydGllc1BhZ2UgLmNvbnRlbnQgLlByb3BlcnRpZXNMaXN0IC53cmFwIC5Qcm9wZXJ0eTphZnRlciB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAud3JhcCAuUHJvcGVydHk6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwJTtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgICAgICAgICAgLlByb3BlcnRpZXNQYWdlIC5jb250ZW50IC5Qcm9wZXJ0aWVzTGlzdCAud3JhcCAuUHJvcGVydHk6bnRoLWNoaWxkKDNuICsgMSkge1xuICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoOyB9IH1cblxuLlByb3BlcnR5UGFnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgLlByb3BlcnR5UGFnZSAuUHJvcGVydGllc01hcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6ICNFQUVBRUE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgLlByb3BlcnR5UGFnZSAuUHJvcGVydGllc01hcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICByaWdodDogNjAlOyB9IH1cbiAgICAuUHJvcGVydHlQYWdlIC5Qcm9wZXJ0aWVzTWFwIC5NYXJrZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBvcGFjaXR5OiAwLjc1OyB9XG4gICAgICAuUHJvcGVydHlQYWdlIC5Qcm9wZXJ0aWVzTWFwIC5NYXJrZXIgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJlZDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBjb2xvcjogIzQyNDI0MjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAgICAgLlByb3BlcnR5UGFnZSAuUHJvcGVydGllc01hcCAuTWFya2VyOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAuUHJvcGVydHlQYWdlIC5jb250ZW50IHtcbiAgICBmbGV4OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogNDAlOyB9IH1cbiAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSB7XG4gICAgICBmb250LXNpemU6IDEuNmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDJlbTsgfVxuICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLmhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDEuNWVtIDAgMWVtOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NTBweCkge1xuICAgICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMmVtIDA7IH0gfVxuICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAuaGVhZGVyIGgxIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBmb250LXNpemU6IDEuNzVlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAuaGVhZGVyIGgxIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDc1JTsgfSB9XG4gICAgICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLmhlYWRlciBoMSAuU3VidXJiRGlzdHJpY3Qge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5oZWFkZXIgaDEgLlN1YnVyYlJlZ2lvbiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5oZWFkZXIgLmNvZGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI7IH1cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNTUwcHgpIHtcbiAgICAgICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5oZWFkZXIgLmNvZGUge1xuICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLnRvcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGNUY1RjU7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGhlaWdodDogMzMwcHg7IH1cbiAgICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLnRvcCAud3JhcCB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAudG9wIC53cmFwIC5wcmljZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYzEyMDI2O1xuICAgICAgICAgICAgcGFkZGluZzogMCAyLjRlbTtcbiAgICAgICAgICAgIGhlaWdodDogNWVtOyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAudG9wIC53cmFwIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxNzVweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgICAgICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLnRvcCAud3JhcCAucHJpY2UgLmlubmVyIHtcbiAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjJlbTtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC50b3AgLndyYXAgLmdhbGxlcnkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzQyNDI0MjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMS4xZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDVlbTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgICAgICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLnRvcCAud3JhcCAuZ2FsbGVyeSB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxNzVweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgICAgICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLnRvcCAud3JhcCAuZ2FsbGVyeTpob3ZlciB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDAuODU7IH1cbiAgICAgICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC50b3AgLndyYXAgLmdhbGxlcnkgLmlubmVyIHtcbiAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjk1ZW07XG4gICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAudG9wIC53cmFwIC5nYWxsZXJ5IC5pbm5lciBzdHJvbmcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAudG9wIC53cmFwIC5mYXZvdXJpdGUge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDU3LjZweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAtNnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIHdpZHRoOiA5NXB4OyB9XG4gICAgICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAudG9wIC53cmFwIC5mYXZvdXJpdGUgLmljb24ge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgICAgICAgIGNvbG9yOiAjYzEyMDI2O1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNzJweDsgfVxuICAgICAgICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAudG9wIC53cmFwIC5mYXZvdXJpdGUgLmljb24uZmFkZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNDI0MjQyO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMTsgfVxuICAgICAgICAgICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC50b3AgLndyYXAgLmZhdm91cml0ZSAuaWNvbi5mYWRlZDpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjE1OyB9XG4gICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLm1pZGRsZSAuYmFkZ2VzIHtcbiAgICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxM3B4OyB9XG4gICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmJhZGdlcyBsaSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIHdpZHRoOiA2Ny41cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLm1pZGRsZSAuYmFkZ2VzIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7IH1cbiAgICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlIC5iYWRnZXMgbGkgLmljb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiA0NXB4O1xuICAgICAgICAgICAgY29sb3I6ICNjMTIwMjY7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogOTBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiA0NXB4OyB9XG4gICAgICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlIC5iYWRnZXMgbGkgLmljb24uZmFkZWQge1xuICAgICAgICAgICAgICBjb2xvcjogIzJjMmMyYztcbiAgICAgICAgICAgICAgb3BhY2l0eTogMC4xOyB9XG4gICAgICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlIC5iYWRnZXMgbGkgLmljb24uaWNvbi1iZWRyb29tcyB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDkuNXB4OyB9XG4gICAgICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlIC5iYWRnZXMgbGkgLmljb24uaWNvbi1iYXRocm9vbXM6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIHRvcDogLTYuNzVweDsgfVxuICAgICAgICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLm1pZGRsZSAuYmFkZ2VzIGxpIC5pY29uLmljb24tY2FycyB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzguMjVweDsgfVxuICAgICAgICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLm1pZGRsZSAuYmFkZ2VzIGxpIC5pY29uOjpiZWZvcmUge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmJhZGdlcyBsaSAuaWNvbiAuY291bnQge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGJvdHRvbTogMTMuNXB4O1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzgzODQ4NjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxOC45cHg7XG4gICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICB3aWR0aDogMjdweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTMuNXB4O1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwLjk7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMXB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpLCAobWluLXdpZHRoOiAxMDUxcHgpIHtcbiAgICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlIC5iYWRnZXMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4OyB9IH1cbiAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmFjdGlvbnMge1xuICAgICAgICBtaW4td2lkdGg6IDI1MHB4OyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAwKSBhbmQgKG1heC13aWR0aDogNjAwcHgpLCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDEwNTBweCkge1xuICAgICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmFjdGlvbnMge1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgICAgICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmFjdGlvbnM6OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAgIGNsZWFyOiBib3RoOyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMXB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpLCAobWluLXdpZHRoOiAxMDUxcHgpIHtcbiAgICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlIC5hY3Rpb25zIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI4cHg7IH0gfVxuICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlIC5hY3Rpb25zIGxpID4gYSxcbiAgICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLm1pZGRsZSAuYWN0aW9ucyBsaSAubGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nOiAwLjM1ZW0gMC41ZW07XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNWVtOyB9XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMXB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpLCAobWluLXdpZHRoOiAxMDUxcHgpIHtcbiAgICAgICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmFjdGlvbnMgbGkgPiBhLFxuICAgICAgICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLm1pZGRsZSAuYWN0aW9ucyBsaSAubGFiZWwge1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMmVtOyB9IH1cbiAgICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLm1pZGRsZSAuYWN0aW9ucyBsaS5ib29rIGEge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNlYmVjZWQ7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHggNnB4IDAgMDsgfVxuICAgICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmFjdGlvbnMgbGkuYm9vayBhIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmFjdGlvbnMgbGkuYm9vayBhIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmRkMTBkO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NiODcyNTtcbiAgICAgICAgICAgIGNvbG9yOiAjYWQ3YzA3O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMzVlbSAwLjVlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCA2cHggNnB4OyB9XG4gICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmFjdGlvbnMgbGkuYXBwbHkgYSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2MxMjAyNjtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmFjdGlvbnMgbGkubWFwIGEsXG4gICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmFjdGlvbnMgbGkubWFwIHNwYW4ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MxMjAyNjtcbiAgICAgICAgICBjb2xvcjogI2MxMjAyNjtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwNTFweCkge1xuICAgICAgICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLm1pZGRsZSAuYWN0aW9ucyBsaS5tYXAgYSxcbiAgICAgICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmFjdGlvbnMgbGkubWFwIHNwYW4ge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlIC5hY3Rpb25zIGxpLm1hcCBhLmZhZGVkLFxuICAgICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmFjdGlvbnMgbGkubWFwIHNwYW4uZmFkZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4wNzU7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDFweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSwgKG1pbi13aWR0aDogMTA1MXB4KSB7XG4gICAgICAgICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmFjdGlvbnMgbGkubWFwIGEuZmFkZWQsXG4gICAgICAgICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmFjdGlvbnMgbGkubWFwIHNwYW4uZmFkZWQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlIC5hY3Rpb25zIGxpLnNoYXJlIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2UzZWJlZDtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjb2xvcjogIzQ1NDU0NTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlIC5hY3Rpb25zIGxpLnNoYXJlIC5sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlIC5hY3Rpb25zIGxpLnNoYXJlIC5sYWJlbCAuaWNvbiB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07IH1cbiAgICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlIC5hY3Rpb25zIGxpLnNoYXJlIC5uZXR3b3JrcyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IC0xMDAlO1xuICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNjMTIwMjY7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDsgfVxuICAgICAgICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLm1pZGRsZSAuYWN0aW9ucyBsaS5zaGFyZSAubmV0d29ya3MgbGkge1xuICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuMmVtOyB9XG4gICAgICAgICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmFjdGlvbnMgbGkuc2hhcmUgLm5ldHdvcmtzIGxpLmZhY2Vib29rIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjM2I1OTk4OyB9XG4gICAgICAgICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmFjdGlvbnMgbGkuc2hhcmUgLm5ldHdvcmtzIGxpLmdvb2dsZXBsdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0Mjg1RjQ7IH1cbiAgICAgICAgICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLm1pZGRsZSAuYWN0aW9ucyBsaS5zaGFyZSAubmV0d29ya3MgbGkgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLm1pZGRsZSAuYWN0aW9ucyBsaS5zaGFyZSAub3BlbiAubmV0d29ya3Mge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwOyB9XG4gICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNsZWFyOiBsZWZ0OyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDFweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSwgKG1pbi13aWR0aDogMTA1MXB4KSB7XG4gICAgICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLm1pZGRsZSAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMDBweDsgfSB9XG4gICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmRlc2NyaXB0aW9uIC5kZXRhaWxzIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmFnZW50IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDNlbTsgfVxuICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlIC5hZ2VudCBhIHtcbiAgICAgICAgICBjb2xvcjogI2MxMjAyNjsgfVxuICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlIC5hZ2VudCAubGVmdCB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07IH1cbiAgICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlIC5hZ2VudCAubGVmdCBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEyMHB4OyB9XG4gICAgICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLm1pZGRsZSAuYWdlbnQgLmxlZnQgLkltYWdlIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RmZGZkZjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICAgICAgICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLm1pZGRsZSAuYWdlbnQgLmxlZnQgLkltYWdlOmhvdmVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjYzEyMDI2OyB9XG4gICAgICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLm1pZGRsZSAuYWdlbnQgLmxlZnQgLkhvdmVySW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAuUHJvcGVydHlQYWdlIC5jb250ZW50IC5Qcm9wZXJ0eSAubWlkZGxlIC5hZ2VudCAucmlnaHQgLnBvc2l0aW9uIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuM2VtOyB9XG4gICAgICAgIC5Qcm9wZXJ0eVBhZ2UgLmNvbnRlbnQgLlByb3BlcnR5IC5taWRkbGUgLmFnZW50IC5yaWdodCAub2ZmaWNlcyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgICBjb2xvcjogI2MxMjAyNjtcbiAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IH1cbiAgICAgICAgLlByb3BlcnR5UGFnZSAuY29udGVudCAuUHJvcGVydHkgLm1pZGRsZSAuYWdlbnQgLnJpZ2h0IC5jb250YWN0IHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMWVtOyB9XG5cbi5OZXdzUGFnZSAuTmV3cyAuY2F0ZWdvcnkgaDIge1xuICBmb250LXNpemU6IDEuNjVlbTtcbiAgY29sb3I6ICNhZmFmYWY7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLXRvcDogLTEuOGVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5OZXdzUGFnZSAuTmV3cyAuY2F0ZWdvcnkgaDIge1xuICAgICAgbWFyZ2luLXRvcDogLTAuNmVtOyB9IH1cblxuLk5ld3NQYWdlIC5OZXdzIC5jYXRlZ29yeSB+IC5OZXdzTGlzdCB7XG4gIG1hcmdpbi10b3A6IDFlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuTmV3c1BhZ2UgLk5ld3MgLmNhdGVnb3J5IH4gLk5ld3NMaXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDJlbTsgfSB9XG5cbi5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3Qge1xuICBtYXJnaW4tdG9wOiAtMWVtOyB9XG4gIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLlN0YXR1cyAuU2VsZWN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2E1YTVhNTtcbiAgICBmb250LXNpemU6IDEuM2VtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLlN0YXR1cyAuU2VsZWN0IHtcbiAgICAgICAgaGVpZ2h0OiAyLjZlbTsgfSB9XG4gICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuU3RhdHVzIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAxO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLlN0YXR1cyAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LXBsYWNlaG9sZGVyLFxuICAgICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuU3RhdHVzIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtdmFsdWUge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBjb2xvcjogIzJjMmMyYztcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmc6IDAuNzVlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNGVtOyB9XG4gICAgICAuTmV3c1BhZ2UgLk5ld3MgLk5ld3NMaXN0IC5TdGF0dXMgLlNlbGVjdCAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC1pbnB1dCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDAuNzVlbTsgfVxuICAgICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuU3RhdHVzIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtYXJyb3ctem9uZSxcbiAgICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLlN0YXR1cyAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LWNsZWFyLXpvbmUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuU3RhdHVzIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtYXJyb3ctem9uZSB7XG4gICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMWVtOyB9XG4gICAgICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLlN0YXR1cyAuU2VsZWN0IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LWFycm93LXpvbmUgLlNlbGVjdC1hcnJvdyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL3RoZW1lcy9veHlnZW4vaW1hZ2VzL2Rvd24tY2hldnJvbi10aGluLnBuZ1wiKSA1MCUgNTAlIG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgICBoZWlnaHQ6IDFlbTsgfVxuICAgICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuU3RhdHVzIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtY2xlYXItem9uZSB7XG4gICAgICAgIHdpZHRoOiAxLjI1ZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07IH1cbiAgICAgICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuU3RhdHVzIC5TZWxlY3QgLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtY2xlYXItem9uZSAuU2VsZWN0LWNsZWFyIHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgICAuTmV3c1BhZ2UgLk5ld3MgLk5ld3NMaXN0IC5TdGF0dXMgLlNlbGVjdCAuU2VsZWN0LW1lbnUtb3V0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuU3RhdHVzIC5TZWxlY3QgLlNlbGVjdC1tZW51LW91dGVyIC5TZWxlY3Qtb3B0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgcGFkZGluZzogMC43NWVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLW91dC1vdXQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuU3RhdHVzIC5TZWxlY3QgLlNlbGVjdC1tZW51LW91dGVyIC5TZWxlY3Qtb3B0aW9uLmlzLWZvY3VzZWQge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gICAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAuTmV3c1BhZ2UgLk5ld3MgLk5ld3NMaXN0IC5TdGF0dXMgLlNlbGVjdC5TZWxlY3QtLW11bHRpIC5TZWxlY3QtaW5wdXQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLlN0YXR1cyAuU2VsZWN0LlNlbGVjdC0tbXVsdGkgLlNlbGVjdC1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuU3RhdHVzIC5TZWxlY3QuU2VsZWN0LS1tdWx0aSAuU2VsZWN0LWl0ZW0gLlNlbGVjdC1pdGVtLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuTmV3c1BhZ2UgLk5ld3MgLk5ld3NMaXN0IC5TdGF0dXMgLlNlbGVjdC5TZWxlY3QtLW11bHRpIC5TZWxlY3QtaXRlbSAuU2VsZWN0LWl0ZW0tbGFiZWwge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDsgfVxuICAgICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuU3RhdHVzIC5TZWxlY3QuU2VsZWN0LS1tdWx0aSAuU2VsZWN0LWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAuNzVlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC40ZW07IH1cbiAgICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLlN0YXR1cyAuU2VsZWN0LlNlbGVjdC0tbXVsdGkgLlNlbGVjdC1pdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMC43NWVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuU3RhdHVzIC5TZWxlY3QuU2VsZWN0LS1tdWx0aSAuU2VsZWN0LWl0ZW06bnRoLWNoaWxkKDIpIC5TZWxlY3QtaXRlbS1sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAuTmV3c1BhZ2UgLk5ld3MgLk5ld3NMaXN0IC5TdGF0dXMgLlNlbGVjdC5TZWxlY3QtLW11bHRpIC5TZWxlY3QtaXRlbTpudGgtY2hpbGQoMik6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcrTW9yZSc7XG4gICAgICAgICAgY29sb3I6ICM5NDk0OTQ7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLlN0YXR1cyAuU2VsZWN0LmlzLW9wZW4ge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg3KTsgfVxuICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLlN0YXR1cyAuU2VsZWN0LmlzLXNlYXJjaGFibGUgLlNlbGVjdC1pbnB1dCB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuTmV3c1BhZ2UgLk5ld3MgLk5ld3NMaXN0IC5TdGF0dXMgLlNlbGVjdC5pcy1zZWFyY2hhYmxlIC5TZWxlY3QtaW5wdXQgaW5wdXQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMC43NWVtOyB9XG4gICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuU3RhdHVzIC5TZWxlY3QuaXMtZGlzYWJsZWQgLlNlbGVjdC1pbnB1dCB7XG4gICAgICBwYWRkaW5nOiAwLjc1ZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuU3RhdHVzIC5TZWxlY3Qge1xuICAgICAgICAqem9vbTogMTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICB3aWR0aDogNDguNSU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzJTsgfVxuICAgICAgICAuTmV3c1BhZ2UgLk5ld3MgLk5ld3NMaXN0IC5TdGF0dXMgLlNlbGVjdDpiZWZvcmUsIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLlN0YXR1cyAuU2VsZWN0OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgICAuTmV3c1BhZ2UgLk5ld3MgLk5ld3NMaXN0IC5TdGF0dXMgLlNlbGVjdDphZnRlciB7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuU3RhdHVzIC5TZWxlY3Q6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAuTmV3c1BhZ2UgLk5ld3MgLk5ld3NMaXN0IC5TdGF0dXMgLlNlbGVjdCB7XG4gICAgICAgIG1heC13aWR0aDogMTMuNWVtOyB9IH1cbiAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuQ29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuQ29udGVudCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLkNvbnRlbnQuaGFzQ2F0ZWdvcmllczo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLkNvbnRlbnQuaGFzQ2F0ZWdvcmllcyAuQXJ0aWNsZXMge1xuICAgICAgICAqem9vbTogMTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICB3aWR0aDogNjUuNjY2NjclO1xuICAgICAgICBtYXJnaW4tbGVmdDogMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMyU7IH1cbiAgICAgICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuQ29udGVudC5oYXNDYXRlZ29yaWVzIC5BcnRpY2xlczpiZWZvcmUsIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLkNvbnRlbnQuaGFzQ2F0ZWdvcmllcyAuQXJ0aWNsZXM6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLkNvbnRlbnQuaGFzQ2F0ZWdvcmllcyAuQXJ0aWNsZXM6YWZ0ZXIge1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLkNvbnRlbnQuaGFzQ2F0ZWdvcmllcyAuQXJ0aWNsZXM6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwJTsgfVxuICAgICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuQ29udGVudC5oYXNDYXRlZ29yaWVzIC5DYXRlZ29yaWVzIHtcbiAgICAgICAgKnpvb206IDE7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgd2lkdGg6IDMxLjMzMzMzJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMlO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYzEyMDI2O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcGFkZGluZzogMCAxLjVlbTsgfVxuICAgICAgICAuTmV3c1BhZ2UgLk5ld3MgLk5ld3NMaXN0IC5Db250ZW50Lmhhc0NhdGVnb3JpZXMgLkNhdGVnb3JpZXM6YmVmb3JlLCAuTmV3c1BhZ2UgLk5ld3MgLk5ld3NMaXN0IC5Db250ZW50Lmhhc0NhdGVnb3JpZXMgLkNhdGVnb3JpZXM6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLkNvbnRlbnQuaGFzQ2F0ZWdvcmllcyAuQ2F0ZWdvcmllczphZnRlciB7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuQ29udGVudC5oYXNDYXRlZ29yaWVzIC5DYXRlZ29yaWVzOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMCU7IH1cbiAgICAgICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuQ29udGVudC5oYXNDYXRlZ29yaWVzIC5DYXRlZ29yaWVzIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42ZW07IH1cbiAgICAgICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuQ29udGVudC5oYXNDYXRlZ29yaWVzIC5DYXRlZ29yaWVzIHVsIGxpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjNlbTsgfVxuICAgICAgICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLkNvbnRlbnQuaGFzQ2F0ZWdvcmllcyAuQ2F0ZWdvcmllcyB1bCBsaSBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgICAgICAgICBjb2xvcjogIzQxNDE0MTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAgICAgICAuTmV3c1BhZ2UgLk5ld3MgLk5ld3NMaXN0IC5Db250ZW50Lmhhc0NhdGVnb3JpZXMgLkNhdGVnb3JpZXMgdWwgbGkgYS5jdXJyZW50LCAuTmV3c1BhZ2UgLk5ld3MgLk5ld3NMaXN0IC5Db250ZW50Lmhhc0NhdGVnb3JpZXMgLkNhdGVnb3JpZXMgdWwgbGkgYTpob3ZlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjYzEyMDI2OyB9IH1cbiAgICAuTmV3c1BhZ2UgLk5ld3MgLk5ld3NMaXN0IC5Db250ZW50IC5BcnRpY2xlcyAuQXJ0aWNsZSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VjZWNlYztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyZW07IH1cbiAgICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLkNvbnRlbnQgLkFydGljbGVzIC5BcnRpY2xlOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLkNvbnRlbnQgLkFydGljbGVzIC5BcnRpY2xlIC5sZWZ0IHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMHB4OyB9XG4gICAgICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLkNvbnRlbnQgLkFydGljbGVzIC5BcnRpY2xlIC5yaWdodCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEzMHB4OyB9IH1cbiAgICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLkNvbnRlbnQgLkFydGljbGVzIC5BcnRpY2xlIC5JbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTsgfVxuICAgICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuQ29udGVudCAuQXJ0aWNsZXMgLkFydGljbGUgaDIge1xuICAgICAgICBmb250LXNpemU6IDEuN2VtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLkNvbnRlbnQgLkFydGljbGVzIC5BcnRpY2xlIGgyIGEge1xuICAgICAgICAgIGNvbG9yOiAjNDI0MjQyO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLk5ld3NQYWdlIC5OZXdzIC5OZXdzTGlzdCAuQ29udGVudCAuQXJ0aWNsZXMgLkFydGljbGUgLmRhdGUge1xuICAgICAgICBmb250LXNpemU6IDEuM2VtO1xuICAgICAgICBjb2xvcjogIzQyNDI0MjtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfVxuICAgICAgICAuTmV3c1BhZ2UgLk5ld3MgLk5ld3NMaXN0IC5Db250ZW50IC5BcnRpY2xlcyAuQXJ0aWNsZSAuZGF0ZSBhIHtcbiAgICAgICAgICBjb2xvcjogI2MxMjAyNjtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLkNvbnRlbnQgLkFydGljbGVzIC5BcnRpY2xlIC5ibHVyYiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40ZW07IH1cbiAgICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLkNvbnRlbnQgLkFydGljbGVzIC5BcnRpY2xlIC5tb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICAgIGNvbG9yOiAjYzEyMDI2O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMzVlbTsgfVxuICAuTmV3c1BhZ2UgLk5ld3MgLk5ld3NMaXN0IC5QYWdpbmF0aW9uIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RlZGVkZTtcbiAgICBmb250LXNpemU6IDEuNzVlbTsgfVxuICAgIC5OZXdzUGFnZSAuTmV3cyAuTmV3c0xpc3QgLlBhZ2luYXRpb24gLmxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RlZGVkZTsgfVxuXG4uTmV3c0FydGljbGVQYWdlIC5zZWN0aW9uczpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5OZXdzQXJ0aWNsZVBhZ2UgLnNlY3Rpb25zOmZpcnN0LWNoaWxkIC5kYXRlIHtcbiAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIGNvbG9yOiAjYWZhZmFmO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5OZXdzQXJ0aWNsZVBhZ2UgLnNlY3Rpb25zOmZpcnN0LWNoaWxkIC5jYXRlZ29yeSB7XG4gICAgZm9udC1zaXplOiAxLjFlbTsgfVxuXG4uTmV3c0FydGljbGVQYWdlIC5zaGFyZSB7XG4gIGZsb2F0OiByaWdodDsgfVxuICAuTmV3c0FydGljbGVQYWdlIC5zaGFyZSA+IC5Tb2NpYWxNZWRpYVNoYXJlQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICBvcGFjaXR5OiAwLjg1O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLk5ld3NBcnRpY2xlUGFnZSAuc2hhcmUgPiAuU29jaWFsTWVkaWFTaGFyZUJ1dHRvbjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi5BYm91dFBhZ2UgPiBkaXYgLnNlY3Rpb24uYnV0dG9ucy5tb3JlIC5pY29uIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIG1hcmdpbi1yaWdodDogMC41ZW07IH1cblxuLkFib3V0UGFnZSA+IGRpdiAuc2VjdGlvbi5idXR0b25zLm1vcmUgfiAuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLkFib3V0UGFnZSA+IGRpdi5vcGVuIC5zZWN0aW9uLmJ1dHRvbnMubW9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLkFib3V0UGFnZSA+IGRpdi5vcGVuIC5zZWN0aW9uLmJ1dHRvbnMubW9yZSB+IC5zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uTWVldFRoZVRlYW1QYWdlIC5BZ2VudHNMaXN0IHVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAuTWVldFRoZVRlYW1QYWdlIC5BZ2VudHNMaXN0IHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MDBweCkge1xuICAgIC5NZWV0VGhlVGVhbVBhZ2UgLkFnZW50c0xpc3QgdWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAuTWVldFRoZVRlYW1QYWdlIC5BZ2VudHNMaXN0IHVsIGxpIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMTIwMjY7XG4gICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDQ5JTtcbiAgICBwYWRkaW5nOiAxZW0gMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MDBweCkge1xuICAgICAgLk1lZXRUaGVUZWFtUGFnZSAuQWdlbnRzTGlzdCB1bCBsaSB7XG4gICAgICAgIHdpZHRoOiAyNCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMSU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgLk1lZXRUaGVUZWFtUGFnZSAuQWdlbnRzTGlzdCB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgLk1lZXRUaGVUZWFtUGFnZSAuQWdlbnRzTGlzdCB1bCBsaS5jdXJyZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6ICNjMTIwMjY7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuTWVldFRoZVRlYW1QYWdlIC5BZ2VudHNMaXN0IHVsIGxpLmxpbmsge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLk1lZXRUaGVUZWFtUGFnZSAuQWdlbnRzTGlzdCB1bCBsaS5saW5rIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICM0MjQyNDI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMWVtIDA7IH1cblxuLk1lZXRUaGVUZWFtUGFnZSAuQWdlbnRzTGlzdCAuVGVhbXMgLlRlYW0ge1xuICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgLk1lZXRUaGVUZWFtUGFnZSAuQWdlbnRzTGlzdCAuVGVhbXMgLlRlYW0uY2FyZWVycyAuSW1hZ2UsIC5NZWV0VGhlVGVhbVBhZ2UgLkFnZW50c0xpc3QgLlRlYW1zIC5UZWFtLmNhcmVlcnMgLkhvdmVySW1hZ2Uge1xuICAgIG9wYWNpdHk6IDAuMjsgfVxuICAuTWVldFRoZVRlYW1QYWdlIC5BZ2VudHNMaXN0IC5UZWFtcyAuVGVhbSBoMiB7XG4gICAgZm9udC1zaXplOiAxLjhlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG4gIC5NZWV0VGhlVGVhbVBhZ2UgLkFnZW50c0xpc3QgLlRlYW1zIC5UZWFtIC5BZ2VudHM6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5NZWV0VGhlVGVhbVBhZ2UgLkFnZW50c0xpc3QgLlRlYW1zIC5UZWFtIC5BZ2VudHMgLkFnZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzJjMmMyYztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ1MHB4KSB7XG4gICAgICAuTWVldFRoZVRlYW1QYWdlIC5BZ2VudHNMaXN0IC5UZWFtcyAuVGVhbSAuQWdlbnRzIC5BZ2VudCB7XG4gICAgICAgICp6b29tOiAxO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgIHdpZHRoOiA0OC41JTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTsgfVxuICAgICAgICAuTWVldFRoZVRlYW1QYWdlIC5BZ2VudHNMaXN0IC5UZWFtcyAuVGVhbSAuQWdlbnRzIC5BZ2VudDpiZWZvcmUsIC5NZWV0VGhlVGVhbVBhZ2UgLkFnZW50c0xpc3QgLlRlYW1zIC5UZWFtIC5BZ2VudHMgLkFnZW50OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgICAuTWVldFRoZVRlYW1QYWdlIC5BZ2VudHNMaXN0IC5UZWFtcyAuVGVhbSAuQWdlbnRzIC5BZ2VudDphZnRlciB7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgLk1lZXRUaGVUZWFtUGFnZSAuQWdlbnRzTGlzdCAuVGVhbXMgLlRlYW0gLkFnZW50cyAuQWdlbnQ6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwJTtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgICAgLk1lZXRUaGVUZWFtUGFnZSAuQWdlbnRzTGlzdCAuVGVhbXMgLlRlYW0gLkFnZW50cyAuQWdlbnQ6bnRoLWNoaWxkKDJuICsgMSkge1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjUwcHgpIHtcbiAgICAgIC5NZWV0VGhlVGVhbVBhZ2UgLkFnZW50c0xpc3QgLlRlYW1zIC5UZWFtIC5BZ2VudHMgLkFnZW50IHtcbiAgICAgICAgKnpvb206IDE7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgd2lkdGg6IDMxLjMzMzMzJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07IH1cbiAgICAgICAgLk1lZXRUaGVUZWFtUGFnZSAuQWdlbnRzTGlzdCAuVGVhbXMgLlRlYW0gLkFnZW50cyAuQWdlbnQ6YmVmb3JlLCAuTWVldFRoZVRlYW1QYWdlIC5BZ2VudHNMaXN0IC5UZWFtcyAuVGVhbSAuQWdlbnRzIC5BZ2VudDphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgICAgLk1lZXRUaGVUZWFtUGFnZSAuQWdlbnRzTGlzdCAuVGVhbXMgLlRlYW0gLkFnZW50cyAuQWdlbnQ6YWZ0ZXIge1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIC5NZWV0VGhlVGVhbVBhZ2UgLkFnZW50c0xpc3QgLlRlYW1zIC5UZWFtIC5BZ2VudHMgLkFnZW50Om50aC1jaGlsZCgybikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMyU7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgICAgLk1lZXRUaGVUZWFtUGFnZSAuQWdlbnRzTGlzdCAuVGVhbXMgLlRlYW0gLkFnZW50cyAuQWdlbnQ6bnRoLWNoaWxkKDJuICsgMSkge1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5NZWV0VGhlVGVhbVBhZ2UgLkFnZW50c0xpc3QgLlRlYW1zIC5UZWFtIC5BZ2VudHMgLkFnZW50Om50aC1jaGlsZCgzbikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMCU7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAgIC5NZWV0VGhlVGVhbVBhZ2UgLkFnZW50c0xpc3QgLlRlYW1zIC5UZWFtIC5BZ2VudHMgLkFnZW50Om50aC1jaGlsZCgzbiArIDEpIHtcbiAgICAgICAgICBjbGVhcjogYm90aDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDg1MHB4KSB7XG4gICAgICAuTWVldFRoZVRlYW1QYWdlIC5BZ2VudHNMaXN0IC5UZWFtcyAuVGVhbSAuQWdlbnRzIC5BZ2VudCB7XG4gICAgICAgICp6b29tOiAxO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgIHdpZHRoOiAyMi43NSU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzJTsgfVxuICAgICAgICAuTWVldFRoZVRlYW1QYWdlIC5BZ2VudHNMaXN0IC5UZWFtcyAuVGVhbSAuQWdlbnRzIC5BZ2VudDpiZWZvcmUsIC5NZWV0VGhlVGVhbVBhZ2UgLkFnZW50c0xpc3QgLlRlYW1zIC5UZWFtIC5BZ2VudHMgLkFnZW50OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgICAuTWVldFRoZVRlYW1QYWdlIC5BZ2VudHNMaXN0IC5UZWFtcyAuVGVhbSAuQWdlbnRzIC5BZ2VudDphZnRlciB7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgLk1lZXRUaGVUZWFtUGFnZSAuQWdlbnRzTGlzdCAuVGVhbXMgLlRlYW0gLkFnZW50cyAuQWdlbnQ6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzJTtcbiAgICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgICAuTWVldFRoZVRlYW1QYWdlIC5BZ2VudHNMaXN0IC5UZWFtcyAuVGVhbSAuQWdlbnRzIC5BZ2VudDpudGgtY2hpbGQoM24gKyAxKSB7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgLk1lZXRUaGVUZWFtUGFnZSAuQWdlbnRzTGlzdCAuVGVhbXMgLlRlYW0gLkFnZW50cyAuQWdlbnQ6bnRoLWNoaWxkKDRuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwJTtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgICAgLk1lZXRUaGVUZWFtUGFnZSAuQWdlbnRzTGlzdCAuVGVhbXMgLlRlYW0gLkFnZW50cyAuQWdlbnQ6bnRoLWNoaWxkKDRuICsgMSkge1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9IH1cbiAgICAuTWVldFRoZVRlYW1QYWdlIC5BZ2VudHNMaXN0IC5UZWFtcyAuVGVhbSAuQWdlbnRzIC5BZ2VudCBpbWcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RmZGZkZjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAuTWVldFRoZVRlYW1QYWdlIC5BZ2VudHNMaXN0IC5UZWFtcyAuVGVhbSAuQWdlbnRzIC5BZ2VudCBpbWc6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNjMTIwMjY7IH1cbiAgICAuTWVldFRoZVRlYW1QYWdlIC5BZ2VudHNMaXN0IC5UZWFtcyAuVGVhbSAuQWdlbnRzIC5BZ2VudCAubmFtZXBsYXRlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGM0YzRjM7XG4gICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMC41ZW0gMC4yNWVtOyB9XG4gICAgICAuTWVldFRoZVRlYW1QYWdlIC5BZ2VudHNMaXN0IC5UZWFtcyAuVGVhbSAuQWdlbnRzIC5BZ2VudCAubmFtZXBsYXRlIHN0cm9uZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogI2MxMjAyNjsgfVxuXG4uQWdlbnRQYWdlIC5zZWN0aW9ucyB7XG4gIG1hcmdpbi10b3A6IDJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuQWdlbnRQYWdlIC5zZWN0aW9ucyAubGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogMmVtOyB9IH1cbiAgLkFnZW50UGFnZSAuc2VjdGlvbnMgLmxlZnQgLkltYWdlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGZkZmRmO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAuQWdlbnRQYWdlIC5zZWN0aW9ucyAucmlnaHQgLnBvc2l0aW9uIHtcbiAgICBmb250LXNpemU6IDEuM2VtOyB9XG4gIC5BZ2VudFBhZ2UgLnNlY3Rpb25zIC5yaWdodCAub2ZmaWNlcyB7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICBjb2xvcjogI2MxMjAyNjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IH1cbiAgLkFnZW50UGFnZSAuc2VjdGlvbnMgLnJpZ2h0IC5jb250YWN0IHtcbiAgICBmb250LXNpemU6IDEuMWVtOyB9XG5cbi5BZ2VudFBhZ2UgLlZpZGVvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IDJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuQWdlbnRQYWdlIC5WaWRlbyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzZW07IH0gfVxuXG4uQXBwbHlPbmxpbmVQYWdlIC5zdGVwcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMi41ZW07IH1cbiAgLkFwcGx5T25saW5lUGFnZSAuc3RlcHMgbGkge1xuICAgIGZsZXg6IDE7XG4gICAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCAjRDFEMUQzO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgbWFyZ2luOiAwIDAuMjVlbTtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAuQXBwbHlPbmxpbmVQYWdlIC5zdGVwcyBsaS5wYXN0IHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzBEQTcwRDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5BcHBseU9ubGluZVBhZ2UgLnN0ZXBzIGxpLmN1cnJlbnQge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIC5BcHBseU9ubGluZVBhZ2UgLnN0ZXBzIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLkFwcGx5T25saW5lUGFnZSAuc3RlcHMgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLkFwcGx5T25saW5lUGFnZSAucXVpY2tzdGFydCB7XG4gIG1hcmdpbi10b3A6IDJlbTsgfVxuICAuQXBwbHlPbmxpbmVQYWdlIC5xdWlja3N0YXJ0IGgyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTAuNWVtO1xuICAgIG1heC13aWR0aDogMzAwcHg7IH1cbiAgLkFwcGx5T25saW5lUGFnZSAucXVpY2tzdGFydCAucm93IHtcbiAgICBtYXJnaW4tdG9wOiAxZW07IH1cbiAgICAuQXBwbHlPbmxpbmVQYWdlIC5xdWlja3N0YXJ0IC5yb3c6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgICAuQXBwbHlPbmxpbmVQYWdlIC5xdWlja3N0YXJ0IC5yb3cgLmZpZWxkSG9sZGVyIHtcbiAgICAgICAgKnpvb206IDE7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgd2lkdGg6IDMxLjMzMzMzJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMlOyB9XG4gICAgICAgIC5BcHBseU9ubGluZVBhZ2UgLnF1aWNrc3RhcnQgLnJvdyAuZmllbGRIb2xkZXI6YmVmb3JlLCAuQXBwbHlPbmxpbmVQYWdlIC5xdWlja3N0YXJ0IC5yb3cgLmZpZWxkSG9sZGVyOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgICAuQXBwbHlPbmxpbmVQYWdlIC5xdWlja3N0YXJ0IC5yb3cgLmZpZWxkSG9sZGVyOmFmdGVyIHtcbiAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAuQXBwbHlPbmxpbmVQYWdlIC5xdWlja3N0YXJ0IC5yb3cgLmZpZWxkSG9sZGVyOm50aC1jaGlsZCgzbikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMCU7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAgIC5BcHBseU9ubGluZVBhZ2UgLnF1aWNrc3RhcnQgLnJvdyAuZmllbGRIb2xkZXI6bnRoLWNoaWxkKDNuICsgMSkge1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9IH1cblxuLkFwcGx5T25saW5lUGFnZSBoNiB7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtOyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDsgfSB9XG5cbmJvZHkuUHJpbnRGb3JtIHtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmctYm90dG9tOiAxZW07XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cblxuI1ByaW50Rm9ybSB7XG4gIGZvbnQtc2l6ZTogMC45NWVtO1xuICB3aWR0aDogOTYlOyB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgI1ByaW50Rm9ybSB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICNQcmludEZvcm0gLmxvZ28ge1xuICAgIHBhZGRpbmc6IDFlbSAwOyB9XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgICNQcmludEZvcm0gLmxvZ28ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gICAgI1ByaW50Rm9ybSAubG9nbyBoMSB7XG4gICAgICBmb250LXNpemU6IDEuOGVtO1xuICAgICAgY29sb3I6ICNjMTIwMjY7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICNQcmludEZvcm0gLmxvZ28gaW1nIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGhlaWdodDogMi41ZW07IH1cbiAgI1ByaW50Rm9ybSAucGFnZWJyZWFrIHtcbiAgICBwYWdlLWJyZWFrLWJlZm9yZTogYWx3YXlzO1xuICAgIHBhZGRpbmctdG9wOiAxLjZjbTsgfVxuICAjUHJpbnRGb3JtIGgyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmb250LXNpemU6IDEuNGVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLXRvcDogMC43NWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVlbTsgfVxuICAjUHJpbnRGb3JtIGgzIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAjUHJpbnRGb3JtIHRhYmxlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQgIWltcG9ydGFudDtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAjUHJpbnRGb3JtIHRhYmxlIHRyOmxhc3QtY2hpbGQgdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMCBub25lOyB9XG4gICAgI1ByaW50Rm9ybSB0YWJsZSB0ciB0aCwgI1ByaW50Rm9ybSB0YWJsZSB0ciB0ZCB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICNQcmludEZvcm0gdGFibGUgdHIgdGgge1xuICAgICAgYmFja2dyb3VuZDogIzNFM0UzRTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgcGFkZGluZzogMC41ZW07IH1cbiAgICAgICNQcmludEZvcm0gdGFibGUgdHIgdGggZW0ge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG4gICAgI1ByaW50Rm9ybSB0YWJsZSB0ciB0ZCB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgICBwYWRkaW5nOiAwLjVlbTsgfVxuICAgICAgI1ByaW50Rm9ybSB0YWJsZSB0ciB0ZC5ncmV5IHtcbiAgICAgICAgYmFja2dyb3VuZDogI0YxRjFGMTsgfVxuICAgICAgI1ByaW50Rm9ybSB0YWJsZSB0ciB0ZC5zdGF0ZW1lbnQge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgICAgICNQcmludEZvcm0gdGFibGUgdHIgdGQuc3RhdGVtZW50IHAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG4gICAgICAgICNQcmludEZvcm0gdGFibGUgdHIgdGQuc3RhdGVtZW50IHA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgI1ByaW50Rm9ybSB0YWJsZSB0ciB0ZC5zaWduYXR1cmUge1xuICAgICAgICBwYWRkaW5nOiAzZW0gMC41ZW07IH1cbiAgICAgICNQcmludEZvcm0gdGFibGUgdHIgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMCBub25lOyB9XG4gICAgI1ByaW50Rm9ybSB0YWJsZSB0ciBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAjUHJpbnRGb3JtIHRhYmxlICsgdGFibGUge1xuICAgICAgYm9yZGVyLXRvcDogMCBub25lOyB9XG4gICNQcmludEZvcm0gLmZpbmVwcmludCB7XG4gICAgZm9udC1zaXplOiAwLjllbTsgfVxuICAjUHJpbnRGb3JtIC5maWxlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwLjhjbSAwOyB9XG4gICAgI1ByaW50Rm9ybSAuZmlsZSBoMyB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgI1ByaW50Rm9ybSAuZmlsZSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5Nb3ZpbmdIdWJQYWdlIC5Nb3ZpbmdIdWIge1xuICBib3JkZXI6IDAgbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDQ2ZW07IH1cbiIsIi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuIiwiLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cbiIsIi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cbiIsIi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbiIsIi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbiIsIi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG4iLCIvKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuIiwiLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuIiwiLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cbiIsIi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuIiwiLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOC85LzEwLzExLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiIsIi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cbiIsIi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cbiIsIi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG4iLCIvKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG4iLCIvKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG59XG4iLCIvKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuIiwiLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbiIsIi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cbiIsIi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4iLCIvKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cbiIsIi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuIiwiLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuIiwiLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cbiIsIi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuIiwiLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG4iLCIvKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuIiwiLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG4iLCIvKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4iLCIvKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50aCxcbnRkIHtcbiAgcGFkZGluZzogMDtcbn1cbiIsIi8qICBTeW50YXggUXVpY2sgUmVmZXJlbmNlXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIGNvbHVtbigkcmF0aW9zOiAxLCAkb2Zmc2V0OiAwLCAkY3ljbGU6IDAsICR1bmN5Y2xlOiAwLCAkZ3V0dGVyOiAkamVldC1ndXR0ZXIpXG4gIHNwYW4oJHJhdGlvOiAxLCAkb2Zmc2V0OiAwKVxuICBzaGlmdCgkcmF0aW9zOiAwLCAkY29sX29yX3NwYW46IGNvbHVtbiwgJGd1dHRlcjogJGplZXQtZ3V0dGVyKVxuICB1bnNoaWZ0KClcbiAgZWRpdCgpXG4gIGNlbnRlcigkbWF4X3dpZHRoOiAxNDEwcHgsICRwYWQ6IDApXG4gIHN0YWNrKCRwYWQ6IDAsICRhbGlnbjogZmFsc2UpXG4gIHVuc3RhY2soKVxuICBhbGlnbigkZGlyZWN0aW9uOiBib3RoKVxuICBjZigpXG4qL1xuXG5AaW1wb3J0ICdfc2V0dGluZ3MnO1xuQGltcG9ydCAnX2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICdfZ3JpZCc7XG4iLCIvKipcbiAqIEdyaWQgc2V0dGluZ3MuXG4gKiBBbGwgdmFsdWVzIGFyZSBkZWZhdWx0cyBhbmQgY2FuIHRoZXJlZm9yZSBiZSBlYXNpbHkgb3ZlcmlkZGVuLlxuICovXG5cbiRqZWV0LWd1dHRlcjogICAgICAgICAgIDMgICAgICAhZGVmYXVsdDtcbiRqZWV0LXBhcmVudC1maXJzdDogICAgIGZhbHNlICAhZGVmYXVsdDtcbiRqZWV0LWxheW91dC1kaXJlY3Rpb246IFwiTFRSXCIgICFkZWZhdWx0O1xuJGplZXQtbWF4LXdpZHRoOiAgICAgICAgMTQxMHB4ICFkZWZhdWx0O1xuIiwiLyoqXG4gKiBMaXN0IGZ1bmN0aW9ucyBjb3VydGVzeSBvZiB0aGUgd29uZGVyZnVsIGZvbGtzIGF0IFRlYW0gU2Fzcy5cbiAqIENoZWNrIG91dCB0aGVpciBhd2Vzb21lIGdyaWQ6IFNpbmd1bGFyaXR5LlxuICovXG5cbi8qKlxuICogR2V0ICBwZXJjZW50YWdlIGZyb20gYSBnaXZlbiByYXRpby5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbJHJhdGlvPTFdIC0gVGhlIGNvbHVtbiByYXRpbyBvZiB0aGUgZWxlbWVudC5cbiAqIEByZXR1cm5zIHtudW1iZXJ9IC0gVGhlIHBlcmNlbnRhZ2UgdmFsdWUuXG4gKi9cbkBmdW5jdGlvbiBqZWV0LWdldC1zcGFuKCRyYXRpbzogMSkge1xuICBAcmV0dXJuICRyYXRpbyAqIDEwMDtcbn1cblxuLyoqXG4gKiBXb3JrIG91dCB0aGUgY29sdW1uIHdpZHRocyBiYXNlZCBvbiB0aGUgcmF0aW8gYW5kIGd1dHRlciBzaXplcy5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbJHJhdGlvcz0xXSAtIFRoZSBjb2x1bW4gcmF0aW8gb2YgdGhlIGVsZW1lbnQuXG4gKiBAcGFyYW0ge251bWJlcn0gWyRndXR0ZXI9JGplZXQtZ3V0dGVyXSAtIFRoZSBndXR0ZXIgZm9yIHRoZSBjb2x1bW4uXG4gKiBAcmV0dXJucyB7bGlzdH0gJHdpZHRoICRndXR0ZXIgLSBBIGxpc3QgY29udGFpbmluZyB0aGUgd2l0aCBhbmQgZ3V0dGVyIGZvciB0aGUgZWxlbWVudC5cbiAqL1xuQGZ1bmN0aW9uIGplZXQtZ2V0LWNvbHVtbigkcmF0aW9zOiAxLCAkZ3V0dGVyOiAkamVldC1ndXR0ZXIpIHtcbiAgJHJhdGlvczogaWYobm90ICRqZWV0LXBhcmVudC1maXJzdCwgamVldC1yZXZlcnNlKCRyYXRpb3MpLCAkcmF0aW9zKTtcbiAgJHdpZHRoOiAxMDA7XG5cbiAgQGVhY2ggJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICRndXR0ZXI6ICRndXR0ZXIgLyAkd2lkdGggKiAxMDA7XG4gICAgJHdpZHRoOiAxMDAgKiAkcmF0aW8gLSAkZ3V0dGVyICsgJHJhdGlvICogJGd1dHRlcjtcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoICRndXR0ZXI7XG59XG5cbi8qKlxuICogR2V0IHRoZSBzZXQgbGF5b3V0IGRpcmVjdGlvbiBmb3IgdGhlIHByb2plY3QuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSAkZGlyZWN0aW9uIC0gVGhlIGxheW91dCBkaXJlY3Rpb24uXG4gKi9cbkBmdW5jdGlvbiBqZWV0LWdldC1sYXlvdXQtZGlyZWN0aW9uKCkge1xuICAkZGlyZWN0aW9uOiBpZigkamVldC1sYXlvdXQtZGlyZWN0aW9uID09IFwiUlRMXCIsIHJpZ2h0LCBsZWZ0KTtcblxuICBAcmV0dXJuICRkaXJlY3Rpb247XG59XG5cbi8qKlxuICogUmVwbGFjZSBhIHNwZWNpZmllZCBsaXN0IHZhbHVlIHdpdGggYSBuZXcgdmFsdWUgKHVzZXMgYnVpbHQgaW4gc2V0LW50aCgpIGlmIGF2YWlsYWJsZSlcbiAqIEBwYXJhbSB7bGlzdH0gJGxpc3QgLSBUaGUgbGlzdCBvZiB2YWx1ZXMgeW91IHdhbnQgdG8gYWx0ZXIuXG4gKiBAcGFyYW0ge251bWJlcn0gJGluZGV4IC0gVGhlIGluZGV4IG9mIHRoZSBsaXN0IGl0ZW0geW91IHdhbnQgdG8gcmVwbGFjZS5cbiAqIEBwYXJhbSB7Kn0gJHZhbHVlIC0gVGhlIHZhbHVlIHlvdSB3YW50IHRvIHJlcGxhY2UgJGluZGV4IHdpdGguXG4gKiBAcmV0dXJucyB7bGlzdH0gJGxpc3QgLSBUaGUgbGlzdCB3aXRoIHRoZSB2YWx1ZSByZXBsYWNlZCBvciByZW1vdmVkLlxuICogQHdhcm4gaWYgYW4gaW52YWxpZCBpbmRleCBpcyBzdXBwbGllZC5cbiAqL1xuQGZ1bmN0aW9uIGplZXQtcmVwbGFjZS1udGgoJGxpc3QsICRpbmRleCwgJHZhbHVlKSB7XG4gIC8vIEZhbGxiYWNrIGZvciBTYXNzIDMuMlxuICBAaWYgZnVuY3Rpb24tZXhpc3RzKFwic2V0LW50aFwiKSAhPSB0cnVlIHtcbiAgICAkcmVzdWx0OiAoKTtcbiAgICAkaW5kZXg6IGlmKCRpbmRleCA8IDAsIGxlbmd0aCgkbGlzdCkgKyAkaW5kZXggKyAxLCAkaW5kZXgpO1xuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJGxpc3QpIHtcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBpZigkaSA9PSAkaW5kZXgsICR2YWx1ZSwgbnRoKCRsaXN0LCAkaSkpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRyZXN1bHQ7XG4gIH1cblxuICAvLyBTYXNzIDMuM1xuICAkcmVzdWx0OiBzZXQtbnRoKCRsaXN0LCAkaW5kZXgsICR2YWx1ZSk7XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vKipcbiAqIFJldmVyc2UgYSBsaXN0IChwcm9ncmVzc2l2ZWx5IGVuaGFuY2VkIGZvciBTYXNzIDMuMylcbiAqIEBwYXJhbSB7bGlzdH0gJGxpc3QgLSBUaGUgbGlzdCBvZiB2YWx1ZXMgeW91IHdhbnQgdG8gcmV2ZXJzZS5cbiAqIEByZXR1cm5zIHtsaXN0fSAkcmVzdWx0IC0gVGhlIHJldmVyc2VkIGxpc3QuXG4gKi9cbkBmdW5jdGlvbiBqZWV0LXJldmVyc2UoJGxpc3QpIHtcbiAgLy8gU2FzcyAzLjJcbiAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhcInNldC1udGhcIikgIT0gdHJ1ZSB7XG4gICAgJHJlc3VsdDogKCk7XG5cbiAgICBAZm9yICRpIGZyb20gbGVuZ3RoKCRsaXN0KSAqIC0xIHRocm91Z2ggLTEge1xuICAgICAgJGl0ZW06IG50aCgkbGlzdCwgYWJzKCRpKSk7XG5cbiAgICAgIEBpZiBsZW5ndGgoJGl0ZW0pID4gMSBhbmQgJHJlY3Vyc2l2ZSB7XG4gICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBqZWV0LXJldmVyc2UoJGl0ZW0sICRyZWN1cnNpdmUpKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICRpdGVtKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuICRyZXN1bHQ7XG4gIH1cblxuICAvLyBTYXNzIDMuMytcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBjZWlsKGxlbmd0aCgkbGlzdCkvMikge1xuICAgICR0bXA6IG50aCgkbGlzdCwgJGkpO1xuICAgICR0bXA6IGlmKGxlbmd0aCgkdG1wKSA+IDEgYW5kICRyZWN1cnNpdmUsIHJldmVyc2UoJHRtcCwgJHJlY3Vyc2l2ZSksICR0bXApO1xuXG4gICAgJGxpc3Q6IHNldC1udGgoJGxpc3QsICRpLCBudGgoJGxpc3QsIC0kaSkpO1xuICAgICRsaXN0OiBzZXQtbnRoKCRsaXN0LCAtJGksICR0bXApO1xuICB9XG5cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIG9wcG9zaXRlIGRpcmVjdGlvbiB0byBhIGdpdmVuIHZhbHVlLlxuICogQHBhcmFtIHtzdHJpbmd9ICRkaXIgLSBUaGUgZGlyZWN0aW9uIHlvdSB3YW50IHRoZSBvcHBvc2l0ZSBvZi5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIG9wcG9zaXRlIGRpcmVjdGlvbiB0byAkZGlyLlxuICogQHdhcm4gaWYgYW4gaW5jb3JyZWN0IHN0cmluZyBpcyBwcm92aWRlZC5cbiAqL1xuQGZ1bmN0aW9uIGplZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pIHtcbiAgQGlmICRkaXJlY3Rpb24gPT0gXCJsZWZ0XCIge1xuICAgIEByZXR1cm4gcmlnaHQ7XG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIge1xuICAgIEByZXR1cm4gbGVmdDtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwidG9wXCIge1xuICAgIEByZXR1cm4gYm90dG9tO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJib3R0b21cIiB7XG4gICAgQHJldHVybiB0b3A7XG4gIH0gQGVsc2UgaWYgaW5kZXgoXCJsdHJcIiBcIkxUUlwiLCAkZGlyZWN0aW9uKSB7XG4gICAgQHJldHVybiBydGw7XG4gIH0gQGVsc2UgaWYgaW5kZXgoXCJydGxcIiBcIlJUTFwiLCAkZGlyZWN0aW9uKSB7XG4gICAgQHJldHVybiBsdHI7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JGRpcmVjdGlvbn1gIGlzIG5vdCBhIGRpcmVjdGlvbjsgcGxlYXNlIG1ha2Ugc3VyZSB5b3VyIGRpcmVjdGlvbiBpcyBhbGwgbG93ZXJjYXNlLlwiO1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIi8qKlxuICogU3R5bGUgYW4gZWxlbWVudCBhcyBhIGNvbHVtbiB3aXRoIGEgZ3V0dGVyLlxuICogQHBhcmFtIHtudW1iZXJ9IFskcmF0aW9zPTFdIC0gQSB3aWR0aCByZWxhdGl2ZSB0byBpdHMgY29udGFpbmVyIGFzIGEgZnJhY3Rpb24uXG4gKiBAcGFyYW0ge251bWJlcn0gWyRvZmZzZXQ9MF0gLSBBIG9mZnNldCBzcGVjaWZpZWQgYXMgYSBmcmFjdGlvbiAoc2VlICRyYXRpb3MpLlxuICogQHBhcmFtIHtudW1iZXJ9IFskY3ljbGU9MF0gLSBFYXNpbHkgY3JlYXRlIGFuIG50aCBjb2x1bW4gZ3JpZCB3aGVyZSAkY3ljbGUgZXF1YWxzIHRoZSBudW1iZXIgb2YgY29sdW1ucy5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbJHVuY3ljbGU9MF0gLSBVbmRvIGEgcHJldmlvdXMgY3ljbGUgdmFsdWUgdG8gYWxsb3cgZm9yIGEgbmV3IG9uZS5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbJGd1dHRlcj0kamVldC1ndXR0ZXJdIC0gU3BlY2lmeSB0aGUgZ3V0dGVyIHdpZHRoIGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgY29udGFpbmVycyB3aWR0aC5cbiAqL1xuQG1peGluIGNvbHVtbigkcmF0aW9zOiAxLCAkb2Zmc2V0OiAwLCAkY3ljbGU6IDAsICR1bmN5Y2xlOiAwLCAkZ3V0dGVyOiAkamVldC1ndXR0ZXIpIHtcbiAgJHNpZGU6IGplZXQtZ2V0LWxheW91dC1kaXJlY3Rpb24oKTtcbiAgJG9wcG9zaXRlLXNpZGU6IGplZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRzaWRlKTtcbiAgJGNvbHVtbi13aWR0aHM6IGplZXQtZ2V0LWNvbHVtbigkcmF0aW9zLCAkZ3V0dGVyKTtcbiAgJG1hcmdpbi1sYXN0OiAwO1xuICAkbWFyZ2luLWw6ICRtYXJnaW4tbGFzdDtcbiAgJG1hcmdpbi1yOiBudGgoJGNvbHVtbi13aWR0aHMsIDIpO1xuXG4gIEBpZiAkb2Zmc2V0ICE9IDAge1xuICAgIEBpZiAkb2Zmc2V0IDwgMCB7XG4gICAgICAkb2Zmc2V0OiAkb2Zmc2V0ICogLTE7XG4gICAgICAkb2Zmc2V0OiBudGgoamVldC1nZXQtY29sdW1uKCRvZmZzZXQsIG50aCgkY29sdW1uLXdpZHRocywgMikpLCAxKTtcbiAgICAgICRtYXJnaW4tbGFzdDogJG9mZnNldCArIG50aCgkY29sdW1uLXdpZHRocywgMikgKiAyO1xuICAgICAgJG1hcmdpbi1yOiAkbWFyZ2luLWxhc3Q7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkb2Zmc2V0OiBudGgoamVldC1nZXQtY29sdW1uKCRvZmZzZXQsIG50aCgkY29sdW1uLXdpZHRocywgMikpLCAxKTtcbiAgICAgICRtYXJnaW4tbDogJG9mZnNldCArIG50aCgkY29sdW1uLXdpZHRocywgMik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgY2Y7XG4gIGZsb2F0OiAkc2lkZTtcbiAgY2xlYXI6IG5vbmU7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIHdpZHRoOiBudGgoJGNvbHVtbi13aWR0aHMsIDEpICogMSU7XG4gIG1hcmdpbjoge1xuICAgICN7JHNpZGV9OiAkbWFyZ2luLWwgKiAxJTtcbiAgICAjeyRvcHBvc2l0ZS1zaWRlfTogJG1hcmdpbi1yICogMSU7XG4gIH07XG5cbiAgQGlmICR1bmN5Y2xlICE9IDAge1xuICAgICY6bnRoLWNoaWxkKCN7JHVuY3ljbGV9bikge1xuICAgICAgbWFyZ2luLSN7amVldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJHNpZGUpfTogJG1hcmdpbi1yICogMSU7XG4gICAgICBmbG9hdDogJHNpZGU7XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKCN7JHVuY3ljbGV9biArIDEpIHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkY3ljbGUgIT0gMCB7XG4gICAgJjpudGgtY2hpbGQoI3skY3ljbGV9bikge1xuICAgICAgbWFyZ2luLSN7amVldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJHNpZGUpfTogJG1hcmdpbi1sYXN0ICogMSU7XG4gICAgICBmbG9hdDogamVldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJHNpZGUpO1xuICAgIH1cbiAgICAmOm50aC1jaGlsZCgjeyRjeWNsZX1uICsgMSkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7amVldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJHNpZGUpfTogJG1hcmdpbi1sYXN0ICogMSU7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQW4gYWxpYXMgZm9yIHRoZSBjb2x1bW4gbWl4aW4uXG4gKiBAcGFyYW0gWyRhcmdzLi4uXSAtIEFsbCBhcmd1bWVudHMgZ2V0IHBhc3NlZCB0aHJvdWdoIHRvIGNvbHVtbigpLlxuICovXG5AbWl4aW4gY29sKCRhcmdzLi4uKSB7XG4gIEBpbmNsdWRlIGNvbHVtbigkYXJncy4uLik7XG59XG5cbi8qKlxuICogR2V0IHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBhbmQgbm90aGluZyBlbHNlLlxuICogQHBhcmFtIHtudW1iZXJ9IFskcmF0aW9zPTFdIC0gQSB3aWR0aCByZWxhdGl2ZSB0byBpdHMgY29udGFpbmVyIGFzIGEgZnJhY3Rpb24uXG4gKiBAcGFyYW0ge251bWJlcn0gWyRndXR0ZXI9JGplZXQtZ3V0dGVyXSAtIFNwZWNpZnkgdGhlIGd1dHRlciB3aWR0aCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIGNvbnRhaW5lcnMgd2lkdGguXG4gKi9cbkBmdW5jdGlvbiBjb2x1bW4td2lkdGgoJHJhdGlvczogMSwgJGd1dHRlcjogJGplZXQtZ3V0dGVyKSB7XG4gIEByZXR1cm4gdW5xdW90ZShudGgoamVldC1nZXQtY29sdW1uKCRyYXRpb3MsICRndXR0ZXIpLCAxKSArICclJyk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBndXR0ZXIgc2l6ZSBvZiBhIGNvbHVtbiBhbmQgbm90aGluZyBlbHNlLlxuICogQHBhcmFtIHtudW1iZXJ9IFtyYXRpb3M9MV0gLSBBIHdpZHRoIHJlbGF0aXZlIHRvIGl0cyBjb250YWluZXIgYXMgYSBmcmFjdGlvbi5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbZ3V0dGVyPWplZXQuZ3V0dGVyXSAtIFNwZWNpZnkgdGhlIGd1dHRlciB3aWR0aCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIGNvbnRhaW5lcnMgd2lkdGguXG4gKi9cbkBmdW5jdGlvbiBjb2x1bW4tZ3V0dGVyKCRyYXRpb3M6IDEsICRndXR0ZXI6ICRqZWV0LWd1dHRlcikge1xuICBAcmV0dXJuIHVucXVvdGUobnRoKGplZXQtZ2V0LWNvbHVtbigkcmF0aW9zLCAkZ3V0dGVyKSwgMikgKyAnJScpO1xufVxuXG4vKipcbiAqIEFuIGFsaWFzIGZvciB0aGUgY29sdW1uLXdpZHRoIGZ1bmN0aW9uLlxuICogQHBhcmFtIFskYXJncy4uLl0gLSBBbGwgYXJndW1lbnRzIGdldCBwYXNzZWQgdGhyb3VnaCB0byBjb2x1bW4oKS5cbiAqL1xuQGZ1bmN0aW9uIGN3KCRhcmdzLi4uKSB7XG4gIEByZXR1cm4gY29sdW1uLXdpZHRoKCRhcmdzLi4uKTtcbn1cblxuLyoqXG4gKiBBbiBhbGlhcyBmb3IgdGhlIGNvbHVtbi1ndXR0ZXIgZnVuY3Rpb24uXG4gKiBAcGFyYW0gWyRhcmdzLi4uXSAtIEFsbCBhcmd1bWVudHMgZ2V0IHBhc3NlZCB0aHJvdWdoIHRvIGNvbHVtbigpLlxuICovXG5AZnVuY3Rpb24gY2coJGFyZ3MuLi4pIHtcbiAgQHJldHVybiBjb2x1bW4tZ3V0dGVyKCRhcmdzLi4uKTtcbn1cblxuLyoqXG4gKiBTdHlsZSBhbiBlbGVtZW50IGFzIGEgY29sdW1uIHdpdGhvdXQgYW55IGd1dHRlcnMgZm9yIGEgc2VhbWxlc3Mgcm93LlxuICogQHBhcmFtIHtudW1iZXJ9IFskcmF0aW9zPTFdIC0gQSB3aWR0aCByZWxhdGl2ZSB0byBpdHMgY29udGFpbmVyIGFzIGEgZnJhY3Rpb24uXG4gKiBAcGFyYW0ge251bWJlcn0gWyRvZmZzZXQ9MF0gLSBBIG9mZnNldCBzcGVjaWZpZWQgYXMgYSBmcmFjdGlvbiAoc2VlICRyYXRpb3MpLlxuICogQHBhcmFtIHtudW1iZXJ9IFtjeWNsZT0wXSAtIEVhc2lseSBjcmVhdGUgYW4gbnRoIGNvbHVtbiBncmlkIHdoZXJlIGN5Y2xlIGVxdWFscyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMuXG4gKiBAcGFyYW0ge251bWJlcn0gW3VuY3ljbGU9MF0gLSBVbmRvIGEgcHJldmlvdXMgY3ljbGUgdmFsdWUgdG8gYWxsb3cgZm9yIGEgbmV3IG9uZS5cbiAqL1xuQG1peGluIHNwYW4oJHJhdGlvOiAxLCAkb2Zmc2V0OiAwLCAkY3ljbGU6IDAsICR1bmN5Y2xlOiAwKSB7XG4gICRzaWRlOiBqZWV0LWdldC1sYXlvdXQtZGlyZWN0aW9uKCk7XG4gICRvcHBvc2l0ZS1zaWRlOiBqZWV0LW9wcG9zaXRlLWRpcmVjdGlvbigkc2lkZSk7XG4gICRzcGFuLXdpZHRoOiBqZWV0LWdldC1zcGFuKCRyYXRpbyk7XG4gICRtYXJnaW4tcjogMDtcbiAgJG1hcmdpbi1sOiAkbWFyZ2luLXI7XG4gIEBpZiAkb2Zmc2V0ICE9IDAge1xuICAgIEBpZiAkb2Zmc2V0IDwgMCB7XG4gICAgICAkb2Zmc2V0OiAkb2Zmc2V0ICogLTE7XG4gICAgICAkbWFyZ2luLXI6IGplZXQtZ2V0LXNwYW4oJG9mZnNldCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkbWFyZ2luLWw6IGplZXQtZ2V0LXNwYW4oJG9mZnNldCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgY2Y7XG4gIGZsb2F0OiAkc2lkZTtcbiAgY2xlYXI6IG5vbmU7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIHdpZHRoOiAkc3Bhbi13aWR0aCAqIDElO1xuICBtYXJnaW46IHtcbiAgICAjeyRzaWRlfTogJG1hcmdpbi1sICogMSU7XG4gICAgI3skb3Bwb3NpdGUtc2lkZX06ICRtYXJnaW4tciAqIDElO1xuICB9O1xuXG4gIEBpZiAkY3ljbGUgIT0gMCB7XG4gICAgJjpudGgtY2hpbGQoI3skY3ljbGV9bikge1xuICAgICAgZmxvYXQ6ICRvcHBvc2l0ZS1zaWRlO1xuICAgIH1cbiAgICAmOm50aC1jaGlsZCgjeyRjeWNsZX1uICsgMSkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG5cbiAgQGlmICR1bmN5Y2xlICE9IDAge1xuICAgICY6bnRoLWNoaWxkKCN7JHVuY3ljbGV9bikge1xuICAgICAgZmxvYXQ6ICRzaWRlO1xuICAgIH1cbiAgICAmOm50aC1jaGlsZCgjeyR1bmN5Y2xlfW4gKyAxKSB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG4gIH1cblxufVxuXG4vKipcbiAqIFJlb3JkZXIgY29sdW1ucyB3aXRob3V0IGFsdGVyaW5nIHRoZSBIVE1MLlxuICogQHBhcmFtIHtudW1iZXJ9IFskcmF0aW9zPTBdIC0gU3BlY2lmeSBob3cgZmFyIGFsb25nIHlvdSB3YW50IHRoZSBlbGVtZW50IHRvIG1vdmUuXG4gKiBAcGFyYW0ge3N0cmluZ30gWyRjb2wtb3Itc3Bhbj1jb2x1bW5dIC0gU3BlY2lmeSB3aGV0aGVyIHRoZSBlbGVtZW50IGhhcyBhIGd1dHRlciBvciBub3QuXG4gKiBAcGFyYW0ge251bWJlcn0gWyRndXR0ZXI9JGplZXQtZ3V0dGVyXSAtIFNwZWNpZnkgdGhlIGd1dHRlciB3aWR0aCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIGNvbnRhaW5lcnMgd2lkdGguXG4gKi9cbkBtaXhpbiBzaGlmdCgkcmF0aW9zOiAwLCAkY29sLW9yLXNwYW46IGNvbHVtbiwgJGd1dHRlcjogJGplZXQtZ3V0dGVyKSB7XG4gICR0cmFuc2xhdGU6ICcnO1xuICAkc2lkZTogamVldC1nZXQtbGF5b3V0LWRpcmVjdGlvbigpO1xuXG4gIEBpZiAkc2lkZSA9PSByaWdodCB7XG4gICAgJHJhdGlvczogamVldC1yZXBsYWNlLW50aCgkcmF0aW9zLCAwLCBudGgoJHJhdGlvcywgMSkgKiAtMSk7XG4gIH1cblxuICBAaWYgaW5kZXgoXCJjb2x1bW5cIiBcImNvbFwiIFwiY1wiLCAkY29sLW9yLXNwYW4pIHtcbiAgICAkY29sdW1uLXdpZHRoczogamVldC1nZXQtY29sdW1uKCRyYXRpb3MsICRndXR0ZXIpO1xuICAgICR0cmFuc2xhdGU6IG50aCgkY29sdW1uLXdpZHRocywgMSkgKyBudGgoJGNvbHVtbi13aWR0aHMsIDIpO1xuICB9IEBlbHNlIHtcbiAgICAkdHJhbnNsYXRlOiBqZWV0LWdldC1zcGFuKCRyYXRpb3MpO1xuICB9XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAkdHJhbnNsYXRlICogMSU7XG59XG5cbi8qKlxuICogUmVzZXQgYW4gZWxlbWVudCB0aGF0IGhhcyBoYWQgc2hpZnQoKSBhcHBsaWVkIHRvIGl0LlxuICovXG5AbWl4aW4gdW5zaGlmdCgpIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbGVmdDogMDtcbn1cblxuLyoqXG4gKiBWaWV3IHRoZSBncmlkIGFuZCBpdHMgbGF5ZXJzIGZvciBlYXN5IGRlYnVnZ2luZy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbJGNvbG9yPWJsYWNrXSAtIFRoZSBiYWNrZ3JvdW5kIHRpbnQgYXBwbGllZC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gWyRpbXBvcnRhbnQ9ZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgc3R5bGUgYXMgIWltcG9ydGFudC5cbiAqL1xuQG1peGluIGVkaXQoJGNvbG9yOiBibGFjaywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGlmICRpbXBvcnRhbnQge1xuICAgICoge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsIC4wNSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICoge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsIC4wNSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogIEFsaWFzIGZvciBlZGl0KCkuXG4gKi9cbkBtaXhpbiBkZWJ1ZygpIHtcbiAgQGluY2x1ZGUgZWRpdDtcbn1cblxuLyoqXG4gKiBIb3Jpem9udGFsbHkgY2VudGVyIGFuIGVsZW1lbnQuXG4gKiBAcGFyYW0ge251bWJlcn0gWyRtYXgtd2lkdGg9MTQxMHB4XSAtIFRoZSBtYXggd2lkdGggdGhlIGVsZW1lbnQgY2FuIGJlLlxuICogQHBhcmFtIHtudW1iZXJ9IFskcGFkPTBdIC0gU3BlY2lmeSB0aGUgZWxlbWVudCdzIGxlZnQgYW5kIHJpZ2h0IHBhZGRpbmcuXG4gKi9cbkBtaXhpbiBjZW50ZXIoJG1heC13aWR0aDogJGplZXQtbWF4LXdpZHRoLCAkcGFkOiAwKSB7XG4gIEBpbmNsdWRlIGNmO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjoge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6ICBhdXRvO1xuICB9O1xuICBwYWRkaW5nOiB7XG4gICAgbGVmdDogICRwYWQ7XG4gICAgcmlnaHQ6ICRwYWQ7XG4gIH07XG59XG5cbi8qKlxuICogVW5jZW50ZXIgYW4gZWxlbWVudC5cbiAqL1xuQG1peGluIHVuY2VudGVyKCkge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLyoqXG4gKiBTdGFjayBhbiBlbGVtZW50IHNvIHRoYXQgbm90aGluZyBpcyBlaXRoZXIgc2lkZSBvZiBpdC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbJHBhZD0wXSAtIFNwZWNpZnkgdGhlIGVsZW1lbnQncyBsZWZ0IGFuZCByaWdodCBwYWRkaW5nLlxuICogQHBhcmFtIHtib29sZWFuL3N0cmluZ30gWyRhbGlnbj1mYWxzZV0gLSBTcGVjaWZ5IHRoZSB0ZXh0IGFsaWduIGZvciB0aGUgZWxlbWVudC5cbiAqL1xuQG1peGluIHN0YWNrKCRwYWQ6IDAsICRhbGlnbjogZmFsc2UpIHtcbiAgJHNpZGU6IGplZXQtZ2V0LWxheW91dC1kaXJlY3Rpb24oKTtcbiAgJG9wcG9zaXRlLXNpZGU6IGplZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRzaWRlKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiB7XG4gICAgbGVmdDogIGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gIH07XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLSN7JHNpZGV9OiBhdXRvO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tI3skb3Bwb3NpdGUtc2lkZX06IGF1dG87XG4gIH1cblxuICBAaWYgJHBhZCAhPSAwIHtcbiAgICBwYWRkaW5nOiB7XG4gICAgICBsZWZ0OiAgJHBhZDtcbiAgICAgIHJpZ2h0OiAkcGFkO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGFsaWduIGlzIG5vdCBmYWxzZSkge1xuICAgIEBpZiBpbmRleChcImNlbnRlclwiIFwiY1wiLCAkYWxpZ24pIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9IEBlbHNlIGlmIGluZGV4KFwibGVmdFwiIFwibFwiLCAkYWxpZ24pIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfSBAZWxzZSBpZiBpbmRleChcInJpZ2h0XCIgXCJyXCIsICRhbGlnbikge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVW5zdGFjayBhbiBlbGVtZW50LlxuICovXG5AbWl4aW4gdW5zdGFjaygpIHtcbiAgJHNpZGU6IGplZXQtZ2V0LWxheW91dC1kaXJlY3Rpb24oKTtcbiAgJG9wcG9zaXRlLXNpZGU6IGplZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRzaWRlKTtcblxuICB0ZXh0LWFsaWduOiAkc2lkZTtcbiAgZGlzcGxheTogaW5saW5lO1xuICBjbGVhcjogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjoge1xuICAgIGxlZnQ6ICAwO1xuICAgIHJpZ2h0OiAwO1xuICB9O1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi0jeyRzaWRlfTogMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLSN7amVldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJHNpZGUpfTogMDtcbiAgfVxufVxuXG4vKipcbiAqIENlbnRlciBhbiBlbGVtZW50IG9uIGVpdGhlciBvciBib3RoIGF4ZXMuXG4gKiBAcmVxdWlyZXMgQSBwYXJlbnQgY29udGFpbmVyIHdpdGggcmVsYXRpdmUgcG9zaXRpb25pbmcuXG4gKiBAcGFyYW0ge3N0cmluZ30gWyRkaXJlY3Rpb249Ym90aF0gLSBTcGVjaWZ5IHdoaWNoIGF4ZXMgdG8gY2VudGVyIHRoZSBlbGVtZW50IG9uLlxuICovXG5AbWl4aW4gYWxpZ24oJGRpcmVjdGlvbjogYm90aCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG5cbiAgQGlmIGluZGV4KFwiaG9yaXpvbnRhbFwiIFwiaFwiLCAkZGlyZWN0aW9uKSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfSBAZWxzZSBpZiBpbmRleChcInZlcnRpY2FsXCIgXCJ2XCIsICRkaXJlY3Rpb24pIHtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH0gQGVsc2Uge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgfVxufVxuXG4vKipcbiAqIEFwcGx5IGEgY2xlYXJmaXggdG8gYW4gZWxlbWVudC5cbiAqL1xuQG1peGluIGNmKCkge1xuICAqem9vbTogMTtcblxuICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiaHRtbCwgYm9keXtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gZml4IGZvciByZWFjdC1mYXN0Y2xpY2sgXG59XG5cbi8vIHJlc3BvbnNpdmUgaW1hZ2VzXG5pbWd7ZGlzcGxheTogYmxvY2s7IG1heC13aWR0aDogMTAwJTt9XG5cbi8vIHRlbXBvcmFyeSBnZXQgcmlkIG9mIGRlZmF1bHQgbWFyZ2lucyBvbiBzaGl0LCB0aGF0J3MganVzdCBhbm5veWluZ1xuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcHttYXJnaW46IDA7fVxudWwsIG9se2xpc3Qtc3R5bGU6IG5vbmU7IHBhZGRpbmc6IDA7IG1hcmdpbjogMDt9XG5cbi8vIEB0b2RvIGVhY2ggc2l0ZSBuZWVkcyB0byByZWRlZmluZSB0aGlzIGlmIGFjY2Vzc2liaWxpdHkgaXMgb2YgY29uY2VyblxuKjpmb2N1c3tvdXRsaW5lOiAwO30iLCJodG1se1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qLCAqOmJlZm9yZSwgKjphZnRlcntcblx0Ym94LXNpemluZzogaW5oZXJpdDtcbn0iLCIvKipcbiogcGxlYXNlcmVzcG9uZCBkZXBlbmRzIG9uIGplZXQsIGJyZWFrcG9pbnRcbiogQHRvZG8gc3RhbmRhbG9uZSBib3dlciBwYWNrYWdlLCBhbmQgYWRkIHRvIGluZnVzZWQgYm93ZXIgcGFja2FnZSBhcyBkZXBlbmRlbmN5XG4qL1xuXG4kd3JhcC13aWR0aDogOTUlIWRlZmF1bHQ7XG4kd3JhcC1tYXgtd2lkdGg6IDEyMDBweCFkZWZhdWx0O1xuXG4kd3JhcC13aWRlLXdpZHRoOiA5NyUhZGVmYXVsdDtcblxuJG1vYmlsZTogMHB4IWRlZmF1bHQ7XG4kcGhhYmxldDogNTUwcHghZGVmYXVsdDtcbiR0YWJsZXQ6IDc1MHB4IWRlZmF1bHQ7XG4kbGFwdG9wOiAxMjAwcHghZGVmYXVsdDtcbiRkZXNrdG9wOiAxNjAwcHghZGVmYXVsdDtcblxuaHRtbHtcblx0Zm9udC1zaXplOiA2Mi41JTtcbn1cblxuLy8gdXNhZ2U6IC53cmFwe0BleHRlbmQgJXdpZGU7fVxuJXdpZGV7XG5cdHdpZHRoOiAkd3JhcC13aWRlLXdpZHRoOyBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi53cmFwe1xuXHRAaW5jbHVkZSBzZWxmY2xlYXIoKTtcblx0XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6ICR3cmFwLXdpZHRoOyBtYXgtd2lkdGg6ICR3cmFwLW1heC13aWR0aDtcblx0bWFyZ2luOiAwIGF1dG87XG59IiwiQG1peGluIGJsb2NraWZ5KCl7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXNpemU6IDBweDsgdGV4dC1pbmRlbnQ6IC05OTk5cHg7IGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gbWFzaygpe1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDsgbGVmdDogMDtcbn1cblxuQG1peGluIHNlbGZjbGVhcigpe1xuXHQmOjphZnRlcntcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdGNsZWFyOiBib3RoO1x0XG5cdH1cbn0iLCIvKiBvcGVuLXNhbnMtMzAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgc3JjOiBsb2NhbCgnT3BlbiBTYW5zIExpZ2h0JyksIGxvY2FsKCdPcGVuU2Fucy1MaWdodCcpLFxuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3Blbi1zYW5zLXYxMy1sYXRpbi0zMDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIENocm9tZSAyNissIE9wZXJhIDIzKyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3Blbi1zYW5zLXYxMy1sYXRpbi0zMDAud29mZicpIGZvcm1hdCgnd29mZicpOyAvKiBDaHJvbWUgNissIEZpcmVmb3ggMy42KywgSUUgOSssIFNhZmFyaSA1LjErICovXG59XG4vKiBvcGVuLXNhbnMtMzAwaXRhbGljIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgc3JjOiBsb2NhbCgnT3BlbiBTYW5zIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnT3BlblNhbnNMaWdodC1JdGFsaWMnKSxcbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW4tc2Fucy12MTMtbGF0aW4tMzAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBDaHJvbWUgMjYrLCBPcGVyYSAyMysgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW4tc2Fucy12MTMtbGF0aW4tMzAwaXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTsgLyogQ2hyb21lIDYrLCBGaXJlZm94IDMuNissIElFIDkrLCBTYWZhcmkgNS4xKyAqL1xufVxuLyogb3Blbi1zYW5zLXJlZ3VsYXIgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IGxvY2FsKCdPcGVuIFNhbnMnKSwgbG9jYWwoJ09wZW5TYW5zJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuLXNhbnMtdjEzLWxhdGluLXJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIENocm9tZSAyNissIE9wZXJhIDIzKyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3Blbi1zYW5zLXYxMy1sYXRpbi1yZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTsgLyogQ2hyb21lIDYrLCBGaXJlZm94IDMuNissIElFIDkrLCBTYWZhcmkgNS4xKyAqL1xufVxuLyogb3Blbi1zYW5zLWl0YWxpYyAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogbG9jYWwoJ09wZW4gU2FucyBJdGFsaWMnKSwgbG9jYWwoJ09wZW5TYW5zLUl0YWxpYycpLFxuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3Blbi1zYW5zLXYxMy1sYXRpbi1pdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIENocm9tZSAyNissIE9wZXJhIDIzKyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3Blbi1zYW5zLXYxMy1sYXRpbi1pdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpOyAvKiBDaHJvbWUgNissIEZpcmVmb3ggMy42KywgSUUgOSssIFNhZmFyaSA1LjErICovXG59XG4vKiBvcGVuLXNhbnMtNjAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgc3JjOiBsb2NhbCgnT3BlbiBTYW5zIFNlbWlib2xkJyksIGxvY2FsKCdPcGVuU2Fucy1TZW1pYm9sZCcpLFxuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3Blbi1zYW5zLXYxMy1sYXRpbi02MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIENocm9tZSAyNissIE9wZXJhIDIzKyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3Blbi1zYW5zLXYxMy1sYXRpbi02MDAud29mZicpIGZvcm1hdCgnd29mZicpOyAvKiBDaHJvbWUgNissIEZpcmVmb3ggMy42KywgSUUgOSssIFNhZmFyaSA1LjErICovXG59XG4vKiBvcGVuLXNhbnMtNjAwaXRhbGljIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgc3JjOiBsb2NhbCgnT3BlbiBTYW5zIFNlbWlib2xkIEl0YWxpYycpLCBsb2NhbCgnT3BlblNhbnMtU2VtaWJvbGRJdGFsaWMnKSxcbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW4tc2Fucy12MTMtbGF0aW4tNjAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBDaHJvbWUgMjYrLCBPcGVyYSAyMysgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW4tc2Fucy12MTMtbGF0aW4tNjAwaXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTsgLyogQ2hyb21lIDYrLCBGaXJlZm94IDMuNissIElFIDkrLCBTYWZhcmkgNS4xKyAqL1xufVxuLyogb3Blbi1zYW5zLTcwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogbG9jYWwoJ09wZW4gU2FucyBCb2xkJyksIGxvY2FsKCdPcGVuU2Fucy1Cb2xkJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuLXNhbnMtdjEzLWxhdGluLTcwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogQ2hyb21lIDI2KywgT3BlcmEgMjMrICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuLXNhbnMtdjEzLWxhdGluLTcwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7IC8qIENocm9tZSA2KywgRmlyZWZveCAzLjYrLCBJRSA5KywgU2FmYXJpIDUuMSsgKi9cbn1cbi8qIG9wZW4tc2Fucy03MDBpdGFsaWMgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IGxvY2FsKCdPcGVuIFNhbnMgQm9sZCBJdGFsaWMnKSwgbG9jYWwoJ09wZW5TYW5zLUJvbGRJdGFsaWMnKSxcbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW4tc2Fucy12MTMtbGF0aW4tNzAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBDaHJvbWUgMjYrLCBPcGVyYSAyMysgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW4tc2Fucy12MTMtbGF0aW4tNzAwaXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTsgLyogQ2hyb21lIDYrLCBGaXJlZm94IDMuNissIElFIDkrLCBTYWZhcmkgNS4xKyAqL1xufSIsIi5QYWdpbmF0aW9ue1xuXHRAaW5jbHVkZSBzZWxmY2xlYXIoKTtcblxuXHRib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdC5sZWZ0e1xuXHRcdEBpbmNsdWRlIHNwYW4oMi81KTtcblxuXHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZmY7XG5cdFx0cGFkZGluZzogMWVtIDA7XG5cblx0XHRhe1xuXHRcdFx0Y29sb3I6ICRyZWQ7IGZvbnQtd2VpZ2h0OiA2MDA7IHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQucmlnaHR7XG5cdFx0QGluY2x1ZGUgc3BhbigzLzUpO1xuXG5cdFx0cGFkZGluZzogMWVtIDA7XG5cblx0XHQucGFnaW5hdGlvbntcblxuXHRcdFx0bGl7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0Y29sb3I6ICRyZWQ7XG5cdFx0XHRcdG1hcmdpbjogMCAwLjVlbTtcblxuXHRcdFx0XHRhe1xuXHRcdFx0XHRcdGNvbG9yOiAkcmVkOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLnByZXZpb3VzLFxuXHRcdFx0XHQmLm5leHR7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYuZGlzYWJsZWR7XG5cdFx0XHRcdFx0b3BhY2l0eTogMC40O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5jdXJyZW50e1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRGVmYXVsdCBWYXJpYWJsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJEJyZWFrcG9pbnQtU2V0dGluZ3M6IChcbiAgJ2RlZmF1bHQgbWVkaWEnOiBhbGwsXG4gICdkZWZhdWx0IGZlYXR1cmUnOiBtaW4td2lkdGgsXG4gICdkZWZhdWx0IHBhaXInOiB3aWR0aCxcblxuICAnZm9yY2UgYWxsIG1lZGlhIHR5cGUnOiBmYWxzZSxcbiAgJ3RvIGVtcyc6IGZhbHNlLFxuICAndHJhbnNmb3JtIHJlc29sdXRpb25zJzogdHJ1ZSxcblxuICAnbm8gcXVlcmllcyc6IGZhbHNlLFxuICAnbm8gcXVlcnkgZmFsbGJhY2tzJzogZmFsc2UsXG5cbiAgJ2Jhc2UgZm9udCBzaXplJzogMTZweCxcblxuICAnbGVnYWN5IHN5bnRheCc6IGZhbHNlXG4pO1xuXG4kYnJlYWtwb2ludDogKCkgIWRlZmF1bHQ7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwiYnJlYWtwb2ludC9zZXR0aW5nc1wiO1xuQGltcG9ydCAnYnJlYWtwb2ludC9jb250ZXh0JztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvaGVscGVycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L3BhcnNlcnMnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9uby1xdWVyeSc7XG5cbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcmVzcG9uZC10byc7XG5cbkBpbXBvcnQgXCJicmVha3BvaW50L2xlZ2FjeS1zZXR0aW5nc1wiO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJyZWFrcG9pbnQgTWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gYnJlYWtwb2ludCgkcXVlcnksICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgbGVnYWN5LXNldHRpbmdzLXdhcm5pbmc7XG5cbiAgLy8gUmVzZXQgY29udGV4dHNcbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG5cbiAgJGJyZWFrcG9pbnQ6IGJyZWFrcG9pbnQoJHF1ZXJ5LCBmYWxzZSk7XG5cbiAgJHF1ZXJ5LXN0cmluZzogbWFwLWdldCgkYnJlYWtwb2ludCwgJ3F1ZXJ5Jyk7XG4gICRxdWVyeS1mYWxsYmFjazogbWFwLWdldCgkYnJlYWtwb2ludCwgJ2ZhbGxiYWNrJyk7XG5cbiAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLWdldCgkYnJlYWtwb2ludCwgJ2NvbnRleHQgaG9sZGVyJykgIWdsb2JhbDtcbiAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogbWFwLWdldCgkYnJlYWtwb2ludCwgJ3F1ZXJ5IGNvdW50JykgIWdsb2JhbDtcblxuICAvLyBBbGxvdyBmb3IgYW4gYXMtbmVlZGVkIG92ZXJyaWRlIG9yIHVzYWdlIG9mIG5vIHF1ZXJ5IGZhbGxiYWNrLlxuICBAaWYgJG5vLXF1ZXJ5ICE9IGZhbHNlIHtcbiAgICAkcXVlcnktZmFsbGJhY2s6ICRuby1xdWVyeTtcbiAgfVxuXG4gIEBpZiAkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2Uge1xuICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCduby1xdWVyeScsICRxdWVyeS1mYWxsYmFjayk7XG4gIH1cblxuICAvLyBQcmludCBPdXQgUXVlcnkgU3RyaW5nXG4gIEBpZiBub3QgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSB7XG4gICAgQG1lZGlhICN7JHF1ZXJ5LXN0cmluZ30ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSAhPSBmYWxzZSBvciBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpID09IHRydWUge1xuXG4gICAgJHR5cGU6IHR5cGUtb2YoYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpKTtcbiAgICAkcHJpbnQ6IGZhbHNlO1xuXG4gICAgQGlmICgkdHlwZSA9PSAnYm9vbCcpIHtcbiAgICAgICRwcmludDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKCR0eXBlID09ICdzdHJpbmcnKSB7XG4gICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgICAgICRwcmludDogdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgKCR0eXBlID09ICdsaXN0Jykge1xuICAgICAgQGVhY2ggJHdyYXBwZXIgaW4gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayA9PSAkd3JhcHBlciB7XG4gICAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gV3JpdGUgRmFsbGJhY2tcbiAgICBAaWYgKCRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSkgYW5kICgkcHJpbnQgPT0gdHJ1ZSkge1xuICAgICAgJHR5cGUtZmFsbGJhY2s6IHR5cGUtb2YoJHF1ZXJ5LWZhbGxiYWNrKTtcblxuICAgICAgQGlmICgkdHlwZS1mYWxsYmFjayAhPSAnYm9vbCcpIHtcbiAgICAgICAgI3skcXVlcnktZmFsbGJhY2t9ICYge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cygpO1xufVxuXG5cbkBtaXhpbiBtcSgkcXVlcnksICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkcXVlcnksICRuby1xdWVyeSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBzZWFyY2gvZmlsdGVyIGZvcm0gYWN0aW9uc1xuLlNlYXJjaCAuYWN0aW9ucyxcbi5GaWx0ZXIgLmFjdGlvbnN7XG5cdCRwYWRkaW5nOiAwLjg1ZW0gMS4xZW0gMC44ZW07XG5cdCRzcGFjaW5nOiA2cHg7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHR9XG5cblx0PiAqIHtcblx0XHRAZXh0ZW5kICVob3ZlcjtcblxuXHRcdGJvcmRlcjogMCBub25lO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC13ZWlnaHQ6IDYwMDtcblx0XHRwYWRkaW5nOiAkcGFkZGluZztcblx0fVxuXG5cdC5zZWFyY2h7XG5cdFx0YmFja2dyb3VuZDogJHJlZDtcblx0XHRjb2xvcjogI2ZmZjtcblx0XHRtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLzI7XG5cdFx0fVxuXG5cdFx0Ji5mYWRlZHtcblx0XHRcdG9wYWNpdHk6IDAuMTtcblx0XHR9XG5cdH1cblxuXHQudmlld0FsbHtcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdGNvbG9yOiAkcmVkOyBmb250LXN0eWxlOiBpdGFsaWM7XG5cdH1cbn1cblxuLy8gdG9nZ2xlYWJsZSBtb2JpbGUgbW9kYWxcbi5WaWV3cG9ydCA+IC5TZWFyY2h7XG5cdEBpbmNsdWRlIG1hc2soKTtcblxuXHR0b3A6IDYycHg7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0YmFja2dyb3VuZDogIzk4OTg5ODtcblx0cGFkZGluZzogMDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0b3BhY2l0eTogMDtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG5cblx0Ji5vcGVue1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXG5cdC53cmFwe1xuXHRcdGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGhlaWdodDogMTAwJTtcblxuXHRcdC5TZWFyY2hGb3Jte1xuXHRcdFx0ZmxleDogMTtcblxuXHRcdFx0Zm9udC1zaXplOiAxZW07XG5cdFx0XHR3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA1MDBweDtcblxuXHRcdFx0Ly8gSUUxMCwgSUUxMVxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcblx0XHRcdFx0bWF4LXdpZHRoOiBub25lOyAvLyBvdGhlcndpc2UgaXRzIG9mZiBjZW50ZXJcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtaW4taGVpZ2h0IDMwMHB4KSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMC45ZW07XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWluLWhlaWdodCAzMjVweCkge1xuXHRcdFx0XHRmb250LXNpemU6IDFlbTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtaW4taGVpZ2h0IDM1MHB4KSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS4xZW07XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWluLWhlaWdodCAzNzVweCkge1xuXHRcdFx0XHRmb250LXNpemU6IDEuMmVtO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1pbi1oZWlnaHQgNDAwcHgpIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjNlbTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtaW4taGVpZ2h0IDQ1MHB4KSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS40ZW07XG5cdFx0XHR9XG5cblx0XHRcdC5hY3Rpb25ze1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXG5cblx0XHRcdFx0PiAqIHtcblx0XHRcdFx0XHRmbGV4OiAxO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vXG4uU2VhcmNoe1xuXHRiYWNrZ3JvdW5kOiAjOWM5YzljO1xuXHRmb250LXNpemU6IDEuM2VtO1xuXHRwYWRkaW5nOiAwLjdlbSAwO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblxuXHQud3JhcHtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0d2lkdGg6ICR3cmFwLXdpZGUtbWF4LXdpZHRoOyBtYXgtd2lkdGg6IDE0MDBweDtcblx0XHR9XG5cblx0XHQuU2VhcmNoRm9ybXtcblx0XHRcdCRwYWRkaW5nOiAwLjg1ZW0gMS4xZW0gMC44ZW07XG5cdFx0XHQkc3BhY2luZzogNnB4O1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvd3M7XG5cdFx0XHR9XG5cblx0XHRcdC5mYXZvdXJpdGVze1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93cztcblxuXHRcdFx0XHQvLyBJRTEwLCBJRTExXG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7IC8vIG90aGVyd2lzZSB0aGV5IGdldCBubyB3aWR0aFxuXHRcdFx0XHR9XG5cblx0XHRcdFx0PiAqIHtcblx0XHRcdFx0XHRAZXh0ZW5kICVob3ZlcjtcblxuXHRcdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0cGFkZGluZzogJHBhZGRpbmc7IG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHRcdFx0XHQvLyBJRTEwLCBJRTExXG5cdFx0XHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIG90aGVyd2lzZSB0aGV5IGdldCBubyB3aWR0aFxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwOyBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLzI7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0PiBzcGFue1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAwLjllbTsgY29sb3I6ICRyZWQ7IHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0XHRcdFx0XHRcdC5pY29ue1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDAuOWVtO1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIGlmIGJvdGggYnV0dG9ucyBwcmVzZW50XG5cdFx0XHRcdGRpdiArIGRpdntcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogJHNwYWNpbmc7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5TaG93RmF2b3VyaXRlc3tcblxuXHRcdFx0XHRcdCYuYWN0aXZle1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJHJlZDtcblxuXHRcdFx0XHRcdFx0c3Bhbntjb2xvcjogI2ZmZjt9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LlNlYXJjaGVze1xuXHRcdFx0XHRcdEBleHRlbmQgJWxheWVyO1xuXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1pbi1vdXQ7XG5cdFx0XHRcdFx0ei1pbmRleDogMjA7XG5cblx0XHRcdFx0XHQmOmhvdmVye1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMSFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LmRyb3Bkb3due1xuXHRcdFx0XHRcdFx0JGR1cmF0aW9uOiAwLjE1cztcblxuXHRcdFx0XHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwMCU7IGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkcmVkO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyAkZHVyYXRpb24sIG9wYWNpdHkgJGR1cmF0aW9uIGVhc2UtaW4tb3V0O1xuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDIwMCU7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdGxpe1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMC45ZW07IGNvbG9yOiAjZmZmOyB0ZXh0LWFsaWduOiBsZWZ0OyBmb250LXdlaWdodDogNjAwO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAxZW07XG5cblx0XHRcdFx0XHRcdFx0Lmljb257XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYWxpZ24oKTtcblxuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6IGF1dG87IHJpZ2h0OiAwLjVlbTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmLm9wZW57XG5cdFx0XHRcdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2UtaW4tb3V0O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuZm9ybXtcblx0XHRcdFx0QGV4dGVuZCAlbGF5ZXI7XG5cblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLWluLW91dDtcblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdFx0XHRmbGV4OiAxO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvd3M7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQ+ICoge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHRcdFx0XHRmbGV4OiAxO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwICRzcGFjaW5nLzIgMCAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5JbnB1dHtcblx0XHRcdFx0XHRAZXh0ZW5kICVsYXllcjtcblxuXHRcdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cblx0XHRcdFx0XHQuaWNvbntcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IHJpZ2h0OiAwLjY4ZW07XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDEuMmVtO1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogLTAuNWVtO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGlucHV0e1xuXHRcdFx0XHRcdFx0Ym9yZGVyOiAwIG5vbmU7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogaW5oZXJpdDtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogJHBhZGRpbmc7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LlNlbGVjdHtcblx0XHRcdFx0XHRAZXh0ZW5kICVsYXllcjtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIHJlYWN0LXNlbGVjdCgkcGFkZGluZyk7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdFx0XHRcdC8vIElFMTAsIElFMTFcblx0XHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRmbGV4OiAxO1xuXG5cdFx0XHRcdFx0Ji5pcy1kaXNhYmxlZHtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLmZhZGVke1xuXHRcdFx0XHRcdG9wYWNpdHk6IDAuMjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uRmlsdGVye1xuXHRAaW5jbHVkZSBzZWxmY2xlYXIoKTtcblxuXHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODIpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI0UwREFEQTtcblx0Zm9udC1zaXplOiAxLjRlbTtcblx0cGFkZGluZzogMC43ZW0gMDtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0YmFja2dyb3VuZDogI0UzRUJFRDtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcblx0XHRmb250LXNpemU6IDEuMmVtO1xuXHR9XG5cblx0LndyYXB7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdHdpZHRoOiAkd3JhcC13aWRlLW1heC13aWR0aDsgbWF4LXdpZHRoOiAxNDAwcHg7XG5cdFx0fVxuXG5cdFx0LnRvZ2dsZXtcblx0XHRcdEBleHRlbmQgJWhvdmVyO1xuXG5cdFx0XHRmb250LXNpemU6IDEuMWVtOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRwYWRkaW5nOiAwLjJlbSAwIDAuMWVtO1xuXHRcdH1cblxuXHRcdC5GaWx0ZXJGb3Jte1xuXHRcdFx0JHBhZGRpbmc6IDAuOGVtIDEuMWVtO1xuXHRcdFx0JHNwYWNpbmc6IDZweDtcblxuXHRcdFx0LmZvcm17XG5cdFx0XHRcdG1heC13aWR0aDogNTAwcHg7XG5cdFx0XHRcdHBhZGRpbmc6IDJlbSAwIDFlbTsgbWFyZ2luOiAwIGF1dG87XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdD4gKiB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDAgJHNwYWNpbmcvMiAwIDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LlNlbGVjdHtcblx0XHRcdFx0XHRAaW5jbHVkZSByZWFjdC1zZWxlY3QoJHBhZGRpbmcpO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHRcdFx0XHQvLyBJRTEwLCBJRTExXG5cdFx0XHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LlByaWNlRmllbGR7XG5cdFx0XHRcdFx0ZmxleDogMS4yO1xuXHRcdFx0XHRcdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0XHRcdFx0XHRtYXJnaW46IDEuNWVtIDAgMWVtO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDAgMCAwIDAuOGVtO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5zbGlkZXJ7XG5cdFx0XHRcdFx0XHQkc2l6ZTogMThweDtcblxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAkc2l6ZTtcblxuXHRcdFx0XHRcdFx0LmJhcntcblx0XHRcdFx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMnB4O1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAtMXB4O1xuXG5cdFx0XHRcdFx0XHRcdCYuYmFyLTF7XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJHJlZDtcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdCYuYmFyLTJ7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkcmVkOyAvLyBmaXggZm9yIHNsaWdodCBhbnRpIGFsaWFzaW5nIGlzc3VlXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0LmhhbmRsZXtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJHJlZDtcblx0XHRcdFx0XHRcdFx0d2lkdGg6ICRzaXplOyBoZWlnaHQ6ICRzaXplO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAkc2l6ZTtcblx0XHRcdFx0XHRcdFx0Y3Vyc29yOiBncmFiO1xuXG5cdFx0XHRcdFx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAycHg7IHJpZ2h0OiAycHg7IGJvdHRvbTogMnB4OyBsZWZ0OiAycHg7XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogIzljOWM5Yztcblx0XHRcdFx0XHRcdFx0XHRib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6ICRzaXplO1xuXHRcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LnByaWNle3RleHQtYWxpZ246IGNlbnRlcjt9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuYWN0aW9uc3tcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAyLjVlbTtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIkBtaXhpbiByZWFjdC1zZWxlY3QoJHBhZGRpbmc6IDAuNzVlbSAxLjFlbSAwLjdlbSkge1xuXHRAZXh0ZW5kICVsYXllcjtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG5cblx0Ly8gSUUxMCwgSUUxMVxuXHRAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuXHRcdGhlaWdodDogMi42ZW07XG5cdH1cblxuXHQuU2VsZWN0LWNvbnRyb2x7XG5cdFx0QGV4dGVuZCAlbGF5ZXI7XG5cblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXg6IDE7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyOiAwIG5vbmU7IGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRib3gtc2hhZG93OiBub25lIWltcG9ydGFudDtcblxuXHRcdC5TZWxlY3QtcGxhY2Vob2xkZXIsXG5cdFx0LlNlbGVjdC12YWx1ZXtcblx0XHRcdEBleHRlbmQgJWxheWVyO1xuXG5cdFx0XHRmbGV4OiAxO1xuXHRcdFx0Y29sb3I6ICMyYzJjMmM7IGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuXHRcdFx0cGFkZGluZzogJHBhZGRpbmc7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiA0ZW07XG5cdFx0fVxuXG5cdFx0LlNlbGVjdC1pbnB1dHtcblx0XHRcdGZsZXg6IDE7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdHBhZGRpbmc6ICRwYWRkaW5nO1xuXHRcdH1cblxuXHRcdC5TZWxlY3QtYXJyb3ctem9uZSxcblx0XHQuU2VsZWN0LWNsZWFyLXpvbmV7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdH1cblxuXHRcdC5TZWxlY3QtYXJyb3ctem9uZXtcblx0XHRcdHdpZHRoOiAxZW07XG5cdFx0XHRwYWRkaW5nOiAwOyBtYXJnaW4tcmlnaHQ6IDFlbTtcblxuXHRcdFx0LlNlbGVjdC1hcnJvd3tcblx0XHRcdFx0YmFja2dyb3VuZDogdXJsKCcvdGhlbWVzL294eWdlbi9pbWFnZXMvZG93bi1jaGV2cm9uLXRoaW4ucG5nJykgNTAlIDUwJSBuby1yZXBlYXQ7XG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTAwJTtcblx0XHRcdFx0Ym9yZGVyOiAwIG5vbmU7XG5cdFx0XHRcdHdpZHRoOiAxZW07IGhlaWdodDogMWVtO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5TZWxlY3QtY2xlYXItem9uZXtcblx0XHRcdHdpZHRoOiAxLjI1ZW07XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuXG5cdFx0XHQuU2VsZWN0LWNsZWFye1xuXHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LlNlbGVjdC1tZW51LW91dGVye1xuXHRcdGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblxuXHRcdC5TZWxlY3Qtb3B0aW9ue1xuXHRcdFx0Zm9udC1zaXplOiAwLjllbTtcblx0XHRcdHBhZGRpbmc6ICRwYWRkaW5nO1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1vdXQtb3V0O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblxuXHRcdFx0Ji5pcy1mb2N1c2Vke1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuXHRcdFx0XHRjb2xvcjogIzAwMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBoYWNrIGZvciBub3QgZGlzcGxheWluZyBtdWx0aXBsZSBzZWxlY3Rpb25zIGFzIHBpbGxzLFxuXHQvLyBidXQgYXMgdGhlIGZpcnN0IHZhbHVlIHNlbGVjdGVkICsgYSBsYWJlbCBzdWdnZXN0aW5nIHRoZXJlIGFyZSBtb3JlIGl0ZW1zXG5cdCYuU2VsZWN0LS1tdWx0aXtcblxuXHRcdC5TZWxlY3QtaW5wdXR7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7IHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0fVxuXG5cdFx0LlNlbGVjdC1pdGVte1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRib3JkZXI6IDAgbm9uZTtcblx0XHRcdGZvbnQtc2l6ZTogMWVtOyBjb2xvcjogaW5oZXJpdDtcblx0XHRcdG1hcmdpbjogMDsgcGFkZGluZzogMDtcblxuXHRcdFx0LlNlbGVjdC1pdGVtLWljb257XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdC5TZWxlY3QtaXRlbS1sYWJlbHtcblx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG5cdFx0XHR9XG5cblx0XHRcdCY6Zmlyc3QtY2hpbGR7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0cGFkZGluZzogJHBhZGRpbmc7IHBhZGRpbmctcmlnaHQ6IDAuNGVtO1xuXHRcdFx0fVxuXG5cdFx0XHQmOm50aC1jaGlsZCgyKSB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0cGFkZGluZzogJHBhZGRpbmc7IHBhZGRpbmctbGVmdDogMDsgcGFkZGluZy1yaWdodDogMDtcblxuXHRcdFx0XHQuU2VsZWN0LWl0ZW0tbGFiZWx7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6YWZ0ZXJ7XG5cdFx0XHRcdFx0Y29udGVudDogJytNb3JlJztcblx0XHRcdFx0XHRjb2xvcjogIzk0OTQ5NDtcblx0XHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblxuXHQmLmlzLW9wZW57XG5cdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjg3KTtcblx0fVxuXG5cdCYuaXMtc2VhcmNoYWJsZXtcblx0XHQuU2VsZWN0LWlucHV0e1xuXHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0aW5wdXR7XG5cdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRmb250LXNpemU6IDFlbTtcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRwYWRkaW5nOiAkcGFkZGluZztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLmlzLWRpc2FibGVke1xuXHRcdC5TZWxlY3QtaW5wdXR7XG5cdFx0XHRwYWRkaW5nOiAkcGFkZGluZztcblx0XHR9XG5cdH1cbn1cbiIsIi8qIVxuICogaHR0cHM6Ly9naXRodWIuY29tL2FycWV4L3JlYWN0LWRhdGV0aW1lXG4gKi9cblxuLnJkdCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5yZHRQaWNrZXIge1xuXHRkaXNwbGF5OiBub25lO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAyNTBweDtcbiAgcGFkZGluZzogNHB4O1xuICBtYXJnaW4tdG9wOiAxcHg7XG4gIHotaW5kZXg6IDk5OTk5ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLC4xKTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Y5ZjlmOTtcbn1cbi5yZHRPcGVuIC5yZHRQaWNrZXIge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cbi5yZHRTdGF0aWMgLnJkdFBpY2tlciB7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbi5yZHRQaWNrZXIgLnJkdFRpbWVUb2dnbGUge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5yZHRQaWNrZXIgdGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuLnJkdFBpY2tlciB0ZCxcbi5yZHRQaWNrZXIgdGgge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGhlaWdodDogMjhweDtcbn1cbi5yZHRQaWNrZXIgdGQucmR0VG9kYXk6aG92ZXIsXG4ucmR0UGlja2VyIHRkLnJkdEhvdXI6aG92ZXIsXG4ucmR0UGlja2VyIHRkLnJkdE1pbnV0ZTpob3Zlcixcbi5yZHRQaWNrZXIgdGQucmR0U2Vjb25kOmhvdmVyLFxuLnJkdFBpY2tlciAucmR0VGltZVRvZ2dsZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlZWVlZWU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5yZHRQaWNrZXIgdGQucmR0T2xkLFxuLnJkdFBpY2tlciB0ZC5yZHROZXcge1xuICBjb2xvcjogIzk5OTk5OTtcbn1cbi5yZHRQaWNrZXIgdGQucmR0VG9kYXkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucmR0UGlja2VyIHRkLnJkdFRvZGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAjNDI4YmNhO1xuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA0cHg7XG4gIHJpZ2h0OiA0cHg7XG59XG4ucmR0UGlja2VyIHRkLnJkdEFjdGl2ZSxcbi5yZHRQaWNrZXIgdGQucmR0QWN0aXZlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyOGJjYTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuLnJkdFBpY2tlciB0ZC5yZHRBY3RpdmUucmR0VG9kYXk6YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbn1cbi5yZHRQaWNrZXIgdGQucmR0RGlzYWJsZWQsXG4ucmR0UGlja2VyIHRkLnJkdERpc2FibGVkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICM5OTk5OTk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5yZHRQaWNrZXIgdGQgc3Bhbi5yZHRPbGQge1xuICBjb2xvcjogIzk5OTk5OTtcbn1cbi5yZHRQaWNrZXIgdGQgc3Bhbi5yZHREaXNhYmxlZCxcbi5yZHRQaWNrZXIgdGQgc3Bhbi5yZHREaXNhYmxlZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAjOTk5OTk5O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLnJkdFBpY2tlciB0aCB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjlmOWY5O1xufVxuLnJkdFBpY2tlciAuZG93IHtcbiAgd2lkdGg6IDE0LjI4NTclO1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuLnJkdFBpY2tlciB0aC5yZHRTd2l0Y2gge1xuICB3aWR0aDogMTAwcHg7XG59XG4ucmR0UGlja2VyIHRoLnJkdE5leHQsXG4ucmR0UGlja2VyIHRoLnJkdFByZXYge1xuICBmb250LXNpemU6IDIxcHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4ucmR0UGlja2VyIHRoLnJkdERpc2FibGVkLFxuLnJkdFBpY2tlciB0aC5yZHREaXNhYmxlZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAjOTk5OTk5O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLnJkdFBpY2tlciB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5yZHRQaWNrZXIgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGg6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZWVlZWVlO1xufVxuXG4ucmR0UGlja2VyIHRmb290e1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgI2Y5ZjlmOTtcbn1cblxuLnJkdFBpY2tlciBidXR0b24ge1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cbi5yZHRQaWNrZXIgYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbn1cblxuLnJkdFBpY2tlciB0aGVhZCBidXR0b24ge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG50ZC5yZHRNb250aCxcbnRkLnJkdFllYXIge1xuXHRoZWlnaHQ6IDUwcHg7XG5cdHdpZHRoOiAyNSU7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cbnRkLnJkdE1vbnRoOmhvdmVyLFxudGQucmR0WWVhcjpob3ZlciB7XG5cdGJhY2tncm91bmQ6ICNlZWU7XG59XG5cbi5yZHRDb3VudGVycyB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnJkdENvdW50ZXJzID4gZGl2e1xuXHRmbG9hdDogbGVmdDtcbn1cblxuLnJkdENvdW50ZXIge1xuXHRoZWlnaHQ6IDEwMHB4O1xufVxuXG4ucmR0Q291bnRlciB7XG5cdHdpZHRoOiA0MHB4O1xufVxuXG4ucmR0Q291bnRlclNlcGFyYXRvciB7XG5cdGxpbmUtaGVpZ2h0OiAxMDBweDtcbn1cblxuLnJkdENvdW50ZXIgLnJkdEJ0biB7XG5cdGhlaWdodDogNDAlO1xuICBcdGxpbmUtaGVpZ2h0OiA0MHB4O1xuICBcdGN1cnNvcjogcG9pbnRlcjtcbn1cbi5yZHRDb3VudGVyIC5yZHRCdG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiAjZWVlO1xufVxuLnJkdENvdW50ZXIgLnJkdENvdW50IHtcblx0aGVpZ2h0OiAyMCU7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG59XG5cbi5yZHRNaWxsaSB7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHBhZGRpbmctbGVmdDogOHB4O1xuXHR3aWR0aDogNDhweDtcbn1cblxuLnJkdE1pbGxpIGlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG5cdG1hcmdpbi10b3A6IDM3cHg7XG59IiwiJG9wZW5zYW5zOiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcblxuc2VjdGlvbntcblx0cGFkZGluZzogMmVtIDA7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgxNTAwcHgpIHtcblx0XHRwYWRkaW5nOiA0ZW0gMDtcblx0fVxufVxuXG5zdHJvbmd7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi50eXBvZ3JhcGh5e1xuXHRmb250LXNpemU6IDEuNnJlbTsgY29sb3I6ICRibGFjazsgZm9udC13ZWlnaHQ6IDMwMDtcblxuXHRoMXtcblx0XHRtYXJnaW46IDAuNWVtIDA7XG5cdFx0Zm9udC1zaXplOiAxLjllbTsgZm9udC13ZWlnaHQ6IDcwMDsgbWFyZ2luLXRvcDogMDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0Zm9udC1zaXplOiAyLjVlbTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDAuMTVlbTtcblx0XHR9XG5cdH1cblxuXHRoMntcblx0XHRmb250LXNpemU6IDEuNTVlbTsgZm9udC13ZWlnaHQ6IDMwMDsgZm9udC1zdHlsZTogaXRhbGljOyB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0bWFyZ2luLXRvcDogMWVtOyBtYXJnaW4tYm90dG9tOiAxLjVlbTtcblx0fVxuXG5cdGgze1xuXHRcdGZvbnQtc2l6ZTogMS4zZW07IGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bWFyZ2luLXRvcDogMWVtOyBtYXJnaW4tYm90dG9tOiAwLjc1ZW07XG5cdH1cblxuXHRoNHtcblx0XHRmb250LXNpemU6IDEuMWVtOyBmb250LXdlaWdodDogNTAwO1xuXHRcdG1hcmdpbi10b3A6IDFlbTsgbWFyZ2luLWJvdHRvbTogMC43NWVtO1xuXHR9XG5cblx0cHtcblx0XHRtYXJnaW4tYm90dG9tOiAwLjc1ZW07XG5cdH1cblxuXHRvbHtcblx0XHRsaXN0LXN0eWxlOiBkZWNpbWFsIGluc2lkZTtcblx0fVxuXG5cdHVse1xuXHRcdGxpc3Qtc3R5bGU6IGRpc2MgaW5zaWRlO1xuXHR9XG5cblx0dWwsIG9se1xuXHRcdG1hcmdpbjogMS41ZW0gMDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHBoYWJsZXQpIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxZW07IG1hcmdpbi1yaWdodDogMWVtO1xuXHRcdH1cblxuXHRcdGxpe1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXHRcdH1cblx0fVxuXG5cdGJsb2NrcXVvdGV7XG5cdFx0Zm9udC1zaXplOiAxLjI1ZW07IHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRtYXJnaW46IDFlbSAwLjVlbTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyZW07IG1hcmdpbi1sZWZ0OiAyZW07XG5cdFx0fVxuXHR9XG5cblx0YXtcblx0XHRjb2xvcjogJHJlZDsgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW47XG5cblx0XHQmOmhvdmVye1xuXHRcdFx0Y29sb3I6IGxpZ2h0ZW4oJHJlZCwgMTAlKTtcblx0XHR9XG5cdH1cblxuXHRzdHJvbmd7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0fVxuXG5cdCYuc2VjdGlvbnN7XG5cdFx0cGFkZGluZzogMWVtIDA7XG5cblx0XHQvLyBNYWluIFRpdGxlXG5cdFx0PiAud3JhcCA+IGgxe1xuXHRcdFx0bWFyZ2luLXRvcDogMC41ZW07XG5cdFx0fVxuXHR9XG5cblx0LnNlY3Rpb257XG5cblx0XHQmLmltYWdlLFxuXHRcdCYudmlkZW97XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1hcmdpbjogMC43NWVtIGF1dG8gMS44NWVtO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdFx0d2lkdGg6ICR3cmFwLXdpZHRoO1xuXG5cdFx0XHRcdG1hcmdpbjogMWVtIGF1dG8gMmVtO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBpbWFnZVxuXHRcdFx0aW1ne1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHR9XG5cblx0XHRcdC8vIHZpZGVvXG5cdFx0XHRpZnJhbWV7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuYnV0dG9uc3tcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0bWFyZ2luOiAwIGF1dG8gMmVtO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDYwMHB4KSB7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHR9XG5cblx0XHRcdC5idXR0b257XG5cdFx0XHRcdEBleHRlbmQgJWxheWVyO1xuXHRcdFx0XHRAZXh0ZW5kICVob3ZlcjtcblxuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE5MywgMzIsIDM4LCAwLjE5KTtcblx0XHRcdFx0Y29sb3I6ICRyZWQ7IHRleHQtYWxpZ246IGNlbnRlcjsgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRwYWRkaW5nOiAwLjhlbSAwLjVlbTsgbWFyZ2luOiAwIC0xZW07XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDVweDtcblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDYwMHB4KSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2shaW1wb3J0YW50OyAvL2llMTEgZG9lc250IHdyYXAgdGhlIGxhYmVsIHByb3Blcmx5IGlmIHRoaXMgaXMgc3RpbGwgYSBmbGV4Ym94IGJ5IGluaGVyaXRhbmNlXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxLjJlbTtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMDsgbWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0KiB7XG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5pY29ue1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMS41ZW07XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwLjNlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLm9uZXtcblxuXHRcdFx0XHQuYnV0dG9ue1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoNjAwcHgpIHtcblx0XHRcdFx0XHRcdG1heC13aWR0aDogNjAlO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDYwJTsgLy9pZTExXG5cdFx0XHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji50d297XG5cblx0XHRcdFx0LmJ1dHRvbntcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDYwMHB4KSB7XG5cdFx0XHRcdFx0XHRmbGV4OiAxO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6Zmlyc3QtY2hpbGR7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwLjc1ZW07XG5cblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoNjAwcHgpIHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxZW0haW1wb3J0YW50OyBtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5pY29ue1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCg2MDBweCkge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jazsgbWFyZ2luLWJvdHRvbTogMC40ZW07XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCYudGhyZWV7XG5cblx0XHRcdFx0LmJ1dHRvbntcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwLjc1ZW07XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDYwMHB4KSB7XG5cdFx0XHRcdFx0XHRmbGV4OiAxO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOm50aC1jaGlsZCgyKXtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoNjAwcHgpIHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDFlbTsgbWFyZ2luLXJpZ2h0OiAxZW07XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Lmljb257XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDYwMHB4KSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tYm90dG9tOiAwLjRlbTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0JjpsYXN0LWNoaWxke1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAxZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBsYXllciBvcmRlclxuLlNlYXJjaHt6LWluZGV4OiAzO31cbi5OYXZ7ei1pbmRleDogNDt9XG4uVG9we3otaW5kZXg6IDU7fVxuLm1lbnVCdXR0b257ei1pbmRleDogNTt9XG4uTW9kYWx7ei1pbmRleDogNjt9XG4uQmFja1RvVG9we3otaW5kZXg6IDU7fVxuXG5odG1sLCBib2R5e1xuXHRmb250LWZhbWlseTogJG9wZW5zYW5zOyBjb2xvcjogJGJsYWNrOyBsaW5lLWhlaWdodDogMS4zOyBmb250LXdlaWdodDogMzAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbiNhcHB7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbiNhcHAsIC5Sb290LCAuVmlld3BvcnR7XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLlZpZXdwb3J0e1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cblx0Lk1vZGFse1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMDAlOyByaWdodDogMDsgYm90dG9tOiAwOyBsZWZ0OiAwO1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC45KTtcblx0XHRjb2xvcjogI2ZmZjtcblx0XHRwYWRkaW5nOiAyNXB4O1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG5cdFx0b3ZlcmZsb3cteTogYXV0bztcblxuXHRcdCYub3Blbntcblx0XHRcdHRvcDogMDtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXG5cdFx0Lmljb257XG5cdFx0XHRAZXh0ZW5kICVob3ZlcjtcblxuXHRcdFx0cG9zaXRpb246IGZpeGVkOyB0b3A6IDAuNzVlbTsgcmlnaHQ6IDEuMmVtO1xuXHRcdFx0Zm9udC1zaXplOiAzMnB4O1xuXHRcdFx0ei1pbmRleDogMjtcblx0XHR9XG5cblx0XHQud3JhcHtcblx0XHRcdEBleHRlbmQgJWxheWVyO1xuXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR6LWluZGV4OiAxO1xuXG5cdFx0XHQmLlByaXZhY3lQb2xpY3l7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS40ZW07IGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogMmVtO1xuXG5cdFx0XHRcdGgxe1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDAuNWVtO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwLjc1ZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji5HYWxsZXJ5e1xuXHRcdFx0XHRAaW5jbHVkZSBhbGlnbigpO1xuXG5cdFx0XHRcdHdpZHRoOiA4MDBweDtcblx0XHRcdFx0bWF4LXdpZHRoOiA3NSU7XG5cblx0XHRcdFx0LnNsaWNrLXNsaWRlcntcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0XHRcdFx0LnNsaWNrLXNsaWRle1xuXHRcdFx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRcdFx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IC8vIGZpeCBlZGdlcyBvZiBuZXh0IHNsaWRlIGNsaXBwaW5nIHRocm91Z2hcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jayFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5zbGljay1kb3Rze1xuXHRcdFx0XHRcdGJ1dHRvbjo6YmVmb3Jle2NvbG9yOiAjZmZmO31cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5sZWZ0LFxuXHRcdFx0XHQucmlnaHR7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYWxpZ24odmVydGljYWwpO1xuXG5cdFx0XHRcdFx0Jjo6YmVmb3Jle2ZvbnQtc2l6ZTogMzBweDt9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQubGVmdHtcblx0XHRcdFx0XHRsZWZ0OiAtNDBweDsgcmlnaHQ6IGF1dG87XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQucmlnaHR7XG5cdFx0XHRcdFx0bGVmdDogYXV0bzsgcmlnaHQ6IC00MHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LlRvcHtcblx0XHQkaGVpZ2h0OiA2MnB4O1xuXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHVzZXItc2VsZWN0OiBub25lO1xuXG5cdFx0Ji5uYXZPcGVue1xuXG5cdFx0XHQudG9we1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuXHRcdFx0XHQubG9nbywgLmZpbmQsIC51c2Vye3Zpc2liaWxpdHk6IGhpZGRlbjt9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnRvcG1vc3R7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjRTJFMkUyO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTkzLCAzMiwgMzgsIDAuMTIpO1xuXHRcdH1cblxuXHRcdC50b3B7XG5cdFx0XHRkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdGZvbnQtc2l6ZTogMS41ZW07IGxpbmUtaGVpZ2h0OiAkaGVpZ2h0O1xuXHRcdFx0aGVpZ2h0OiAkaGVpZ2h0O1xuXHRcdFx0b3ZlcmZsb3c6IHZpc2libGU7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgJHJlZDtcblx0XHRcdH1cblxuXHRcdFx0LmxvZ297XG5cdFx0XHRcdEBleHRlbmQgJWhvdmVyO1xuXG5cdFx0XHRcdGltZ3tcblxuXHRcdFx0XHRcdCYuc21hbGx7XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDMwcHg7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDE0cHggMTJweCAwO1xuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDQ1MHB4KSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ji5sYXJnZXtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDEzMHB4O1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAxNHB4IDE4cHggMDtcblxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCg0NTBweCkge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmZpbmR7XG5cdFx0XHRcdEBleHRlbmQgJWhvdmVyO1xuXHRcdFx0XHRAZXh0ZW5kICVsYXllcjtcblxuXHRcdFx0XHQkY2xvc2VXaWR0aDogODBweDtcblx0XHRcdFx0JGNsb3NlSGVpZ2h0OiAxMHB4O1xuXG5cdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0YmFja2dyb3VuZDogI2MxMjAyNjtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjE1ZW07IGNvbG9yOiAjZmZmOyB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5pY29ue1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAwLjFlbTtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMC4xNWVtO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjo6YmVmb3Jle1xuXHRcdFx0XHRcdEBpbmNsdWRlIGFsaWduKGhvcml6b250YWwpO1xuXG5cdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogJGNsb3NlV2lkdGggKiAxLjUgc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1sZWZ0OiAkY2xvc2VXaWR0aCAqIDEuNSBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAkY2xvc2VIZWlnaHQgKiAxLjIgc29saWQgcmdiYSgwLDAsMCwwLjE1KTtcblx0XHRcdFx0XHR3aWR0aDogMDsgaGVpZ2h0OiAwO1xuXHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5jbG9zZXtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMS40ZW07IGNvbG9yOiAkcmVkOyBmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXG5cdFx0XHRcdFx0Lmljb257XG5cdFx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDAuNzVlbTtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwLjNlbTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOjpiZWZvcmV7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBhbGlnbihob3Jpem9udGFsKTtcblxuXHRcdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAkY2xvc2VXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLWxlZnQ6ICRjbG9zZVdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogJGNsb3NlSGVpZ2h0IHNvbGlkIHJnYmEoMCwwLDAsMC4wNSk7XG5cdFx0XHRcdFx0XHR3aWR0aDogMDsgaGVpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOjphZnRlcntcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGFsaWduKGhvcml6b250YWwpO1xuXG5cdFx0XHRcdFx0XHR0b3A6IDEwMCU7XG5cdFx0XHRcdFx0XHRib3JkZXItcmlnaHQ6ICRjbG9zZVdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyBib3JkZXItbGVmdDogJGNsb3NlV2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHRib3JkZXItdG9wOiAkY2xvc2VIZWlnaHQgc29saWQgI2ZmZjtcblx0XHRcdFx0XHRcdHdpZHRoOiAwOyBoZWlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuTmF2e1xuXHRcdFx0XHQvLyBkZWZpbmVkIGluIF9uYXZpZ2F0aW9uLnNjc3Ncblx0XHRcdH1cblxuXHRcdFx0LnVzZXJ7XG5cdFx0XHRcdEBleHRlbmQgJWhvdmVyO1xuXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMC45NWVtOyBmb250LXdlaWdodDogMzAwOyBjb2xvcjogJHJlZDsgZm9udC1zdHlsZTogaXRhbGljOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMmVtO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoNTUwcHgpIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWVlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJHJlZDtcblx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IDAgbm9uZTtcblx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5pY29ue1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAtMC4yNWVtO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMC41ZW07XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDAuNWVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5tZW51QnV0dG9ue1xuXHRcdFx0XHRAZXh0ZW5kICVob3ZlcjtcblxuXHRcdFx0XHRmb250LXNpemU6IDMycHg7IGNvbG9yOiAkcmVkOyBsaW5lLWhlaWdodDogJGhlaWdodDtcblx0XHRcdFx0cGFkZGluZzogMCAxMnB4O1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoNDUwcHgpIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAwIDE4cHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5vcGVue1xuXHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0PiAuTmF2e1xuXHRcdC8vIGRlZmluZWQgaW4gX25hdmlnYXRpb24uc2Nzc1xuXHR9XG5cblx0Lk1pZGRsZXtcblx0XHRmbGV4OiAxO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdG92ZXJmbG93LXg6IGhpZGRlbjsgb3ZlcmZsb3cteTogYXV0bztcblx0XHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cblx0XHQuQ29udGFpbmVye1xuXHRcdFx0ZmxleDogMTtcblxuXHRcdFx0LkZvbGR7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7IC8vIGllMTEgbWFzayBsb2FkaW5nIHNwaW5uZXIgc2luY2UgbWluLWhlaWdodCBvZiBzb21lIGNoaWxkIGVsIGlzbnQgcmVzcGVjdGVkXG5cblx0XHRcdFx0LlBhZ2UsID4gYXJ0aWNsZXtcblx0XHRcdFx0XHRmbGV4OiAxO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHRcdH1cblxuICAgICAgICAuUGFnZSAuVHJ1c3RQaWxvdCB7XG4gICAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICAgIG1hcmdpbjogNXB4IDAgMTBweCAtMTBweDtcbiAgICAgICAgfVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5Cb3R0b217XG5cblx0XHR9XG5cdH1cblxuXHQuQmFja1RvVG9we1xuXHRcdHBvc2l0aW9uOiBmaXhlZDsgYm90dG9tOiAwOyBsZWZ0OiAwOyByaWdodDogMDtcblx0XHRtYXJnaW46IDAgYXV0bztcblxuXHRcdGRpdntcblx0XHRcdEBleHRlbmQgJWhvdmVyO1xuXG5cdFx0XHQkQmFja1RvVG9wV2lkdGg6IDUwcHg7XG5cdFx0XHQkQmFja1RvVG9wSGVpZ2h0OiAyNXB4O1xuXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogLSgkQmFja1RvVG9wSGVpZ2h0ICogMik7IHJpZ2h0OiAyJTtcblx0XHRcdGJhY2tncm91bmQ6IGxpZ2h0ZW4oJHJlZCwgMTMlKTtcblx0XHRcdGZvbnQtc2l6ZTogMS4zZW07IGNvbG9yOiAjZmZmOyBmb250LXdlaWdodDogNjAwOyBsaW5lLWhlaWdodDogJEJhY2tUb1RvcEhlaWdodDsgdGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0d2lkdGg6ICRCYWNrVG9Ub3BXaWR0aDsgaGVpZ2h0OiAkQmFja1RvVG9wSGVpZ2h0O1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xuXG5cdFx0XHQmOjpiZWZvcmV7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAxMDAlOyBsZWZ0OiAwO1xuXHRcdFx0XHRib3JkZXItbGVmdDogJEJhY2tUb1RvcFdpZHRoIC8gMiBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLXJpZ2h0OiAkQmFja1RvVG9wV2lkdGggLyAyIHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkIGxpZ2h0ZW4oJHJlZCwgMTMlKTtcblx0XHRcdFx0d2lkdGg6IDA7IGhlaWdodDogMDtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji52aXNpYmxle1xuXHRcdFx0ZGl2e2JvdHRvbTogMDt9XG5cdFx0fVxuXHR9XG5cblx0Ly8gcmVmbHV4LWRldnRvb2xzIGZpeFxuXHR+IGRpdntcblx0XHRtYXgtd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuXHR9XG59XG4iLCIkaGVpZ2h0OiA2MnB4O1xuXG5uYXZ7XG5cblx0dWx7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRwYWRkaW5nOiAwOyBtYXJnaW46IDA7XG5cblx0XHRsaSBhe1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRmb250LWZhbWlseTogJG9wZW5zYW5zOyBjb2xvcjogJGJsYWNrOyBmb250LXdlaWdodDogMjAwOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLW91dDtcblx0XHR9XG5cdH1cbn1cblxuLlZpZXdwb3J0e1xuXG5cdC5Ub3B7XG5cdFx0LnRvcG1vc3R7XG5cdFx0XHQkbGluZUhlaWdodDogMzBweDtcblx0XHRcdGhlaWdodDogJGxpbmVIZWlnaHQgKyAxcHg7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0XHR1bHtcblxuXHRcdFx0XHRsaXtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHRcdFx0XHRhe1xuXHRcdFx0XHRcdFx0QGV4dGVuZCAlaG92ZXI7XG5cblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4zNWVtOyBsaW5lLWhlaWdodDogJGxpbmVIZWlnaHQgKyAyOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDAgMC40ZW07XG5cblx0XHRcdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdFx0XHQmLmN1cnJlbnR7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDFweDsgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5TZWNvbmRhcnlOYXZ7XG5cdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdFx0cGFkZGluZzogMCAxMHB4O1xuXG5cdFx0XHRcdGF7XG5cdFx0XHRcdFx0Y29sb3I6ICRyZWQ7IGJvcmRlci1jb2xvcjogcmdiYSgxOTMsIDMyLCAzOCwgMC4zKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuRm9ybU5hdntcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMTBweDtcblxuXHRcdFx0XHRhe1xuXHRcdFx0XHRcdGNvbG9yOiAjNUE1QTVBOyBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsMC4yKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIGxhc3QgaXRlbSBkb2Vzbid0IGZpdCBiZWxvdyAxMTAwcHhcblx0XHRcdFx0bGk6bGFzdC1jaGlsZHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgxMTUwcHgpIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuTmF2e1xuXHRcdFx0ZmxleDogMTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0LndyYXB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IDEwMCU7XG5cblx0XHRcdFx0dWx7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxLjhlbTtcblxuXHRcdFx0XHRcdGxpe1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdFx0XHRtYXJnaW46IDAgMC41ZW07XG5cblx0XHRcdFx0XHRcdC8vIGhpZGUgSG9tZSBsaW5rXG5cdFx0XHRcdFx0XHQmOmZpcnN0LWNoaWxke1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRhe1xuXHRcdFx0XHRcdFx0XHQkYm9yZGVyV2lkdGg6IDYwcHg7XG5cdFx0XHRcdFx0XHRcdCRib3JkZXJIZWlnaHQ6IDEycHg7XG5cblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGJsYWNrO1xuXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCArIDUwKSB7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjA1ZW07XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQmOjpiZWZvcmV7XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYWxpZ24oaG9yaXpvbnRhbCk7XG5cdFx0XHRcdFx0XHRcdFx0Ym90dG9tOiAwO1xuXG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6ICRib3JkZXJXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyV2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogJGJvcmRlckhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMDsgaGVpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGJvcmRlciAwLjM1cyBlYXNlLWluLW91dDtcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdFx0XHRcdCYuY3VycmVudCxcblx0XHRcdFx0XHRcdFx0Ji5zZWN0aW9ue1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkcmVkO1xuXG5cdFx0XHRcdFx0XHRcdFx0Jjo6YmVmb3Jle1xuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLDAsMCwwLjEpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdCYuY3VycmVudCxcblx0XHRcdFx0XHRcdFx0Ji5zZWN0aW9ue1xuXHRcdFx0XHRcdFx0XHRcdCY6OmJlZm9yZXtcblx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRyZWQ7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0PiAuTmF2e1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDA7IGJvdHRvbTogMDsgbGVmdDogMDtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRib3JkZXItdG9wOiA2MnB4IHNvbGlkICRyZWQ7XG5cdFx0d2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTtcblx0XHRwYWRkaW5nLXRvcDogMzBweDtcblx0XHRvdmVyZmxvdy15OiBhdXRvO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG5cblx0XHQmLm9wZW57XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHR9XG5cblx0XHQud3JhcHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEuNGVtO1xuXG5cdFx0XHRsaSBhe1xuXHRcdFx0XHRmb250LXNpemU6IDEuOGVtOyBjb2xvcjogJGJsYWNrOyBmb250LXdlaWdodDogNjAwO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxZW07XG5cblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Ji5jdXJyZW50LFxuXHRcdFx0XHQmLnNlY3Rpb257XG5cdFx0XHRcdFx0Y29sb3I6ICRyZWQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdC5sZWZ0e1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCg1MDBweCkge1xuXHRcdFx0XHRAaW5jbHVkZSBjb2woMi81KTtcblxuXHRcdFx0XHQuTWFpbk5hdntcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMTUlOyBtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQucmlnaHR7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDUwMHB4KSB7XG5cdFx0XHRcdEBpbmNsdWRlIGNvbCgzLzUpO1xuXHRcdFx0fVxuXG5cdFx0XHQuU2Vjb25kYXJ5TmF2e1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI0Y1RjVGNTtcblx0XHRcdFx0Zm9udC1zaXplOiAwLjhlbTtcblx0XHRcdH1cblxuXHRcdFx0LkZvcm1OYXZ7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMC44ZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIkc21hbGw6ICgwIDUwMHB4KSwgKCR0YWJsZXQgJHRhYmxldCArIDE1MCk7IC8vIGJldHdlZW4gMCBhbmQgeCBPUiBiZXR3ZWVuIHRhYmxldCBhbmQgeVxuJGxhcmdlOiAoNTAxcHggJHRhYmxldCAtIDEpLCAoJHRhYmxldCArIDE1MSk7IC8vIGJldHdlZW4geCBhbmQgdGFibGV0IE9SIGxhcmdlciB0aGFuIHlcbiRsYXJnZXN0OiAkdGFibGV0ICsgMTUxOyAvLyBsYXJnZXIgdGhhbiB5IG9ubHlcblxuLkZvb3Rlcntcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kOiAjMWEyODJiO1xuXHRjb2xvcjogI2ZmZjtcblx0cGFkZGluZzogMDtcblxuXHRhe1xuXHRcdGNvbG9yOiAjZmZmOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHQmOmhvdmVye1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0fVxuXHR9XG5cblx0LkNhbGxvdXR7XG5cdFx0YmFja2dyb3VuZDogJHJlZDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0cGFkZGluZzogMi4yZW0gMDtcblxuXHRcdGgxe1xuXHRcdFx0Zm9udC1zaXplOiAxLjllbTsgZm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDAuMWVtO1xuXHRcdH1cblxuXHRcdHB7XG5cdFx0XHRmb250LXNpemU6IDEuNmVtO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXHRcdH1cblxuXHRcdGEsIHN0cm9uZ3tmb250LXdlaWdodDogNjAwO31cblxuXHRcdGZvcm17XG5cdFx0XHRkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoNjAwcHgpIHtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdFx0Zm9udC1zaXplOiAxLjJlbTtcblx0XHRcdH1cblxuXHRcdFx0aW5wdXQsIGJ1dHRvbntcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHRcdGJvcmRlcjogMCBub25lO1xuXHRcdFx0XHRmb250LXNpemU6IDEuNGVtOyBjb2xvcjogIzJjMmMyYztcblx0XHRcdFx0cGFkZGluZzogMC41ZW0gMC43NWVtO1xuXHRcdFx0fVxuXG5cdFx0XHRpbnB1dHtcblx0XHRcdFx0d2lkdGg6IDk1JTsgbWF4LXdpZHRoOiAzMDBweDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMC41ZW07XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCg2MDBweCkge1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMC41ZW07IG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0YnV0dG9ue1xuXHRcdFx0XHRAZXh0ZW5kICVob3ZlcjtcblxuXHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5jb250YWluZXJ7XG5cdFx0cGFkZGluZy1ib3R0b206IDFlbTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoNzAwcHgpIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxhcmdlc3QpIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAzZW07XG5cdFx0fVxuXG5cdFx0LkNvbnRhY3R7XG5cdFx0XHRmbGV4OiAxO1xuXHRcdFx0ZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTIpO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDcwMHB4KSB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDAgbm9uZTtcblx0XHRcdH1cblxuXHRcdFx0LndyYXB7XG5cdFx0XHRcdHBhZGRpbmc6IDEuOWVtIDA7XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCg3MDBweCkge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogNiU7IC8vIG1hdGNoZXMgd3JhcCwgZXhjZXB0IHdlIGRvbid0IHdhbnQgdG8ga2VlcCB0aGUgd3JhcCBvbiByaWdodCBzaWRlXG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRoMXtcblx0XHRcdFx0XHRmb250LXNpemU6IDQuMmVtOyBmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDAuNjVlbTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5Db250YWN0Rm9ybXtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0XHRcdFx0LnJvdzpmaXJzdC1jaGlsZHtcblx0XHRcdFx0XHRcdGlucHV0e1xuXHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAwIDAuOWVtIDAgMDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQuZmllbGRIb2xkZXJ7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwLjNlbTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRsYWJlbHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0aW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIC5jaGVja2JveCwgLmFjdGlvbnN7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMC42ZW0gMWVtOyBtYXJnaW46IDAgYXV0bztcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYXtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzJjMmMyYztcblxuXHRcdFx0XHRcdFx0Jjo6cGxhY2Vob2xkZXJ7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHNlbGVjdHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkcmVkO1xuXG5cdFx0XHRcdFx0XHRvcHRpb257XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAjMmMyYzJjO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5TZWxlY3R7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSByZWFjdC1zZWxlY3QoJHBhZGRpbmc6IDAuNmVtIDFlbSk7XG5cblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmZmYhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCUhaW1wb3J0YW50OyBtYXgtd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuXG5cdFx0XHRcdFx0XHQuU2VsZWN0LXBsYWNlaG9sZGVye1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJHJlZCFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0ZGl2LmNoZWNrYm94e1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMC4zZW0gMCAwLjhlbTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQuYWN0aW9uc3tcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cblx0XHRcdFx0XHRcdGJ1dHRvbntcblx0XHRcdFx0XHRcdFx0QGV4dGVuZCAlaG92ZXI7XG5cblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJHJlZDtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7IGZvbnQtd2VpZ2h0OiA2MDA7IHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDAgMCAwIDAuOWVtO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5PZmZpY2Vze1xuXHRcdFx0Zm9udC1zaXplOiAxLjZlbTtcblx0XHRcdGZsZXg6IDE7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoNzAwcHgpIHtcbiAgICAgICAgZmxleDogMjtcblx0XHRcdFx0cGFkZGluZy10b3A6IDUuNWVtO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDEyMDBweCkge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0XHRmbGV4OiAzO1xuXHRcdFx0fVxuXG5cdFx0XHQuQWRkcmVzc2Vze1xuXHRcdFx0XHRAaW5jbHVkZSBzZWxmY2xlYXIoKTtcblxuICAgICAgICBmbGV4OiAyO1xuXHRcdFx0XHRwYWRkaW5nOiAxLjJlbSAwIDAuMmVtO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoNzAwcHgpIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHR9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMjAwcHgpIHtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG5cblx0XHRcdFx0LndyYXB7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDEyMDBweCkge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDgzJTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQubGVmdHtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDFlbTtcblxuICAgICAgICAgICAgLlRhYnMge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTAuNWVtO1xuICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgICAgICAgICAgIC5UYWIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC4yNWVtIDAuNWVtIDAuMjVlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMWEyODJiO1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5yaWdodHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMC44NWVtO1xuXG5cdFx0XHRcdFx0XHRhZGRyZXNze1xuXHRcdFx0XHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cblx0XHRcdFx0XHRcdFx0cHtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxZW07XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Lmxpbmt7XG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Lm5ldHdvcmtze1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMWVtIDA7XG5cblx0XHRcdFx0XHRcdGxpe1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMC42ZW07XG5cbiAgICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgfVxuXG5cdFx0XHRcdFx0XHRcdGF7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyNHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQmLk9XU3tcblx0XHRcdFx0XHRcdFx0XHRhe1xuXHRcdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDsgY29sb3I6ICRyZWQ7XG5cdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwLjM1ZW0gMC42NWVtO1xuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuTWFwe1xuXHRcdFx0XHRwYWRkaW5nOiAwIDAgMS4yZW07XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgxMjAwcHgpIHtcblx0XHRcdFx0XHRmbGV4OiAxO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC53cmFwe1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgxMjAwcHgpIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDYlOyAvLyBtYXRjaGVzIHdyYXAsIGV4Y2VwdCB3ZSBkb24ndCB3YW50IHRvIGtlZXAgdGhlIHdyYXAgb24gbGVmdCBzaWRlXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Lmxpbmt7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDAuODVlbTsgZm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDAuOGVtO1xuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDEyMDBweCkge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5tYXB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDEyMDBweCkge1xuXHRcdFx0XHRcdFx0XHRmbGV4OiAxO1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0XHRcdFx0XHRcdD4gZGl2IHtcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGUhaW1wb3J0YW50OyAvLyBmaXggbWFwcyBwb3NpdGlvbmluZyB0byBzdHJldGNoXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Lk1hcmtlcntcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAwLjc1O1xuXG5cdFx0XHRcdFx0XHRcdHNwYW57XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXI6IDJweCBzb2xpZCByZWQ7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICM0MjQyNDI7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogNXB4O1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdCY6aG92ZXJ7XG5cdFx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uQ29weXJpZ2h0e1xuXHRjbGVhcjogYm90aDtcblx0YmFja2dyb3VuZDogIzEzMTMxNTtcblx0Zm9udC1zaXplOiAxLjE1ZW07IGNvbG9yOiAjZmZmOyB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDEuMjVlbSAwO1xuXHR6LWluZGV4OiAyO1xuXG5cdGF7XG5cdFx0Y29sb3I6IGxpZ2h0ZW4oJHJlZCwgMTUlKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG59XG4iLCIucHJpbnR7XG5cdEBleHRlbmQgJWhvdmVyO1xuXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0YmFja2dyb3VuZDogJHJlZDtcblx0Zm9udC1zaXplOiAwLjVlbTsgY29sb3I6ICNmZmY7IGZvbnQtd2VpZ2h0OiA0MDA7XG5cdHBhZGRpbmc6IDAuMjVlbSAwLjVlbTsgbWFyZ2luLWxlZnQ6IDAuMjVlbTtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zZWN0aW9uLmZvcm17XG5cdGZvbnQtc2l6ZTogMS42ZW07XG5cdG1hcmdpbi1ib3R0b206IDJlbTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cyBlYXNlLWluLW91dDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KDYwMHB4KSB7XG5cdFx0Zm9udC1zaXplOiAxLjdlbTtcblx0fVxuXG5cdC5lcnJvcnN7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRiYWNrZ3JvdW5kOiAkcmVkO1xuXHRcdGZvbnQtc2l6ZTogMC45ZW07IGNvbG9yOiAjZmZmO1xuXHRcdHBhZGRpbmc6IDAuM2VtIDAuNWVtOyBtYXJnaW4tYm90dG9tOiAxZW07XG5cblx0XHQmLnZpc2libGV7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cblxuXHQuc2VjdGlvbntcblx0XHRiYWNrZ3JvdW5kOiAjZmNmY2ZjO1xuXHRcdHBhZGRpbmc6IDEuNWVtIDA7IG1hcmdpbjogMS41ZW0gMDtcblx0fVxuXG5cdGgye1xuXHRcdGZvbnQtc2l6ZTogMS4xZW07XG5cdFx0bWFyZ2luOiAxLjM1ZW0gMCAwLjVlbTtcblxuXHRcdCY6bnRoLW9mLXR5cGUoMSl7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdH1cblx0fVxuXG5cdHVse1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cblx0XHRsaTpsYXN0LWNoaWxke1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cblxuXHQuYm94e1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICRyZWQ7XG5cdFx0Zm9udC1zaXplOiAwLjk1ZW07XG5cdFx0cGFkZGluZzogMWVtO1xuXG5cdFx0cHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDAuNzVlbTtcblxuXHRcdFx0JjpsYXN0LWNoaWxke1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuY3JlZGl0Q2FyZCxcblx0XHQmLmRpcmVjdERlYml0e1xuXHRcdFx0Zm9udC1zaXplOiAwLjllbTtcblx0XHRcdHBhZGRpbmc6IDEuMWVtIDFlbTsgbWFyZ2luOiAwLjI1ZW0gMCAxLjI1ZW07XG5cblx0XHRcdC5CYW5rQWNjb3VudE51bWJlcntcblx0XHRcdFx0YmFja2dyb3VuZDogJHJlZDtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdHBhZGRpbmc6IDAuMjVlbSAxZW07IG1hcmdpbi1sZWZ0OiAwLjVlbTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQubm90ZXtcblx0XHRmb250LXNpemU6IDAuOWVtOyBmb250LXdlaWdodDogNDAwOyBmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0bWFyZ2luLWJvdHRvbTogMC40ZW07XG5cdH1cblxuXHQuc3RhdGVtZW50e1xuXHRcdGZvbnQtc2l6ZTogMC43NWVtOyBjb2xvcjogIzUyNTI1MjsgZm9udC13ZWlnaHQ6IDQwMDtcblxuXHRcdHB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwLjc1ZW07XG5cblx0XHRcdCY6bGFzdC1jaGlsZHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBTd2l0Y2ggcHJvcGVydHkgZm9ybVxuXHQuY2hlY2tib3hlc3tcblxuXHRcdC5yb3d7XG5cdFx0XHRAaW5jbHVkZSBzZWxmY2xlYXIoKTtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMDcpO1xuXHRcdFx0fVxuXG5cdFx0XHQuZmllbGRIb2xkZXJ7XG5cdFx0XHRcdG1hcmdpbjogMC43NWVtIDA7XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHRcdFx0d2lkdGg6IDQyJTtcblx0XHRcdFx0XHRwYWRkaW5nOiAxLjI1ZW0gNSUgMS4yNWVtIDA7IG1hcmdpbjogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5yb3d7XG5cdFx0QGluY2x1ZGUgc2VsZmNsZWFyKCk7XG5cblx0XHRjbGVhcjogYm90aDtcblxuXHRcdCYudHdvLFxuXHRcdCYudGhyZWV7XG5cdFx0XHQuZmllbGRIb2xkZXJ7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoNjAwcHgpIHtcblx0XHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5sYWJlbGVke1xuXG5cdFx0XHRsYWJlbHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdG1hcmdpbjogMC41ZW0gMC41ZW0gMC41ZW0gMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuZmllbGRIb2xkZXJ7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwLjVlbTtcblxuXHRcdFx0aW5wdXQsIHRleHRhcmVhLCBzZWxlY3QsIC5DdXN0b21GaWxle1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0YmFja2dyb3VuZDogI2QxZDFkMztcblx0XHRcdFx0Ym9yZGVyOiAwIG5vbmU7XG5cdFx0XHRcdHdpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IDE3ZW07XG5cdFx0XHRcdG1hcmdpbjogMDsgcGFkZGluZzogMC41ZW0gMC43NWVtO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoNjAwcHgpIHtcblx0XHRcdFx0XHR3aWR0aDogYXV0bzsgbWluLXdpZHRoOiAxN2VtO1xuXG5cdFx0XHRcdFx0Ji53aWRle1xuXHRcdFx0XHRcdFx0bWluLXdpZHRoOiAzNC41ZW07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjpkaXNhYmxlZHtcblx0XHRcdFx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOi13ZWJraXQtYXV0b2ZpbGx7XG5cdFx0XHRcdFx0LXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAxMDAwcHggI2QxZDFkMyBpbnNldDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHR0ZXh0YXJlYXtcblx0XHRcdFx0bWluLWhlaWdodDogNmVtO1xuXHRcdFx0fVxuXG5cdFx0XHRzZWxlY3R7XG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdH1cblxuXHRcdFx0LlNlbGVjdHtcblx0XHRcdFx0QGluY2x1ZGUgcmVhY3Qtc2VsZWN0KCRwYWRkaW5nOiAwLjVlbSAwLjc1ZW0pO1xuXG5cdFx0XHRcdGJhY2tncm91bmQ6ICNkMWQxZDMhaW1wb3J0YW50O1xuXHRcdFx0XHR3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiAxN2VtO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cblx0XHRcdFx0Ji5pcy1kaXNhYmxlZHtcblx0XHRcdFx0XHRvcGFjaXR5OiAwLjU7XG5cblx0XHRcdFx0XHQuU2VsZWN0LWFycm93LXpvbmV7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuQ3VzdG9tRmlsZXtcblx0XHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0XHQuem9uZXtcblx0XHRcdFx0XHRAZXh0ZW5kICVob3Zlcjtcblx0XHRcdFx0XHRAaW5jbHVkZSBzZWxmY2xlYXIoKTtcblxuXHRcdFx0XHRcdC5sZWZ0e1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgc3BhbigzLzUpO1xuXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwLjVlbSAwLjc1ZW07XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LnJpZ2h0e1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgc3BhbigyLzUpO1xuXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjRTRFNEU0O1xuXHRcdFx0XHRcdFx0Y29sb3I6ICRyZWQ7IHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDAuNWVtIDAuNzVlbTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLnNlbGVjdGVkIC5sZWZ0e1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogIzIwOTYxNTtcblx0XHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYuZXJyb3J7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMWVtO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LnJhZGlvLFxuXHRcdFx0LmNoZWNrYm94e1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwLjI1ZW07XG5cdFx0XHR9XG5cblx0XHRcdGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcblx0XHRcdGlucHV0W3R5cGU9XCJjaGVja2JveFwiXXtcblx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHRcdFx0bWluLXdpZHRoOiAwOyB3aWR0aDogYXV0bztcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gUmVxdWVzdEFSZWNvcmRPckRvY3VtZW50Rm9ybVxuXHRcdCYucmVjb3Jke1xuXHRcdFx0ZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdFx0LmZpZWxkSG9sZGVye1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQucHJpY2V7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0d2lkdGg6IDRlbTtcblx0XHRcdH1cblxuXHRcdFx0LnBsYWNlaG9sZGVye1xuXHRcdFx0XHRmbGV4OiAxO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuZG9jdW1lbnR7XG5cdFx0XHRkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0bWFyZ2luLXRvcDogMC43NWVtO1xuXG5cdFx0XHQuZmllbGRIb2xkZXJ7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cblx0XHRcdFx0Ly8gaGlkZSBzZWNvbmRhcnkgbGFiZWwgaW50cm9kdWNlZCBpbiBqc3ggZmllbGRzIGZ1bmN0aW9uXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDIpIC5maWVsZEhvbGRlciAucmVhZE9ubHlMYWJlbHtkaXNwbGF5OiBub25lO31cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQucGxhY2Vob2xkZXJOb2Rle1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXG5cdC5zdXBwb3J0aW5nRG9jdW1lbnRze1xuXHRcdD4gLnJvd3tcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoMzVlbSkge1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0bWluLXdpZHRoOiAxN2VtO1xuXG5cdFx0XHRcdCY6bnRoLWNoaWxkKG9kZCl7XG5cdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7IGNsZWFyOiBsZWZ0O1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMC41ZW07XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOm50aC1jaGlsZChldmVuKXtcblx0XHRcdFx0XHRmbG9hdDogbGVmdDsgY2xlYXI6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRidXR0b24uYWRke1xuXHRcdEBleHRlbmQgJWhvdmVyO1xuXG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkcmVkO1xuXHRcdGNvbG9yOiAkcmVkOyBmb250LXdlaWdodDogNjAwOyBmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0cGFkZGluZzogMC41ZW0gMWVtOyBtYXJnaW4tdG9wOiAwLjc1ZW07XG5cblx0XHQvLyBhbm90aGVyIGZpZWxkIGZvbGxvd2luZyBhIEFkZCBidXR0b24sIGxpa2UgdGhlIHNtb2tlcnMgcXVlc3Rpb24gb24gc3RlcCAyIG9mIEFwcGx5IE9ubGluZVxuXHRcdCsgLnJvd3tcblx0XHRcdG1hcmdpbi10b3A6IDFlbTtcblx0XHR9XG5cdH1cblxuXHQvLyB0YWJsZXMsIGJ1dCBub3QgcmVhY3QtZGF0ZXRpbWVcblx0dGFibGV7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtcblx0XHRtYXJnaW46IDEuNWVtIDAgMDtcblxuXHRcdHRye1xuXG5cdFx0XHR0aCwgdGR7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMDIpO1xuXHRcdFx0XHRwYWRkaW5nOiAxZW0gM2VtIDFlbSAwO1xuXHRcdFx0fVxuXG5cdFx0XHR0aHtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDsgdGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblxuXHRcdFx0XHRlbXtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRmb250LXNpemU6IDAuOGVtOyBmb250LXdlaWdodDogMzAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnJkdHtcblxuXHRcdHRhYmxle1xuXHRcdFx0Ym9yZGVyOiAwIG5vbmU7XG5cdFx0XHRtYXJnaW46IDA7XG5cblx0XHRcdHRye1xuXG5cdFx0XHRcdHRoLCB0ZHtcblx0XHRcdFx0XHRib3JkZXI6IDAgbm9uZTtcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGh7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LnJkdERheXtcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdFx0XHRcdCY6aG92ZXJ7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogbGlnaHRlbigkcmVkLCA1MCUpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5yZHRUb2RheTo6YmVmb3Jle1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRyZWQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLnJkdEFjdGl2ZXtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkcmVkO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHR9XG5cdH1cblxuXHQudG90YWx7XG5cdFx0Zm9udC1zaXplOiAyZW07XG5cdH1cblxuXHQuZ3N0e1xuXHRcdGZvbnQtc2l6ZTogMC45ZW07XG5cdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXHR9XG5cblx0LnBheW1lbnR7XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdHBhZGRpbmc6IDAuNWVtIDAgMWVtO1xuXHR9XG5cblx0LmFjdGlvbnN7XG5cdFx0bWFyZ2luLXRvcDogMS41ZW07XG5cblx0XHRidXR0b257XG5cdFx0XHRAZXh0ZW5kICVob3ZlcjtcblxuXHRcdFx0YmFja2dyb3VuZDogJHJlZDtcblx0XHRcdGJvcmRlcjogMCBub25lO1xuXHRcdFx0Y29sb3I6ICNmZmY7IGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRwYWRkaW5nOiAwLjc1ZW0gMmVtO1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2UtaW4tb3V0O1xuXHRcdH1cblx0fVxuXG5cdCYuc3VibWl0dGluZ3tcblx0XHRvcGFjaXR5OiAwLjI1O1xuXG5cdFx0LmFjdGlvbnN7XG5cblx0XHRcdGJ1dHRvbntcblx0XHRcdFx0YmFja2dyb3VuZDogIzJjMmMyYztcblx0XHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5yZWFkT25seUxhYmVse1xuXHRcdGZvbnQtc2l6ZTogMC44ZW07XG5cdH1cblxuXHQuZXJyb3J7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGJhY2tncm91bmQ6ICRyZWQ7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0Zm9udC1zaXplOiAwLjhlbTtcblx0XHRwYWRkaW5nOiAwLjNlbSAwLjVlbTtcblx0fVxuXG5cdGF7XG5cdFx0Y29sb3I6ICRyZWQ7XG5cdH1cbn1cblxuLkludm9pY2V7XG5cblx0LmJyYW5kaW5ne1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcmVkO1xuXHRcdG1hcmdpbi1ib3R0b206IDJlbTtcblxuXHRcdGltZ3tcblx0XHRcdHdpZHRoOiAyMDBweDtcblx0XHRcdG1hcmdpbjogMCBhdXRvIDFlbTtcblx0XHR9XG5cdH1cblxuXHQucGFydGljdWxhcnN7XG5cdFx0QGluY2x1ZGUgc2VsZmNsZWFyKCk7XG5cblx0XHRjbGVhcjogYm90aDtcblx0XHRtYXJnaW4tYm90dG9tOiAyZW07XG5cblx0XHQ+IGRpdntcblx0XHRcdCY6Zmlyc3QtY2hpbGQsXG5cdFx0XHQmOmxhc3QtY2hpbGR7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHBoYWJsZXQpIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBjb2woMy84KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOm50aC1jaGlsZCgyKSB7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHBoYWJsZXQpIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBjb2woMi84KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5sb2dve1xuXHRcdFx0d2lkdGg6IDIwMHB4O1xuXHRcdH1cblx0fVxuXG5cdC5pdGVtc3tcblx0XHRmb250LXNpemU6IDAuOTVlbTtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdHRoLCB0ZHtcblx0XHRcdHBhZGRpbmc6IDAuNzVlbSFpbXBvcnRhbnQ7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0XHRcdCYuZmlyc3R7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXG5cdFx0XHQmLmxhc3R7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5ub3Rle1xuXHRcdGZvbnQtc2l6ZTogMS4yZW07IHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdCYudG9we1xuXHRcdFx0bWFyZ2luOiAwIDAgMS43NWVtO1xuXHRcdH1cblxuXHRcdCYuYm90dG9te1xuXHRcdFx0bWFyZ2luOiAzLjVlbSAwIDFlbTtcblx0XHR9XG5cdH1cbn1cbiIsIkBtZWRpYSBwcmludCB7XG5cdFxuXHQvLyBwcmludCBpY29uXG5cdC5wcmludHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdFxuXHRodG1sLCBib2R5e1xuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdGhlaWdodDogYXV0byFpbXBvcnRhbnQ7XG5cblx0XHQjYXBwe1xuXHRcdFx0b3ZlcmZsb3c6IHZpc2libGUhaW1wb3J0YW50O1xuXHRcdFx0aGVpZ2h0OiBhdXRvIWltcG9ydGFudDtcblxuXHRcdFx0LlJvb3R7XG5cdFx0XHRcdG92ZXJmbG93OiB2aXNpYmxlIWltcG9ydGFudDtcblx0XHRcdFx0aGVpZ2h0OiBhdXRvIWltcG9ydGFudDtcblxuXHRcdFx0XHQuVmlld3BvcnR7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xuXHRcdFx0XHRcdG92ZXJmbG93OiB2aXNpYmxlIWltcG9ydGFudDtcblxuXHRcdFx0XHRcdC5Nb2RhbCxcblx0XHRcdFx0XHQuVG9wLFxuXHRcdFx0XHRcdC5CYWNrVG9Ub3B7ZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7fVxuXG5cdFx0XHRcdFx0Lk1pZGRsZXtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdG92ZXJmbG93OiB2aXNpYmxlIWltcG9ydGFudDtcblxuXHRcdFx0XHRcdFx0LkZvbGR7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0LkJvdHRvbXtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Zm9ybXtcblx0XHRpbnB1dCwgdGV4dGFyZWF7YmFja2dyb3VuZDogI2ZmZjsgY29sb3I6ICMwMDAhaW1wb3J0YW50OyBwYWRkaW5nOiAwIWltcG9ydGFudDt9XG5cblx0XHQuYWN0aW9uc3tkaXNwbGF5OiBub25lO31cblx0fVxuXG59IiwiLkhvbWVQYWdle1xuXG5cdC5Gb2xke1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDUwJTsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuXHRcdC5UZXN0aW1vbmlhbHN7XG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0LlRlc3RpbW9uaWFse1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMTkzLDMyLDM4LDAuOSk7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS44ZW07XG5cdFx0XHRcdHBhZGRpbmc6IDA7IG1hcmdpbjogMWVtIGF1dG8gMDtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0dHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwLjM1cywgb3BhY2l0eSAwLjM1cyBlYXNlLWluLW91dDtcblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBhbGlnbigpO1xuXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0d2lkdGg6IDk2JTsgbWF4LXdpZHRoOiA3MDBweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIGRvbid0IHJvdGF0ZSBpbiBtb2JpbGUgc2l6ZSBzaW5jZSB0aGlzIHdpbGwgam9sdCB0aGUgcGFnZSB1cCBhbmQgZG93biBhZnRlciB0cmFuc2l0aW9uc1xuXHRcdFx0XHQmOmZpcnN0LWNoaWxke1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoMCAoJHRhYmxldCAtIDFweCkpIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gZG9uJ3Qgcm90YXRlIGluIG1vYmlsZSBzaXplIHNpbmNlIHRoaXMgd2lsbCBqb2x0IHRoZSBwYWdlIHVwIGFuZCBkb3duIGFmdGVyIHRyYW5zaXRpb25zXG5cdFx0XHRcdCYuY3VycmVudHtcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5xdW90ZXtcblx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRwYWRkaW5nOiAxLjI1ZW0gMCAxZW07XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQucGVyc29ue1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcblx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRwYWRkaW5nOiAwLjc1ZW0gMmVtIDEuMjVlbSAwO1xuXG5cdFx0XHRcdFx0c3Ryb25ne1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5PZmZlcnN7XG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0Lk9mZmVye1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMTkzLDMyLDM4LDAuOSk7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS42ZW07XG5cdFx0XHRcdHBhZGRpbmc6IDAuNzVlbTsgbWFyZ2luOiAxZW0gYXV0byAwO1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDAuMzVzLCBvcGFjaXR5IDAuMzVzIGVhc2UtaW4tb3V0O1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHBoYWJsZXQpIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDEuN2VtO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYWxpZ24oKTtcblxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdHdpZHRoOiA5NiU7IG1heC13aWR0aDogNzAwcHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBkb24ndCByb3RhdGUgaW4gbW9iaWxlIHNpemUgc2luY2UgdGhpcyB3aWxsIGpvbHQgdGhlIHBhZ2UgdXAgYW5kIGRvd24gYWZ0ZXIgdHJhbnNpdGlvbnNcblx0XHRcdFx0JjpmaXJzdC1jaGlsZHtcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDAgKCR0YWJsZXQgLSAxcHgpKSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIGRvbid0IHJvdGF0ZSBpbiBtb2JpbGUgc2l6ZSBzaW5jZSB0aGlzIHdpbGwgam9sdCB0aGUgcGFnZSB1cCBhbmQgZG93biBhZnRlciB0cmFuc2l0aW9uc1xuXHRcdFx0XHQmLmN1cnJlbnR7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHRcdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBodHRwOi8vd3d3LmNzc3BvcnRhbC5jb20vY3NzLXJpYmJvbi1nZW5lcmF0b3IvXG5cdFx0XHRcdC5yaWJib257XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdGxlZnQ6IC00cHg7IHRvcDogMC43NWVtO1xuXHRcdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0XHR3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdFx0XHRcdHRvcDogLTRweDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRzcGFue1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdFx0XHRjb2xvcjogJHJlZDtcblx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjhweDtcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cdFx0XHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwcHg7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmY2JmYzc7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IDExcHg7IGxlZnQ6IC0yNXB4O1xuXG5cdFx0XHRcdFx0XHQmOjpiZWZvcmV7XG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMHB4OyB0b3A6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdHotaW5kZXg6IC0xO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItbGVmdDogM3B4IHNvbGlkICNkZjgyOGM7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yaWdodDogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci10b3A6IDNweCBzb2xpZCAjZGY4MjhjO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmOjphZnRlcntcblx0XHRcdFx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlOyByaWdodDogMHB4OyB0b3A6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdHotaW5kZXg6IC0xO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IDNweCBzb2xpZCAjZGY4MjhjO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci10b3A6IDNweCBzb2xpZCAjZGY4MjhjO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5sZWZ0e1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGNvbCgxLzUpO1xuXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0XHRcdFx0aW1ne1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG4gICAgICAgIC8vIGlmIHRoZXJlIGlzIGFuIGltYWdlLCB0aGVuIGFjY29tbW9kYXRlIGl0IHdpdGggYSBzbWFsbGVyIC5yaWdodFxuICAgICAgICAubGVmdCArIC5yaWdodHtcbiAgXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuICBcdFx0XHRcdFx0XHRAaW5jbHVkZSBjb2woNC81KTtcbiAgXHRcdFx0XHRcdH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGlmIG5vdCwgLnJpZ2h0IGlzIGZ1bGwgd2lkdGhcblx0XHRcdFx0LnJpZ2h0e1xuXHRcdFx0XHRcdC5oZWFkaW5ne1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xNSk7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMC41ZW07IG1hcmdpbi1ib3R0b206IDAuNWVtO1xuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjM1KTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0aDF7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4yZW07IGNvbG9yOiAjZmZmOyB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LndyYXB7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdFx0XHRcdC5jb250ZW50e1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDAuOWVtOyBjb2xvcjogI2ZmZjsgdGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwLjc1ZW07XG5cblx0XHRcdFx0XHRcdFx0c3Ryb25ne1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQuQ2FsbFRvQWN0aW9ue1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC41KTtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAwLjhlbTsgY29sb3I6ICNmZmY7IGZvbnQtd2VpZ2h0OiA2MDA7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgdGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwLjc1ZW0gM2VtOyBtYXJnaW46IDAgYXV0bztcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXG5cdFx0XHRcdFx0XHRcdHNwYW57XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwLjVlbTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC50eXBvZ3JhcGh5e1xuXG5cdFx0LnNlY3Rpb257XG5cblx0XHRcdGgxe1xuXHRcdFx0XHRmb250LXNpemU6IDEuNmVtOyBmb250LXdlaWdodDogMzAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdG1hcmdpbjogMWVtO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMS44ZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuICAuVHJ1c3RwaWxvdCB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDNlbSAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3ApIHtcbiAgICAgIHBhZGRpbmc6IDZlbSAwO1xuICAgIH1cblxuICAgIC53cmFwIHtcbiAgICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIH1cbiAgfVxuXG5cdC5GZWF0dXJlZFByb3BlcnRpZXN7XG5cdFx0QGluY2x1ZGUgc2VsZmNsZWFyKCk7XG5cblx0XHRiYWNrZ3JvdW5kOiAjZTNlYmVkO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcmVkO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgxNTAwcHgpIHtcblx0XHRcdHBhZGRpbmctdG9wOiAyLjVlbTtcblx0XHR9XG5cblx0XHQud3JhcHtcblx0XHRcdHdpZHRoOiA5OCU7IG1heC13aWR0aDogMTYwMHB4O1xuXG5cdFx0XHRoMXtcblx0XHRcdFx0Zm9udC1zaXplOiAzLjJlbTsgY29sb3I6ICRyZWQ7IGZvbnQtd2VpZ2h0OiAzMDA7IHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMC42NWVtO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMy40ZW07XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMC43ZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXG5cdFx0XHQuUHJvcGVydGllc3tcblx0XHRcdFx0QGluY2x1ZGUgc2VsZmNsZWFyKCk7XG5cblx0XHRcdFx0LnNsaWRle1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHRcdFx0XHQmOmZpcnN0LWNoaWxke1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCg2NTBweCA5OTlweCkge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgc3BhbigxLzIpO1xuXG5cdFx0XHRcdFx0XHQmOm50aC1jaGlsZCgtbisyKSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAwMHB4IDE0NDlweCkge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgc3BhbigxLzMpO1xuXG5cdFx0XHRcdFx0XHQmOm50aC1jaGlsZCgtbiszKSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoMTQ1MHB4KSB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBzcGFuKDEvNCk7XG5cblx0XHRcdFx0XHRcdCY6bnRoLWNoaWxkKC1uKzQpIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LlByb3BlcnR5e1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgUHJvcGVydHkoKTtcblxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjZlbTtcblx0XHRcdFx0XHRcdHdpZHRoOiA5MyU7IG1heC13aWR0aDogMzYwcHg7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuUmFuZG9tQWdlbnRze1xuXHRcdEBpbmNsdWRlIHNlbGZjbGVhcigpO1xuXG5cdFx0LndyYXB7XG5cdFx0XHR3aWR0aDogOTglOyBtYXgtd2lkdGg6IDE2MDBweDtcblxuXHRcdFx0aDF7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMy4xZW07IGZvbnQtd2VpZ2h0OiAzMDA7IHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMC42NWVtO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMy4zZW07XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMC43ZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmNvbnRhaW5lcntcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgxNTAwcHgpIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAxZW0gMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5BZ2VudHtcblx0XHRcdFx0XHRAZXh0ZW5kICVob3ZlcjtcblxuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHRjb2xvcjogIzA1MDcwNjsgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHRcdFx0LmxlZnR7XG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDJlbTtcblxuXHRcdFx0XHRcdFx0aW1ne1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJHJlZDtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxMmVtO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQuSG92ZXJJbWFnZXtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Jjpob3Zlcntcblx0XHRcdFx0XHRcdFx0LkltYWdle2Rpc3BsYXk6IG5vbmU7fVxuXHRcdFx0XHRcdFx0XHQuSG92ZXJJbWFnZXtkaXNwbGF5OiBibG9jazt9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LnJpZ2h0e1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjdlbTtcblxuXHRcdFx0XHRcdFx0aDJ7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMWVtOyBmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQubW9yZXtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRyZWQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LkFnZW50OmZpcnN0LWNoaWxke2Rpc3BsYXk6IGZsZXg7fVxuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoNzAwcHgpIHsgLkFnZW50Om50aC1jaGlsZCgyKSB7ZGlzcGxheTogZmxleDt9IH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgxMTAwcHgpIHsgLkFnZW50Om50aC1jaGlsZCgzKSB7ZGlzcGxheTogZmxleDt9IH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgxNDUwcHgpIHsgLkFnZW50Om50aC1jaGlsZCg0KSB7ZGlzcGxheTogZmxleDt9IH1cblx0XHRcdH1cblxuXHRcdFx0LmJvdHRvbXtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRtYXJnaW46IDRlbSAwIDJlbTtcblxuXHRcdFx0XHQubWVldHtcblx0XHRcdFx0XHRAZXh0ZW5kICVsYXllcjtcblxuXHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTkzLCAzMiwgMzgsIDAuMTkpO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMS42ZW07IGNvbG9yOiAkcmVkOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0cGFkZGluZzogMC41ZW0gNWVtO1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDVweDtcblxuXHRcdFx0XHRcdC5pY29ue1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAwLjc1ZW07XG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMC43NWVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiQG1peGluIFByb3BlcnR5KCkge1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXG5cdC50b3B7XG5cdFx0QGV4dGVuZCAlaG92ZXI7XG5cblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGhlaWdodDogMjI1cHg7XG5cblx0XHQucHJpY2V7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdGJhY2tncm91bmQ6ICRyZWQ7XG5cdFx0XHRmb250LXNpemU6IDEuN2VtOyBjb2xvcjogI2ZmZjsgZm9udC13ZWlnaHQ6IDcwMDsgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0cGFkZGluZzogMC41NWVtIDEuMWVtIDAuNmVtO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMCAwLjIyZW07XG5cdFx0fVxuXHR9XG5cblx0Lm1pZGRsZXtcblx0XHRAZXh0ZW5kICV3aWRlO1xuXHRcdEBpbmNsdWRlIHNlbGZjbGVhcigpO1xuXG5cdFx0JHNpemU6IDMycHg7XG5cblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDkyJTtcblxuXHRcdC5iYWRnZXN7XG5cdFx0XHRAaW5jbHVkZSBiYWRnZXMoJHNpemUpO1xuXG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHR9XG5cblx0XHQuZmF2b3VyaXRle1xuXHRcdFx0QGluY2x1ZGUgZmF2b3VyaXRlKCRzaXplKTtcblxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHJpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdC5hZGRyZXNze1xuXHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRoZWlnaHQ6IDMuOGVtO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMC4xZW07XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0d2lkdGg6IDgwJTtcblx0XHR9XG5cblx0XHQuY29kZXtcblx0XHRcdEBpbmNsdWRlIGNvbCgxLzMpO1xuXG5cdFx0XHRmb250LXNpemU6IDAuODVlbTsgY29sb3I6ICM4NDg0ODQ7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwLjZlbTtcblx0XHR9XG5cblx0XHQuRGF0ZUF2YWlsYWJsZXtcblx0XHRcdEBpbmNsdWRlIGNvbCgyLzMpO1xuXG5cdFx0XHRmb250LXNpemU6IDAuODVlbTsgY29sb3I6ICM4NDg0ODQ7IHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMC42ZW07XG5cblx0XHRcdC5sYWJlbHtcblx0XHRcdFx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMC4zZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmJvdHRvbXtcblx0XHRAaW5jbHVkZSBzZWxmY2xlYXIoKTtcblxuXHRcdGF7XG5cdFx0XHRAZXh0ZW5kICVob3ZlcjtcblxuXHRcdFx0Zm9udC1zaXplOiAxZW07IGNvbG9yOiAjZmZmOyB0ZXh0LWFsaWduOiBjZW50ZXIhaW1wb3J0YW50OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRwYWRkaW5nOiAwLjZlbSAwO1xuXG5cdFx0XHQmLmJvb2t7XG5cdFx0XHRcdEBpbmNsdWRlIHNwYW4oNi8xMCk7XG5cblx0XHRcdFx0YmFja2dyb3VuZDogI2ZkZDEwZDtcblx0XHRcdFx0Y29sb3I6IHJnYmEoMTczLDEyNCw3LDEpOyBmb250LXdlaWdodDogNDAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdFx0aW1ne1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRzcGFue1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLnZpZXd7XG5cdFx0XHRcdEBpbmNsdWRlIHNwYW4oNC8xMCk7XG5cblx0XHRcdFx0YmFja2dyb3VuZDogIzlDOUM5Qztcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0O1xuXG5cdFx0XHRcdCY6aG92ZXJ7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJHJlZDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiQG1peGluIGJhZGdlcygkc2l6ZSkge1xuXHRoZWlnaHQ6ICRzaXplICogMjtcblxuXHRsaXtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0d2lkdGg6ICRzaXplICogMS41O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdC8vIGNhcnMgbmVlZHMgdG8gYmUgYWxpZ25lZCBhIGxpdHRsZSBiaXRcblx0XHQmOmxhc3QtY2hpbGR7bWFyZ2luLWxlZnQ6IC0ycHg7fVxuXHRcdFxuXHRcdC5pY29ue1xuXHRcdFx0Zm9udC1zaXplOiAkc2l6ZTsgY29sb3I6ICRyZWQ7IGxpbmUtaGVpZ2h0OiAkc2l6ZSAqIDI7IHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHdpZHRoOiAkc2l6ZTtcblxuXHRcdFx0Ji5mYWRlZHtjb2xvcjogIzJjMmMyYzsgb3BhY2l0eTogMC4xO31cblxuXHRcdFx0Ji5pY29uLWJlZHJvb21ze1xuXHRcdFx0XHRmb250LXNpemU6ICRzaXplICogMS4xO1xuXG5cdFx0XHR9XG5cdFx0XHQmLmljb24tYmF0aHJvb21ze1xuXG5cdFx0XHRcdCY6OmJlZm9yZXt0b3A6IC0kc2l6ZSAqIDAuMTU7fVxuXHRcdFx0fVxuXHRcdFx0Ji5pY29uLWNhcnN7XG5cdFx0XHRcdGZvbnQtc2l6ZTogJHNpemUgKiAwLjg1O1xuXHRcdFx0fVxuXG5cdFx0XHQmOjpiZWZvcmV7cG9zaXRpb246IHJlbGF0aXZlO31cblxuXHRcdFx0LmNvdW50e1xuXHRcdFx0XHQkc2l6ZTogJHNpemUgKiAwLjY7XG5cblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlOyBib3R0b206ICRzaXplIC8gMjsgbGVmdDogMDsgcmlnaHQ6IDA7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICM4Mzg0ODY7XG5cdFx0XHRcdGZvbnQtc2l6ZTogJHNpemUgKiAwLjc7IGNvbG9yOiAjZmZmOyBsaW5lLWhlaWdodDogJHNpemUgLSAxOyBmb250LXdlaWdodDogNzAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdHdpZHRoOiAkc2l6ZTsgaGVpZ2h0OiAkc2l6ZTtcblx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6ICRzaXplIC8gMjtcblx0XHRcdFx0b3BhY2l0eTogMC45O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIkBtaXhpbiBmYXZvdXJpdGUoJHNpemUpIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR3aWR0aDogJHNpemUgKiAxLjY7XG5cblx0Lmljb257XG5cdFx0QGV4dGVuZCAlaG92ZXI7XG5cblx0XHRmb250LXNpemU6ICRzaXplOyBjb2xvcjogJHJlZDsgbGluZS1oZWlnaHQ6ICRzaXplICogMjtcblxuXHRcdCYuZmFkZWR7XG5cdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0b3BhY2l0eTogMC4xO1xuXG5cdFx0XHQmOmhvdmVye1xuXHRcdFx0XHRvcGFjaXR5OiAwLjE1O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi5Mb2dpblBhZ2V7XG5cbiAgICAuTG9naW5Gb3Jte1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAud3JhcHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJlbSAwO1xuXG4gICAgICAgICAgICBoMXtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJvd3tcblxuICAgICAgICAgICAgICAgIC5maWVsZEhvbGRlcntcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43ZW07XG5cbiAgICAgICAgICAgICAgICAgICAgaW5wdXR7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgJi5FbWFpbHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDFlbSAwIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6LXdlYmtpdC1hdXRvZmlsbHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDEwMDBweCB3aGl0ZSBpbnNldCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hY3Rpb25ze1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgICAgICAgICBidXR0b246Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMWVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwLmluZm97XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICB9XG59XG4iLCIuQWNjb3VudFBhZ2V7XG5cbiAgICBoNC51c2Vye1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgcGFkZGluZzogMWVtOyBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIGF7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5OZXdzbGV0dGVye1xuICAgICAgICBoNHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07IGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBtYXJnaW46IDEuMjVlbSAwIDAuMmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIH1cblxuICAgIC5TZWFyY2hlc3tcblxuICAgICAgICAuaW5mb3tcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNFRkVGRUY7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjI1ZW0gMWVtO1xuXG4gICAgICAgICAgICA+IDpsYXN0LWNoaWxke1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoNHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07IGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBtYXJnaW46IDEuMjVlbSAwIDAuMmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgdWx7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0Y1RjVGNTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07IG1hcmdpbi1ib3R0b206IDAuNWVtO1xuXG4gICAgICAgICAgICAgICAgLmljb257XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgJWhvdmVyO1xuXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIi5Qcm9wZXJ0aWVzUGFnZXtcblx0ZGlzcGxheTogZmxleDtcblx0YmFja2dyb3VuZDogI2UzZWJlZCFpbXBvcnRhbnQ7XG5cblx0LlByb3BlcnRpZXNNYXB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRwb3NpdGlvbjogZml4ZWQ7IHRvcDogMDsgbGVmdDogMDsgYm90dG9tOiAwO1xuXHRcdGJhY2tncm91bmQ6ICNFQUVBRUE7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRyaWdodDogNTAlO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAwMHB4KSB7XG5cdFx0XHRyaWdodDogNjAlO1xuXHRcdH1cblxuXHRcdC5NYXJrZXJ7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdG9wYWNpdHk6IDAuNzU7XG5cblx0XHRcdGF7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHRcdGJvcmRlcjogMnB4IHNvbGlkIHJlZDtcblx0XHRcdFx0Zm9udC1zaXplOiAxNHB4OyBjb2xvcjogJGJsYWNrOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdHBhZGRpbmc6IDVweDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVye1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5jb250ZW50e1xuXHRcdGZsZXg6IDE7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGJhY2tncm91bmQ6ICNlM2ViZWQ7XG5cdFx0ei1pbmRleDogMjsgLy8gYWJvdmUgdGhlIG1hcFxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogNTAlO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAwMHB4KSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogNDAlO1xuXHRcdH1cblxuXHRcdC5Qcm9wZXJ0aWVzTGlzdHtcblx0XHRcdGJhY2tncm91bmQ6ICNlM2ViZWQ7XG5cdFx0XHRmb250LXNpemU6IDEuNmVtO1xuXG5cdFx0XHQuU3RhdHVze1xuXHRcdFx0XHQkbGFyZ2U6IDE0MDBweDtcblxuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcblx0XHRcdFx0Zm9udC1zaXplOiAwLjllbTsgdGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRwYWRkaW5nOiAwLjdlbSAwIDAuOWVtOyBtYXJnaW4tYm90dG9tOiAxZW07XG5cblx0XHRcdFx0LndyYXB7XG5cdFx0XHRcdFx0b3ZlcmZsb3c6IHZpc2libGU7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQuc3RhdHVze1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuODtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDAuNmVtO1xuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHRmbGV4OiAxO1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQuaW5uZXJ7XG5cblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2UpIHtcblx0XHRcdFx0XHRcdFx0XHRmbGV4OiAxO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0LmJ1dHRvbnN7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdFx0XHRcdFx0XHRcdFx0YXtcblx0XHRcdFx0XHRcdFx0XHRcdEBleHRlbmQgJWhvdmVyO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuNDQpO1xuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRyZWQ7IGZvbnQtd2VpZ2h0OiBib2xkOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwLjI1ZW0gMC40ZW07IG1hcmdpbjogMCAwIDAgMC4zZW07XG5cblx0XHRcdFx0XHRcdFx0XHRcdC5pY29ue1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDAuOGVtO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDAuNGVtO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5tb2RpZmllcnN7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiA0MDBweDtcblx0XHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xuXHRcdFx0XHRcdFx0XHRtaW4td2lkdGg6IDQwMHB4OyBtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdC5TZWxlY3R7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIHJlYWN0LXNlbGVjdCgpO1xuXHRcdFx0XHRcdFx0XHQvLyBAaW5jbHVkZSBjb2woMS8yLCAkZ3V0dGVyOiAxKTtcblxuXHRcdFx0XHRcdFx0XHRmbGV4OiAxO1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDAuOWVtOyB0ZXh0LWFsaWduOiBsZWZ0O1xuXG5cdFx0XHRcdFx0XHRcdCY6bnRoLWNoaWxkKDIpIHtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMC4yNWVtO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC53cmFwe1xuXHRcdFx0XHRAZXh0ZW5kICVjb25zdHJpY3RlZDtcblxuXHRcdFx0XHR3aWR0aDogODglO1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuOyAvLyB3ZSBuZWVkIHRvIHdyYXAgdGhlIGNvbnRlbnRzLCBidXQgQGluY2x1ZGUgc2VsZmNsZWFyKCkgZG9lc24ndCB3b3JrP1xuXG5cdFx0XHRcdCY6OmFmdGVye1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7IC8vIHNlbGZjbGVhciB3YXMgZ2V0dGluZyBpbiB0aGUgd2F5IG9mIGZsZXhib3hcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoNjAwcHgpIHtcblx0XHRcdFx0XHR3aWR0aDogJHdyYXAtd2lkZS1tYXgtd2lkdGg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdFx0XHR3aWR0aDogODglO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgxMDAwcHgpIHtcblx0XHRcdFx0XHR3aWR0aDogJHdyYXAtd2lkZS1tYXgtd2lkdGg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuUHJvcGVydHl7XG5cdFx0XHRcdFx0QGluY2x1ZGUgUHJvcGVydHkoKTtcblxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDEuMmVtO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCg2MDBweCAkdGFibGV0IC0gMSkge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgY29sKDEvMiwgJGd1dHRlcjogMSwgJGN5Y2xlOiAyKTtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDFlbTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDEuMmVtO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAwMHB4IDE1NDlweCkge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgY29sKDEvMiwgJGd1dHRlcjogMSwgJGN5Y2xlOiAyKTtcblxuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoMTU1MHB4KSB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBjb2woMS8zLCAkZ3V0dGVyOiAxLCAkY3ljbGU6IDMpO1xuXG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxLjJlbTtcblx0XHRcdFx0XHR9XG5cblxuXHRcdFx0XHRcdC8vbWF4LXdpZHRoOiAzMiU7XG5cdFx0XHRcdFx0Ly9tYXJnaW4tYm90dG9tOiAxLjUlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIkc21hbGw6ICgwIDYwMHB4KSwgKCR0YWJsZXQgJHRhYmxldCArIDE1MCk7IC8vIGJldHdlZW4gMCBhbmQgeCBPUiBiZXR3ZWVuIHRhYmxldCBhbmQgeVxuJGxhcmdlOiAoNjAxcHggJHRhYmxldCAtIDEpLCAoJHRhYmxldCArIDE1MSk7IC8vIGJldHdlZW4geCBhbmQgdGFibGV0IE9SIGxhcmdlciB0aGFuIHlcbiRsYXJnZXN0OiAkdGFibGV0ICsgMTUxO1xuXG4uUHJvcGVydHlQYWdle1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXG5cdC5Qcm9wZXJ0aWVzTWFwe1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0cG9zaXRpb246IGZpeGVkOyB0b3A6IDA7IGxlZnQ6IDA7IGJvdHRvbTogMDtcblx0XHRiYWNrZ3JvdW5kOiAjRUFFQUVBO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cmlnaHQ6IDYwJTtcblx0XHR9XG5cblx0XHQuTWFya2Vye1xuXHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRvcGFjaXR5OiAwLjc1O1xuXG5cdFx0XHRhe1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0XHRib3JkZXI6IDJweCBzb2xpZCByZWQ7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDsgY29sb3I6ICRibGFjazsgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRwYWRkaW5nOiA1cHg7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRcdH1cblxuXHRcdFx0Jjpob3Zlcntcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuY29udGVudHtcblx0XHRmbGV4OiAxO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdHotaW5kZXg6IDI7IC8vIGFib3ZlIHRoZSBtYXBcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDQwJTtcblx0XHR9XG5cblx0XHQuUHJvcGVydHl7XG5cdFx0XHRmb250LXNpemU6IDEuNmVtO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDJlbTtcblxuXHRcdFx0LmhlYWRlcntcblx0XHRcdFx0cGFkZGluZzogMS41ZW0gMCAxZW07XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkcGhhYmxldCkge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDJlbSAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aDF7XG5cdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxLjc1ZW07IGZvbnQtd2VpZ2h0OiAzMDA7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRwaGFibGV0KSB7XG5cdFx0XHRcdFx0XHR3aWR0aDogNzUlO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5TdWJ1cmJEaXN0cmljdHtmb250LXdlaWdodDogNDAwO31cblx0XHRcdFx0XHQuU3VidXJiUmVnaW9ue2ZvbnQtd2VpZ2h0OiA2MDA7fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmNvZGV7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxLjNlbTsgY29sb3I6ICM2OTY5Njk7IGxpbmUtaGVpZ2h0OiAyO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkcGhhYmxldCkge1xuXHRcdFx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQudG9we1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRoZWlnaHQ6IDMzMHB4O1xuXG5cdFx0XHRcdC53cmFwe1xuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0XHRcdFx0LnByaWNle1xuXHRcdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRyZWQ7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDIuNGVtO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiA1ZW07XG5cblx0XHRcdFx0XHRcdC8vIElFMTAsIElFMTFcblx0XHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG5cdFx0XHRcdFx0XHRcdG1pbi13aWR0aDogMTc1cHg7IHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0LmlubmVye1xuXHRcdFx0XHRcdFx0XHRmbGV4OiAxO1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDIuMmVtOyBjb2xvcjogI2ZmZjsgZm9udC13ZWlnaHQ6IDcwMDsgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5nYWxsZXJ5e1xuXHRcdFx0XHRcdFx0QGV4dGVuZCAlaG92ZXI7XG5cblx0XHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDEuMWVtO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiA1ZW07XG5cdFx0XHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAwLjc7XG5cblx0XHRcdFx0XHRcdC8vIElFMTAsIElFMTFcblx0XHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG5cdFx0XHRcdFx0XHRcdG1pbi13aWR0aDogMTc1cHg7IHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Jjpob3Zlcntcblx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMC44NTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0LmlubmVye1xuXHRcdFx0XHRcdFx0XHRmbGV4OiAxO1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDAuOTVlbTsgY29sb3I6ICNmZmY7IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC13ZWlnaHQ6IDUwMDsgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHRcdFx0XHRcdHN0cm9uZ3tcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jazsgZm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5mYXZvdXJpdGV7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmYXZvdXJpdGUoMzZweCk7XG5cblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDA7IGJvdHRvbTogLTZweDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHRcdFx0XHR3aWR0aDogOTVweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Lm1pZGRsZXtcblx0XHRcdFx0QGluY2x1ZGUgc2VsZmNsZWFyKCk7XG5cblx0XHRcdFx0LmJhZGdlc3tcblx0XHRcdFx0XHRAaW5jbHVkZSBiYWRnZXMoNDVweCk7XG5cblx0XHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiA2cHg7IG1hcmdpbi1ib3R0b206IDEzcHg7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogOHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5hY3Rpb25ze1xuXHRcdFx0XHRcdG1pbi13aWR0aDogMjUwcHg7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkc21hbGwpIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIHNlbGZjbGVhcigpO1xuXG5cdFx0XHRcdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDFlbTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xuXHRcdFx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMjhweDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRsaXtcblx0XHRcdFx0XHRcdD4gYSxcblx0XHRcdFx0XHRcdC5sYWJlbHtcblx0XHRcdFx0XHRcdFx0QGV4dGVuZCAlaG92ZXI7XG5cblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4xZW07IHRleHQtYWxpZ246IGNlbnRlcjsgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwLjM1ZW0gMC41ZW07IG1hcmdpbi1ib3R0b206IDAuMjVlbTtcblxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDJlbTsgcGFkZGluZy1sZWZ0OiAyZW07XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCYuYm9vayBhe1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZWJlY2VkO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA2cHggNnB4IDAgMDtcblxuXHRcdFx0XHRcdFx0XHRpbWd7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdFx0bWF4LXdpZHRoOiAyMDBweDtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdHNwYW57XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI2ZkZDEwZDtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjY2I4NzI1O1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiByZ2JhKDE3MywxMjQsNywxKTsgZm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwLjM1ZW0gMC41ZW07XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMCAwIDZweCA2cHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCYuYXBwbHkgYXtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJHJlZDtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAjZmZmOyBmb250LXdlaWdodDogNjAwO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Ji5tYXAgYSxcblx0XHRcdFx0XHRcdCYubWFwIHNwYW57XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRyZWQ7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkcmVkOyBmb250LXdlaWdodDogMzAwO1xuXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxhcmdlc3QpIHtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0Ji5mYWRlZHtcblx0XHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAwLjA3NTtcblx0XHRcdFx0XHRcdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRsaS5zaGFyZXtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNlM2ViZWQ7XG5cdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdGNvbG9yOiAjNDU0NTQ1OyBmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdFx0XHRcdFx0LmxhYmVse1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0XHRcdFx0XHRcdC5pY29ue1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMC41ZW07XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Lm5ldHdvcmtze1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtYXNrKCk7XG5cblx0XHRcdFx0XHRcdFx0dG9wOiAtMTAwJTsgYm90dG9tOiAxMDAlO1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkcmVkO1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xuXG5cdFx0XHRcdFx0XHRcdGxpe1xuXHRcdFx0XHRcdFx0XHRcdEBleHRlbmQgJWhvdmVyO1xuXG5cdFx0XHRcdFx0XHRcdFx0ZmxleDogMTtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDEuMmVtO1xuXG5cdFx0XHRcdFx0XHRcdFx0Ji5mYWNlYm9va3tiYWNrZ3JvdW5kOiAjM2I1OTk4O31cblx0XHRcdFx0XHRcdFx0XHQmLmdvb2dsZXBsdXN7YmFja2dyb3VuZDogIzQyODVGNDt9XG5cblx0XHRcdFx0XHRcdFx0XHRhe1xuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7IHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Lm9wZW4gLm5ldHdvcmtze1xuXHRcdFx0XHRcdFx0XHR0b3A6IDA7IGJvdHRvbTogMDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuZGVzY3JpcHRpb257XG5cdFx0XHRcdFx0Y2xlYXI6IGxlZnQ7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkge1xuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAzMDBweDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQuZGV0YWlsc3tcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDFlbTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuYWdlbnR7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogM2VtO1xuXG5cdFx0XHRcdFx0YXtcblx0XHRcdFx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5sZWZ0e1xuXHRcdFx0XHRcdFx0QGV4dGVuZCAlaG92ZXI7XG5cblx0XHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxZW07XG5cblx0XHRcdFx0XHRcdGltZ3tcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDEyMHB4O1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQuSW1hZ2V7XG5cdFx0XHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjZGZkZmRmO1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxZW07XG5cblx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYm9yZGVyIDAuMjVzIGVhc2UtaW4tb3V0O1xuXG5cdFx0XHRcdFx0XHRcdCY6aG92ZXJ7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjYzEyMDI2O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdC5Ib3ZlckltYWdle1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQvLyAuSG92ZXJJbWFnZXtcblx0XHRcdFx0XHRcdC8vIFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdC8vIFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0XHQvLyBcdGJvcmRlcjogMXB4IHNvbGlkICNkZmRmZGY7XG5cdFx0XHRcdFx0XHQvLyBcdG1hcmdpbi1ib3R0b206IDFlbTtcblx0XHRcdFx0XHRcdC8vIH1cblxuXHRcdFx0XHRcdFx0Ly8gJjpob3Zlcntcblx0XHRcdFx0XHRcdC8vIFx0LkltYWdle2Rpc3BsYXk6IG5vbmU7fVxuXHRcdFx0XHRcdFx0Ly8gXHQuSG92ZXJJbWFnZXtkaXNwbGF5OiBibG9jazt9XG5cdFx0XHRcdFx0XHQvLyB9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LnJpZ2h0e1xuXHRcdFx0XHRcdFx0LnBvc2l0aW9ue1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDEuM2VtO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQub2ZmaWNlc3tcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjJlbTsgY29sb3I6ICRyZWQ7IGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMC41ZW07XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdC5jb250YWN0e1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDEuMWVtXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIuTmV3c1BhZ2V7XG5cblx0Lk5ld3N7XG5cblx0XHQvLyBjYXRlZ29yeSBoZWFkaW5nLCBpZiBwcmVzZW50XG5cdFx0LmNhdGVnb3J5IGgye1xuXHRcdFx0Zm9udC1zaXplOiAxLjY1ZW07IGNvbG9yOiAjYWZhZmFmOyBmb250LXN0eWxlOiBpdGFsaWM7IGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRtYXJnaW4tdG9wOiAtMS44ZW07XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAtMC42ZW07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gaWYgY2F0ZWdvcnkgaXMgcHJlc2VudCwgd2Ugd2FudCB0byBzcGFjZSB0aGluZ3Mgb3V0IGEgYml0IG1vcmVcblx0XHQuY2F0ZWdvcnkgfiAuTmV3c0xpc3R7XG5cdFx0XHRtYXJnaW4tdG9wOiAxZW07XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAyZW07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Lk5ld3NMaXN0e1xuXHRcdFx0bWFyZ2luLXRvcDogLTFlbTtcblxuXHRcdFx0LlN0YXR1c3tcblxuXHRcdFx0XHQuU2VsZWN0e1xuXHRcdFx0XHRcdEBleHRlbmQgJWxheWVyO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgcmVhY3Qtc2VsZWN0KCRwYWRkaW5nOiAwLjc1ZW0pO1xuXG5cdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2E1YTVhNTtcblx0XHRcdFx0XHRmb250LXNpemU6IDEuM2VtO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDAuNWVtO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCg0MDBweCAkdGFibGV0IC0gMSkge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgY29sKDEvMik7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDEzLjVlbTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LkNvbnRlbnR7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWJvdHRvbTogMmVtO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWJvdHRvbTogMmVtO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5oYXNDYXRlZ29yaWVze1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBzZWxmY2xlYXIoKTtcblxuXHRcdFx0XHRcdFx0LkFydGljbGVze1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBjb2woMi8zKTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0LkNhdGVnb3JpZXN7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGNvbCgxLzMpO1xuXG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRyZWQ7XG5cdFx0XHRcdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDEuNWVtO1xuXG5cdFx0XHRcdFx0XHRcdGgxe1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMS42ZW07IGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMC42ZW07XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHR1bHtcblxuXHRcdFx0XHRcdFx0XHRcdGxpe1xuXHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMC4zZW07XG5cblx0XHRcdFx0XHRcdFx0XHRcdGF7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMS42ZW07IGNvbG9yOiAjNDE0MTQxOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdCYuY3VycmVudCwgJjpob3Zlcntcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJHJlZDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5BcnRpY2xlc3tcblxuXHRcdFx0XHRcdC5BcnRpY2xle1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgc2VsZmNsZWFyKCk7XG5cblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWNlY2VjO1xuXHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDJlbTsgbWFyZ2luLWJvdHRvbTogMmVtO1xuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDYwMHB4KSB7XG5cdFx0XHRcdFx0XHRcdC5sZWZ0e1xuXHRcdFx0XHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmNWY1ZjU7XG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdC5yaWdodHtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMTMwcHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0LkltYWdle1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDBweDtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMS41ZW07XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdGgye1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDEuN2VtOyBmb250LXdlaWdodDogNjAwO1xuXG5cdFx0XHRcdFx0XHRcdGF7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRibGFjazsgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdC5kYXRle1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDEuM2VtOyBjb2xvcjogJGJsYWNrOyBmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDAuNWVtO1xuXG5cdFx0XHRcdFx0XHRcdGF7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRyZWQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQuYmx1cmJ7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMS40ZW07XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdC5tb3Jle1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjRlbTsgY29sb3I6ICRyZWQ7IGZvbnQtd2VpZ2h0OiA0MDA7IHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMC4zNWVtO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuUGFnaW5hdGlvbntcblx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNkZWRlZGU7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS43NWVtO1xuXG5cdFx0XHRcdC5sZWZ0e1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZWRlZGU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi5OZXdzQXJ0aWNsZVBhZ2V7XG5cblx0LnNlY3Rpb25zOmZpcnN0LWNoaWxke1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXG5cdFx0LmRhdGV7XG5cdFx0XHRmb250LXNpemU6IDEuMWVtOyBjb2xvcjogI2FmYWZhZjsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LXdlaWdodDogNDAwO1xuXHRcdH1cblxuXHRcdC5jYXRlZ29yeXtcblx0XHRcdGZvbnQtc2l6ZTogMS4xZW07XG5cdFx0fVxuXHR9XG5cbiAgLnNoYXJlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICA+IC5Tb2NpYWxNZWRpYVNoYXJlQnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICBvcGFjaXR5OiAwLjg1O1xuXG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIiwiLkFib3V0UGFnZXtcblxuXHQvLyB0aGlzIGNhbiBiZSB0b2dnbGVkIHRvIC5vcGVuXG5cdD4gZGl2e1xuXG5cdFx0Ly8gY2xvc2VkXG5cdFx0LnNlY3Rpb24uYnV0dG9ucy5tb3Jle1xuXHRcdFx0Lmljb257Zm9udC1zaXplOiAxZW07IG1hcmdpbi1yaWdodDogMC41ZW07fVxuXG5cdFx0XHR+IC5zZWN0aW9ue1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYub3BlbntcblxuXHRcdFx0Ly8gb3BlblxuXHRcdFx0LnNlY3Rpb24uYnV0dG9ucy5tb3Jle1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0XHRcdH4gLnNlY3Rpb257XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi5NZWV0VGhlVGVhbVBhZ2V7XG5cblx0LkFnZW50c0xpc3R7XG5cblx0XHR1bHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxZW07XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoNjAwcHgpIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogM2VtO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDgwMHB4KSB7XG5cdFx0XHRcdGZsZXgtd3JhcDogbm93cmFwO1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHR9XG5cblx0XHRcdGxpe1xuXHRcdFx0XHRAZXh0ZW5kICVob3ZlcjtcblxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkcmVkO1xuXHRcdFx0XHRmb250LXNpemU6IDEuNGVtOyB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdHdpZHRoOiA0OSU7XG5cdFx0XHRcdHBhZGRpbmc6IDFlbSAwOyBtYXJnaW4tYm90dG9tOiAwLjVlbTtcblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDgwMHB4KSB7XG5cdFx0XHRcdFx0d2lkdGg6IDI0JTtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDElO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cblx0XHRcdFx0XHQmOmxhc3QtY2hpbGR7XG5cdFx0XHRcdFx0XHR3aWR0aDogMjUlO1xuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYuY3VycmVudHtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJHJlZDtcblx0XHRcdFx0XHRjb2xvcjogI2ZmZjsgZm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYubGlua3tcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHRcdFx0YXtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0Y29sb3I6ICM0MjQyNDI7IHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDFlbSAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LlRlYW1ze1xuXG5cdFx0XHQuVGVhbXtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXG5cdFx0XHRcdCYuY2FyZWVyc3tcblx0XHRcdFx0XHQuSW1hZ2UsIC5Ib3ZlckltYWdle1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMC4yO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGgye1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMS44ZW07IGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMC41ZW07XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuQWdlbnRze1xuXHRcdFx0XHRcdEBpbmNsdWRlIHNlbGZjbGVhcigpO1xuXG5cdFx0XHRcdFx0LkFnZW50e1xuXHRcdFx0XHRcdFx0QGV4dGVuZCAlaG92ZXI7XG5cblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdFx0XHRcdGNvbG9yOiAjMmMyYzJjOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDFlbTtcblxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCg0NTBweCkge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBjb2woMS8yLCAkY3ljbGU6IDIpO1xuXG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDEuNWVtO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDY1MHB4KSB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGNvbCgxLzMsICR1bmN5Y2xlOiAyLCAkY3ljbGU6IDMpO1xuXG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDJlbTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCg4NTBweCkge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBjb2woMS80LCAkdW5jeWNsZTogMywgJGN5Y2xlOiA0KTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0aW1ne1xuXHRcdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjZGZkZmRmO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBib3JkZXIgMC4yNXMgZWFzZS1pbi1vdXQ7XG5cblx0XHRcdFx0XHRcdFx0Jjpob3Zlcntcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItY29sb3I6ICNjMTIwMjY7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Lm5hbWVwbGF0ZXtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI0YzRjNGMztcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjVlbTsgdGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwLjVlbSAwLjI1ZW07XG5cblx0XHRcdFx0XHRcdFx0c3Ryb25ne1xuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0ZW17XG5cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLkFnZW50UGFnZXtcblxuXHQuc2VjdGlvbnN7XG5cdFx0bWFyZ2luLXRvcDogMmVtO1xuXG5cdFx0LmxlZnR7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMmVtO1xuXHRcdFx0fVxuXG5cdFx0XHQuSW1hZ2V7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNkZmRmZGY7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDFlbTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQucmlnaHR7XG5cdFx0XHQucG9zaXRpb257XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS4zZW07XG5cdFx0XHR9XG5cblx0XHRcdC5vZmZpY2Vze1xuXHRcdFx0XHRmb250LXNpemU6IDEuMmVtOyBjb2xvcjogJHJlZDsgZm9udC1zdHlsZTogaXRhbGljO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwLjVlbTtcblx0XHRcdH1cblxuXHRcdFx0LmNvbnRhY3R7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS4xZW1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuVmlkZW97XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuXHRcdG1hcmdpbi10b3A6IDJlbTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogM2VtO1xuXHRcdH07XG5cdH1cbn1cbiIsIi5BcHBseU9ubGluZVBhZ2V7XG5cbiAgICAuc3RlcHN7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41ZW07XG5cbiAgICAgICAgbGl7XG4gICAgICAgICAgICBAZXh0ZW5kICVob3ZlcjtcblxuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgI0QxRDFEMztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDI7XG4gICAgICAgICAgICBtYXJnaW46IDAgMC4yNWVtO1xuICAgICAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgICAgICAgJi5wYXN0e2JvcmRlci1jb2xvcjogIzBEQTcwRDsgY3Vyc29yOiBwb2ludGVyO31cbiAgICAgICAgICAgICYuY3VycmVudHtvcGFjaXR5OiAxOyBjdXJzb3I6IGRlZmF1bHQ7fVxuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OiAwO31cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZHttYXJnaW4tcmlnaHQ6IDA7fVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnF1aWNrc3RhcnR7XG4gICAgICAgIG1hcmdpbi10b3A6IDJlbTtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC0wLjVlbTsgLy8gaW1hZ2Ugbm90IGNyb3BwZWQgY29ycmVjdGx5XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnJvd3tcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlbGZjbGVhcigpO1xuXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG5cbiAgICAgICAgICAgIC5maWVsZEhvbGRlcntcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRwaGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbHVtbigxLzMsICRjeWNsZTogMyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDZ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgIH1cbn1cbiIsIkBtZWRpYSBwcmludCB7XG4gIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuICBib2R5IHsgbWFyZ2luOiAwOyB9XG59XG5cbmJvZHkuUHJpbnRGb3Jte1xuXHRjb2xvcjogIzAwMDsgZm9udC13ZWlnaHQ6IDQwMDtcblx0cGFkZGluZy1ib3R0b206IDFlbTtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuI1ByaW50Rm9ybXtcblx0Zm9udC1zaXplOiAwLjk1ZW07XG5cdHdpZHRoOiA5NiU7XG5cblx0QG1lZGlhIHByaW50IHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdC5sb2dve1xuXHRcdHBhZGRpbmc6IDFlbSAwO1xuXG5cdFx0QG1lZGlhIHByaW50IHtcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdH1cblx0XHRcblx0XHRoMXtcblx0XHRcdGZvbnQtc2l6ZTogMS44ZW07IGNvbG9yOiAkcmVkOyBmb250LXdlaWdodDogNjAwO1xuXHRcdFx0cGFkZGluZzogMDtcdFx0XG5cdFx0fVxuXG5cdFx0aW1ne1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0aGVpZ2h0OiAyLjVlbTtcblx0XHR9XG5cdH1cblxuXHQucGFnZWJyZWFre1xuXHRcdHBhZ2UtYnJlYWstYmVmb3JlOiBhbHdheXM7XG5cdFx0cGFkZGluZy10b3A6IDEuNmNtO1xuXHR9XG5cblx0aDJ7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0Zm9udC1zaXplOiAxLjRlbTsgZm9udC13ZWlnaHQ6IDQwMDtcblx0XHRtYXJnaW4tdG9wOiAwLjc1ZW07IG1hcmdpbi1ib3R0b206IDAuMjVlbTtcblx0fVxuXG5cdGgze1xuXHRcdGNsZWFyOiBib3RoO1xuXHR9XG5cblx0dGFibGV7XG5cdFx0cGFnZS1icmVhay1pbnNpZGU6IGF2b2lkIWltcG9ydGFudDtcblx0XHR0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHR0cntcblxuXHRcdFx0JjpsYXN0LWNoaWxke1xuXHRcdFx0XHR0ZHtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAwIG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0dGgsIHRke1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdH1cblxuXHRcdFx0dGh7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICMzRTNFM0U7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuXHRcdFx0XHRjb2xvcjogI2ZmZjsgdGV4dC1hbGlnbjogbGVmdDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdHBhZGRpbmc6IDAuNWVtO1xuXG5cdFx0XHRcdGVte1xuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lOyBmb250LXdlaWdodDogMjAwOyBmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0dGR7XG5cdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2M7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuXHRcdFx0XHRwYWRkaW5nOiAwLjVlbTtcblxuXHRcdFx0XHQmLmdyZXl7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogI0YxRjFGMTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYuc3RhdGVtZW50e1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cblx0XHRcdFx0XHRwe1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMC41ZW07XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0cDpsYXN0LWNoaWxke1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLnNpZ25hdHVyZXtcblx0XHRcdFx0XHRwYWRkaW5nOiAzZW0gMC41ZW07XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmxhc3QtY2hpbGR7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAwIG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0c3Ryb25ne1xuXHRcdFx0XHRmb250LXdlaWdodDogbm9ybWFsOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0JiArIHRhYmxle1xuXHRcdFx0Ym9yZGVyLXRvcDogMCBub25lO1xuXHRcdH1cblx0fVxuXG5cdC5maW5lcHJpbnR7XG5cdFx0Zm9udC1zaXplOiAwLjllbTtcblx0fVxuXHRcblx0LmZpbGV7XG5cdFx0cGFnZS1icmVhay1pbnNpZGU6IGF2b2lkIWltcG9ydGFudDtcblx0XHRwYWRkaW5nOiAwLjhjbSAwO1xuXG5cdFx0aDN7XG5cdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdGZvbnQtc2l6ZTogMS41ZW07IGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHR3aWR0aDogNzAlO1xuXHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0fVxuXG5cdFx0aW1ne1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuXHRcdFx0d2lkdGg6IDcwJTtcblx0XHRcdHBhZGRpbmc6IDVweDsgbWFyZ2luOiAwIGF1dG87XG5cdFx0fVxuXHR9XG5cbn0iLCIuTW92aW5nSHViUGFnZXtcblxuXHQuTW92aW5nSHViIHtcblx0XHRib3JkZXI6IDAgbm9uZTtcblx0XHR3aWR0aDogMTAwJTsgbWluLWhlaWdodDogNDZlbTtcblx0fVxufVxuIl19 */
