/* ------------------------------ */
/* Variables */
/* ------------------------------ */
@import url("https://fast.fonts.net/lt/1.css?apiType=css&c=c1f0477e-ef4c-43fc-8458-df1fc9648bc3&fontids=693238");
.lessVars {
  font-family: 'tablet: 1000px, mobile: 640px';
  display: none;
}
/*

    Monochromatic, man

    @primaryGreen
    #CDFFCD
    #81FF81
    #677F67
    @ctaGreen

*/
/* ------------------------------ */
/* Media Query Breakpoints */
/* ------------------------------ */
/**
 * @import of dynamic variables
 */
/* 
 * 
 * Sample CSS file
 * 
 * On staging (grunt off) css files are loaded from core/includes/header.inc.php 
 * automatically when placed in this folder.
 * 
 * On live they will be automatically included through grunt and compressed and concatenated
 * into sites/SITE/min/a.css and included from that location.
 * 
 */
/* 
 * 
 * Sample CSS file
 * 
 * On staging (grunt off) css files are loaded from core/includes/header.inc.php 
 * automatically when placed in this folder.
 * 
 * On live they will be automatically included through grunt and compressed and concatenated
 * into sites/SITE/min/a.css and included from that location.
 * 
 */
/*
 *
 *
 *    Zoom Plugin
 *    CSS in beta, needs cleaning
 *
 */
.zoomContainer {
  position: relative;
  margin: 0 auto;
}
.zoomContainer .zoom {
  line-height: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -ms-touch-action: none;
  user-select: none;
  position: relative;
  display: block;
  overflow: hidden;
  border: 0;
  margin: 0 auto;
}
.zoomContainer .zoom img {
  margin: 0 auto;
  display: block;
  max-width: 100%;
}
.zoomContainer .zoom .portal img {
  max-width: none;
}
.zoomContainer .loader {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.5);
}
.zoomContainer .loader img {
  width: 16px;
  height: 16px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -8px;
  margin-top: -8px;
  display: block;
}
.zoomContainer .clickToLoad {
  display: block;
  background: #fff;
  text-transform: uppercase;
  text-align: left;
  position: absolute;
  bottom: 10px;
  left: 0px;
  pointer-events: none;
}
.zoomContainer .clickToLoad i {
  display: inline-block;
  margin-left: 4px;
  font-size: 10px;
  line-height: 15px;
  vertical-align: middle;
}
/*	BigVideo Styles
	You may need to adjust these styles to get this working right in your design.
*/
#big-video-wrap {
  overflow: hidden;
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 2;
}
#big-video-vid,
#big-video-image {
  position: absolute;
}
#big-video-control-container {
  position: fixed;
  bottom: 0;
  padding: 10px;
  width: 100%;
  background: rgba(0, 0, 0, 0.25);
  -webkit-transition-duration: 0.6s;
  -moz-transition-duration: 0.6s;
  -ms-transition-duration: 0.6s;
  -o-transition-duration: 0.6s;
  transition-duration: 0.6s;
  display: none;
  display: none!important;
}
#big-video-control {
  width: 100%;
  height: 16px;
  position: relative;
  display: none!important;
}
#big-video-control-middle {
  margin: 0 56px 0 24px;
}
#big-video-control-bar {
  width: 100%;
  height: 16px;
  position: relative;
  cursor: pointer;
}
#big-video-control-progress {
  position: absolute;
  top: 7px;
  height: 3px;
  width: 0%;
  background: #fff;
}
#big-video-control-track {
  position: absolute;
  top: 8px;
  height: 1px;
  width: 100%;
  background: #fff;
}
#big-video-control-bound-left {
  left: 0;
}
#big-video-control-bound-right {
  right: -1px;
}
#big-video-control-track .ui-slider-handle {
  opacity: 0;
}
#big-video-control-playhead {
  left: 30%;
}
#big-video-control-play {
  position: absolute;
  top: 0;
  left: 0;
  height: 16px;
  width: 16px;
  background-image: url('bigvideo.png');
}
#big-video-control-timer {
  position: absolute;
  top: 1px;
  right: 0;
  color: #fff;
  font-size: 11px;
}
#big-video-control-playhead,
#big-video-control-bound-left,
#big-video-control-bound-right {
  position: absolute;
  top: 0;
  height: 16px;
  width: 1px;
  background: #fff;
}
#big-video-control .ui-slider-handle {
  border-left: solid 1px #fff;
  width: 16px;
  height: 16px;
  position: absolute;
  top: -8px;
}
.transparent {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  -khtml-opacity: 0;
  opacity: 0;
}
#big-video-wrap .vjs-big-play-button {
  display: none !important;
}
.vjs-control-bar,
.vjs-hidden {
  display: none!important;
}
/* ------------------------------ */
/* Slick Styles  */
/* ------------------------------ */
.slick-slider {
  position: relative;
  display: block;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
}
.slick-track:before,
.slick-track:after {
  display: table;
  content: '';
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}
.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
  outline: 0;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
[dir='rtl'] .slick-slide {
  float: right;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
  display: none;
}
/* Mobile */
@media all and (max-width: 640px) {
  table.responsive {
    margin: 0 !important;
  }
  table.responsive th,
  table.responsive td {
    position: relative;
    white-space: nowrap;
    overflow: hidden;
    line-height: 34px;
    display: table-cell !important;
  }
  table.responsive th:first-child,
  table.responsive td:first-child {
    display: none !important;
  }
  table.responsive .pinned td {
    display: none;
  }
  .tableWrapper {
    position: relative;
    margin-bottom: 20px;
    overflow: hidden;
    border-right: 1px solid #eee;
  }
  .tableWrapper .scrollable {
    margin-left: 35%;
    overflow: scroll;
    overflow-y: hidden;
  }
  .tableWrapper .pinned {
    position: absolute;
    left: 0;
    top: 0;
    background: #fff;
    width: 35%;
    overflow: hidden;
    overflow-x: scroll;
    border-right: 1px solid #eee;
    border-left: 1px solid #eee;
  }
  .tableWrapper .pinned table {
    border-right: none;
    border-left: none;
    width: 100%;
    margin: 0;
  }
  .tableWrapper .pinned table th,
  .tableWrapper .pinned table td {
    white-space: nowrap;
    line-height: 34px;
  }
  .tableWrapper .pinned table th:first-child {
    padding: 5px;
  }
  .tableWrapper .pinned table td:last-child {
    border-bottom: 0;
  }
}
/* ------------------------------ */
/* ------------------------------ */
/* ------------------------------ */
/* ------------------------------ */
/* Make your changes in mtc_style.less */
/* ------------------------------ */
/* ------------------------------ */
/* ------------------------------ */
/* ------------------------------ */
/* ------------------------------ */
/* normalize.css v3.0.2 | MIT License | git.io/normalize */
/* ------------------------------ */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}
/**
 * Remove default margin.
 */
body {
  margin: 0;
}
/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}
/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}
/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}
/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}
/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}
/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}
/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}
/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2.4615384615384617em;
  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: 13px;
  font-size: 1rem;
}
/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}
/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}
/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}
/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}
/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}
/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1.2307692307692308em;
}
/* 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 */
  -webkit-appearance: none;
  border-radius: 0;
}
/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}
/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}
/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}
/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}
/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}
/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}
/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}
/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}
/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/* ------------------------------ */
/* End of normalise code */
/* ------------------------------ */
img {
  vertical-align: middle;
  max-width: 100%;
}
#map img {
  max-width: none;
}
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
textarea {
  resize: vertical;
}
.lt-ie7 input {
  vertical-align: text-bottom;
}
.lt-ie8 input[type="checkbox"] {
  vertical-align: baseline;
}
/* ------------------------------ */
/* Base Styles */
/* ------------------------------ */
* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  overflow-y: scroll;
  height: 100%;
}
body {
  font-size: 13px;
  line-height: 1.462;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin: 0;
  height: 100%;
}
/* ------------------------------ */
/* Text Selection Colours */
/* ------------------------------ */
::-moz-selection {
  background: #0f55c4;
  color: #fff;
  text-shadow: none;
}
::selection {
  background: #0f55c4;
  color: #fff;
  text-shadow: none;
}
/* ------------------------------ */
/* Horizontal Rule */
/* ------------------------------ */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #EEE;
  color: #333;
  margin: 2em 0;
  padding: 0;
  clear: both;
}
p {
  margin-top: 0;
}
p:last-child {
  margin-bottom: 0;
}
a {
  text-decoration: none;
  color: #000;
  outline: 0;
}
a:hover,
a:active {
  outline: 0;
}
/* ------------------------------ */
/* Form Styles */
/* ------------------------------ */
form fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
form legend {
  display: none;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #999;
}
input:-moz-placeholder,
textarea:-moz-placeholder {
  /* Firefox 18- */
  color: #999;
}
input::-moz-placeholder,
textarea::-moz-placeholder {
  /* Firefox 19+ */
  opacity: 1;
  color: #999;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #999;
}
textarea {
  resize: vertical;
}
.lt-ie7 input {
  vertical-align: text-bottom;
}
.lt-ie8 input[type="checkbox"] {
  vertical-align: baseline;
}
input,
textarea,
select,
label {
  box-shadow: 0 0 0;
  outline: 0;
  margin: 0;
  padding: 0;
}
select {
  width: 100%;
}
.row {
  float: left;
  width: 100%;
  margin: 0 0 15px;
}
.row label {
  float: left;
  padding: 9px 0;
  line-height: normal;
}
.row small {
  display: none;
}
.row .inputWrap {
  float: left;
  width: 100%;
}
.row .text,
.row textarea,
.row select,
.row .chosen-search input {
  float: left;
  position: relative;
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #999;
  line-height: normal;
}
.row .chosen-container {
  width: 100%;
}
.row input[disabled] {
  background: #E7E7E7;
  border: 1px solid #E7E7E7;
}
.buttonInline {
  float: left;
  width: 100%;
}
.buttonInline .inputWrap {
  width: 70%;
}
.buttonInline button,
.buttonInline .button {
  padding: 9px 10px;
  width: 30%;
  line-height: normal;
}
@media all and (max-width: 640px) {
  .buttonInline {
    padding: 0;
    width: 100%;
  }
  .buttonInline .inputWrap {
    margin: 0 0 2%;
    padding: 0;
    width: 100%;
  }
  .buttonInline button,
  .buttonInline .button {
    width: 100%;
  }
}
.formInline .row label {
  width: 30%;
}
.formInline .row .inputWrap {
  padding: 0 0 0 2%;
  width: 70%;
}
.formInline .row .mobileChosen select {
  width: 100%;
}
.formInline .row.checkboxRow label {
  padding-top: 0;
  padding-bottom: 0;
  width: auto;
}
.formInline .buttonInline {
  padding: 0 0 0 2%;
  width: 70%;
}
.formInline .buttonInline .inputWrap {
  padding: 0;
}
@media all and (max-width: 640px) {
  .formInline .row label {
    clear: both;
    width: 100%;
  }
  .formInline .row .inputWrap {
    padding: 0;
    width: 100%;
  }
  .formInline .buttonInline {
    padding: 0;
    width: 100%;
  }
}
.fileUpload input {
  width: 0;
  height: 0;
  line-height: 0;
  overflow: hidden;
}
.fileUpload .fileName {
  min-width: 100px;
  float: left;
  padding: 8px 15px;
  margin-left: 10px;
}
.fileUpload .fileName span {
  display: block;
}
.inputError {
  position: relative;
}
.inputError input::-webkit-input-placeholder,
.inputError textarea::-webkit-input-placeholder {
  color: #B94A48;
}
.inputError input:-moz-placeholder,
.inputError textarea:-moz-placeholder {
  /* Firefox 18- */
  color: #B94A48;
}
.inputError input::-moz-placeholder,
.inputError textarea::-moz-placeholder {
  /* Firefox 19+ */
  opacity: 1;
  color: #B94A48;
}
.inputError input:-ms-input-placeholder,
.inputError textarea:-ms-input-placeholder {
  color: #B94A48;
}
.inputError .text,
.inputError textarea {
  padding-right: 32px !important;
  border-color: #EED3D7 !important;
}
.inputError select {
  border-color: #EED3D7 !important;
}
.inputError.showError .text:focus + .errorWrap span {
  filter: alpha(opacity=0);
  opacity: 0;
  visibility: hidden;
  padding: 0;
  height: 0;
  margin: 0;
  -webkit-transition: visibility 0s linear 200ms, opacity 200ms ease 0s, height 0s linear 200ms;
  -moz-transition: visibility 0s linear 200ms, opacity 200ms ease 0s, height 0s linear 200ms;
  -ms-transition: visibility 0s linear 200ms, opacity 200ms ease 0s, height 0s linear 200ms;
  -o-transition: visibility 0s linear 200ms, opacity 200ms ease 0s, height 0s linear 200ms;
  transition: visibility 0s linear 200ms, opacity 200ms ease 0s, height 0s linear 200ms;
}
.inputError.showError .errorWrap span {
  filter: alpha(opacity=100);
  opacity: 1;
  visibility: visible;
  -transition-delay: 0s;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s;
  height: auto;
  margin: 2% 0 0;
  padding: 9px;
}
.inputError .errorWrap {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  color: #B94A48;
}
.inputError .errorWrap i {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  cursor: default;
}
.inputError .errorWrap i:hover + span {
  visibility: visible;
  filter: alpha(opacity=100);
  opacity: 1;
  -transition-delay: 0s;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s;
}
.inputError .errorWrap span {
  float: left;
  width: 100%;
  padding: 0;
  border: 1px solid #EED3D7;
  border-radius: 0;
  background: #F2DEDE;
  height: 0;
  margin: 0;
  filter: alpha(opacity=0);
  opacity: 0;
  visibility: hidden;
  line-height: 1em;
  z-index: 4;
  -webkit-transition: visibility 0s linear 200ms, opacity 200ms ease 0s, height 0s linear 200ms;
  -moz-transition: visibility 0s linear 200ms, opacity 200ms ease 0s, height 0s linear 200ms;
  -ms-transition: visibility 0s linear 200ms, opacity 200ms ease 0s, height 0s linear 200ms;
  -o-transition: visibility 0s linear 200ms, opacity 200ms ease 0s, height 0s linear 200ms;
  transition: visibility 0s linear 200ms, opacity 200ms ease 0s, height 0s linear 200ms;
}
.inputError .errorWrap span:hover {
  filter: alpha(opacity=100);
  opacity: 1;
  visibility: visible;
  -transition-delay: 0s;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s;
}
.inputError .errorWrap.overlayOnInput span {
  position: absolute;
  top: 0;
  right: 0;
  float: none;
  margin: 0;
  width: auto;
  background: #fff;
  border-color: #B94A48;
}
.buttonInline .inputError .errorWrap span {
  width: 143%;
}
#billingAddressListRow {
  display: none;
}
.no-js #password_text {
  display: none;
}
/* ------------------------------ */
/* Change Box Model */
/* ------------------------------ */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
/* ------------------------------ */
/* Hide Anti Spam Field */
/* ------------------------------ */
.contactForm .answer {
  display: none;
}
/* ------------------------------ */
/* Checkboxes */
/* ------------------------------ */
.checkbox input {
  float: left;
  display: inline;
  margin: 2%;
  padding: 0;
  *height: 13px;
  *width: 13px;
}
/* ------------------------------ */
/* Checkbox Toggle - Similar to the one seen in iOS */
/* ------------------------------ */
.checkboxToggle {
  visibility: hidden;
}
.checkboxToggle + label {
  cursor: pointer;
  display: block;
  position: relative;
  box-shadow: inset 0 0 0px 1px #d5d5d5;
  text-indent: -5000px;
  height: 20px;
  width: 40px;
  border-radius: 10px;
}
.checkboxToggle + label:before {
  content: '';
  position: absolute;
  display: block;
  height: 20px;
  width: 18px;
  top: 0;
  left: 0;
  border-radius: 10px;
  -webkit-transition: background 0.25s ease-in-out 0s, width 0.25s ease-in-out 0s;
  -moz-transition: background 0.25s ease-in-out 0s, width 0.25s ease-in-out 0s;
  -ms-transition: background 0.25s ease-in-out 0s, width 0.25s ease-in-out 0s;
  -o-transition: background 0.25s ease-in-out 0s, width 0.25s ease-in-out 0s;
  transition: background 0.25s ease-in-out 0s, width 0.25s ease-in-out 0s;
}
.checkboxToggle + label:after {
  content: '';
  position: absolute;
  display: block;
  height: 18px;
  width: 18px;
  margin: 1px;
  top: 0;
  left: 0;
  border-radius: 50%;
  background: #0f55c4;
  -webkit-transition: left 0.25s ease-in-out 0s, background 0.25s ease-in-out 0s;
  -moz-transition: left 0.25s ease-in-out 0s, background 0.25s ease-in-out 0s;
  -ms-transition: left 0.25s ease-in-out 0s, background 0.25s ease-in-out 0s;
  -o-transition: left 0.25s ease-in-out 0s, background 0.25s ease-in-out 0s;
  transition: left 0.25s ease-in-out 0s, background 0.25s ease-in-out 0s;
}
.checkboxToggle:checked + label:before {
  width: 100%;
  background: #0f55c4;
}
.checkboxToggle:checked + label:after {
  left: 50%;
  background: #fff;
}
/* ------------------------------ */
/* Radio buttons */
/* ------------------------------ */
.radioWrap ul {
  margin: 0;
  padding: 0;
  float: left;
  display: inline;
  width: 70%;
}
.radioWrap ul li {
  list-style-type: none;
}
/* ------------------------------ */
/* Notification Styles */
/* ------------------------------ */
.alert {
  padding: 8px 35px 8px 14px;
  margin-bottom: 20px;
  color: #C09853;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  background-color: #FCF8E3;
  border: 1px solid #FBEED5;
  border-radius: 2px;
}
.alert p {
  margin: 0;
  padding: 0;
}
.success,
.error {
  clear: both;
  padding: 15px;
  border-radius: 2px;
  margin: 0 0 15px 0;
  text-align: left;
}
.success ul,
.error ul {
  margin: 0;
  padding: 0;
}
.success ul li,
.error ul li {
  background: none;
  padding: 0;
  margin: 0;
}
.success {
  background: #DFF0D8;
  color: #468847;
  border: 1px solid #D6E9C6;
}
.error {
  background: #F2DEDE;
  color: #B94A48;
  border: 1px solid #EED3D7;
}
.messageFull {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 20px;
  background: #DFF0D8;
  color: #468847;
  border: 1px solid #D6E9C6;
  padding: 15px;
  border-radius: 2px;
  margin: 0 0 15px 0;
  z-index: 9000;
}
.errorMessageFull {
  background: #F2DEDE;
  color: #B94A48;
  border: 1px solid #EED3D7;
}
input.inputError,
input textarea,
.inputError {
  border-color: #B94A48;
}
.hideme {
  display: none;
}
/* ------------------------------ */
/* Clearing for general use */
/* ------------------------------ */
.clear {
  clear: both;
}
/* ------------------------------ */
/* Last (deprecated by only applying to below IE9, use media queries instead) */
/* ------------------------------ */
.lt-ie9 .last {
  margin-right: 0 !important;
}
/* ------------------------------ */
/* First (deprecated by only applying to below IE9, use media queries instead) */
/* ------------------------------ */
.lt-ie9 .first {
  clear: both;
}
/* ------------------------------ */
/* Relative Positioning */
/* ------------------------------ */
.relative {
  position: relative;
}
/* ------------------------------ */
/* Images */
/* ------------------------------ */
img {
  max-width: 100%;
}
.left,
.alignleft {
  float: left;
  display: block;
}
.right,
.alignright {
  float: right;
  display: block;
}
/* ------------------------------ */
/* Lists */
/* ------------------------------ */
ul {
  margin: 0;
  padding: 0;
}
ul li {
  list-style-type: none;
}
/* ------------------------------ */
/* Basic List */
/* ------------------------------ */
/* ------------------------------ */
/* Navigation Style */
/* ------------------------------ */
/* ------------------------------ */
/* Edge to edge navigation */
/* ------------------------------ */
/* ------------------------------ */
/* Fade Dropdown Hover */
/* ------------------------------ */
.fadeNav li ul {
  display: block;
  filter: alpha(opacity=0);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 400ms linear 0s, visibility 0s linear 400ms;
  -moz-transition: opacity 400ms linear 0s, visibility 0s linear 400ms;
  -ms-transition: opacity 400ms linear 0s, visibility 0s linear 400ms;
  -o-transition: opacity 400ms linear 0s, visibility 0s linear 400ms;
  transition: opacity 400ms linear 0s, visibility 0s linear 400ms;
}
.fadeNav li:hover > ul {
  filter: alpha(opacity=100);
  opacity: 1;
  visibility: visible;
  -transition-delay: 0s;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s;
}
.fadeNav li .lt-ie9 .fadeNav li ul {
  display: none;
  filter: alpha(opacity=100);
  opacity: 1;
  visibility: visible;
}
.fadeNav li .lt-ie9 .fadeNav li:hover ul {
  display: block;
}
/* ------------------------------ */
/* Slide Dropdown Hover */
/* ------------------------------ */
.slideNav li ul {
  display: block;
  background: #eee;
}
.slideNav li ul li {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 400ms linear 400ms;
  -moz-transition: max-height 400ms linear 400ms;
  -ms-transition: max-height 400ms linear 400ms;
  -o-transition: max-height 400ms linear 400ms;
  transition: max-height 400ms linear 400ms;
}
.slideNav li ul li a {
  filter: alpha(opacity=0);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 400ms linear 0s, visibility 0s linear 400ms;
  -moz-transition: opacity 400ms linear 0s, visibility 0s linear 400ms;
  -ms-transition: opacity 400ms linear 0s, visibility 0s linear 400ms;
  -o-transition: opacity 400ms linear 0s, visibility 0s linear 400ms;
  transition: opacity 400ms linear 0s, visibility 0s linear 400ms;
}
.slideNav li:hover ul li {
  max-height: 19px;
  -webkit-transition: max-height 400ms linear 0s;
  -moz-transition: max-height 400ms linear 0s;
  -ms-transition: max-height 400ms linear 0s;
  -o-transition: max-height 400ms linear 0s;
  transition: max-height 400ms linear 0s;
}
.slideNav li:hover ul li a {
  filter: alpha(opacity=100);
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 400ms linear 400ms, visibility 0s linear 0s;
  -moz-transition: opacity 400ms linear 400ms, visibility 0s linear 0s;
  -ms-transition: opacity 400ms linear 400ms, visibility 0s linear 0s;
  -o-transition: opacity 400ms linear 400ms, visibility 0s linear 0s;
  transition: opacity 400ms linear 400ms, visibility 0s linear 0s;
}
.lt-ie9 .slideNav li ul li a {
  display: none;
  filter: alpha(opacity=100);
  opacity: 1;
  visibility: visible;
}
.lt-ie9 .slideNav li:hover ul li a {
  display: block;
}
/* ------------------------------ */
/* Credit styling */
/* ------------------------------ */
#credits a strong {
  text-transform: lowercase;
}
#credits a:hover strong {
  color: #0f55c4;
}
/* ------------------------------ */
/* Checkbox Groups */
/* ------------------------------ */
.checkboxgroup {
  margin: 0;
  padding: 0;
  display: table;
  clear: both;
}
.checkboxgroup li {
  list-style-type: none;
  display: table-cell;
}
.checkboxgroup li input,
.checkboxgroup li li label {
  float: left;
  display: inline;
}
/* ------------------------------ */
/* Buttons */
/* ------------------------------ */
/* ------------------------------ */
/* Button Groups */
/* ------------------------------ */
.buttongroup {
  float: left;
  display: inline;
  width: 100%;
  clear: both;
}
.buttongroup .button {
  float: left;
  display: block;
  margin-right: 2%;
  border-right: 0;
}
/* ------------------------------ */
/* Tables */
/* ------------------------------ */
table {
  width: 100%;
}
table td,
table th {
  padding: 5px 10px;
  text-align: left;
}
/* ------------------------------ */
/* max-width: none; overrides max-width: 100% from above which distorts the icons on gmaps */
/* ------------------------------ */
#map img {
  max-width: none;
}
/* ------------------------------ */
/* Centre Elements */
/* ------------------------------ */
.centerPush {
  position: relative;
  float: left;
  left: 50%;
}
.centerPull {
  position: relative;
  float: right;
  right: 50%;
}
@media all and (max-width: 640px) {
  .mobilePush {
    position: relative;
    float: left;
    left: 50%;
  }
  .mobilePull {
    position: relative;
    float: right;
    right: 50%;
  }
}
/* ------------------------------ */
/* Table Div */
/* ------------------------------ */
.table {
  display: table;
}
.tableCell {
  display: table-cell;
}
/* ------------------------------ */
/* Browser Compatibility Warning */
/* ------------------------------ */
.compatibilityMessage {
  display: block;
  width: 100%;
  padding: 15px 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: bold;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  background: #0f55c4;
  color: #fff;
  border-bottom: 3px solid #fff;
  text-align: center;
  cursor: pointer;
}
.compatibilityMessage span {
  text-decoration: underline;
}
/* ------------------------------ */
/* Patterns for chop styling */
/* ------------------------------ */
.pattern {
  float: left;
  width: 100%;
  margin: 0 0 20px;
  padding: 0 0 30px;
  border-bottom: 3px solid #fff;
  clear: both;
  *zoom: 1;
}
.pattern:before,
.pattern:after {
  content: "";
  display: table;
}
.pattern:after {
  clear: both;
}
.pattern .display {
  margin: 30px 0;
  *zoom: 1;
}
.pattern .display:before,
.pattern .display:after {
  content: "";
  display: table;
}
.pattern .display:after {
  clear: both;
}
.pattern .source {
  display: block;
  background: #0f55c4;
  border: 1px solid #fff;
  padding: 15px;
  position: relative;
  margin-top: 20px;
  clear: both;
  *zoom: 1;
}
.pattern .source:before,
.pattern .source:after {
  content: "";
  display: table;
}
.pattern .source:after {
  clear: both;
}
.pattern .source textarea {
  width: 100%;
  border: 1px solid #fff;
  height: 200px;
}
.source .row {
  margin-bottom: 0;
}
.patternfilename {
  position: absolute;
  top: -20px;
  right: 5px;
  background: #0f55c4;
  border: 3px solid #fff;
  text-decoration: none;
  color: #fff;
  display: block;
  padding: 2px 10px;
}
#showMenu {
  position: fixed;
  top: 20px;
  left: 20px;
  z-index: 1000000;
  background: #0F55C4;
  border: 0;
  padding: 6px 7px;
  line-height: 1;
  font-size: 18px;
  color: #fff;
  outline: none;
}
.perspective {
  width: 100%;
  height: 100%;
}
.container {
  background: #fff;
  min-height: 100%;
  position: relative;
  outline: 1px solid rgba(0, 0, 0, 0);
  z-index: 10;
  -webkit-transform: translateZ(0) translateX(0) rotateY(0deg);
  -moz-transform: translateZ(0) translateX(0) rotateY(0deg);
  -ms-transform: translateZ(0) translateX(0) rotateY(0deg);
  -o-transform: translateZ(0) translateX(0) rotateY(0deg);
  transform: translateZ(0) translateX(0) rotateY(0deg);
}
.container:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0px;
  filter: alpha(opacity=0);
  opacity: 0;
  background: rgba(0, 0, 0, 0.2);
  /* the transition delay of the height needs to be synced with the container transition time */
  -webkit-transition: opacity 400ms, height 0s 400ms;
  -moz-transition: opacity 400ms, height 0s 400ms;
  -ms-transition: opacity 400ms, height 0s 400ms;
  -o-transition: opacity 400ms, height 0s 400ms;
  transition: opacity 400ms, height 0s 400ms;
}
/* Modal view */
.perspective.modalview {
  position: fixed;
  -webkit-perspective: 1500px;
  -moz-perspective: 1500px;
  perspective: 1500px;
}
.modalview .container {
  position: absolute;
  overflow: hidden;
  width: 100%;
  height: 100%;
  cursor: pointer;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.modalview .wrapper {
  -webkit-transform: translateZ(-1px);
  /* solves a rendering bug in Chrome on Windows */
}
.animate .container:after {
  filter: alpha(opacity=100);
  opacity: 1;
  height: 101%;
  -webkit-transition: opacity 0.3s;
  -moz-transition: opacity 0.3s;
  -ms-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
/* Outer Nav */
.outer-nav {
  position: absolute;
  height: auto;
  font-size: 0;
}
.outer-nav li ul {
  display: block;
  filter: alpha(opacity=0);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 400ms linear 0s, visibility 0s linear 400ms;
  -moz-transition: opacity 400ms linear 0s, visibility 0s linear 400ms;
  -ms-transition: opacity 400ms linear 0s, visibility 0s linear 400ms;
  -o-transition: opacity 400ms linear 0s, visibility 0s linear 400ms;
  transition: opacity 400ms linear 0s, visibility 0s linear 400ms;
}
.outer-nav li:hover > ul {
  filter: alpha(opacity=100);
  opacity: 1;
  visibility: visible;
  -transition-delay: 0s;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s;
}
.outer-nav li .lt-ie9 .fadeNav li ul {
  display: none;
  filter: alpha(opacity=100);
  opacity: 1;
  visibility: visible;
}
.outer-nav li .lt-ie9 .fadeNav li:hover ul {
  display: block;
}
.outer-nav.top {
  top: 5%;
}
.outer-nav.horizontal {
  left: 50%;
  width: 75%;
  max-width: 1000px;
  text-align: center;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}
.outer-nav ul {
  float: left;
  min-width: 15%;
  padding: 0 15px;
  background: none !important;
  -webkit-transition: opacity 200ms linear 0s, visibility 0s linear 200ms;
  -moz-transition: opacity 200ms linear 0s, visibility 0s linear 200ms;
  -ms-transition: opacity 200ms linear 0s, visibility 0s linear 200ms;
  -o-transition: opacity 200ms linear 0s, visibility 0s linear 200ms;
  transition: opacity 200ms linear 0s, visibility 0s linear 200ms;
}
.outer-nav > ul {
  text-align: left;
}
.outer-nav > ul li {
  display: inline-block;
  width: 100%;
  margin: 0;
  float: left;
  clear: both;
  position: relative;
}
.outer-nav > ul li:hover > ul {
  height: auto;
}
.outer-nav > ul li ul {
  position: absolute;
  background: none;
  left: 100%;
  top: 0;
}
@media all and (max-width: 640px) {
  .outer-nav > ul li ul {
    position: relative;
    height: 0;
    left: 0;
  }
}
.outer-nav > ul li > a:after {
  content: '';
  position: absolute;
  top: 0;
  left: 100%;
  height: 100%;
  width: 3px;
  background: #fff;
  filter: alpha(opacity=0);
  opacity: 0;
  -webkit-transform: translateX(-20px);
  -moz-transform: translateX(-20px);
  -ms-transform: translateX(-20px);
  -o-transform: translateX(-20px);
  transform: translateX(-20px);
}
.outer-nav > ul li > a:hover:after {
  filter: alpha(opacity=100);
  opacity: 1;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition: opacity 200ms ease 0s, transform 200ms ease 0s;
  -moz-transition: opacity 200ms ease 0s, transform 200ms ease 0s;
  -ms-transition: opacity 200ms ease 0s, transform 200ms ease 0s;
  -o-transition: opacity 200ms ease 0s, transform 200ms ease 0s;
  transition: opacity 200ms ease 0s, transform 200ms ease 0s;
}
.outer-nav a {
  display: inline-block;
  white-space: nowrap;
  font-weight: 300;
  margin: 5px;
  padding: 0 20px 0 0;
  color: #fff;
  -webkit-transition: color 0.3s;
  -moz-transition: color 0.3s;
  -ms-transition: color 0.3s;
  -o-transition: color 0.3s;
  transition: color 0.3s;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  text-transform: capitalize;
  font-size: 18px;
  font-size: 1.3846153846153846rem;
}
/* Individual Effects */
/* Effect Move Down */
.effect-movedown {
  background: #34495e;
}
.effect-movedown .container {
  -webkit-transition: transform 400ms;
  -moz-transition: transform 400ms;
  -ms-transition: transform 400ms;
  -o-transition: transform 400ms;
  transition: transform 400ms;
  -webkit-transform-origin: 50% 50%;
  -moz-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  -o-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}
.effect-movedown .container:after {
  background: rgba(52, 73, 94, 0.5);
}
.effect-movedown.animate .container {
  -webkit-transform: translateY(100%) translateZ(-1500px);
  -moz-transform: translateY(100%) translateZ(-1500px);
  -ms-transform: translateY(100%) translateZ(-1500px);
  -o-transform: translateY(100%) translateZ(-1500px);
  transform: translateY(100%) translateZ(-1500px);
}
.no-csstransforms3d .effect-movedown.animate .container {
  top: 75%;
}
.effect-movedown .outer-nav a {
  filter: alpha(opacity=0);
  opacity: 0;
  -webkit-transform: translateY(-20px);
  -moz-transform: translateY(-20px);
  -ms-transform: translateY(-20px);
  -o-transform: translateY(-20px);
  transform: translateY(-20px);
  -webkit-transition: transform 400ms, opacity 400ms;
  -moz-transition: transform 400ms, opacity 400ms;
  -ms-transition: transform 400ms, opacity 400ms;
  -o-transition: transform 400ms, opacity 400ms;
  transition: transform 400ms, opacity 400ms;
}
.effect-movedown.animate .outer-nav a {
  filter: alpha(opacity=100);
  opacity: 1;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
}
/* Media Queries */
@media screen and (max-width: 36.625em), screen and (max-height: 41.75em) {
  .outer-nav.horizontal {
    font-size: 1.5384615384615385em;
  }
  .outer-nav.horizontal a {
    display: block;
    text-align: left;
  }
}
@media screen and (max-width: 31em), screen and (max-height: 36.2em) {
  .outer-nav.horizontal {
    font-size: 1.2307692307692308em;
    top: 70px;
    left: 0;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }
}
@media screen and (max-height: 31.6em) {
  .outer-nav a {
    margin-bottom: 20px;
  }
}
@media only screen and (min-width: 0px) and (max-width: 800px) {
  .patternselector {
    position: relative;
    width: 100%;
    max-width: none;
    *zoom: 1;
  }
  .patternselector:before,
  .patternselector:after {
    content: "";
    display: table;
  }
  .patternselector:after {
    clear: both;
  }
}
/* ------------------------------ */
/* Fluid Grid */
/* ------------------------------ */
.grid_1,
.grid_2,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_8,
.grid_9,
.grid_10,
.grid_11,
.grid_12,
.columnFirst,
.columnSecond,
.oneHalf,
.columnHalf {
  float: left;
  display: inline;
  margin-bottom: 2%;
  margin-right: 2%;
  border: 0px solid rgba(0, 0, 0, 0);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -moz-background-clip: padding-box !important;
  -webkit-background-clip: padding-box !important;
  background-clip: padding-box !important;
  *behavior: url(/css/boxsizing.htc);
  /* Box sizing polyfill for ie7/8 */
}
.grid_1:after,
.grid_2:after,
.grid_3:after,
.grid_4:after,
.grid_5:after,
.grid_6:after,
.grid_7:after,
.grid_8:after,
.grid_9:after,
.grid_10:after,
.grid_11:after,
.grid_12:after,
.columnFirst:after,
.columnSecond:after,
.oneHalf:after,
.columnHalf:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
.grid_1,
.grid_2,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_8,
.grid_9,
.grid_10,
.grid_11,
.grid_12,
.columnFirst,
.columnSecond,
.oneHalf,
.columnHalf {
  display: inline-block;
  zoom: 1;
  *display: inline;
}
html[xmlns] .grid_1,
html[xmlns] .grid_2,
html[xmlns] .grid_3,
html[xmlns] .grid_4,
html[xmlns] .grid_5,
html[xmlns] .grid_6,
html[xmlns] .grid_7,
html[xmlns] .grid_8,
html[xmlns] .grid_9,
html[xmlns] .grid_10,
html[xmlns] .grid_11,
html[xmlns] .grid_12,
html[xmlns] .oneHalf,
html[xmlns] .columnHalf {
  display: block;
}
* html .grid_1,
* html .grid_2,
* html .grid_3,
* html .grid_4,
* html .grid_5,
* html .grid_6,
* html .grid_7,
* html .grid_8,
* html .grid_9,
* html .grid_10,
* html .grid_11,
* html .grid_12,
* html .columnFirst,
* html .columnSecond,
* html .oneHalf,
* html .columnHalf {
  height: 1%;
}
.grid_1 {
  width: 6.5%;
}
.grid_2 {
  width: 15%;
}
.grid_3 {
  width: 23.5%;
}
.grid_4 {
  width: 32%;
}
.grid_5 {
  width: 40.5%;
}
.grid_6 {
  width: 49%;
}
.grid_7 {
  width: 57.5%;
}
.grid_8 {
  width: 66%;
}
.grid_9 {
  width: 74.5%;
}
.grid_10 {
  width: 83%;
}
.grid_11 {
  width: 91.5%;
}
.grid_12 {
  margin-right: 0;
  width: 100%;
}
/* ------------------------------ */
/* Low content page */
/* ------------------------------ */
.emptyBasket,
.lowContent {
  max-width: 1480px;
  width: 100%;
  padding: 0 40px;
  position: relative;
  margin: 0 auto;
  *zoom: 1;
  padding: 40px 0;
  text-align: center;
  clear: both;
}
.emptyBasket:before,
.lowContent:before,
.emptyBasket:after,
.lowContent:after {
  content: "";
  display: table;
}
.emptyBasket:after,
.lowContent:after {
  clear: both;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .emptyBasket,
  .lowContent {
    padding: 0 30px;
  }
}
@media all and (max-width: 640px) {
  .emptyBasket,
  .lowContent {
    padding: 0 20px;
  }
}
.emptyBasket:before,
.lowContent:before,
.emptyBasket:after,
.lowContent:after {
  content: "";
  display: table;
}
.emptyBasket:after,
.lowContent:after {
  clear: both;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .emptyBasket,
  .lowContent {
    padding: 0 30px;
  }
}
@media all and (max-width: 640px) {
  .emptyBasket,
  .lowContent {
    padding: 0 20px;
  }
}
.emptyBasket:before,
.lowContent:before,
.emptyBasket:after,
.lowContent:after {
  content: "";
  display: table;
}
.emptyBasket:after,
.lowContent:after {
  clear: both;
}
@media all and (min-width: 1061px) {
  .emptyBasket,
  .lowContent {
    min-height: 700px;
  }
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .emptyBasket,
  .lowContent {
    min-height: 500px;
  }
}
.ps-container {
  overflow: hidden !important;
}
.ps-container.ps-active-x > .ps-scrollbar-x-rail,
.ps-container.ps-active-y > .ps-scrollbar-y-rail {
  display: block;
}
.ps-container.ps-in-scrolling {
  pointer-events: none;
}
.ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail {
  background-color: #eee;
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
  filter: alpha(opacity=90);
}
.ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x {
  background-color: #999;
}
.ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail {
  background-color: #eee;
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
  filter: alpha(opacity=90);
}
.ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y {
  background-color: #999;
}
.ps-container > .ps-scrollbar-x-rail {
  display: none;
  position: absolute;
  /* please don't change 'position' */
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -webkit-transition: background-color 0.2s linear, opacity 0.2s linear;
  -moz-transition: background-color 0.2s linear, opacity 0.2s linear;
  -o-transition: background-color 0.2s linear, opacity 0.2s linear;
  transition: background-color 0.2s linear, opacity 0.2s linear;
  bottom: 3px;
  /* there must be 'bottom' for ps-scrollbar-x-rail */
  height: 8px;
}
.ps-container > .ps-scrollbar-x-rail > .ps-scrollbar-x {
  position: absolute;
  /* please don't change 'position' */
  background-color: #aaa;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: background-color 0.2s linear;
  -moz-transition: background-color 0.2s linear;
  -o-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  bottom: 0;
  /* there must be 'bottom' for ps-scrollbar-x */
  height: 8px;
}
.ps-container > .ps-scrollbar-y-rail {
  display: none;
  position: absolute;
  /* please don't change 'position' */
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -webkit-transition: background-color 0.2s linear, opacity 0.2s linear;
  -moz-transition: background-color 0.2s linear, opacity 0.2s linear;
  -o-transition: background-color 0.2s linear, opacity 0.2s linear;
  transition: background-color 0.2s linear, opacity 0.2s linear;
  right: 3px;
  /* there must be 'right' for ps-scrollbar-y-rail */
  width: 8px;
}
.ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y {
  position: absolute;
  /* please don't change 'position' */
  background-color: #aaa;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: background-color 0.2s linear;
  -moz-transition: background-color 0.2s linear;
  -o-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  right: 0;
  /* there must be 'right' for ps-scrollbar-y */
  width: 8px;
}
.ps-container:hover.ps-in-scrolling {
  pointer-events: none;
}
.ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail {
  background-color: #eee;
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
  filter: alpha(opacity=90);
}
.ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x {
  background-color: #999;
}
.ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail {
  background-color: #eee;
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
  filter: alpha(opacity=90);
}
.ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y {
  background-color: #999;
}
.ps-container:hover > .ps-scrollbar-x-rail,
.ps-container:hover > .ps-scrollbar-y-rail {
  opacity: 0.6;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  filter: alpha(opacity=60);
}
.ps-container:hover > .ps-scrollbar-x-rail:hover {
  background-color: #eee;
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
  filter: alpha(opacity=90);
}
.ps-container:hover > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x {
  background-color: #999;
}
.ps-container:hover > .ps-scrollbar-y-rail:hover {
  background-color: #eee;
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
  filter: alpha(opacity=90);
}
.ps-container:hover > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y {
  background-color: #999;
}
/* ------------------------------ */
/* Overlay Styles */
/* ------------------------------ */
.bgCover {
  background: #090909;
  background: rgba(0, 0, 0, 0.5);
  position: fixed;
  left: 0;
  top: 0;
  overflow: hidden;
  z-index: 9000;
  width: 100%;
  height: 100%;
}
.overlayBox {
  position: fixed;
  background: #fff;
  z-index: 9100;
  overflow-y: auto;
  opacity: 0;
  width: 100%;
  height: 100%;
}
@media all and (max-width: 640px) {
  .overlayBox {
    width: 96%;
    top: 10px !important;
    left: 2% !important;
    right: 2% !important;
    max-height: initial;
    padding-top: 50px;
  }
}
.overlayBox iframe {
  display: block;
}
.noScroll {
  overflow: hidden;
}
.overlayVideo {
  height: 100%;
}
.overlayCloseButton {
  position: absolute;
  z-index: 9200;
  text-align: right;
  top: 0px;
  right: 0;
  margin-left: 0px;
}
.overlayCloseButton a {
  background: #67CC67;
  color: #fff;
  font-weight: bold;
  font-size: 12px;
  display: inline-block;
  cursor: pointer;
  padding: 5px 10px;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  font-size: 14px;
  text-transform: uppercase;
  z-index: 9200;
  outline: 0;
}
@media all and (max-width: 640px) {
  .overlayCloseButton {
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
  }
  .overlayCloseButton a {
    background: #232323;
    color: #fff;
    font-size: 14px;
    position: static;
  }
}
/* ==========================================================================
   Remodal's necessary styles
   ========================================================================== */
/* Hide scroll bar */
html.remodal-is-locked {
  overflow: hidden;
  touch-action: none;
}
/* Anti FOUC */
.remodal,
[data-remodal-id] {
  display: none;
}
/* Necessary styles of the overlay */
.remodal-overlay {
  position: fixed;
  z-index: 9999;
  top: -5000px;
  right: -5000px;
  bottom: -5000px;
  left: -5000px;
  display: none;
}
/* Necessary styles of the wrapper */
.remodal-wrapper {
  position: fixed;
  z-index: 10000;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  overflow: auto;
  text-align: center;
  -webkit-overflow-scrolling: touch;
}
.remodal-wrapper:after {
  display: inline-block;
  height: 100%;
  margin-left: -0.05em;
  content: "";
}
/* Fix iPad, iPhone glitches */
.remodal-overlay,
.remodal-wrapper {
  backface-visibility: hidden;
}
/* Necessary styles of the modal dialog */
.remodal {
  position: relative;
  outline: none;
  text-align: left;
  text-size-adjust: 100%;
}
.remodal ol {
  margin: 0 0 0 15px;
  padding: 0;
  counter-reset: item;
}
.remodal ol > li {
  display: block;
}
.remodal ol > li:before {
  content: counters(item, ".") " - ";
  counter-increment: item;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.remodal-is-initialized {
  /* Disable Anti-FOUC */
  display: inline-block;
}
/* ==========================================================================
   Remodal's default mobile first theme
   ========================================================================== */
/* Default theme styles for the background */
.remodal-bg.remodal-is-opening,
.remodal-bg.remodal-is-opened {
  filter: blur(3px);
}
/* Default theme styles of the overlay */
.remodal-overlay {
  background: rgba(43, 46, 56, 0.9);
}
.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing {
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
}
.remodal-overlay.remodal-is-opening {
  animation-name: remodal-overlay-opening-keyframes;
}
.remodal-overlay.remodal-is-closing {
  animation-name: remodal-overlay-closing-keyframes;
}
/* Default theme styles of the wrapper */
.remodal-wrapper {
  padding: 30px 10px 0;
}
/* Default theme styles of the modal dialog */
.remodal {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 10px;
  padding: 35px;
  transform: translate3d(0, 0, 0);
  color: #2b2e38;
  background: #fff;
}
@media all and (max-width: 640px) {
  .remodal {
    padding: 15px;
  }
}
.remodal.remodal-is-opening,
.remodal.remodal-is-closing {
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
}
.remodal.remodal-is-opening {
  animation-name: remodal-opening-keyframes;
}
.remodal.remodal-is-closing {
  animation-name: remodal-closing-keyframes;
}
/* Vertical align of the modal dialog */
.remodal,
.remodal-wrapper:after {
  vertical-align: middle;
}
/* Close button */
.remodal-close {
  position: absolute;
  top: -10px;
  right: -10px;
  border-radius: 50%;
  display: block;
  overflow: visible;
  width: 35px;
  height: 35px;
  margin: 0;
  padding: 0;
  cursor: pointer;
  transition: color 0.2s;
  text-decoration: none;
  color: #95979c;
  border: 0;
  outline: 0;
  background: #ffffff;
  background: -moz-radial-gradient(center, ellipse cover, #ffffff 0%, #e5e5e5 100%);
  background: -webkit-radial-gradient(center, ellipse cover, #ffffff 0%, #e5e5e5 100%);
  background: radial-gradient(ellipse at center, #ffffff 0%, #e5e5e5 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e5e5e5', GradientType=1);
}
.remodal-close:hover,
.remodal-close:focus {
  color: #2b2e38;
}
.remodal-close:before {
  font-family: Arial, "Helvetica CY", "Nimbus Sans L", sans-serif !important;
  font-size: 25px;
  line-height: 35px;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 35px;
  content: "\00d7";
  text-align: center;
}
/* Dialog buttons */
.remodal-confirm,
.remodal-cancel {
  font: inherit;
  display: inline-block;
  overflow: visible;
  min-width: 110px;
  margin: 0;
  padding: 12px 0;
  cursor: pointer;
  transition: background 0.2s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  border: 0;
  outline: 0;
}
.remodal-confirm {
  color: #fff;
  background: #81c784;
}
.remodal-confirm:hover,
.remodal-confirm:focus {
  background: #66bb6a;
}
.remodal-cancel {
  color: #fff;
  background: #e57373;
}
.remodal-cancel:hover,
.remodal-cancel:focus {
  background: #ef5350;
}
/* Remove inner padding and border in Firefox 4+ for the button tag. */
.remodal-confirm::-moz-focus-inner,
.remodal-cancel::-moz-focus-inner,
.remodal-close::-moz-focus-inner {
  padding: 0;
  border: 0;
}
/* Keyframes
   ========================================================================== */
@keyframes remodal-opening-keyframes {
  from {
    transform: scale(1.05);
    opacity: 0;
  }
  to {
    transform: none;
    opacity: 1;
  }
}
@keyframes remodal-closing-keyframes {
  from {
    transform: scale(1);
    opacity: 1;
  }
  to {
    transform: scale(0.95);
    opacity: 0;
  }
}
@keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
/* Media queries
   ========================================================================== */
@media only screen and (min-width: 641px) {
  .remodal {
    max-width: 700px;
  }
}
/* IE8
   ========================================================================== */
.lt-ie9 .remodal-overlay {
  background: #2b2e38;
}
.lt-ie9 .remodal {
  width: 700px;
}
/* ------------------------------ */
/* Mixins */
/* ------------------------------ */
/* ------------------------------ */
/* Mobile Menu (style) */
/* ------------------------------ */
.subNav .title {
  cursor: pointer;
}
.subNav ul {
  display: none;
}
@media all and (max-width: 640px) {
  .flyoutWrap {
    background: #f1f1f1;
    z-index: 1001;
  }
  .flyoutWrap li {
    display: block;
    width: 100%;
    float: none;
    position: relative;
  }
  .flyoutWrap li.parent > a:after {
    font-family: "FontAwesome";
    content: "\f0da";
    position: absolute;
    right: 10px;
    top: 10px;
    -webkit-transition: all 300ms ease-in-out 0s;
    -moz-transition: all 300ms ease-in-out 0s;
    -ms-transition: all 300ms ease-in-out 0s;
    -o-transition: all 300ms ease-in-out 0s;
    transition: all 300ms ease-in-out 0s;
  }
  .flyoutWrap li.parent.open > a:after {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  .flyoutWrap li a {
    width: 100%;
    display: block;
    color: #415141;
  }
  .flyoutWrap li ul {
    position: relative;
    width: 100%;
    *zoom: 1;
    margin: 0;
  }
  .flyoutWrap li ul:before,
  .flyoutWrap li ul:after {
    content: "";
    display: table;
  }
  .flyoutWrap li ul:after {
    clear: both;
  }
  .flyoutWrap li ul li {
    float: none;
  }
  .flyoutWrap li ul ul {
    display: none;
    position: relative;
  }
  /* The flyout button */
  .flyout {
    width: 40px;
    display: block;
    cursor: pointer;
    z-index: 5001;
    color: #415141;
  }
  .flyout a {
    display: block;
    width: 40px;
    height: 24px;
    font-size: 2em;
    line-height: 1;
    color: #415141;
    float: right;
    text-align: center;
    position: relative;
  }
  .flyout a .line {
    background: #415141;
    width: 28px;
    height: 3px;
  }
  .flyout a .line:after {
    height: 2px;
    background: #415141;
  }
  .flyout:hover a .line:after {
    background: #415141;
  }
  .flyout.alive a .line {
    background: #f1f1f1;
  }
  /* End of the flyout button */
}
/* ------------------------------ */
/* Mobile Menu */
/* ------------------------------ */
.siteOuterWrapper {
  max-width: 100%;
  min-height: 100%;
  position: relative;
  *zoom: 1;
  overflow: hidden;
}
.siteOuterWrapper:before,
.siteOuterWrapper:after {
  content: "";
  display: table;
}
.siteOuterWrapper:after {
  clear: both;
}
@media all and (max-width: 640px) {
  .siteOuterWrapper {
    padding-top: 65px;
  }
}
.siteInnerWrapper {
  clear: both;
}
/* Got a full screen background? You might need this to stop the flashers
*:not(html) {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
*/
.flyout,
.mobileBar {
  display: none;
}
/* Breakpoint for mobile menu to appear, can be set to whatever site needs */
@media all and (max-width: 640px) {
  .topBar {
    display: none;
  }
  .siteOuterWrapper {
    overflow: hidden;
    position: relative;
    z-index: 10;
    min-height: 100%;
  }
  .siteOuterWrapper > div.transform {
    -webkit-transition: all 300ms ease-in-out 0s;
    -moz-transition: all 300ms ease-in-out 0s;
    -ms-transition: all 300ms ease-in-out 0s;
    -o-transition: all 300ms ease-in-out 0s;
    transition: all 300ms ease-in-out 0s;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  .siteOuterWrapper > div.transform.alive {
    -webkit-transform: translate(-100%, 0);
    -moz-transform: translate(-100%, 0);
    -ms-transform: translate(-100%, 0);
    -o-transform: translate(-100%, 0);
    transform: translate(-100%, 0);
  }
  .flyoutWrap {
    position: absolute;
    top: 66px;
    right: -100%;
    width: 100%;
    min-height: 100%;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transition: all 300ms ease-in-out 0s;
    -moz-transition: all 300ms ease-in-out 0s;
    -ms-transition: all 300ms ease-in-out 0s;
    -o-transition: all 300ms ease-in-out 0s;
    transition: all 300ms ease-in-out 0s;
  }
  .flyoutWrap.alive {
    -webkit-transform: translate(-100%, 0);
    -moz-transform: translate(-100%, 0);
    -ms-transform: translate(-100%, 0);
    -o-transform: translate(-100%, 0);
    transform: translate(-100%, 0);
  }
  .menuleft .siteOuterWrapper > div.transform.alive {
    -webkit-transform: translate(100%, 0);
    -moz-transform: translate(100%, 0);
    -ms-transform: translate(100%, 0);
    -o-transform: translate(100%, 0);
    transform: translate(100%, 0);
  }
  .menuleft .flyoutWrap {
    right: auto;
    left: -100%;
  }
  .menuleft .flyoutWrap.alive {
    -webkit-transform: translate(100%, 0);
    -moz-transform: translate(100%, 0);
    -ms-transform: translate(100%, 0);
    -o-transform: translate(100%, 0);
    transform: translate(100%, 0);
  }
  /* The flyout button */
  .flyout {
    top: 22px;
    position: absolute;
    display: block;
    width: 22px;
    height: 20px;
    cursor: pointer;
  }
  .flyout.right {
    float: right;
    right: 20px;
  }
  .flyout.left {
    float: left;
    left: 20px;
  }
  .flyout a {
    width: 13px;
    height: 2px;
    top: 9px;
    float: left;
    display: block;
    background: #415141;
    position: relative;
    -webkit-transition: background 100ms ease-in-out 300ms;
    -moz-transition: background 100ms ease-in-out 300ms;
    -ms-transition: background 100ms ease-in-out 300ms;
    -o-transition: background 100ms ease-in-out 300ms;
    transition: background 100ms ease-in-out 300ms;
  }
  .flyout a:before,
  .flyout a:after {
    height: 2px;
    background: #415141;
    position: absolute;
    left: 0;
    content: '';
    -webkit-transform: rotate3d(0, 0, 0, 0deg);
    -moz-transform: rotate3d(0, 0, 0, 0deg);
    -ms-transform: rotate3d(0, 0, 0, 0deg);
    -o-transform: rotate3d(0, 0, 0, 0deg);
    transform: rotate3d(0, 0, 0, 0deg);
    -webkit-transition: transform 300ms linear 0ms, top 300ms linear 400ms, width 300ms linear 700ms;
    -moz-transition: transform 300ms linear 0ms, top 300ms linear 400ms, width 300ms linear 700ms;
    -ms-transition: transform 300ms linear 0ms, top 300ms linear 400ms, width 300ms linear 700ms;
    -o-transition: transform 300ms linear 0ms, top 300ms linear 400ms, width 300ms linear 700ms;
    transition: transform 300ms linear 0ms, top 300ms linear 400ms, width 300ms linear 700ms;
  }
  .flyout a:before {
    top: -6px;
    width: 22px;
  }
  .flyout a:after {
    top: 6px;
    width: 17px;
  }
  .flyout.alive {
    -webkit-transition: all 0.4s linear 0s;
    -moz-transition: all 0.4s linear 0s;
    -ms-transition: all 0.4s linear 0s;
    -o-transition: all 0.4s linear 0s;
    transition: all 0.4s linear 0s;
  }
  .flyout.alive a {
    width: 20px;
    background: transparent;
    -webkit-transition: background 100ms ease-in-out 600ms;
    -moz-transition: background 100ms ease-in-out 600ms;
    -ms-transition: background 100ms ease-in-out 600ms;
    -o-transition: background 100ms ease-in-out 600ms;
    transition: background 100ms ease-in-out 600ms;
  }
  .flyout.alive a:before,
  .flyout.alive a:after {
    -webkit-transition: width 300ms linear 0ms, top 300ms linear 300ms, transform 300ms linear 700ms;
    -moz-transition: width 300ms linear 0ms, top 300ms linear 300ms, transform 300ms linear 700ms;
    -ms-transition: width 300ms linear 0ms, top 300ms linear 300ms, transform 300ms linear 700ms;
    -o-transition: width 300ms linear 0ms, top 300ms linear 300ms, transform 300ms linear 700ms;
    transition: width 300ms linear 0ms, top 300ms linear 300ms, transform 300ms linear 700ms;
  }
  .flyout.alive a:before {
    top: 0px;
    width: 22px;
    -webkit-transform: rotate3d(0, 0, 1, -40deg);
    -moz-transform: rotate3d(0, 0, 1, -40deg);
    -ms-transform: rotate3d(0, 0, 1, -40deg);
    -o-transform: rotate3d(0, 0, 1, -40deg);
    transform: rotate3d(0, 0, 1, -40deg);
  }
  .flyout.alive a:after {
    top: 0px;
    width: 22px;
    -webkit-transform: rotate3d(0, 0, 1, 40deg);
    -moz-transform: rotate3d(0, 0, 1, 40deg);
    -ms-transform: rotate3d(0, 0, 1, 40deg);
    -o-transform: rotate3d(0, 0, 1, 40deg);
    transform: rotate3d(0, 0, 1, 40deg);
  }
}
/* ------------------------------ */
/* Form Styles */
/* ------------------------------ */
.row,
.checkboxRow {
  position: relative;
}
.row input[type=checkbox],
.checkboxRow input[type=checkbox],
.row input[type=radio],
.checkboxRow input[type=radio] {
  float: left;
  cursor: pointer;
  visibility: hidden;
}
.row input[type=checkbox] + label,
.checkboxRow input[type=checkbox] + label,
.row input[type=radio] + label,
.checkboxRow input[type=radio] + label {
  float: left;
  cursor: pointer;
}
.row input[type=checkbox] + label:before,
.checkboxRow input[type=checkbox] + label:before,
.row input[type=radio] + label:before,
.checkboxRow input[type=radio] + label:before {
  content: '';
  display: inline-block;
  float: left;
  width: 20px;
  height: 20px;
  background: #FFF;
  margin: 1px 8px 0 0;
  border: 1px solid #DDD;
  visibility: visible;
  cursor: pointer;
}
.row input[type=checkbox]:checked + label:before,
.checkboxRow input[type=checkbox]:checked + label:before,
.row input[type=radio]:checked + label:before,
.checkboxRow input[type=radio]:checked + label:before {
  background: #038779;
  content: '\f00c';
  font-family: 'FontAwesome';
  color: #FFF;
  text-align: center;
  line-height: 20px;
}
.row input[type=checkbox][type=radio] + label:before,
.checkboxRow input[type=checkbox][type=radio] + label:before,
.row input[type=radio][type=radio] + label:before,
.checkboxRow input[type=radio][type=radio] + label:before {
  border-radius: 100%;
}
.lt-ie9 input[type=checkbox],
.lt-ie9 input[type=radio] {
  margin: 9px 10px 0;
  visibility: visible;
}
.lt-ie9 input[type=checkbox] + label:before,
.lt-ie9 input[type=radio] + label:before {
  display: none;
}
/*----------------------------------------- */
/* Fonts
----------------------------------------- */
@font-face {
  font-family: "TradeGothicNextW01-Cond";
  src: url("../font/5be4a815-5a22-4a8b-8a38-10467be39d2e.eot?#iefix");
  src: url("../font/5be4a815-5a22-4a8b-8a38-10467be39d2e.eot?#iefix") format("eot"), url("../font/a8816340-0294-4243-8519-b2ccf08ca174.woff2") format("woff2"), url("../font/eb20bf3e-7a5c-4c98-8bc5-f38c1b3dd9f2.woff") format("woff"), url("../font/bbd9ed4b-21d6-4a35-a3eb-176c31258e03.ttf") format("truetype");
}
/* ------------------------------ */
/* Vanilla Datepicker Styles  */
/* ------------------------------ */
#ui-datepicker-div,
.hasDatepicker {
  background: #fff;
}
#ui-datepicker-div .ui-datepicker-title,
.hasDatepicker .ui-datepicker-title {
  font-size: 12px;
  padding: 10px 0;
  text-align: center;
  font-weight: bold;
  font-family: Arial, Helvetica, sans-serif;
  text-transform: uppercase;
}
#ui-datepicker-div .ui-icon-circle-triangle-e,
.hasDatepicker .ui-icon-circle-triangle-e {
  float: right;
  margin: 15px;
  cursor: pointer;
}
#ui-datepicker-div .ui-icon-circle-triangle-w,
.hasDatepicker .ui-icon-circle-triangle-w {
  float: left;
  margin: 15px;
  cursor: pointer;
}
#ui-datepicker-div .ui-datepicker-calendar,
.hasDatepicker .ui-datepicker-calendar {
  background: #fff;
}
#ui-datepicker-div .ui-datepicker-calendar thead,
.hasDatepicker .ui-datepicker-calendar thead {
  text-transform: uppercase;
  color: #717171;
}
#ui-datepicker-div .ui-datepicker-calendar th,
.hasDatepicker .ui-datepicker-calendar th,
#ui-datepicker-div .ui-datepicker-calendar td,
.hasDatepicker .ui-datepicker-calendar td {
  padding: 7.5px 9px;
  border: 1px solid #f1f1f1;
  cursor: pointer;
  text-align: center;
  z-index: 100;
  position: relative;
}
#ui-datepicker-div .ui-datepicker-calendar td a,
.hasDatepicker .ui-datepicker-calendar td a {
  color: #3c3c3c;
  display: block;
}
#ui-datepicker-div .ui-datepicker-calendar td.ui-state-disabled,
.hasDatepicker .ui-datepicker-calendar td.ui-state-disabled {
  border: 0;
}
#ui-datepicker-div .ui-datepicker-calendar .ui-datepicker-current-day,
.hasDatepicker .ui-datepicker-calendar .ui-datepicker-current-day {
  background: #eee;
}
/*!
Chosen, a Select Box Enhancer for jQuery and Prototype
by Patrick Filler for Harvest, http://getharvest.com

Version 1.4.2
Full source at https://github.com/harvesthq/chosen
Copyright (c) 2011-2015 Harvest http://getharvest.com

MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
This file is generated by `grunt build`, do not edit it by hand.
*/
/* @group Base */
.chosen-container {
  position: relative;
  min-width: 190px;
  display: inline-block;
  vertical-align: middle;
  zoom: 1;
  *display: inline;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border: 1px solid #DDD;
  border-radius: 5px;
}
.chosen-container .chosen-drop {
  position: absolute;
  top: 100%;
  left: -9999px;
  border-top: 0;
  background: #fff;
  z-index: 6000;
  border: 1px solid #DDD;
}
.chosen-container.chosen-with-drop .chosen-drop {
  left: -1px;
  right: -1px;
}
.chosen-container a {
  cursor: pointer;
}
.chosen-container .search-choice .group-name,
.chosen-container .chosen-single .group-name {
  margin-right: 4px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: normal;
  color: #999999;
}
.chosen-container .search-choice .group-name:after,
.chosen-container .chosen-single .group-name:after {
  content: ":";
  padding-left: 2px;
  vertical-align: top;
}
/* @end */
/* @group Single Chosen */
.chosen-container-single .chosen-single {
  position: relative;
  display: block;
  overflow: hidden;
  text-align: left;
  padding: 0 35px 0 10px;
  height: 38px;
  background-color: #FFF;
  text-decoration: none;
  white-space: nowrap;
  line-height: 38px;
  border-radius: 5px;
}
.chosen-container-single .chosen-default {
  color: #999;
}
.chosen-container-single .chosen-single span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chosen-container-single .chosen-single-with-deselect span {
  margin-right: 38px;
}
.chosen-container-single .chosen-single abbr {
  position: absolute;
  top: 6px;
  right: 26px;
  display: block;
  width: 12px;
  height: 12px;
  font-size: 1px;
}
.chosen-container-single .chosen-single div {
  position: absolute;
  top: 0;
  right: 25px;
  display: block;
  width: 18px;
  height: 100%;
}
.chosen-container-single .chosen-single div b {
  display: block;
  width: 100%;
  height: 100%;
}
.chosen-container-single .chosen-single div b:after {
  content: "\f0d7";
  right: -15px;
  position: absolute;
  top: 0px;
  font-family: 'FontAwesome';
  -webkit-transition: transform 200ms ease 0ms;
  -moz-transition: transform 200ms ease 0ms;
  -ms-transition: transform 200ms ease 0ms;
  -o-transition: transform 200ms ease 0ms;
  transition: transform 200ms ease 0ms;
}
.chosen-container-single .chosen-search {
  position: relative;
  z-index: 1010;
  margin: 0;
  padding: 3px 4px;
  white-space: nowrap;
  background: #FFF;
}
.chosen-container-single .chosen-search input[type="search"] {
  margin: 5px 0;
  padding: 5px 20px 5px 5px;
  width: 100%;
  height: auto;
  outline: 0;
  font-size: 1em;
  font-family: sans-serif;
  line-height: normal;
  border-radius: 0;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #DDD;
}
.chosen-container-single .chosen-drop {
  margin-top: -3px;
  border-radius: 0 0 4px 4px;
  background-clip: padding-box;
  text-align: left;
  background: #FFF;
  border: 1px solid #DDD;
  border-top: 0;
}
.chosen-container-single.chosen-container-single-nosearch .chosen-search {
  position: absolute;
  left: -9999px;
}
/* @end */
/* @group Results */
.chosen-container .chosen-results {
  float: left;
  width: 100%;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0 4px 4px 0;
  padding: 0 4px;
  max-height: 240px;
  -webkit-overflow-scrolling: touch;
}
.chosen-container .chosen-results li {
  display: none;
  margin: 0;
  padding: 7px 6px;
  list-style: none;
  line-height: 15px;
  word-wrap: break-word;
  -webkit-touch-callout: none;
}
.chosen-container .chosen-results li.active-result {
  display: list-item;
  cursor: pointer;
}
.chosen-container .chosen-results li.disabled-result {
  display: list-item;
  color: #ccc;
  cursor: default;
}
.chosen-container .chosen-results li.highlighted {
  background-color: #dddddd;
}
.chosen-container .chosen-results li.no-results {
  color: #777;
  display: list-item;
  background: #f4f4f4;
}
.chosen-container .chosen-results li.group-result {
  display: list-item;
  font-weight: bold;
  cursor: default;
  border-bottom: 1px solid #EEE;
  color: #FFF;
  padding: 0;
  height: 1px;
  margin: 10px 5px;
}
.chosen-container .chosen-results li em {
  font-style: normal;
  text-decoration: underline;
}
/* @end */
/* @group Multi Chosen */
.chosen-container-multi .chosen-choices {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 5px 5px;
  width: 100%;
  height: auto !important;
  height: 1%;
  background-color: #fff;
  cursor: text;
}
.chosen-container-multi .chosen-choices li {
  float: left;
  list-style: none;
}
.chosen-container-multi .chosen-choices li.search-field {
  margin: 0;
  padding: 0;
  white-space: nowrap;
}
.chosen-container-multi .chosen-choices li.search-field input[type="search"] {
  margin: 1px 0;
  padding: 0;
  height: 25px;
  outline: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none;
  color: #999;
  font-size: 100%;
  font-family: sans-serif;
  line-height: normal;
  border-radius: 0;
}
.chosen-container-multi .chosen-choices li.search-choice {
  position: relative;
  margin: 3px 5px 3px 0;
  padding: 5px 20px 5px 5px;
  max-width: 100%;
  background-repeat: repeat-x;
  background-clip: padding-box;
  color: #333;
  line-height: 13px;
  cursor: default;
  background: #038779;
  color: #fff;
  border-radius: 3px;
}
.chosen-container-multi .chosen-choices li.search-choice span {
  word-wrap: break-word;
}
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
  position: absolute;
  top: 6px;
  right: 3px;
  display: block;
  width: 12px;
  height: 12px;
  font-size: 1px;
}
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:before {
  content: '\f00d';
  font-family: 'FontAwesome';
  font-size: 12px;
  color: #fff;
}
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
  background-position: -42px -10px;
}
.chosen-container-multi .chosen-choices li.search-choice-disabled {
  padding-right: 5px;
  border: 1px solid #ccc;
  background-color: #e4e4e4;
  color: #666;
}
.chosen-container-multi .chosen-choices li.search-choice-focus {
  background: #d4d4d4;
}
.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {
  background-position: -42px -10px;
}
.chosen-container-multi .chosen-results {
  margin: 0;
  padding: 0;
}
.chosen-container-multi .chosen-drop .result-selected {
  display: list-item;
  color: #ccc;
  cursor: default;
}
/* @end */
/* @group Active  */
.chosen-container-active.chosen-with-drop .chosen-single div {
  border-left: none;
  background: transparent;
}
.chosen-container-active.chosen-with-drop {
  border-radius: 5px 5px 0 0;
}
.chosen-container-active.chosen-with-drop .chosen-single div b:after {
  -webkit-transform: rotate(-180deg);
  -moz-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  -o-transform: rotate(-180deg);
  transform: rotate(-180deg);
}
.chosen-container-active .chosen-choices li.search-field input[type="search"] {
  color: #222 !important;
}
/* @end */
/* @group Disabled Support */
.chosen-disabled {
  cursor: default;
  opacity: 0.2;
}
.chosen-disabled .chosen-single {
  cursor: default;
}
.chosen-disabled .chosen-choices .search-choice .search-choice-close {
  cursor: default;
}
/* @end */
/* @group Right to Left */
.chosen-rtl {
  text-align: right;
}
.chosen-rtl .chosen-single {
  overflow: visible;
  padding: 0 8px 0 0;
}
.chosen-rtl .chosen-single span {
  margin-right: 0;
  margin-left: 26px;
  direction: rtl;
}
.chosen-rtl .chosen-single-with-deselect span {
  margin-left: 38px;
}
.chosen-rtl .chosen-single div {
  right: auto;
  left: 3px;
}
.chosen-rtl .chosen-single abbr {
  right: auto;
  left: 26px;
}
.chosen-rtl .chosen-choices li {
  float: right;
}
.chosen-rtl .chosen-choices li.search-field input[type="search"] {
  direction: rtl;
}
.chosen-rtl .chosen-choices li.search-choice {
  margin: 3px 5px 3px 0;
  padding: 3px 5px 3px 19px;
}
.chosen-rtl .chosen-choices li.search-choice .search-choice-close {
  right: auto;
  left: 4px;
}
.chosen-rtl.chosen-container-single-nosearch .chosen-search,
.chosen-rtl .chosen-drop {
  left: 9999px;
}
.chosen-rtl.chosen-container-single .chosen-results {
  margin: 0 0 4px 4px;
  padding: 0 4px 0 0;
}
.chosen-rtl .chosen-results li.group-option {
  padding-right: 15px;
  padding-left: 0;
}
.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {
  border-right: none;
}
.chosen-rtl .chosen-search input[type="text"] {
  padding: 4px 5px 4px 20px;
  direction: rtl;
}
.chosen-rtl.chosen-container-single .chosen-single div b {
  background-position: 6px 2px;
}
.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b {
  background-position: -12px 2px;
}
.mobileChosen {
  position: relative;
  min-width: 200px;
}
.mobileChosen select {
  display: block !important;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 998;
}
/*!
 * FullCalendar v2.5.0 Stylesheet
 * Docs & License: http://fullcalendar.io/
 * (c) 2015 Adam Shaw
 */
.fc {
  direction: ltr;
  text-align: left;
}
.fc-rtl {
  text-align: right;
}
body .fc {
  /* extra precedence to overcome jqui */
  font-size: 1em;
}
/* Colors
--------------------------------------------------------------------------------------------------*/
.fc-unthemed th,
.fc-unthemed td,
.fc-unthemed thead,
.fc-unthemed tbody,
.fc-unthemed .fc-divider,
.fc-unthemed .fc-row,
.fc-unthemed .fc-popover {
  border-color: #ddd;
}
.fc-unthemed .fc-popover {
  background-color: #fff;
}
.fc-unthemed .fc-divider,
.fc-unthemed .fc-popover .fc-header {
  background: #eee;
}
.fc-unthemed .fc-popover .fc-header .fc-close {
  color: #666;
}
.fc-unthemed .fc-today {
  background: #fcf8e3;
}
.fc-highlight {
  /* when user is selecting cells */
  background: #bce8f1;
  opacity: 0.3;
  filter: alpha(opacity=30);
  /* for IE */
}
.fc-bgevent {
  /* default look for background events */
  background: #8fdf82;
  opacity: 0.3;
  filter: alpha(opacity=30);
  /* for IE */
}
.fc-nonbusiness {
  /* default look for non-business-hours areas */
  /* will inherit .fc-bgevent's styles */
  background: #d7d7d7;
}
/* Icons (inline elements with styled text that mock arrow icons)
--------------------------------------------------------------------------------------------------*/
.fc-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1em;
  font-size: 1em;
  text-align: center;
  overflow: hidden;
  font-family: "Courier New", Courier, monospace;
  /* don't allow browser text-selection */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
/*
Acceptable font-family overrides for individual icons:
	"Arial", sans-serif
	"Times New Roman", serif

NOTE: use percentage font sizes or else old IE chokes
*/
.fc-icon:after {
  position: relative;
  margin: 0 -1em;
  /* ensures character will be centered, regardless of width */
}
.fc-icon-left-single-arrow:after {
  content: "\02039";
  font-weight: bold;
  font-size: 200%;
  top: -7%;
  left: 3%;
}
.fc-icon-right-single-arrow:after {
  content: "\0203A";
  font-weight: bold;
  font-size: 200%;
  top: -7%;
  left: -3%;
}
.fc-icon-left-double-arrow:after {
  content: "\000AB";
  font-size: 160%;
  top: -7%;
}
.fc-icon-right-double-arrow:after {
  content: "\000BB";
  font-size: 160%;
  top: -7%;
}
.fc-icon-left-triangle:after {
  content: "\25C4";
  font-size: 125%;
  top: 3%;
  left: -2%;
}
.fc-icon-right-triangle:after {
  content: "\25BA";
  font-size: 125%;
  top: 3%;
  left: 2%;
}
.fc-icon-down-triangle:after {
  content: "\25BC";
  font-size: 125%;
  top: 2%;
}
.fc-icon-x:after {
  content: "\000D7";
  font-size: 200%;
  top: 6%;
}
/* Buttons (styled <button> tags, normalized to work cross-browser)
--------------------------------------------------------------------------------------------------*/
.fc button {
  /* force height to include the border and padding */
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* dimensions */
  margin: 0;
  height: 2.1em;
  padding: 0 0.6em;
  /* text & cursor */
  font-size: 1em;
  /* normalize */
  white-space: nowrap;
  cursor: pointer;
}
/* Firefox has an annoying inner border */
.fc button::-moz-focus-inner {
  margin: 0;
  padding: 0;
}
.fc-state-default {
  /* non-theme */
  border: 1px solid;
}
.fc-state-default.fc-corner-left {
  /* non-theme */
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.fc-state-default.fc-corner-right {
  /* non-theme */
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
/* icons in buttons */
.fc button .fc-icon {
  /* non-theme */
  position: relative;
  top: -0.05em;
  /* seems to be a good adjustment across browsers */
  margin: 0 0.2em;
  vertical-align: middle;
}
/*
  button states
  borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/)
*/
.fc-state-default {
  background-color: #f5f5f5;
  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
  background-repeat: repeat-x;
  border-color: #e6e6e6 #e6e6e6 #bfbfbf;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  color: #333;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
}
.fc-state-hover,
.fc-state-down,
.fc-state-active,
.fc-state-disabled {
  color: #333333;
  background-color: #e6e6e6;
}
.fc-state-hover {
  color: #333333;
  text-decoration: none;
  background-position: 0 -15px;
  -webkit-transition: background-position 0.1s linear;
  -moz-transition: background-position 0.1s linear;
  -o-transition: background-position 0.1s linear;
  transition: background-position 0.1s linear;
}
.fc-state-down,
.fc-state-active {
  background-color: #cccccc;
  background-image: none;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
}
.fc-state-disabled {
  cursor: default;
  background-image: none;
  opacity: 0.65;
  filter: alpha(opacity=65);
  box-shadow: none;
}
/* Buttons Groups
--------------------------------------------------------------------------------------------------*/
.fc-button-group {
  display: inline-block;
}
/*
every button that is not first in a button group should scootch over one pixel and cover the
previous button's border...
*/
.fc .fc-button-group > * {
  /* extra precedence b/c buttons have margin set to zero */
  float: left;
  margin: 0 0 0 -1px;
}
.fc .fc-button-group > :first-child {
  /* same */
  margin-left: 0;
}
/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-popover {
  position: absolute;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.fc-popover .fc-header {
  /* TODO: be more consistent with fc-head/fc-body */
  padding: 2px 4px;
}
.fc-popover .fc-header .fc-title {
  margin: 0 2px;
}
.fc-popover .fc-header .fc-close {
  cursor: pointer;
}
.fc-ltr .fc-popover .fc-header .fc-title,
.fc-rtl .fc-popover .fc-header .fc-close {
  float: left;
}
.fc-rtl .fc-popover .fc-header .fc-title,
.fc-ltr .fc-popover .fc-header .fc-close {
  float: right;
}
/* unthemed */
.fc-unthemed .fc-popover {
  border-width: 1px;
  border-style: solid;
}
.fc-unthemed .fc-popover .fc-header .fc-close {
  font-size: 0.9em;
  margin-top: 2px;
}
/* jqui themed */
.fc-popover > .ui-widget-header + .ui-widget-content {
  border-top: 0;
  /* where they meet, let the header have the border */
}
/* Misc Reusable Components
--------------------------------------------------------------------------------------------------*/
.fc-divider {
  border-style: solid;
  border-width: 1px;
}
hr.fc-divider {
  height: 0;
  margin: 0;
  padding: 0 0 2px;
  /* height is unreliable across browsers, so use padding */
  border-width: 1px 0;
}
.fc-clear {
  clear: both;
}
.fc-bg,
.fc-bgevent-skeleton,
.fc-highlight-skeleton,
.fc-helper-skeleton {
  /* these element should always cling to top-left/right corners */
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.fc-bg {
  bottom: 0;
  /* strech bg to bottom edge */
}
.fc-bg table {
  height: 100%;
  /* strech bg to bottom edge */
}
/* Tables
--------------------------------------------------------------------------------------------------*/
.fc table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 1em;
  /* normalize cross-browser */
}
.fc th {
  text-align: center;
}
.fc th,
.fc td {
  border-style: solid;
  border-width: 1px;
  padding: 0;
  vertical-align: top;
}
.fc td.fc-today {
  border-style: double;
  /* overcome neighboring borders */
}
/* Fake Table Rows
--------------------------------------------------------------------------------------------------*/
.fc .fc-row {
  /* extra precedence to overcome themes w/ .ui-widget-content forcing a 1px border */
  /* no visible border by default. but make available if need be (scrollbar width compensation) */
  border-style: solid;
  border-width: 0;
}
.fc-row table {
  /* don't put left/right border on anything within a fake row.
	   the outer tbody will worry about this */
  border-left: 0 hidden transparent;
  border-right: 0 hidden transparent;
  /* no bottom borders on rows */
  border-bottom: 0 hidden transparent;
}
.fc-row:first-child table {
  border-top: 0 hidden transparent;
  /* no top border on first row */
}
/* Day Row (used within the header and the DayGrid)
--------------------------------------------------------------------------------------------------*/
.fc-row {
  position: relative;
}
.fc-row .fc-bg {
  z-index: 1;
}
/* highlighting cells & background event skeleton */
.fc-row .fc-bgevent-skeleton,
.fc-row .fc-highlight-skeleton {
  bottom: 0;
  /* stretch skeleton to bottom of row */
}
.fc-row .fc-bgevent-skeleton table,
.fc-row .fc-highlight-skeleton table {
  height: 100%;
  /* stretch skeleton to bottom of row */
}
.fc-row .fc-highlight-skeleton td,
.fc-row .fc-bgevent-skeleton td {
  border-color: transparent;
}
.fc-row .fc-bgevent-skeleton {
  z-index: 2;
}
.fc-row .fc-highlight-skeleton {
  z-index: 3;
}
/*
row content (which contains day/week numbers and events) as well as "helper" (which contains
temporary rendered events).
*/
.fc-row .fc-content-skeleton {
  position: relative;
  z-index: 4;
  padding-bottom: 2px;
  /* matches the space above the events */
}
.fc-row .fc-helper-skeleton {
  z-index: 5;
}
.fc-row .fc-content-skeleton td,
.fc-row .fc-helper-skeleton td {
  /* see-through to the background below */
  background: none;
  /* in case <td>s are globally styled */
  border-color: transparent;
  /* don't put a border between events and/or the day number */
  border-bottom: 0;
}
.fc-row .fc-content-skeleton tbody td,
.fc-row .fc-helper-skeleton tbody td {
  /* don't put a border between event cells */
  border-top: 0;
}
/* Scrolling Container
--------------------------------------------------------------------------------------------------*/
.fc-scroller {
  /* this class goes on elements for guaranteed vertical scrollbars */
  overflow-y: scroll;
  overflow-x: hidden;
}
.fc-scroller > * {
  /* we expect an immediate inner element */
  position: relative;
  /* re-scope all positions */
  width: 100%;
  /* hack to force re-sizing this inner element when scrollbars appear/disappear */
  overflow: hidden;
  /* don't let negative margins or absolute positioning create further scroll */
}
/* Global Event Styles
--------------------------------------------------------------------------------------------------*/
.fc-event {
  position: relative;
  /* for resize handle and other inner positioning */
  display: block;
  /* make the <a> tag block */
  font-size: 0.85em;
  line-height: 1.3;
  border-radius: 3px;
  border: 1px solid #008778;
  /* default BORDER color */
  background-color: #00B2AE;
  /* default BACKGROUND color */
  color: #FFF;
  font-weight: normal;
  /* undo jqui's ui-widget-header bold */
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  -webkit-transition: all ease-in-out 300ms;
  -moz-transition: all ease-in-out 300ms;
  -ms-transition: all ease-in-out 300ms;
  -o-transition: all ease-in-out 300ms;
  transition: all ease-in-out 300ms;
}
.fc-event:hover {
  background: #012320;
  border-color: #012320;
}
/* overpower some of bootstrap's and jqui's styles on <a> tags */
.fc-event,
.fc-event:hover,
.ui-widget .fc-event {
  color: #fff;
  /* default TEXT color */
  text-decoration: none;
  /* if <a> has an href */
}
.fc-event[href],
.fc-event.fc-draggable {
  cursor: pointer;
  /* give events with links and draggable events a hand mouse pointer */
}
.fc-not-allowed,
.fc-not-allowed .fc-event {
  /* to override an event's custom cursor */
  cursor: not-allowed;
}
.fc-event .fc-bg {
  /* the generic .fc-bg already does position */
  z-index: 1;
  background: #fff;
  opacity: 0.25;
  filter: alpha(opacity=25);
  /* for IE */
}
.fc-event .fc-content {
  position: relative;
  z-index: 2;
}
.fc-event .fc-resizer {
  position: absolute;
  z-index: 3;
}
/* Horizontal Events
--------------------------------------------------------------------------------------------------*/
/* events that are continuing to/from another week. kill rounded corners and butt up against edge */
.fc-ltr .fc-h-event.fc-not-start,
.fc-rtl .fc-h-event.fc-not-end {
  margin-left: 0;
  border-left-width: 0;
  padding-left: 1px;
  /* replace the border with padding */
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.fc-ltr .fc-h-event.fc-not-end,
.fc-rtl .fc-h-event.fc-not-start {
  margin-right: 0;
  border-right-width: 0;
  padding-right: 1px;
  /* replace the border with padding */
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
/* resizer */
.fc-h-event .fc-resizer {
  /* positioned it to overcome the event's borders */
  top: -1px;
  bottom: -1px;
  left: -1px;
  right: -1px;
  width: 5px;
}
/* left resizer  */
.fc-ltr .fc-h-event .fc-start-resizer,
.fc-ltr .fc-h-event .fc-start-resizer:before,
.fc-ltr .fc-h-event .fc-start-resizer:after,
.fc-rtl .fc-h-event .fc-end-resizer,
.fc-rtl .fc-h-event .fc-end-resizer:before,
.fc-rtl .fc-h-event .fc-end-resizer:after {
  right: auto;
  /* ignore the right and only use the left */
  cursor: w-resize;
}
/* right resizer */
.fc-ltr .fc-h-event .fc-end-resizer,
.fc-ltr .fc-h-event .fc-end-resizer:before,
.fc-ltr .fc-h-event .fc-end-resizer:after,
.fc-rtl .fc-h-event .fc-start-resizer,
.fc-rtl .fc-h-event .fc-start-resizer:before,
.fc-rtl .fc-h-event .fc-start-resizer:after {
  left: auto;
  /* ignore the left and only use the right */
  cursor: e-resize;
}
/* DayGrid events
----------------------------------------------------------------------------------------------------
We use the full "fc-day-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/
.fc-day-grid-event {
  margin: 1px 2px 0;
  /* spacing between events and edges */
  padding: 2px 5px;
}
.fc-day-grid-event .fc-content {
  /* force events to be one-line tall */
  overflow: hidden;
}
.fc-day-grid-event .fc-time {
  font-weight: bold;
}
.fc-day-grid-event .fc-resizer {
  /* enlarge the default hit area */
  left: -3px;
  right: -3px;
  width: 7px;
}
/* Event Limiting
--------------------------------------------------------------------------------------------------*/
/* "more" link that represents hidden events */
a.fc-more {
  margin: 1px 3px;
  font-size: 0.85em;
  cursor: pointer;
  text-decoration: none;
}
a.fc-more:hover {
  text-decoration: underline;
}
.fc-limited {
  /* rows and cells that are hidden because of a "more" link */
  display: none;
}
/* popover that appears when "more" link is clicked */
.fc-day-grid .fc-row {
  z-index: 1;
  /* make the "more" popover one higher than this */
}
.fc-more-popover {
  z-index: 2;
  width: 220px;
}
.fc-more-popover .fc-event-container {
  padding: 10px;
}
/* Toolbar
--------------------------------------------------------------------------------------------------*/
.fc-toolbar {
  text-align: center;
  margin-bottom: 1em;
}
.fc-toolbar .fc-left {
  float: left;
}
.fc-toolbar .fc-right {
  float: right;
}
.fc-toolbar .fc-center {
  display: inline-block;
}
/* the things within each left/right/center section */
.fc .fc-toolbar > * > * {
  /* extra precedence to override button border margins */
  float: left;
  margin-left: 0.75em;
}
/* the first thing within each left/center/right section */
.fc .fc-toolbar > * > :first-child {
  /* extra precedence to override button border margins */
  margin-left: 0;
}
/* title text */
.fc-toolbar h2 {
  margin: 0;
}
/* button layering (for border precedence) */
.fc-toolbar button {
  position: relative;
}
.fc-toolbar .fc-state-hover,
.fc-toolbar .ui-state-hover {
  z-index: 2;
}
.fc-toolbar .fc-state-down {
  z-index: 3;
}
.fc-toolbar .fc-state-active,
.fc-toolbar .ui-state-active {
  z-index: 4;
}
.fc-toolbar button:focus {
  z-index: 5;
}
/* View Structure
--------------------------------------------------------------------------------------------------*/
/* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques */
/* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */
.fc-view-container *,
.fc-view-container *:before,
.fc-view-container *:after {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
.fc-view,
.fc-view > table {
  /* so dragged elements can be above the view's main element */
  position: relative;
  z-index: 1;
}
/* BasicView
--------------------------------------------------------------------------------------------------*/
/* day row structure */
.fc-basicWeek-view .fc-content-skeleton,
.fc-basicDay-view .fc-content-skeleton {
  /* we are sure there are no day numbers in these views, so... */
  padding-top: 1px;
  /* add a pixel to make sure there are 2px padding above events */
  padding-bottom: 1em;
  /* ensure a space at bottom of cell for user selecting/clicking */
}
.fc-basic-view .fc-body .fc-row {
  min-height: 4em;
  /* ensure that all rows are at least this tall */
}
/* a "rigid" row will take up a constant amount of height because content-skeleton is absolute */
.fc-row.fc-rigid {
  overflow: hidden;
}
.fc-row.fc-rigid .fc-content-skeleton {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
/* week and day number styling */
.fc-basic-view .fc-week-number,
.fc-basic-view .fc-day-number {
  padding: 0 2px;
}
.fc-basic-view td.fc-week-number span,
.fc-basic-view td.fc-day-number {
  padding-top: 2px;
  padding-bottom: 2px;
}
.fc-basic-view .fc-week-number {
  text-align: center;
}
.fc-basic-view .fc-week-number span {
  /* work around the way we do column resizing and ensure a minimum width */
  display: inline-block;
  min-width: 1.25em;
}
.fc-ltr .fc-basic-view .fc-day-number {
  text-align: right;
}
.fc-rtl .fc-basic-view .fc-day-number {
  text-align: left;
}
.fc-day-number.fc-other-month {
  opacity: 0.3;
  filter: alpha(opacity=30);
  /* for IE */
  /* opacity with small font can sometimes look too faded
	   might want to set the 'color' property instead
	   making day-numbers bold also fixes the problem */
}
/* AgendaView all-day area
--------------------------------------------------------------------------------------------------*/
.fc-agenda-view .fc-day-grid {
  position: relative;
  z-index: 2;
  /* so the "more.." popover will be over the time grid */
}
.fc-agenda-view .fc-day-grid .fc-row {
  min-height: 3em;
  /* all-day section will never get shorter than this */
}
.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton {
  padding-top: 1px;
  /* add a pixel to make sure there are 2px padding above events */
  padding-bottom: 1em;
  /* give space underneath events for clicking/selecting days */
}
/* TimeGrid axis running down the side (for both the all-day area and the slot area)
--------------------------------------------------------------------------------------------------*/
.fc .fc-axis {
  /* .fc to overcome default cell styles */
  vertical-align: middle;
  padding: 0 4px;
  white-space: nowrap;
}
.fc-ltr .fc-axis {
  text-align: right;
}
.fc-rtl .fc-axis {
  text-align: left;
}
.ui-widget td.fc-axis {
  font-weight: normal;
  /* overcome jqui theme making it bold */
}
/* TimeGrid Structure
--------------------------------------------------------------------------------------------------*/
.fc-time-grid-container,
.fc-time-grid {
  /* so slats/bg/content/etc positions get scoped within here */
  position: relative;
  z-index: 1;
}
.fc-time-grid {
  min-height: 100%;
  /* so if height setting is 'auto', .fc-bg stretches to fill height */
}
.fc-time-grid table {
  /* don't put outer borders on slats/bg/content/etc */
  border: 0 hidden transparent;
}
.fc-time-grid > .fc-bg {
  z-index: 1;
}
.fc-time-grid .fc-slats,
.fc-time-grid > hr {
  /* the <hr> AgendaView injects when grid is shorter than scroller */
  position: relative;
  z-index: 2;
}
.fc-time-grid .fc-bgevent-skeleton,
.fc-time-grid .fc-content-skeleton {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.fc-time-grid .fc-bgevent-skeleton {
  z-index: 3;
}
.fc-time-grid .fc-highlight-skeleton {
  z-index: 4;
}
.fc-time-grid .fc-content-skeleton {
  z-index: 5;
}
.fc-time-grid .fc-helper-skeleton {
  z-index: 6;
}
/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-slats td {
  height: 1.5em;
  border-bottom: 0;
  /* each cell is responsible for its top border */
}
.fc-time-grid .fc-slats .fc-minor td {
  border-top-style: dotted;
}
.fc-time-grid .fc-slats .ui-widget-content {
  /* for jqui theme */
  background: none;
  /* see through to fc-bg */
}
/* TimeGrid Highlighting Slots
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-highlight-container {
  /* a div within a cell within the fc-highlight-skeleton */
  position: relative;
  /* scopes the left/right of the fc-highlight to be in the column */
}
.fc-time-grid .fc-highlight {
  position: absolute;
  left: 0;
  right: 0;
  /* top and bottom will be in by JS */
}
/* TimeGrid Event Containment
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-event-container,
.fc-time-grid .fc-bgevent-container {
  /* a div within a cell within the fc-bgevent-skeleton */
  position: relative;
}
.fc-ltr .fc-time-grid .fc-event-container {
  /* space on the sides of events for LTR (default) */
  margin: 0 2.5% 0 2px;
}
.fc-rtl .fc-time-grid .fc-event-container {
  /* space on the sides of events for RTL */
  margin: 0 2px 0 2.5%;
}
.fc-time-grid .fc-event,
.fc-time-grid .fc-bgevent {
  position: absolute;
  z-index: 1;
  /* scope inner z-index's */
}
.fc-time-grid .fc-bgevent {
  /* background events always span full width */
  left: 0;
  right: 0;
}
/* Generic Vertical Event
--------------------------------------------------------------------------------------------------*/
.fc-v-event.fc-not-start {
  /* events that are continuing from another day */
  /* replace space made by the top border with padding */
  border-top-width: 0;
  padding-top: 1px;
  /* remove top rounded corners */
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.fc-v-event.fc-not-end {
  /* replace space made by the top border with padding */
  border-bottom-width: 0;
  padding-bottom: 1px;
  /* remove bottom rounded corners */
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
/* TimeGrid Event Styling
----------------------------------------------------------------------------------------------------
We use the full "fc-time-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/
.fc-time-grid-event {
  overflow: hidden;
  /* don't let the bg flow over rounded corners */
}
.fc-time-grid-event .fc-time,
.fc-time-grid-event .fc-title {
  padding: 0 1px;
}
.fc-time-grid-event .fc-time {
  font-size: 0.85em;
  white-space: nowrap;
}
/* short mode, where time and title are on the same line */
.fc-time-grid-event.fc-short .fc-content {
  /* don't wrap to second line (now that contents will be inline) */
  white-space: nowrap;
}
.fc-time-grid-event.fc-short .fc-time,
.fc-time-grid-event.fc-short .fc-title {
  /* put the time and title on the same line */
  display: inline-block;
  vertical-align: top;
}
.fc-time-grid-event.fc-short .fc-time span {
  display: none;
  /* don't display the full time text... */
}
.fc-time-grid-event.fc-short .fc-time:before {
  content: attr(data-start);
  /* ...instead, display only the start time */
}
.fc-time-grid-event.fc-short .fc-time:after {
  content: "\000A0-\000A0";
  /* seperate with a dash, wrapped in nbsp's */
}
.fc-time-grid-event.fc-short .fc-title {
  font-size: 0.85em;
  /* make the title text the same size as the time */
  padding: 0;
  /* undo padding from above */
}
/* resizer */
.fc-time-grid-event .fc-resizer {
  left: 0;
  right: 0;
  bottom: 0;
  height: 8px;
  overflow: hidden;
  line-height: 8px;
  font-size: 11px;
  font-family: monospace;
  text-align: center;
  cursor: s-resize;
}
.fc-time-grid-event .fc-resizer:after {
  content: "=";
}
.fc-event-container:hover {
  cursor: pointer;
}
/*
td.fc-other-month .fc-day-number {
	display: none;
}
*/
.animationStreet {
  display: block;
  width: 535px;
  height: 316px;
  float: right;
  position: relative;
  margin: 28px 50px;
}
.animationStreet * {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
@-moz-keyframes popIn {
  0% {
    -webkit-transform: translateY(-40px);
    -moz-transform: translateY(-40px);
    -ms-transform: translateY(-40px);
    -o-transform: translateY(-40px);
    transform: translateY(-40px);
  }
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  60% {
    -webkit-transform: translateY(-12px);
    -moz-transform: translateY(-12px);
    -ms-transform: translateY(-12px);
    -o-transform: translateY(-12px);
    transform: translateY(-12px);
  }
}
@-webkit-keyframes popIn {
  0% {
    -webkit-transform: translateY(-40px);
    -moz-transform: translateY(-40px);
    -ms-transform: translateY(-40px);
    -o-transform: translateY(-40px);
    transform: translateY(-40px);
  }
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  60% {
    -webkit-transform: translateY(-12px);
    -moz-transform: translateY(-12px);
    -ms-transform: translateY(-12px);
    -o-transform: translateY(-12px);
    transform: translateY(-12px);
  }
}
@keyframes popIn {
  0% {
    -webkit-transform: translateY(-40px);
    -moz-transform: translateY(-40px);
    -ms-transform: translateY(-40px);
    -o-transform: translateY(-40px);
    transform: translateY(-40px);
  }
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  60% {
    -webkit-transform: translateY(-12px);
    -moz-transform: translateY(-12px);
    -ms-transform: translateY(-12px);
    -o-transform: translateY(-12px);
    transform: translateY(-12px);
  }
}
@-moz-keyframes popUp {
  0% {
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
@-webkit-keyframes popUp {
  0% {
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes popUp {
  0% {
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
.animationStreet .tree {
  position: absolute;
  top: 46px;
  left: 160px;
  z-index: 2;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
  transform-origin: 25% 75%;
}
.animationStreet .roadAnimation {
  width: 435px;
  height: 270px;
  overflow: hidden;
  position: absolute;
  top: 50px;
  left: 50px;
}
.animationStreet.ready .road {
  -webkit-animation: popUp 400ms ease-in 0ms 1 forwards;
  -moz-animation: popUp 400ms ease-in 0ms 1 forwards;
  animation: popUp 400ms ease-in 0ms 1 forwards;
}
.animationStreet.ready .tree {
  -webkit-animation: popUp 500ms ease-in 500ms 1 forwards;
  -moz-animation: popUp 500ms ease-in 500ms 1 forwards;
  animation: popUp 500ms ease-in 500ms 1 forwards;
}
.animationStreet.ready .car_1,
.animationStreet.ready .digger_1 {
  -webkit-animation: popUp 500ms linear 500ms 1 forwards;
  -moz-animation: popUp 500ms linear 500ms 1 forwards;
  animation: popUp 500ms linear 500ms 1 forwards;
}
.animationStreet.ready .hotel_1 {
  -webkit-animation: popUp 500ms ease-in 750ms 1 forwards;
  -moz-animation: popUp 500ms ease-in 750ms 1 forwards;
  animation: popUp 500ms ease-in 750ms 1 forwards;
}
.animationStreet.ready .hotel_2 {
  -webkit-animation: popUp 500ms ease-in 1100ms 1 forwards;
  -moz-animation: popUp 500ms ease-in 1100ms 1 forwards;
  animation: popUp 500ms ease-in 1100ms 1 forwards;
}
.animationStreet.ready .lamppost_1 {
  -webkit-animation: popUp 300ms ease-in 250ms 1 forwards;
  -moz-animation: popUp 300ms ease-in 250ms 1 forwards;
  animation: popUp 300ms ease-in 250ms 1 forwards;
}
.animationStreet.ready .lamppost_2 {
  -webkit-animation: popUp 300ms ease-in 500ms 1 forwards;
  -moz-animation: popUp 300ms ease-in 500ms 1 forwards;
  animation: popUp 300ms ease-in 500ms 1 forwards;
}
.animationStreet.ready .lamppost_3 {
  -webkit-animation: popUp 300ms ease-in 750ms 1 forwards;
  -moz-animation: popUp 300ms ease-in 750ms 1 forwards;
  animation: popUp 300ms ease-in 750ms 1 forwards;
}
.animationStreet.ready .house_1 {
  -webkit-animation: popUp 500ms ease-in 1450ms 1 forwards;
  -moz-animation: popUp 500ms ease-in 1450ms 1 forwards;
  animation: popUp 500ms ease-in 1450ms 1 forwards;
}
.animationStreet.ready .house_2 {
  -webkit-animation: popUp 500ms ease-in 1800ms 1 forwards;
  -moz-animation: popUp 500ms ease-in 1800ms 1 forwards;
  animation: popUp 500ms ease-in 1800ms 1 forwards;
}
.animationStreet.ready .house_3 {
  -webkit-animation: popUp 500ms ease-in 2150ms 1 forwards;
  -moz-animation: popUp 500ms ease-in 2150ms 1 forwards;
  animation: popUp 500ms ease-in 2150ms 1 forwards;
}
.animationStreet.ready .house_4 {
  -webkit-animation: popUp 500ms ease-in 2500ms 1 forwards;
  -moz-animation: popUp 500ms ease-in 2500ms 1 forwards;
  animation: popUp 500ms ease-in 2500ms 1 forwards;
}
.animationStreet.ready .house_5 {
  -webkit-animation: popUp 500ms ease-in 2850ms 1 forwards;
  -moz-animation: popUp 500ms ease-in 2850ms 1 forwards;
  animation: popUp 500ms ease-in 2850ms 1 forwards;
}
.animationStreet.ready .car_2 {
  -webkit-animation: driveCar2 20s linear 2s infinite;
  -moz-animation: driveCar2 20s linear 2s infinite;
  animation: driveCar2 20s linear 2s infinite;
}
.animationStreet.ready .car_3 {
  -webkit-animation: driveCar3 20s linear 9s infinite;
  -moz-animation: driveCar3 20s linear 9s infinite;
  animation: driveCar3 20s linear 9s infinite;
}
.animationStreet.ready .car_4 {
  -webkit-animation: driveCar4 20s linear 3s infinite;
  -moz-animation: driveCar4 20s linear 3s infinite;
  animation: driveCar4 20s linear 3s infinite;
}
.animationStreet.ready .car_5 {
  -webkit-animation: driveCar5 20s linear 8s infinite;
  -moz-animation: driveCar5 20s linear 8s infinite;
  animation: driveCar5 20s linear 8s infinite;
}
.animationStreet.ready .car_6 {
  -webkit-animation: driveCar4 20s linear 18s infinite;
  -moz-animation: driveCar4 20s linear 18s infinite;
  animation: driveCar4 20s linear 18s infinite;
}
.animationStreet.ready .car_7 {
  -webkit-animation: driveCar7 20s linear 15s infinite;
  -moz-animation: driveCar7 20s linear 15s infinite;
  animation: driveCar7 20s linear 15s infinite;
}
.animationStreet .road {
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
  transform-origin: center center;
}
.animationStreet .hotels .hotel {
  position: absolute;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
  transform-origin: bottom center;
}
.animationStreet .hotels .hotel_1 {
  top: -35px;
  left: 104px;
  z-index: 1;
}
.animationStreet .hotels .hotel_2 {
  top: 0;
  left: 188px;
  z-index: 3;
}
.animationStreet .lampposts .lamppost {
  position: absolute;
  z-index: 5;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
  transform-origin: center right;
}
.animationStreet .lampposts .lamppost_1 {
  top: 55px;
  left: 167px;
}
.animationStreet .lampposts .lamppost_2 {
  top: 129px;
  left: 295px;
}
.animationStreet .lampposts .lamppost_3 {
  top: 203px;
  left: 424px;
}
.animationStreet .rowOfBuildings .house {
  position: absolute;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
  transform-origin: bottom center;
}
.animationStreet .rowOfBuildings .house_1 {
  top: 88px;
  left: 329px;
}
.animationStreet .rowOfBuildings .house_2 {
  top: 106px;
  left: 361px;
}
.animationStreet .rowOfBuildings .house_3 {
  top: 118px;
  left: 391px;
}
.animationStreet .rowOfBuildings .house_4 {
  top: 141px;
  left: 417px;
}
.animationStreet .rowOfBuildings .house_5 {
  top: 140px;
  left: 455px;
}
.animationStreet .vehicles .vehicle {
  position: absolute;
  z-index: 6;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.animationStreet .vehicles .car_1 {
  top: 92px;
  left: 241px;
  z-index: 4;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
  transform-origin: 50% 75%;
}
.animationStreet .vehicles .car_2 {
  top: 275px;
  left: 422px;
}
@-moz-keyframes driveCar2 {
  0% {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  20% {
    -webkit-transform: translate(-465px, -270px);
    -moz-transform: translate(-465px, -270px);
    -ms-transform: translate(-465px, -270px);
    -o-transform: translate(-465px, -270px);
    transform: translate(-465px, -270px);
  }
  100% {
    -webkit-transform: translate(-465px, -270px);
    -moz-transform: translate(-465px, -270px);
    -ms-transform: translate(-465px, -270px);
    -o-transform: translate(-465px, -270px);
    transform: translate(-465px, -270px);
  }
}
@-webkit-keyframes driveCar2 {
  0% {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  20% {
    -webkit-transform: translate(-465px, -270px);
    -moz-transform: translate(-465px, -270px);
    -ms-transform: translate(-465px, -270px);
    -o-transform: translate(-465px, -270px);
    transform: translate(-465px, -270px);
  }
  100% {
    -webkit-transform: translate(-465px, -270px);
    -moz-transform: translate(-465px, -270px);
    -ms-transform: translate(-465px, -270px);
    -o-transform: translate(-465px, -270px);
    transform: translate(-465px, -270px);
  }
}
@keyframes driveCar2 {
  0% {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  20% {
    -webkit-transform: translate(-465px, -270px);
    -moz-transform: translate(-465px, -270px);
    -ms-transform: translate(-465px, -270px);
    -o-transform: translate(-465px, -270px);
    transform: translate(-465px, -270px);
  }
  100% {
    -webkit-transform: translate(-465px, -270px);
    -moz-transform: translate(-465px, -270px);
    -ms-transform: translate(-465px, -270px);
    -o-transform: translate(-465px, -270px);
    transform: translate(-465px, -270px);
  }
}
.animationStreet .vehicles .car_3 {
  top: 275px;
  left: 422px;
}
@-moz-keyframes driveCar3 {
  0% {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  20% {
    -webkit-transform: translate(-465px, -270px);
    -moz-transform: translate(-465px, -270px);
    -ms-transform: translate(-465px, -270px);
    -o-transform: translate(-465px, -270px);
    transform: translate(-465px, -270px);
  }
  100% {
    -webkit-transform: translate(-465px, -270px);
    -moz-transform: translate(-465px, -270px);
    -ms-transform: translate(-465px, -270px);
    -o-transform: translate(-465px, -270px);
    transform: translate(-465px, -270px);
  }
}
@-webkit-keyframes driveCar3 {
  0% {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  20% {
    -webkit-transform: translate(-465px, -270px);
    -moz-transform: translate(-465px, -270px);
    -ms-transform: translate(-465px, -270px);
    -o-transform: translate(-465px, -270px);
    transform: translate(-465px, -270px);
  }
  100% {
    -webkit-transform: translate(-465px, -270px);
    -moz-transform: translate(-465px, -270px);
    -ms-transform: translate(-465px, -270px);
    -o-transform: translate(-465px, -270px);
    transform: translate(-465px, -270px);
  }
}
@keyframes driveCar3 {
  0% {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  20% {
    -webkit-transform: translate(-465px, -270px);
    -moz-transform: translate(-465px, -270px);
    -ms-transform: translate(-465px, -270px);
    -o-transform: translate(-465px, -270px);
    transform: translate(-465px, -270px);
  }
  100% {
    -webkit-transform: translate(-465px, -270px);
    -moz-transform: translate(-465px, -270px);
    -ms-transform: translate(-465px, -270px);
    -o-transform: translate(-465px, -270px);
    transform: translate(-465px, -270px);
  }
}
.animationStreet .vehicles .car_4 {
  top: -23px;
  left: -43px;
}
@-moz-keyframes driveCar4 {
  0% {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  20% {
    -webkit-transform: translate(480px, 280px);
    -moz-transform: translate(480px, 280px);
    -ms-transform: translate(480px, 280px);
    -o-transform: translate(480px, 280px);
    transform: translate(480px, 280px);
  }
  100% {
    -webkit-transform: translate(480px, 280px);
    -moz-transform: translate(480px, 280px);
    -ms-transform: translate(480px, 280px);
    -o-transform: translate(480px, 280px);
    transform: translate(480px, 280px);
  }
}
@-webkit-keyframes driveCar4 {
  0% {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  20% {
    -webkit-transform: translate(480px, 280px);
    -moz-transform: translate(480px, 280px);
    -ms-transform: translate(480px, 280px);
    -o-transform: translate(480px, 280px);
    transform: translate(480px, 280px);
  }
  100% {
    -webkit-transform: translate(480px, 280px);
    -moz-transform: translate(480px, 280px);
    -ms-transform: translate(480px, 280px);
    -o-transform: translate(480px, 280px);
    transform: translate(480px, 280px);
  }
}
@keyframes driveCar4 {
  0% {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  20% {
    -webkit-transform: translate(480px, 280px);
    -moz-transform: translate(480px, 280px);
    -ms-transform: translate(480px, 280px);
    -o-transform: translate(480px, 280px);
    transform: translate(480px, 280px);
  }
  100% {
    -webkit-transform: translate(480px, 280px);
    -moz-transform: translate(480px, 280px);
    -ms-transform: translate(480px, 280px);
    -o-transform: translate(480px, 280px);
    transform: translate(480px, 280px);
  }
}
.animationStreet .vehicles .car_5 {
  top: -23px;
  left: -43px;
}
@-moz-keyframes driveCar5 {
  0% {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  20% {
    -webkit-transform: translate(480px, 280px);
    -moz-transform: translate(480px, 280px);
    -ms-transform: translate(480px, 280px);
    -o-transform: translate(480px, 280px);
    transform: translate(480px, 280px);
  }
  100% {
    -webkit-transform: translate(480px, 280px);
    -moz-transform: translate(480px, 280px);
    -ms-transform: translate(480px, 280px);
    -o-transform: translate(480px, 280px);
    transform: translate(480px, 280px);
  }
}
@-webkit-keyframes driveCar5 {
  0% {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  20% {
    -webkit-transform: translate(480px, 280px);
    -moz-transform: translate(480px, 280px);
    -ms-transform: translate(480px, 280px);
    -o-transform: translate(480px, 280px);
    transform: translate(480px, 280px);
  }
  100% {
    -webkit-transform: translate(480px, 280px);
    -moz-transform: translate(480px, 280px);
    -ms-transform: translate(480px, 280px);
    -o-transform: translate(480px, 280px);
    transform: translate(480px, 280px);
  }
}
@keyframes driveCar5 {
  0% {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  20% {
    -webkit-transform: translate(480px, 280px);
    -moz-transform: translate(480px, 280px);
    -ms-transform: translate(480px, 280px);
    -o-transform: translate(480px, 280px);
    transform: translate(480px, 280px);
  }
  100% {
    -webkit-transform: translate(480px, 280px);
    -moz-transform: translate(480px, 280px);
    -ms-transform: translate(480px, 280px);
    -o-transform: translate(480px, 280px);
    transform: translate(480px, 280px);
  }
}
.animationStreet .vehicles .car_6 {
  top: -23px;
  left: -43px;
}
@-moz-keyframes driveCar6 {
  0% {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  20% {
    -webkit-transform: translate(480px, 280px);
    -moz-transform: translate(480px, 280px);
    -ms-transform: translate(480px, 280px);
    -o-transform: translate(480px, 280px);
    transform: translate(480px, 280px);
  }
  100% {
    -webkit-transform: translate(480px, 280px);
    -moz-transform: translate(480px, 280px);
    -ms-transform: translate(480px, 280px);
    -o-transform: translate(480px, 280px);
    transform: translate(480px, 280px);
  }
}
@-webkit-keyframes driveCar6 {
  0% {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  20% {
    -webkit-transform: translate(480px, 280px);
    -moz-transform: translate(480px, 280px);
    -ms-transform: translate(480px, 280px);
    -o-transform: translate(480px, 280px);
    transform: translate(480px, 280px);
  }
  100% {
    -webkit-transform: translate(480px, 280px);
    -moz-transform: translate(480px, 280px);
    -ms-transform: translate(480px, 280px);
    -o-transform: translate(480px, 280px);
    transform: translate(480px, 280px);
  }
}
@keyframes driveCar6 {
  0% {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  20% {
    -webkit-transform: translate(480px, 280px);
    -moz-transform: translate(480px, 280px);
    -ms-transform: translate(480px, 280px);
    -o-transform: translate(480px, 280px);
    transform: translate(480px, 280px);
  }
  100% {
    -webkit-transform: translate(480px, 280px);
    -moz-transform: translate(480px, 280px);
    -ms-transform: translate(480px, 280px);
    -o-transform: translate(480px, 280px);
    transform: translate(480px, 280px);
  }
}
.animationStreet .vehicles .car_7 {
  top: 275px;
  left: 422px;
}
@-moz-keyframes driveCar7 {
  0% {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  20% {
    -webkit-transform: translate(-465px, -270px);
    -moz-transform: translate(-465px, -270px);
    -ms-transform: translate(-465px, -270px);
    -o-transform: translate(-465px, -270px);
    transform: translate(-465px, -270px);
  }
  100% {
    -webkit-transform: translate(-465px, -270px);
    -moz-transform: translate(-465px, -270px);
    -ms-transform: translate(-465px, -270px);
    -o-transform: translate(-465px, -270px);
    transform: translate(-465px, -270px);
  }
}
@-webkit-keyframes driveCar7 {
  0% {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  20% {
    -webkit-transform: translate(-465px, -270px);
    -moz-transform: translate(-465px, -270px);
    -ms-transform: translate(-465px, -270px);
    -o-transform: translate(-465px, -270px);
    transform: translate(-465px, -270px);
  }
  100% {
    -webkit-transform: translate(-465px, -270px);
    -moz-transform: translate(-465px, -270px);
    -ms-transform: translate(-465px, -270px);
    -o-transform: translate(-465px, -270px);
    transform: translate(-465px, -270px);
  }
}
@keyframes driveCar7 {
  0% {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  20% {
    -webkit-transform: translate(-465px, -270px);
    -moz-transform: translate(-465px, -270px);
    -ms-transform: translate(-465px, -270px);
    -o-transform: translate(-465px, -270px);
    transform: translate(-465px, -270px);
  }
  100% {
    -webkit-transform: translate(-465px, -270px);
    -moz-transform: translate(-465px, -270px);
    -ms-transform: translate(-465px, -270px);
    -o-transform: translate(-465px, -270px);
    transform: translate(-465px, -270px);
  }
}
.animationStreet .vehicles .digger_1 {
  top: 53px;
  left: 191px;
  z-index: 4;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
  transform-origin: 50% 75%;
}
.statGraph {
  width: 570px;
  position: relative;
}
.statGraph .graph {
  width: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
@-moz-keyframes maskIn {
  0% {
    width: 0;
  }
  100% {
    width: 99.9%;
  }
}
@-webkit-keyframes maskIn {
  0% {
    width: 0;
  }
  100% {
    width: 99.9%;
  }
}
@keyframes maskIn {
  0% {
    width: 0;
  }
  100% {
    width: 99.9%;
  }
}
.statGraph .graph:before {
  display: block;
  content: '';
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  background-size: cover;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.statGraph .graphHotels .hotel {
  position: absolute;
  width: 65px;
  z-index: 5;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
  transform-origin: 50% 75%;
}
@-moz-keyframes popUp {
  0% {
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
@-webkit-keyframes popUp {
  0% {
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes popUp {
  0% {
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
.statGraph .graphHotels .hotel_1 {
  top: 310px;
  left: 260px;
}
.statGraph .graphHotels .hotel_2 {
  top: 286px;
  left: 341px;
}
.statGraph .graphHotels .hotel_3 {
  top: 251px;
  left: 422px;
}
.statGraph.ready .graph_front {
  z-index: 3;
  -webkit-animation: maskIn 4s ease-out 0.5s 1 forwards;
  -moz-animation: maskIn 4s ease-out 0.5s 1 forwards;
  animation: maskIn 4s ease-out 0.5s 1 forwards;
}
.statGraph.ready .graph_front:before {
  background-image: url(../images/animation/graph/front_graph.png);
}
.statGraph.ready .graph_back {
  z-index: 2;
  -webkit-animation: maskIn 4s ease-out 0s 1 forwards;
  -moz-animation: maskIn 4s ease-out 0s 1 forwards;
  animation: maskIn 4s ease-out 0s 1 forwards;
}
.statGraph.ready .graph_back:before {
  background-image: url(../images/animation/graph/back_graph.png);
}
.statGraph.ready .hotel_1 {
  -webkit-animation: popUp 600ms ease-out 4000ms 1 forwards;
  -moz-animation: popUp 600ms ease-out 4000ms 1 forwards;
  animation: popUp 600ms ease-out 4000ms 1 forwards;
}
.statGraph.ready .hotel_2 {
  -webkit-animation: popUp 600ms ease-out 4400ms 1 forwards;
  -moz-animation: popUp 600ms ease-out 4400ms 1 forwards;
  animation: popUp 600ms ease-out 4400ms 1 forwards;
}
.statGraph.ready .hotel_3 {
  -webkit-animation: popUp 600ms ease-out 4800ms 1 forwards;
  -moz-animation: popUp 600ms ease-out 4800ms 1 forwards;
  animation: popUp 600ms ease-out 4800ms 1 forwards;
}
.roomWrapper {
  width: 50%;
  float: left;
  padding: 50px 0;
}
.room {
  width: 359px;
  height: 328px;
  position: relative;
  margin: 0 auto;
  overflow: hidden;
}
.room img {
  -webkit-transform: scale(1.5) translateY(-500px);
  -moz-transform: scale(1.5) translateY(-500px);
  -ms-transform: scale(1.5) translateY(-500px);
  -o-transform: scale(1.5) translateY(-500px);
  transform: scale(1.5) translateY(-500px);
}
@-moz-keyframes dropDown {
  0% {
    -webkit-transform: scale(1.5) translateY(-500px);
    -moz-transform: scale(1.5) translateY(-500px);
    -ms-transform: scale(1.5) translateY(-500px);
    -o-transform: scale(1.5) translateY(-500px);
    transform: scale(1.5) translateY(-500px);
  }
  100% {
    -webkit-transform: scale(1.5) translateY(0);
    -moz-transform: scale(1.5) translateY(0);
    -ms-transform: scale(1.5) translateY(0);
    -o-transform: scale(1.5) translateY(0);
    transform: scale(1.5) translateY(0);
  }
}
@-webkit-keyframes dropDown {
  0% {
    -webkit-transform: scale(1.5) translateY(-500px);
    -moz-transform: scale(1.5) translateY(-500px);
    -ms-transform: scale(1.5) translateY(-500px);
    -o-transform: scale(1.5) translateY(-500px);
    transform: scale(1.5) translateY(-500px);
  }
  100% {
    -webkit-transform: scale(1.5) translateY(0);
    -moz-transform: scale(1.5) translateY(0);
    -ms-transform: scale(1.5) translateY(0);
    -o-transform: scale(1.5) translateY(0);
    transform: scale(1.5) translateY(0);
  }
}
@keyframes dropDown {
  0% {
    -webkit-transform: scale(1.5) translateY(-500px);
    -moz-transform: scale(1.5) translateY(-500px);
    -ms-transform: scale(1.5) translateY(-500px);
    -o-transform: scale(1.5) translateY(-500px);
    transform: scale(1.5) translateY(-500px);
  }
  100% {
    -webkit-transform: scale(1.5) translateY(0);
    -moz-transform: scale(1.5) translateY(0);
    -ms-transform: scale(1.5) translateY(0);
    -o-transform: scale(1.5) translateY(0);
    transform: scale(1.5) translateY(0);
  }
}
.room .overlay {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: url(../images/animation/room/room.png) center;
  background-size: cover;
  opacity: 0.6;
  display: none;
}
.room .mainRoom {
  position: absolute;
  top: 55px;
  left: 60px;
  z-index: 1;
}
.room .innerWall {
  position: absolute;
  top: 66px;
  left: 115px;
  z-index: 5;
}
.room .plant_1 {
  position: absolute;
  top: 222px;
  left: 76px;
  z-index: 7;
}
.room .plant_2 {
  position: absolute;
  top: 251px;
  left: 126px;
  z-index: 9;
}
.room .tv {
  position: absolute;
  top: 225px;
  left: 97px;
  z-index: 8;
}
.room .lamp {
  position: absolute;
  top: 224px;
  left: 205px;
  z-index: 8;
}
.room .desk {
  position: absolute;
  top: 244px;
  left: 167px;
  z-index: 7;
}
.room .sink {
  position: absolute;
  top: 140px;
  left: 161px;
  z-index: 4;
}
.room .toilet {
  position: absolute;
  top: 124px;
  left: 200px;
  z-index: 3;
}
.room .bath {
  position: absolute;
  top: 112px;
  left: 126px;
  z-index: 2;
}
.room .bed {
  position: absolute;
  top: 160px;
  left: 190px;
  z-index: 6;
}
.room .papers {
  position: absolute;
  top: 266px;
  left: 169px;
  z-index: 8;
}
.room.ready .mainRoom {
  -webkit-animation: dropDown 400ms ease-out 0ms 1 forwards;
  -moz-animation: dropDown 400ms ease-out 0ms 1 forwards;
  animation: dropDown 400ms ease-out 0ms 1 forwards;
}
.room.ready .toilet {
  -webkit-animation: dropDown 400ms ease-out 800ms 1 forwards;
  -moz-animation: dropDown 400ms ease-out 800ms 1 forwards;
  animation: dropDown 400ms ease-out 800ms 1 forwards;
}
.room.ready .sink {
  -webkit-animation: dropDown 400ms ease-out 1100ms 1 forwards;
  -moz-animation: dropDown 400ms ease-out 1100ms 1 forwards;
  animation: dropDown 400ms ease-out 1100ms 1 forwards;
}
.room.ready .bath {
  -webkit-animation: dropDown 400ms ease-out 1300ms 1 forwards;
  -moz-animation: dropDown 400ms ease-out 1300ms 1 forwards;
  animation: dropDown 400ms ease-out 1300ms 1 forwards;
}
.room.ready .bed {
  -webkit-animation: dropDown 400ms ease-out 1400ms 1 forwards;
  -moz-animation: dropDown 400ms ease-out 1400ms 1 forwards;
  animation: dropDown 400ms ease-out 1400ms 1 forwards;
}
.room.ready .desk {
  -webkit-animation: dropDown 400ms ease-out 1600ms 1 forwards;
  -moz-animation: dropDown 400ms ease-out 1600ms 1 forwards;
  animation: dropDown 400ms ease-out 1600ms 1 forwards;
}
.room.ready .innerWall {
  -webkit-animation: dropDown 400ms ease-out 2000ms 1 forwards;
  -moz-animation: dropDown 400ms ease-out 2000ms 1 forwards;
  animation: dropDown 400ms ease-out 2000ms 1 forwards;
}
.room.ready .plant_1 {
  -webkit-animation: dropDown 400ms ease-out 2200ms 1 forwards;
  -moz-animation: dropDown 400ms ease-out 2200ms 1 forwards;
  animation: dropDown 400ms ease-out 2200ms 1 forwards;
}
.room.ready .plant_2 {
  -webkit-animation: dropDown 400ms ease-out 2300ms 1 forwards;
  -moz-animation: dropDown 400ms ease-out 2300ms 1 forwards;
  animation: dropDown 400ms ease-out 2300ms 1 forwards;
}
.room.ready .lamp {
  -webkit-animation: dropDown 400ms ease-out 2500ms 1 forwards;
  -moz-animation: dropDown 400ms ease-out 2500ms 1 forwards;
  animation: dropDown 400ms ease-out 2500ms 1 forwards;
}
.room.ready .tv {
  -webkit-animation: dropDown 400ms ease-out 2800ms 1 forwards;
  -moz-animation: dropDown 400ms ease-out 2800ms 1 forwards;
  animation: dropDown 400ms ease-out 2800ms 1 forwards;
}
.room.ready .papers {
  -webkit-animation: dropDown 400ms ease-out 3000ms 1 forwards;
  -moz-animation: dropDown 400ms ease-out 3000ms 1 forwards;
  animation: dropDown 400ms ease-out 3000ms 1 forwards;
}
html.lt-ie9 {
  min-width: 1480px;
}
html.lt-ie9 .box {
  width: 32%;
  margin: 0 1% 20px 0;
}
html.lt-ie9 .logo img {
  width: 200px;
  height: 55px;
}
html.lt-ie9 .mainMenu li ul {
  left: 0;
}
html.lt-ie9 .mainMenu li ul:after {
  left: 20%;
}
html.lt-ie9 .jigsawWrap {
  display: none;
}
html.lt-ie9 .mainWrapper .content {
  width: 100%;
}
html.lt-ie9 .mainWrapper .content .sector {
  width: 49%;
  margin: 0 1% 20px 0;
}
html.lt-ie9 .clients .carousel li a img {
  top: 0;
  left: 0;
  position: static;
  margin: 0 auto;
  display: block;
  vertical-align: middle;
}
html.lt-ie9 .section.about .carousel.dataCarousel .slick-dots {
  display: block;
  width: 100%;
  float: left;
  text-align: left;
}
html.lt-ie9 .section.marketSnapshot .content.right,
html.lt-ie9 .section.productTrends .content.right,
html.lt-ie9 .section.statistics .content.right,
html.lt-ie9 .section.search .content.right,
html.lt-ie9 .section.devices .content.left,
html.lt-ie9 .section.insight .content.left,
html.lt-ie9 .section.trends .content.left,
html.lt-ie9 .section.markets .content.left,
html.lt-ie9 .section.productInsight .map .left,
html.lt-ie9 .section.productInsight .database .right {
  margin-top: -200px;
}
html.lt-ie9 .section.search .overlay {
  left: 50%;
  background: #FFF;
}
html.lt-ie9 .section.video .caption {
  margin-left: -435px;
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=0, M22=1, SizingMethod='auto expand')";
}
html.lt-ie9 .section.video .vjs-no-js {
  display: none;
}
html.lt-ie9 .insightsProduct .highlights .highlight i {
  margin-top: -75px;
}
html.lt-ie9 .insightsProduct .highlights .highlight {
  width: 32%;
  margin: 0;
}
html.lt-ie9 .highlighted {
  display: none;
}
html.lt-ie9 .hotspotMap {
  height: 683px;
  background: url(../images/layout/ukmap.jpg) center no-repeat;
}
html.lt-ie9 .svgContainer {
  display: none;
}
html.lt-ie9 label {
  width: 80%;
}
html.lt-ie9 .checkboxRow input[type=checkbox],
html.lt-ie9 .checkboxRow input[type=radio],
html.lt-ie9 .customRadio input[type=checkbox],
html.lt-ie9 .customRadio input[type=radio],
html.lt-ie9 .mobileSearchWrap,
html.lt-ie9 .subscriptionItem input[type=checkbox],
html.lt-ie9 .subscriptionItem input[type=radio] {
  display: block;
  float: right;
}
html.lt-ie9 form.styled .products {
  overflow: hidden;
  position: relative;
}
html.lt-ie9 form.styled .products .row {
  overflow: hidden;
}
html.lt-ie9 form.styled .products .checkboxRow input[type=checkbox],
html.lt-ie9 form.styled .products .checkboxRow input[type=radio],
html.lt-ie9 form.styled .products .customRadio input[type=checkbox],
html.lt-ie9 form.styled .products .customRadio input[type=radio],
html.lt-ie9 form.styled .products .mobileSearchWrap,
html.lt-ie9 form.styled .products .subscriptionItem input[type=checkbox],
html.lt-ie9 form.styled .products .subscriptionItem input[type=radio] {
  display: block;
  position: absolute;
  top: 30px;
  left: 200px;
}
html.lt-ie9 form.styled .products .selected .item,
html.lt-ie9 form.styled .products .subscriptionItem,
html.lt-ie9 form.styled .products .subscriptionItem {
  overflow: hidden;
}
html.lt-ie9 form.styled .products .selected .item:after,
html.lt-ie9 form.styled .products .subscriptionItem:after,
html.lt-ie9 form.styled .products .subscriptionItem:after {
  right: 100px;
  color: #85C981;
}
html.lt-ie9 .wrapper-sticky {
  float: right !important;
  right: 0 !important;
}
html.lt-ie9 .article .filter-table input {
  height: 20px;
}
html.lt-ie9 .dashboard .checkboxRow input[type=checkbox],
html.lt-ie9 .dashboard .checkboxRow input[type=radio],
html.lt-ie9 .dashboard .customRadio input[type=checkbox],
html.lt-ie9 .dashboard .customRadio input[type=radio],
html.lt-ie9 .dashboard .mobileSearchWrap,
html.lt-ie9 .dashboard .subscriptionItem input[type=checkbox],
html.lt-ie9 .dashboard .subscriptionItem input[type=radio] {
  display: block;
  float: right;
}
html.lt-ie9 .dashboard .blocks a {
  width: 24%;
  margin: 0 0.5%;
}
html.lt-ie9 .dashboard .guides li {
  width: 31%;
  margin: 10px 1%;
}
html.lt-ie9 .dashboard label {
  width: 80%;
}
html.lt-ie9 .dashboard .buttons .search.text {
  height: 40px;
}
html.lt-ie9 .dashboard .statistics {
  display: none;
}
html.lt-ie9 .dashboard .newsWrap .box {
  width: 32%;
  margin: 0 1% 20px 0;
}
html.lt-ie9 .dashboard .stats .stat {
  width: 32%;
  margin: 0 1% 20px 0;
}
html.lt-ie9 .vjs-no-js {
  display: block;
  padding: 10px 10px 10px 60px;
  border: 1px solid #457dae;
  background: #cde7f5;
  position: relative;
}
html.lt-ie9 .vjs-no-js:before {
  display: block;
  position: absolute;
  left: 10px;
  top: 5px;
  font-family: 'FontAwesome';
  content: '\f071';
  font-size: 40px;
  font-size: 3.076923076923077rem;
  color: #457dae;
}
/* ------------------------------ */
/* Site Styles */
/* ------------------------------ */
.wrapper {
  max-width: 1480px;
  width: 100%;
  padding: 0 40px;
  position: relative;
  margin: 0 auto;
  *zoom: 1;
}
.wrapper:before,
.wrapper:after {
  content: "";
  display: table;
}
.wrapper:after {
  clear: both;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .wrapper {
    padding: 0 30px;
  }
}
@media all and (max-width: 640px) {
  .wrapper {
    padding: 0 20px;
  }
}
/* ------------------------------ */
/* Body Tag */
/* ------------------------------ */
html {
  font-size: 13px;
}
@media all and (max-width: 640px) {
  html {
    font-size: 11px;
  }
}
body {
  font-size: 14.999999999999998px;
  font-size: 1.1538461538461537rem;
  line-height: 1.662;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  min-width: 320px;
  max-width: 100%;
  color: #333;
}
@media all and (min-width: 1061px) {
  #content {
    min-height: 650px;
  }
}
/* ------------------------------ */
/* Typography */
/* ------------------------------ */
a {
  text-decoration: none;
  color: #038779;
  -webkit-transition: color ease-in-out 300ms;
  -moz-transition: color ease-in-out 300ms;
  -ms-transition: color ease-in-out 300ms;
  -o-transition: color ease-in-out 300ms;
  transition: color ease-in-out 300ms;
}
a:hover {
  color: #038779;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 5px 0;
  color: #333;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  font-weight: 400;
  letter-spacing: 1px;
}
h1 {
  color: #038779;
  margin: 0 0 5px 0;
  line-height: 1.1;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  font-size: 32px;
  font-size: 2.4615384615384617rem;
}
h2 {
  font-size: 25px;
  font-size: 1.9230769230769231rem;
}
h3 {
  color: #999;
  margin: 0 0 15px 0;
  line-height: 1.2;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  line-height: 28px;
  font-size: 20px;
  font-size: 1.5384615384615385rem;
}
@media all and (max-width: 640px) {
  h3 {
    line-height: 19px;
  }
}
h3:after {
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 10px;
  margin: 10px 0;
  background: #038779;
  content: '';
}
h4,
h5,
h6 {
  font-size: 14px;
  font-size: 1.0769230769230769rem;
}
/* ------------------------------ */
/* Site Logo */
/* ------------------------------ */
.logo {
  float: left;
  padding: 0;
  margin: 10px 0;
}
.logo.replaced-svg {
  width: auto;
  height: 50px;
}
@media all and (max-width: 640px) {
  .logo {
    margin: 10px 0;
  }
  .logo.replaced-svg {
    width: 165px;
    height: 45px;
  }
}
/* ------------------------------ */
/* Main Menu */
/* ------------------------------ */
.hidden {
  display: none;
}
.flyoutWrap {
  position: relative;
  float: right;
  margin-right: 20px;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .flyoutWrap {
    float: none;
    width: 100%;
  }
}
@media all and (max-width: 640px) {
  .flyoutWrap {
    float: none;
    position: fixed;
    padding-bottom: 50px;
    height: 100%;
    overflow: scroll;
    margin: 0;
  }
}
.mainMenu {
  padding: 0 5px;
  width: auto;
  display: block;
  float: right;
  font-size: 14px;
  font-size: 1.0769230769230769rem;
  margin: 35px 10px 0 0;
  border-right: 1px solid #038779;
}
.mainMenu a {
  padding: 0 10px;
  color: #000;
  text-transform: uppercase;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  -webkit-transition: color ease-in 200ms;
  -moz-transition: color ease-in 200ms;
  -ms-transition: color ease-in 200ms;
  -o-transition: color ease-in 200ms;
  transition: color ease-in 200ms;
  display: block;
  font-size: 18px;
  font-size: 1.3846153846153846rem;
}
.mainMenu a:hover {
  color: #038779;
}
.mainMenu li {
  position: relative;
  margin: 0 5px;
  display: block;
  float: left;
}
.mainMenu li:hover > ul {
  display: block;
}
.mainMenu li.mobileShow {
  display: none;
}
.mainMenu li.active a {
  color: #038779;
}
.mainMenu li#primary_menu_19 {
  display: none;
}
.mainMenu ul {
  display: none;
  position: absolute;
  top: 100%;
  margin: 0;
  z-index: 10;
  border-right: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  padding: 20px 0 0 0;
  background: transparent;
}
.mainMenu ul:after {
  top: 0;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(231, 242, 231, 0);
  border-bottom-color: #E7F2E7;
  border-width: 10px;
  margin-left: -10px;
}
.mainMenu ul li {
  background: #E7F2E7;
  width: 100%;
  margin: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}
.mainMenu ul li:first-child {
  border: 0;
}
.mainMenu ul a {
  padding: 10px 20px;
  white-space: nowrap;
  text-align: left;
  width: 100%;
  display: block;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .mainMenu {
    float: left;
    margin: 0 0 20px 0;
    padding: 0 20px;
    border-right: 0;
    *zoom: 1;
  }
  .mainMenu:before,
  .mainMenu:after {
    content: "";
    display: table;
  }
  .mainMenu:after {
    clear: both;
  }
  .mainMenu li {
    margin: 0 13px 0 0;
  }
  .mainMenu li a {
    padding: 0;
  }
  .mainMenu li li a {
    padding: 5px 10px;
  }
}
@media all and (max-width: 640px) {
  .mainMenu {
    display: block;
    width: 100%;
    margin: 0;
    padding: 10px;
    border-right: 0;
    /* 2nd Level */
    /* 3rd Level */
    /* 4th Level */
  }
  .mainMenu a {
    width: 100%;
    padding: 8px 10px;
  }
  .mainMenu li {
    display: block;
    text-align: left;
    margin: 0;
  }
  .mainMenu li.mobileShow {
    display: block;
  }
  .mainMenu li.mobileHide {
    display: none;
  }
  .mainMenu li:hover > ul {
    display: none;
  }
  .mainMenu li.hasChildren > a:after {
    display: block;
    position: absolute;
    top: 10px;
    right: 10px;
    content: '';
    font-family: 'FontAwesome';
    content: "\f0da";
    -webkit-transition: all 300ms ease-in-out 0s;
    -moz-transition: all 300ms ease-in-out 0s;
    -ms-transition: all 300ms ease-in-out 0s;
    -o-transition: all 300ms ease-in-out 0s;
    transition: all 300ms ease-in-out 0s;
  }
  .mainMenu li.hasChildren.open > a:after {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  .mainMenu li ul {
    display: none;
    padding: 0;
  }
  .mainMenu li li a {
    padding-left: 10px;
  }
  .mainMenu li li li a {
    padding-left: 30px;
  }
  .mainMenu li li li li a {
    padding-left: 40px;
  }
}
/* ------------------------------ */
/* Header */
/* ------------------------------ */
#header {
  z-index: 5000;
  *zoom: 1;
  width: 100%;
  left: 0;
  top: 0;
  background: #FFF;
  border-bottom: 1px solid #EEE;
  height: 76px !important;
}
#header:before,
#header:after {
  content: "";
  display: table;
}
#header:after {
  clear: both;
}
@media only screen and (max-width: all and (min-width: 641px) and (max-width: 1000px)) {
  #header {
    height: auto;
  }
}
@media all and (max-width: 640px) {
  #header {
    position: fixed;
  }
}
#header .wrapper {
  position: relative;
}
#header .headerDetails {
  position: absolute;
  top: 55px;
  right: 0px;
}
#header .credits,
#header .address {
  display: none;
}
@media all and (max-width: 640px) {
  #header .credits,
  #header .address {
    clear: both;
    display: block;
    font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
    margin: 0 20px;
    border-top: 1px solid #DDD;
    padding: 10px 0;
  }
}
@media all and (max-width: 640px) {
  #header .address {
    border-top: 0;
    padding: 0 0 10px 0;
  }
}
#header .login {
  display: block;
  float: right;
  color: #038779;
  padding: 10px;
  margin: 25px 0 0 0;
  text-transform: uppercase;
  font-size: 18px;
  font-size: 1.3846153846153846rem;
  -webkit-transition: color ease-in 200ms;
  -moz-transition: color ease-in 200ms;
  -ms-transition: color ease-in 200ms;
  -o-transition: color ease-in 200ms;
  transition: color ease-in 200ms;
}
#header .login i {
  display: none;
}
#header .login:hover {
  color: #038779;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  #header .login {
    padding: 0 20px 0 15px;
    margin: 0;
    clear: both;
    border-left: 1px solid #038779;
  }
}
@media all and (max-width: 640px) {
  #header .login {
    width: 50%;
    float: right;
    margin: 0;
    line-height: 45px;
    text-align: center;
    background: #038779;
    color: #FFF;
  }
  #header .login i {
    display: inline-block;
    margin-right: 5px;
  }
}
#header .phone {
  display: none;
}
@media all and (max-width: 640px) {
  #header .phone {
    display: block;
    width: 50%;
    float: left;
    font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
    padding: 10px;
    line-height: 45px;
    text-align: center;
    background: #038779;
    color: #FFF;
    position: static;
  }
  #header .phone:hover {
    color: #038779;
  }
  #header .phone i {
    margin-right: 5px;
  }
}
#header .buttonAlt {
  font-size: 16px;
  font-size: 1.2307692307692308rem;
  text-transform: uppercase;
  float: right;
  margin: 26px 0;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
/* ------------------------------ */
/* Forms */
/* ------------------------------ */
.row {
  margin-bottom: 5px;
}
.row .text {
  padding: 10px;
  border: 1px solid #DDD;
  border-radius: 5px;
  -webkit-transition: border ease-out 300ms;
  -moz-transition: border ease-out 300ms;
  -ms-transition: border ease-out 300ms;
  -o-transition: border ease-out 300ms;
  transition: border ease-out 300ms;
}
.row .text.large {
  padding: 15px;
}
.row .text:focus {
  border-color: #038779;
}
.row label {
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-size: 1.0769230769230769rem;
  color: #777;
  padding: 11px 0;
}
.row label em {
  color: #038779;
}
.row.half {
  width: 48%;
  margin-right: 4%;
  float: left;
  clear: left;
}
@media all and (max-width: 640px) {
  .row.half {
    width: 100%;
    margin-right: 0;
  }
}
.row.half.last {
  margin-right: 0;
  clear: none;
}
.checkboxRow,
.customRadio,
.subscriptionItem {
  width: 100%;
}
.checkboxRow label,
.customRadio label,
.subscriptionItem label {
  position: relative;
  float: none;
  padding: 0 0 0 20px;
  width: 100%;
  cursor: pointer;
  display: block;
  line-height: 33px;
}
.checkboxRow label:before,
.customRadio label:before,
.subscriptionItem label:before {
  content: '';
  position: absolute;
  top: 4px;
  right: 0;
  width: 20px;
  height: 20px;
  background: #FFF;
}
@media all and (max-width: 640px) {
  .checkboxRow label:before,
  .customRadio label:before,
  .subscriptionItem label:before {
    bottom: 10px;
    top: auto;
    margin: 1px 0 0 0;
  }
}
.checkboxRow input[type=checkbox],
.customRadio input[type=checkbox],
.subscriptionItem input[type=checkbox],
.checkboxRow input[type=radio],
.customRadio input[type=radio],
.subscriptionItem input[type=radio] {
  display: none;
}
.checkboxRow.selected label:before,
.customRadio.selected label:before,
.subscriptionItem.selected label:before {
  background: #0f55c4;
}
.checkboxRow.small label,
.customRadio.small label,
.subscriptionItem.small label {
  padding-left: 0;
}
.checkboxRow.small label:before,
.customRadio.small label:before,
.subscriptionItem.small label:before {
  width: 10px !important;
  height: 10px !important;
  content: '' !important;
}
/*
.errorList {

    h3 {
        color: #B94A48;
    }

    li {
        display: block;
        width: 100%;
    }

}
*/
/* ------------------------------ */
/* Search */
/* ------------------------------ */
.mobileSearchWrap {
  display: none;
}
@media all and (max-width: 640px) {
  .mobileSearchWrap {
    display: block;
  }
}
.searchForm {
  float: left;
  margin-right: 20px;
}
.searchForm .row {
  position: relative;
}
.searchForm label {
  display: none;
}
.searchForm input[type="text"] {
  padding: 6px;
}
.searchForm button {
  border: 0;
  background: 0;
  position: absolute;
  top: 3px;
  right: 0;
}
/* ------------------------------ */
/* Footer */
/* ------------------------------ */
.footerWrap {
  clear: both;
  *zoom: 1;
  color: #FFF;
  font-size: 14px;
  font-size: 1.0769230769230769rem;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  padding: 20px 40px;
  background: #038779;
}
.footerWrap:before,
.footerWrap:after {
  content: "";
  display: table;
}
.footerWrap:after {
  clear: both;
}
@media all and (max-width: 640px) {
  .footerWrap {
    padding: 10px 20px;
  }
}
.footerWrap .logo {
  width: auto;
  margin: 0 0 28px 0;
}
.footerWrap .logo .st0 {
  fill: #fff;
}
.footerWrap .logo .st1 {
  fill: #038779;
}
.footerWrap ul {
  margin: 0;
  padding: 0;
  clear: both;
}
.footerWrap li {
  display: block;
  margin: 5px 0;
}
.footerWrap li i {
  width: 12px;
  text-align: left;
}
.footerWrap li:first-child {
  margin: 0;
}
.footerWrap a {
  text-transform: none;
  color: #FFF;
}
.footerWrap .contactDetails {
  float: left;
  width: 45%;
}
@media all and (max-width: 640px) {
  .footerWrap .contactDetails {
    width: 100%;
  }
}
.footerWrap .details {
  float: left;
  width: 35%;
  padding: 20px 0 0 0;
}
.footerWrap .details p {
  clear: both;
  line-height: 18px;
}
@media all and (max-width: 640px) {
  .footerWrap .details {
    width: 100%;
    padding: 0;
  }
  .footerWrap .details > a {
    display: none;
  }
  .footerWrap .details ul,
  .footerWrap .details ul li {
    width: 100%;
    text-align: center;
  }
  .footerWrap .details li:first-child {
    display: none;
  }
}
.footerWrap .sitemap {
  float: right;
  width: 45%;
  padding: 20px 0;
  *zoom: 1;
}
.footerWrap .sitemap:before,
.footerWrap .sitemap:after {
  content: "";
  display: table;
}
.footerWrap .sitemap:after {
  clear: both;
}
@media all and (max-width: 640px) {
  .footerWrap .sitemap {
    width: 100%;
    padding-bottom: 10px;
  }
}
.footerWrap .sitemap .column {
  float: left;
  width: 32%;
  margin-right: 2%;
  clear: none;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .footerWrap .sitemap .column {
    width: 49%;
  }
  .footerWrap .sitemap .column:nth-child(2n) {
    margin-right: 0;
  }
}
@media all and (max-width: 640px) {
  .footerWrap .sitemap .column {
    width: 100%;
    margin-right: 0;
  }
  .footerWrap .sitemap .column.mobileHide {
    display: none;
  }
  .footerWrap .sitemap .column ul {
    display: none;
  }
  .dashBackground .footerWrap .sitemap .column h4 {
    cursor: auto;
  }
  .dashBackground .footerWrap .sitemap .column h4:after {
    display: none;
  }
  .dashBackground .footerWrap .sitemap .column ul {
    display: block;
  }
}
.footerWrap .sitemap h4 {
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-size: 1.2307692307692308rem;
  color: #FFF;
}
@media all and (max-width: 640px) {
  .footerWrap .sitemap h4 {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    line-height: 35px;
    cursor: pointer;
  }
  .footerWrap .sitemap h4:after {
    display: block;
    float: right;
    content: '\f067';
    font-family: 'FontAwesome';
    font-size: 13px;
    font-size: 1rem;
  }
  .footerWrap .sitemap h4.open:after {
    content: '\f068';
  }
}
.footerWrap .sitemap .action {
  float: left;
  width: 32%;
  margin: 25px 0;
}
.footerWrap .sitemap .action a {
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  clear: left;
  max-width: 230px;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .footerWrap .sitemap .action {
    text-align: center;
    width: 100%;
    max-width: 230px;
  }
}
@media all and (max-width: 640px) {
  .footerWrap .sitemap .action {
    width: 100%;
    margin: 25px 0 0 0;
    text-align: center;
  }
  .footerWrap .sitemap .action a {
    margin: 0 auto;
  }
}
.footerWrap .sitemap .buttonAlt {
  margin-bottom: 10px;
  color: #FFF;
  display: block;
  width: 100%;
  font-size: 16px;
  font-size: 1.2307692307692308rem;
  padding: 10px 15px;
}
.footerWrap .sitemap span {
  display: block;
  padding: 5px 0 0 0;
  width: 100%;
  text-align: center;
}
.footerWrap .legal {
  clear: both;
  *zoom: 1;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding: 15px 0;
}
.footerWrap .legal:before,
.footerWrap .legal:after {
  content: "";
  display: table;
}
.footerWrap .legal:after {
  clear: both;
}
@media all and (max-width: 640px) {
  .footerWrap .legal {
    padding-bottom: 0;
  }
}
.footerWrap #terms_policy {
  float: right;
  text-align: right;
  width: 48%;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .footerWrap #terms_policy {
    width: 60%;
  }
}
.footerWrap #credits {
  float: right;
  text-align: right;
  width: 48%;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .footerWrap #credits {
    width: 60%;
  }
}
@media all and (max-width: 640px) {
  .footerWrap #credits {
    display: none;
  }
}
.footerWrap #copyright {
  float: left;
  width: 48%;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .footerWrap #copyright {
    width: 40%;
  }
}
@media all and (max-width: 640px) {
  .footerWrap #copyright {
    width: 100%;
    text-align: center;
  }
}
.footer {
  clear: both;
  max-width: 1480px;
  width: 100%;
  position: relative;
  margin: 0 auto;
  *zoom: 1;
  padding: 0 40px;
}
.footer:before,
.footer:after {
  content: "";
  display: table;
}
.footer:after {
  clear: both;
}
.footer:before,
.footer:after {
  content: "";
  display: table;
}
.footer:after {
  clear: both;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .footer {
    padding: 0 30px;
  }
}
@media all and (max-width: 640px) {
  .footer {
    padding: 0 20px;
  }
}
.footer:before,
.footer:after {
  content: "";
  display: table;
}
.footer:after {
  clear: both;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .footer {
    padding: 0 30px;
  }
}
@media all and (max-width: 640px) {
  .footer {
    padding: 0 20px;
  }
}
@media all and (max-width: 640px) {
  .footer {
    padding: 0;
  }
}
/* ------------------------------ */
/* Slide Wrapper (both slideshows) */
/* ------------------------------ */
.slideWrapper {
  margin-bottom: 40px;
  clear: both;
  max-width: 1480px;
  padding: 0 40px;
  position: relative;
  margin: 0 auto;
  *zoom: 1;
  width: 100%;
}
.slideWrapper:before,
.slideWrapper:after {
  content: "";
  display: table;
}
.slideWrapper:after {
  clear: both;
}
.slideWrapper:before,
.slideWrapper:after {
  content: "";
  display: table;
}
.slideWrapper:after {
  clear: both;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .slideWrapper {
    padding: 0 30px;
  }
}
@media all and (max-width: 640px) {
  .slideWrapper {
    padding: 0 20px;
  }
}
.slideWrapper:before,
.slideWrapper:after {
  content: "";
  display: table;
}
.slideWrapper:after {
  clear: both;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .slideWrapper {
    padding: 0 30px;
  }
}
@media all and (max-width: 640px) {
  .slideWrapper {
    padding: 0 20px;
  }
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .slideWrapper {
    margin-bottom: 20px;
  }
}
@media all and (max-width: 640px) {
  .slideWrapper {
    margin-bottom: 20px;
  }
}
/* ------------------------------ */
/* Large Slider */
/* ------------------------------ */
.largeSlider {
  width: 100%;
  *zoom: 1;
  position: relative;
}
.largeSlider:before,
.largeSlider:after {
  content: "";
  display: table;
}
.largeSlider:after {
  clear: both;
}
.largeSlider .controls {
  text-align: center;
}
.largeSlider .controls .prev,
.largeSlider .controls .next {
  font-size: 2em;
  margin: 10px;
}
/* ------------------------------ */
/* Small Slider */
/* ------------------------------ */
.smallSlider {
  display: none;
}
@media all and (max-width: 640px) {
  .smallSlider {
    display: block;
  }
}
.smallSlider .imageWrap {
  position: relative;
}
.smallSlider .imageWrap a {
  float: right;
}
/* ------------------------------ */
/* Google Map */
/* ------------------------------ */
.map {
  width: 100%;
  min-height: 360px;
}
/* ------------------------------ */
/* CSS3 Social icons*/
/* ------------------------------ */
.social {
  float: left;
  *zoom: 1;
}
.social:before,
.social:after {
  content: "";
  display: table;
}
.social:after {
  clear: both;
}
.social li {
  list-style-type: none;
  float: left;
  text-align: center;
}
.social li a {
  padding: 0 10px;
  display: block;
}
.social li a i {
  font-size: 1.3846153846153846em;
  vertical-align: middle;
}
/* ------------------------------ */
/* Breadcrumb Styling */
/* ------------------------------ */
.breadcrumbWrap {
  *zoom: 1;
  clear: both;
  margin: 0 0 20px;
}
.breadcrumbWrap:before,
.breadcrumbWrap:after {
  content: "";
  display: table;
}
.breadcrumbWrap:after {
  clear: both;
}
.breadcrumbWrap .breadcrumbs {
  *zoom: 1;
  margin: 0;
  clear: both;
}
.breadcrumbWrap .breadcrumbs:before,
.breadcrumbWrap .breadcrumbs:after {
  content: "";
  display: table;
}
.breadcrumbWrap .breadcrumbs:after {
  clear: both;
}
.breadcrumbWrap .breadcrumbs li {
  float: left;
  position: relative;
  padding: 0px 10px;
}
@media all and (max-width: 640px) {
  .breadcrumbWrap .breadcrumbs li {
    padding: 0 6px;
  }
  .breadcrumbWrap .breadcrumbs li:first-child {
    display: none;
  }
  .breadcrumbWrap .breadcrumbs li:nth-child(2) {
    padding-left: 0;
  }
}
.breadcrumbWrap .breadcrumbs li:first-child {
  padding-left: 0;
}
/* ------------------------------ */
/* Pagination */
/* ------------------------------ */
.pagination,
.paginationUl {
  *zoom: 1;
}
.pagination:before,
.paginationUl:before,
.pagination:after,
.paginationUl:after {
  content: "";
  display: table;
}
.pagination:after,
.paginationUl:after {
  clear: both;
}
.pagination li,
.paginationUl li {
  float: left;
}
.pagination li a,
.paginationUl li a {
  display: block;
  float: left;
  padding: 0 5px;
  text-align: center;
  cursor: pointer;
  outline: 0;
}
.paginumberorder form {
  float: right;
  margin-left: 10px;
}
.paginumberorder form.bottom {
  margin-bottom: 40px;
  *zoom: 1;
}
.paginumberorder form.bottom:before,
.paginumberorder form.bottom:after {
  content: "";
  display: table;
}
.paginumberorder form.bottom:after {
  clear: both;
}
/* ------------------------------ */
/* Site Map Styling */
/* ------------------------------ */
.siteMapWrap {
  max-width: 1480px;
  width: 100%;
  padding: 0 40px;
  position: relative;
  margin: 0 auto;
  *zoom: 1;
  clear: both;
  padding: 50px 40px;
}
.siteMapWrap:before,
.siteMapWrap:after {
  content: "";
  display: table;
}
.siteMapWrap:after {
  clear: both;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .siteMapWrap {
    padding: 0 30px;
  }
}
@media all and (max-width: 640px) {
  .siteMapWrap {
    padding: 0 20px;
  }
}
.siteMapWrap:before,
.siteMapWrap:after {
  content: "";
  display: table;
}
.siteMapWrap:after {
  clear: both;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .siteMapWrap {
    padding: 0 30px;
  }
}
@media all and (max-width: 640px) {
  .siteMapWrap {
    padding: 0 20px;
  }
}
.siteMapWrap:before,
.siteMapWrap:after {
  content: "";
  display: table;
}
.siteMapWrap:after {
  clear: both;
}
.siteMapWrap h1 {
  margin-bottom: 20px;
}
@media all and (max-width: 1000px) {
  .siteMapWrap {
    margin: 20px 0;
  }
}
@media all and (max-width: 640px) {
  .siteMapWrap {
    width: 100%;
    margin: 20px 0;
  }
}
.siteMapWrap .siteMapColumn {
  width: 32%;
  margin-right: 2%;
  margin-bottom: 40px;
  float: left;
}
.siteMapWrap .siteMapColumn ul {
  margin-bottom: 20px;
}
.siteMapWrap .siteMapColumn:nth-child(3n) {
  margin-right: 0;
}
/* ------------------------------ */
/* Contact Page Styling */
/* ------------------------------ */
.contactWrap {
  max-width: 1480px;
  width: 100%;
  padding: 0 40px;
  position: relative;
  margin: 0 auto;
  *zoom: 1;
  padding: 100px 40px;
}
.contactWrap:before,
.contactWrap:after {
  content: "";
  display: table;
}
.contactWrap:after {
  clear: both;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .contactWrap {
    padding: 0 30px;
  }
}
@media all and (max-width: 640px) {
  .contactWrap {
    padding: 0 20px;
  }
}
.contactWrap:before,
.contactWrap:after {
  content: "";
  display: table;
}
.contactWrap:after {
  clear: both;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .contactWrap {
    padding: 0 30px;
  }
}
@media all and (max-width: 640px) {
  .contactWrap {
    padding: 0 20px;
  }
}
.contactWrap:before,
.contactWrap:after {
  content: "";
  display: table;
}
.contactWrap:after {
  clear: both;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .contactWrap {
    padding: 40px;
  }
}
.contactDetails {
  float: left;
  width: 45%;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .contactDetails {
    width: 40%;
  }
}
@media all and (max-width: 640px) {
  .contactDetails {
    width: 100%;
    padding: 20px 0;
    float: none;
    *zoom: 1;
  }
  .contactDetails:before,
  .contactDetails:after {
    content: "";
    display: table;
  }
  .contactDetails:after {
    clear: both;
  }
}
.contactDetails li {
  font-size: 20px;
  font-size: 1.5384615384615385rem;
  padding: 5px 0;
  margin-right: 60px;
  float: left;
}
@media all and (max-width: 640px) {
  .contactDetails li {
    font-size: 17px;
    font-size: 1.3076923076923077rem;
  }
}
.contactDetails li i {
  width: 35px;
  color: #666;
}
@media all and (max-width: 640px) {
  .contactDetails li i {
    width: 20px;
  }
}
.contactDetails li a {
  color: #666;
}
.contactDetails li a:hover {
  color: #038779;
}
.contactFormWrap {
  width: 45%;
  float: right;
  padding: 20px;
  background: #EEE;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .contactFormWrap {
    width: 55%;
  }
}
@media all and (max-width: 640px) {
  .contactFormWrap {
    width: 100%;
    float: none;
    *zoom: 1;
    margin-bottom: 20px;
  }
  .contactFormWrap:before,
  .contactFormWrap:after {
    content: "";
    display: table;
  }
  .contactFormWrap:after {
    clear: both;
  }
  .contactFormWrap .buttonAlt {
    width: 100%;
    margin-top: 20px;
    float: none;
    padding: 10px 20px;
  }
}
.contactForm textarea {
  min-height: 150px;
}
/* ------------------------------ */
/* Button Styling */
/* ------------------------------ */
.button {
  display: inline-block;
  cursor: pointer;
  text-align: center;
  border: 0;
  background: 0;
  outline: none;
  padding: 10px 25px;
  background: transparent;
  border: 2px solid #038779;
  border-radius: 3px;
  color: #038779;
  -webkit-transition: all ease-in-out 300ms;
  -moz-transition: all ease-in-out 300ms;
  -ms-transition: all ease-in-out 300ms;
  -o-transition: all ease-in-out 300ms;
  transition: all ease-in-out 300ms;
}
.button i {
  padding-left: 0.25em;
}
.button.buttonSmall {
  font-size: 0.7692307692307693em;
}
.button.buttonLarge {
  font-size: 1.5384615384615385em;
}
.button:hover {
  background: #038779;
  color: #FFF;
}
.button.left {
  float: left;
  margin-right: 35px;
}
.button.right {
  float: right;
}
.button.bold {
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.button.large {
  font-size: 25px;
  font-size: 1.9230769230769231rem;
  padding: 15px 30px;
  width: 300px;
  margin: 0;
}
.button i {
  margin-right: 10px;
}
.button.small {
  padding: 5px 15px;
  border: 0;
}
.buttonAlt {
  display: inline-block;
  cursor: pointer;
  text-align: center;
  border: 0;
  background: 0;
  outline: none;
  padding: 10px 25px;
  background: transparent;
  border: 2px solid #038779;
  border-radius: 3px;
  color: #038779;
  -webkit-transition: all ease-in-out 300ms;
  -moz-transition: all ease-in-out 300ms;
  -ms-transition: all ease-in-out 300ms;
  -o-transition: all ease-in-out 300ms;
  transition: all ease-in-out 300ms;
  background: #02B0AE;
  color: #fff;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  border-color: #02B0AE;
}
.buttonAlt i {
  padding-left: 0.25em;
}
.buttonAlt.buttonSmall {
  font-size: 0.7692307692307693em;
}
.buttonAlt.buttonLarge {
  font-size: 1.5384615384615385em;
}
.buttonAlt i {
  padding-left: 0.25em;
}
.buttonAlt.buttonSmall {
  font-size: 0.7692307692307693em;
}
.buttonAlt.buttonLarge {
  font-size: 1.5384615384615385em;
}
.buttonAlt:hover {
  background: #038779;
  color: #FFF;
}
.buttonAlt.left {
  float: left;
  margin-right: 35px;
}
.buttonAlt.right {
  float: right;
}
.buttonAlt.bold {
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.buttonAlt.large {
  font-size: 25px;
  font-size: 1.9230769230769231rem;
  padding: 15px 30px;
  width: 300px;
  margin: 0;
}
.buttonAlt i {
  margin-right: 10px;
}
.buttonAlt.small {
  padding: 5px 15px;
  border: 0;
}
.buttonAlt:hover {
  background: #014b4a;
  border-color: #014b4a;
}
@media all and (max-width: 1425px) {
  .buttonAlt {
    font-size: 16px;
    font-size: 1.2307692307692308rem;
  }
}
@media all and (max-width: 640px) {
  .buttonAlt {
    margin: 10px 0;
    width: 100%;
    padding-top: 5px;
    padding-bottom: 5px;
  }
}
/* ------------------------------ */
/* Home page */
/* ------------------------------ */
.frame {
  position: relative;
}
.frame img {
  z-index: 2;
}
@media all and (max-width: 640px) {
  .frame img {
    width: 400px;
    height: 313px;
  }
}
.frame .screen {
  position: absolute;
  z-index: 1;
  top: 94px;
}
@media all and (max-width: 640px) {
  .frame .screen {
    width: 324px;
    height: 182px;
    top: 33px;
  }
}
.frame .maps {
  width: 972px;
  height: 523px;
  overflow: hidden;
}
.frame .maps img {
  height: 523px;
}
@media all and (max-width: 640px) {
  .frame .maps {
    width: 324px;
    height: 182px;
    top: 0;
  }
  .frame .maps img {
    width: 100%;
    height: auto;
  }
}
.frame .maps .screen {
  width: 972px;
  height: 523px;
}
@media all and (max-width: 640px) {
  .frame .maps .screen {
    width: 647px;
    height: 350px;
    top: 62px;
  }
}
.left .frame .screen {
  right: 115px;
}
@media all and (max-width: 640px) {
  .left .frame .screen {
    right: 38px;
  }
}
.right .frame .screen {
  left: 115px;
}
@media all and (max-width: 640px) {
  .right .frame .screen {
    left: 38px;
  }
}
.phone {
  width: 250px;
  position: absolute;
  bottom: 0;
  z-index: 10;
}
@media all and (max-width: 640px) {
  .phone {
    width: 70px;
  }
}
.phone img {
  z-index: 2;
  position: relative;
}
.phone img.screen {
  position: absolute;
  z-index: 1;
  width: 166px;
  top: 98px;
  right: 44px;
}
@media all and (max-width: 640px) {
  .phone img.screen {
    width: 47px;
    height: 84px;
    top: 27px;
    right: 12px;
  }
}
.left .phone {
  right: -20px;
}
@media all and (max-width: 640px) {
  .left .phone {
    right: 0;
  }
}
.right .phone {
  left: -20px;
}
@media all and (max-width: 640px) {
  .right .phone {
    left: 0;
  }
}
.tablet {
  width: 520px;
  position: absolute;
  bottom: -20px;
  z-index: 10;
}
@media all and (max-width: 1180px) {
  .tablet {
    width: 430px;
  }
}
@media all and (max-width: 640px) {
  .tablet {
    width: 200px;
  }
}
.tablet img {
  z-index: 2;
  position: relative;
}
.tablet img.screen {
  position: absolute;
  z-index: 1;
  width: 393px;
  top: 21px;
  right: 62px;
}
@media all and (max-width: 1180px) {
  .tablet img.screen {
    top: 18px;
    right: 54px;
    width: 323px;
  }
}
@media all and (max-width: 640px) {
  .tablet img.screen {
    width: 151px;
    height: 113px;
    top: 8px;
    right: 25px;
  }
}
.left .tablet {
  right: -65px;
}
@media all and (max-width: 1180px) {
  .left .tablet {
    right: 0;
  }
}
@media all and (max-width: 640px) {
  .left .tablet {
    right: -20px;
  }
}
.right .tablet {
  left: -65px;
}
@media all and (max-width: 1180px) {
  .right .tablet {
    left: 0;
  }
}
@media all and (max-width: 640px) {
  .right .tablet {
    left: -20px;
  }
}
.section {
  *zoom: 1;
  border-top: 1px solid #EEE;
}
.section:before,
.section:after {
  content: "";
  display: table;
}
.section:after {
  clear: both;
}
.section:nth-child(even) {
  background: #F9F9F9;
}
.section .content {
  width: 47%;
  font-size: 18px;
  font-size: 1.3846153846153846rem;
  line-height: 1.8;
  color: #888;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  position: relative;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .section .content {
    width: 46%;
  }
}
@media all and (max-width: 640px) {
  .section .content {
    width: 100%;
  }
}
.section .content.left {
  float: left;
}
.section .content.right {
  float: right;
}
.section .content .button {
  margin-top: 10px;
}
.section .content.center {
  text-align: center;
  padding: 0 !important;
}
.section .content.center img {
  border: 1px solid #EEE;
}
.section .content.center h3:after {
  margin: 20px auto;
}
.section .content.center .button {
  margin: 0 auto;
  float: none;
}
.section .content.fullWidth {
  width: 100%;
}
.section .content.fullWidth .buttonAlt {
  margin-top: 30px;
}
.section .content.fullWidth:last-of-type {
  padding: 0 15%;
}
@media all and (max-width: 850px) {
  .section .content.fullWidth:last-of-type {
    padding: 0;
  }
}
.section .content.fullWidth .hotspotMap {
  min-height: 700px;
  margin-top: -170px;
  padding: 0;
}
@media all and (max-width: 590px) {
  .section .content.fullWidth .hotspotMap {
    min-height: 550px;
    margin-top: -250px;
  }
}
.section .content.fullWidth .hotspotMap svg {
  height: 850px !important;
  left: 50% !important;
  transform: translateX(-50%);
}
@media all and (max-width: 590px) {
  .section .content.fullWidth .hotspotMap svg {
    height: 530px !important;
  }
}
@media all and (max-width: 850px) {
  .section .content.fullWidth .hotspotMap svg .region.focus {
    transform: scale(0.7);
  }
}
@media all and (max-width: 590px) {
  .section .content.fullWidth .hotspotMap svg .region.focus {
    transform: scale(0.5);
  }
}
@media all and (max-width: 440px) {
  .section .content.fullWidth .hotspotMap svg .region.focus {
    transform: scale(0.4);
  }
}
.section .content.fullWidth .hotspotMap svg path {
  cursor: pointer;
}
.section .content.fullWidth .hotspotMap svg path:nth-child(1n) {
  fill: #00B2AE;
}
.section .content.fullWidth .hotspotMap svg path:nth-child(2n) {
  fill: #03b39f;
}
.section .content.fullWidth .hotspotMap svg path:nth-child(3n) {
  fill: #00908d;
}
.section .content.fullWidth .hotspotMap svg path:nth-child(4n) {
  fill: #188f82;
}
.section .content.fullWidth .hotspotMap svg path:nth-child(5n) {
  fill: #519c94;
}
.section .content.fullWidth .hotspotMap svg path:nth-child(6n) {
  fill: #00d2cd;
}
.section .content.fullWidth .hotspotMap svg path:nth-child(7n) {
  fill: #16bcb9;
}
.section .content.fullWidth .hotspotMap svg path:nth-child(8n) {
  fill: #367770;
}
.section .content.fullWidth .hotspotMap svg path:nth-child(9n) {
  fill: #38968b;
}
.section .content.fullWidth .hotspotMap svg path:nth-child(10n) {
  fill: #7ee1df;
}
.section .content.fullWidth .hotspotMap svg path:nth-child(11n) {
  fill: #308a88;
}
.section .content.fullWidth .hotspotMap svg path:nth-child(12n) {
  fill: #007976;
}
.section .content.fullWidth .hotspotMap svg path:nth-child(13n) {
  fill: #4daba9;
}
.section .content.fullWidth .hotspotMap svg path:nth-child(14n) {
  fill: #00B2AE;
}
.section.about {
  padding: 120px 0;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .section.about {
    padding: 70px 0;
  }
  .section.about .content {
    width: 100%;
  }
  .section.about .content.right {
    margin-top: 40px;
  }
}
@media all and (max-width: 640px) {
  .section.about {
    padding: 30px 0;
  }
  .section.about .content.right {
    margin-top: 40px;
  }
}
.section.about .graphs {
  margin-bottom: 10px;
  background: #F9F9F9;
  width: 580px;
  clear: both;
  padding-top: 20px;
}
@media all and (max-width: 1180px) {
  .section.about .graphs {
    width: 100%;
    overflow: hidden;
  }
}
@media all and (max-width: 640px) {
  .section.about .graphs {
    display: none;
  }
}
.section.about .stat {
  margin: 0 30px 0 0;
  display: inline-block;
  width: 150px;
  position: relative;
}
@media all and (max-width: 1180px) {
  .section.about .stat {
    margin: 0 10px 0 0;
    width: 120px;
  }
  .section.about .stat canvas {
    width: 120px;
    height: 120px;
  }
}
.section.about .stat .inner {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 10%;
  width: 80%;
  padding: 70px 15px;
  text-align: center;
  color: #038779;
  font-size: 12px;
  font-size: 0.9230769230769231rem;
  text-transform: uppercase;
  white-space: normal;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
@media all and (max-width: 1180px) {
  .section.about .stat .inner {
    padding: 50px 5px;
  }
}
.section.trends,
.section.devices,
.section.insight {
  display: block;
}
.section.trends .content.left,
.section.devices .content.left,
.section.insight .content.left {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media all and (max-width: 640px) {
  .section.trends .content.left,
  .section.devices .content.left,
  .section.insight .content.left {
    position: relative;
    top: 0;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    padding: 20px 0;
  }
}
.section.trends .frame img,
.section.devices .frame img,
.section.insight .frame img {
  max-width: none;
}
.section.productInsight .wrapper {
  max-height: 780px;
}
.section.productInsight .content.center {
  width: 60%;
  text-align: center;
  margin: 0 auto;
  position: static;
  padding-bottom: 50px;
}
.section.productInsight .database {
  /*
            img {
                border: 0;
                position: relative;
                .transform(translateX(-20%));
                .transition(all ease-out 1000ms);

                @media @mobile {
                    width: 800px;
                    height: 600px;
                    margin: 10px 0;
                }

                &.focus {
                    .transform(translateX(0%));
                }
            }
*/
}
@media all and (max-width: 640px) {
  .section.productInsight .database {
    padding: 20px 0;
  }
}
.section.productInsight .database .right {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 40px;
}
@media all and (max-width: 1180px) {
  .section.productInsight .database .right {
    right: 40px;
  }
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .section.productInsight .database .right {
    right: 20px;
  }
}
@media all and (max-width: 640px) {
  .section.productInsight .database .right {
    position: relative;
    top: 0;
    right: 0;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
}
.section.productInsight .database .frame {
  -webkit-transform: translateX(-20%);
  -moz-transform: translateX(-20%);
  -ms-transform: translateX(-20%);
  -o-transform: translateX(-20%);
  transform: translateX(-20%);
  -webkit-transition: all ease-out 1000ms;
  -moz-transition: all ease-out 1000ms;
  -ms-transition: all ease-out 1000ms;
  -o-transition: all ease-out 1000ms;
  transition: all ease-out 1000ms;
}
.section.productInsight .database .frame.focus {
  -webkit-transform: translateX(0%);
  -moz-transform: translateX(0%);
  -ms-transform: translateX(0%);
  -o-transform: translateX(0%);
  transform: translateX(0%);
}
.section.productInsight .map {
  *zoom: 1;
  padding: 0 0 40px 0;
}
.section.productInsight .map:before,
.section.productInsight .map:after {
  content: "";
  display: table;
}
.section.productInsight .map:after {
  clear: both;
}
.section.productInsight .map .left {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media all and (max-width: 640px) {
  .section.productInsight .map .left {
    position: relative;
    top: 0;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
}
.section.productInsight .map .frame {
  -webkit-transform: translateX(20%);
  -moz-transform: translateX(20%);
  -ms-transform: translateX(20%);
  -o-transform: translateX(20%);
  transform: translateX(20%);
  -webkit-transition: all ease-out 1000ms;
  -moz-transition: all ease-out 1000ms;
  -ms-transition: all ease-out 1000ms;
  -o-transition: all ease-out 1000ms;
  transition: all ease-out 1000ms;
}
.section.productInsight .map .frame.focus {
  -webkit-transform: translateX(0%);
  -moz-transform: translateX(0%);
  -ms-transform: translateX(0%);
  -o-transform: translateX(0%);
  transform: translateX(0%);
}
.section.productInsight .left img {
  float: right;
}
.section.productInsight .right img {
  float: left;
}
.section.productInsight .frame img {
  max-width: none;
}
.section .fullMarkets,
.section .fullReports {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 20px 40px;
  background: #FFF;
  box-shadow: 3px 5px 10px rgba(0, 0, 0, 0.2);
  display: none;
}
@media all and (max-width: 640px) {
  .section .fullMarkets,
  .section .fullReports {
    padding: 20px;
  }
}
.section .fullMarkets .close,
.section .fullReports .close {
  position: absolute;
  top: 5px;
  right: 5px;
  display: block;
  width: 30px;
  height: 30px;
  font-size: 25px;
  font-size: 1.9230769230769231rem;
  text-align: center;
  line-height: 30px;
  vertical-align: middle;
  cursor: pointer;
}
.section .fullMarkets .body,
.section .fullReports .body {
  overflow: scroll;
  max-height: 100%;
}
.section .fullMarkets .column,
.section .fullReports .column {
  width: 48%;
  margin: 0 2% 20px 0;
  float: left;
}
.section .fullMarkets .column:nth-child(2n),
.section .fullReports .column:nth-child(2n) {
  margin: 0 0 20px 0;
}
@media all and (min-width: 1001px) and (max-width: 1179px) {
  .section .fullMarkets .column,
  .section .fullReports .column {
    width: 100%;
    margin: 0;
  }
}
@media all and (max-width: 640px) {
  .section .fullMarkets .column,
  .section .fullReports .column {
    width: 100%;
    margin: 0;
  }
}
.section.markets {
  padding: 50px 0;
}
.section.markets .content.left {
  float: left;
  /*
            position: absolute;
            top: 50%;
            width: 48%;
            .transform(translateY(-50%));
*/
}
@media all and (max-width: 1425px) {
  .section.markets .content.left {
    width: 40%;
  }
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .section.markets .content.left {
    position: relative;
    top: 0;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
}
@media all and (max-width: 640px) {
  .section.markets .content.left {
    position: relative;
    top: 0;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
}
.section.markets .content.right {
  width: 47%;
}
@media all and (max-width: 1425px) {
  .section.markets .content.right {
    width: 58%;
  }
}
@media all and (max-width: 1000px) {
  .section.markets .content.left,
  .section.markets .content.right {
    width: 100%;
    position: relative;
  }
}
.section.markets .region {
  stroke: #E7F2E7;
  stroke-width: 2px;
  fill: #FF9900;
  -webkit-transition: all ease-in-out 300ms;
  -moz-transition: all ease-in-out 300ms;
  -ms-transition: all ease-in-out 300ms;
  -o-transition: all ease-in-out 300ms;
  transition: all ease-in-out 300ms;
  opacity: 0;
  -webkit-transform: scale(0.5);
  -moz-transform: scale(0.5);
  -ms-transform: scale(0.5);
  -o-transform: scale(0.5);
  transform: scale(0.5);
  -webkit-transform-origin: 50% 50%;
  -moz-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  -o-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}
.section.markets .region.focus {
  opacity: 0.7;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}
.section.markets .region:hover {
  opacity: 1;
}
.section.markets .region.hover {
  opacity: 1;
  fill: #038779 !important;
}
.section.markets .points {
  opacity: 0;
  -webkit-transition: opacity ease-out 300ms;
  -moz-transition: opacity ease-out 300ms;
  -ms-transition: opacity ease-out 300ms;
  -o-transition: opacity ease-out 300ms;
  transition: opacity ease-out 300ms;
}
.section.markets .points .circle {
  opacity: 0.5;
}
.section.markets .points.active {
  opacity: 1;
}
.section.markets .points.active .circle {
  opacity: 0.5;
  pointer-events: none;
}
.section.markets .points.active .circle.active {
  -webkit-animation: pulse 4s ease-in-out infinite;
  -moz-animation: pulse 4s ease-in-out infinite;
  animation: pulse 4s ease-in-out infinite;
}
@-moz-keyframes pulse {
  0% {
    opacity: 0.5;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.5;
  }
}
@-webkit-keyframes pulse {
  0% {
    opacity: 0.5;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.5;
  }
}
@keyframes pulse {
  0% {
    opacity: 0.5;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.5;
  }
}
.section.markets .highlighted {
  position: absolute;
  top: 0;
  left: 0;
  right: -50px;
}
.section.markets .highlighted .pointKey {
  border-bottom: 0;
  width: 250px;
  position: absolute;
  left: -80px;
  opacity: 0;
  -webkit-transition: opacity 300ms ease-out 100ms;
  -moz-transition: opacity 300ms ease-out 100ms;
  -ms-transition: opacity 300ms ease-out 100ms;
  -o-transition: opacity 300ms ease-out 100ms;
  transition: opacity 300ms ease-out 100ms;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .section.markets .highlighted .pointKey {
    left: 0;
    opacity: 1;
    margin: 20px 0;
    width: 220px;
  }
  .section.markets .highlighted .pointKey div {
    font-size: 14.999999999999998px;
    font-size: 1.1538461538461537rem;
    padding: 0 0 0 20px;
  }
  .section.markets .highlighted .pointKey div:before {
    width: 13px;
    height: 13px;
    margin-top: 0;
    top: 5px;
  }
}
@media all and (max-width: 640px) {
  .section.markets .highlighted .pointKey {
    display: none;
  }
}
.section.markets .highlighted .pointKey.highlight {
  opacity: 1;
}
@media all and (max-width: 640px) {
  .section.markets .highlighted .pointKey.highlight {
    display: none;
  }
}
.section.markets .highlighted .pointKey div {
  width: 100%;
  float: none;
}
.section.markets .highlighted .market {
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0;
  -webkit-transition: opacity 300ms ease-in-out;
  -moz-transition: opacity 300ms ease-in-out;
  -ms-transition: opacity 300ms ease-in-out;
  -o-transition: opacity 300ms ease-in-out;
  transition: opacity 300ms ease-in-out;
  width: 210px;
  text-align: left;
  padding: 50px 0 0 0;
}
@media all and (max-width: 1180px) {
  .section.markets .highlighted .market {
    width: 22%;
    right: 20px;
  }
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .section.markets .highlighted .market {
    right: 20px;
    width: 22%;
  }
}
@media all and (max-width: 640px) {
  .section.markets .highlighted .market {
    display: none;
  }
}
.section.markets .highlighted .market h4 {
  line-height: 1.2;
}
.section.markets .highlighted .market.highlight {
  opacity: 1;
}
@media all and (max-width: 640px) {
  .section.markets .highlighted .market.highlight {
    display: none;
  }
}
.section.markets .highlighted .market:hover {
  background: transparent;
}
.section.markets .pointKey {
  width: 95%;
  padding: 20px 0;
  margin: 20px;
  border-bottom: 1px solid #EEE;
  *zoom: 1;
}
.section.markets .pointKey:before,
.section.markets .pointKey:after {
  content: "";
  display: table;
}
.section.markets .pointKey:after {
  clear: both;
}
.section.markets .pointKey div {
  float: left;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-size: 1.2307692307692308rem;
  line-height: 25px;
  vertical-align: middle;
  width: 50%;
  padding: 0 0 0 22px;
  position: relative;
}
@media all and (min-width: 1001px) and (max-width: 1179px) {
  .section.markets .pointKey div {
    width: 100%;
  }
}
.section.markets .pointKey div:before {
  display: inline-block;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  margin-right: 10px;
  content: '';
  vertical-align: middle;
  margin-top: -3px;
  position: absolute;
  left: 0;
  top: 7px;
}
.section.markets .pointKey div.hotstats:before {
  background: #FFD500;
}
.section.markets .pointKey div.supply:before {
  background: #384420;
}
.section.markets .market {
  padding: 10px 20px;
}
.section.markets .market:hover {
  background: #F9F9F9;
}
.section.markets ul {
  margin-bottom: 20px;
}
.section.markets h4 {
  font-size: 20px;
  font-size: 1.5384615384615385rem;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.section.markets li {
  font-size: 16px;
  font-size: 1.2307692307692308rem;
}
.section.markets li span {
  display: inline-block;
  border-radius: 50%;
  height: 10px;
  width: 10px;
  margin-right: 5px;
}
.section.markets li .supply {
  background: #384420;
}
.section.markets li .hotstats {
  background: #FFD500;
}
.section.video {
  background: #DDD url(../images/layout/videoPoster.avif) center;
  background-size: cover;
  height: 860px;
  position: relative;
  overflow: hidden;
  display: block;
  border-top: 0;
}
.section.video .big-image {
  display: none;
  background: url(../images/layout/videoPoster.avif) center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 4;
}
@media all and (max-width: 640px) {
  .section.video .big-image {
    display: none;
    background: transparent;
  }
}
.section.video .videoWrap {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.section.video .videoWrap video {
  width: 100%;
  height: 100%;
  opacity: 0;
}
@media all and (max-width: 640px) {
  .section.video .videoWrap {
    display: none;
  }
}
.section.video .video-js {
  height: 100%;
  width: 100%;
  position: relative;
}
.section.video .big-image {
  min-width: 100%;
  min-height: 100%;
  height: auto;
  width: auto;
  position: relative;
  z-index: 3;
}
.section.video .overlay {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 5;
}
.section.video .caption {
  position: absolute;
  top: 55%;
  left: 50%;
  width: 870px;
  text-align: center;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 6;
  color: #FFF;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .section.video .caption {
    width: 80%;
  }
}
@media all and (max-width: 640px) {
  .section.video .caption {
    width: 80%;
  }
}
.section.video .caption .playBtn {
  color: #FFF;
  font-size: 59.99999999999999px;
  font-size: 4.615384615384615rem;
}
.section.video .caption h1 {
  font-size: 80px;
  font-size: 6.153846153846154rem;
  margin-bottom: 20px;
  color: #FFF;
}
@media all and (max-width: 640px) {
  .section.video .caption h1 {
    font-size: 40px;
    font-size: 3.076923076923077rem;
  }
}
.section.video .caption p {
  margin: 0;
  line-height: 1;
  font-size: 29.999999999999996px;
  font-size: 2.3076923076923075rem;
}
.section.video .caption .buttonAlt {
  width: 170px;
  margin: 25px auto;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.section.video .caption .buttonAlt i {
  margin-right: 5px;
  vertical-align: middle;
}
.section.video .down {
  position: absolute;
  bottom: 5%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  color: rgba(255, 255, 255, 0.6);
  font-size: 25px;
  font-size: 1.9230769230769231rem;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.6);
  width: 40px;
  height: 40px;
  text-align: center;
  line-height: 40px;
  display: block;
  z-index: 5;
}
.section.marketSnapshot,
.section.statistics,
.section.productTrends {
  display: block;
  /*.content {
            padding: 100px 0;
        }*/
}
.section.marketSnapshot .content.right,
.section.statistics .content.right,
.section.productTrends .content.right {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media all and (max-width: 1180px) {
  .section.marketSnapshot .content.right,
  .section.statistics .content.right,
  .section.productTrends .content.right {
    right: 40px;
  }
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .section.marketSnapshot .content.right,
  .section.statistics .content.right,
  .section.productTrends .content.right {
    right: 20px;
  }
}
@media all and (max-width: 640px) {
  .section.marketSnapshot .content.right,
  .section.statistics .content.right,
  .section.productTrends .content.right {
    position: relative;
    top: 0;
    right: 0;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    padding: 20px 0;
  }
}
.section.marketSnapshot .frame img,
.section.statistics .frame img,
.section.productTrends .frame img {
  float: right;
  max-width: none;
}
.section.marketSnapshot {
  min-height: 700px;
}
.section.marketSnapshot .content.left {
  padding-top: 200px;
}
.section.marketSnapshot .content.right img {
  float: left;
}
.section.statistics .wrapper {
  height: 900px;
}
.section.statistics .statGraph {
  position: absolute;
  right: 80px;
  bottom: 100px;
  z-index: 2;
}
.section.statistics .emptyFrame img {
  max-width: none;
  float: right;
}
.section.statistics .graphs {
  position: absolute;
  right: 80px;
  top: 150px;
  z-index: 2;
  border-bottom: 1px solid #DDD;
  white-space: nowrap;
}
.section.search {
  position: relative;
  display: block;
}
.section.search .wrapper {
  height: 900px;
}
@media all and (max-width: 1000px) {
  .section.search .wrapper {
    height: auto;
  }
  .section.search .wrapper .content {
    width: 100%;
  }
}
.section.search .content.right {
  position: absolute;
  top: 50%;
  right: 0;
  padding: 60px 40px;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media all and (max-width: 1000px) {
  .section.search .content.right {
    position: relative;
    top: 0;
    left: 0;
    padding: 20px 0;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
}
.section.search .overlay {
  /*
            background: -moz-linear-gradient(left,  rgba(255,255,255,1) 0%, rgba(255,255,255,1) 70%, rgba(255,255,255,0) 100%);
            background: -webkit-linear-gradient(left,  rgba(255,255,255,1) 0%,rgba(255,255,255,1) 70%,rgba(255,255,255,0) 100%);
            background: linear-gradient(to right,  rgba(255,255,255,1) 0%,rgba(255,255,255,1) 70%,rgba(255,255,255,0) 100%);
            filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=1 );
*/
  background: #FFF;
  background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, #fdfdfd 25%, #f9f9f9 100%);
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, #fdfdfd 25%, #f9f9f9 100%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, #fdfdfd 25%, #f9f9f9 100%);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 33%;
  z-index: 2;
  pointer-events: none;
}
.ie9 .section.search .overlay {
  left: 50%;
}
@media all and (max-width: 1000px) {
  .section.search .overlay {
    display: none;
  }
}
.section.search #playableMapWrap {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
}
.section.search #playableMapWrap img {
  display: none;
}
@media all and (max-width: 640px) {
  .section.search #playableMapWrap {
    position: static;
    width: 100%;
  }
  .section.search #playableMapWrap img {
    display: block;
  }
}
.section.search #playableMapWrap iframe {
  display: block;
  border: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}
@media all and (max-width: 1000px) {
  .section.search #playableMapWrap iframe {
    position: static;
    width: 100%;
    height: 400px;
  }
}
.section.search .content {
  position: relative;
  z-index: 3;
}
.section .testimonials {
  padding: 100px 0;
  background: url(../images/layout/lobby.avif) center no-repeat;
  background-size: cover;
}
@media all and (max-width: 640px) {
  .section .testimonials {
    padding: 20px 0;
  }
}
.section .testimonials .carousel {
  max-width: 1000px;
  margin: 0 auto;
}
.section .testimonials .slick-slide {
  padding: 40px 80px;
  text-align: center;
  color: #FFF;
  font-size: 22px;
  font-size: 1.6923076923076923rem;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  height: 240px;
  position: relative;
}
.section .testimonials .slick-slide p {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  max-width: 85%;
  margin: 0 auto;
}
.section .testimonials .slick-slide p:before {
  display: block;
  font-family: "FontAwesome";
  position: absolute;
  top: -20px;
  left: -40px;
  font-size: 29.999999999999996px;
  font-size: 2.3076923076923075rem;
  color: #FFF;
  content: '\f10d';
}
.section .testimonials .slick-slide p:after {
  font-family: "FontAwesome";
  position: absolute;
  bottom: -20px;
  right: -40px;
  font-size: 29.999999999999996px;
  font-size: 2.3076923076923075rem;
  color: #FFF;
  content: '\f10e';
}
@media all and (max-width: 640px) {
  .section .testimonials .slick-slide {
    padding: 10px 5px;
    height: auto;
    font-size: 18px;
    font-size: 1.3846153846153846rem;
    margin-bottom: 20px;
  }
  .section .testimonials .slick-slide p {
    width: 95%;
  }
  .section .testimonials .slick-slide p:before {
    top: -40px;
    left: -15px;
  }
  .section .testimonials .slick-slide p:after {
    bottom: -40px;
    right: -15px;
  }
}
.section .testimonials .prevTest,
.section .testimonials .nextTest {
  position: absolute;
  top: 110px;
  font-size: 29.999999999999996px;
  font-size: 2.3076923076923075rem;
  cursor: pointer;
  color: #DDD;
}
@media all and (max-width: 640px) {
  .section .testimonials .prevTest,
  .section .testimonials .nextTest {
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}
.section .testimonials .prevTest {
  left: -20px;
}
@media all and (max-width: 640px) {
  .section .testimonials .prevTest {
    left: 0;
  }
}
.section .testimonials .nextTest {
  right: -20px;
}
@media all and (max-width: 640px) {
  .section .testimonials .nextTest {
    right: 0;
  }
}
.section .charts {
  float: left;
  width: 50%;
}
.section .video2 {
  width: 563px;
  height: 368px;
}
.section .data {
  *zoom: 1;
  margin-bottom: 20px;
}
.section .data:before,
.section .data:after {
  content: "";
  display: table;
}
.section .data:after {
  clear: both;
}
.section .data h4 {
  font-size: 32px;
  font-size: 2.4615384615384617rem;
  margin: 0;
  line-height: 1;
  color: #038779;
}
.section .data p {
  font-size: 20px;
  font-size: 1.5384615384615385rem;
  color: #999;
  line-height: 1;
}
.section .data .first,
.section .data .second {
  padding: 10px 0;
  margin-right: 40px;
  float: left;
}
.clients {
  padding: 40px 0;
}
@media all and (max-width: 640px) {
  .clients {
    padding: 20px 0;
  }
}
.clients .carousel {
  padding: 40px 40px 0 40px;
}
@media all and (max-width: 640px) {
  .clients .carousel {
    padding: 20px 0;
  }
}
.clients .carousel .slick-dots {
  margin-top: 40px;
}
@media all and (max-width: 640px) {
  .clients .carousel .slick-dots {
    margin-top: 20px;
  }
}
.clients .carousel li a {
  display: block;
  height: 90px;
  position: relative;
  margin: 0 17px;
}
.clients .carousel li a img {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, -50%);
  max-height: 100%;
}
.clients h1 {
  text-align: center;
}
.clients h2 {
  text-align: center;
  width: 60%;
  margin: 0 auto;
  font-size: 28px;
  font-size: 2.1538461538461537rem;
}
@media all and (max-width: 640px) {
  .clients h2 {
    width: 90%;
    font-size: 20px;
    font-size: 1.5384615384615385rem;
  }
}
.clients .prev,
.clients .next {
  position: absolute;
  top: 78px;
  font-size: 29.999999999999996px;
  font-size: 2.3076923076923075rem;
  cursor: pointer;
  color: #DDD;
}
@media all and (max-width: 1000px) {
  .clients .prev,
  .clients .next {
    z-index: 10;
  }
}
@media all and (max-width: 640px) {
  .clients .prev,
  .clients .next {
    display: none;
  }
}
.clients .prev {
  left: -20px;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .clients .prev {
    left: 0;
  }
}
@media all and (max-width: 640px) {
  .clients .prev {
    left: 0;
  }
}
.clients .next {
  right: -20px;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .clients .next {
    right: 0;
  }
}
@media all and (max-width: 640px) {
  .clients .next {
    right: 0;
  }
}
/* ------------------------------ */
/* Jigsaw */
/* ------------------------------ */
.mainWrapper {
  width: 100%;
}
.mainWrapper .content {
  padding: 50px 0;
  float: right;
  *zoom: 1;
  width: 60%;
}
.mainWrapper .content:before,
.mainWrapper .content:after {
  content: "";
  display: table;
}
.mainWrapper .content:after {
  clear: both;
}
.ie9 .mainWrapper .content {
  width: 100%;
}
.mainWrapper .content .next,
.mainWrapper .content .prev {
  display: none;
}
@media all and (max-width: 1425px) {
  .mainWrapper .content {
    width: 52%;
  }
}
@media all and (min-width: 1001px) and (max-width: 1179px) {
  .mainWrapper .content {
    width: 40%;
  }
}
@media all and (max-width: 1000px) {
  .mainWrapper .content {
    width: 100%;
  }
  .mainWrapper .content .slick-dots {
    text-align: center;
    margin: 0 auto;
  }
  .mainWrapper .content .slick-dots li {
    margin: 0 3px;
    padding: 0;
    float: none;
    display: inline-block;
  }
  .mainWrapper .content .slick-dots button {
    background: #FFF;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    overflow: hidden;
    text-indent: -9999px;
    border: 0;
    padding: 0;
  }
  .mainWrapper .content .slick-dots .slick-active button {
    background: #038779;
  }
  .mainWrapper .content .next,
  .mainWrapper .content .prev {
    display: block;
    position: absolute;
    top: -10px;
    color: #FFF;
    cursor: pointer;
    font-size: 20px;
    font-size: 1.5384615384615385rem;
    padding: 20px;
    z-index: 101;
  }
  .mainWrapper .content .next:hover,
  .mainWrapper .content .prev:hover {
    color: #038779;
  }
  .mainWrapper .content .prev {
    left: -30px;
  }
  .mainWrapper .content .next {
    right: -30px;
  }
}
.mainWrapper .content h2 {
  font-size: 29.999999999999996px;
  font-size: 2.3076923076923075rem;
  text-align: left;
  color: #FFF;
}
.mainWrapper .content h2:after {
  display: block;
  width: 15px;
  height: 2px;
  border-radius: 10px;
  margin: 5px 0 20px 0;
  background: #FFF;
  content: '';
}
@media all and (max-width: 640px) {
  .mainWrapper .content h2 {
    text-align: center;
    width: 100%;
    margin-bottom: 15px;
  }
  .mainWrapper .content h2:after {
    margin: 0 auto;
  }
}
.mainWrapper .content h3 {
  font-size: 20px;
  font-size: 1.5384615384615385rem;
  color: #FFF;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.mainWrapper .content h3:after {
  margin: 5px 0;
}
.mainWrapper .content .slick-slide {
  overflow: hidden;
  padding: 0 2px;
}
.mainWrapper .content .sector {
  width: 48%;
  float: left;
  margin: 0 4% 20px 0;
  padding: 30px;
  background: #013c36;
  color: #FFF;
  height: 320px;
}
.ie9 .mainWrapper .content .sector {
  width: 49%;
  margin: 0 1% 20px 0;
  float: left;
  height: 250px;
}
@media all and (max-width: 1425px) {
  .mainWrapper .content .sector {
    width: 100%;
    margin: 0 0 20px 0;
    float: none;
    height: auto;
  }
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .mainWrapper .content .sector {
    width: 48%;
    float: left;
    margin: 0 4% 20px 0;
    padding: 20px;
    height: 350px;
  }
}
@media all and (max-width: 640px) {
  .mainWrapper .content .sector {
    width: 100%;
    margin: 0 0 20px 0;
    float: none;
    height: auto;
    padding: 15px;
  }
}
.mainWrapper .content .sector:nth-child(2n) {
  margin: 0 0 20px 0;
}
.mainWrapper .content .sector:nth-child(3n) {
  clear: both;
}
.mainWrapper .content .sector li {
  position: relative;
  padding: 0 0 0 25px;
}
.mainWrapper .content .sector li:before {
  float: left;
  display: block;
  font-family: 'FontAwesome';
  width: 30px;
  color: #038779;
  content: '\f00c';
  position: absolute;
  left: 0;
  top: 0;
}
.keys {
  float: left;
  width: 600px;
  clear: left;
  margin-top: 50px;
  display: none;
}
.keys li {
  float: left;
  width: 49%;
  margin-right: 2%;
  padding: 10px 0;
  font-size: 25px;
  font-size: 1.9230769230769231rem;
  color: #FFF;
  line-height: 25px;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.3);
}
.keys li:nth-child(2n) {
  margin-right: 0;
}
.keys .key {
  display: block;
  float: left;
  margin-right: 20px;
  width: 25px;
  height: 25px;
}
.keys .key.operations {
  background: #038779;
}
.keys .key.realEstate {
  background: #81FF81;
}
.keys .key.financeInvestment {
  background: #677F67;
}
.keys .key.serviceSupport {
  background: #038779;
}
.jigsawWrap {
  width: 500px;
  height: 500px;
  position: relative;
  margin: 215px 0 0 0;
  float: left;
}
.ie9 .jigsawWrap {
  display: none;
}
@media all and (max-width: 1425px) {
  .jigsawWrap {
    margin: 50px 0 0 0;
  }
}
@media all and (max-width: 1000px) {
  .jigsawWrap {
    display: none;
  }
}
.jigsawWrap .center {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 400px;
  z-index: 6;
  text-align: center;
  display: none;
}
.jigsawWrap .center h2 {
  font-size: 35px;
  font-size: 2.6923076923076925rem;
  padding: 40px 20px;
  vertical-align: middle;
  color: #038779;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.jigsawWrap .centerLower {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 400px;
  height: 400px;
  border-radius: 50%;
  z-index: 5;
  display: none;
}
.jigsawWrap .arrow {
  right: 0;
  top: 50%;
  position: absolute;
  pointer-events: none;
  z-index: 1;
  width: 40px;
  height: 40px;
  -webkit-transform: rotate(45deg) translateY(-50%);
  -moz-transform: rotate(45deg) translateY(-50%);
  -ms-transform: rotate(45deg) translateY(-50%);
  -o-transform: rotate(45deg) translateY(-50%);
  transform: rotate(45deg) translateY(-50%);
}
.jigsawWrap.operations .arrow {
  background: #038779;
}
.jigsawWrap.operations .operations h3,
.jigsawWrap.operations .operations p {
  opacity: 1;
}
.jigsawWrap.operations .operations i {
  display: none;
}
.jigsawWrap.realEstate .arrow {
  background: #017A6D;
}
.jigsawWrap.realEstate .realEstate h3,
.jigsawWrap.realEstate .realEstate p {
  opacity: 1;
}
.jigsawWrap.realEstate .realEstate i {
  display: none;
}
.jigsawWrap.financeInvestment .arrow {
  background: #038779;
}
.jigsawWrap.financeInvestment .financeInvestment h3,
.jigsawWrap.financeInvestment .financeInvestment p {
  opacity: 1;
}
.jigsawWrap.financeInvestment .financeInvestment i {
  display: none;
}
.jigsawWrap.serviceSupport .arrow {
  background: #017A6D;
}
.jigsawWrap.serviceSupport .serviceSupport h3,
.jigsawWrap.serviceSupport .serviceSupport p {
  opacity: 1;
}
.jigsawWrap.serviceSupport .serviceSupport i {
  display: none;
}
.jigsaw {
  width: 500px;
  height: 500px;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  -webkit-transform: translateZ(2px);
  -moz-transform: translateZ(2px);
  -ms-transform: translateZ(2px);
  -o-transform: translateZ(2px);
  transform: translateZ(2px);
  -webkit-transform: rotate(0);
  -moz-transform: rotate(0);
  -ms-transform: rotate(0);
  -o-transform: rotate(0);
  transform: rotate(0);
  -webkit-transition: transform linear 500ms;
  -moz-transition: transform linear 500ms;
  -ms-transition: transform linear 500ms;
  -o-transition: transform linear 500ms;
  transition: transform linear 500ms;
  z-index: 1;
}
.jigsaw h3,
.jigsaw i {
  opacity: 0.5;
}
.jigsaw i {
  opacity: 0.31;
  display: none;
  position: absolute;
  z-index: 10;
  font-size: 29.999999999999996px;
  font-size: 2.3076923076923075rem;
  color: #FFF;
  top: 22%;
  right: 156px;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: opacity linear 300ms;
  -moz-transition: opacity linear 300ms;
  -ms-transition: opacity linear 300ms;
  -o-transition: opacity linear 300ms;
  transition: opacity linear 300ms;
}
.jigsaw h3 {
  position: absolute;
  z-index: 10;
  color: #FFF;
  width: 250px;
  -webkit-transition: opacity linear 300ms;
  -moz-transition: opacity linear 300ms;
  -ms-transition: opacity linear 300ms;
  -o-transition: opacity linear 300ms;
  transition: opacity linear 300ms;
  text-align: center;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  top: 10px;
  font-size: 21px;
  font-size: 1.6153846153846154rem;
}
.jigsaw h3:after {
  display: none;
}
.jigsaw p {
  position: absolute;
  width: 220px;
  margin-left: 15px;
  top: 40px;
  color: #FFF;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  text-align: center;
  font-size: 13px;
  font-size: 1rem;
  opacity: 0;
  -webkit-transition: opacity linear 300ms;
  -moz-transition: opacity linear 300ms;
  -ms-transition: opacity linear 300ms;
  -o-transition: opacity linear 300ms;
  transition: opacity linear 300ms;
}
.jigsaw .quadrant {
  width: 300px;
  height: 300px;
  position: absolute;
  border: 0;
  -webkit-transition: all linear 300ms;
  -moz-transition: all linear 300ms;
  -ms-transition: all linear 300ms;
  -o-transition: all linear 300ms;
  transition: all linear 300ms;
  background-size: cover;
  cursor: pointer;
}
.jigsaw .quadrant:hover {
  border: 0;
  opacity: 1;
}
.jigsaw .quadrant:hover i {
  opacity: 0.8;
}
.jigsaw img {
  pointer-events: none;
  max-width: none;
}
.jigsaw .wrap:hover h3 {
  opacity: 0.8;
}
.jigsaw .wrap.flip h3 {
  -webkit-transform: scaleX(-1) scaleY(-1);
  -moz-transform: scaleX(-1) scaleY(-1);
  -ms-transform: scaleX(-1) scaleY(-1);
  -o-transform: scaleX(-1) scaleY(-1);
  transform: scaleX(-1) scaleY(-1);
}
.jigsaw .operations .quadrant {
  background-color: #038779;
  top: 100px;
  left: 523px;
  -webkit-transform: rotate(-45deg) translate(-50%, -50%) translateZ(1px);
  -moz-transform: rotate(-45deg) translate(-50%, -50%) translateZ(1px);
  -ms-transform: rotate(-45deg) translate(-50%, -50%) translateZ(1px);
  -o-transform: rotate(-45deg) translate(-50%, -50%) translateZ(1px);
  transform: rotate(-45deg) translate(-50%, -50%) translateZ(1px);
}
.jigsaw .operations img {
  position: absolute;
  top: 27px;
  left: 31px;
}
.jigsaw .operations h3 {
  color: #fff;
}
.jigsaw .realEstate .quadrant {
  background-color: #038779;
  top: -323px;
  right: 100px;
  -webkit-transform: rotate(-135deg) translate(-50%, -50%) translateZ(1px);
  -moz-transform: rotate(-135deg) translate(-50%, -50%) translateZ(1px);
  -ms-transform: rotate(-135deg) translate(-50%, -50%) translateZ(1px);
  -o-transform: rotate(-135deg) translate(-50%, -50%) translateZ(1px);
  transform: rotate(-135deg) translate(-50%, -50%) translateZ(1px);
  z-index: 4;
}
.jigsaw .realEstate img {
  position: absolute;
  top: -79px;
  left: 0px;
}
.jigsaw .realEstate h3,
.jigsaw .realEstate p {
  color: #fff;
}
.jigsaw .financeInvestment .quadrant {
  background-color: #038779;
  bottom: 100px;
  left: -323px;
  -webkit-transform: rotate(-225deg) translate(-50%, -50%) translateZ(1px);
  -moz-transform: rotate(-225deg) translate(-50%, -50%) translateZ(1px);
  -ms-transform: rotate(-225deg) translate(-50%, -50%) translateZ(1px);
  -o-transform: rotate(-225deg) translate(-50%, -50%) translateZ(1px);
  transform: rotate(-225deg) translate(-50%, -50%) translateZ(1px);
}
.jigsaw .financeInvestment img {
  position: absolute;
  top: -79px;
  left: 0;
}
.jigsaw .financeInvestment h3 {
  color: #fff;
}
.jigsaw .serviceSupport .quadrant {
  background-color: #038779;
  top: 524px;
  left: 98px;
  -webkit-transform: rotate(45deg) translate(-50%, -50%) translateZ(1px);
  -moz-transform: rotate(45deg) translate(-50%, -50%) translateZ(1px);
  -ms-transform: rotate(45deg) translate(-50%, -50%) translateZ(1px);
  -o-transform: rotate(45deg) translate(-50%, -50%) translateZ(1px);
  transform: rotate(45deg) translate(-50%, -50%) translateZ(1px);
}
.jigsaw .serviceSupport img {
  position: absolute;
  top: -79px;
  left: 0;
}
.jigsaw .serviceSupport h3,
.jigsaw .serviceSupport p {
  color: #fff;
}
/* ------------------------------ */
/* Carousels */
/* ------------------------------ */
.carousel {
  position: relative;
  padding: 0 20px;
}
.carousel ul {
  padding: 0;
  margin: 0;
}
.carousel li {
  max-width: 50%;
  float: left;
  display: block;
}
.carousel .slick-dots {
  text-align: center;
  margin: 0 auto;
}
.carousel .slick-dots li {
  margin: 0 3px;
  padding: 0;
  float: none;
  display: inline-block;
}
.carousel .slick-dots button {
  background: #DDD;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  overflow: hidden;
  text-indent: -9999px;
  border: 0;
  padding: 0;
}
.carousel .slick-dots .slick-active button {
  background: #038779;
}
.carousel.dataCarousel {
  padding: 0;
  *zoom: 1;
}
.carousel.dataCarousel > .data:not(:first-child) {
  display: none;
}
.carousel.dataCarousel:before,
.carousel.dataCarousel:after {
  content: "";
  display: table;
}
.carousel.dataCarousel:after {
  clear: both;
}
.carousel.dataCarousel .slick-dots {
  float: left;
  *zoom: 1;
}
.carousel.dataCarousel .slick-dots:before,
.carousel.dataCarousel .slick-dots:after {
  content: "";
  display: table;
}
.carousel.dataCarousel .slick-dots:after {
  clear: both;
}
/* ------------------------------ */
/* Sub Page */
/* ------------------------------ */
.coverImage {
  width: 100%;
  height: 80px;
  background: url(../images/layout/coverImage.jpg) center no-repeat;
  background-size: cover;
}
/* ------------------------------ */
/* Products Page */
/* ------------------------------ */
.devices {
  background: #FFF;
  padding: 100px 0;
  border-top: 0;
}
@media all and (max-width: 640px) {
  .devices {
    padding: 40px 0;
  }
}
.devices .content {
  width: 44%;
}
@media all and (max-width: 640px) {
  .devices .content {
    width: 100%;
  }
}
.devices .shelf {
  position: absolute;
  bottom: -7%;
  left: -120px;
  background: url(../images/products/shelf.png) center no-repeat;
  width: 1400px;
  height: 289px;
  z-index: 1;
  opacity: 0;
  -webkit-transform: translateY(20%);
  -moz-transform: translateY(20%);
  -ms-transform: translateY(20%);
  -o-transform: translateY(20%);
  transform: translateY(20%);
  -webkit-transition: all 800ms ease-in-out 400ms;
  -moz-transition: all 800ms ease-in-out 400ms;
  -ms-transition: all 800ms ease-in-out 400ms;
  -o-transition: all 800ms ease-in-out 400ms;
  transition: all 800ms ease-in-out 400ms;
}
@media all and (max-width: 640px) {
  .devices .shelf {
    display: none;
  }
}
.devices .shelf.visible {
  opacity: 1;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
}
.devices .deviceWrap {
  float: left;
  width: 1000px;
  height: 600px;
  margin: 0 auto;
  position: relative;
}
@media all and (max-width: 640px) {
  .devices .deviceWrap {
    height: 450px;
    width: 100%;
  }
}
.devices .device {
  position: absolute;
  opacity: 0;
  -webkit-transform: translateX(50%);
  -moz-transform: translateX(50%);
  -ms-transform: translateX(50%);
  -o-transform: translateX(50%);
  transform: translateX(50%);
  z-index: 2;
}
@-moz-keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50%);
    -moz-transform: translateX(50%);
    -ms-transform: translateX(50%);
    -o-transform: translateX(50%);
    transform: translateX(50%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }
}
@-webkit-keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50%);
    -moz-transform: translateX(50%);
    -ms-transform: translateX(50%);
    -o-transform: translateX(50%);
    transform: translateX(50%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50%);
    -moz-transform: translateX(50%);
    -ms-transform: translateX(50%);
    -o-transform: translateX(50%);
    transform: translateX(50%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }
}
.devices .macbook {
  width: 800px;
  height: 450px;
  left: 0;
  top: 0;
}
@media all and (max-width: 640px) {
  .devices .macbook {
    width: 600px;
    height: 338px;
    left: 15%;
  }
}
.devices .macbook.visible {
  -webkit-animation: fadeUp 800ms ease-out 800ms 1 forwards;
  -moz-animation: fadeUp 800ms ease-out 800ms 1 forwards;
  animation: fadeUp 800ms ease-out 800ms 1 forwards;
}
.devices .ipad {
  width: 420px;
  height: 300px;
  right: 0;
  top: 200px;
}
@media all and (max-width: 640px) {
  .devices .ipad {
    width: 280px;
    height: 200px;
    left: 0;
    right: auto;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
.devices .ipad.visible {
  -webkit-animation: fadeUp 800ms ease-out 1400ms 1 forwards;
  -moz-animation: fadeUp 800ms ease-out 1400ms 1 forwards;
  animation: fadeUp 800ms ease-out 1400ms 1 forwards;
}
.devices .iphone {
  width: 140px;
  height: 350px;
  left: 47%;
  bottom: 0%;
}
@media all and (max-width: 640px) {
  .devices .iphone {
    width: 100px;
    height: 250px;
    left: auto;
    right: 0;
    bottom: -10%;
  }
}
.devices .iphone.visible {
  -webkit-animation: fadeUp 800ms ease-out 1900ms 1 forwards;
  -moz-animation: fadeUp 800ms ease-out 1900ms 1 forwards;
  animation: fadeUp 800ms ease-out 1900ms 1 forwards;
}
.devices .arrow {
  position: absolute;
  white-space: nowrap;
  opacity: 0;
  /*

		.transform(translateY(20%));

		&.visible {
			.keyframes(fadeUp; {
				0% {opacity: 0; .transform(translateY(20%));}
				100% {opacity: 1; .transform(translateY(0));}
			});
		}
*/
}
.devices .arrow h2 {
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  color: #038779;
  display: inline-block;
  vertical-align: bottom;
  padding: 0 20px;
  position: relative;
  margin: 0;
}
.devices .arrow.left {
  bottom: 0;
  left: -100px;
}
.devices .arrow.left h2 {
  bottom: -15px;
}
.devices .arrow.left.visible {
  -webkit-animation: fadeUp 400ms ease-in 2000ms 1 forwards;
  -moz-animation: fadeUp 400ms ease-in 2000ms 1 forwards;
  animation: fadeUp 400ms ease-in 2000ms 1 forwards;
}
.devices .arrow.right {
  top: 320px;
  right: -215px;
}
.devices .arrow.right h2 {
  bottom: -15px;
  display: block;
}
.devices .arrow.right.visible {
  -webkit-animation: fadeUp 400ms ease-in 2350ms 1 forwards;
  -moz-animation: fadeUp 400ms ease-in 2350ms 1 forwards;
  animation: fadeUp 400ms ease-in 2350ms 1 forwards;
}
.devices .arrow.middle {
  bottom: -80px;
  left: 58%;
  margin-right: -80px;
}
.devices .arrow.middle h2 {
  bottom: -15px;
}
.devices .arrow.middle.visible {
  -webkit-animation: fadeUp 400ms ease-in 2700ms 1 forwards;
  -moz-animation: fadeUp 400ms ease-in 2700ms 1 forwards;
  animation: fadeUp 400ms ease-in 2700ms 1 forwards;
}
.insightsProduct {
  padding: 100px 0;
}
@media all and (max-width: 640px) {
  .insightsProduct {
    padding: 20px 0;
  }
}
.insightsProduct h1,
.insightsProduct h3 {
  text-align: center;
}
.insightsProduct h3 {
  margin-bottom: 40px;
}
@media all and (max-width: 640px) {
  .insightsProduct h3 {
    margin-bottom: 10px;
  }
}
.insightsProduct h3:after {
  margin: 10px auto;
}
.insightsProduct .highlights {
  width: 100%;
  *zoom: 1;
}
.insightsProduct .highlights:before,
.insightsProduct .highlights:after {
  content: "";
  display: table;
}
.insightsProduct .highlights:after {
  clear: both;
}
@media all and (max-width: 640px) {
  .insightsProduct .highlights .slick-dots {
    text-align: center;
    margin: 0 auto;
  }
  .insightsProduct .highlights .slick-dots li {
    margin: 0 3px;
    padding: 0;
    float: none;
    display: inline-block;
  }
  .insightsProduct .highlights .slick-dots button {
    background: #DDD;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    overflow: hidden;
    text-indent: -9999px;
    border: 0;
    padding: 0;
  }
  .insightsProduct .highlights .slick-dots .slick-active button {
    background: #038779;
  }
}
.insightsProduct .highlights .highlight {
  float: left;
  width: 32%;
  margin: 0 2% 20px 0;
  text-align: left;
  font-size: 20px;
  font-size: 1.5384615384615385rem;
  color: #999;
  position: relative;
  *zoom: 1;
}
.insightsProduct .highlights .highlight:before,
.insightsProduct .highlights .highlight:after {
  content: "";
  display: table;
}
.insightsProduct .highlights .highlight:after {
  clear: both;
}
@media all and (max-width: 640px) {
  .insightsProduct .highlights .highlight {
    width: 100%;
    margin: 0 0 20px 0;
    padding: 10px 0;
  }
}
.insightsProduct .highlights .highlight h2 {
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.insightsProduct .highlights .highlight h2:after {
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 10px;
  margin: 10px 0;
  background: #038779;
  content: '';
}
@media all and (max-width: 1180px) {
  .insightsProduct .highlights .highlight h2 {
    text-align: center;
    width: 100%;
  }
  .insightsProduct .highlights .highlight h2:after {
    margin: 10px auto;
  }
}
@media all and (max-width: 640px) {
  .insightsProduct .highlights .highlight h2 {
    text-align: center;
    width: 100%;
  }
  .insightsProduct .highlights .highlight h2:after {
    margin: 10px auto;
  }
}
.insightsProduct .highlights .highlight:nth-child(3n) {
  margin: 0 0 20px 0;
}
@media all and (max-width: 640px) {
  .insightsProduct .highlights .highlight:nth-child(3n) {
    margin: 0;
  }
}
.insightsProduct .highlights .highlight div {
  float: right;
  width: 65%;
  top: 0%;
  right: 0;
  min-height: 165px;
}
@media all and (max-width: 1180px) {
  .insightsProduct .highlights .highlight div {
    width: 100%;
    text-align: center;
  }
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .insightsProduct .highlights .highlight div {
    font-size: 17px;
    font-size: 1.3076923076923077rem;
    padding: 0 10px;
  }
}
@media all and (max-width: 640px) {
  .insightsProduct .highlights .highlight div {
    width: 100%;
    float: none;
    min-height: unset;
    text-align: center;
    padding: 5px 0 0 0;
    min-height: auto;
  }
}
.insightsProduct .highlights .highlight i {
  border-radius: 50%;
  border: 1px solid #EEE;
  background: #FFF;
  font-size: 59.99999999999999px;
  font-size: 4.615384615384615rem;
  display: block;
  width: 33%;
  max-width: 130px;
  max-height: 130px;
  text-align: center;
  color: #038779;
  float: left;
  margin-right: 40px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  padding: 33px 0;
}
@media all and (max-width: 1180px) {
  .insightsProduct .highlights .highlight i {
    width: 130px;
    height: 130px;
    max-height: 130px;
    position: static;
    float: none;
    margin: 10px auto;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
}
@media all and (max-width: 640px) {
  .insightsProduct .highlights .highlight i {
    position: relative;
    top: 0;
    float: none;
    margin: 0 auto;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    height: 100px;
    width: 100px;
    line-height: 1;
    font-size: 45px;
    font-size: 3.4615384615384617rem;
  }
}
.productTrends .list {
  float: left;
  margin: 20px 80px 40px 0;
}
@media all and (max-width: 1425px) {
  .productTrends .list {
    margin: 20px 60px 40px 0;
  }
}
@media all and (max-width: 640px) {
  .productTrends .list {
    margin: 10px 0;
    width: 100%;
  }
}
.productTrends .list h2 {
  font-size: 28px;
  font-size: 2.1538461538461537rem;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  color: #038779;
}
.productTrends .list h2:after {
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 10px;
  margin: 0 0 15px 0;
  background: #70C06B;
  content: '';
}
.callToActionBar {
  width: 100%;
  padding: 70px 0;
  background: #F1F1F1;
}
@media all and (max-width: 640px) {
  .callToActionBar {
    padding: 20px 0;
  }
}
.callToActionBar .buttons {
  width: 400px;
  margin: 0 auto;
}
@media all and (max-width: 640px) {
  .callToActionBar .buttons {
    width: 200px;
  }
}
.callToActionBar .buttons .buttonAlt {
  width: 180px;
  font-size: 18px;
  font-size: 1.3846153846153846rem;
}
@media all and (max-width: 640px) {
  .callToActionBar .buttons .buttonAlt {
    width: 200px;
    margin: 5px 0;
  }
}
.region#ireland,
.region.ireland {
  fill: #007976;
}
.region#scotland,
.region.scotland {
  fill: #00908d;
}
.region#northernIreland,
.region.northernIreland {
  fill: #00B2AE;
}
.region#northEast,
.region.northEast {
  fill: #00d2cd;
}
.region#northWest,
.region.northWest {
  fill: #16bcb9;
}
.region#yorkshire,
.region.yorkshire {
  fill: #308a88;
}
.region#westMidlands,
.region.westMidlands {
  fill: #4daba9;
}
.region#wales,
.region.wales {
  fill: #7ee1df;
}
.region#eastMidlands,
.region.eastMidlands {
  fill: #188f82;
}
.region#eastofEngland,
.region.eastofEngland {
  fill: #03b39f;
}
.region#london,
.region.london {
  fill: #519c94;
}
.region#southWest,
.region.southWest {
  fill: #38968b;
}
.region#southEast,
.region.southEast {
  fill: #367770;
}
.hotspotMap {
  padding: 50px 0;
}
.hotspotMap .svgContainer {
  width: 100%;
  max-width: 600px;
  position: relative;
  height: 0;
  padding-top: 100%;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .hotspotMap .svgContainer {
    width: 60%;
    margin: 0 auto;
    padding-top: 70%;
  }
}
@media all and (max-width: 640px) {
  .hotspotMap .svgContainer {
    padding-top: 100%;
  }
}
.hotspotMap svg {
  position: absolute;
  top: 0;
  left: 0;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .hotspotMap svg {
    width: 100%;
    margin: 0 auto;
    height: auto;
    display: block;
    float: none;
  }
}
@media all and (max-width: 640px) {
  .hotspotMap {
    padding: 0;
  }
  .hotspotMap svg {
    width: 80%;
    height: auto;
    float: none;
  }
}
/* ------------------------------ */
/* News Page */
/* ------------------------------ */
.box {
  float: left;
  width: 32%;
  margin: 10px 0;
  margin-right: 2%;
  overflow: hidden;
}
.box:nth-child(3n) {
  margin-right: 0;
}
@media all and (max-width: 1000px) {
  .box {
    width: 100%;
    margin: 0 0 10px 0;
    padding: 10px 0 0 0;
    border-top: 1px solid #EEE;
    position: relative;
  }
  .box:first-child {
    border: 0;
  }
  .box .image {
    display: none;
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 0;
    width: 30%;
    overflow: hidden;
  }
  .box .image img {
    position: absolute;
    top: 50%;
    display: block;
    -webkit-transform: translate(0%, -50%);
    -moz-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    -o-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    width: 100%;
  }
}
.box.news {
  position: relative;
}
.box.news .caption {
  position: absolute;
  left: 15px;
  bottom: 15px;
  padding: 15px;
  width: 80%;
  background: #333;
  color: #FFF;
  font-size: 14.999999999999998px;
  font-size: 1.1538461538461537rem;
}
@media all and (max-width: 1000px) {
  .box.news .caption {
    background: #FFF;
    position: relative;
    left: auto;
    bottom: auto;
    right: 0;
    width: 100%;
    padding: 0;
    float: right;
    color: #333;
    text-align: left;
  }
}
.box.news .caption h5 {
  color: #FFF;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-size: 1.2307692307692308rem;
  margin-bottom: 10px;
  line-height: 18px;
}
@media all and (max-width: 1000px) {
  .box.news .caption h5 {
    color: #666;
    margin-bottom: 0;
  }
}
.box.news .caption p {
  margin-bottom: 10px;
  line-height: 15px;
}
@media all and (max-width: 1000px) {
  .box.news .caption p {
    display: none;
    font-size: 14px;
    font-size: 1.0769230769230769rem;
    line-height: 18px;
    margin-bottom: 5px;
  }
}
.box.news .caption .date {
  font-size: 13px;
  font-size: 1rem;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  line-height: 15px;
}
.box.news .caption .date i {
  display: none;
}
@media all and (max-width: 1000px) {
  .box.news .caption .date {
    color: #999;
  }
  .box.news .caption .date i {
    display: inline-block;
    margin-right: 5px;
  }
}
.box img {
  -webkit-transition: all linear 300ms;
  -moz-transition: all linear 300ms;
  -ms-transition: all linear 300ms;
  -o-transition: all linear 300ms;
  transition: all linear 300ms;
  width: 100%;
}
@media all and (max-width: 1000px) {
  .box img {
    width: 40%;
    float: left;
    height: auto;
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    -o-transition: none;
    transition: none;
  }
}
.box:hover img {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
  transform: scale(1.1);
}
@media all and (max-width: 1000px) {
  .box:hover img {
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
}
.newsPage .section {
  padding: 50px 0;
}
@media all and (max-width: 1000px) {
  .newsPage .section {
    padding: 20px 0;
  }
}
.newsPage #js_newsletter {
  display: none;
}
.newsPage .publications {
  padding: 50px 0;
  *zoom: 1;
}
.newsPage .publications:before,
.newsPage .publications:after {
  content: "";
  display: table;
}
.newsPage .publications:after {
  clear: both;
}
@media all and (max-width: 1000px) {
  .newsPage .publications {
    padding: 0;
  }
}
.newsPage .subscribe {
  background: #038779 url(../images/layout/newsletter.png) center;
  color: #FFF;
  padding: 100px 20px;
  *zoom: 1;
  margin: 0;
  line-height: 40px;
}
.newsPage .subscribe:before,
.newsPage .subscribe:after {
  content: "";
  display: table;
}
.newsPage .subscribe:after {
  clear: both;
}
@media all and (max-width: 1000px) {
  .newsPage .subscribe {
    padding: 20px;
  }
}
.newsPage .subscribe .content {
  width: 100%;
  *zoom: 1;
}
.newsPage .subscribe .content:before,
.newsPage .subscribe .content:after {
  content: "";
  display: table;
}
.newsPage .subscribe .content:after {
  clear: both;
}
.newsPage .subscribe h2 {
  font-size: 35px;
  font-size: 2.6923076923076925rem;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  margin: 0;
  float: left;
  line-height: 56px;
  color: #FFF;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}
@media all and (max-width: 1000px) {
  .newsPage .subscribe h2 {
    font-size: 22px;
    font-size: 1.6923076923076923rem;
    margin: 0 0 10px 0;
    line-height: 28px;
    text-align: center;
    float: none;
    width: 100%;
  }
}
.newsPage .subscribe .buttonAlt {
  float: right;
  margin: 0;
}
@media all and (max-width: 1000px) {
  .newsPage .subscribe .buttonAlt {
    width: 130px;
    margin: 0 auto;
    clear: both;
  }
  .newsPage .subscribe .buttonAlt.right {
    display: block;
    float: none;
  }
}
.newsPage .ourInsights {
  *zoom: 1;
  margin: 20px 0;
  font-size: 17px;
  font-size: 1.3076923076923077rem;
}
.newsPage .ourInsights:before,
.newsPage .ourInsights:after {
  content: "";
  display: table;
}
.newsPage .ourInsights:after {
  clear: both;
}
.newsPage .archives {
  *zoom: 1;
  padding: 20px 0;
}
.newsPage .archives:before,
.newsPage .archives:after {
  content: "";
  display: table;
}
.newsPage .archives:after {
  clear: both;
}
@media all and (max-width: 1000px) {
  .newsPage .archives .box {
    background: #FFF;
    border: 1px solid #EEE;
    padding: 10px;
  }
  .newsPage .archives .box .caption {
    padding: 0;
  }
}
@media all and (max-width: 640px) {
  .newsPage .archives {
    padding: 0;
  }
}
.newsPage .archives h1 {
  text-align: center;
  margin-bottom: 20px;
}
.newsPage .archives h4 {
  display: none;
}
@media all and (max-width: 640px) {
  .newsPage .archives h4 {
    display: block;
    cursor: pointer;
    margin: 0;
    font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
    padding: 10px;
  }
  .newsPage .archives h4:after {
    display: block;
    float: right;
    padding: 0 5px;
    content: '\f0d7';
    font-family: 'FontAwesome';
  }
}
@media all and (max-width: 640px) {
  .newsPage .archives .list {
    width: 100%;
    border: 1px solid #EEE;
    background: #FFF;
    margin-bottom: 20px;
  }
}
.newsPage .archives ul {
  text-align: center;
  margin: 0;
}
@media all and (max-width: 640px) {
  .newsPage .archives ul {
    text-align: left;
    display: none;
    border-top: 1px solid #EEE;
  }
  .newsPage .archives ul.months {
    display: none;
  }
}
.newsPage .archives ul li {
  display: inline-block;
  margin: 0 10px;
}
@media all and (max-width: 640px) {
  .newsPage .archives ul li {
    display: block;
    margin: 0;
  }
}
.newsPage .archives ul a {
  padding: 5px 10px;
  display: block;
  font-size: 20px;
  font-size: 1.5384615384615385rem;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  color: #333;
}
@media all and (max-width: 640px) {
  .newsPage .archives ul a {
    padding: 10px;
    line-height: 1;
    font-size: 16px;
    font-size: 1.2307692307692308rem;
    -webkit-transition: all ease-in-out 300ms;
    -moz-transition: all ease-in-out 300ms;
    -ms-transition: all ease-in-out 300ms;
    -o-transition: all ease-in-out 300ms;
    transition: all ease-in-out 300ms;
  }
  .newsPage .archives ul a:hover,
  .newsPage .archives ul a.selected {
    background: #F5F5F5;
  }
}
.newsPage .archives ul a.selected {
  color: #038779;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.newsPage .archives ul a:hover {
  color: #038779;
}
.newsPage .archives ul.months {
  border-bottom: 1px solid #EEE;
  margin-bottom: 20px;
}
.newsPage .archives ul.months a {
  color: #999;
  font-size: 14.999999999999998px;
  font-size: 1.1538461538461537rem;
}
.newsPage .archives ul.months a.selected {
  color: #038779;
}
.newsPage .archives ul.months a:hover {
  color: #038779;
}
.article {
  padding: 50px 40px;
}
@media all and (max-width: 1000px) {
  .article {
    padding: 20px;
  }
}
.article ol {
  counter-reset: item;
}
.article ol > li {
  display: block;
}
.article ol > li:before {
  content: counters(item, ".") " - ";
  counter-increment: item;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.article h3 i {
  font-size: 17px;
  font-size: 1.3076923076923077rem;
  display: block;
  float: left;
  padding: 5px 8px 5px 0;
}
.article .sidebar {
  float: right;
  width: 20%;
  margin-left: 2%;
}
.article .sidebar h4 {
  font-size: 20px;
  font-size: 1.5384615384615385rem;
  color: #038779;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  border-bottom: 1px solid #DDD;
}
.article .sidebar li {
  padding: 3px 0;
}
@media all and (max-width: 1000px) {
  .article .sidebar {
    width: 100%;
    margin: 20px 0;
    float: none;
    clear: both;
  }
  .article .sidebar ul {
    display: none;
    background: #FFF;
    padding: 5px;
    border: 1px solid #EEE;
    border-top: 0;
  }
  .article .sidebar ul li {
    padding: 0;
  }
  .article .sidebar ul a {
    padding: 8px 10px;
    display: block;
    width: 100%;
  }
  .article .sidebar h4 {
    background: #038779;
    color: #FFF;
    padding: 10px;
    position: relative;
    cursor: pointer;
    margin: 0;
  }
  .article .sidebar h4:after {
    display: block;
    content: '\f0d7';
    font-family: 'FontAwesome';
    position: absolute;
    right: 10px;
    top: 10px;
  }
  .article .sidebar h4.open:after {
    content: '\f0d8';
  }
}
.article .inner {
  width: 78%;
  float: left;
  *zoom: 1;
}
.article .inner:before,
.article .inner:after {
  content: "";
  display: table;
}
.article .inner:after {
  clear: both;
}
@media all and (max-width: 1000px) {
  .article .inner {
    width: 100%;
    margin: 0;
    padding-bottom: 30px;
  }
  .article .inner h1 {
    font-size: 25px;
    font-size: 1.9230769230769231rem;
  }
  .article .inner h3 {
    font-size: 16px;
    font-size: 1.2307692307692308rem;
    line-height: 18px;
  }
  .article .inner h3 i {
    font-size: 14px;
    font-size: 1.0769230769230769rem;
    padding-top: 1px;
  }
}
.article .inner img {
  float: right;
  margin: 0 0 20px 20px;
}
@media all and (max-width: 1000px) {
  .article .inner img {
    margin: 0 0 30px 0;
    float: none;
    display: block;
  }
}
.article .inner h5 {
  clear: both;
  text-transform: uppercase;
  border-bottom: 1px solid #EEE;
  color: #AAA;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-size: 1rem;
  padding: 5px 0;
  margin: 0 0 20px 0;
}
.article .inner .attachement {
  display: block;
  position: relative;
  padding: 5px 10px 5px 30px;
  line-height: 20px;
}
.article .inner .attachement.pdf:before {
  font-size: 20px;
  font-size: 1.5384615384615385rem;
  content: '\f1c1';
  font-family: 'FontAwesome';
  display: block;
  position: absolute;
  top: 5px;
  left: 0;
  color: #999;
}
.article .filter-table {
  float: left;
  line-height: 23px;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  margin-bottom: 0;
  padding: 10px 20px;
  color: #333;
  background: #F1F1F1;
  border-bottom: 1px solid #DDD;
  font-size: 14.999999999999998px;
  font-size: 1.1538461538461537rem;
  width: 100%;
}
.article .filter-table input {
  float: right;
  border-radius: 3px;
  padding: 0 10px;
  border: 1px solid #EEE;
  line-height: 21px;
  margin-left: 10px;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-size: 1rem;
}
.article table {
  margin: 20px 0;
}
.article table tr {
  background: #FFF;
}
.article table tr:nth-child(odd) {
  background: #F9F9F9;
}
.article table th {
  background: #F1F1F1;
  color: #038779;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.article table th:first-child {
  padding: 5px 20px;
}
.article table td {
  border: 1px solid #EEE;
  padding: 5px 10px;
  font-size: 14.999999999999998px;
  font-size: 1.1538461538461537rem;
}
@media all and (max-width: 640px) {
  .article table td {
    display: block;
    width: 100%;
    border-bottom: 0;
  }
}
.article table td:first-child {
  vertical-align: middle;
  padding: 5px 20px;
}
@media all and (max-width: 640px) {
  .article table td:first-child {
    border-bottom: 0;
    padding: 5px;
  }
}
.article table td:first-child img {
  max-width: 80px;
}
.article table.filterTable td:last-child {
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
/* ------------------------------ */
/* Order Page */
/* ------------------------------ */
.order {
  *zoom: 1;
  padding: 20px 0;
}
.order:before,
.order:after {
  content: "";
  display: table;
}
.order:after {
  clear: both;
}
.order .termsWrap {
  clear: both;
  *zoom: 1;
  text-align: left;
}
.order .termsWrap:before,
.order .termsWrap:after {
  content: "";
  display: table;
}
.order .termsWrap:after {
  clear: both;
}
.order .termsWrap .termsAndConditions {
  max-height: 496px;
  overflow: auto;
  margin-bottom: 20px;
  padding: 20px;
  display: none;
  text-align: left;
}
.order .termsWrap .termsAndConditions ol {
  margin: 0;
  padding: 0 0 0 20px;
}
.order .termsconditions {
  margin: 0;
}
.order .termsconditions label {
  padding: 0 20px 0 0;
  line-height: 33px;
}
@media all and (max-width: 640px) {
  .order .termsconditions label {
    padding: 0 30px 0 0;
  }
}
form.styled .total {
  background: #038779;
  color: #FFF;
  width: 100%;
  *zoom: 1;
  clear: both;
  padding: 0 20px;
  border-radius: 10px;
  margin-top: 10px;
  display: block;
}
form.styled .total:before,
form.styled .total:after {
  content: "";
  display: table;
}
form.styled .total:after {
  clear: both;
}
form.styled .total h5 {
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  font-size: 22px;
  font-size: 1.6923076923076923rem;
  float: left;
  color: #FFF;
  padding: 20px 0;
  margin: 0;
}
form.styled .total h5:after {
  content: 'Please inquire';
}
@media all and (max-width: 640px) {
  form.styled .total h5 {
    line-height: 1;
    padding: 20px 0;
  }
}
form.styled .total span {
  display: none !important;
  float: right;
  font-size: 22px;
  font-size: 1.6923076923076923rem;
  line-height: 1;
  padding-top: 20px;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
@media all and (max-width: 640px) {
  form.styled .total span {
    float: none;
    width: 100%;
    padding: 10px 0;
    display: block;
    clear: left;
  }
}
form.styled .total small {
  clear: right;
  display: block;
  float: right;
  font-size: 11px;
  font-size: 0.8461538461538461rem;
  text-transform: uppercase;
}
form.styled .break {
  margin: 20px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  width: 100%;
  clear: both;
}
form.styled h4 {
  line-height: 30px;
  font-size: 18px;
  font-size: 1.3846153846153846rem;
  vertical-align: middle;
  margin: 10px 0;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  text-align: left;
}
form.styled h4 span {
  display: block;
  width: 30px;
  height: 30px;
  text-align: center;
  line-height: 30px;
  background: #038779;
  color: #FFF;
  font-size: 17px;
  font-size: 1.3076923076923077rem;
  margin-right: 15px;
  border-radius: 50%;
  float: left;
}
form.styled h4 span i {
  vertical-align: middle;
}
form.styled .help {
  float: right;
  background: #EEE;
  padding: 20px;
  width: 28%;
  border-radius: 10px;
}
form.styled .details,
form.styled .terms {
  background: #EEE;
  padding: 20px;
  clear: left;
}
form.styled .formWrap {
  float: left;
  width: 56%;
}
@media all and (max-width: 640px) {
  form.styled .formWrap {
    width: 100%;
    margin-bottom: 20px;
    *zoom: 1;
    float: none;
  }
  form.styled .formWrap:before,
  form.styled .formWrap:after {
    content: "";
    display: table;
  }
  form.styled .formWrap:after {
    clear: both;
  }
}
form.styled .submitButton {
  background: #EEE;
  padding: 0 20px 20px 20px;
  float: left;
  width: 56%;
}
form.styled .submitButton .buttonAlt {
  margin-top: 0;
}
@media all and (max-width: 640px) {
  form.styled .submitButton {
    width: 100%;
    margin-top: 20px;
    float: none;
    padding: 20px;
  }
  form.styled .submitButton .buttonAlt {
    float: none;
    width: 100%;
    margin: 0 auto;
  }
}
form.styled .terms {
  margin-top: 20px;
}
@media all and (max-width: 640px) {
  form.styled .wrapper-sticky {
    width: 100% !important;
  }
}
form.styled .products {
  background: none;
  float: right;
  width: 40%;
  background: #EEE;
  padding: 20px;
}
form.styled .products .inputWrap .item {
  position: relative;
}
form.styled .products .inputWrap .price {
  display: none;
}
form.styled .products .inputWrap.selected .product:after {
  content: 'Please inquire';
  position: absolute;
  right: 20px;
}
.renew form.styled .products {
  width: 100%;
}
@media all and (max-width: 640px) {
  form.styled .products {
    width: 100% !important;
  }
}
form.styled .products h4 {
  margin-bottom: 20px;
}
form.styled .products .row {
  margin-bottom: 0;
  overflow: hidden;
}
form.styled .products .item,
form.styled .products .subscriptionItem {
  border-radius: 10px;
  padding: 0 20px;
  background: #ffffff;
  margin-bottom: 10px;
  font-size: 18px;
  font-size: 1.3846153846153846rem;
  box-shadow: none;
  *zoom: 1;
  width: 100%;
}
form.styled .products .item:before,
form.styled .products .subscriptionItem:before,
form.styled .products .item:after,
form.styled .products .subscriptionItem:after {
  content: "";
  display: table;
}
form.styled .products .item:after,
form.styled .products .subscriptionItem:after {
  clear: both;
}
form.styled .products .item:before,
form.styled .products .subscriptionItem:before {
  display: none;
}
@media all and (max-width: 640px) {
  form.styled .products .item,
  form.styled .products .subscriptionItem {
    padding: 0 16px;
  }
}
form.styled .products .text {
  margin: 5px 0;
}
form.styled .products .selected .item,
form.styled .products .subscriptionItem,
form.styled .products .subscriptionItem {
  background: #038779;
  color: #ffffff;
}
form.styled .products .selected .item:after,
form.styled .products .subscriptionItem:after,
form.styled .products .subscriptionItem:after {
  display: block;
  font-family: 'FontAwesome';
  content: '\f00c';
  position: absolute;
  top: 20px;
  right: 60px;
  font-size: 135px;
  font-size: 10.384615384615385rem;
  color: rgba(255, 255, 255, 0.15);
}
@media all and (max-width: 640px) {
  form.styled .products .selected .item:after,
  form.styled .products .subscriptionItem:after,
  form.styled .products .subscriptionItem:after {
    top: -20px;
    right: -10px;
  }
}
form.styled .products .selected .item .price,
form.styled .products .subscriptionItem .price,
form.styled .products .subscriptionItem .price {
  color: #FFF;
}
form.styled .products .subscriptionItem {
  position: relative;
  padding: 20px;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
form.styled .products .subscriptionItem:after {
  top: -70px;
}
form.styled .products .text {
  width: 70px;
  float: right;
  margin: 9px 0;
  text-align: center;
}
@media all and (max-width: 640px) {
  form.styled .products .text {
    width: 100%;
    margin: 0;
    float: none;
    margin-bottom: 10px;
  }
}
form.styled .products .product {
  padding: 20px 0;
  display: block;
  float: left;
}
@media all and (max-width: 640px) {
  form.styled .products .product {
    padding-bottom: 10px;
  }
}
form.styled .products .price {
  float: right;
  font-size: 22px;
  font-size: 1.6923076923076923rem;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  color: #038779;
  line-height: 61px;
}
@media all and (max-width: 640px) {
  form.styled .products .price {
    display: block;
    float: none;
    clear: both;
    width: 100%;
    text-align: left;
    line-height: 31px;
    padding-bottom: 10px;
  }
}
form.styled .products small {
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  font-size: 14.999999999999998px;
  font-size: 1.1538461538461537rem;
  float: right;
  display: block;
  clear: right;
}
@media all and (max-width: 640px) {
  form.styled .products small {
    width: 100%;
    text-align: left;
    font-size: 12px;
    font-size: 0.9230769230769231rem;
    margin-bottom: 20px;
  }
}
form.styled .products .terms {
  font-size: 13px;
  font-size: 1rem;
  padding: 0 5px;
}
form.styled .products .terms strong {
  font-size: 16px;
  font-size: 1.2307692307692308rem;
}
form.styled .buttonAlt {
  margin-top: 20px;
}
.whiteRow {
  border-radius: 10px;
  padding: 0 20px;
  background: #ffffff;
  margin-bottom: 10px !important;
  font-size: 18px;
  font-size: 1.3846153846153846rem;
  box-shadow: none;
  *zoom: 1;
  width: 100%;
  padding-bottom: 11px;
  overflow: visible !important;
}
.whiteRow:before,
.whiteRow:after {
  content: "";
  display: table;
}
.whiteRow:after {
  clear: both;
}
.whiteRow .chosen-container-active .chosen-choices li.search-field input {
  width: 100% !important;
}
.whiteRow .chosen-container-multi .chosen-choices li.search-field input[type="search"] {
  width: 100% !important;
}
.whiteRow .chosen-container-active.chosen-with-drop {
  border-radius: 0;
  border: none;
}
.whiteRow .chosen-container {
  border-radius: 0;
  border: none;
}
.whiteRow .chosen-container-multi .chosen-choices {
  border: 1px solid #DDD;
  border-radius: 5px;
}
.whiteRow:before {
  display: none;
}
@media all and (max-width: 640px) {
  .whiteRow {
    padding: 0 16px;
  }
}
/* ------------------------------ */
/* Login Page */
/* ------------------------------ */
.login {
  padding: 100px 0;
  *zoom: 1;
}
.login:before,
.login:after {
  content: "";
  display: table;
}
.login:after {
  clear: both;
}
@media all and (max-width: 640px) {
  .login {
    padding: 30px 0;
    *zoom: 1;
  }
  .login:before,
  .login:after {
    content: "";
    display: table;
  }
  .login:after {
    clear: both;
  }
}
.login form {
  *zoom: 1;
  background: #EEE;
  padding: 20px;
  float: right;
  width: 45%;
}
.login form:before,
.login form:after {
  content: "";
  display: table;
}
.login form:after {
  clear: both;
}
@media all and (max-width: 640px) {
  .login form {
    width: 100%;
  }
  .login form .buttonAlt {
    width: 100%;
    margin-top: 20px;
    float: none;
    padding: 10px 20px;
  }
}
.login .content {
  float: left;
  width: 45%;
}
@media all and (max-width: 640px) {
  .login .content {
    width: 100%;
    padding: 0 0 20px 0;
  }
}
.login li {
  margin: 0 40px 0 0;
  float: left;
  font-size: 20px;
  font-size: 1.5384615384615385rem;
}
@media all and (max-width: 640px) {
  .login li {
    font-size: 17px;
    font-size: 1.3076923076923077rem;
  }
}
.login li i {
  margin-right: 5px;
}
.login a:hover {
  color: #038779;
}
/* ------------------------------ */
/* Client Dashboard */
/* ------------------------------ */
.dashBackground {
  background: #F1F1F1;
}
.dashBackground .logo {
  margin-left: 20px;
}
.dashBackground .wrapper {
  padding: 0;
}
.dashBackground .footer .logo {
  margin-left: 0;
}
.dashboard {
  margin: 40px 20px;
  *zoom: 1;
  background: #FFF;
  padding: 20px;
  /*
    h1 {
        .rems(25);
        margin-top: 40px;
        width: 100%;
        line-height: 27px;

        span {
            .rems(12);
            font-family: @semiBold;
            color: #999;
            display: block;
            float: right;
            vertical-align: middle;
            letter-spacing: 0;
        }
    }
*/
}
.dashboard:before,
.dashboard:after {
  content: "";
  display: table;
}
.dashboard:after {
  clear: both;
}
@media all and (max-width: 640px) {
  .dashboard {
    margin: 0;
  }
}
.dashboard .content.left {
  width: 45%;
}
@media all and (max-width: 1000px) {
  .dashboard .content.left {
    width: 100%;
  }
}
.dashboard h2 {
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  margin: 0 0 15px 0;
}
@media all and (max-width: 640px) {
  .dashboard h2 {
    margin: 0;
  }
}
.dashboard .welcome {
  *zoom: 1;
  margin-bottom: 20px;
  border-bottom: 1px solid #EEE;
  padding-bottom: 20px;
}
.dashboard .welcome:before,
.dashboard .welcome:after {
  content: "";
  display: table;
}
.dashboard .welcome:after {
  clear: both;
}
@media all and (max-width: 640px) {
  .dashboard .welcome {
    margin: 0;
    padding: 0;
    border: 0;
  }
  .dashboard .welcome h1 {
    display: none;
  }
}
.dashboard .welcome h1 {
  line-height: 45px;
  margin: 0;
  float: left;
}
.dashboard .welcome .button {
  margin-left: 10px;
  padding: 8px 24px;
  border: 0;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  font-size: 14.999999999999998px;
  font-size: 1.1538461538461537rem;
  line-height: 24px;
  letter-spacing: 0;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .dashboard .welcome .button {
    padding: 8px 15px;
  }
  .dashboard .welcome .button span {
    display: none;
  }
  .dashboard .welcome .button i {
    margin-right: 0;
  }
}
.dashboard .welcome .messages {
  background: #04aa98;
  color: #FFF;
  float: right;
  position: relative;
}
.dashboard .welcome .messages:hover {
  background: #05d2bc;
}
@media all and (max-width: 640px) {
  .dashboard .welcome .messages:hover {
    background: transparent;
  }
}
.dashboard .welcome .messages .count {
  border-radius: 50%;
  height: 20px;
  line-height: 20px;
  min-width: 20px;
  color: #FFF;
  background: #f00;
  display: block;
  position: absolute;
  top: -5px;
  right: -5px;
  font-size: 11px;
  font-size: 0.8461538461538461rem;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  text-align: center;
}
@media all and (max-width: 640px) {
  .dashboard .welcome .messages .count {
    height: 16px;
    min-width: 16px;
    line-height: 16px;
    right: 0;
  }
}
@media all and (max-width: 640px) {
  .dashboard .welcome .messages {
    display: block;
    position: fixed;
    top: 19px;
    right: 50px;
    background: none;
    color: #677F67;
    z-index: 5001;
    padding: 0;
    font-size: 23px;
    font-size: 1.7692307692307692rem;
  }
  .dashboard .welcome .messages span.text {
    display: none;
  }
}
.dashboard .welcome .account {
  background: #038779;
  color: #FFF;
  float: right;
}
.dashboard .welcome .account:hover {
  background: #04a08f;
}
@media all and (max-width: 640px) {
  .dashboard .welcome .account {
    display: none;
  }
}
.dashboard .blocks {
  margin: 0 auto;
}
.dashboard .blocks a {
  display: block;
  width: 23.5%;
  margin: 0 2% 20px 0;
  background: #038779;
  color: #FFF;
  float: left;
  text-align: center;
  padding: 50px 20px;
  border-radius: 5px;
  -webkit-transition: background ease-in-out 300ms;
  -moz-transition: background ease-in-out 300ms;
  -ms-transition: background ease-in-out 300ms;
  -o-transition: background ease-in-out 300ms;
  transition: background ease-in-out 300ms;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .dashboard .blocks a {
    width: 49%;
  }
  .dashboard .blocks a:nth-child(2n) {
    margin-right: 0;
  }
}
@media all and (max-width: 640px) {
  .dashboard .blocks a {
    width: 100%;
    margin: 0 0 20px 0;
  }
}
.dashboard .blocks a h4 {
  color: #FFF;
  font-size: 25px;
  font-size: 1.9230769230769231rem;
  margin: 20px 0 0 0;
}
.dashboard .blocks a i {
  font-size: 40px;
  font-size: 3.076923076923077rem;
  margin: 20px 0 0 0;
}
.dashboard .blocks a:nth-child(4n) {
  margin-right: 0;
}
.dashboard .blocks a:hover {
  background: #038779;
}
.dashboard .filter {
  float: right;
  position: relative;
}
@media all and (min-width: 1001px) and (max-width: 1179px) {
  .dashboard .filter {
    display: none;
  }
}
@media all and (max-width: 1000px) {
  .dashboard .filter {
    display: none;
  }
}
.dashboard .filter h4 {
  margin: 0 0 0 10px;
}
.dashboard .filter .row {
  margin-bottom: 0;
  padding-bottom: 0;
}
.dashboard .filter .openFilter {
  padding: 8px 15px;
  text-align: right;
  cursor: pointer;
}
.dashboard .filter .openFilter.selected {
  background: #EEE;
}
.dashboard .filter .filterWrap {
  position: relative;
  float: left;
}
.dashboard .filter .filterWrap#filtersRegion h5 {
  border-bottom: solid 1px #cccccc;
  padding-top: 10px;
  clear: both;
  cursor: pointer;
}
.dashboard .filter .filterWrap#filtersRegion h5:first-of-type {
  padding-top: 0;
}
.dashboard .filter .filterWrap#filtersRegion .filters > div {
  padding-left: 10px;
}
.dashboard .filter .filters {
  background: #EEE;
  position: absolute;
  top: 39px;
  right: 0;
  padding: 20px;
  display: none;
  clear: both;
  *zoom: 1;
  z-index: 20;
  width: 333px;
  max-height: 600px;
  overflow: auto;
}
.dashboard .filter .filters:before,
.dashboard .filter .filters:after {
  content: "";
  display: table;
}
.dashboard .filter .filters:after {
  clear: both;
}
.dashboard .filter .filters label {
  line-height: 25px;
  padding: 0;
}
.dashboard .filter .filters .text {
  float: none;
  display: inline-block;
  width: 33%;
  border-radius: 0;
}
.dashboard .filter .filters span {
  display: inline-block;
  padding: 0 15px;
  line-height: 38px;
}
.dashboard .filter .filters .buttonAlt {
  margin-top: 10px;
  clear: both;
  font-size: 14px;
  font-size: 1.0769230769230769rem;
}
.dashboard .users {
  /*
        .tableWrap {
            max-height: 300px;
            overflow: auto;
            border: 1px solid #A9C4A9;
        }
*/
}
.dashboard .users p {
  line-height: 34px;
  margin-bottom: 16px;
  float: left;
}
@media all and (max-width: 640px) {
  .dashboard .users p {
    margin-bottom: 0;
  }
}
.dashboard .users th,
.dashboard .users td {
  padding: 5px;
  white-space: nowrap;
  line-height: 34px;
}
.dashboard .users th {
  background: #038779;
  color: #FFF;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.dashboard .users tr {
  background: #E7F2E7;
}
.dashboard .users tr:nth-child(odd) {
  background: #EFF4EF;
}
.dashboard .buttons {
  padding: 0 0 20px 0;
  border-bottom: 1px solid #EEE;
  margin: 0 0 20px 0;
  *zoom: 1;
}
.dashboard .buttons:before,
.dashboard .buttons:after {
  content: "";
  display: table;
}
.dashboard .buttons:after {
  clear: both;
}
@media all and (max-width: 640px) {
  .dashboard .buttons {
    margin: 0 0 10px 0;
    padding: 0 0 10px 0;
  }
}
.dashboard .buttons .row {
  float: left;
  width: 50%;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .dashboard .buttons .row {
    width: 100%;
  }
}
@media all and (max-width: 640px) {
  .dashboard .buttons .row {
    width: 49%;
    float: right;
  }
}
.dashboard .buttons .button {
  margin-left: 10px;
  padding: 8px 16px;
  border: 0;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.dashboard .buttons .button.location {
  display: none;
}
@media all and (max-width: 640px) {
  .dashboard .buttons .button.location {
    display: block;
    background: #038779;
    color: #FFF;
    border: 0;
    width: 49%;
    padding: 0;
    margin: 0;
    float: left;
    line-height: 40px;
    -webkit-transition: background ease-in-our 300ms;
    -moz-transition: background ease-in-our 300ms;
    -ms-transition: background ease-in-our 300ms;
    -o-transition: background ease-in-our 300ms;
    transition: background ease-in-our 300ms;
    font-size: 12px;
    font-size: 0.9230769230769231rem;
  }
  .dashboard .buttons .button.location i {
    margin-right: 5px;
  }
  .dashboard .buttons .button.location:hover {
    background: #232323;
  }
}
.dashboard .buttons .membership {
  background: #038779;
  color: #FFF;
  margin-left: 0;
  border: 0;
  width: 380px;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .dashboard .buttons .membership {
    width: 100%;
    margin-bottom: 10px;
  }
}
@media all and (max-width: 640px) {
  .dashboard .buttons .membership {
    display: none;
  }
}
.dashboard .buttons .membership.right {
  float: right;
  clear: right;
}
.dashboard .buttons .membership.orange {
  background: #e3a42a;
}
.dashboard .buttons .membership.red {
  background: #b94a48;
}
.dashboard .buttons .membership span {
  text-decoration: underline;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.dashboard .buttons label {
  display: block;
  float: none;
  width: 100%;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.dashboard .buttons .text.search {
  font-size: 14px;
  font-size: 1.0769230769230769rem;
  padding: 10px;
  border-radius: 5px 0 0 5px;
  border-right: 0;
  float: left;
  line-height: 18px;
  width: 92%;
}
@media all and (max-width: 640px) {
  .dashboard .buttons .text.search {
    width: 80%;
  }
}
.dashboard .buttons .buttonSearch {
  width: 8%;
  border: 0;
  background: #038779;
  color: #FFF;
  text-align: center;
  border-radius: 0 5px 5px 0;
  float: left;
  line-height: 16px;
  padding: 12px 5px;
}
@media all and (max-width: 640px) {
  .dashboard .buttons .buttonSearch {
    width: 20%;
  }
}
.dashboard .statistics {
  *zoom: 1;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #EEE;
}
.dashboard .statistics:before,
.dashboard .statistics:after {
  content: "";
  display: table;
}
.dashboard .statistics:after {
  clear: both;
}
@media all and (max-width: 640px) {
  .dashboard .statistics .carousel {
    display: none;
  }
}
.dashboard .stats {
  width: 100%;
  padding: 20px 0 0 0;
  *zoom: 1;
  clear: both;
}
.dashboard .stats:before,
.dashboard .stats:after {
  content: "";
  display: table;
}
.dashboard .stats:after {
  clear: both;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .dashboard .stats {
    margin-bottom: 20px;
  }
}
@media all and (max-width: 640px) {
  .dashboard .stats {
    border-top: 1px solid #EEE;
    border-bottom: 1px solid #EEE;
    margin-bottom: 20px;
    display: none;
  }
}
.dashboard .stats .slick-dots {
  text-align: center;
  margin: 20px auto 0;
  float: none;
}
.dashboard .stats .slick-dots li {
  margin: 0 3px;
  padding: 0;
  float: none;
  display: inline-block;
}
.dashboard .stats .slick-dots button {
  background: #DDD;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  overflow: hidden;
  text-indent: -9999px;
  border: 0;
  padding: 0;
}
.dashboard .stats .slick-dots .slick-active button {
  background: #038779;
}
.dashboard .stats .slick-track {
  display: flex;
  justify-content: space-between;
}
.dashboard .stats .stat {
  float: left;
  width: 33%;
  margin: 0 3% 0 0;
  background: #EEE;
  text-align: left;
  padding: 23px 20px;
  background: #04a08f;
  flex: 1;
}
@media all and (max-width: 640px) {
  .dashboard .stats .stat {
    width: 100%;
    margin: 0;
  }
}
.dashboard .stats .stat h2 {
  margin: 0;
  font-size: 20px;
  font-size: 1.5384615384615385rem;
  display: block;
  color: #FFF;
}
@media all and (max-width: 1000px) {
  .dashboard .stats .stat h2 {
    font-size: 18px;
    font-size: 1.3846153846153846rem;
  }
}
.dashboard .stats .stat h4 {
  margin: 0;
  font-size: 14.999999999999998px;
  font-size: 1.1538461538461537rem;
  clear: left;
  display: block;
  color: #FFF;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.dashboard .stats .stat .numbers {
  margin-top: 20px;
  float: left;
  width: 50%;
  line-height: 1.2;
}
@media all and (min-width: 641px) and (max-width: 1000px) {
  .dashboard .stats .stat .numbers {
    width: 100%;
  }
}
.dashboard .stats .stat .numbers strong {
  font-size: 25px;
  font-size: 1.9230769230769231rem;
  color: #FFF;
}
@media all and (max-width: 640px) {
  .dashboard .stats .stat .numbers strong {
    font-size: 25px;
    font-size: 1.9230769230769231rem;
  }
}
.dashboard .stats .stat .numbers p {
  font-size: 17px;
  font-size: 1.3076923076923077rem;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  color: #FFF;
}
.dashboard .stats .stat:nth-child(3n) {
  margin-right: 0;
}
.dashboard .charts {
  padding: 20px 20px 0 20px;
  *zoom: 1;
  width: 100%;
  position: relative;
}
.dashboard .charts:before,
.dashboard .charts:after {
  content: "";
  display: table;
}
.dashboard .charts:after {
  clear: both;
}
.dashboard .charts.mobile .column {
  width: 48%;
}
.dashboard .charts.mobile .column:nth-child(odd) {
  width: 48%;
}
@media all and (max-width: 1000px) {
  .dashboard .charts.mobile .mapGraph .points .point {
    width: 30px;
    height: 30px;
    line-height: 30px;
  }
  .dashboard .charts.mobile .column {
    display: block;
    float: none;
    width: 100%;
  }
  .dashboard .charts.mobile .column:nth-child(odd) {
    width: 100%;
  }
  .dashboard .charts.mobile .chartWrap .canvasWrap {
    width: 100%;
  }
  .dashboard .charts.mobile .chartWrap.full .chart {
    position: absolute;
    left: -100%;
  }
  .dashboard .charts.mobile .chartWrap.full .chart.active {
    position: static;
  }
  .dashboard .charts.mobile .chartWrap.full .chart ul {
    width: 100%;
    position: static;
  }
}
@media all and (max-width: 1000px) {
  .dashboard .charts {
    padding: 0;
  }
}
.dashboard .charts .slick-dots {
  text-align: center;
  margin: 0 auto;
}
@media all and (max-width: 1000px) {
  .dashboard .charts .slick-dots {
    display: none !important;
  }
}
.dashboard .charts .slick-dots li {
  margin: 0 3px;
  padding: 0;
  float: none;
  display: inline-block;
}
.dashboard .charts .slick-dots button {
  background: #EEE;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  overflow: hidden;
  text-indent: -9999px;
  border: 0;
  padding: 0;
}
.dashboard .charts .slick-dots .slick-active button {
  background: #038779;
}
.dashboard .charts .prevCharts,
.dashboard .charts .nextCharts {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 29.999999999999996px;
  font-size: 2.3076923076923075rem;
  cursor: pointer;
  color: #FFF;
  display: block;
  background: #038779;
  border: none;
  padding: 5px 10px;
  font-size: 22px;
  font-size: 1.6923076923076923rem;
}
@media all and (max-width: 1000px) {
  .dashboard .charts .prevCharts,
  .dashboard .charts .nextCharts {
    display: none !important;
  }
}
.dashboard .charts .prevCharts {
  left: -30px;
}
.dashboard .charts .nextCharts {
  right: -30px;
}
.dashboard .charts .header {
  *zoom: 1;
}
.dashboard .charts .header:before,
.dashboard .charts .header:after {
  content: "";
  display: table;
}
.dashboard .charts .header:after {
  clear: both;
}
.dashboard .charts h4 {
  font-size: 18px;
  font-size: 1.3846153846153846rem;
  color: #666;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  margin-bottom: 20px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.dashboard .charts h2 {
  color: #666;
  margin: 0;
  line-height: 35px;
  margin-bottom: 20px;
  *zoom: 1;
  border-bottom: 1px solid #F1F1F1;
  padding-bottom: 10px;
}
.dashboard .charts h2:before,
.dashboard .charts h2:after {
  content: "";
  display: table;
}
.dashboard .charts h2:after {
  clear: both;
}
.dashboard .charts h2:after {
  display: none;
}
.dashboard .charts h2 span {
  margin-left: 10px;
  color: #CCC;
  font-size: 13px;
  font-size: 1rem;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.dashboard .charts a {
  display: block;
  line-height: 1;
  vertical-align: middle;
  float: right;
  border-radius: 5px;
  padding: 10px;
  font-size: 12px;
  font-size: 0.9230769230769231rem;
  background: #EEE;
  cursor: pointer;
}
.dashboard .charts a.active {
  background: #038779;
  color: #FFF;
}
.dashboard .charts .carousel {
  padding: 0;
}
.dashboard .charts .column {
  width: 58%;
}
.dashboard .charts .column:nth-child(odd) {
  width: 40%;
}
@media all and (min-width: 1001px) and (max-width: 1179px) {
  .dashboard .charts .column:nth-child(odd) {
    width: 100%;
  }
}
@media all and (min-width: 1001px) and (max-width: 1179px) {
  .dashboard .charts .column {
    width: 100%;
  }
}
.dashboard .charts .column.left {
  float: left;
}
.dashboard .charts .column.right {
  float: right;
}
@media all and (max-width: 1000px) {
  .dashboard .charts .column {
    width: 100%;
    display: none;
  }
}
.dashboard .charts .pointsGroup {
  display: none;
}
.dashboard .charts .mapWrapper {
  margin: 0 auto;
  padding: 40px 0;
}
@media all and (min-width: 1001px) and (max-width: 1179px) {
  .dashboard .charts .mapWrapper {
    text-align: center;
  }
}
.dashboard .charts .mapGraph {
  margin: 4px auto;
  width: auto;
  position: relative;
}
@media all and (min-width: 1001px) and (max-width: 1179px) {
  .dashboard .charts .mapGraph {
    height: 440px;
    width: 400px;
  }
}
.dashboard .charts .mapGraph .svgContainer {
  width: 100%;
  max-width: 600px;
  position: relative;
  height: 0;
  padding-top: 100%;
}
@media all and (min-width: 1001px) and (max-width: 1179px) {
  .dashboard .charts .mapGraph .svgContainer {
    height: 440px;
    margin: 0 auto;
    width: 100%;
  }
}
.dashboard .charts .mapGraph svg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  max-height: 100%;
}
.dashboard .charts .mapGraph .region {
  -webkit-transition: all ease-in-out 300ms;
  -moz-transition: all ease-in-out 300ms;
  -ms-transition: all ease-in-out 300ms;
  -o-transition: all ease-in-out 300ms;
  transition: all ease-in-out 300ms;
}
.dashboard .charts .mapGraph .points .point {
  position: absolute;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  background: #038779;
  color: #FFF;
  font-size: 14px;
  font-size: 1.0769230769230769rem;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  border-radius: 50%;
  display: none;
  z-index: 2;
}
.dashboard .charts .mapGraph .points .negative {
  background: #FF685E;
}
.dashboard .charts .mapGraph .points .scotland {
  left: 55%;
  top: 25%;
}
.dashboard .charts .mapGraph .points .ireland {
  left: 20%;
  top: 58%;
}
.dashboard .charts .mapGraph .points .northernIreland {
  left: 29%;
  top: 40%;
}
.dashboard .charts .mapGraph .points .northWest {
  left: 56%;
  top: 49%;
}
.dashboard .charts .mapGraph .points .northEast {
  left: 68%;
  top: 38%;
}
.dashboard .charts .mapGraph .points .yorkshire {
  left: 71%;
  top: 49%;
}
.dashboard .charts .mapGraph .points .eastMidlands {
  left: 74%;
  top: 61%;
}
.dashboard .charts .mapGraph .points .westMidlands {
  left: 63%;
  top: 66%;
}
.dashboard .charts .mapGraph .points .wales {
  left: 52%;
  top: 68%;
}
.dashboard .charts .mapGraph .points .eastOfEngland {
  left: 87%;
  top: 67%;
}
.dashboard .charts .mapGraph .points .southEast {
  left: 73%;
  top: 85%;
}
.dashboard .charts .mapGraph .points .london {
  left: 79%;
  top: 77%;
}
.dashboard .charts .mapGraph .points .southWest {
  left: 55%;
  top: 84%;
}
.dashboard .charts .chartWrap {
  float: left;
  position: relative;
  width: 48%;
  margin-bottom: 20px;
}
.dashboard .charts .chartWrap.full {
  width: 100%;
}
.dashboard .charts .chartWrap.full .chart {
  width: 100%;
}
.dashboard .charts .chartWrap.full .chart ul {
  position: absolute;
  width: 45%;
  top: 60px;
  right: 0;
  background: #FFF;
}
.dashboard .charts .chartWrap.full .chart ul li {
  display: block;
}
.dashboard .charts .chartWrap .canvasWrap {
  float: left;
  width: 49%;
}
@media all and (max-width: 1000px) {
  .dashboard .charts .chartWrap {
    width: 100%;
  }
}
.dashboard .charts .chartWrap .chart {
  width: 100%;
}
.dashboard .charts .chartWrap .chart.active {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
}
.dashboard .charts .chartWrap.left {
  float: left;
  clear: both;
}
.dashboard .charts .chartWrap.right {
  float: right;
}
.dashboard .charts .chartWrap .toggleRooms,
.dashboard .charts .chartWrap .toggleHotels {
  cursor: pointer;
}
.dashboard .charts .chartWrap a {
  margin-left: 10px;
}
.dashboard .charts .chart {
  background: #FFF;
  float: left;
  position: relative;
}
.dashboard .charts .chart ul {
  display: block;
  width: 100%;
  margin: 10px 0;
  padding: 5px;
  background: #F9F9F9;
}
.dashboard .charts .chart ul li {
  line-height: 15px;
  padding: 3px 0;
  font-size: 14px;
  font-size: 1.0769230769230769rem;
  display: inline-block;
  min-width: 100px;
  padding-right: 10px;
}
.dashboard .charts .chart ul span {
  display: inline-block;
  width: 11px;
  height: 11px;
  border-radius: 2px;
  border: 1px solid #DDD;
  vertical-align: middle;
  margin-right: 10px;
}
.dashboard .charts .chart ul span.percent {
  float: right;
  display: block;
  border: 0;
  width: auto;
}
.dashboard .charts .chart.leftLegend ul {
  left: 10px;
  right: auto;
}
.dashboard .charts .chart.full {
  width: 100%;
}
@media all and (min-width: 1001px) and (max-width: 1179px) {
  .dashboard .charts .chart.full {
    width: 100%;
    text-align: center;
  }
}
.dashboard .charts .chart.small {
  width: 48%;
  margin-bottom: 20px;
}
@media all and (max-width: 1000px) {
  .dashboard .charts .chart.small {
    width: 100%;
  }
}
.dashboard .charts .chart.small.left {
  float: left;
}
.dashboard .charts .chart.small.right {
  float: right;
}
.dashboard .charts .chart canvas {
  width: 100% !important;
  padding: 20px;
  height: 300px;
  clear: both;
  background: #F9F9F9;
}
.dashboard .charts .slick-dots {
  margin-top: 10px;
}
.dashboard .sidebar {
  width: 22%;
  float: right;
}
.dashboard .guides {
  *zoom: 1;
  margin: 20px 0 40px;
}
.dashboard .guides:before,
.dashboard .guides:after {
  content: "";
  display: table;
}
.dashboard .guides:after {
  clear: both;
}
.dashboard .guides.right {
  margin: 20px 0;
}
.dashboard .guides.right ul {
  width: 100%;
}
@media all and (max-width: 640px) {
  .dashboard .guides {
    margin: 10px 0;
  }
}
.dashboard .guides ul {
  width: 80%;
  margin: 0 auto;
}
@media all and (max-width: 1000px) {
  .dashboard .guides ul {
    width: 100%;
  }
}
@media all and (max-width: 640px) {
  .dashboard .guides ul {
    width: 100%;
  }
}
.dashboard .guides li {
  width: 32%;
  margin: 10px 2% 10px 0;
  float: left;
}
.dashboard .guides li:nth-child(3n) {
  margin-right: 0;
}
@media all and (max-width: 1000px) {
  .dashboard .guides li {
    width: 48%;
  }
  .dashboard .guides li:nth-child(3n) {
    margin-right: 2%;
  }
  .dashboard .guides li:nth-child(2n) {
    margin-right: 0;
  }
}
@media all and (max-width: 640px) {
  .dashboard .guides li {
    width: 100%;
    margin: 10px 0;
  }
}
.dashboard .guides li a {
  display: block;
  border: 1px solid #DDD;
  border-radius: 5px;
  padding: 50px 10px;
  text-align: center;
  font-size: 25px;
  font-size: 1.9230769230769231rem;
  background: #F1F1F1;
  color: #666;
  -webkit-transition: all ease-in-out 300ms;
  -moz-transition: all ease-in-out 300ms;
  -ms-transition: all ease-in-out 300ms;
  -o-transition: all ease-in-out 300ms;
  transition: all ease-in-out 300ms;
}
@media all and (max-width: 1180px) {
  .dashboard .guides li a {
    font-size: 20px;
    font-size: 1.5384615384615385rem;
    padding: 20px 10px;
  }
}
.dashboard .guides li a:hover {
  background: #038779;
  color: #FFF;
}
.dashboard .guides li a i {
  font-size: 45px;
  font-size: 3.4615384615384617rem;
  margin: 0 auto;
  margin-bottom: 10px;
  display: block;
}
.dashboard .newsWrap {
  width: 78%;
  margin-right: 2%;
  float: left;
  padding: 0;
}
@media all and (min-width: 1001px) and (max-width: 1179px) {
  .dashboard .newsWrap {
    width: 100%;
    margin-right: 0;
  }
}
@media all and (max-width: 1000px) {
  .dashboard .newsWrap {
    width: 100%;
    margin-right: 0;
  }
}
.dashboard .newsWrap #newsBox {
  -webkit-transition: opacity 300ms ease-in-out;
  -moz-transition: opacity 300ms ease-in-out;
  -ms-transition: opacity 300ms ease-in-out;
  -o-transition: opacity 300ms ease-in-out;
  transition: opacity 300ms ease-in-out;
  opacity: 0;
}
.dashboard .newsWrap .articlesWrap {
  position: relative;
}
.dashboard .newsWrap h2 {
  float: left;
}
.dashboard .newsWrap .loading {
  padding: 50px 0;
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
  font-size: 16px;
  font-size: 1.2307692307692308rem;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  color: #666;
}
.dashboard .newsWrap .loading img {
  margin: 10px auto;
  display: block;
}
.dashboard .newsWrap .empty {
  padding: 50px 0;
  text-align: center;
  font-size: 18px;
  font-size: 1.3846153846153846rem;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.dashboard .newsWrap .articles {
  *zoom: 1;
  border-right: 1px solid #EEE;
  padding-right: 20px;
  float: left;
  width: 100%;
}
.dashboard .newsWrap .articles:before,
.dashboard .newsWrap .articles:after {
  content: "";
  display: table;
}
.dashboard .newsWrap .articles:after {
  clear: both;
}
@media all and (min-width: 1001px) and (max-width: 1179px) {
  .dashboard .newsWrap .articles {
    border: 0;
    padding: 0;
  }
}
@media all and (max-width: 1000px) {
  .dashboard .newsWrap .articles {
    border: 0;
    padding: 0;
  }
}
.dashboard .newsWrap .articles .column {
  width: 100%;
  float: left;
}
.dashboard .newsWrap .box {
  width: 32%;
  margin: 0 2% 20px 0;
  *zoom: 1;
}
.dashboard .newsWrap .box:before,
.dashboard .newsWrap .box:after {
  content: "";
  display: table;
}
.dashboard .newsWrap .box:after {
  clear: both;
}
@media all and (max-width: 1000px) {
  .dashboard .newsWrap .box {
    margin: 0 0 10px 0;
    width: 100%;
  }
  .dashboard .newsWrap .box .image {
    bottom: 0;
    display: block;
  }
}
.dashboard .newsWrap .box:nth-child(3n) {
  margin-right: 0;
}
.dashboard .newsWrap .box:nth-child(4n) {
  clear: none;
}
.dashboard .newsWrap .box h5 {
  margin-bottom: 0;
}
.dashboard .newsWrap .box .overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 5%, rgba(0, 0, 0, 0.47) 58%, rgba(0, 0, 0, 0.85) 100%);
  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 5%, rgba(0, 0, 0, 0.47) 58%, rgba(0, 0, 0, 0.85) 100%);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 5%, rgba(0, 0, 0, 0.47) 58%, rgba(0, 0, 0, 0.85) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#d9000000', GradientType=0);
  z-index: 5;
}
@media all and (max-width: 1000px) {
  .dashboard .newsWrap .box .overlay {
    display: none;
  }
}
.dashboard .newsWrap .box .caption {
  background: transparent;
  width: auto;
  position: absolute;
  z-index: 10;
  width: 100%;
  left: 0;
  bottom: 0;
  right: 0;
}
@media all and (max-width: 1000px) {
  .dashboard .newsWrap .box .caption {
    width: 70%;
    float: right;
    position: relative;
    top: 0;
    padding-left: 10px;
  }
}
.dashboard .newsWrap .box .date {
  line-height: 18px;
  margin-bottom: 2px;
  font-size: 12px;
  font-size: 0.9230769230769231rem;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.dashboard .newsWrap .box .date i {
  margin-right: 3px;
}
.dashboard .newsWrap ul {
  margin: 31px 0;
  text-align: center;
  float: right;
}
@media all and (max-width: 1000px) {
  .dashboard .newsWrap ul {
    clear: both;
    margin: 30px auto;
    float: none;
  }
}
.dashboard .newsWrap ul li {
  display: inline-block;
  margin: 0 0 0 10px;
}
@media all and (max-width: 1000px) {
  .dashboard .newsWrap ul li {
    margin: 0 5px 10px 5px;
  }
}
.dashboard .newsWrap ul li a {
  padding: 5px 15px;
  background: #EEE;
  color: #666;
  font-size: 14px;
  font-size: 1.0769230769230769rem;
  display: block;
  -webkit-transition: all ease-out 300ms;
  -moz-transition: all ease-out 300ms;
  -ms-transition: all ease-out 300ms;
  -o-transition: all ease-out 300ms;
  transition: all ease-out 300ms;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.dashboard .newsWrap ul li.active a,
.dashboard .newsWrap ul li:hover a {
  background: #038779;
  color: #FFF;
}
.dashboard .tags .tag {
  display: block;
  line-height: 1;
  vertical-align: middle;
  float: left;
  clear: none;
  margin: 0 10px 10px 0;
  border-radius: 5px;
  padding: 10px;
  font-size: 12px;
  font-size: 0.9230769230769231rem;
  border: 1px solid #EEE;
  background: #ffffff;
  background: -moz-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
  background: -webkit-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
  background: linear-gradient(to bottom, #ffffff 0%, #e5e5e5 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e5e5e5', GradientType=0);
}
.dashboard .new {
  margin-bottom: 20px;
  width: 20%;
  float: left;
  padding-bottom: 20px;
  border-bottom: 1px solid #EEE;
}
@media all and (min-width: 1001px) and (max-width: 1179px) {
  .dashboard .new {
    width: 49%;
    margin-right: 2%;
    margin-top: 20px;
    border-bottom: 0;
  }
}
@media all and (max-width: 1000px) {
  .dashboard .new {
    width: 100%;
    margin-right: 0;
  }
}
.dashboard .new ul {
  position: relative;
}
.dashboard .new li {
  position: relative;
  *zoom: 1;
  background: #F1F1F1;
  margin-bottom: 2px;
  padding: 10px;
}
.dashboard .new li:before,
.dashboard .new li:after {
  content: "";
  display: table;
}
.dashboard .new li:after {
  clear: both;
}
.dashboard .new li h4 {
  display: block;
  width: 100%;
  font-size: 18px;
  font-size: 1.3846153846153846rem;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.dashboard .new li a {
  display: block;
  float: left;
  font-size: 14px;
  font-size: 1.0769230769230769rem;
  width: 50%;
}
.dashboard .new li a i {
  color: #038779;
  margin-right: 5px;
}
.dashboard .new small {
  text-align: left;
  display: block;
  padding: 0 0 15px 0;
}
.dashboard .table {
  display: none;
}
@media all and (max-width: 1000px) {
  .dashboard .table {
    display: block;
  }
  .dashboard .table h4 {
    float: left;
    line-height: 37px;
  }
  .dashboard .table .location {
    float: right;
    background: #038779;
    color: #FFF;
    text-align: center;
    font-size: 14px;
    font-size: 1.0769230769230769rem;
    width: auto;
  }
  .dashboard .table table {
    width: 100%;
  }
  .dashboard .table table:first-child {
    margin-bottom: 20px;
  }
  .dashboard .table table tr {
    background: #E7F2E7;
  }
  .dashboard .table table tr:nth-child(odd) {
    background: #A9C4A9;
  }
  .dashboard .table table tr:first-child {
    background: #415141;
    color: #FFF;
  }
  .dashboard .table table tr td:first-child {
    background: rgba(0, 0, 0, 0.05);
    font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
    color: #232323;
    width: 120px;
  }
  .dashboard .table table tr th {
    font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  }
}
.dashboard .events {
  width: 20%;
  float: left;
}
@media all and (min-width: 1001px) and (max-width: 1179px) {
  .dashboard .events {
    width: 49%;
    margin-top: 20px;
  }
}
@media all and (max-width: 1000px) {
  .dashboard .events {
    width: 100%;
    float: none;
  }
}
.dashboard .events h1 {
  margin-bottom: 15px;
}
.dashboard .events h2 span {
  display: none;
}
@media all and (max-width: 640px) {
  .dashboard .events h2 span {
    display: inline-block;
    margin-right: 5px;
  }
}
.dashboard .events h3 {
  display: none;
  padding: 10px;
  background: #038779;
  color: #FFF;
  font-size: 20px;
  font-size: 1.5384615384615385rem;
  position: relative;
  margin-bottom: 0px;
}
.dashboard .events h3:after {
  top: 100%;
  left: 16%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  margin: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(136, 183, 213, 0);
  border-top-color: #038779;
  border-width: 10px;
  margin-left: -10px;
  background: transparent;
  border-radius: 0;
}
.dashboard .events li {
  display: block;
  margin: 0;
  float: none;
  background: #F1F1F1;
  padding: 20px;
  *zoom: 1;
  border-top: 1px solid #DDD;
}
.dashboard .events li:before,
.dashboard .events li:after {
  content: "";
  display: table;
}
.dashboard .events li:after {
  clear: both;
}
@media all and (max-width: 1000px) {
  .dashboard .events li {
    padding: 10px;
  }
}
.dashboard .events li:nth-child(odd) {
  background: #F9F9F9;
}
.dashboard .events li i {
  width: 17px;
  text-align: center;
  position: absolute;
  left: 0;
  top: 0;
  height: 20px;
  line-height: 19px;
}
@media all and (max-width: 1000px) {
  .dashboard .events li i {
    width: 20px;
  }
}
.dashboard .events li:first-child {
  border-top: 0;
}
.dashboard .events li div,
.dashboard .events li p,
.dashboard .events li a {
  position: relative;
  padding: 0 0 0 22px;
  line-height: 20px;
  font-size: 14px;
  font-size: 1.0769230769230769rem;
}
@media all and (max-width: 1000px) {
  .dashboard .events li div,
  .dashboard .events li p,
  .dashboard .events li a {
    margin: 3px 0;
  }
}
.dashboard .events li h4 {
  font-size: 18px;
  font-size: 1.3846153846153846rem;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  margin: 0 0 10px 0;
  line-height: 22px;
}
.dashboard .events li p {
  font-size: 14px;
  font-size: 1.0769230769230769rem;
  margin: 0;
}
.dashboard .events li p i {
  color: #038779;
}
.dashboard .events li .date {
  display: block;
}
.dashboard .events li .date i {
  color: #038779;
}
.dashboard .events li a {
  font-size: 14px;
  font-size: 1.0769230769230769rem;
  display: block;
}
.dashboard .events li a i {
  color: #038779;
}
.dashboard .events .buttonAlt {
  margin-top: 20px;
  width: 100%;
  padding: 10px;
}
.dashboard .help {
  /*
        .faq {

            .clearfix();
            width: 80%;
            margin: 0 auto;
            margin-bottom: 40px;

            h4 {
                .rems(27);
                margin-bottom: 20px;
                cursor: pointer;
            }

            li {

                padding: 5px 10px;
                width: 50%;
                float: left;

                a {
                    .rems(18);
                }
            }
        }
*/
}
.dashboard .help .sidebar h4,
.dashboard .help .related h4 {
  font-size: 18px;
  font-size: 1.3846153846153846rem;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.dashboard .help .sidebar {
  float: left;
  width: 18%;
  margin-right: 2%;
  padding: 0;
  border-right: 1px solid #EEE;
}
.dashboard .help .sidebar h4 {
  padding: 0 10px;
}
@media all and (max-width: 1000px) {
  .dashboard .help .sidebar {
    width: 100%;
    margin: 0 0 20px 0;
    float: none;
    border: 1px solid #EEE;
    border-top: 0;
  }
  .dashboard .help .sidebar ul {
    display: none;
    background: #FFF;
    padding: 5px;
  }
  .dashboard .help .sidebar ul li {
    padding: 0;
  }
  .dashboard .help .sidebar ul a {
    padding: 8px 0 8px 30px;
    display: block;
    width: 100%;
  }
  .dashboard .help .sidebar h4 {
    background: #038779;
    color: #FFF;
    padding: 10px;
    position: relative;
    cursor: pointer;
    margin: 0;
  }
  .dashboard .help .sidebar h4:after {
    display: block;
    content: '\f0d7';
    font-family: 'FontAwesome';
    position: absolute;
    right: 10px;
    top: 10px;
  }
  .dashboard .help .sidebar h4.open:after {
    content: '\f0d8';
  }
}
.dashboard .help .sidebar li {
  padding: 5px 0 5px 30px;
  position: relative;
}
.dashboard .help .sidebar li i {
  width: 30px;
  position: absolute;
  top: 10px;
  left: 0;
  text-align: center;
}
.dashboard .help #helpVideo {
  margin-top: 10px;
  width: 100%;
  max-width: 710px;
  height: auto;
}
.dashboard .help .related {
  float: left;
  width: 18%;
  margin-left: 2%;
}
@media all and (max-width: 1000px) {
  .dashboard .help .related {
    width: 100%;
    margin: 0 0 20px 0;
    float: none;
  }
}
.dashboard .help .related h4 {
  border-bottom: 1px solid #EEE;
  padding-bottom: 10px;
}
.dashboard .help .related li {
  padding: 5px 0;
}
.dashboard .help .related li a {
  color: #677F67;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.dashboard .help .related li a:hover {
  color: #038779;
}
.dashboard .help .article {
  float: left;
  width: 58%;
  padding: 20px;
  background: #F9F9F9;
  font-size: 16px;
  font-size: 1.2307692307692308rem;
  line-height: 1.8;
}
.dashboard .help .article.full {
  width: 80%;
}
@media all and (max-width: 1000px) {
  .dashboard .help .article {
    width: 100%;
    margin: 0 0 20px 0;
    float: none;
    border: 0;
    padding: 20px;
  }
  .dashboard .help .article.full {
    width: 100%;
  }
}
.dashboard .help .article .buttonAlt {
  padding: 6px 25px;
}
.dashboard .help .article h2 {
  font-size: 29.999999999999996px;
  font-size: 2.3076923076923075rem;
  line-height: 44px;
  margin-bottom: 20px;
}
@media all and (max-width: 1000px) {
  .dashboard .help .article h2 {
    display: none;
  }
}
.dashboard .help .article h4 {
  font-size: 25px;
  font-size: 1.9230769230769231rem;
  line-height: 1.3;
  margin-bottom: 20px;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.dashboard .help .article .left.padded {
  padding-right: 20px;
}
.dashboard .help .article .right.padded {
  padding-left: 20px;
}
.dashboard .help .article .helpSection {
  margin: 0 0 20px 0;
  background: #FFF;
  padding: 20px;
}
.dashboard .help .article .helpSection h2 {
  margin: 0 0 5px 0;
}
.dashboard .help .article .helpSection h3 {
  text-align: left;
}
.dashboard .help .article .helpSection h3:after {
  margin: 10px 0;
}
.dashboard .help .article .helpSection > h4 {
  position: relative;
  margin-bottom: 0;
  cursor: pointer;
  font-size: 20px;
  font-size: 1.5384615384615385rem;
  padding-right: 25px;
}
.dashboard .help .article .helpSection > h4:after {
  display: block;
  font-family: 'FontAwesome';
  content: '\f067';
  position: absolute;
  top: 5px;
  right: 10px;
  color: #038779;
  font-size: 16px;
  font-size: 1.2307692307692308rem;
}
.dashboard .help .article .helpSection > h4.open:after {
  content: '\f068';
}
.dashboard .help .article .helpSection h5 {
  font-size: 18px;
  font-size: 1.3846153846153846rem;
  color: #038779;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  margin: 20px 0;
}
.dashboard .help .article .helpSection .helpSection {
  padding: 0;
}
.dashboard .help .article .helpSection .helpSection > h4 {
  background: #EEE;
  padding: 10px;
  -webkit-transition: background 300ms ease-in-out;
  -moz-transition: background 300ms ease-in-out;
  -ms-transition: background 300ms ease-in-out;
  -o-transition: background 300ms ease-in-out;
  transition: background 300ms ease-in-out;
}
.dashboard .help .article .helpSection .helpSection > h4:after {
  top: 13px;
  -webkit-transition: background 300ms ease-in-out;
  -moz-transition: background 300ms ease-in-out;
  -ms-transition: background 300ms ease-in-out;
  -o-transition: background 300ms ease-in-out;
  transition: background 300ms ease-in-out;
}
.dashboard .help .article .helpSection .helpSection > h4.open {
  background: #038779;
  color: #FFF;
}
.dashboard .help .article .helpSection .helpSection > h4.open:after {
  color: #FFF;
}
.dashboard .help .article .helpSection .expand {
  display: none;
  margin-top: 20px;
}
.dashboard .help .article .helpSection.ignore > h4:after {
  display: none;
}
.dashboard .help .article .helpSection.ignore ul {
  display: block;
}
.dashboard .help .article .helpSection table {
  margin: 20px 0;
}
.dashboard .help .article .helpSection table td {
  border: 1px solid #EEE;
  padding: 5px;
  font-size: 14.999999999999998px;
  font-size: 1.1538461538461537rem;
}
@media all and (max-width: 640px) {
  .dashboard .help .article .helpSection table td {
    display: block;
    width: 100%;
    border-bottom: 0;
  }
}
.dashboard .help .article .helpSection table td:first-child {
  vertical-align: middle;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  padding: 5px 20px;
}
@media all and (max-width: 640px) {
  .dashboard .help .article .helpSection table td:first-child {
    padding: 5px;
    border-bottom: 0;
  }
}
.dashboard .help .article .helpSection table td:first-child img {
  max-width: 80px;
}
@media all and (max-width: 640px) {
  .dashboard .help .article .helpSection table {
    border-bottom: 1px solid #eee;
  }
}
.dashboard .help .article ol {
  margin: 0;
  padding: 0 0 0 20px;
}
.dashboard .help .videoSection {
  float: left;
  width: 50%;
  padding-right: 2%;
  position: relative;
  border-right: 1px solid #EEE;
}
.dashboard .help .videoSection .video {
  height: 400px !important;
  border: 5px solid #EEE;
  width: 100% !important;
  overflow: hidden;
  position: relative;
}
.dashboard .help h1 {
  margin-top: 40px;
  text-align: center;
  line-height: 1;
}
@media all and (max-width: 1000px) {
  .dashboard .help h1 {
    font-size: 25px;
    font-size: 1.9230769230769231rem;
  }
}
.dashboard .help h3 {
  margin-bottom: 40px;
  text-align: center;
  line-height: 1;
}
.dashboard .help h3:after {
  margin: 10px auto;
}
@media all and (max-width: 640px) {
  .dashboard .help h3 {
    margin-bottom: 10px;
  }
}
.dashboard .help .faq h4 {
  cursor: pointer;
  font-size: 18px;
  font-size: 1.3846153846153846rem;
  margin: 15px 0;
  padding: 10px 40px 10px 0px;
  border-bottom: 1px solid #EEE;
  position: relative;
  -webkit-transition: all ease-in-out 300ms;
  -moz-transition: all ease-in-out 300ms;
  -ms-transition: all ease-in-out 300ms;
  -o-transition: all ease-in-out 300ms;
  transition: all ease-in-out 300ms;
  letter-spacing: 0;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  color: #038779;
}
.dashboard .help .faq h4:after {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 10px;
  font-family: 'FontAwesome';
  content: '\f067';
  font-size: 10px;
  font-size: 0.7692307692307693rem;
}
.dashboard .help .faq h4.open:after {
  content: '\f068';
}
.dashboard .help .faq .answer {
  display: none;
  font-size: 14.999999999999998px;
  font-size: 1.1538461538461537rem;
  padding: 10px 0;
}
.dashboard .help .articleList li {
  background: #FFF;
  margin-bottom: 10px;
  position: relative;
}
.dashboard .help .articleList li a {
  padding: 10px;
  display: block;
}
.dashboard .help .articleList li:after {
  display: block;
  content: '\f0da';
  font-family: 'FontAwesome';
  position: absolute;
  top: 10px;
  right: 10px;
  vertical-align: middle;
}
.dashboard .admin {
  float: right;
  width: 49%;
}
@media all and (max-width: 1000px) {
  .dashboard .admin {
    width: 100%;
    margin-right: 0;
  }
}
.dashboard .access {
  width: 49%;
  float: left;
  margin-right: 2%;
  *zoom: 1;
}
.dashboard .access:before,
.dashboard .access:after {
  content: "";
  display: table;
}
.dashboard .access:after {
  clear: both;
}
@media all and (max-width: 1000px) {
  .dashboard .access {
    width: 100%;
    margin-right: 0;
  }
}
.dashboard .access form {
  *zoom: 1;
  margin-bottom: 20px;
}
.dashboard .access form:before,
.dashboard .access form:after {
  content: "";
  display: table;
}
.dashboard .access form:after {
  clear: both;
}
.dashboard .access h3:after {
  display: none;
}
.dashboard .access .products {
  width: 100%;
  background: #FFF;
  padding: 0;
}
.dashboard .access .expiryDate {
  padding: 10px 20px;
  border-radius: 5px;
  background: #F1F1F1;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  margin: 20px 0;
  *zoom: 1;
}
.dashboard .access .expiryDate:before,
.dashboard .access .expiryDate:after {
  content: "";
  display: table;
}
.dashboard .access .expiryDate:after {
  clear: both;
}
.dashboard .access .expiryDate strong {
  color: #038779;
}
.dashboard .access .expiryDate strong.orange {
  color: #e3a42a;
}
.dashboard .access .expiryDate strong.red {
  color: #b94a48;
}
.dashboard .access .expiryDate i {
  margin-right: 10px;
}
.dashboard .access .expiryDate a {
  display: block;
  float: right;
  color: #FFF;
  background: #038779;
  border: 0;
}
.dashboard .access .expiryDate a.orange {
  background: #e3a42a;
}
.dashboard .access .expiryDate a.red {
  background: #b94a48;
}
.dashboard .forms {
  width: 49%;
  float: left;
  *zoom: 1;
}
.dashboard .forms:before,
.dashboard .forms:after {
  content: "";
  display: table;
}
.dashboard .forms:after {
  clear: both;
}
@media all and (max-width: 1000px) {
  .dashboard .forms {
    width: 100%;
    margin-right: 0;
    margin-top: 20px;
  }
}
.dashboard .forms.right {
  float: right;
}
.dashboard .forms form {
  width: 100%;
  *zoom: 1;
}
.dashboard .forms form:before,
.dashboard .forms form:after {
  content: "";
  display: table;
}
.dashboard .forms form:after {
  clear: both;
}
.dashboard .forms form:first-child {
  margin-bottom: 20px;
}
.dashboard .forms form fieldset {
  width: 100%;
}
#calendar {
  width: 100%;
  float: left;
  clear: right;
}
#calendar td.fc-other-month.fc-day-number {
  color: #ffffff;
  font-size: 0;
}
.messageList img {
  margin: 20px auto;
  display: block;
}
.messageList .image {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #415141;
  display: block;
  float: left;
  line-height: 50px;
  text-align: center;
  margin-right: 20px;
  margin-top: 10px;
}
.messageList .image i {
  font-size: 25px;
  font-size: 1.9230769230769231rem;
  color: #FFF;
}
.messageList h1 {
  margin-bottom: 20px;
}
.messageList .delete {
  position: absolute;
  top: -10px;
  right: -10px;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #c62f00;
  text-align: center;
  line-height: 25px;
  cursor: pointer;
  font-size: 14px;
  font-size: 1.0769230769230769rem;
}
.messageList .delete i {
  color: #FFF;
}
.messageList .read {
  text-align: right;
  color: #999;
  padding: 10px 10px 0 0;
  font-size: 14px;
  font-size: 1.0769230769230769rem;
  clear: both;
}
.messageList h3:after {
  display: none;
}
.messageList li {
  padding: 0 0 20px 0;
  margin-bottom: 20px;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  *zoom: 1;
  position: relative;
  border-bottom: 1px solid #EEE;
}
.messageList li:before,
.messageList li:after {
  content: "";
  display: table;
}
.messageList li:after {
  clear: both;
}
.messageList li .user {
  padding: 5px 0;
  margin-bottom: 5px;
  color: #999;
}
.messageList li .user strong {
  color: #666;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.messageList li .message {
  width: 100%;
  background: #F9F9F9;
  color: #333;
  position: relative;
  padding: 20px;
  border-radius: 2px;
}
.messageList li .message:after {
  left: 20px;
  bottom: 100%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(103, 127, 100, 0);
  border-bottom-color: #F9F9F9;
  border-width: 6px;
  margin-top: -6px;
}
.messageList li small {
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-size: 1.0769230769230769rem;
}
.messageList li small i {
  margin-right: 5px;
}
.manageCharts h1 {
  margin-bottom: 20px;
}
.manageCharts label {
  padding-left: 0;
  line-height: 35px;
}
.manageCharts .buttonAlt {
  float: right;
  margin: 10px 8px 10px 10px;
}
.manageCharts .row {
  padding: 5px;
}
.manageCharts .row:nth-child(odd) {
  background: #F1F1F1;
}
.lostPage {
  text-align: center;
  padding: 50px 40px;
}
.lostPage img {
  margin: 40px auto;
}
.lostPage h1 {
  font-size: 22px;
  font-size: 1.6923076923076923rem;
  margin-bottom: 20px;
}
.downloads.right {
  width: 50%;
}
@media all and (max-width: 1000px) {
  .downloads.right {
    width: 100%;
  }
}
.downloads .area {
  margin-bottom: 20px;
}
@media all and (max-width: 1000px) {
  .downloads .area {
    margin-top: 20px;
  }
}
.downloads .wrap {
  display: none;
  padding: 10px 0;
}
.downloads h4 {
  color: #038779;
  padding: 5px 0;
  border-bottom: 1px solid #EEE;
  font-size: 18px;
  font-size: 1.3846153846153846rem;
  position: relative;
  cursor: pointer;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.downloads h4:after {
  display: block;
  float: right;
  content: '\f067';
  font-family: 'FontAwesome';
  font-size: 13px;
  font-size: 1rem;
  background: transparent;
  position: absolute;
  top: 10px;
  right: 10px;
  color: #038779;
}
.downloads h4.open:after {
  content: '\f068';
}
.downloads table {
  margin-bottom: 20px;
}
.downloads table th {
  background: #038779;
  color: #FFF;
  border: 1px solid #038779;
  font-family: 'TradeGothicNextW01-Cond', Helvetica, Arial, sans-serif;
}
.downloads table td {
  border: 1px solid #038779;
}
.downloads table tr:first-child th {
  background: #038779;
  border: 1px solid #038779;
}
.downloads table tr:nth-child(odd) {
  background: #E7F2E7;
}
.dashboard .statistics {
  display: none !important;
}
.marketDropdown .chosen-container-single,
.marketDropdown .chosen-container-single.chosen-with-drop {
  border: 1px solid #DDD;
  border-radius: 5px;
}
.marketDropdown .chosen-container-single#database_market_locations_chosen,
.marketDropdown .chosen-container-single.chosen-with-drop#database_market_locations_chosen {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.marketDropdown .chosen-container-single#database_market_locations_2_chosen,
.marketDropdown .chosen-container-single.chosen-with-drop#database_market_locations_2_chosen {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.marketDropdown .chosen-container-single .chosen-results li.grouping_option,
.marketDropdown .chosen-container-single.chosen-with-drop .chosen-results li.grouping_option {
  background-color: #038779;
  color: #ffffff;
}
.marketDropdown .chosen-container-multi .chosen-results li.grouping_option {
  background-color: #038779;
}
.marketDropdown .chosen-container-multi .chosen-results li.grouping_option:not(.result-selected) {
  color: #ffffff;
}
.marketDropdown .chosen-container-multi .chosen-results li.grouping_option:not(.result-selected):hover {
  background-color: #04a08f;
}
.marketDropdown .chosen-container-multi .chosen-results li.grouping_option.result-selected {
  background-color: #1f6b63;
}
.marketDropdown .chosen-container-multi .chosen-results li.group-result {
  display: list-item;
  font-weight: bold;
  cursor: default;
  border-bottom: none;
  color: #333;
  padding: 0;
  height: auto;
  margin: 12px 7px;
}
.marketDropdown .chosen-container-multi .chosen-results li.group-option {
  padding-left: 20px;
}
.marketDropdown .chosen-container-multi .chosen-results li.active-result,
.marketDropdown .chosen-container-multi .chosen-results li.result-selected {
  font-weight: bold;
}
.marketDropdown .chosen-container-multi .chosen-results li.group-option.active-result,
.marketDropdown .chosen-container-multi .chosen-results li.group-option.result-selected {
  font-weight: normal;
}
.marketDropdown .selectionsFiltersWrap label {
  width: 30%;
  font-size: 1.4rem;
  padding-top: 8px;
}
.marketDropdown .selectionsFiltersWrap .chosen-container {
  width: 60%;
}
.marketDropdown .selectionsFiltersWrap .remove-button {
  margin-left: 10px;
  padding: 10px;
  cursor: pointer;
}
.marketDropdown .inputWrap {
  margin-bottom: 5px;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2Nzcy9mb250Lmxlc3MiLCIuLi9jc3MvbXRjX3N0eWxlLmxlc3MiLCIuLi9jc3Mvem9vbS5sZXNzIiwiLi4vY3NzL3ZpZGVvLmxlc3MiLCIuLi9jc3Mvc2xpY2subGVzcyIsIi4uL2Nzcy9yZXNwb25zaXZlX3RhYmxlcy5sZXNzIiwiLi4vY3NzL3Jlc2V0Lmxlc3MiLCIuLi9jc3MvbWl4aW5zLmxlc3MiLCIuLi9jc3MvcGVyZmVjdHNjcm9sbC5sZXNzIiwiLi4vY3NzL292ZXJsYXkubGVzcyIsIi4uL2Nzcy9tb2RhbC5sZXNzIiwiLi4vY3NzL21lbnUuc3R5bGUubGVzcyIsIi4uL2Nzcy9tZW51Lmxlc3MiLCIuLi9jc3MvZm9ybS5sZXNzIiwiLi4vY3NzL2RhdGVwaWNrZXIubGVzcyIsIi4uL2Nzcy9jaG9zZW4ubGVzcyIsIi4uL2Nzcy9jYWxlbmRhci5sZXNzIiwiLi4vY3NzL2FuaW1hdGlvbi5sZXNzIiwiLi4vY3NzL2llOC5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztZQUlZO0FDWVo7RUFDSSxhQUFhLCtCQUFiO0VBQ0EsYUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDVko7RUFFSSxrQkFBQTtFQUNBLGNBQUE7O0FBSEosY0FLSTtFQUVJLGNBQUE7RUFDQSwyQkFBQTtFQUNBLHlCQUFBO0VBQ0Esd0JBQUE7RUFDQSxzQkFBQTtFQUNBLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLGdCQUFBO0VBQ0EsU0FBQTtFQUNBLGNBQUE7O0FBbkJSLGNBS0ksTUFnQkk7RUFDSSxjQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7O0FBeEJaLGNBS0ksTUFzQkksUUFFSTtFQUNJLGVBQUE7O0FBOUJoQixjQXFDSTtFQUVJLFdBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0Es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YjtJQUNBLFdVM0NhLGlCVjJDYjs7RVUxQ0Y7RUFBSztFQUFLO0VBQUs7SVZzQ2IsbUJVdEM4QixhVnNDOUI7SUFDQSxnQlV2QzhCLGFWdUM5QjtJQUNBLGVVeEM4QixhVndDOUI7SUFDQSxjVXpDOEIsYVZ5QzlCO0lBQ0EsV1UxQzhCLGFWMEM5Qjs7RVV6Q0k7SVZxQ0osbUJVckNvQixpQlZxQ3BCO0lBQ0EsZ0JVdENvQixpQlZzQ3BCO0lBQ0EsZVV2Q29CLGlCVnVDcEI7SUFDQSxjVXhDb0IsaUJWd0NwQjtJQUNBLFdVekNvQixpQlZ5Q3BCOztFVXhDSTtJVm9DSixtQlVwQ29CLGlCVm9DcEI7SUFDQSxnQlVyQ29CLGlCVnFDcEI7SUFDQSxlVXRDb0IsaUJWc0NwQjtJQUNBLGNVdkNvQixpQlZ1Q3BCO0lBQ0EsV1V4Q29CLGlCVndDcEI7OztBQXNISDtFVWpLQztJVnVDRSxtQlV2Q2EsaUJWdUNiO0lBQ0EsZ0JVeENhLGlCVndDYjtJQUNBLGVVekNhLGlCVnlDYjtJQUNBLGNVMUNhLGlCVjBDYjtJQUNBLFdVM0NhLGlCVjJDYjs7RVUxQ0Y7RUFBSztFQUFLO0VBQUs7SVZzQ2IsbUJVdEM4QixhVnNDOUI7SUFDQSxnQlV2QzhCLGFWdUM5QjtJQUNBLGVVeEM4QixhVndDOUI7SUFDQSxjVXpDOEIsYVZ5QzlCO0lBQ0EsV1UxQzhCLGFWMEM5Qjs7RVV6Q0k7SVZxQ0osbUJVckNvQixpQlZxQ3BCO0lBQ0EsZ0JVdENvQixpQlZzQ3BCO0lBQ0EsZVV2Q29CLGlCVnVDcEI7SUFDQSxjVXhDb0IsaUJWd0NwQjtJQUNBLFdVekNvQixpQlZ5Q3BCOztFVXhDSTtJVm9DSixtQlVwQ29CLGlCVm9DcEI7SUFDQSxnQlVyQ29CLGlCVnFDcEI7SUFDQSxlVXRDb0IsaUJWc0NwQjtJQUNBLGNVdkNvQixpQlZ1Q3BCO0lBQ0EsV1V4Q29CLGlCVndDcEI7OztBQXVISDtFVWxLQztJVnVDRSxtQlV2Q2EsaUJWdUNiO0lBQ0EsZ0JVeENhLGlCVndDYjtJQUNBLGVVekNhLGlCVnlDYjtJQUNBLGNVMUNhLGlCVjBDYjtJQUNBLFdVM0NhLGlCVjJDYjs7RVUxQ0Y7RUFBSztFQUFLO0VBQUs7SVZzQ2IsbUJVdEM4QixhVnNDOUI7SUFDQSxnQlV2QzhCLGFWdUM5QjtJQUNBLGVVeEM4QixhVndDOUI7SUFDQSxjVXpDOEIsYVZ5QzlCO0lBQ0EsV1UxQzhCLGFWMEM5Qjs7RVV6Q0k7SVZxQ0osbUJVckNvQixpQlZxQ3BCO0lBQ0EsZ0JVdENvQixpQlZzQ3BCO0lBQ0EsZVV2Q29CLGlCVnVDcEI7SUFDQSxjVXhDb0IsaUJWd0NwQjtJQUNBLFdVekNvQixpQlZ5Q3BCOztFVXhDSTtJVm9DSixtQlVwQ29CLGlCVm9DcEI7SUFDQSxnQlVyQ29CLGlCVnFDcEI7SUFDQSxlVXRDb0IsaUJWc0NwQjtJQUNBLGNVdkNvQixpQlZ1Q3BCO0lBQ0EsV1V4Q29CLGlCVndDcEI7OztBQXFISDtFVXpKQztJVmdDRSxtQlVoQ2EsUVZnQ2I7SUFDQSxnQlVqQ2EsUVZpQ2I7SUFDQSxlVWxDYSxRVmtDYjtJQUNBLGNVbkNhLFFWbUNiO0lBQ0EsV1VwQ2EsUVZvQ2I7O0VVbkNJO0lWK0JKLG1CVS9CcUIsUVYrQnJCO0lBQ0EsZ0JVaENxQixRVmdDckI7SUFDQSxlVWpDcUIsUVZpQ3JCO0lBQ0EsY1VsQ3FCLFFWa0NyQjtJQUNBLFdVbkNxQixRVm1DckI7OztBQXNISDtFVTFKQztJVmdDRSxtQlVoQ2EsUVZnQ2I7SUFDQSxnQlVqQ2EsUVZpQ2I7SUFDQSxlVWxDYSxRVmtDYjtJQUNBLGNVbkNhLFFWbUNiO0lBQ0EsV1VwQ2EsUVZvQ2I7O0VVbkNJO0lWK0JKLG1CVS9CcUIsUVYrQnJCO0lBQ0EsZ0JVaENxQixRVmdDckI7SUFDQSxlVWpDcUIsUVZpQ3JCO0lBQ0EsY1VsQ3FCLFFWa0NyQjtJQUNBLFdVbkNxQixRVm1DckI7OztBQXVISDtFVTNKQztJVmdDRSxtQlVoQ2EsUVZnQ2I7SUFDQSxnQlVqQ2EsUVZpQ2I7SUFDQSxlVWxDYSxRVmtDYjtJQUNBLGNVbkNhLFFWbUNiO0lBQ0EsV1VwQ2EsUVZvQ2I7O0VVbkNJO0lWK0JKLG1CVS9CcUIsUVYrQnJCO0lB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aUIseUJWakxqQjtJQUNBLGVVZ0xpQix5QlZoTGpCO0lBQ0EsY1UrS2lCLHlCVi9LakI7SUFDQSxXVThLaUIseUJWOUtqQjs7RVUrS1k7SVZuTFosbUJVbUw4Qix5QlZuTDlCO0lBQ0EsZ0JVa0w4Qix5QlZsTDlCO0lBQ0EsZVVpTDhCLHlCVmpMOUI7SUFDQSxjVWdMOEIseUJWaEw5QjtJQUNBLFdVK0s4Qix5QlYvSzlCOzs7QUFzSEg7RVV1REc7SVZqTEEsbUJVaUxnQixlVmpMaEI7SUFDQSxnQlVnTGdCLGVWaExoQjtJQUNBLGVVK0tnQixlVi9LaEI7SUFDQSxjVThLZ0IsZVY5S2hCO0lBQ0EsV1U2S2dCLGVWN0toQjs7RVU4S0E7SVZsTEEsbUJVa0xpQix5QlZsTGpCO0lBQ0EsZ0JVaUxpQix5QlZqTGpCO0lBQ0EsZVVnTGlCLHlCVmhMakI7SUFDQSxjVStLaUIseUJWL0tqQjtJQUNBLFdVOEtpQix5QlY5S2pCOztFVStLWTtJVm5MWixtQlVtTDhCLHlCVm5MOUI7SUFDQSxnQlVrTDhCLHlCVmxMOUI7SUFDQSxlVWlMOEIseUJWakw5QjtJQUNBLGNVZ0w4Qix5QlZoTDlCO0lBQ0EsV1UrSzhCLHlCVi9LOUI7OztBQXVISDtFVXNERztJVmpMQSxtQlVpTGdCLGVWakxoQjtJQUNBLGdCVWdMZ0IsZVZoTGhCO0lBQ0EsZVUrS2dCLGVWL0toQjtJQUNBLGNVOEtnQixlVjlLaEI7SUFDQSxXVTZLZ0IsZVY3S2hCOztFVThLQTtJVmxMQSxtQlVrTGlCLHlCVmxMakI7SUFDQSxnQlVpTGlCLHlCVmpMakI7SUFDQSxlVWdMaUIseUJWaExqQjtJQUNBLGNVK0tpQix5QlYvS2pCO0lBQ0EsV1U4S2lCLHlCVjlLakI7O0VVK0tZO0lWbkxaLG1CVW1MOEIseUJWbkw5QjtJQUNBLGdCVWtMOEIseUJWbEw5QjtJQUNBLGVVaUw4Qix5QlZqTDlCO0lBQ0EsY1VnTDhCLHlCVmhMOUI7SUFDQSxXVStLOEIseUJWL0s5Qjs7O0FVekRKLGdCQWdOSSxVQTRCSTtFQUNJLFVBQUE7RUFDQSxXQUFBOztBVmhFWDtFVW1FRztJVjVMQSxtQlU0TGdCLGVWNUxoQjtJQUNBLGdCVTJMZ0IsZVYzTGhCO0lBQ0EsZVUwTGdCLGVWMUxoQjtJQUNBLGNVeUxnQixlVnpMaEI7SUFDQSxXVXdMZ0IsZVZ4TGhCOztFVXlMQTtJVjdMQSxtQlU2TGlCLHlCVjdMakI7SUFDQSxnQlU0TGlCLHlCVjVMakI7SUFDQSxlVTJMaUIseUJWM0xqQjtJQUNBLGNVMExpQix5QlYxTGpCO0lBQ0EsV1V5TGlCLHlCVnpMakI7O0VVMExZO0lWOUxaLG1CVThMOEIseUJWOUw5QjtJQUNBLGdCVTZMOEIseUJWN0w5QjtJQUNBLGVVNEw4Qix5QlY1TDlCO0lBQ0EsY1UyTDhCLHlCVjNMOUI7SUFDQSxXVTBMOEIseUJWMUw5Qjs7O0FBc0hIO0VVa0VHO0lWNUxBLG1CVTRMZ0IsZVY1TGhCO0lBQ0EsZ0JVMkxnQixlVjNMaEI7SUFDQSxlVTBMZ0IsZVYxTGhCO0lBQ0EsY1V5TGdCLGVWekxoQjtJQUNBLFdVd0xnQixlVnhMaEI7O0VVeUxBO0lWN0xBLG1CVTZMaUIseUJWN0xqQjtJQUNBLGdCVTRMaUIseUJWNUxqQjtJQUNBLGVVMkxpQix5QlYzTGpCO0lBQ0EsY1UwTGlCLHlCVjFMakI7SUFDQSxXVXlMaUIseUJWekxqQjs7RVUwTFk7SVY5TFosbUJVOEw4Qix5QlY5TDlCO0lBQ0EsZ0JVNkw4Qix5QlY3TDlCO0lBQ0EsZVU0TDhCLHlCVjVMOUI7SUFDQSxjVTJMOEIseUJWM0w5QjtJQUNBLFdVMEw4Qix5QlYxTDlCOzs7QUF1SEg7RVVpRUc7SVY1TEEsbUJVNExnQixlVjVMaEI7SUFDQSxnQlUyTGdCLGVWM0xoQjtJQUNBLGVVMExnQixlVjFMaEI7SUFDQSxjVXlMZ0IsZVZ6TGhCO0lBQ0EsV1V3TGdCLGVWeExoQjs7RVV5TEE7SVY3TEEsbUJVNkxpQix5QlY3TGpCO0lBQ0EsZ0JVNExpQix5QlY1TGpCO0lBQ0EsZVUyTGlCLHlCVjNMakI7SUFDQSxjVTBMaUIseUJWMUxqQjtJQUNBLFdVeUxpQix5QlZ6TGpCOztFVTBMWTtJVjlMWixtQlU4TDhCLHlCVjlMOUI7SUFDQSxnQlU2TDhCLHlCVjdMOUI7SUFDQSxlVTRMOEIseUJWNUw5QjtJQUNBLGNVMkw4Qix5QlYzTDlCO0lBQ0EsV1UwTDhCLHlCVjFMOUI7OztBVXpESixnQkFnTkksVUF1Q0k7RUFDSSxVQUFBO0VBQ0EsV0FBQTs7QVYzRVg7RVU4RUc7SVZ2TUEsbUJVdU1nQixlVnZNaEI7SUFDQSxnQlVzTWdCLGVWdE1oQjtJQUNBLGVVcU1nQixlVnJNaEI7SUFDQSxjVW9NZ0IsZVZwTWhCO0lBQ0EsV1VtTWdCLGVWbk1oQjs7RVVvTUE7SVZ4TUEsbUJVd01pQix1QlZ4TWpCO0lBQ0EsZ0JVdU1pQix1QlZ2TWpCO0lBQ0EsZVVzTWlCLHVCVnRNakI7SUFDQSxjVXFNaUIsdUJWck1qQjtJQUNBLFdVb01pQix1QlZwTWpCOztFVXFNWTtJVnpNWixtQlV5TThCLHVCVnpNOUI7SUFDQSxnQlV3TThCLHVCVnhNOUI7SUFDQSxlVXVNOEIsdUJWdk05QjtJQUNBLGNVc004Qix1QlZ0TTlCO0lBQ0EsV1VxTThCLHVCVnJNOUI7OztBQXNISDtFVTZFRztJVnZNQSxtQlV1TWdCLGVWdk1oQjtJQUNBLGdCVXNNZ0IsZVZ0TWhCO0lBQ0EsZVVxTWdCLGVWck1oQjtJQUNBLGNVb01nQixlVnBNaEI7SUFDQSxXVW1NZ0IsZVZuTWhCOztFVW9NQTtJVnhNQSxtQlV3TWlCLHVCVnhNakI7SUFDQSxnQlV1TWlCLHVCVnZNakI7SUFDQSxlVXNNaUIsdUJWdE1qQjtJQUNBLGNVcU1pQix1QlZyTWpCO0lBQ0EsV1VvTWlCLHVCVnBNakI7O0VVcU1ZO0lWek1aLG1CVXlNOEIsdUJWek05QjtJQUNBLGdCVXdNOEIsdUJWeE05QjtJQUNBLGVVdU04Qix1QlZ2TTlCO0lBQ0EsY1VzTThCLHVCVnRNOUI7SUFDQSxXVXFNOEIsdUJWck05Qjs7O0FBdUhIO0VVNEVHO0lWdk1BLG1CVXVNZ0IsZVZ2TWhCO0lBQ0EsZ0JVc01nQixlVnRNaEI7SUFDQSxlVXFNZ0IsZVZyTWhCO0lBQ0EsY1VvTWdCLGVWcE1oQjtJQUNBLFdVbU1nQixlVm5NaEI7O0VVb01BO0lWeE1BLG1CVXdNaUIsdUJWeE1qQjtJQUNBLGdCVXVNaUIsdUJWdk1qQjtJQUNBLGVVc01pQix1QlZ0TWpCO0lBQ0EsY1VxTWlCLHVCVnJNakI7SUFDQSxXVW9NaUIsdUJWcE1qQjs7RVVxTVk7SVZ6TVosbUJVeU04Qix1QlZ6TTlCO0lBQ0EsZ0JVd004Qix1QlZ4TTlCO0lBQ0EsZVV1TThCLHVCVnZNOUI7SUFDQSxjVXNNOEIsdUJWdE05QjtJQUNBLFdVcU04Qix1QlZyTTlCOzs7QVV6REosZ0JBZ05JLFVBa0RJO0VBRUksVUFBQTtFQUNBLFdBQUE7O0FWdkZYO0VVMEZHO0lWbk5BLG1CVW1OZ0IsZVZuTmhCO0lBQ0EsZ0JVa05nQixlVmxOaEI7SUFDQSxlVWlOZ0IsZVZqTmhCO0lBQ0EsY1VnTmdCLGVWaE5oQjtJQUNBLFdVK01nQixlVi9NaEI7O0VVZ05BO0lWcE5BLG1CVW9OaUIsdUJWcE5qQjtJQUNBLGdCVW1OaUIsdUJWbk5qQjtJQUNBLGVVa05pQix1QlZsTmpCO0lBQ0EsY1VpTmlCLHVCVmpOakI7SUFDQSxXVWdOaUIsdUJWaE5qQjs7RVVpTlk7SVZyTlosbUJVcU44Qix1QlZyTjlCO0lBQ0EsZ0JVb044Qix1QlZwTjlCO0lBQ0EsZVVtTjhCLHVCVm5OOUI7SUFDQSxjVWtOOEIsdUJWbE45QjtJQUNBLFdVaU44Qix1QlZqTjlCOzs7QUFzSEg7RVV5Rkc7SVZuTkEsbUJVbU5nQixlVm5OaEI7SUFDQSxnQlVrTmdCLGVWbE5oQjtJQUNBLGVVaU5nQixlVmpOaEI7SUFDQSxjVWdOZ0IsZVZoTmhCO0lBQ0EsV1UrTWdCLGVWL01oQjs7RVVnTkE7SVZwTkEsbUJVb05pQix1QlZwTmpCO0lBQ0EsZ0JVbU5pQix1QlZuTmpCO0lBQ0EsZVVrTmlCLHVCVmxOakI7SUFDQSxjVWlOaUIsdUJWak5qQjtJQUNBLFdVZ05pQix1QlZoTmpCOztFVWlOWTtJVnJOWixtQlVxTjhCLHVCVnJOOUI7SUFDQSxnQlVvTjhCLHVCVnBOOUI7SUFDQSxlVW1OOEIsdUJWbk45QjtJQUNBLGNVa044Qix1QlZsTjlCO0lBQ0EsV1VpTjhCLHVCVmpOOUI7OztBQXVISDtFVXdGRztJVm5OQSxtQlVtTmdCLGVWbk5oQjtJQUNBLGdCVWtOZ0IsZVZsTmhCO0lBQ0EsZVVpTmdCLGVWak5oQjtJQUNBLGNVZ05nQixlVmhOaEI7SUFDQSxXVStNZ0IsZVYvTWhCOztFVWdOQTtJVnBOQSxtQlVvTmlCLHVCVnBOakI7SUFDQSxnQlVtTmlCLHVCVm5OakI7SUFDQSxlVWtOaUIsdUJWbE5qQjtJQUNBLGNVaU5pQix1QlZqTmpCO0lBQ0EsV1VnTmlCLHVCVmhOakI7O0VVaU5ZO0lWck5aLG1CVXFOOEIsdUJWck45QjtJQUNBLGdCVW9OOEIsdUJWcE45QjtJQUNBLGVVbU44Qix1QlZuTjlCO0lBQ0EsY1VrTjhCLHVCVmxOOUI7SUFDQSxXVWlOOEIsdUJWak45Qjs7O0FVekRKLGdCQWdOSSxVQThESTtFQUVJLFVBQUE7RUFDQSxXQUFBOztBVm5HWDtFVXNHRztJVi9OQSxtQlUrTmdCLGVWL05oQjtJQUNBLGdCVThOZ0IsZVY5TmhCO0lBQ0EsZVU2TmdCLGVWN05oQjtJQUNBLGNVNE5nQixlVjVOaEI7SUFDQSxXVTJOZ0IsZVYzTmhCOztFVTROQTtJVmhPQSxtQlVnT2lCLHVCVmhPakI7SUFDQSxnQlUrTmlCLHVCVi9OakI7SUFDQSxlVThOaUIsdUJWOU5qQjtJQUNBLGNVNk5pQix1QlY3TmpCO0lBQ0EsV1U0TmlCLHVCVjVOakI7O0VVNk5ZO0lWak9aLG1CVWlPOEIsdUJWak85QjtJQUNBLGdCVWdPOEIsdUJWaE85QjtJQUNBLGVVK044Qix1QlYvTjlCO0lBQ0EsY1U4TjhCLHVCVjlOOUI7SUFDQSxXVTZOOEIsdUJWN045Qjs7O0FBc0hIO0VVcUdHO0lWL05BLG1CVStOZ0IsZVYvTmhCO0lBQ0EsZ0JVOE5nQixlVjlOaEI7SUFDQSxlVTZOZ0IsZVY3TmhCO0lBQ0EsY1U0TmdCLGVWNU5oQjtJQUNBLFdVMk5nQixlVjNOaEI7O0VVNE5BO0lWaE9BLG1CVWdPaUIsdUJWaE9qQjtJQUNBLGdCVStOaUIsdUJWL05qQjtJQUNBLGVVOE5pQix1QlY5TmpCO0lBQ0EsY1U2TmlCLHVCVjdOakI7SUFDQSxXVTROaUIsdUJWNU5qQjs7RVU2Tlk7SVZqT1osbUJVaU84Qix1QlZqTzlCO0lBQ0EsZ0JVZ084Qix1QlZoTzlCO0lBQ0EsZVUrTjhCLHVCVi9OOUI7SUFDQSxjVThOOEIsdUJWOU45QjtJQUNBLFdVNk44Qix1QlY3TjlCOzs7QUF1SEg7RVVvR0c7SVYvTkEsbUJVK05nQixlVi9OaEI7SUFDQSxnQlU4TmdCLGVWOU5oQjtJQUNBLGVVNk5nQixlVjdOaEI7SUFDQSxjVTROZ0IsZVY1TmhCO0lBQ0EsV1UyTmdCLGVWM05oQjs7RVU0TkE7SVZoT0EsbUJVZ09pQix1QlZoT2pCO0lBQ0EsZ0JVK05pQix1QlYvTmpCO0lBQ0EsZVU4TmlCLHVCVjlOakI7SUFDQSxjVTZOaUIsdUJWN05qQjtJQUNBLFdVNE5pQix1QlY1TmpCOztFVTZOWTtJVmpPWixtQlVpTzhCLHVCVmpPOUI7SUFDQSxnQlVnTzhCLHVCVmhPOUI7SUFDQSxlVStOOEIsdUJWL045QjtJQUNBLGNVOE44Qix1QlY5TjlCO0lBQ0EsV1U2TjhCLHVCVjdOOUI7OztBVXpESixnQkFnTkksVUEwRUk7RUFDSSxVQUFBO0VBQ0EsV0FBQTs7QVY5R1g7RVVpSEc7SVYxT0EsbUJVME9nQixlVjFPaEI7SUFDQSxnQlV5T2dCLGVWek9oQjtJQUNBLGVVd09nQixlVnhPaEI7SUFDQSxjVXVPZ0IsZVZ2T2hCO0lBQ0EsV1VzT2dCLGVWdE9oQjs7RVV1T0E7SVYzT0EsbUJVMk9pQix5QlYzT2pCO0lBQ0EsZ0JVME9pQix5QlYxT2pCO0lBQ0EsZVV5T2lCLHlCVnpPakI7SUFDQSxjVXdPaUIseUJWeE9qQjtJQUNBLFdVdU9pQix5QlZ2T2pCOztFVXdPWTtJVjVPWixtQlU0TzhCLHlCVjVPOUI7SUFDQSxnQlUyTzhCLHlCVjNPOUI7SUFDQSxlVTBPOEIseUJWMU85QjtJQUNBLGNVeU84Qix5QlZ6TzlCO0lBQ0EsV1V3TzhCLHlCVnhPOUI7OztBQXNISDtFVWdIRztJVjFPQSxtQlUwT2dCLGVWMU9oQjtJQUNBLGdCVXlPZ0IsZVZ6T2hCO0lBQ0EsZVV3T2dCLGVWeE9oQjtJQUNBLGNVdU9nQixlVnZPaEI7SUFDQSxXVXNPZ0IsZVZ0T2hCOztFVXVPQTtJVjNPQSxtQlUyT2lCLHlCVjNPakI7SUFDQSxnQlUwT2lCLHlCVjFPakI7SUFDQSxlVXlPaUIseUJWek9qQjtJQUNBLGNVd09pQix5QlZ4T2pCO0lBQ0EsV1V1T2lCLHlCVnZPakI7O0VVd09ZO0lWNU9aLG1CVTRPOEIseUJWNU85QjtJQUNBLGdCVTJPOEIseUJWM085QjtJQUNBLGVVME84Qix5QlYxTzlCO0lBQ0EsY1V5TzhCLHlCVnpPOUI7SUFDQSxXVXdPOEIseUJWeE85Qjs7O0FBdUhIO0VVK0dHO0lWMU9BLG1CVTBPZ0IsZVYxT2hCO0lBQ0EsZ0JVeU9nQixlVnpPaEI7SUFDQSxlVXdPZ0IsZVZ4T2hCO0lBQ0EsY1V1T2dCLGVWdk9oQjtJQUNBLFdVc09nQixlVnRPaEI7O0VVdU9BO0lWM09BLG1CVTJPaUIseUJWM09qQjtJQUNBLGdCVTBPaUIseUJWMU9qQjtJQUNBLGVVeU9pQix5QlZ6T2pCO0lBQ0EsY1V3T2lCLHlCVnhPakI7SUFDQSxXVXVPaUIseUJWdk9qQjs7RVV3T1k7SVY1T1osbUJVNE84Qix5QlY1TzlCO0lBQ0EsZ0JVMk84Qix5QlYzTzlCO0lBQ0EsZVUwTzhCLHlCVjFPOUI7SUFDQSxjVXlPOEIseUJWek85QjtJQUNBLFdVd084Qix5QlZ4TzlCOzs7QVV6REosZ0JBZ05JLFVBcUZJO0VBQ0ksU0FBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0VWblBSLG1CVW9QbUIsUVZwUG5CO0VBQ0EsZ0JVbVBtQixRVm5QbkI7RUFDQSxlVWtQbUIsUVZsUG5CO0VBQ0EsY1VpUG1CLFFWalBuQjtFQUNBLFdVZ1BtQixRVmhQbkI7RVVpUFEseUJBQUE7O0FBS1o7RUFDSSxZQUFBO0VBQ0Esa0JBQUE7O0FBRkosVUFRSTtFQUNJLFFBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxTQUFBO0VBQ0EsMkJBQUE7RUFDQSxtQ0FBQTs7QVZqSlA7RVVvSkU7SUFBSyxRQUFBOztFQUNJO0lBQU8sWUFBQTs7O0FWcEpsQjtFVW1KRTtJQUFLLFFBQUE7O0VBQ0k7SUFBTyxZQUFBOzs7QVZuSmxCO0VVa0pFO0lBQUssUUFBQTs7RUFDSTtJQUFPLFlBQUE7OztBQUdYLFVBZkosT0FlSztFQUNHLGNBQUE7RUFDQSxTQUFTLEVBQVQ7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFNBQUE7RUFDQSxzQkFBQTtFQUNBLDJCQUFBO0VBQ0EsbUNBQUE7O0FBakNaLFVBc0NJLGFBRUk7RUFDSSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0VWclNSLG1CVXNTbUIsUVZ0U25CO0VBQ0EsZ0JVcVNtQixRVnJTbkI7RUFDQSxlVW9TbUIsUVZwU25CO0VBQ0EsY1VtU21CLFFWblNuQjtFQUNBLFdVa1NtQixRVmxTbkI7RVVtU1EseUJBQUE7O0FWOUtYO0VVaUxlO0lWMVNaLG1CVTBTMkIsUVYxUzNCO0lBQ0EsZ0JVeVMyQixRVnpTM0I7SUFDQSxlVXdTMkIsUVZ4UzNCO0lBQ0EsY1V1UzJCLFFWdlMzQjtJQUNBLFdVc1MyQixRVnRTM0I7O0VVdVNZO0lWM1NaLG1CVTJTNkIsUVYzUzdCO0lBQ0EsZ0JVMFM2QixRVjFTN0I7SUFDQSxlVXlTNkIsUVZ6UzdCO0lBQ0EsY1V3UzZCLFFWeFM3QjtJQUNBLFdVdVM2QixRVnZTN0I7OztBQXNISDtFVWdMZTtJVjFTWixtQlUwUzJCLFFWMVMzQjtJQUNBLGdCVXlTMkIsUVZ6UzNCO0lBQ0EsZVV3UzJCLFFWeFMzQjtJQUNBLGNVdVMyQixRVnZTM0I7SUFDQSxXVXNTMkIsUVZ0UzNCOztFVXVTWTtJVjNTWixtQlUyUzZCLFFWM1M3QjtJQUNBLGdCVTBTNkIsUVYxUzdCO0lBQ0EsZVV5UzZCLFFWelM3QjtJQUNBLGNVd1M2QixRVnhTN0I7SUFDQSxXVXVTNkIsUVZ2UzdCOzs7QUF1SEg7RVUrS2U7SVYxU1osbUJVMFMyQixRVjFTM0I7SUFDQSxnQlV5UzJCLFFWelMz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cDZHVDtFQUNBLFdObTZHUyxlTW42R1Q7RU5vNkdGLFVBQUE7O0FNL3lHRDtFTm16R0c7SUFBSSxVQUFBO0lNNTZHSixtQk40NkcyQixlTTU2RzNCO0lBQ0EsZ0JOMjZHMkIsZU0zNkczQjtJQUNBLGVOMDZHMkIsZU0xNkczQjtJQUNBLGNOeTZHMkIsZU16NkczQjtJQUNBLFdOdzZHMkIsZU14NkczQjs7RU55NkdBO0lBQU0sVUFBQTtJTTc2R04sbUJONjZHNkIsYU03Nkc3QjtJQUNBLGdCTjQ2RzZCLGFNNTZHN0I7SUFDQSxlTjI2RzZCLGFNMzZHN0I7SUFDQSxjTjA2RzZCLGFNMTZHN0I7SUFDQSxXTnk2RzZCLGFNejZHN0I7OztBQXNISDtFTmt6R0c7SUFBSSxVQUFBO0lNNTZHSixtQk40NkcyQixlTTU2RzNCO0lBQ0EsZ0JOMjZHMkIsZU0zNkczQjtJQUNBLGVOMDZHMkIsZU0xNkczQjtJQUNBLGNOeTZHMkIsZU16NkczQjtJQUNBLFdOdzZHMkIsZU14NkczQjs7RU55NkdBO0lBQU0sVUFBQTtJTTc2R04sbUJONjZHNkIsYU03Nkc3QjtJQUNBLGdCTjQ2RzZCLGFNNTZHN0I7SUFDQSxlTjI2RzZCLGFNMzZHN0I7SUFDQSxjTjA2RzZCLGFNMTZHN0I7SUFDQSxXTnk2RzZCLGFNejZHN0I7OztBQXVISDtFTml6R0c7SUFBSSxVQUFBO0lNNTZHSixtQk40NkcyQixlTTU2RzNCO0lBQ0EsZ0JOMjZHMkIsZU0zNkczQjtJQUNBLGVOMDZHMkIsZU0xNkczQjtJQUNBLGNOeTZHMkIsZU16NkczQjtJQUNBLFdOdzZHMkIsZU14NkczQjs7RU55NkdBO0lBQU0sVUFBQTtJTTc2R04sbUJONjZHNkIsYU03Nkc3QjtJQUNBLGdCTjQ2RzZCLGFNNTZHN0I7SUFDQSxlTjI2RzZCLGFNMzZHN0I7SUFDQSxjTjA2RzZCLGFNMTZHN0I7SUFDQSxXTnk2RzZCLGFNejZHN0I7OztBTjIyR0osUUFtRUM7RUFDQyxZQUFBO0VBQ0EsYUFBQTtFQUNBLE9BQUE7RUFDQSxNQUFBOztBQUVBO0VBQUEsUUFORDtJQU9LLFlBQUE7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LGVBc0ZJO0VBQ0ksa0JBQUEiLCJmaWxlIjoiYS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCB1cmwoXCJodHRwczovL2Zhc3QuZm9udHMubmV0L2x0LzEuY3NzP2FwaVR5cGU9Y3NzJmM9YzFmMDQ3N2UtZWY0Yy00M2ZjLTg0NTgtZGYxZmM5NjQ4YmMzJmZvbnRpZHM9NjkzMjM4XCIpO1xuICAgIEBmb250LWZhY2V7XG4gICAgICAgIGZvbnQtZmFtaWx5OlwiVHJhZGVHb3RoaWNOZXh0VzAxLUNvbmRcIjtcbiAgICAgICAgc3JjOnVybChcIi4uL2ZvbnQvNWJlNGE4MTUtNWEyMi00YThiLThhMzgtMTA0NjdiZTM5ZDJlLmVvdD8jaWVmaXhcIik7XG4gICAgICAgIHNyYzp1cmwoXCIuLi9mb250LzViZTRhODE1LTVhMjItNGE4Yi04YTM4LTEwNDY3YmUzOWQyZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSx1cmwoXCIuLi9mb250L2E4ODE2MzQwLTAyOTQtNDI0My04NTE5LWIyY2NmMDhjYTE3NC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSx1cmwoXCIuLi9mb250L2ViMjBiZjNlLTdhNWMtNGM5OC04YmM1LWYzOGMxYjNkZDlmMi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksdXJsKFwiLi4vZm9udC9iYmQ5ZWQ0Yi0yMWQ2LTRhMzUtYTNlYi0xNzZjMzEyNThlMDMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICAgIH1cblxuQGhlYWRlckZvbnQgOiB+XCInVHJhZGVHb3RoaWNOZXh0VzAxLUNvbmQnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmXCI7XG5AYm9sZCA6IH5cIidUcmFkZUdvdGhpY05leHRXMDEtQ29uZCcsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWZcIjtcbkBzZW1pQm9sZCA6IH5cIidUcmFkZUdvdGhpY05leHRXMDEtQ29uZCcsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWZcIjtcbkBsaWdodCA6IH5cIidUcmFkZUdvdGhpY05leHRXMDEtQ29uZCcsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWZcIjtcbkBwcmltYXJ5Rm9udCA6IH5cIidUcmFkZUdvdGhpY05leHRXMDEtQ29uZCcsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWZcIjtcbkBib2R5Rm9udCA6IH5cIidUcmFkZUdvdGhpY05leHRXMDEtQ29uZCcsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWZcIjtcbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVmFyaWFibGVzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQHdyYXBwZXJXaWR0aDogMTE4MHB4O1xuQG1vYmlsZVdpZHRoOiA2NDBweDtcbkBiYXNlRm9udFNpemU6IDEzO1xuQG10Y0JsdWU6ICMwZjU1YzQ7XG5cbkBkYXJrQmFja2dyb3VuZDogIzBmNTVjNDtcbkBwcmltYXJ5Q29sb3I6ICMzMzM7XG5AbGluZUNvbG9yOiAjNDE1MTQxO1xuXG5Ac3RhdGljRmx5b3V0Qmc6ICNmMWYxZjE7XG5AYWN0aXZlRmx5b3V0Qmc6ICNmMWYxZjE7XG5cbi5sZXNzVmFycyB7XG4gICAgZm9udC1mYW1pbHk6ICd0YWJsZXQ6IDEwMDBweCwgbW9iaWxlOiBAe21vYmlsZVdpZHRofSc7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuQHByaW1hcnlHcmVlbjogIzAzODc3OTtcbkBjdGFHcmVlbjogIzAzODc3OTtcbkBjdGFPcmFuZ2U6ICNlM2E0MmE7XG5AY3RhUmVkOiAjYjk0YTQ4O1xuXG4vKlxuXG4gICAgTW9ub2Nocm9tYXRpYywgbWFuXG5cbiAgICBAcHJpbWFyeUdyZWVuXG4gICAgI0NERkZDRFxuICAgICM4MUZGODFcbiAgICAjNjc3RjY3XG4gICAgQGN0YUdyZWVuXG5cbiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWVkaWEgUXVlcnkgQnJlYWtwb2ludHMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AZGVza3RvcDogflwiYWxsIGFuZCAobWluLXdpZHRoOiAxMDYxcHgpXCI7XG5Aamlnc2F3OiB+XCJhbGwgYW5kIChtYXgtd2lkdGg6IDE0MjVweClcIjtcbkBmdWxsRG93bjogflwiYWxsIGFuZCAobWF4LXdpZHRoOiAxMTgwcHgpXCI7XG5AZnVsbFRvVGFibGV0OiB+XCJhbGwgYW5kIChtaW4td2lkdGg6IDEwMDFweCkgYW5kIChtYXgtd2lkdGg6IDExNzlweClcIjtcbkB0YWJsZXQ6IH5cImFsbCBhbmQgKG1pbi13aWR0aDogNjQxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpXCI7XG5AdGFibGV0RG93bjogflwiYWxsIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpXCI7XG5AbW9iaWxlOiB+XCJhbGwgYW5kIChtYXgtd2lkdGg6IEB7bW9iaWxlV2lkdGh9KVwiO1xuQHNtYWxsTW9iaWxlOiB+XCJhbGwgYW5kIChtYXgtd2lkdGg6IDQyMHB4KVwiO1xuXG4vKipcbiAqIEBpbXBvcnQgb2YgZHluYW1pYyB2YXJpYWJsZXNcbiAqL1xuXG5AaW1wb3J0ICdkeW5hbWljLmxlc3MnO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNpdGUgU3R5bGVzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLndyYXBwZXIoKSB7XG4gICAgbWF4LXdpZHRoOiAxNDgwcHg7XG4gICAgLy9taW4td2lkdGg6IEB3cmFwcGVyV2lkdGg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCA0MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICAuY2xlYXJmaXgoKTtcblxuICAgIEBtZWRpYSBAdGFibGV0IHtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgIH1cbn1cblxuLndyYXBwZXIge1xuICAgIC53cmFwcGVyKCk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQm9keSBUYWcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5odG1sIHtcbiAgICBmb250LXNpemU6IEBiYXNlRm9udFNpemUgKyAwcHg7XG5cbiAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZSAtIDJweDtcbiAgICB9XG59XG5cbmJvZHkge1xuICAgIC5yZW1zKDE1KTtcbiAgICBsaW5lLWhlaWdodDogMS42NjI7XG4gICAgZm9udC1mYW1pbHk6IEBib2R5Rm9udDtcbiAgICBtaW4td2lkdGg6IDMyMHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBjb2xvcjogIzMzMztcbn1cblxuI2NvbnRlbnQge1xuXG4gICAgQG1lZGlhIEBkZXNrdG9wIHtcbiAgICAgICAgbWluLWhlaWdodDogNjUwcHg7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFR5cG9ncmFwaHkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5hIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IEBwcmltYXJ5R3JlZW47XG4gICAgLnRyYW5zaXRpb24oY29sb3IgZWFzZS1pbi1vdXQgMzAwbXMpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAY3RhR3JlZW47XG4gICAgfVxufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBtYXJnaW46IDAgMCA1cHggMDtcbiAgICBjb2xvcjogQHByaW1hcnlDb2xvcjtcbiAgICBmb250LWZhbWlseTogQGxpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuXG5oMSB7XG4gICAgY29sb3I6IEBwcmltYXJ5R3JlZW47XG4gICAgbWFyZ2luOiAwIDAgNXB4IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBmb250LWZhbWlseTogQGxpZ2h0O1xuICAgIC5yZW1zKDMyKTtcbn1cblxuaDIge1xuICAgIC5yZW1zKDI1KTtcbn1cblxuaDMge1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGZvbnQtZmFtaWx5OiBAbGlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgLnJlbXMoMjApO1xuXG4gICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICBsaW5lLWhlaWdodDogMTlweDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IEBjdGFHcmVlbjtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgfVxufVxuXG5oNCwgaDUsIGg2IHtcbiAgICAucmVtcygxNCk7XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTaXRlIExvZ28gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ubG9nbyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDEwcHggMDtcblxuICAgICYucmVwbGFjZWQtc3ZnIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSBAdGFibGV0IHtcbiAgICB9XG5cbiAgICBAbWVkaWEgQG1vYmlsZSB7XG5cbiAgICBtYXJnaW46IDEwcHggMDtcblxuICAgICAgICAmLnJlcGxhY2VkLXN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDE2NXB4O1xuICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYWluIE1lbnUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uaGlkZGVuIHtcbiAgICBkaXNwbGF5Om5vbmU7XG59XG5cbi5mbHlvdXRXcmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcblxuICAgIEBtZWRpYSBAdGFibGV0IHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuIC5tYWluTWVudSB7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIC5yZW1zKDE0KTtcbiAgICBtYXJnaW46IDM1cHggMTBweCAwIDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgQHByaW1hcnlHcmVlbjtcblxuICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG5cdFx0Y29sb3I6ICMwMDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBAc2VtaUJvbGQ7XG4gICAgICAgIC50cmFuc2l0aW9uKGNvbG9yIGVhc2UtaW4gMjAwbXMpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLnJlbXMoMTgpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IEBjdGFHcmVlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubW9iaWxlU2hvdyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUgYSB7XG4gICAgICAgICAgICBjb2xvcjogIzAzODc3OTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAgbGkjcHJpbWFyeV9tZW51XzE5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgfVxuXG4gICAgdWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAwIDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICBcdHRvcDogMDtcbiAgICAgICAgXHRsZWZ0OiA1MCU7XG4gICAgICAgIFx0Ym9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgXHRjb250ZW50OiBcIiBcIjtcbiAgICAgICAgXHRoZWlnaHQ6IDA7XG4gICAgICAgIFx0d2lkdGg6IDA7XG4gICAgICAgIFx0cG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBcdGJvcmRlci1jb2xvcjogcmdiYSgyMzEsIDI0MiwgMjMxLCAwKTtcbiAgICAgICAgXHRib3JkZXItYm90dG9tLWNvbG9yOiAjRTdGMkU3O1xuICAgICAgICBcdGJvcmRlci13aWR0aDogMTBweDtcbiAgICAgICAgXHRtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRTdGMkU3O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLDAsMCwwLjA1KTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgQHRhYmxldCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAuY2xlYXJmaXgoKTtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTNweCAwIDA7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgJi5tb2JpbGVTaG93IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5tb2JpbGVIaWRlIHtcbiAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgID4gdWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5oYXNDaGlsZHJlbiB7XG4gICAgICAgICAgICAgICAgPiBhOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjBkYVwiO1xuICAgICAgICAgICAgICAgICAgICAudHJhbnNpdGlvbihhbGwgMzAwbXMgZWFzZS1pbi1vdXQgMHMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5oYXNDaGlsZHJlbi5vcGVuID4gYTphZnRlciB7XG4gICAgICAgICAgICAgICAgLnRyYW5zZm9ybShyb3RhdGUoOTBkZWcpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICAgIC8qIDJuZCBMZXZlbCAqL1xuICAgICAgICBsaSBsaSBhIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgICAgICAvKiAzcmQgTGV2ZWwgKi9cbiAgICAgICAgbGkgbGkgbGkgYSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLyogNHRoIExldmVsICovXG4gICAgICAgIGxpIGxpIGxpIGxpIGEge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG5cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBIZWFkZXIgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4jaGVhZGVyIHtcbiAgICB6LWluZGV4OiA1MDAwO1xuICAgIC5jbGVhcmZpeCgpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQ6ICNGRkY7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFRUU7XG4gICAgaGVpZ2h0OiA3NnB4ICFpbXBvcnRhbnQ7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAdGFibGV0KSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cblxuICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cblxuICAgIC53cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5oZWFkZXJEZXRhaWxzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDU1cHg7XG4gICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgfVxuXG4gICAgLmNyZWRpdHMsIC5hZGRyZXNzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBib2R5Rm9udDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNEREQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC5hZGRyZXNzIHtcbiAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9naW4ge1xuXHQgICAgZGlzcGxheTogYmxvY2s7XG5cdCAgICBmbG9hdDogcmlnaHQ7XG5cdCAgICBjb2xvcjogQHByaW1hcnlHcmVlbjtcblx0ICAgIHBhZGRpbmc6IDEwcHg7XG5cdCAgICBtYXJnaW46IDI1cHggMCAwIDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0LnJlbXMoMTgpO1xuICAgICAgICAudHJhbnNpdGlvbihjb2xvciBlYXNlLWluIDIwMG1zKTtcblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAY3RhR3JlZW47XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgQHRhYmxldCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggMCAxNXB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIEBwcmltYXJ5R3JlZW47XG4gICAgICAgIH1cblxuXG4gICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBwcmltYXJ5R3JlZW47XG4gICAgICAgICAgICBjb2xvcjogI0ZGRjtcblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBob25lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICBcdCAgICBmb250LWZhbWlseTogQHNlbWlCb2xkO1xuICAgIFx0ICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjdGFHcmVlbjtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBwcmltYXJ5R3JlZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbkFsdCB7XG4gICAgICAgIC5yZW1zKDE2KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW46IDI2cHggMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBzZW1pQm9sZDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9ybXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucm93IHtcblxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuXHQudGV4dCB7XG5cdFx0cGFkZGluZzogMTBweDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjREREO1xuXHRcdGJvcmRlci1yYWRpdXM6IDVweDtcblx0XHQudHJhbnNpdGlvbihib3JkZXIgZWFzZS1vdXQgMzAwbXMpO1xuXG5cdFx0Ji5sYXJnZSB7XG5cdFx0XHRwYWRkaW5nOiAxNXB4O1xuXHRcdH1cblxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiBAY3RhR3JlZW47XG5cdFx0fVxuXHR9XG5cblx0bGFiZWwge1xuXHRcdGZvbnQtZmFtaWx5OiBAc2VtaUJvbGQ7XG5cdFx0LnJlbXMoMTQpO1xuXHRcdGNvbG9yOiAjNzc3O1xuXHRcdHBhZGRpbmc6IDExcHggMDtcblxuXHRcdGVtIHtcblx0XHRcdGNvbG9yOiBAY3RhR3JlZW47XG5cdFx0fVxuXHR9XG5cblx0Ji5oYWxmIHtcblx0XHR3aWR0aDogNDglO1xuXHRcdG1hcmdpbi1yaWdodDogNCU7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0Y2xlYXI6IGxlZnQ7XG5cblx0XHRAbWVkaWEgQG1vYmlsZSB7XG4gICAgXHRcdHdpZHRoOiAxMDAlO1xuICAgIFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0fVxuXG5cdFx0Ji5sYXN0IHtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdGNsZWFyOiBub25lO1xuXHRcdH1cblx0fVxufVxuXG4uY2hlY2tib3hSb3csIC5jdXN0b21SYWRpbywgLnN1YnNjcmlwdGlvbkl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgICAgIHJpZ2h0OjA7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGRkY7XG5cbiAgICAgICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMXB4IDAgMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1jaGVja2JveF0sIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLnNlbGVjdGVkIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBkYXJrQmFja2dyb3VuZDtcbiAgICB9XG5cblxuICAgICYuc21hbGwge1xuXG4gICAgICAgIGxhYmVsIHtcblxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKlxuLmVycm9yTGlzdCB7XG5cbiAgICBoMyB7XG4gICAgICAgIGNvbG9yOiAjQjk0QTQ4O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxufVxuKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWFyY2ggKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ubW9iaWxlU2VhcmNoV3JhcCB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4uc2VhcmNoRm9ybSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG4gICAgLnJvdyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICBwYWRkaW5nOiA2cHg7XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9vdGVyICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmZvb3RlcldyYXAge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIC5jbGVhcmZpeCgpO1xuICAgIGNvbG9yOiAjRkZGO1xuICAgIC5yZW1zKDE0KTtcbiAgICBmb250LWZhbWlseTogQHByaW1hcnlGb250O1xuXHRwYWRkaW5nOiAyMHB4IDQwcHg7XG5cdGJhY2tncm91bmQ6IEBwcmltYXJ5R3JlZW47XG5cblx0QG1lZGlhIEBtb2JpbGUge1xuICAgIFx0cGFkZGluZzogMTBweCAyMHB4O1xuXHR9XG5cbiAgICAubG9nbyB7XG5cdCAgICB3aWR0aDogYXV0bztcblx0ICAgIG1hcmdpbjogMCAwIDI4cHggMDtcblxuXHQgICAgLnN0MCB7XG4gICAgXHQgICAgZmlsbDogI2ZmZjtcblx0ICAgIH1cblxuXHQgICAgLnN0MSB7XG4gICAgXHQgICAgZmlsbDogQHByaW1hcnlHcmVlbjtcblx0ICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcblxuICAgICAgICBpIHtcblx0ICAgICAgICB3aWR0aDogMTJweDtcblx0ICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjRkZGO1xuICAgIH1cblxuICAgIC5jb250YWN0RGV0YWlscyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogNDUlO1xuXG4gICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRldGFpbHMge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgICAgcGFkZGluZzogMjBweCAwIDAgMDtcblxuICAgICAgICBwIHtcblx0ICAgICAgICBjbGVhcjogYm90aDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwsIHVsIGxpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNpdGVtYXAge1xuXHQgICAgZmxvYXQ6IHJpZ2h0O1xuXHQgICAgd2lkdGg6IDQ1JTtcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xuXHQgICAgLmNsZWFyZml4KCk7XG5cbiAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuXG5cdCAgICAuY29sdW1uIHtcblx0XHQgICAgZmxvYXQ6IGxlZnQ7XG5cdFx0ICAgIHdpZHRoOiAzMiU7XG5cdFx0ICAgIG1hcmdpbi1yaWdodDogMiU7XG5cdFx0ICAgIGNsZWFyOiBub25lO1xuXG5cdFx0ICAgIEBtZWRpYSBAdGFibGV0IHtcbiAgICBcdFx0ICAgIHdpZHRoOiA0OSU7XG5cbiAgICBcdFx0ICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIFx0XHQgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIFx0XHQgICAgfVxuXHRcdCAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICAmLm1vYmlsZUhpZGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZGFzaEJhY2tncm91bmQgJiB7XG5cbiAgICAgICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cdCAgICB9XG5cblx0ICAgIGg0IHtcblx0XHQgICAgZm9udC1mYW1pbHk6IEBzZW1pQm9sZDtcblx0XHQgICAgLnJlbXMoMTYpO1xuXHRcdCAgICBjb2xvcjogI0ZGRjtcblxuICAgICAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwNjcnO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICAgICAgICAgICAgICAgICAgLnJlbXMoMTMpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjA2OCc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cdCAgICB9XG5cblx0ICAgIC5hY3Rpb24ge1xuXHRcdCAgICBmbG9hdDogbGVmdDtcblx0XHQgICAgd2lkdGg6IDMyJTtcblx0XHQgICAgbWFyZ2luOiAyNXB4IDA7XG5cblxuXHRcdCAgICBhIHtcblx0XHRcdCAgICBmb250LWZhbWlseTogQHNlbWlCb2xkO1xuXHRcdFx0ICAgIGNsZWFyOiBsZWZ0O1xuXHRcdFx0ICAgIG1heC13aWR0aDogMjMwcHg7XG5cdFx0ICAgIH1cblxuXHRcdCAgICBAbWVkaWEgQHRhYmxldCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIFx0XHQgICAgd2lkdGg6IDEwMCU7XG5cdFx0XHQgICAgbWF4LXdpZHRoOiAyMzBweDtcblx0XHQgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyNXB4IDAgMCAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cdCAgICB9XG5cblx0ICAgIC5idXR0b25BbHQge1xuXHRcdCAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdCAgICBjb2xvcjogI0ZGRjtcblx0XHQgICAgZGlzcGxheTogYmxvY2s7XG5cdFx0ICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLnJlbXMoMTYpO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuXHQgICAgfVxuXG5cdCAgICBzcGFuIHtcblx0XHQgICAgZGlzcGxheTogYmxvY2s7XG5cdFx0ICAgIHBhZGRpbmc6IDVweCAwIDAgMDtcblx0XHQgICAgd2lkdGg6IDEwMCU7XG5cdFx0ICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblx0ICAgIH1cbiAgICB9XG5cbiAgICAubGVnYWwge1xuXHQgICAgY2xlYXI6IGJvdGg7XG5cdCAgICAuY2xlYXJmaXgoKTtcblx0ICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XG5cdCAgICBwYWRkaW5nOiAxNXB4IDA7XG5cblx0ICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICBcdCAgICBwYWRkaW5nLWJvdHRvbTogMDtcblx0ICAgIH1cbiAgICB9XG5cbiAgICAjdGVybXNfcG9saWN5IHtcblx0ICAgIGZsb2F0OiByaWdodDtcblx0ICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXHQgICAgd2lkdGg6IDQ4JTtcblxuXHQgICAgQG1lZGlhIEB0YWJsZXQge1xuICAgIFx0ICAgIHdpZHRoOiA2MCU7XG5cdCAgICB9XG4gICAgfVxuXG4gICAgI2NyZWRpdHMge1xuXHQgICAgZmxvYXQ6IHJpZ2h0O1xuXHQgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cdCAgICB3aWR0aDogNDglO1xuXG5cdCAgICBAbWVkaWEgQHRhYmxldCB7XG4gICAgXHQgICAgd2lkdGg6IDYwJTtcblx0ICAgIH1cblxuICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2NvcHlyaWdodCB7XG5cdCAgICBmbG9hdDogbGVmdDtcblx0ICAgIHdpZHRoOiA0OCU7XG5cblx0ICAgIEBtZWRpYSBAdGFibGV0IHtcbiAgICBcdCAgICB3aWR0aDogNDAlO1xuXHQgICAgfVxuXG4gICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9vdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLmNsZWFyZml4KCk7XG4gICAgLndyYXBwZXIoKTtcbiAgICBwYWRkaW5nOiAwIDQwcHg7XG5cbiAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2xpZGUgV3JhcHBlciAoYm90aCBzbGlkZXNob3dzKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5zbGlkZVdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgLmNsZWFyZml4KCk7XG4gICAgLndyYXBwZXIoKTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBtZWRpYSBAdGFibGV0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExhcmdlIFNsaWRlciAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5sYXJnZVNsaWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLmNsZWFyZml4KCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmNvbnRyb2xzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIC5wcmV2LCAubmV4dCB7XG4gICAgICAgICAgICAuZW1zKDI2KTtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTbWFsbCBTbGlkZXIgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uc21hbGxTbGlkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5pbWFnZVdyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogR29vZ2xlIE1hcCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5tYXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDM2MHB4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENTUzMgU29jaWFsIGljb25zKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uc29jaWFsIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAuY2xlYXJmaXgoKTtcblxuICAgIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIC5lbXMoMTgpO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQnJlYWRjcnVtYiBTdHlsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmJyZWFkY3J1bWJXcmFwIHtcbiAgICAuY2xlYXJmaXgoKTtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xuXG4gICAgLmJyZWFkY3J1bWJzIHtcbiAgICAgICAgLmNsZWFyZml4KCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHggMTBweDtcblxuICAgICAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNnB4O1xuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUGFnaW5hdGlvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5wYWdpbmF0aW9uLCAucGFnaW5hdGlvblVsIHtcbiAgICAuY2xlYXJmaXgoKTtcblxuICAgIGxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGFnaW51bWJlcm9yZGVyIGZvcm0ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcblxuICAgICYuYm90dG9tIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgLmNsZWFyZml4KCk7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNpdGUgTWFwIFN0eWxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uc2l0ZU1hcFdyYXAge1xuICAgIC53cmFwcGVyKCk7XG4gICAgLmNsZWFyZml4KCk7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgcGFkZGluZzogNTBweCA0MHB4O1xuXG4gICAgaDEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuXG4gICAgQG1lZGlhIEB0YWJsZXREb3duIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgfVxuXG4gICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgfVxuXG4gICAgLnNpdGVNYXBDb2x1bW4ge1xuICAgICAgICB3aWR0aDogMzIlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBDb250YWN0IFBhZ2UgU3R5bGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jb250YWN0V3JhcCB7XG4gICAgLndyYXBwZXIoKTtcbiAgICAuY2xlYXJmaXgoKTtcbiAgICBwYWRkaW5nOiAxMDBweCA0MHB4O1xuXG4gICAgQG1lZGlhIEB0YWJsZXQge1xuICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgIH1cbn1cblxuLmNvbnRhY3REZXRhaWxzIHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdHdpZHRoOiA0NSU7XG5cbiAgICBAbWVkaWEgQHRhYmxldCB7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgfVxuXG5cdEBtZWRpYSBAbW9iaWxlIHtcbiAgICBcdHdpZHRoOiAxMDAlO1xuICAgIFx0cGFkZGluZzogMjBweCAwO1xuICAgIFx0ZmxvYXQ6IG5vbmU7XG4gICAgXHQuY2xlYXJmaXgoKTtcblx0fVxuXG5cdGxpIHtcblx0XHQucmVtcygyMCk7XG5cdFx0cGFkZGluZzogNXB4IDA7XG5cdFx0bWFyZ2luLXJpZ2h0OiA2MHB4O1xuXHRcdGZsb2F0OiBsZWZ0O1xuXG5cdFx0QG1lZGlhIEBtb2JpbGUge1xuICAgIFx0XHQucmVtcygxNyk7XG5cdFx0fVxuXG5cdFx0aSB7XG5cdFx0XHR3aWR0aDogMzVweDtcblx0XHRcdGNvbG9yOiAjNjY2O1xuXG5cdFx0XHRAbWVkaWEgQG1vYmlsZSB7XG4gICAgXHRcdFx0d2lkdGg6IDIwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogIzY2NjtcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiBAY3RhR3JlZW47XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5jb250YWN0Rm9ybVdyYXAge1xuXHR3aWR0aDogNDUlO1xuXHRmbG9hdDogcmlnaHQ7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdGJhY2tncm91bmQ6ICNFRUU7XG5cbiAgICBAbWVkaWEgQHRhYmxldCB7XG4gICAgICAgIHdpZHRoOiA1NSU7XG4gICAgfVxuXG5cdEBtZWRpYSBAbW9iaWxlIHtcbiAgICBcdHdpZHRoOiAxMDAlO1xuICAgIFx0ZmxvYXQ6IG5vbmU7XG4gICAgXHQuY2xlYXJmaXgoKTtcbiAgICBcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICBcdC5idXR0b25BbHQge1xuICAgIFx0XHR3aWR0aDogMTAwJTtcbiAgICBcdFx0bWFyZ2luLXRvcDogMjBweDtcbiAgICBcdFx0ZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOjEwcHggMjBweDtcbiAgICBcdH1cblx0fVxufVxuXG4uY29udGFjdEZvcm0ge1xuXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQnV0dG9uIFN0eWxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uYnV0dG9uIHtcbiAgICAuYnV0dG9uKCk7XG4gICAgcGFkZGluZzogMTBweCAyNXB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIEBjdGFHcmVlbjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgY29sb3I6IEBjdGFHcmVlbjtcbiAgICAudHJhbnNpdGlvbihhbGwgZWFzZS1pbi1vdXQgMzAwbXMpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBjdGFHcmVlbjtcbiAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgfVxuXG4gICAgJi5sZWZ0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzVweDtcbiAgICB9XG5cbiAgICAmLnJpZ2h0IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgICYuYm9sZCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBAc2VtaUJvbGQ7XG4gICAgfVxuXG5cblx0Ji5sYXJnZSB7XG5cdFx0LnJlbXMoMjUpO1xuXHRcdHBhZGRpbmc6IDE1cHggMzBweDtcblx0XHR3aWR0aDogMzAwcHg7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cblx0aSB7XG4gICAgXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdH1cblxuXHQmLnNtYWxsIHtcbiAgICBcdHBhZGRpbmc6IDVweCAxNXB4O1xuICAgIFx0Ym9yZGVyOiAwO1xuXHR9XG59XG5cbi5idXR0b25BbHQge1xuICAgIC5idXR0b24oKTtcbiAgICBiYWNrZ3JvdW5kOiAjMDJCMEFFO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtZmFtaWx5OiBAc2VtaUJvbGQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDJCMEFFO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigjMDJCMEFFLCAyMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigjMDJCMEFFLCAyMCUpO1xuICAgIH1cblxuICAgIEBtZWRpYSBAamlnc2F3IHtcbiAgICAgICAgLnJlbXMoMTYpO1xuICAgIH1cblxuICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBIb21lIHBhZ2UgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uZnJhbWUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGltZyB7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuXHQgICAgICAgIHdpZHRoOiA0MDBweDtcblx0ICAgICAgICBoZWlnaHQ6IDMxM3B4O1xuXHQgICAgfVxuICAgIH1cblxuICAgIC5zY3JlZW4ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRvcDogOTRweDtcblxuICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG5cdCAgICAgICAgd2lkdGg6IDMyNHB4O1xuXHQgICAgICAgIGhlaWdodDogMTgycHg7XG5cdCAgICAgICAgdG9wOiAzM3B4O1xuXHQgICAgfVxuICAgIH1cblxuICAgIC5tYXBzIHtcbiAgICAgICAgd2lkdGg6IDk3MnB4O1xuICAgICAgICBoZWlnaHQ6IDUyM3B4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDUyM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuXHQgICAgICAgIHdpZHRoOiAzMjRweDtcblx0ICAgICAgICBoZWlnaHQ6IDE4MnB4O1xuXHQgICAgICAgIHRvcDogMDtcblxuXHQgICAgICAgIGltZyB7XG4gICAgXHQgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIFx0ICAgICAgICBoZWlnaHQ6IGF1dG87XG5cdCAgICAgICAgfVxuXHQgICAgfVxuXG4gICAgICAgIC5zY3JlZW4ge1xuICAgICAgICAgICAgd2lkdGg6IDk3MnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1MjNweDtcblxuICAgICAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgIFx0ICAgICAgICB3aWR0aDogNjQ3cHg7XG4gICAgXHQgICAgICAgIGhlaWdodDogMzUwcHg7XG4gICAgXHQgICAgICAgIHRvcDogNjJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sZWZ0ICYge1xuXG4gICAgICAgIC5zY3JlZW4ge1xuICAgICAgICAgICAgcmlnaHQ6IDExNXB4O1xuXG4gICAgICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDM4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmlnaHQgJiB7XG5cbiAgICAgICAgLnNjcmVlbiB7XG4gICAgICAgICAgICBsZWZ0OiAxMTVweDtcblxuICAgICAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDM4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5waG9uZSB7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMTA7XG5cbiAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgIHdpZHRoOiA3MHB4O1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmLnNjcmVlbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgd2lkdGg6IDE2NnB4O1xuICAgICAgICAgICAgdG9wOiA5OHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDQ0cHg7XG5cbiAgICAgICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICBcdCAgICAgICAgd2lkdGg6IDQ3cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4NHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMjdweDtcbiAgICAgICAgICAgICAgICByaWdodDogMTJweDtcbiAgICBcdCAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGVmdCAmIHtcbiAgICAgICAgcmlnaHQ6IC0yMHB4O1xuXG4gICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNjcmVlbiB7XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yaWdodCAmIHtcbiAgICAgICAgbGVmdDogLTIwcHg7XG5cbiAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zY3JlZW4ge1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udGFibGV0IHtcbiAgICB3aWR0aDogNTIwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTIwcHg7XG4gICAgei1pbmRleDogMTA7XG5cbiAgICBAbWVkaWEgQGZ1bGxEb3duIHtcbiAgICAgICAgd2lkdGg6IDQzMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmLnNjcmVlbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgd2lkdGg6IDM5M3B4O1xuICAgICAgICAgICAgdG9wOiAyMXB4O1xuICAgICAgICAgICAgcmlnaHQ6IDYycHg7XG5cbiAgICAgICAgICAgIEBtZWRpYSBAZnVsbERvd24ge1xuICAgICAgICAgICAgICAgIHRvcDogMThweDtcbiAgICAgICAgICAgICAgICByaWdodDogNTRweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzIzcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICBcdCAgICAgICAgd2lkdGg6IDE1MXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTEzcHg7XG4gICAgXHQgICAgICAgIHRvcDogOHB4O1xuICAgIFx0ICAgICAgICByaWdodDogMjVweDtcbiAgICBcdCAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGVmdCAmIHtcbiAgICAgICAgcmlnaHQ6IC02NXB4O1xuXG4gICAgICAgIEBtZWRpYSBAZnVsbERvd24ge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICByaWdodDogLTIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmlnaHQgJiB7XG4gICAgICAgIGxlZnQ6IC02NXB4O1xuXG4gICAgICAgIEBtZWRpYSBAZnVsbERvd24ge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VjdGlvbiB7XG4gICAgLmNsZWFyZml4KCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFRUU7XG5cbiAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGOUY5Rjk7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuXG4gICAgICAgIHdpZHRoOiA0NyU7XG4gICAgICAgIC5yZW1zKDE4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICAgICAgY29sb3I6ICM4ODg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBAcHJpbWFyeUZvbnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAbWVkaWEgQHRhYmxldCB7XG4gICAgICAgICAgICB3aWR0aDogNDYlO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmxlZnQge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY2VudGVyIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRUVFO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMyB7XG5cdCAgICAgICAgICAgICY6YWZ0ZXIge1xuXHRcdCAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xuXHQgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idXR0b24ge1xuXHQgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcblx0ICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmZ1bGxXaWR0aCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLmJ1dHRvbkFsdCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTUlO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogODUwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ob3RzcG90TWFwIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA3MDBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTcwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDU5MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDU1MHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMjUwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4NTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDU5MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDUzMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucmVnaW9uLmZvY3VzIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogODUwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDU5MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA0NDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC40KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcGF0aDpudGgtY2hpbGQoMW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICMwMEIyQUU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBwYXRoOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogIzAzYjM5ZjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHBhdGg6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjMDA5MDhkO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcGF0aDpudGgtY2hpbGQoNG4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICMxODhmODI7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBwYXRoOm50aC1jaGlsZCg1bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogIzUxOWM5NDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHBhdGg6bnRoLWNoaWxkKDZuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjMDBkMmNkO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcGF0aDpudGgtY2hpbGQoN24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICMxNmJjYjk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBwYXRoOm50aC1jaGlsZCg4bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogIzM2Nzc3MDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHBhdGg6bnRoLWNoaWxkKDluKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjMzg5NjhiO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcGF0aDpudGgtY2hpbGQoMTBuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjN2VlMWRmO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcGF0aDpudGgtY2hpbGQoMTFuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjMzA4YTg4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcGF0aDpudGgtY2hpbGQoMTJuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjMDA3OTc2O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcGF0aDpudGgtY2hpbGQoMTNuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjNGRhYmE5O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcGF0aDpudGgtY2hpbGQoMTRuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjMDBCMkFFO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5hYm91dCB7XG5cdCAgICBwYWRkaW5nOiAxMjBweCAwO1xuXG5cdCAgICBAbWVkaWEgQHRhYmxldCB7XG4gICAgXHQgICAgcGFkZGluZzogNzBweCAwO1xuXG4gICAgXHQgICAgLmNvbnRlbnQge1xuICAgICAgICBcdCAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBcdCAgICAmLnJpZ2h0IHtcbiAgICAgICAgXHQgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgIFx0ICAgIH1cbiAgICBcdCAgICB9XG5cdCAgICB9XG5cblx0ICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICBcdCAgICBwYWRkaW5nOiAzMHB4IDA7XG5cbiAgICBcdCAgICAuY29udGVudC5yaWdodCB7XG4gICAgICAgIFx0ICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgXHQgICAgfVxuXHQgICAgfVxuXG4gICAgICAgIC5ncmFwaHMge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGOUY5Rjk7XG4gICAgICAgICAgICB3aWR0aDogNTgwcHg7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuXG4gICAgICAgICAgICBAbWVkaWEgQGZ1bGxEb3duIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cblx0ICAgIC5zdGF0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAzMHB4IDAgMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQG1lZGlhIEBmdWxsRG93bntcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xuXG4gICAgICAgICAgICAgICAgY2FudmFzIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA3MHB4IDE1cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAcHJpbWFyeUdyZWVuO1xuICAgICAgICAgICAgICAgIC5yZW1zKDEyKTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBzZW1pQm9sZDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBAZnVsbERvd24ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblx0Ji50cmVuZHMsICYuZGV2aWNlcywgJi5pbnNpZ2h0ICB7XG5cbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cblxuICAgICAgICAuY29udGVudC5sZWZ0IHtcblx0ICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgICAgICAgdG9wOiA1MCU7XG5cdCAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcblxuXHQgICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICBcdCAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFx0ICAgICAgICB0b3A6IDA7XG4gICAgXHQgICAgICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSk7XG4gICAgXHQgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcblx0ICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZnJhbWUgaW1nIHtcblx0ICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnByb2R1Y3RJbnNpZ2h0IHtcblxuICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA3ODBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50LmNlbnRlciB7XG4gICAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5kYXRhYmFzZSB7XG5cbiAgICAgICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yaWdodCB7XG4gICAgXHQgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBcdCAgICAgICAgdG9wOiA1MCU7XG4gICAgXHQgICAgICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgXHQgICAgICAgIHJpZ2h0OiA0MHB4O1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIEBmdWxsRG93biB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgIFx0ICAgICAgICBAbWVkaWEgQHRhYmxldCB7XG4gICAgICAgIFx0ICAgICAgICByaWdodDogMjBweDtcbiAgICBcdCAgICAgICAgfVxuXG4gICAgXHQgICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgXHQgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgXHQgICAgICAgIHRvcDogMDtcbiAgICAgICAgXHQgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuICAgIFx0ICAgICAgICB9XG5cdCAgICAgICAgfVxuXG5cdCAgICAgICAgLmZyYW1lIHtcbiAgICAgICAgICAgICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTIwJSkpO1xuICAgICAgICAgICAgICAgIC50cmFuc2l0aW9uKGFsbCBlYXNlLW91dCAxMDAwbXMpO1xuXG4gICAgICAgICAgICAgICAgJi5mb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlWCgwJSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuXG4vKlxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlWCgtMjAlKSk7XG4gICAgICAgICAgICAgICAgLnRyYW5zaXRpb24oYWxsIGVhc2Utb3V0IDEwMDBtcyk7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MDBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2MDBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5mb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlWCgwJSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiovXG4gICAgICAgIH1cblxuICAgICAgICAubWFwIHtcblxuICAgICAgICAgICAgLmNsZWFyZml4KCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgNDBweCAwO1xuXG4gICAgICAgICAgICAubGVmdCB7XG4gICAgXHQgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBcdCAgICAgICAgdG9wOiA1MCU7XG4gICAgXHQgICAgICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG5cbiAgICBcdCAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICBcdCAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBcdCAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuICAgIFx0ICAgICAgICB9XG5cdCAgICAgICAgfVxuXG4gICAgICAgICAgICAuZnJhbWUge1xuICAgICAgICAgICAgICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlWCgyMCUpKTtcbiAgICAgICAgICAgICAgICAudHJhbnNpdGlvbihhbGwgZWFzZS1vdXQgMTAwMG1zKTtcblxuICAgICAgICAgICAgICAgICYuZm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVgoMCUpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5sZWZ0IGltZyB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHRcbiAgICAgICAgfVxuXG4gICAgICAgIC5yaWdodCBpbWcge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuZnJhbWUgaW1nIHtcblx0ICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZnVsbE1hcmtldHMsIC5mdWxsUmVwb3J0cyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDQwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGRkY7XG4gICAgICAgIGJveC1zaGFkb3c6IDNweCA1cHggMTBweCByZ2JhKDAsMCwwLDAuMik7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jbG9zZSB7XG4gICAgXHQgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIFx0ICAgIHRvcDogNXB4O1xuICAgIFx0ICAgIHJpZ2h0OiA1cHg7XG4gICAgXHQgICAgZGlzcGxheTogYmxvY2s7XG4gICAgXHQgICAgd2lkdGg6IDMwcHg7XG4gICAgXHQgICAgaGVpZ2h0OiAzMHB4O1xuICAgIFx0ICAgIC5yZW1zKDI1KTtcbiAgICBcdCAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgXHQgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgXHQgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBcdCAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuYm9keSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2x1bW4ge1xuICAgIFx0ICAgIHdpZHRoOiA0OCU7XG4gICAgXHQgICAgbWFyZ2luOiAwIDIlIDIwcHggMDtcbiAgICBcdCAgICBmbG9hdDogbGVmdDtcblxuICAgIFx0ICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIFx0ICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICBcdCAgICB9XG5cbiAgICBcdCAgICBAbWVkaWEgQGZ1bGxUb1RhYmxldCB7XG4gICAgICAgIFx0ICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBcdCAgICBtYXJnaW46IDA7XG4gICAgXHQgICAgfVxuXG4gICAgXHQgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICBcdCAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgXHQgICAgbWFyZ2luOiAwO1xuICAgIFx0ICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubWFya2V0cyB7XG5cbiAgICAgICAgcGFkZGluZzogNTBweCAwO1xuXG4gICAgICAgIC5jb250ZW50LmxlZnQge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4vKlxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogNDglO1xuICAgICAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiovXG5cbiAgICAgICAgICAgIEBtZWRpYSBAamlnc2F3IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgQHRhYmxldCB7XG4gICAgXHQgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcdCAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSk7XG5cdCAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgIFx0ICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXHQgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuXHQgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50LnJpZ2h0IHtcbiAgICAgICAgICAgIHdpZHRoOiA0NyU7XG5cbiAgICAgICAgICAgIEBtZWRpYSBAamlnc2F3IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTglO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgQHRhYmxldERvd24ge1xuICAgICAgICAgICAgLmNvbnRlbnQubGVmdCxcbiAgICAgICAgICAgIC5jb250ZW50LnJpZ2h0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXHQgICAgLnJlZ2lvbiB7XG5cdFx0ICAgIHN0cm9rZTogI0U3RjJFNztcblx0XHQgICAgc3Ryb2tlLXdpZHRoOiAycHg7XG5cdFx0ICAgIGZpbGw6ICNGRjk5MDA7XG5cdFx0ICAgIC50cmFuc2l0aW9uKGFsbCBlYXNlLWluLW91dCAzMDBtcyk7XG5cdFx0ICAgIG9wYWNpdHk6IDA7XG5cdFx0ICAgIC50cmFuc2Zvcm0oc2NhbGUoMC41KSk7XG5cdFx0ICAgIC50cmFuc2Zvcm1PcmlnaW4oNTAlIDUwJSk7XG5cblx0XHQgICAgJi5mb2N1cyB7XG4gICAgXHRcdCAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgICAgICAgICAgLnRyYW5zZm9ybShzY2FsZSgxKSk7XG5cdFx0ICAgIH1cblxuXHRcdCAgICAmOmhvdmVyIHtcblx0XHRcdCAgICBvcGFjaXR5OiAxO1xuXHRcdCAgICB9XG5cblx0XHQgICAgJi5ob3ZlciB7XG5cdFx0XHQgICAgb3BhY2l0eTogMTtcblx0XHRcdCAgICBmaWxsOiBAY3RhR3JlZW4gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuXHQgICAgfVxuXG4gICAgICAgIC5wb2ludHMge1xuXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgLnRyYW5zaXRpb24ob3BhY2l0eSBlYXNlLW91dCAzMDBtcyk7XG5cbiAgICAgICAgICAgIC5jaXJjbGUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuXHRcdFx0ICAgIC5jaXJjbGUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgXHRcdFx0ICAgICYuYWN0aXZlIHtcbiAgICAgICAgXHRcdFx0XHQua2V5ZnJhbWVzKHB1bHNlO3tcbiAgICAgICAgXHRcdFx0XHQwJSB7IG9wYWNpdHk6IDAuNTsgIH1cbiAgICAgICAgXHRcdFx0XHQ1MCUgeyBvcGFjaXR5OiAxOyB9XG4gICAgICAgIFx0XHRcdFx0MTAwJSB7IG9wYWNpdHk6IDAuNTsgfVxuICAgICAgICBcdFx0XHRcdH0pO1xuICAgICAgICBcdFx0XHRcdC5hbmltYXRpb24ocHVsc2UgNHMgZWFzZS1pbi1vdXQgaW5maW5pdGUpO1xuICAgIFx0XHRcdFx0fVxuICAgIFx0XHRcdH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cdCAgICAuaGlnaGxpZ2h0ZWQge1xuICAgIFx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBcdCAgICB0b3A6IDA7XG4gICAgXHQgICAgbGVmdDogMDtcbiAgICBcdCAgICByaWdodDogLTUwcHg7XG5cbiAgICBcdCAgICAucG9pbnRLZXkge1xuICAgICAgICBcdCAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBcdCAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgIFx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgXHQgICAgbGVmdDogLTgwcHg7XG4gICAgICAgIFx0ICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIFx0ICAgIC50cmFuc2l0aW9uKG9wYWNpdHkgMzAwbXMgZWFzZS1vdXQgMTAwbXMpO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXQge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgXHQgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgICAgICBcdCAgICB3aWR0aDogMjIwcHg7XG5cbiAgICAgICAgICAgIFx0ICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgXHQgICAgLnJlbXMoMTUpO1xuICAgICAgICAgICAgICAgIFx0ICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XG5cbiAgICAgICAgICAgICAgICBcdCAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIFx0ICAgIHdpZHRoOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICBcdCAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgIFx0ICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIFx0ICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgICAgIFx0ICAgIH1cbiAgICAgICAgICAgIFx0ICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgXHQgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgXHQgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgXHQgICAgfVxuXG4gICAgICAgIFx0ICAgICYuaGlnaGxpZ2h0IHtcbiAgICAgICAgICAgIFx0ICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICAgIFx0ICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBcdCAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgXHQgICAgfVxuICAgICAgICBcdCAgICB9XG5cbiAgICAgICAgXHQgICAgZGl2IHtcbiAgICAgICAgICAgIFx0ICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgXHQgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIFx0ICAgIH1cbiAgICBcdCAgICB9XG5cbiAgICBcdCAgICAubWFya2V0IHtcbiAgICAgICAgXHQgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBcdCAgICB0b3A6IDA7XG4gICAgICAgIFx0ICAgIHJpZ2h0OiAwO1xuICAgICAgICBcdCAgICBvcGFjaXR5OiAwO1xuICAgICAgICBcdCAgICAudHJhbnNpdGlvbihvcGFjaXR5IDMwMG1zIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgXHQgICAgd2lkdGg6IDIxMHB4O1xuICAgICAgICBcdCAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBcdCAgICBwYWRkaW5nOiA1MHB4IDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIEBmdWxsRG93biB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMiU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICBcdCAgICBAbWVkaWEgQHRhYmxldCB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjIlOyAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgXHQgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgXHQgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgXHQgICAgfVxuXG4gICAgICAgIFx0ICAgIGg0IHtcbiAgICAgICAgICAgIFx0ICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIFx0ICAgIH1cblxuICAgICAgICBcdCAgICAmLmhpZ2hsaWdodCB7XG4gICAgICAgICAgICBcdCAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgICAgICBcdCAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICAgICAgXHQgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIFx0ICAgIH1cbiAgICAgICAgXHQgICAgfVxuXG4gICAgICAgIFx0ICAgICY6aG92ZXIge1xuICAgICAgICAgICAgXHQgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIFx0ICAgIH1cbiAgICBcdCAgICB9XG5cdCAgICB9XG5cblx0ICAgIC5wb2ludEtleSB7XG4gICAgXHQgICAgd2lkdGg6IDk1JTtcbiAgICBcdCAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgXHQgICAgbWFyZ2luOiAyMHB4O1xuICAgIFx0ICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUVFO1xuICAgIFx0ICAgIC5jbGVhcmZpeCgpO1xuXG4gICAgXHQgICAgZGl2IHtcbiAgICAgICAgXHQgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIFx0ICAgIGZvbnQtZmFtaWx5OiBAc2VtaUJvbGQ7XG4gICAgICAgIFx0ICAgIC5yZW1zKDE2KTtcbiAgICAgICAgXHQgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICAgIFx0ICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIFx0ICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIFx0ICAgIHBhZGRpbmc6IDAgMCAwIDIycHg7XG4gICAgICAgIFx0ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXG4gICAgICAgICAgICAgICAgQG1lZGlhIEBmdWxsVG9UYWJsZXQge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgXHQgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgXHQgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgXHQgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICBcdCAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBcdCAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBcdCAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBcdCAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIFx0ICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBcdCAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgICAgICAgICAgXHQgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgXHQgICAgbGVmdDogMDtcbiAgICAgICAgICAgIFx0ICAgIHRvcDogN3B4O1xuICAgICAgICBcdCAgICB9XG5cbiAgICAgICAgXHQgICAgJi5ob3RzdGF0cyB7XG4gICAgICAgICAgICBcdCAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRkZENTAwO1xuICAgICAgICAgICAgXHQgICAgfVxuICAgICAgICBcdCAgICB9XG5cbiAgICAgICAgXHQgICAgJi5zdXBwbHkge1xuICAgICAgICAgICAgXHQgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzM4NDQyMDtcbiAgICAgICAgICAgIFx0ICAgIH1cbiAgICAgICAgXHQgICAgfVxuICAgICAgICAgICAgfVxuXHQgICAgfVxuXG4gICAgICAgIC5tYXJrZXQge1xuXG4gICAgXHQgICAgcGFkZGluZzogMTBweCAyMHB4O1xuXG4gICAgXHQgICAgJjpob3ZlcntcbiAgICAgICAgXHQgICAgYmFja2dyb3VuZDogI0Y5RjlGOTtcbiAgICBcdCAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgXHQgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGg0IHtcbiAgICBcdCAgICAucmVtcygyMCk7XG4gICAgXHQgICAgZm9udC1mYW1pbHk6IEBzZW1pQm9sZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICBcdCAgICAucmVtcygxNik7XG5cbiAgICBcdCAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgXHR9XG5cbiAgICAgICAgICAgIC5zdXBwbHkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMzODQ0MjA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ob3RzdGF0cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0ZGRDUwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYudmlkZW8ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjREREIHVybCguLi9pbWFnZXMvbGF5b3V0L3ZpZGVvUG9zdGVyLmF2aWYpIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgaGVpZ2h0OiA4NjBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblx0XHRib3JkZXItdG9wOiAwO1xuXG5cdFx0LmJpZy1pbWFnZSB7XG4gICAgXHRcdGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2xheW91dC92aWRlb1Bvc3Rlci5hdmlmKSBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgei1pbmRleDogNDtcblxuICAgICAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cdFx0fVxuXG4gICAgICAgIC52aWRlb1dyYXAge1xuXG4gICAgXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBcdFx0dG9wOiA1MCU7XG4gICAgXHRcdGxlZnQ6IDUwJTtcbiAgICBcdFx0LnRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwgLTUwJSkpO1xuXG4gICAgXHRcdHZpZGVvIHtcbiAgICAgICAgXHRcdHdpZHRoOiAxMDAlO1xuICAgICAgICBcdFx0aGVpZ2h0OiAxMDAlO1xuICAgICAgICBcdFx0b3BhY2l0eTogMDtcbiAgICBcdFx0fVxuXG4gICAgXHRcdEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgXHRcdGRpc3BsYXk6IG5vbmU7XG4gICAgXHRcdH1cblx0XHR9XG5cblx0XHQudmlkZW8tanMge1xuICAgIFx0XHRoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR9XG5cblx0XHQuYmlnLWltYWdlIHtcblx0XHQgICAgbWluLXdpZHRoOiAxMDAlO1xuXHRcdCAgICBtaW4taGVpZ2h0OiAxMDAlO1xuXHRcdCAgICBoZWlnaHQ6IGF1dG87XG5cdFx0ICAgIHdpZHRoOiBhdXRvO1xuXHRcdCAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ICAgIHotaW5kZXg6IDM7XG5cdFx0fVxuXG4gICAgICAgIC5vdmVybGF5IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC40KTtcbiAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FwdGlvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDU1JTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiA4NzBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIC01MCUpKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDY7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRjtcblxuICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucGxheUJ0biB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICAgICAgLnJlbXMoNjApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgLnJlbXMoODApO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICAgICAgICAgIC5yZW1zKDQwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICAucmVtcygzMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idXR0b25BbHQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNzBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDI1cHggYXV0bztcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogQHNlbWlCb2xkO1xuXG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kb3duIHtcblx0ICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgICAgICAgYm90dG9tOiA1JTtcblx0ICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC42KTtcbiAgICAgICAgICAgIC5yZW1zKDI1KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC42KTtcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1hcmtldFNuYXBzaG90LCAmLnN0YXRpc3RpY3MsICYucHJvZHVjdFRyZW5kcyB7XG5cbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgLmNvbnRlbnQucmlnaHQge1xuXHQgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICAgICAgICB0b3A6IDUwJTtcblx0ICAgICAgICByaWdodDogMDtcblx0ICAgICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuXG4gICAgICAgICAgICBAbWVkaWEgQGZ1bGxEb3duIHtcbiAgICAgICAgICAgICAgICByaWdodDogNDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXQge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgfVxuXHQgICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICBcdCAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFx0ICAgICAgICB0b3A6IDA7XG4gICAgXHQgICAgICAgIHJpZ2h0OiAwO1xuICAgIFx0ICAgICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcblx0ICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZnJhbWUgaW1nIHtcblx0ICAgICAgICBmbG9hdDogcmlnaHQ7XG5cdCAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLyouY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMDBweCAwO1xuICAgICAgICB9Ki9cbiAgICB9XG5cbiAgICAmLm1hcmtldFNuYXBzaG90IHtcbiAgICAgICAgbWluLWhlaWdodDogNzAwcHg7XG5cbiAgICAgICAgLmNvbnRlbnQubGVmdCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudC5yaWdodCB7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YXRpc3RpY3Mge1xuXG5cdCAgICAud3JhcHBlciB7XG5cdFx0ICAgIGhlaWdodDogOTAwcHg7XG5cdFx0fVxuXG5cdCAgICAuc3RhdEdyYXBoIHtcblx0ICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgICAgICAgcmlnaHQ6IDgwcHg7XG5cdCAgICAgICAgYm90dG9tOlx0MTAwcHg7XG5cdCAgICAgICAgei1pbmRleDogMjtcblx0ICAgIH1cblxuXHQgICAgLmVtcHR5RnJhbWUge1xuXHQgICAgICAgIGltZyB7XG5cdFx0ICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG5cdFx0ICAgICAgICBmbG9hdDogcmlnaHQ7XG5cdCAgICAgICAgfVxuXHQgICAgfVxuXG5cdCAgICAuZ3JhcGhzIHtcblx0ICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgICAgICAgcmlnaHQ6IDgwcHg7XG5cdCAgICAgICAgdG9wOlx0MTUwcHg7XG5cdCAgICAgICAgei1pbmRleDogMjtcblx0ICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RERDtcblx0ICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHQgICAgfVxuICAgIH1cblxuXG4gICAgJi5zZWFyY2gge1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgLndyYXBwZXIge1xuXHQgICAgICAgIGhlaWdodDogOTAwcHg7XG5cblx0ICAgICAgICBAbWVkaWEgQHRhYmxldERvd24ge1xuICAgIFx0ICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICBcdCAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICBcdCAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgXHQgICAgICAgIH1cblx0ICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudC5yaWdodCB7XG5cdCAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgICAgICAgIHRvcDogNTAlO1xuXHQgICAgICAgIHJpZ2h0OiAwO1xuXHQgICAgICAgIHBhZGRpbmc6IDYwcHggNDBweDtcblx0ICAgICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuXG5cdCAgICAgICAgQG1lZGlhIEB0YWJsZXREb3duIHtcblx0ICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFx0ICAgICAgICB0b3A6IDA7XG4gICAgXHQgICAgICAgIGxlZnQ6IDA7XG4gICAgXHQgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBcdCAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcblx0ICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAub3ZlcmxheSB7XG5cbi8qXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwxKSA3MCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDEpIDcwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDEpIDcwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuICAgICAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNmZmZmZmYnLCBlbmRDb2xvcnN0cj0nIzAwZmZmZmZmJyxHcmFkaWVudFR5cGU9MSApO1xuKi9cbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGRkY7XG5cdFx0XHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSgyNTMsMjUzLDI1MywxKSAyNSUsIHJnYmEoMjQ5LDI0OSwyNDksMSkgMTAwJSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSxyZ2JhKDI1MywyNTMsMjUzLDEpIDI1JSxyZ2JhKDI0OSwyNDksMjQ5LDEpIDEwMCUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSxyZ2JhKDI1MywyNTMsMjUzLDEpIDI1JSxyZ2JhKDI0OSwyNDksMjQ5LDEpIDEwMCUpO1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDMzJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAgICAgLmllOSAmIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBAdGFibGV0RG93biB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNwbGF5YWJsZU1hcFdyYXAge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAvL2Rpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyOjA7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBAdGFibGV0RG93biB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC50ZXN0aW1vbmlhbHMge1xuXG5cdFx0cGFkZGluZzogMTAwcHggMDtcblx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2xheW91dC9sb2JieS5hdmlmKSBjZW50ZXIgbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cblx0XHRAbWVkaWEgQG1vYmlsZSB7XG4gICAgXHRcdHBhZGRpbmc6IDIwcHggMDtcblx0XHR9XG5cblx0ICAgIC5jYXJvdXNlbCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXHQgICAgfVxuXG4gICAgICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDgwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgICAgIC5yZW1zKDIyKTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAcHJpbWFyeUZvbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDI0MHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDg1JTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtMjBweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTQwcHg7XG4gICAgICAgICAgICAgICAgICAgIC5yZW1zKDMwKTtcbiAgICBcdFx0XHRcdGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMTBkJztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogLTQwcHg7XG4gICAgICAgICAgICAgICAgICAgIC5yZW1zKDMwKTtcbiAgICBcdFx0XHRcdGNvbG9yOiAjRkZGO1xuICAgIFx0XHRcdFx0Y29udGVudDogJ1xcZjEwZSc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCA1cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIC5yZW1zKDE4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5NSU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IC00MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByZXZUZXN0LCAubmV4dFRlc3Qge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMTBweDtcbiAgICAgICAgICAgIC5yZW1zKDMwKTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAjREREO1xuXG4gICAgICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmV2VGVzdCB7XG4gICAgICAgICAgICBsZWZ0OiAtMjBweDtcblxuICAgICAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmV4dFRlc3Qge1xuICAgICAgICAgICAgcmlnaHQ6IC0yMHB4O1xuXG4gICAgICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC5jaGFydHMge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgICAudmlkZW8yIHtcbiAgICAgICAgd2lkdGg6IDU2M3B4O1xuICAgICAgICBoZWlnaHQ6IDM2OHB4O1xuICAgIH1cblxuICAgIC5kYXRhIHtcblxuICAgICAgICAuY2xlYXJmaXgoKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICBoNCB7XG4gICAgICAgICAgICAucmVtcygzMik7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIGNvbG9yOiBAcHJpbWFyeUdyZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICAucmVtcygyMCk7XG4gICAgICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpcnN0LCAuc2Vjb25kIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2xpZW50cyB7XG5cbiAgICBwYWRkaW5nOiA0MHB4IDA7XG5cbiAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICB9XG5cbiAgICAuY2Fyb3VzZWwge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDQwcHggMCA0MHB4O1xuXG4gICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgfVxuXG5cdCAgICAuc2xpY2stZG90cyB7XG5cdCAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcblxuXHQgICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICBcdCAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblx0ICAgICAgICB9XG5cdCAgICB9XG5cbiAgICAgICAgbGkgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxN3B4O1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAucmVtcygyOCk7XG5cbiAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgIC5yZW1zKDIwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmV2LCAubmV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA3OHB4O1xuICAgICAgICAucmVtcygzMCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY29sb3I6ICNEREQ7XG5cbiAgICAgICAgQG1lZGlhIEB0YWJsZXREb3duIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmV2IHtcbiAgICAgICAgbGVmdDogLTIwcHg7XG5cbiAgICAgICAgQG1lZGlhIEB0YWJsZXQge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmV4dCB7XG4gICAgICAgIHJpZ2h0OiAtMjBweDtcblxuICAgICAgICBAbWVkaWEgQHRhYmxldCB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEppZ3NhdyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5tYWluV3JhcHBlciB7XG4gICAgLy9iYWNrZ3JvdW5kOiAjQTlDNEE5IHVybCguLi9pbWFnZXMvY2xpZW50cy9vcGVyYXRpb25zQmcucG5nKTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5jb250ZW50IHtcblx0ICAgIHBhZGRpbmc6IDUwcHggMDtcblx0ICAgIGZsb2F0OiByaWdodDtcblx0ICAgIC5jbGVhcmZpeCgpO1xuXHQgICAgd2lkdGg6IDYwJTtcblxuXHRcdC5pZTkgJiB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cblx0ICAgIC5uZXh0LCAucHJldiB7XG4gICAgXHQgICAgZGlzcGxheTogbm9uZTtcblx0ICAgIH1cblxuICAgICAgICBAbWVkaWEgQGppZ3NhdyB7XG4gICAgICAgICAgICB3aWR0aDogNTIlO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIEBmdWxsVG9UYWJsZXQge1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgfVxuXG5cdCAgICBAbWVkaWEgQHRhYmxldERvd24ge1xuICAgIFx0ICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgXHQgICAgLnNsaWNrLWRvdHMge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDNweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY3RhR3JlZW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uZXh0LCAucHJldiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIC5yZW1zKDIwKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGN0YUdyZWVuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByZXYge1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0zMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubmV4dCB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0zMHB4O1xuICAgICAgICAgICAgfVxuXG5cdCAgICB9XG5cblx0ICAgIGgyIHtcblx0XHQgICAgLnJlbXMoMzApO1xuXHRcdCAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgY29sb3I6ICNGRkY7XG5cblx0ICAgICAgICAmOmFmdGVyIHtcblx0XHQgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdCAgICAgICAgd2lkdGg6IDE1cHg7XG5cdFx0ICAgICAgICBoZWlnaHQ6IDJweDtcblx0XHQgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdFx0ICAgICAgICBtYXJnaW46IDVweCAwIDIwcHggMDtcblx0XHQgICAgICAgIGJhY2tncm91bmQ6ICNGRkY7XG5cdFx0ICAgICAgICBjb250ZW50OiAnJztcblx0ICAgICAgICB9XG5cblx0XHQgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgIFx0XHQgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIFx0XHQgICAgd2lkdGg6IDEwMCU7XG4gICAgXHRcdCAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgXHRcdCAgICAmOmFmdGVyIHtcbiAgICAgICAgXHRcdCAgICBtYXJnaW46IDAgYXV0bztcbiAgICBcdFx0ICAgIH1cblx0XHQgICAgfVxuXHQgICAgfVxuXG5cdCAgICBoMyB7XG5cdFx0ICAgIC5yZW1zKDIwKTtcblx0XHRcdGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBzZW1pQm9sZDtcblxuXHRcdCAgICAmOmFmdGVyIHtcbiAgICBcdFx0ICAgIG1hcmdpbjogNXB4IDA7XG5cdFx0ICAgIH1cblxuXHQgICAgfVxuXG5cdCAgICAuc2xpY2stc2xpZGUge1xuICAgIFx0ICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgXHQgICAgcGFkZGluZzogMCAycHg7XG5cdCAgICB9XG5cblx0ICAgIC5zZWN0b3Ige1xuXHRcdCAgICB3aWR0aDogNDglO1xuXHRcdCAgICBmbG9hdDogbGVmdDtcblx0XHRcdG1hcmdpbjogMCA0JSAyMHB4IDA7XG5cdFx0XHRwYWRkaW5nOiAzMHB4O1xuXHRcdFx0YmFja2dyb3VuZDogZGFya2VuKEBwcmltYXJ5R3JlZW4sMTUlKTtcblx0XHRcdGNvbG9yOiAjRkZGO1xuXHRcdFx0aGVpZ2h0OiAzMjBweDtcblxuXHRcdFx0LmllOSAmIHtcbiAgICBcdFx0XHR3aWR0aDogNDklO1xuICAgIFx0XHRcdG1hcmdpbjogMCAxJSAyMHB4IDA7XG4gICAgXHRcdFx0ZmxvYXQ6IGxlZnQ7XG4gICAgXHRcdFx0aGVpZ2h0OiAyNTBweDtcblx0XHRcdH1cblxuXG4gICAgICAgICAgICBAbWVkaWEgQGppZ3NhdyB7XG4gICAgXHRcdFx0d2lkdGg6IDEwMCU7XG4gICAgXHRcdFx0bWFyZ2luOiAwIDAgMjBweCAwO1xuICAgIFx0XHRcdGZsb2F0OiBub25lO1xuICAgIFx0XHRcdGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXQge1xuICAgIFx0XHQgICAgd2lkdGg6IDQ4JTtcbiAgICBcdFx0ICAgIGZsb2F0OiBsZWZ0O1xuICAgIFx0XHRcdG1hcmdpbjogMCA0JSAyMHB4IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM1MHB4O1xuICAgICAgICAgICAgfVxuXG5cdFx0XHRAbWVkaWEgQG1vYmlsZSB7XG4gICAgXHRcdFx0d2lkdGg6IDEwMCU7XG4gICAgXHRcdFx0bWFyZ2luOiAwIDAgMjBweCAwO1xuICAgIFx0XHRcdGZsb2F0OiBub25lO1xuICAgIFx0XHRcdGhlaWdodDogYXV0bztcbiAgICBcdFx0XHRwYWRkaW5nOiAxNXB4O1xuXHRcdFx0fVxuXG5cdFx0ICAgICY6bnRoLWNoaWxkKDJuKSB7XG5cdFx0XHQgICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuXHRcdCAgICB9XG5cblx0XHQgICAgJjpudGgtY2hpbGQoM24pIHtcblx0XHRcdCAgICBjbGVhcjogYm90aDtcblx0XHRcdH1cblxuICAgICAgICBcdGxpIHtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyNXB4O1xuXG4gICAgICAgICAgICBcdCY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBcdGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIFx0ZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgXHRmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICAgICAgICAgICAgICBcdHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgIFx0Y29sb3I6IEBjdGFHcmVlbjtcbiAgICAgICAgICAgICAgICBcdGNvbnRlbnQ6ICdcXGYwMGMnO1xuICAgICAgICAgICAgICAgIFx0cG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIFx0bGVmdDogMDtcbiAgICAgICAgICAgICAgICBcdHRvcDogMDtcbiAgICAgICAgICAgIFx0fVxuICAgIFx0ICAgIH1cblx0ICAgIH1cbiAgICB9XG59XG5cblx0LmtleXMge1xuICAgIFx0ZmxvYXQ6IGxlZnQ7XG4gICAgXHR3aWR0aDogNjAwcHg7XG4gICAgXHRjbGVhcjogbGVmdDtcbiAgICBcdG1hcmdpbi10b3A6IDUwcHg7XG4gICAgXHRkaXNwbGF5OiBub25lO1xuXG4gICAgXHRsaSB7XG4gICAgICAgIFx0ZmxvYXQ6IGxlZnQ7XG4gICAgICAgIFx0d2lkdGg6IDQ5JTtcbiAgICAgICAgXHRtYXJnaW4tcmlnaHQ6ICAyJTtcbiAgICAgICAgXHRwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIFx0LnJlbXMoMjUpO1xuICAgICAgICBcdGNvbG9yOiAjRkZGO1xuICAgICAgICBcdGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICBcdGZvbnQtZmFtaWx5OiBAc2VtaUJvbGQ7XG4gICAgICAgIFx0dGV4dC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLDAsMCwwLjMpO1xuXG4gICAgICAgIFx0JjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICAgIFx0bWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBcdH1cbiAgICBcdH1cblxuICAgIFx0LmtleSB7XG4gICAgICAgIFx0ZGlzcGxheTogYmxvY2s7XG4gICAgICAgIFx0ZmxvYXQ6IGxlZnQ7XG4gICAgICAgIFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICBcdHdpZHRoOiAyNXB4O1xuICAgICAgICBcdGhlaWdodDogMjVweDtcblxuICAgICAgICBcdCYub3BlcmF0aW9ucyB7XG4gICAgICAgIFx0XHRiYWNrZ3JvdW5kOiBAcHJpbWFyeUdyZWVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnJlYWxFc3RhdGUge1xuICAgICAgICBcdFx0YmFja2dyb3VuZDogIzgxRkY4MTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5maW5hbmNlSW52ZXN0bWVudCB7XG4gICAgICAgIFx0XHRiYWNrZ3JvdW5kOiAjNjc3RjY3O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnNlcnZpY2VTdXBwb3J0IHtcbiAgICAgICAgXHRcdGJhY2tncm91bmQ6IEBjdGFHcmVlbjtcbiAgICAgICAgICAgIH1cbiAgICBcdH1cblx0fVxuXG4uamlnc2F3V3JhcCB7XG5cdHdpZHRoOiA1MDBweDtcblx0aGVpZ2h0OiA1MDBweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW46IDIxNXB4IDAgMCAwO1xuXHRmbG9hdDogbGVmdDtcblxuXHQuaWU5ICYge1xuICAgIFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdEBtZWRpYSBAamlnc2F3IHtcbiAgICBcdG1hcmdpbjogNTBweCAwIDAgMDtcblx0fVxuXG5cdEBtZWRpYSBAdGFibGV0RG93biB7XG4gICAgXHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LmNlbnRlciB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogNTAlO1xuXHRcdGxlZnQ6IDUwJTtcblx0XHQudHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLC01MCUpKTtcblx0XHR3aWR0aDogNDAwcHg7XG5cdFx0ei1pbmRleDogNjtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdGgyIHtcblx0XHRcdC5yZW1zKDM1KTtcblx0XHRcdHBhZGRpbmc6IDQwcHggMjBweDtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRjb2xvcjogQHByaW1hcnlHcmVlbjtcblx0XHRcdGZvbnQtZmFtaWx5OiBAc2VtaUJvbGQ7XG5cdFx0fVxuXHR9XG5cblx0LmNlbnRlckxvd2VyIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0bGVmdDogNTAlO1xuXHRcdC50cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsLTUwJSkpO1xuXHRcdHdpZHRoOiA0MDBweDtcblx0XHRoZWlnaHQ6IDQwMHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHQvL2JhY2tncm91bmQ6ICNGRkYgO1xuXHRcdHotaW5kZXg6IDU7XG5cdFx0Ly9wb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRkaXNwbGF5OiBub25lO1xuXG5cdH1cblxuXHQuYXJyb3cge1xuXHRcdHJpZ2h0OiAtMDtcblx0XHR0b3A6IDUwJTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0ei1pbmRleDogMTtcblx0XHR3aWR0aDogNDBweDtcblx0XHRoZWlnaHQ6IDQwcHg7XG5cdFx0LnRyYW5zZm9ybShyb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVkoLTUwJSkpO1xuXHR9XG5cblx0Ji5vcGVyYXRpb25zIHtcblx0XHQuYXJyb3cge1xuXHRcdFx0YmFja2dyb3VuZDogQHByaW1hcnlHcmVlbjtcblx0XHR9XG5cbiAgICAgICAgLm9wZXJhdGlvbnMge1xuICAgIFx0XHRoMywgcCB7XG4gICAgICAgIFx0XHRvcGFjaXR5OiAxO1xuICAgIFx0XHR9XG4gICAgXHRcdGl7XG4gICAgICAgIFx0XHRkaXNwbGF5OiBub25lO1xuICAgIFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji5yZWFsRXN0YXRlIHtcblx0XHQuYXJyb3cge1xuXHRcdFx0YmFja2dyb3VuZDogIzAxN0E2RDtcblx0XHR9XG5cbiAgICAgICAgLnJlYWxFc3RhdGUge1xuICAgIFx0XHRoMywgcCB7XG4gICAgICAgIFx0XHRvcGFjaXR5OiAxO1xuICAgIFx0XHR9XG4gICAgXHRcdGl7XG4gICAgICAgIFx0XHRkaXNwbGF5OiBub25lO1xuICAgIFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji5maW5hbmNlSW52ZXN0bWVudCB7XG5cdFx0LmFycm93IHtcblx0XHRcdGJhY2tncm91bmQ6IEBwcmltYXJ5R3JlZW47XG5cdFx0fVxuXG4gICAgICAgIC5maW5hbmNlSW52ZXN0bWVudCB7XG4gICAgXHRcdGgzLCBwIHtcbiAgICAgICAgXHRcdG9wYWNpdHk6IDE7XG4gICAgXHRcdH1cbiAgICBcdFx0aXtcbiAgICAgICAgXHRcdGRpc3BsYXk6IG5vbmU7XG4gICAgXHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLnNlcnZpY2VTdXBwb3J0IHtcblx0XHQuYXJyb3cge1xuXHRcdFx0YmFja2dyb3VuZDogIzAxN0E2RDtcblx0XHR9XG5cbiAgICAgICAgLnNlcnZpY2VTdXBwb3J0IHtcbiAgICBcdFx0aDMsIHAge1xuICAgICAgICBcdFx0b3BhY2l0eTogMTtcbiAgICBcdFx0fVxuXG4gICAgXHRcdGl7XG4gICAgICAgIFx0XHRkaXNwbGF5OiBub25lO1xuICAgIFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5qaWdzYXcge1xuXG5cdHdpZHRoOiA1MDBweDtcblx0aGVpZ2h0OiA1MDBweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHQvL2JhY2tncm91bmQ6ICNGRkYgO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC50cmFuc2Zvcm0odHJhbnNsYXRlWigycHgpKTtcblx0LnRyYW5zZm9ybShyb3RhdGUoMCkpO1xuXHQudHJhbnNpdGlvbih0cmFuc2Zvcm0gbGluZWFyIDUwMG1zKTtcblx0ei1pbmRleDogMTtcblxuXHQmOmhvdmVyIHtcblxuXHR9XG5cblx0aDMsIGkge1xuICAgIFx0b3BhY2l0eTogMC41O1xuXHR9XG5cblx0aSB7XG4gICAgXHRvcGFjaXR5OiAwLjMxO1xuICAgIFx0ZGlzcGxheTogbm9uZTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogMTA7XG5cdFx0LnJlbXMoMzApO1xuXHRcdGNvbG9yOiAjRkZGO1xuICAgICAgICB0b3A6IDIyJTtcbiAgICAgICAgcmlnaHQ6IDE1NnB4O1xuXHRcdC50cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG5cdFx0LnRyYW5zaXRpb24ob3BhY2l0eSBsaW5lYXIgMzAwbXMpO1xuXHR9XG5cblx0aDMge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAxMDtcblx0XHRjb2xvcjogI0ZGRjtcblx0XHR3aWR0aDogMjUwcHg7XG5cdFx0LnRyYW5zaXRpb24ob3BhY2l0eSBsaW5lYXIgMzAwbXMpO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRmb250LWZhbWlseTogQHNlbWlCb2xkO1xuXHRcdHRvcDogMTBweDtcblx0XHQucmVtcygyMSk7XG5cblx0XHQmOmFmdGVyIHtcbiAgICBcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHRwIHtcbiAgICBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBcdHdpZHRoOiAyMjBweDtcbiAgICBcdG1hcmdpbi1sZWZ0OiAxNXB4O1xuXHRcdHRvcDogNDBweDtcblx0XHRjb2xvcjogI0ZGRjtcblx0XHRmb250LWZhbWlseTogQHByaW1hcnlGb250O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHQucmVtcygxMyk7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQudHJhbnNpdGlvbihvcGFjaXR5IGxpbmVhciAzMDBtcyk7XG5cdH1cblxuXHQucXVhZHJhbnQge1xuXHRcdHdpZHRoOiAzMDBweDtcblx0XHRoZWlnaHQ6IDMwMHB4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3JkZXI6IDA7XG5cdFx0LnRyYW5zaXRpb24oYWxsIGxpbmVhciAzMDBtcyk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJvcmRlcjogMDtcblx0XHRcdG9wYWNpdHk6IDE7XG5cbiAgICBcdFx0aSB7XG4gICAgXHRcdCAgICBvcGFjaXR5OiAwLjg7XG4gICAgXHRcdH1cblx0XHR9XG5cdH1cblxuXHRpbWcge1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdG1heC13aWR0aDogbm9uZTtcblx0fVxuXG5cdC53cmFwIHtcblxuXHRcdCY6aG92ZXIge1xuXG5cdFx0XHRoMyB7XG4gICAgXHRcdFx0b3BhY2l0eTogMC44O1xuXHRcdFx0fVxuICAgICAgICB9XG5cbiAgICAgICAgJi5mbGlwIHtcbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAudHJhbnNmb3JtKHNjYWxlWCgtMSkgc2NhbGVZKC0xKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblx0fVxuXG5cdC5vcGVyYXRpb25zIHtcblxuXHRcdC5xdWFkcmFudCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAcHJpbWFyeUdyZWVuO1xuXHRcdFx0dG9wOiAxMDBweDtcblx0XHRcdGxlZnQ6IDUyM3B4O1xuXHRcdFx0LnRyYW5zZm9ybShyb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlWigxcHgpKTtcblx0XHR9XG5cblx0XHRpbWcge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAyN3B4O1xuICAgICAgICAgICAgbGVmdDogMzFweDtcblx0XHR9XG5cblx0XHRoMyB7XG4gICAgIFx0XHRjb2xvcjogI2ZmZjtcblx0XHR9XG5cblxuXHR9XG5cblx0LnJlYWxFc3RhdGUge1xuXG5cdFx0LnF1YWRyYW50IHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IEBwcmltYXJ5R3JlZW47XG4gICAgICAgICAgICB0b3A6IC0zMjNweDtcbiAgICAgICAgICAgIHJpZ2h0OiAxMDBweDtcblx0XHRcdC50cmFuc2Zvcm0ocm90YXRlKC0xMzVkZWcpIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGVaKDFweCkpO1xuICAgICAgICAgICAgei1pbmRleDogNDtcblx0XHR9XG5cblx0XHRpbWcge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtNzlweDtcbiAgICAgICAgICAgIGxlZnQ6IDBweDtcblx0XHR9XG5cblx0XHRoMyxwIHtcbiAgICAgXHRcdGNvbG9yOiAjZmZmO1xuXHRcdH1cblxuXHR9XG5cblx0LmZpbmFuY2VJbnZlc3RtZW50IHtcblxuXHRcdC5xdWFkcmFudCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAcHJpbWFyeUdyZWVuO1xuICAgICAgICAgICAgYm90dG9tOiAxMDBweDtcbiAgICAgICAgICAgIGxlZnQ6IC0zMjNweDtcblx0XHRcdC50cmFuc2Zvcm0ocm90YXRlKC0yMjVkZWcpIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGVaKDFweCkpO1xuXHRcdH1cblxuXHRcdGltZyB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IC03OXB4O1xuXHRcdFx0bGVmdDogMDtcblx0XHR9XG5cblx0XHRoMyB7XG4gICAgXHRcdGNvbG9yOiAjZmZmO1xuXHRcdH1cblxuXHR9XG5cblx0LnNlcnZpY2VTdXBwb3J0IHtcblxuXHRcdC5xdWFkcmFudCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAY3RhR3JlZW47XG4gICAgICAgICAgICB0b3A6IDUyNHB4O1xuICAgICAgICAgICAgbGVmdDogOThweDtcblx0XHRcdC50cmFuc2Zvcm0ocm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlWigxcHgpKTtcblx0XHR9XG5cblx0XHRpbWcge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtNzlweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG5cdFx0fVxuXG5cblx0XHRoMyxwIHtcbiAgICAgXHRcdGNvbG9yOiAjZmZmO1xuXHRcdH1cblxuXHR9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQ2Fyb3VzZWxzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmNhcm91c2VsIHtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWRvdHMge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0RERDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1hY3RpdmUge1xuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY3RhR3JlZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRhdGFDYXJvdXNlbCB7XG4gICAgICAgICYgPiAuZGF0YTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIC5jbGVhcmZpeCgpO1xuXG4gICAgICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgLmNsZWFyZml4KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTdWIgUGFnZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jb3ZlckltYWdlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogODBweDtcblx0YmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9sYXlvdXQvY292ZXJJbWFnZS5qcGcpIGNlbnRlciBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUHJvZHVjdHMgUGFnZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5kZXZpY2VzIHtcblxuXHRiYWNrZ3JvdW5kOiAjRkZGO1xuXHRwYWRkaW5nOiAxMDBweCAwO1xuXHRib3JkZXItdG9wOiAwO1xuXG5cdEBtZWRpYSBAbW9iaWxlIHtcbiAgICBcdHBhZGRpbmc6IDQwcHggMDtcblx0fVxuXG5cdC5jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDQ0JTtcblxuICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaGVsZiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtNyU7XG4gICAgICAgIGxlZnQ6IC0xMjBweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wcm9kdWN0cy9zaGVsZi5wbmcpIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgIHdpZHRoOiAxNDAwcHg7XG4gICAgICAgIGhlaWdodDogMjg5cHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlWSgyMCUpKTtcbiAgICAgICAgLnRyYW5zaXRpb24oYWxsIDgwMG1zIGVhc2UtaW4tb3V0IDQwMG1zKTtcblxuXHRcdEBtZWRpYSBAbW9iaWxlIHtcbiAgICBcdFx0ZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYudmlzaWJsZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcbiAgICAgICAgfVxuICAgIH1cblxuXHQuZGV2aWNlV3JhcCB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0d2lkdGg6IDEwMDBweDtcblx0XHRoZWlnaHQ6IDYwMHB4O1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdEBtZWRpYSBAbW9iaWxlIHtcbiAgICBcdFx0aGVpZ2h0OiA0NTBweDtcbiAgICBcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0LmRldmljZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LnRyYW5zZm9ybSh0cmFuc2xhdGVYKDUwJSkpO1xuXHRcdHotaW5kZXg6IDI7XG5cblx0XHQmLnZpc2libGUge1xuXHRcdFx0LmtleWZyYW1lcyhmYWRlVXA7IHtcblx0XHRcdFx0MCUge29wYWNpdHk6IDA7IC50cmFuc2Zvcm0odHJhbnNsYXRlWCg1MCUpKTt9XG5cdFx0XHRcdDEwMCUge29wYWNpdHk6IDE7IC50cmFuc2Zvcm0odHJhbnNsYXRlWCgwKSk7fVxuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0Lm1hY2Jvb2sge1xuXHRcdHdpZHRoOiA4MDBweDtcblx0XHRoZWlnaHQ6IDQ1MHB4O1xuXHRcdGxlZnQ6IDA7XG5cdFx0dG9wOiAwO1xuXG5cdFx0QG1lZGlhIEBtb2JpbGUge1xuICAgIFx0XHR3aWR0aDogNjAwcHg7XG4gICAgXHRcdGhlaWdodDogMzM4cHg7XG4gICAgXHRcdGxlZnQ6IDE1JTtcblx0XHR9XG5cblx0XHQmLnZpc2libGUge1xuICAgICAgICAgICAgLmFuaW1hdGlvbihmYWRlVXAgODAwbXMgZWFzZS1vdXQgODAwbXMgMSBmb3J3YXJkcyk7XG5cdFx0fVxuXHR9XG5cblx0LmlwYWQge1xuXHRcdHdpZHRoOiA0MjBweDtcblx0XHRoZWlnaHQ6IDMwMHB4O1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHRvcDogMjAwcHg7XG5cblx0XHRAbWVkaWEgQG1vYmlsZSB7XG4gICAgXHRcdHdpZHRoOiAyODBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgXHRcdC50cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7XG5cdFx0fVxuXG5cdFx0Ji52aXNpYmxlIHtcbiAgICAgICAgICAgIC5hbmltYXRpb24oZmFkZVVwIDgwMG1zIGVhc2Utb3V0IDE0MDBtcyAxIGZvcndhcmRzKTtcblx0XHR9XG5cdH1cblxuXHQuaXBob25lIHtcblx0XHR3aWR0aDogMTQwcHg7XG4gICAgICAgIGhlaWdodDogMzUwcHg7XG4gICAgICAgIGxlZnQ6IDQ3JTtcbiAgICAgICAgYm90dG9tOiAwJTtcblxuXHRcdEBtZWRpYSBAbW9iaWxlIHtcbiAgICBcdFx0d2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogLTEwJTtcblx0XHR9XG5cblx0XHQmLnZpc2libGUge1xuICAgICAgICAgICAgLmFuaW1hdGlvbihmYWRlVXAgODAwbXMgZWFzZS1vdXQgMTkwMG1zIDEgZm9yd2FyZHMpO1xuXHRcdH1cblx0fVxuXG5cdC5hcnJvdyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0b3BhY2l0eTogMDsvKlxuXG5cdFx0LnRyYW5zZm9ybSh0cmFuc2xhdGVZKDIwJSkpO1xuXG5cdFx0Ji52aXNpYmxlIHtcblx0XHRcdC5rZXlmcmFtZXMoZmFkZVVwOyB7XG5cdFx0XHRcdDAlIHtvcGFjaXR5OiAwOyAudHJhbnNmb3JtKHRyYW5zbGF0ZVkoMjAlKSk7fVxuXHRcdFx0XHQxMDAlIHtvcGFjaXR5OiAxOyAudHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO31cblx0XHRcdH0pO1xuXHRcdH1cbiovXG5cblx0XHRoMiB7XG5cdFx0XHRmb250LWZhbWlseTogQHNlbWlCb2xkO1xuXHRcdFx0Y29sb3I6IEBwcmltYXJ5R3JlZW47XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuXHRcdFx0cGFkZGluZzogMCAyMHB4O1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblxuXHRcdCYubGVmdCB7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRsZWZ0OiAtMTAwcHg7XG5cblx0XHRcdGgyIHtcblx0XHRcdFx0Ym90dG9tOiAtMTVweDtcblx0XHRcdH1cblxuXHRcdFx0Ji52aXNpYmxlIHtcblx0ICAgICAgICAgICAgLmFuaW1hdGlvbihmYWRlVXAgNDAwbXMgZWFzZS1pbiAyMDAwbXMgMSBmb3J3YXJkcyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5yaWdodCB7XG5cdFx0XHR0b3A6IDMyMHB4O1xuXHRcdFx0cmlnaHQ6IC0yMTVweDtcblxuXHRcdFx0aDIge1xuXHRcdFx0XHRib3R0b206IC0xNXB4O1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblxuXHRcdFx0Ji52aXNpYmxlIHtcblx0ICAgICAgICAgICAgLmFuaW1hdGlvbihmYWRlVXAgNDAwbXMgZWFzZS1pbiAyMzUwbXMgMSBmb3J3YXJkcyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5taWRkbGUge1xuXHRcdFx0Ym90dG9tOiAtODBweDtcblx0XHRcdGxlZnQ6IDU4JTtcblx0XHRcdG1hcmdpbi1yaWdodDogLTgwcHg7XG5cblx0XHRcdGgyIHtcblx0XHRcdFx0Ym90dG9tOiAtMTVweDtcblx0XHRcdH1cblxuXHRcdFx0Ji52aXNpYmxlIHtcblx0ICAgICAgICAgICAgLmFuaW1hdGlvbihmYWRlVXAgNDAwbXMgZWFzZS1pbiAyNzAwbXMgMSBmb3J3YXJkcyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5pbnNpZ2h0c1Byb2R1Y3Qge1xuXG5cdHBhZGRpbmc6IDEwMHB4IDA7XG5cblx0QG1lZGlhIEBtb2JpbGUge1xuICAgIFx0cGFkZGluZzogMjBweCAwO1xuXHR9XG5cblx0aDEsIGgzIHtcbiAgICBcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdGgzIHtcbiAgICBcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICBcdEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIFx0fVxuXG4gICAgXHQmOmFmdGVye1xuICAgICAgICBcdG1hcmdpbjogMTBweCBhdXRvO1xuICAgIFx0fVxuXHR9XG5cblx0LmhpZ2hsaWdodHMge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdC5jbGVhcmZpeCgpO1xuXG5cdFx0QG1lZGlhIEBtb2JpbGUge1xuXG4gICAgXHQgICAgLnNsaWNrLWRvdHMge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDNweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjREREO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY3RhR3JlZW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cdFx0fVxuXG5cdFx0LmhpZ2hsaWdodCB7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdHdpZHRoOiAzMiU7XG5cdFx0XHRtYXJnaW46IDAgMiUgMjBweCAwO1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdC5yZW1zKDIwKTtcblx0XHRcdGNvbG9yOiAjOTk5O1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgLmNsZWFyZml4KCk7XG5cblxuICAgICAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgICAgICB9XG5cblx0XHRcdGgyIHtcblx0XHRcdFx0Zm9udC1mYW1pbHk6IEBsaWdodDtcblxuXHRcdFx0XHQmOmFmdGVyIHtcbiAgICBcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDM4Nzc5O1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcblx0XHRcdFx0fVxuXG4gICAgXHRcdFx0QG1lZGlhIEBmdWxsRG93biB7XG4gICAgXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgXHRcdFx0XHR3aWR0aDogMTAwJTtcblxuICAgIFx0XHRcdFx0JjphZnRlciB7XG4gICAgICAgIFx0XHRcdFx0bWFyZ2luOiAxMHB4IGF1dG87XG4gICAgXHRcdFx0XHR9XG4gICAgICAgICAgICAgICAgfVxuXG5cdFx0XHRcdEBtZWRpYSBAbW9iaWxlIHtcbiAgICBcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXG4gICAgXHRcdFx0XHQmOmFmdGVyIHtcbiAgICAgICAgXHRcdFx0XHRtYXJnaW46IDEwcHggYXV0bztcbiAgICBcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOm50aC1jaGlsZCgzbikge1xuXHRcdFx0XHRtYXJnaW46IDAgMCAyMHB4IDA7XG5cblx0XHRcdFx0QG1lZGlhIEBtb2JpbGUge1xuICAgIFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGRpdiB7XG4gICAgXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuICAgIFx0XHRcdHdpZHRoOiA2NSU7XG4gICAgXHRcdFx0dG9wOiAwJTtcbiAgICBcdFx0XHRyaWdodDogMDtcbiAgICBcdFx0XHRtaW4taGVpZ2h0OiAxNjVweDtcblxuICAgIFx0XHRcdEBtZWRpYSBAZnVsbERvd24ge1xuICAgICAgICBcdFx0XHR3aWR0aDogMTAwJTtcbiAgICAgICAgXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuICAgIFx0XHRcdH1cblxuICAgICAgICAgICAgICAgIEBtZWRpYSBAdGFibGV0IHtcbiAgICAgICAgICAgICAgICAgICAgLnJlbXMoMTcpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgXHRcdFx0QG1lZGlhIEBtb2JpbGUge1xuICAgICAgICBcdFx0XHR3aWR0aDogMTAwJTtcbiAgICAgICAgXHRcdFx0ZmxvYXQ6IG5vbmU7XG4gICAgICAgIFx0XHRcdG1pbi1oZWlnaHQ6IHVuc2V0O1xuICAgICAgICBcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIFx0XHRcdHBhZGRpbmc6IDVweCAwIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICBcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGkge1xuICAgIFx0XHRcdGJvcmRlci1yYWRpdXM6ICg1MCUpO1xuICAgIFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNFRUU7XG4gICAgXHRcdFx0YmFja2dyb3VuZDogI0ZGRjtcblx0XHRcdFx0LnJlbXMoNjApO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0d2lkdGg6IDMzJTtcblx0XHRcdFx0bWF4LXdpZHRoOiAxMzBweDtcblx0XHRcdFx0bWF4LWhlaWdodDogMTMwcHg7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0Y29sb3I6IEBjdGFHcmVlbjtcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogNDBweDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0LnRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcblx0XHRcdFx0cGFkZGluZzogMzNweCAwO1xuXG5cdFx0XHRcdEBtZWRpYSBAZnVsbERvd24ge1xuICAgIFx0XHRcdFx0d2lkdGg6IDEzMHB4O1xuICAgIFx0XHRcdFx0aGVpZ2h0OiAxMzBweDtcbiAgICBcdFx0XHRcdG1heC1oZWlnaHQ6IDEzMHB4O1xuICAgIFx0XHRcdFx0cG9zaXRpb246IHN0YXRpYztcbiAgICBcdFx0XHRcdGZsb2F0OiBub25lO1xuICAgIFx0XHRcdFx0bWFyZ2luOiAxMHB4IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAbWVkaWEgQG1vYmlsZSB7XG4gICAgXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXHRcdFx0XHR0b3A6IDA7XG4gICAgXHRcdFx0XHRmbG9hdDogbm9uZTtcbiAgICBcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgICAgICAucmVtcyg0NSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnByb2R1Y3RUcmVuZHMge1xuXG5cdC5saXN0IHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW46IDIwcHggODBweCA0MHB4IDA7XG5cblx0XHRAbWVkaWEgQGppZ3NhdyB7XG4gICAgXHRcdG1hcmdpbjogMjBweCA2MHB4IDQwcHggMDtcblx0XHR9XG5cblx0XHRAbWVkaWEgQG1vYmlsZSB7XG4gICAgXHRcdG1hcmdpbjogMTBweCAwO1xuICAgIFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cblx0XHRoMiB7XG5cdFx0XHQucmVtcygyOCk7XG5cdFx0XHRmb250LWZhbWlseTogQGxpZ2h0O1xuICAgICAgICAgICAgY29sb3I6IEBwcmltYXJ5R3JlZW47XG5cblx0XHRcdCY6YWZ0ZXIge1xuICAgIFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM3MEMwNkI7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5jYWxsVG9BY3Rpb25CYXIge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogNzBweCAwO1xuXHRiYWNrZ3JvdW5kOiAjRjFGMUYxO1xuXG5cdEBtZWRpYSBAbW9iaWxlIHtcbiAgICBcdHBhZGRpbmc6IDIwcHggMDtcblx0fVxuXG5cdC5idXR0b25zIHtcblx0XHR3aWR0aDogNDAwcHg7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cblx0XHRAbWVkaWEgQG1vYmlsZSB7XG4gICAgXHRcdHdpZHRoOiAyMDBweDtcblx0XHR9XG5cblx0XHQuYnV0dG9uQWx0IHtcbiAgICBcdFx0d2lkdGg6IDE4MHB4O1xuICAgIFx0XHQucmVtcygxOCk7XG5cbiAgICBcdFx0QG1lZGlhIEBtb2JpbGUge1xuICAgICAgICBcdFx0d2lkdGg6IDIwMHB4O1xuICAgICAgICBcdFx0bWFyZ2luOiA1cHggMDtcbiAgICBcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ucmVnaW9uIHtcblxuICAgICYjaXJlbGFuZCxcbiAgICAmLmlyZWxhbmQge1xuXHQgICAgZmlsbDogIzAwNzk3NjtcbiAgICB9XG5cbiAgICAmI3Njb3RsYW5kLFxuICAgICYuc2NvdGxhbmQge1xuXHQgICAgZmlsbDogIzAwOTA4ZDtcbiAgICB9XG5cbiAgICAmI25vcnRoZXJuSXJlbGFuZCxcbiAgICAmLm5vcnRoZXJuSXJlbGFuZCB7XG5cdCAgICBmaWxsOiAjMDBCMkFFO1xuICAgIH1cblxuICAgICYjbm9ydGhFYXN0LFxuICAgICYubm9ydGhFYXN0IHtcblx0ICAgIGZpbGw6ICMwMGQyY2Q7XG4gICAgfVxuXG4gICAgJiNub3J0aFdlc3QsXG4gICAgJi5ub3J0aFdlc3Qge1xuXHQgICAgZmlsbDogIzE2YmNiOTtcbiAgICB9XG5cbiAgICAmI3lvcmtzaGlyZSxcbiAgICAmLnlvcmtzaGlyZSB7XG5cdCAgICBmaWxsOiAjMzA4YTg4O1xuICAgIH1cblxuICAgICYjd2VzdE1pZGxhbmRzLFxuICAgICYud2VzdE1pZGxhbmRzIHtcblx0ICAgIGZpbGw6ICM0ZGFiYTk7XG4gICAgfVxuXG4gICAgJiN3YWxlcyxcbiAgICAmLndhbGVzIHtcblx0ICAgIGZpbGw6ICM3ZWUxZGY7XG4gICAgfVxuXG4gICAgJiNlYXN0TWlkbGFuZHMsXG4gICAgJi5lYXN0TWlkbGFuZHMge1xuXHQgICAgZmlsbDogIzE4OGY4MjtcbiAgICB9XG5cbiAgICAmI2Vhc3RvZkVuZ2xhbmQsXG4gICAgJi5lYXN0b2ZFbmdsYW5kIHtcblx0ICAgIGZpbGw6ICMwM2IzOWY7XG4gICAgfVxuXG4gICAgJiNsb25kb24sXG4gICAgJi5sb25kb24ge1xuXHQgICAgZmlsbDogIzUxOWM5NDtcbiAgICB9XG5cbiAgICAmI3NvdXRoV2VzdCxcbiAgICAmLnNvdXRoV2VzdCB7XG5cdCAgICBmaWxsOiAjMzg5NjhiO1xuICAgIH1cblxuICAgICYjc291dGhFYXN0LFxuICAgICYuc291dGhFYXN0IHtcblx0ICAgIGZpbGw6ICMzNjc3NzA7XG4gICAgfVxufVxuXG4uaG90c3BvdE1hcCB7XG5cdHBhZGRpbmc6IDUwcHggMDtcblxuXHQuc3ZnQ29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTtcblxuICAgICAgICBAbWVkaWEgQHRhYmxldCB7XG4gICAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNzAlO1xuICAgIFx0fVxuXG4gICAgXHRAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICBcdH1cblx0fVxuXG4gICAgc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG5cdEBtZWRpYSBAdGFibGV0IHtcblxuICAgIFx0c3ZnIHtcbiAgICAgICAgXHR3aWR0aDogMTAwJTtcbiAgICAgICAgXHRtYXJnaW46IDAgYXV0bztcbiAgICAgICAgXHRoZWlnaHQ6IGF1dG87XG4gICAgICAgIFx0ZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICBcdH1cblx0fVxuXG5cdEBtZWRpYSBAbW9iaWxlIHtcblxuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgXHRzdmcge1xuICAgICAgICBcdHdpZHRoOiA4MCU7XG4gICAgICAgIFx0aGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgXHR9XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBOZXdzIFBhZ2UgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uYm94IHtcblxuXHRmbG9hdDogbGVmdDtcblx0d2lkdGg6IDMyJTtcblx0bWFyZ2luOiAxMHB4IDA7XG5cdG1hcmdpbi1yaWdodDogMiU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0JjpudGgtY2hpbGQoM24pIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdH1cblxuXHQmOm50aC1jaGlsZCg0bikge1xuXHRcdC8vY2xlYXI6IGxlZnQ7XG5cdH1cblxuXHRAbWVkaWEgQHRhYmxldERvd24ge1xuICAgIFx0d2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDAgMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFRUU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDo1MCU7XG4gICAgICAgICAgICAgICAgLy9taW4taGVpZ2h0OjEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgICAvL2xlZnQ6NTAlO1xuICAgICAgICAgICAgICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlKDAlLCAtNTAlKSk7XG4gICAgICAgICAgICAgICAgLy9taW4td2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICAvL21heC13aWR0aDogMTUwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXHR9XG5cblx0Ji5uZXdzIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQuY2FwdGlvbiB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRsZWZ0OiAxNXB4O1xuXHRcdFx0Ym90dG9tOiAxNXB4O1xuXHRcdFx0cGFkZGluZzogMTVweDtcblx0XHRcdHdpZHRoOiA4MCU7XG5cdFx0XHRiYWNrZ3JvdW5kOiBAcHJpbWFyeUNvbG9yO1xuXHRcdFx0Y29sb3I6ICNGRkY7XG5cdFx0XHQucmVtcygxNSk7XG5cblx0XHRcdEBtZWRpYSBAdGFibGV0RG93biB7XG4gICAgXHRcdFx0YmFja2dyb3VuZDogI0ZGRjtcbiAgICBcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXHRcdFx0bGVmdDogYXV0bztcbiAgICBcdFx0XHRib3R0b206IGF1dG87XG4gICAgXHRcdFx0cmlnaHQ6IDA7XG4gICAgXHRcdFx0d2lkdGg6IDEwMCU7XG4gICAgXHRcdFx0cGFkZGluZzogMDtcbiAgICBcdFx0XHRmbG9hdDogcmlnaHQ7XG4gICAgXHRcdFx0Y29sb3I6ICMzMzM7XG4gICAgXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdH1cblxuXHRcdFx0aDUge1xuXHRcdFx0XHRjb2xvcjogI0ZGRjtcblx0XHRcdFx0Zm9udC1mYW1pbHk6IEBzZW1pQm9sZDtcblx0XHRcdFx0LnJlbXMoMTYpO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMThweDtcblxuXHRcdFx0XHRAbWVkaWEgQHRhYmxldERvd24ge1xuICAgIFx0XHRcdFx0Y29sb3I6ICM2NjY7XG4gICAgXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdHAge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTVweDtcblxuXHRcdFx0ICAgIEBtZWRpYSBAdGFibGV0RG93biB7XG4gICAgXHRcdFx0ICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgXHRcdFx0ICAgIC5yZW1zKDE0KTtcbiAgICBcdFx0XHQgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgXHRcdFx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuXHRcdFx0fVxuXG5cdFx0XHQuZGF0ZSB7XG5cdFx0XHRcdC5yZW1zKDEzKTtcblx0XHRcdFx0Zm9udC1mYW1pbHk6IEBzZW1pQm9sZDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE1cHg7XG5cblx0XHRcdFx0aSB7XG4gICAgXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QG1lZGlhIEB0YWJsZXREb3duIHtcbiAgICBcdFx0XHRcdGNvbG9yOiAjOTk5O1xuXG4gICAgXHRcdFx0XHRpIHtcbiAgICAgICAgXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgXHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRpbWcge1xuXHRcdC50cmFuc2l0aW9uKGFsbCBsaW5lYXIgMzAwbXMpO1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0QG1lZGlhIEB0YWJsZXREb3duIHtcbiAgICBcdFx0d2lkdGg6IDQwJTtcbiAgICBcdFx0ZmxvYXQ6IGxlZnQ7XG4gICAgXHRcdGhlaWdodDogYXV0bztcbiAgICBcdFx0LnRyYW5zaXRpb24obm9uZSk7XG5cdFx0fVxuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0aW1nIHtcblx0XHRcdC50cmFuc2Zvcm0oc2NhbGUoMS4xKSk7XG5cblx0XHRcdEBtZWRpYSBAdGFibGV0RG93biB7XG4gICAgICAgICAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGUoMCwgLTUwJSkpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ubmV3c1BhZ2Uge1xuXG5cdC5zZWN0aW9uIHtcblx0XHRwYWRkaW5nOiA1MHB4IDA7XG5cblx0XHRAbWVkaWEgQHRhYmxldERvd24ge1xuICAgIFx0XHRwYWRkaW5nOiAyMHB4IDA7XG5cdFx0fVxuXHR9XG5cblx0I2pzX25ld3NsZXR0ZXIge1xuICAgIFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5wdWJsaWNhdGlvbnMge1xuICAgIFx0cGFkZGluZzogNTBweCAwO1xuXHRcdC5jbGVhcmZpeCgpO1xuXG5cdFx0QG1lZGlhIEB0YWJsZXREb3duIHtcbiAgICBcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cdH1cblxuXHQuc3Vic2NyaWJlIHtcblx0XHRiYWNrZ3JvdW5kOiBAcHJpbWFyeUdyZWVuIHVybCguLi9pbWFnZXMvbGF5b3V0L25ld3NsZXR0ZXIucG5nKSBjZW50ZXI7XG5cdFx0Y29sb3I6ICNGRkY7XG5cdFx0cGFkZGluZzogMTAwcHggMjBweDtcblx0XHQuY2xlYXJmaXgoKTtcblx0XHRtYXJnaW46MDtcblx0XHRsaW5lLWhlaWdodDogNDBweDtcblxuXHRcdEBtZWRpYSBAdGFibGV0RG93biB7XG4gICAgXHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0fVxuXG5cdFx0LmNvbnRlbnQge1xuICAgIFx0XHR3aWR0aDogMTAwJTtcblx0XHQgICAgLmNsZWFyZml4KCk7XG5cdFx0fVxuXG5cdFx0aDIge1xuICAgIFx0XHQucmVtcygzNSk7XG4gICAgXHRcdGZvbnQtZmFtaWx5OiBAcHJpbWFyeUZvbnQ7XG4gICAgXHRcdG1hcmdpbjogMDtcbiAgICBcdFx0ZmxvYXQ6IGxlZnQ7XG4gICAgXHRcdGxpbmUtaGVpZ2h0OiA1NnB4O1xuICAgIFx0XHRjb2xvcjogI0ZGRjtcbiAgICBcdFx0dGV4dC1zaGFkb3c6IDFweCAxcHggMnB4IHJnYmEoMCwwLDAsMC4zKTtcblxuICAgIFx0XHRAbWVkaWEgQHRhYmxldERvd24ge1xuICAgICAgICBcdFx0LnJlbXMoMjIpO1xuICAgICAgICBcdFx0bWFyZ2luOiAwIDAgMTBweCAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICBcdFx0fVxuXHRcdH1cblxuXHRcdC5idXR0b25BbHQge1xuICAgIFx0XHRmbG9hdDogcmlnaHQ7XG4gICAgXHRcdG1hcmdpbjogMDtcblxuICAgIFx0XHRAbWVkaWEgQHRhYmxldERvd24ge1xuICAgICAgICBcdFx0d2lkdGg6IDEzMHB4O1xuICAgICAgICBcdFx0bWFyZ2luOiAwIGF1dG87XG4gICAgICAgIFx0XHRjbGVhcjogYm90aDtcblxuICAgICAgICBcdFx0Ji5yaWdodCB7XG4gICAgICAgIFx0XHQgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIFx0XHQgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIFx0XHR9XG4gICAgXHRcdH1cblx0XHR9XG5cdH1cblxuXHQub3VySW5zaWdodHMge1xuXHRcdC5jbGVhcmZpeCgpO1xuXHRcdG1hcmdpbjogMjBweCAwO1xuXHRcdC5yZW1zKDE3KTtcblx0fVxuXG5cdC5hcmNoaXZlcyB7XG5cblx0XHQuY2xlYXJmaXgoKTtcblx0XHRwYWRkaW5nOiAyMHB4IDA7XG5cblx0XHRAbWVkaWEgQHRhYmxldERvd24ge1xuICAgIFx0XHQuYm94IHtcbiAgICAgICAgXHRcdGJhY2tncm91bmQ6ICNGRkY7XG4gICAgICAgIFx0XHRib3JkZXI6IDFweCBzb2xpZCAjRUVFO1xuICAgICAgICBcdFx0cGFkZGluZzogMTBweDtcblxuICAgICAgICBcdFx0LmNhcHRpb24ge1xuICAgICAgICAgICAgXHRcdHBhZGRpbmc6IDA7XG4gICAgICAgIFx0XHR9XG4gICAgXHRcdH1cblx0XHR9XG5cblx0XHRAbWVkaWEgQG1vYmlsZSB7XG4gICAgXHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXG5cdFx0aDEge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHR9XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBzZW1pQm9sZDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMGQ3JztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxpc3Qge1xuICAgICAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFRUU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0ZGRjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblx0XHR1bCB7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRtYXJnaW46IDA7XG5cblx0XHRcdEBtZWRpYSBAbW9iaWxlIHtcbiAgICBcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFRUU7XG5cbiAgICBcdFx0XHQmLm1vbnRocyB7XG4gICAgICAgIFx0XHRcdGRpc3BsYXk6IG5vbmU7XG4gICAgXHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRsaSB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0bWFyZ2luOiAwIDEwcHg7XG5cblx0XHRcdFx0QG1lZGlhIEBtb2JpbGUge1xuICAgIFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG4gICAgXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0YSB7XG5cdFx0XHRcdHBhZGRpbmc6IDVweCAxMHB4O1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0LnJlbXMoMjApO1xuXHRcdFx0XHRmb250LWZhbWlseTogQHByaW1hcnlGb250O1xuXHRcdFx0XHRjb2xvcjogIzMzMztcblxuXHRcdFx0XHRAbWVkaWEgQG1vYmlsZSB7XG4gICAgXHRcdFx0XHRwYWRkaW5nOiAxMHB4O1xuICAgIFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgICAgIC5yZW1zKDE2KTtcbiAgICAgICAgICAgICAgICAgICAgLnRyYW5zaXRpb24oYWxsIGVhc2UtaW4tb3V0IDMwMG1zKTtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLCAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGNUY1RjU7XG4gICAgICAgICAgICAgICAgICAgIH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYuc2VsZWN0ZWQge1xuXHRcdFx0XHRcdGNvbG9yOiBAY3RhR3JlZW47XG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6IEBzZW1pQm9sZDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGNvbG9yOiBAY3RhR3JlZW47XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji5tb250aHMge1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VFRTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRjb2xvcjogIzk5OTtcblx0XHRcdFx0XHQucmVtcygxNSk7XG5cblx0XHRcdFx0XHQmLnNlbGVjdGVkIHtcblx0XHRcdFx0XHRcdGNvbG9yOiBAY3RhR3JlZW5cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGNvbG9yOiBAY3RhR3JlZW47XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5hcnRpY2xlIHtcblxuICAgIHBhZGRpbmc6IDUwcHggNDBweDtcblxuICAgIEBtZWRpYSBAdGFibGV0RG93biB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgfVxuXG4gICAgb2wge1xuICAgICAgICBjb3VudGVyLXJlc2V0OiBpdGVtO1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBjb3VudGVycyhpdGVtLCBcIi5cIikgXCIgLSBcIjtcbiAgICAgICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogaXRlbTtcblx0XHRcdFx0Zm9udC1mYW1pbHk6IEBib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIC5yZW1zKDE3KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggOHB4IDVweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNpZGViYXIge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyJTtcblxuICAgICAgICBoNCB7XG4gICAgICAgICAgICAucmVtcygyMCk7XG4gICAgICAgICAgICBjb2xvcjogQHByaW1hcnlHcmVlbjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAc2VtaUJvbGQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RERDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDNweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIEB0YWJsZXREb3duIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRUVFO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGN0YUdyZWVuO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwZDcnO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjBkOCc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5uZXIge1xuICAgICAgICB3aWR0aDogNzglO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgLmNsZWFyZml4KCk7XG5cbiAgICAgICAgQG1lZGlhIEB0YWJsZXREb3duIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICAucmVtcygyNSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAucmVtcygxNik7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG5cbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgLnJlbXMoMTQpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDIwcHg7XG5cbiAgICAgICAgICAgIEBtZWRpYSBAdGFibGV0RG93biB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweCAwO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBoNSB7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VFRTtcbiAgICAgICAgICAgIGNvbG9yOiAjQUFBO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBib2xkO1xuICAgICAgICAgICAgLnJlbXMoMTMpO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYXR0YWNoZW1lbnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweCA1cHggMzBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgICAgICAgICAmLnBkZiB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAucmVtcygyMCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxYzEnO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWx0ZXItdGFibGUge1xuXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBib2xkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRjFGMUYxO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RERDtcbiAgICAgICAgLnJlbXMoMTUpO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgXHRcdHBhZGRpbmc6IDAgMTBweDtcbiAgICBcdFx0Ym9yZGVyOiAxcHggc29saWQgI0VFRTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBmb250LWZhbWlseTogQGJvZHlGb250O1xuICAgICAgICAgICAgLnJlbXMoMTMpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0YWJsZSB7XG5cbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG5cbiAgICAgICAgdHIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0ZGRjtcblxuICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0Y5RjlGOTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0YxRjFGMTtcbiAgICAgICAgICAgIGNvbG9yOiBAY3RhR3JlZW47XG4gICAgICAgICAgICBmb250LWZhbWlseTogQGJvbGQ7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0VFRTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICAgICAgLnJlbXMoMTUpO1xuXG4gICAgICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMjBweDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogODBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmZpbHRlclRhYmxlIHtcbiAgICAgICAgICAgIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBPcmRlciBQYWdlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG5cbi5vcmRlciB7XG5cblx0LmNsZWFyZml4KCk7XG5cdHBhZGRpbmc6IDIwcHggMDtcblxuXG5cdC50ZXJtc1dyYXAge1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdC8vYmFja2dyb3VuZDogI0YxRjFGMTtcblx0XHQuY2xlYXJmaXgoKTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuXHRcdC50ZXJtc0FuZENvbmRpdGlvbnMge1xuICAgICAgICBcdG1heC1oZWlnaHQ6IDQ5NnB4O1xuICAgICAgICBcdG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBcdG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIFx0cGFkZGluZzogMjBweDtcbiAgICAgICAgXHRkaXNwbGF5OiBub25lO1xuICAgICAgICBcdHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgXHRvbCB7XG4gICAgICAgIFx0XHRtYXJnaW46ICAwO1xuICAgICAgICBcdFx0cGFkZGluZzogMCAwIDAgMjBweDtcbiAgICAgICAgXHR9XG4gICAgICAgIH1cblx0fVxuXG5cdC50ZXJtc2NvbmRpdGlvbnMge1xuXHRcdG1hcmdpbjowO1xuXG5cdFx0bGFiZWwge1xuICAgIFx0XHRwYWRkaW5nOiAwIDIwcHggMCAwO1xuICAgIFx0XHRsaW5lLWhlaWdodDogMzNweDtcblxuICAgIFx0XHRAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgIFx0XHRwYWRkaW5nOiAwIDMwcHggMCAwO1xuICAgIFx0XHR9XG5cdFx0fVxuXHR9XG5cblxuXHQuYnV0dG9uQWx0IHtcblx0fVxufVxuXG5mb3JtLnN0eWxlZCB7XG5cbiAgICAudG90YWwge1xuXHRcdGJhY2tncm91bmQ6IEBwcmltYXJ5R3JlZW47XG5cdFx0Y29sb3I6ICNGRkY7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0LmNsZWFyZml4KCk7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0cGFkZGluZzogMCAyMHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cblx0XHRoNSB7XG5cdFx0XHRmb250LWZhbWlseTogQHNlbWlCb2xkO1xuXHRcdFx0LnJlbXMoMjIpO1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRjb2xvcjogI0ZGRjtcblx0XHRcdHBhZGRpbmc6IDIwcHggMDtcblx0XHRcdG1hcmdpbjogMDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1BsZWFzZSBpbnF1aXJlJztcbiAgICAgICAgICAgIH1cblxuXHRcdFx0QG1lZGlhIEBtb2JpbGUge1xuICAgIFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuICAgIFx0XHRcdHBhZGRpbmc6IDIwcHggMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdC5yZW1zKDIyKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0cGFkZGluZy10b3A6IDIwcHg7XG5cdFx0XHRmb250LWZhbWlseTogQHNlbWlCb2xkO1xuXG5cdFx0XHRAbWVkaWEgQG1vYmlsZSB7XG4gICAgXHRcdFx0ZmxvYXQ6IG5vbmU7XG4gICAgXHRcdFx0d2lkdGg6IDEwMCU7XG4gICAgXHRcdFx0cGFkZGluZzogMTBweCAwO1xuICAgIFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuICAgIFx0XHRcdGNsZWFyOiBsZWZ0O1xuICAgICAgICAgICAgfVxuXHRcdH1cblxuXHRcdHNtYWxsIHtcblx0XHRcdGNsZWFyOiByaWdodDtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0LnJlbXMoMTEpO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR9XG5cdH1cblxuXG5cdC5icmVhayB7XG5cdFx0bWFyZ2luOiAyMHB4IDA7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRjbGVhcjogYm90aDtcblx0fVxuXG5cdGg0IHtcblxuXHRcdGxpbmUtaGVpZ2h0OiAzMHB4O1xuXHRcdC5yZW1zKDE4KTtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdG1hcmdpbjogMTBweCAwO1xuXHRcdGZvbnQtZmFtaWx5OiBAc2VtaUJvbGQ7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblxuXG5cdFx0c3BhbiB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiAzMHB4O1xuXHRcdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDMwcHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiBAY3RhR3JlZW47XG5cdFx0XHRjb2xvcjogI0ZGRjtcblx0XHRcdC5yZW1zKDE3KTtcblx0XHRcdG1hcmdpbi1yaWdodDogMTVweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXG5cdFx0XHRpIHtcbiAgICBcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuICAgIFxuXG5cdC5oZWxwIHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0YmFja2dyb3VuZDogI0VFRTtcblx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdHdpZHRoOiAyOCU7XG5cdFx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0fVxuXG5cdC5kZXRhaWxzLCAudGVybXMge1xuXHRcdGJhY2tncm91bmQ6ICNFRUU7XG5cdFx0cGFkZGluZzogMjBweDtcblx0XHRjbGVhcjogbGVmdDtcbiAgICB9XG5cbiAgICAuZm9ybVdyYXAge1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdHdpZHRoOiA1NiU7XG5cblx0XHRAbWVkaWEgQG1vYmlsZSB7XG4gICAgXHRcdHdpZHRoOiAxMDAlO1xuICAgIFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIFx0XHQuY2xlYXJmaXgoKTtcbiAgICBcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0LnN1Ym1pdEJ1dHRvbiB7XG5cdFx0YmFja2dyb3VuZDogI0VFRTtcblx0XHRwYWRkaW5nOiAwIDIwcHggMjBweCAyMHB4O1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdHdpZHRoOiA1NiU7XG5cblx0XHQuYnV0dG9uQWx0IHtcbiAgICBcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cblx0XHRAbWVkaWEgQG1vYmlsZSB7XG4gICAgXHRcdHdpZHRoOiAxMDAlO1xuICAgIFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuICAgIFx0XHRmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG5cbiAgICAgICAgICAgIC5idXR0b25BbHQge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuXHRcdH1cblx0fVxuXG5cdC50ZXJtcyB7XG5cdFx0bWFyZ2luLXRvcDogMjBweDtcblx0fVxuXG5cdEBtZWRpYSBAbW9iaWxlIHtcbiAgICBcdC53cmFwcGVyLXN0aWNreSB7XG4gICAgICAgIFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBcdH1cblx0fVxuXG5cdC5wcm9kdWN0cyB7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0d2lkdGg6IDQwJTtcblx0XHRiYWNrZ3JvdW5kOiAjRUVFO1xuXHRcdHBhZGRpbmc6IDIwcHg7XG5cbiAgICAgICAgLmlucHV0V3JhcCB7XG5cbiAgICAgICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5zZWxlY3RlZCB7XG5cbiAgICAgICAgICAgICAgICAucHJvZHVjdCB7XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnUGxlYXNlIGlucXVpcmUnO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXHRcdC5yZW5ldyAmIHtcbiAgICBcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0QG1lZGlhIEBtb2JpbGUge1xuXG4gICAgXHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cblx0XHR9XG5cblx0XHRoNCB7XG4gICAgXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0fVxuXG5cdFx0LnJvdyB7XG4gICAgXHRcdG1hcmdpbi1ib3R0b206ICAwO1xuICAgIFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdH1cblxuXHRcdC5pdGVtLCAuc3Vic2NyaXB0aW9uSXRlbSB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRcdFx0cGFkZGluZzogMCAyMHB4O1xuXHRcdFx0YmFja2dyb3VuZDogI2ZmZmZmZjtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHQucmVtcygxOCk7XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0LmNsZWFyZml4KCk7XG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHRAbWVkaWEgQG1vYmlsZSB7XG4gICAgXHRcdFx0cGFkZGluZzogMCAxNnB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC50ZXh0IHtcbiAgICBcdFx0bWFyZ2luOiA1cHggMDtcblx0XHR9XG5cblx0XHQuc2VsZWN0ZWQgLml0ZW0sIC5zdWJzY3JpcHRpb25JdGVtLCAuc3Vic2NyaXB0aW9uSXRlbSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBAY3RhR3JlZW47XG5cdFx0XHRjb2xvcjogI2ZmZmZmZjtcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcblx0XHRcdFx0Y29udGVudDogJ1xcZjAwYyc7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdCAgICB0b3A6IDIwcHg7XG5cdFx0XHQgICAgcmlnaHQ6IDYwcHg7XG5cdFx0XHRcdC5yZW1zKDEzNSk7XG5cdFx0XHRcdGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMTUpO1xuXG5cdFx0XHRcdEBtZWRpYSBAbW9iaWxlIHtcblx0XHRcdCAgICAgICAgdG9wOiAtMjBweDtcbiAgICBcdFx0XHRcdHJpZ2h0OiAtMTBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQucHJpY2Uge1xuXHRcdFx0XHRjb2xvcjogI0ZGRjtcblx0XHRcdH1cblx0XHR9XG5cbiAgICAgICAgLnN1YnNjcmlwdGlvbkl0ZW0ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0cGFkZGluZzogMjBweDtcblx0XHRcdGZvbnQtZmFtaWx5OiBAYm9sZDtcblxuXHRcdFx0JjphZnRlciB7XG4gICAgXHRcdFx0dG9wOiAtNzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cdFx0LnRleHQge1xuXHRcdFx0d2lkdGg6IDcwcHg7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRtYXJnaW46IDlweCAwO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0XHRAbWVkaWEgQG1vYmlsZSB7XG4gICAgXHRcdFx0d2lkdGg6IDEwMCU7XG4gICAgXHRcdFx0bWFyZ2luOiAwO1xuICAgIFx0XHRcdGZsb2F0OiBub25lO1xuICAgIFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnByb2R1Y3Qge1xuXHRcdFx0cGFkZGluZzogMjBweCAwO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRmbG9hdDogbGVmdDtcblxuXHRcdFx0QG1lZGlhIEBtb2JpbGUge1xuICAgIFx0XHRcdHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5wcmljZSB7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHQucmVtcygyMik7XG5cdFx0XHRmb250LWZhbWlseTogQHNlbWlCb2xkO1xuXHRcdFx0Y29sb3I6IEBjdGFHcmVlbjtcblx0XHRcdGxpbmUtaGVpZ2h0OiA2MXB4O1xuXG5cdFx0XHRAbWVkaWEgQG1vYmlsZSB7XG4gICAgXHRcdFx0ZGlzcGxheTogYmxvY2s7XG4gICAgXHRcdFx0ZmxvYXQ6IG5vbmU7XG4gICAgXHRcdFx0Y2xlYXI6IGJvdGg7XG4gICAgXHRcdFx0d2lkdGg6IDEwMCU7XG4gICAgXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzFweDtcbiAgICBcdFx0XHRwYWRkaW5nLWJvdHRvbTogMTBweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRzbWFsbCB7XG5cdFx0XHRmb250LWZhbWlseTogQGxpZ2h0O1xuXHRcdFx0LnJlbXMoMTUpO1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRjbGVhcjogcmlnaHQ7XG5cblx0XHRcdEBtZWRpYSBAbW9iaWxlIHtcbiAgICBcdFx0XHR3aWR0aDogMTAwJTtcbiAgICBcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIFx0XHRcdC5yZW1zKDEyKTtcbiAgICBcdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC50ZXJtcyB7XG4gICAgXHRcdC5yZW1zKDEzKTtcbiAgICBcdFx0cGFkZGluZzogMCA1cHg7XG5cbiAgICBcdFx0c3Ryb25nIHtcbiAgICAgICAgXHRcdC5yZW1zKDE2KTtcbiAgICBcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5idXR0b25BbHQge1xuXHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdH1cbn1cblxuLndoaXRlUm93IHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcbiAgICAucmVtcygxOCk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAuY2xlYXJmaXgoKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTFweDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuXG4gICAgLmNob3Nlbi1jb250YWluZXItYWN0aXZlIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtZmllbGQgaW5wdXQge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtZmllbGQgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNob3Nlbi1jb250YWluZXItYWN0aXZlLmNob3Nlbi13aXRoLWRyb3Age1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNob3Nlbi1jb250YWluZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0RERDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9naW4gUGFnZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5sb2dpbiB7XG5cblx0cGFkZGluZzogMTAwcHggMDtcblx0LmNsZWFyZml4KCk7XG5cblx0QG1lZGlhIEBtb2JpbGUge1xuICAgIFx0cGFkZGluZzogMzBweCAwO1xuICAgIFx0LmNsZWFyZml4KCk7XG5cdH1cblxuXHRmb3JtIHtcblx0XHQuY2xlYXJmaXgoKTtcblx0XHRiYWNrZ3JvdW5kOiAjRUVFO1xuXHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdHdpZHRoOiA0NSU7XG5cblx0XHRAbWVkaWEgQG1vYmlsZSB7XG4gICAgXHRcdHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIFx0LmJ1dHRvbkFsdCB7XG4gICAgICAgIFx0XHR3aWR0aDogMTAwJTtcbiAgICAgICAgXHRcdG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIFx0XHRmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgIFx0fVxuXHRcdH1cblx0fVxuXG5cdC5jb250ZW50IHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHR3aWR0aDogNDUlO1xuXG5cdFx0QG1lZGlhIEBtb2JpbGUge1xuICAgIFx0XHR3aWR0aDogMTAwJTtcbiAgICBcdFx0cGFkZGluZzogMCAwIDIwcHggMDtcblx0XHR9XG5cdH1cblxuXHRsaSB7XG4gICAgXHQgbWFyZ2luOiAwIDQwcHggMCAwO1xuICAgIFx0IGZsb2F0OiBsZWZ0O1xuICAgIFx0IC5yZW1zKDIwKTtcblxuICAgIFx0IEBtZWRpYSBAbW9iaWxlIHtcbiAgICBcdFx0LnJlbXMoMTcpO1xuXHRcdCAgfVxuXG4gICAgXHQgaSB7XG4gICAgICAgIFx0IG1hcmdpbi1yaWdodDogNXB4O1xuICAgIFx0IH1cblx0fVxuXG5cdGEge1xuICAgIFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogQGN0YUdyZWVuO1xuICAgIFx0fVxuXHR9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQ2xpZW50IERhc2hib2FyZCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5kYXNoQmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZDogI0YxRjFGMTtcblxuICAgIC5sb2dvIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgfVxuXG4gICAgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5mb290ZXIgLmxvZ28ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG59XG5cbi5kYXNoYm9hcmQge1xuXG4gICAgbWFyZ2luOiA0MHB4IDIwcHg7XG4gICAgLmNsZWFyZml4KCk7XG4gICAgYmFja2dyb3VuZDogI0ZGRjtcbiAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuXG4gICAgICAgICYubGVmdCB7XG4gICAgICAgICAgICB3aWR0aDogNDUlO1xuXG4gICAgICAgICAgICBAbWVkaWEgQHRhYmxldERvd24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBmb250LWZhbWlseTogQHNlbWlCb2xkO1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG5cbiAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndlbGNvbWUge1xuXG4gICAgICAgIC5jbGVhcmZpeCgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VFRTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuXG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDI0cHg7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBmb250LWZhbWlseTogQHNlbWlCb2xkO1xuICAgICAgICAgICAgLnJlbXMoMTUpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcblxuICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWVzc2FnZXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGlnaHRlbihAcHJpbWFyeUdyZWVuLDclKTtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKEBwcmltYXJ5R3JlZW4sMTUlKTtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY291bnQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmMDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogLTVweDtcbiAgICAgICAgICAgICAgICByaWdodDogLTVweDtcbiAgICAgICAgICAgICAgICAucmVtcygxMSk7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBib2xkO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgdG9wOiAxOXB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM2NzdGNjc7XG4gICAgICAgICAgICAgICAgei1pbmRleDo1MDAxO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgLnJlbXMoMjMpO1xuXG4gICAgICAgICAgICAgICAgc3Bhbi50ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWNjb3VudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY3RhR3JlZW47XG4gICAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGlnaHRlbihAY3RhR3JlZW4sNSUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibG9ja3Mge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDIzLjUlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDIlIDIwcHggMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjdGFHcmVlbjtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDIwcHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAudHJhbnNpdGlvbihiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0IDMwMG1zKTtcblxuICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0OSU7XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICAgICAgLnJlbXMoMjUpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDAgMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgLnJlbXMoNDApO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDAgMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNG4pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBwcmltYXJ5R3JlZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5maWx0ZXIge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAbWVkaWEgQGZ1bGxUb1RhYmxldCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIEB0YWJsZXREb3duIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAucm93IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcGVuRmlsdGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNFRUU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsdGVyV3JhcCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAgICAgJiNmaWx0ZXJzUmVnaW9uIHtcbiAgICAgICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjY2NjY2NjO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZmlsdGVycyA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsdGVycyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRUVFO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAzOXB4O1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgLmNsZWFyZml4KCk7XG4gICAgICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgICAgIHdpZHRoOiAzMzNweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbkFsdCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgICAgICAucmVtcygxNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudXNlcnMge1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbi8qXG4gICAgICAgIC50YWJsZVdyYXAge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNBOUM0QTk7XG4gICAgICAgIH1cbiovXG5cbiAgICAgICAgdGFibGUge1xuICAgICAgICB9XG5cbiAgICAgICAgdGgsIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjdGFHcmVlbjtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgdHIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0U3RjJFNztcblxuICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0VGRjRFRjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4vKlxuICAgIGgxIHtcbiAgICAgICAgLnJlbXMoMjUpO1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAucmVtcygxMik7XG4gICAgICAgICAgICBmb250LWZhbWlseTogQHNlbWlCb2xkO1xuICAgICAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgfVxuICAgIH1cbiovXG5cbiAgICAuYnV0dG9ucyB7XG5cbiAgICAgICAgcGFkZGluZzogMCAwIDIwcHggMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFRUU7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICAgICAgLmNsZWFyZml4KCk7XG5cbiAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDEwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yb3cge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuXG5cbiAgICAgICAgICAgIEBtZWRpYSBAdGFibGV0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0OSU7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBzZW1pQm9sZDtcblxuXG4gICAgICAgICAgICAmLmxvY2F0aW9uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGN0YUdyZWVuO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDklO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgLnRyYW5zaXRpb24oYmFja2dyb3VuZCBlYXNlLWluLW91ciAzMDBtcyk7XG4gICAgICAgICAgICAgICAgICAgIC5yZW1zKDEyKTtcblxuICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMyMzIzO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1lbWJlcnNoaXAge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGN0YUdyZWVuO1xuICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHdpZHRoOiAzODBweDtcblxuICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgY2xlYXI6IHJpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm9yYW5nZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGN0YU9yYW5nZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5yZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjdGFSZWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAc2VtaUJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dC5zZWFyY2gge1xuICAgICAgICAgICAgLnJlbXMoMTQpO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweCAwIDAgNXB4O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgIHdpZHRoOiA5MiU7XG5cbiAgICAgICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvblNlYXJjaCB7XG4gICAgICAgICAgICB3aWR0aDogOCU7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY3RhR3JlZW47XG4gICAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggNXB4O1xuXG4gICAgICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdGF0aXN0aWNzIHtcbiAgICAgICAgLmNsZWFyZml4KCk7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0VFRTtcblxuXG4gICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgIC5jYXJvdXNlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdGF0cyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMCAwO1xuICAgICAgICAuY2xlYXJmaXgoKTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG5cbiAgICAgICAgQG1lZGlhIEB0YWJsZXQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRUVFO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFRUU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvIDA7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0RERDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zbGljay1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjdGFHcmVlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stdHJhY2sge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuICAgICAgICAuc3RhdCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgICAgICBtYXJnaW46IDAgMyUgMCAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0VFRTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAyM3B4IDIwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKEBjdGFHcmVlbiw1JSk7XG4gICAgICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIC5yZW1zKDIwKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBjb2xvcjogI0ZGRjtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBAdGFibGV0RG93biB7XG4gICAgICAgICAgICAgICAgICAgIC5yZW1zKDE4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgLnJlbXMoMTUpO1xuICAgICAgICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAcHJpbWFyeUZvbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5udW1iZXJzIHtcblxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXQge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgICAgICAucmVtcygyNSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5yZW1zKDI1KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAucmVtcygxNyk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAc2VtaUJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hhcnRzIHtcblxuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMCAyMHB4O1xuICAgICAgICAuY2xlYXJmaXgoKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmLm1vYmlsZSB7XG5cbiAgICAgICAgICAgIC5jb2x1bW4ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0OCU7XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBAdGFibGV0RG93biB7XG5cbiAgICAgICAgICAgICAgICAubWFwR3JhcGggLnBvaW50cyAucG9pbnQge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY29sdW1uIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNoYXJ0V3JhcCB7XG4gICAgICAgICAgICAgICAgICAgIC5jYW52YXNXcmFwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5mdWxsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jaGFydCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIEB0YWJsZXREb3duIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stZG90cyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXREb3duIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgM3B4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNFRUU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY3RhR3JlZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByZXZDaGFydHMsIC5uZXh0Q2hhcnRzIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgICAgIC5yZW1zKDMwKTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY3RhR3JlZW47XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgICAgIC5yZW1zKDIyKTtcblxuICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXREb3duIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJldkNoYXJ0cyB7XG4gICAgICAgICAgICBsZWZ0OiAtMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXh0Q2hhcnRzIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXIge1xuICAgICAgICAgICAgLmNsZWFyZml4KCk7XG4gICAgICAgIH1cblxuICAgICAgICBoNCB7XG4gICAgICAgICAgICAucmVtcygxOCk7XG4gICAgICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAc2VtaUJvbGQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgLmNsZWFyZml4KCk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0YxRjFGMTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI0NDQztcbiAgICAgICAgICAgICAgICAucmVtcygxMyk7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBzZW1pQm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgLnJlbXMoMTIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0VFRTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjdGFHcmVlbjtcbiAgICAgICAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJvdXNlbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogNTglO1xuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDAlO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIEBmdWxsVG9UYWJsZXQge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBAZnVsbFRvVGFibGV0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5sZWZ0IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBAdGFibGV0RG93biB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wb2ludHNHcm91cCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hcFdyYXBwZXIge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDA7XG5cbiAgICAgICAgICAgIEBtZWRpYSBAZnVsbFRvVGFibGV0IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWFwR3JhcGgge1xuXG4gICAgICAgICAgICBtYXJnaW46IDRweCBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIEBtZWRpYSBAZnVsbFRvVGFibGV0IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ0MHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICBcdC5zdmdDb250YWluZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBAZnVsbFRvVGFibGV0IHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0NDBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXHR9XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJlZ2lvbiB7XG4gICAgICAgICAgICAgICAgLnRyYW5zaXRpb24oYWxsIGVhc2UtaW4tb3V0IDMwMG1zKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBvaW50cyB7XG4gICAgICAgICAgICAgICAgLnBvaW50IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY3RhR3JlZW47XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgICAgICAgICAucmVtcygxNCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAc2VtaUJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubmVnYXRpdmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRkY2ODVFO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zY290bGFuZCB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDU1JTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAyNSU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmlyZWxhbmQge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyMCU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTglO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5ub3J0aGVybklyZWxhbmQge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyOSU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNDAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5ub3J0aFdlc3Qge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1NiU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNDklO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5ub3J0aEVhc3Qge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA2OCU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMzglO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC55b3Jrc2hpcmUge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA3MSU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNDklO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5lYXN0TWlkbGFuZHMge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA3NCU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNjElO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC53ZXN0TWlkbGFuZHMge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA2MyU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNjYlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC53YWxlcyB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUyJTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA2OCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmVhc3RPZkVuZ2xhbmQge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA4NyU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNjclO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zb3V0aEVhc3Qge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA3MyU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogODUlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5sb25kb24ge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA3OSU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNzclO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zb3V0aFdlc3Qge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1NSU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogODQlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmNoYXJ0V3JhcCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgICAmLmZ1bGwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgLmNoYXJ0IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0ZGRjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2FudmFzV3JhcCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ5JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXREb3duIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNoYXJ0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmxlZnQge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50b2dnbGVSb29tcyxcbiAgICAgICAgICAgIC50b2dnbGVIb3RlbHMge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2hhcnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0ZGRjtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICB1bCB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0Y5RjlGOTtcblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweCAwO1xuICAgICAgICAgICAgICAgICAgICAucmVtcygxNCk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTFweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMXB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNEREQ7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgICAgICAgICAgICAgICAgICAmLnBlcmNlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5sZWZ0TGVnZW5kIHtcblxuICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmZ1bGwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIEBmdWxsVG9UYWJsZXQge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5zbWFsbCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXREb3duIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5sZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgY2FudmFzIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjlGOUY5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLWRvdHMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaWRlYmFyIHtcbiAgICAgICAgd2lkdGg6IDIyJTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIC5ndWlkZXMge1xuICAgICAgICAuY2xlYXJmaXgoKTtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgNDBweDtcblxuICAgICAgICAmLnJpZ2h0IHtcblxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICAgICBAbWVkaWEgQHRhYmxldERvd24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICB3aWR0aDogMzIlO1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDIlIDEwcHggMDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzbikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXREb3duIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDglO1xuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAgMTBweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjREREO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDEwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC5yZW1zKDI1KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjFGMUYxO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgICAgICAgICAgIC50cmFuc2l0aW9uKGFsbCBlYXNlLWluLW91dCAzMDBtcyk7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgQGZ1bGxEb3duIHtcbiAgICAgICAgICAgICAgICAgICAgLnJlbXMoMjApO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjdGFHcmVlbjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIC5yZW1zKDQ1KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLm5ld3NXcmFwIHtcbiAgICAgICAgd2lkdGg6IDc4JTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgQG1lZGlhIEBmdWxsVG9UYWJsZXQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgQHRhYmxldERvd24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjbmV3c0JveCB7XG4gICAgICAgICAgICAudHJhbnNpdGlvbihvcGFjaXR5IDMwMG1zIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYXJ0aWNsZXNXcmFwIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvYWRpbmcge1xuICAgICAgICAgICAgcGFkZGluZzogNTBweCAwO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC5yZW1zKDE2KTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAYm9keUZvbnQ7XG4gICAgICAgICAgICBjb2xvcjogIzY2NjtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggYXV0bztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5lbXB0eSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAucmVtcygxOCk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogQHNlbWlCb2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGVzIHtcbiAgICAgICAgICAgIC5jbGVhcmZpeCgpO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0VFRTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAbWVkaWEgQGZ1bGxUb1RhYmxldCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBAdGFibGV0RG93biB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb2x1bW4ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYm94IHtcbiAgICAgICAgICAgIHdpZHRoOiAzMiU7XG4gICAgICAgICAgICBtYXJnaW46IDAgMiUgMjBweCAwO1xuICAgICAgICAgICAgLmNsZWFyZml4KCk7XG5cbiAgICAgICAgICAgIEBtZWRpYSBAdGFibGV0RG93biB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCg0bikge1xuICAgICAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAub3ZlcmxheSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICByZ2JhKDAsMCwwLDApIDUlLCByZ2JhKDAsMCwwLDAuNDcpIDU4JSwgcmdiYSgwLDAsMCwwLjg1KSAxMDAlKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICByZ2JhKDAsMCwwLDApIDUlLHJnYmEoMCwwLDAsMC40NykgNTglLHJnYmEoMCwwLDAsMC44NSkgMTAwJSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIHJnYmEoMCwwLDAsMCkgNSUscmdiYSgwLDAsMCwwLjQ3KSA1OCUscmdiYSgwLDAsMCwwLjg1KSAxMDAlKTtcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyNkOTAwMDAwMCcsR3JhZGllbnRUeXBlPTAgKTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA1O1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXREb3duIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jYXB0aW9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICBcdFx0XHRAbWVkaWEgQHRhYmxldERvd24ge1xuICAgICAgICBcdFx0XHR3aWR0aDogNzAlO1xuICAgICAgICBcdFx0XHRmbG9hdDogcmlnaHQ7XG4gICAgICAgIFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgXHRcdFx0dG9wOiAwO1xuICAgICAgICBcdFx0XHRwYWRkaW5nLWxlZnQ6IDEwcHhcbiAgICBcdFx0XHR9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kYXRlIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICAgICAgICAgICAgLnJlbXMoMTIpO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAc2VtaUJvbGQ7XG5cbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luOiAzMXB4IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgICAgICAgIEBtZWRpYSBAdGFibGV0RG93biB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG87XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXREb3duIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweCAxMHB4IDVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNFRUU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgICAgICAgICAgICAgICAucmVtcygxNCk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAudHJhbnNpdGlvbihhbGwgZWFzZS1vdXQgMzAwbXMpO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogQHNlbWlCb2xkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYWN0aXZlLCAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY3RhR3JlZW47XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWdzIHtcblxuICAgICAgICAudGFnIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDEwcHggMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICAucmVtcygxMik7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRUVFO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiKDI1NSwyNTUsMjU1KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMjI5LDIyOSwyMjksMSkgMTAwJSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLHJnYmEoMjI5LDIyOSwyMjksMSkgMTAwJSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSxyZ2JhKDIyOSwyMjksMjI5LDEpIDEwMCUpO1xuICAgICAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNmZmZmZmYnLCBlbmRDb2xvcnN0cj0nI2U1ZTVlNScsR3JhZGllbnRUeXBlPTAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uZXcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUVFO1xuXG4gICAgICAgIEBtZWRpYSBAZnVsbFRvVGFibGV0IHtcbiAgICAgICAgICAgIHdpZHRoOiA0OSU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgQHRhYmxldERvd24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAuY2xlYXJmaXgoKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGMUYxRjE7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgLnJlbXMoMTgpO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAc2VtaUJvbGQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIC5yZW1zKDE0KTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAY3RhR3JlZW47XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNtYWxsIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBtZWRpYSBAdGFibGV0RG93biB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzN3B4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubG9jYXRpb24ge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY3RhR3JlZW47XG4gICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC5yZW1zKDE0KTtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGFibGUge1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0ciB7XG5cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0U3RjJFNztcblxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNBOUM0QTk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0MTUxNDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4wNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogQGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzIzMjMyMztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ldmVudHMge1xuXG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgIEBtZWRpYSBAZnVsbFRvVGFibGV0IHtcbiAgICAgICAgICAgIHdpZHRoOiA0OSU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIEB0YWJsZXREb3duIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjdGFHcmVlbjtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgLnJlbXMoMjApO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIFx0dG9wOiAxMDAlO1xuICAgICAgICAgICAgXHRsZWZ0OiAxNiU7XG4gICAgICAgICAgICBcdGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBcdGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgXHRoZWlnaHQ6IDA7XG4gICAgICAgICAgICBcdHdpZHRoOiAwO1xuICAgICAgICAgICAgXHRtYXJnaW46IDA7XG4gICAgICAgICAgICBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBcdGJvcmRlci1jb2xvcjogcmdiYSgxMzYsIDE4MywgMjEzLCAwKTtcbiAgICAgICAgICAgIFx0Ym9yZGVyLXRvcC1jb2xvcjogQGN0YUdyZWVuO1xuICAgICAgICAgICAgXHRib3JkZXItd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICBcdG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICAgICAgICAgIFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBcdGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0YxRjFGMTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICAuY2xlYXJmaXgoKTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjREREO1xuXG4gICAgICAgICAgICBAbWVkaWEgQHRhYmxldERvd24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGOUY5Rjk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxN3B4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXREb3duIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkaXYsIHAsIGEge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyMnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIC5yZW1zKDE0KTtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBAdGFibGV0RG93biB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogM3B4IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgLnJlbXMoMTgpO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAc2VtaUJvbGQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAucmVtcygxNCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAY3RhR3JlZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZGF0ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBjdGFHcmVlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIC5yZW1zKDE0KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGN0YUdyZWVuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b25BbHQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZWxwIHtcblxuICAgICAgICAuc2lkZWJhciwgLnJlbGF0ZWQge1xuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIC5yZW1zKDE4KTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogQHNlbWlCb2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNpZGViYXIge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMTglO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjRUVFO1xuXG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgQHRhYmxldERvd24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRUVFO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG5cbiAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGRkY7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcblxuICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMCA4cHggMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjdGFHcmVlbjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwZDcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMGQ4JztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAzMHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgI2hlbHBWaWRlbyB7XG4gICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICBtYXgtd2lkdGg6IDcxMHB4O1xuICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgfVxuXG4gICAgICAgIC5yZWxhdGVkIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDE4JTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyJTtcblxuICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXREb3duIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VFRTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjc3RjY3O1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogQHByaW1hcnlGb250O1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBjdGFHcmVlbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRpY2xlIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDU4JTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjlGOUY5O1xuICAgICAgICAgICAgLnJlbXMoMTYpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuODtcblxuICAgICAgICAgICAgJi5mdWxsIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgQHRhYmxldERvd24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcblxuICAgICAgICAgICAgICAgICYuZnVsbCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbkFsdCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNnB4IDI1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAucmVtcygzMCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBAdGFibGV0RG93biB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgLnJlbXMoMjUpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogQHNlbWlCb2xkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGVmdC5wYWRkZWQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yaWdodC5wYWRkZWQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmhlbHBTZWN0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0ZGRjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA1cHggMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID4gaDQge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLnJlbXMoMjApO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwNjcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAY3RhR3JlZW47XG4gICAgICAgICAgICAgICAgICAgICAgICAucmVtcygxNik7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLm9wZW4ge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMDY4JztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgICAgIC5yZW1zKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBjdGFHcmVlbjtcblxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogQGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5oZWxwU2VjdGlvbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgICAgICA+IGg0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNFRUU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgLnRyYW5zaXRpb24oYmFja2dyb3VuZCAzMDBtcyBlYXNlLWluLW91dCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudHJhbnNpdGlvbihiYWNrZ3JvdW5kIDMwMG1zIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY3RhR3JlZW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmV4cGFuZCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5pZ25vcmUge1xuXG4gICAgICAgICAgICAgICAgICAgID4gaDQ6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGFibGUge1xuXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyIHtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0VFRTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5yZW1zKDE1KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBib2xkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAyMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBvbCB7XG4gICAgICAgIFx0XHRtYXJnaW46ICAwO1xuICAgICAgICBcdFx0cGFkZGluZzogMCAwIDAgMjBweDtcbiAgICAgICAgXHR9XG4gICAgICAgIH1cblxuICAgICAgICAudmlkZW9TZWN0aW9uIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0VFRTtcblxuICAgICAgICAgICAgLnZpZGVvIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgI0VFRTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgICAgICBAbWVkaWEgQHRhYmxldERvd24ge1xuICAgICAgICAgICAgICAgIC5yZW1zKDI1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZhcSB7XG5cbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgLnJlbXMoMTgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNDBweCAxMHB4IDBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VFRTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgLnRyYW5zaXRpb24oYWxsIGVhc2UtaW4tb3V0IDMwMG1zKTtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogQHNlbWlCb2xkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAY3RhR3JlZW47XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMDY3JztcbiAgICAgICAgICAgICAgICAgICAgLnJlbXMoMTApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjA2OCc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hbnN3ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgLnJlbXMoMTUpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGVMaXN0IHtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGRkY7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMGRhJztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuLypcbiAgICAgICAgLmZhcSB7XG5cbiAgICAgICAgICAgIC5jbGVhcmZpeCgpO1xuICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIC5yZW1zKDI3KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkge1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAucmVtcygxOCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4qL1xuICAgIH1cblxuICAgIC5hZG1pbiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgd2lkdGg6IDQ5JTtcblxuICAgICAgICBAbWVkaWEgQHRhYmxldERvd24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNjZXNzIHtcblxuICAgICAgICB3aWR0aDogNDklO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICAgICAgLmNsZWFyZml4KCk7XG5cbiAgICAgICAgQG1lZGlhIEB0YWJsZXREb3duIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICAuY2xlYXJmaXgoKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3RzIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0ZGRjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZXhwaXJ5RGF0ZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjFGMUYxO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBwcmltYXJ5Rm9udDtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgICAgICAgLmNsZWFyZml4KCk7XG5cbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBjdGFHcmVlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3Ryb25nLm9yYW5nZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBjdGFPcmFuZ2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0cm9uZy5yZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAY3RhUmVkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY3RhR3JlZW47XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhLm9yYW5nZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGN0YU9yYW5nZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYS5yZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjdGFSZWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtcyB7XG4gICAgICAgIHdpZHRoOjQ5JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIC5jbGVhcmZpeCgpO1xuXG4gICAgICAgIEBtZWRpYSBAdGFibGV0RG93biB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAuY2xlYXJmaXgoKTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZmllbGRzZXQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jY2FsZW5kYXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiByaWdodDtcblxuICAgIHRkLmZjLW90aGVyLW1vbnRoLmZjLWRheS1udW1iZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgIH1cbn1cblxuLm1lc3NhZ2VMaXN0IHtcblxuICAgIGltZyB7XG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuaW1hZ2Uge1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICM0MTUxNDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgLnJlbXMoMjUpO1xuICAgICAgICAgICAgY29sb3I6I0ZGRjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAuZGVsZXRlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICByaWdodDogLTEwcHg7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogI2M2MmYwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAucmVtcygxNCk7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWFkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMCAwO1xuICAgICAgICAucmVtcygxNCk7XG4gICAgICAgIGNsZWFyOiBib3RoXG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAyMHB4IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBAcHJpbWFyeUZvbnQ7XG4gICAgICAgIC5jbGVhcmZpeCgpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUVFO1xuXG4gICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC51c2VyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgY29sb3I6ICM5OTk7XG5cbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBwcmltYXJ5Rm9udDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZXNzYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0Y5RjlGOTtcbiAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBcdGxlZnQ6IDIwcHg7XG4gICAgICAgICAgICBcdGJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgIFx0Ym9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIFx0Y29udGVudDogXCIgXCI7XG4gICAgICAgICAgICBcdGhlaWdodDogMDtcbiAgICAgICAgICAgIFx0d2lkdGg6IDA7XG4gICAgICAgICAgICBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBcdGJvcmRlci1jb2xvcjogcmdiYSgxMDMsIDEyNywgMTAwLCAwKTtcbiAgICAgICAgICAgIFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogI0Y5RjlGOTtcbiAgICAgICAgICAgIFx0Ym9yZGVyLXdpZHRoOiA2cHg7XG4gICAgICAgICAgICBcdG1hcmdpbi10b3A6IC02cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogQHNlbWlCb2xkO1xuICAgICAgICAgICAgLnJlbXMoMTQpO1xuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1hbmFnZUNoYXJ0cyB7XG5cbiAgICBoMSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgIH1cblxuICAgIC5idXR0b25BbHQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogMTBweCA4cHggMTBweCAxMHB4O1xuICAgIH1cblxuICAgIC5yb3cge1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgfVxuXG4gICAgLnJvdzpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGMUYxRjE7XG4gICAgfVxufVxuXG4ubG9zdFBhZ2Uge1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDUwcHggNDBweDtcblxuICAgIGltZyB7XG4gICAgICAgIG1hcmdpbjogNDBweCBhdXRvO1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICAgLnJlbXMoMjIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbn1cblxuLmRvd25sb2FkcyB7XG5cbiAgICAmLnJpZ2h0IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICBAbWVkaWEgQHRhYmxldERvd24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXJlYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgQG1lZGlhIEB0YWJsZXREb3duIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICAgIGNvbG9yOiBAY3RhR3JlZW47XG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VFRTtcbiAgICAgICAgLnJlbXMoMTgpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBib2xkO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMDY3JztcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgICAgICAgICAgLnJlbXMoMTMpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgIGNvbG9yOiBAY3RhR3JlZW47XG4gICAgICAgIH1cblxuICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjA2OCc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0YWJsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQHByaW1hcnlHcmVlbjtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgQHByaW1hcnlHcmVlbjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAYm9sZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBwcmltYXJ5R3JlZW47XG4gICAgICAgIH1cblxuICAgICAgICB0ciB7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQHByaW1hcnlHcmVlbjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgQHByaW1hcnlHcmVlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRTdGMkU3O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5kYXNoYm9hcmQge1xuXG4gICAgLnN0YXRpc3RpY3Mge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ubWFya2V0RHJvcGRvd24ge1xuICAgIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSwgLmNob3Nlbi1jb250YWluZXItc2luZ2xlLmNob3Nlbi13aXRoLWRyb3Age1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjREREO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG5cbiAgICAgICAgJiNkYXRhYmFzZV9tYXJrZXRfbG9jYXRpb25zX2Nob3NlbiB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmI2RhdGFiYXNlX21hcmtldF9sb2NhdGlvbnNfMl9jaG9zZW4ge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jaG9zZW4tcmVzdWx0cyB7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgJi5ncm91cGluZ19vcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcHJpbWFyeUdyZWVuO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1yZXN1bHRzIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgJi5ncm91cGluZ19vcHRpb24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBwcmltYXJ5R3JlZW47XG4gICAgICAgICAgICAgICAgJjpub3QoLnJlc3VsdC1zZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oQHByaW1hcnlHcmVlbiwgNSUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5yZXN1bHQtc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZXNhdHVyYXRlKEBwcmltYXJ5R3JlZW4sIDQwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5ncm91cC1yZXN1bHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEycHggN3B4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmdyb3VwLW9wdGlvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZS1yZXN1bHQsICYucmVzdWx0LXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5ncm91cC1vcHRpb24ge1xuICAgICAgICAgICAgICAgICYuYWN0aXZlLXJlc3VsdCwgJi5yZXN1bHQtc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3Rpb25zRmlsdGVyc1dyYXAge1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNob3Nlbi1jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZW1vdmUtYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnB1dFdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxufVxuIiwiLypcbiAqXG4gKlxuICogICAgWm9vbSBQbHVnaW5cbiAqICAgIENTUyBpbiBiZXRhLCBuZWVkcyBjbGVhbmluZ1xuICpcbiAqL1xuXG4uem9vbUNvbnRhaW5lciB7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAuem9vbSB7XG5cbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvcnRhbCB7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5sb2FkZXIge1xuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kIDogcmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5jbGlja1RvTG9hZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cblxuICAgIH1cblxufSIsIi8qXHRCaWdWaWRlbyBTdHlsZXNcblx0WW91IG1heSBuZWVkIHRvIGFkanVzdCB0aGVzZSBzdHlsZXMgdG8gZ2V0IHRoaXMgd29ya2luZyByaWdodCBpbiB5b3VyIGRlc2lnbi5cbiovXG4jYmlnLXZpZGVvLXdyYXB7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7dG9wOjA7bGVmdDowOyB6LWluZGV4OiAyfVxuI2JpZy12aWRlby12aWQsI2JpZy12aWRlby1pbWFnZXtwb3NpdGlvbjphYnNvbHV0ZTt9XG4jYmlnLXZpZGVvLWNvbnRyb2wtY29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTowO3BhZGRpbmc6MTBweDt3aWR0aDoxMDAlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMjUpO1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246MC42czstbW96LXRyYW5zaXRpb24tZHVyYXRpb246MC42czstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjowLjZzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246MC42czt0cmFuc2l0aW9uLWR1cmF0aW9uOjAuNnM7IGRpc3BsYXk6IG5vbmU7ZGlzcGxheTpub25lIWltcG9ydGFudDsgfVxuI2JpZy12aWRlby1jb250cm9se3dpZHRoOjEwMCU7aGVpZ2h0OjE2cHg7cG9zaXRpb246cmVsYXRpdmU7ICBkaXNwbGF5Om5vbmUhaW1wb3J0YW50OyB9XG4jYmlnLXZpZGVvLWNvbnRyb2wtbWlkZGxle21hcmdpbjogMCA1NnB4IDAgMjRweDt9XG4jYmlnLXZpZGVvLWNvbnRyb2wtYmFye3dpZHRoOjEwMCU7aGVpZ2h0OjE2cHg7cG9zaXRpb246cmVsYXRpdmU7Y3Vyc29yOnBvaW50ZXI7fVxuI2JpZy12aWRlby1jb250cm9sLXByb2dyZXNze3Bvc2l0aW9uOmFic29sdXRlO3RvcDo3cHg7aGVpZ2h0OjNweDt3aWR0aDowJTtiYWNrZ3JvdW5kOiNmZmY7fVxuI2JpZy12aWRlby1jb250cm9sLXRyYWNre3Bvc2l0aW9uOmFic29sdXRlO3RvcDo4cHg7aGVpZ2h0OjFweDt3aWR0aDoxMDAlO2JhY2tncm91bmQ6I2ZmZjt9XG4jYmlnLXZpZGVvLWNvbnRyb2wtYm91bmQtbGVmdHtsZWZ0OjA7fVxuI2JpZy12aWRlby1jb250cm9sLWJvdW5kLXJpZ2h0e3JpZ2h0Oi0xcHh9XG4jYmlnLXZpZGVvLWNvbnRyb2wtdHJhY2sgLnVpLXNsaWRlci1oYW5kbGUge29wYWNpdHk6MDt9XG4jYmlnLXZpZGVvLWNvbnRyb2wtcGxheWhlYWR7bGVmdDozMCU7fVxuI2JpZy12aWRlby1jb250cm9sLXBsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2hlaWdodDoxNnB4O3dpZHRoOjE2cHg7YmFja2dyb3VuZC1pbWFnZTp1cmwoJ2JpZ3ZpZGVvLnBuZycpO31cbiNiaWctdmlkZW8tY29udHJvbC10aW1lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MXB4O3JpZ2h0OjA7Y29sb3I6I2ZmZjtmb250LXNpemU6MTFweDt9XG4jYmlnLXZpZGVvLWNvbnRyb2wtcGxheWhlYWQsI2JpZy12aWRlby1jb250cm9sLWJvdW5kLWxlZnQsI2JpZy12aWRlby1jb250cm9sLWJvdW5kLXJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2hlaWdodDoxNnB4O3dpZHRoOjFweDtiYWNrZ3JvdW5kOiNmZmY7fVxuI2JpZy12aWRlby1jb250cm9sIC51aS1zbGlkZXItaGFuZGxle2JvcmRlci1sZWZ0OnNvbGlkIDFweCAjZmZmOyB3aWR0aDoxNnB4O2hlaWdodDoxNnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDotOHB4O31cbi50cmFuc3BhcmVudHstbXMtZmlsdGVyOlwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MClcIjtmaWx0ZXI6YWxwaGEob3BhY2l0eT0wKTstbW96LW9wYWNpdHk6MDsta2h0bWwtb3BhY2l0eTowO29wYWNpdHk6MDt9XG4jYmlnLXZpZGVvLXdyYXAgLnZqcy1iaWctcGxheS1idXR0b257ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fVxuLnZqcy1jb250cm9sLWJhciwgLnZqcy1oaWRkZW4geyBkaXNwbGF5Om5vbmUhaW1wb3J0YW50OyB9XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNsaWNrIFN0eWxlcyAgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgIC5zbGljay10cmFjaywgLnNsaWNrLWxpc3Qge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxufVxuXG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbi5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBvdXRsaW5lOiAwO1xuXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5zbGljay1sb2FkaW5nIHtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuW2Rpcj0ncnRsJ10gLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyogTW9iaWxlICovXG5cbkBtZWRpYSBAbW9iaWxlIHtcblxuICAgIHRhYmxlIHtcblxuICAgICAgICAmLnJlc3BvbnNpdmUge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIHRoLCB0ZCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBpbm5lZCB7XG5cbiAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlV3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2VlZTtcblxuICAgICAgICAuc2Nyb2xsYWJsZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMzUlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5waW5uZWQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICB3aWR0aDogMzUlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlZWU7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlZWU7XG5cbiAgICAgICAgICAgIHRhYmxlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG5cbiAgICAgICAgICAgICAgICB0aCwgdGQge1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGQge1xuXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYWtlIHlvdXIgY2hhbmdlcyBpbiBtdGNfc3R5bGUubGVzcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogbm9ybWFsaXplLmNzcyB2My4wLjIgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuXG5odG1sIHtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmRmbiB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gIC5lbXMoMzIpO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgLnJlbXMoMTMpO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5cbmltZyB7XG4gICAgYm9yZGVyOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuaHIge1xuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gICAgLmVtcygxNik7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIG1hcmdpbjogMDsgLyogMyAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbmJ1dHRvbiB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgb2Ygbm9ybWFsaXNlIGNvZGUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5pbWcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4jbWFwIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xufVxuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG50ZXh0YXJlYSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLmx0LWllNyBpbnB1dCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xufVxuXG4ubHQtaWU4IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEJhc2UgU3R5bGVzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuKiB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbXMtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDYyO1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgbWFyZ2luOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUZXh0IFNlbGVjdGlvbiBDb2xvdXJzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogIzBmNTVjNDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICMwZjU1YzQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSG9yaXpvbnRhbCBSdWxlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuaHIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0VFRTtcbiAgICBjb2xvcjogIzMzMztcbiAgICBtYXJnaW46IDJlbSAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbnAge1xuICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIG91dGxpbmU6IDA7XG59XG5cbmE6aG92ZXIsIGE6YWN0aXZlIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvcm0gU3R5bGVzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuZm9ybSB7XG5cbiAgICBmaWVsZHNldCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIGxlZ2VuZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuaW5wdXQsIHRleHRhcmVhIHtcbiAgICAucGxhY2Vob2xkZXIoIzk5OSk7XG59XG5cbnRleHRhcmVhIHtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4ubHQtaWU3IGlucHV0IHtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xufVxuXG4ubHQtaWU4IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5pbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCwgbGFiZWwge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwO1xuICAgIG91dGxpbmU6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbnNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5yb3cge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiA5cHggMDsgLy8gOXB4IHBhZGRpbmcgMSBtb3JlIHRoYW4gdGhlIGlucHV0IGFzIHRoZSBpbnB1dCBoYXMgYSAxcHggYm9yZGVyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgfVxuXG4gICAgc21hbGwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5pbnB1dFdyYXAge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnRleHQsIHRleHRhcmVhLCBzZWxlY3QsIC5jaG9zZW4tc2VhcmNoIGlucHV0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIH1cblxuICAgIC5jaG9zZW4tY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZDogI0U3RTdFNztcbiAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAjRTdFN0U3O1xuICAgIH1cbn1cblxuLmJ1dHRvbklubGluZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuaW5wdXRXcmFwIHtcbiAgICAgICAgd2lkdGg6IDcwJTtcbiAgICB9XG5cbiAgICBidXR0b24sIC5idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiA5cHggMTBweDtcbiAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG5cbiAgICBAbWVkaWEgQG1vYmlsZSB7XG5cbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmlucHV0V3JhcCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAyJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcm1JbmxpbmUge1xuXG4gICAgLnJvdyB7XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbnB1dFdyYXAge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMiU7XG4gICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1vYmlsZUNob3NlbiB7XG5cbiAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNoZWNrYm94Um93IHtcblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbklubGluZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDIlO1xuICAgICAgICB3aWR0aDogNzAlO1xuXG4gICAgICAgIC5pbnB1dFdyYXAge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBAbW9iaWxlIHtcblxuICAgICAgICAucm93IHtcblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW5wdXRXcmFwIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbklubGluZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5maWxlVXBsb2FkIHtcblxuICAgIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmZpbGVOYW1lIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaW5wdXRFcnJvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaW5wdXQsIHRleHRhcmVhIHtcbiAgICAgICAgLnBsYWNlaG9sZGVyKCNCOTRBNDgpO1xuICAgIH1cblxuICAgIC50ZXh0LCB0ZXh0YXJlYSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMycHggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjRUVEM0Q3ICFpbXBvcnRhbnQ7XG4vLyAgICAgICAgIGJhY2tncm91bmQ6ICNGMkRFREU7XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjRUVEM0Q3ICFpbXBvcnRhbnQ7XG4vLyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGMkRFREU7XG4gICAgfVxuXG4gICAgJi5zaG93RXJyb3Ige1xuXG4gICAgICAgIC50ZXh0IHtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG5cbiAgICAgICAgICAgICAgICArIC5lcnJvcldyYXAge1xuXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLm9wYWNpdHkoMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgLnRyYW5zaXRpb24ofid2aXNpYmlsaXR5IDBzIGxpbmVhciAyMDBtcywgb3BhY2l0eSAyMDBtcyBlYXNlIDBzLCBoZWlnaHQgMHMgbGluZWFyIDIwMG1zJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZXJyb3JXcmFwIHtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgLm9wYWNpdHkoMSk7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAudHJhbnNpdGlvbkRlbGF5KDBzKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyJSAwIDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmVycm9yV3JhcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBjb2xvcjogI0I5NEE0ODtcblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgICAgICAgJjpob3ZlciArIHNwYW4ge1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgLm9wYWNpdHkoMSk7XG4gICAgICAgICAgICAgICAgLnRyYW5zaXRpb25EZWxheSgwcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0VFRDNENztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjJERURFO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgLm9wYWNpdHkoMCk7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICAgICAgei1pbmRleDogNDtcblxuICAgICAgICAgICAgLnRyYW5zaXRpb24ofid2aXNpYmlsaXR5IDBzIGxpbmVhciAyMDBtcywgb3BhY2l0eSAyMDBtcyBlYXNlIDBzLCBoZWlnaHQgMHMgbGluZWFyIDIwMG1zJyk7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC5vcGFjaXR5KDEpO1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgLnRyYW5zaXRpb25EZWxheSgwcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm92ZXJsYXlPbklucHV0IHtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNCOTRBNDg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uSW5saW5lICYge1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTQzJVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jYmlsbGluZ0FkZHJlc3NMaXN0Um93IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ubm8tanMgI3Bhc3N3b3JkX3RleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQ2hhbmdlIEJveCBNb2RlbCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbioge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBIaWRlIEFudGkgU3BhbSBGaWVsZCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jb250YWN0Rm9ybSB7XG5cbiAgICAuYW5zd2VyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQ2hlY2tib3hlcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jaGVja2JveCBpbnB1dCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbjogMiU7XG4gICAgcGFkZGluZzogMDtcbiAgICAqaGVpZ2h0OiAxM3B4O1xuICAgICp3aWR0aDogMTNweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBDaGVja2JveCBUb2dnbGUgLSBTaW1pbGFyIHRvIHRoZSBvbmUgc2VlbiBpbiBpT1MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uY2hlY2tib3hUb2dnbGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICsgbGFiZWwge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwcHggMXB4ICNkNWQ1ZDU7XG4gICAgICAgIHRleHQtaW5kZW50OiAtNTAwMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgLnRyYW5zaXRpb24ofidiYWNrZ3JvdW5kIDAuMjVzIGVhc2UtaW4tb3V0IDBzLCB3aWR0aCAwLjI1cyBlYXNlLWluLW91dCAwcycpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDFweDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAbXRjQmx1ZTtcbiAgICAgICAgICAgIC50cmFuc2l0aW9uKH4nbGVmdCAwLjI1cyBlYXNlLWluLW91dCAwcywgYmFja2dyb3VuZCAwLjI1cyBlYXNlLWluLW91dCAwcycpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcblxuICAgICAgICArIGxhYmVsIHtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBtdGNCbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBSYWRpbyBidXR0b25zICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnJhZGlvV3JhcCB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHdpZHRoOiA3MCU7XG59XG5cbi5yYWRpb1dyYXAgdWwgbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBOb3RpZmljYXRpb24gU3R5bGVzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmFsZXJ0IHtcbiAgICBwYWRkaW5nOiA4cHggMzVweCA4cHggMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGNvbG9yOiAjQzA5ODUzO1xuICAgIHRleHQtc2hhZG93OiAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGOEUzO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNGQkVFRDU7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDsgcGFkZGluZzogMDtcbiAgICB9XG5cbn1cblxuLnN1Y2Nlc3MsIC5lcnJvciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICNERkYwRDg7XG4gICAgY29sb3I6ICM0Njg4NDc7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0Q2RTlDNjtcbn1cblxuLmVycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjJERURFO1xuICAgIGNvbG9yOiAjQjk0QTQ4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFRUQzRDc7XG59XG5cbi5tZXNzYWdlRnVsbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAjREZGMEQ4O1xuICAgIGNvbG9yOiAjNDY4ODQ3O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNENkU5QzY7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICAgIHotaW5kZXg6IDkwMDA7XG59XG5cbi5lcnJvck1lc3NhZ2VGdWxsIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjJERURFO1xuICAgIGNvbG9yOiAjQjk0QTQ4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFRUQzRDc7XG59XG5cbmlucHV0LmlucHV0RXJyb3IsIGlucHV0IHRleHRhcmVhLCAuaW5wdXRFcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjQjk0QTQ4O1xufVxuXG4uaGlkZW1lIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENsZWFyaW5nIGZvciBnZW5lcmFsIHVzZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jbGVhciB7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTGFzdCAoZGVwcmVjYXRlZCBieSBvbmx5IGFwcGx5aW5nIHRvIGJlbG93IElFOSwgdXNlIG1lZGlhIHF1ZXJpZXMgaW5zdGVhZCkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ubHQtaWU5IC5sYXN0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGaXJzdCAoZGVwcmVjYXRlZCBieSBvbmx5IGFwcGx5aW5nIHRvIGJlbG93IElFOSwgdXNlIG1lZGlhIHF1ZXJpZXMgaW5zdGVhZCkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ubHQtaWU5IC5maXJzdCB7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUmVsYXRpdmUgUG9zaXRpb25pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucmVsYXRpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbWFnZXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5pbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmxlZnQsIC5hbGlnbmxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucmlnaHQsIC5hbGlnbnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTGlzdHMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG51bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGkge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEJhc2ljIExpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ubGlzdCgpIHtcbiAgICAuY2xlYXJmaXgoKTtcblxuICAgIGxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBOYXZpZ2F0aW9uIFN0eWxlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLm5hdigpIHtcbiAgICAubGlzdCgpO1xuXG4gICAgQG1lZGlhIEBkZXNrdG9wLCBAdGFibGV0IHtcblxuICAgICAgICBsaSA+IHVsIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDQwMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB1bCBsaSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgbGk6aG92ZXIgdWwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBsaSA+IHVsID4gbGkgPiB1bCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRWRnZSB0byBlZGdlIG5hdmlnYXRpb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uZWRnZU5hdigpIHtcblxuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5jbGVhcmZpeCgpO1xuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgbGkgPiAucmVsYXRpdmUgPiB1bCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHotaW5kZXg6IDQwMDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIGxpIHVsIGxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICBAbWVkaWEgQGRlc2t0b3AsIEB0YWJsZXQge1xuICAgICAgICBsaSB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgbGk6aG92ZXIgPiB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZhZGUgRHJvcGRvd24gSG92ZXIgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uZmFkZU5hdiB7XG4gICAgbGkge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIC5vcGFjaXR5KDApO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgLnRyYW5zaXRpb24ofidvcGFjaXR5IDQwMG1zIGxpbmVhciAwcywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgNDAwbXMnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIgPiB1bCB7XG4gICAgICAgICAgICAub3BhY2l0eSgxKTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAudHJhbnNpdGlvbkRlbGF5KDBzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sdC1pZTkgLmZhZGVOYXYgbGkge1xuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAub3BhY2l0eSgxKTtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTbGlkZSBEcm9wZG93biBIb3ZlciAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5zbGlkZU5hdiB7XG4gICAgbGkge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlZWU7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgLnRyYW5zaXRpb24obWF4LWhlaWdodCA0MDBtcyBsaW5lYXIgNDAwbXMpOyAvLyBzbGlkZS11cCB3aXRoIGRlbGF5IHRvIHNlZSBvcGFjaXR5IHRyYW5zaXRpb24gb2YgdGhlIGFcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAub3BhY2l0eSgwKTtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICAudHJhbnNpdGlvbih+J29wYWNpdHkgNDAwbXMgbGluZWFyIDBzLCB2aXNpYmlsaXR5IDBzIGxpbmVhciA0MDBtcycpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIgdWwgbGkge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTlweDsgLy8gbmVlZCB0byBzZXQgYSBoZWlnaHQgZXF1YWwgdG8gbGkgaGVpZ2h0XG4gICAgICAgICAgICAudHJhbnNpdGlvbihtYXgtaGVpZ2h0IDQwMG1zIGxpbmVhciAwcyk7IC8vIHNsaWRlLWRvd24gbm8gZGVsYXlcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgLm9wYWNpdHkoMSk7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAudHJhbnNpdGlvbih+J29wYWNpdHkgNDAwbXMgbGluZWFyIDQwMG1zLCB2aXNpYmlsaXR5IDBzIGxpbmVhciAwcycpOyAvLyBkZWxheSBvbiBvcGFjaXR5IG9uLWhvdmVyIHNvIHRoYXQgc2xpZGUtZG93biBjb21wbGV0ZXMgZmlyc3RcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmx0LWllOSAuc2xpZGVOYXYge1xuXG4gICAgbGkgdWwgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgLm9wYWNpdHkoMSk7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIGxpOmhvdmVyIHVsIGxpIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBDcmVkaXQgc3R5bGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiNjcmVkaXRzIGEgc3Ryb25nIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xufVxuXG4jY3JlZGl0cyBhOmhvdmVyIHN0cm9uZyB7XG4gICAgY29sb3I6IEBtdGNCbHVlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENoZWNrYm94IEdyb3VwcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jaGVja2JveGdyb3VwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICBpbnB1dCwgbGkgbGFiZWwge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQnV0dG9ucyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5idXR0b24oKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgIGkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjI1ZW07XG4gICAgfVxuXG4gICAgJi5idXR0b25TbWFsbCB7XG4gICAgICAgIC5lbXMoMTApO1xuICAgIH1cblxuICAgICYuYnV0dG9uTGFyZ2Uge1xuICAgICAgICAuZW1zKDIwKVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBCdXR0b24gR3JvdXBzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmJ1dHRvbmdyb3VwIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRhYmxlcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbnRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIHRkLCB0aCB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBtYXgtd2lkdGg6IG5vbmU7IG92ZXJyaWRlcyBtYXgtd2lkdGg6IDEwMCUgZnJvbSBhYm92ZSB3aGljaCBkaXN0b3J0cyB0aGUgaWNvbnMgb24gZ21hcHMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4jbWFwIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENlbnRyZSBFbGVtZW50cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jZW50ZXJQdXNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbGVmdDogNTAlO1xufVxuXG4uY2VudGVyUHVsbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICByaWdodDogNTAlO1xufVxuXG5AbWVkaWEgQG1vYmlsZSB7XG4gICAgLm1vYmlsZVB1c2gge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgfVxuXG4gICAgLm1vYmlsZVB1bGwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGFibGUgRGl2ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnRhYmxlQ2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBCcm93c2VyIENvbXBhdGliaWxpdHkgV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jb21wYXRpYmlsaXR5TWVzc2FnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTVweCAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIGJhY2tncm91bmQ6IEBtdGNCbHVlO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBzcGFuIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBhdHRlcm5zIGZvciBjaG9wIHN0eWxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucGF0dGVybiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICBwYWRkaW5nOiAwIDAgMzBweDtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2ZmZjtcbiAgICBjbGVhcjogYm90aDtcbiAgICAuY2xlYXJmaXgoKTtcbn1cblxuLnBhdHRlcm4gLmRpc3BsYXkge1xuICAgIG1hcmdpbjogMzBweCAwO1xuICAgIC5jbGVhcmZpeCgpO1xufVxuXG4ucGF0dGVybiAuc291cmNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiBAbXRjQmx1ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgLmNsZWFyZml4KCk7XG59XG5cbi5wYXR0ZXJuIC5zb3VyY2UgdGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgaGVpZ2h0OiAyMDBweDtcbn1cblxuLnNvdXJjZSAucm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucGF0dGVybmZpbGVuYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMjBweDtcbiAgICByaWdodDogNXB4O1xuICAgIGJhY2tncm91bmQ6IEBtdGNCbHVlO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDJweCAxMHB4O1xufVxuXG4jc2hvd01lbnUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDIwcHg7XG4gICAgbGVmdDogMjBweDtcbiAgICB6LWluZGV4OiAxMDAwMDAwO1xuICAgIGJhY2tncm91bmQ6ICMwRjU1QzQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDZweCA3cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5wZXJzcGVjdGl2ZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCByZ2JhKDAsMCwwLDApO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIC50cmFuc2Zvcm0oIHRyYW5zbGF0ZVooMCkgdHJhbnNsYXRlWCgwKSByb3RhdGVZKDBkZWcpKTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDBweDtcbiAgICAgICAgLm9wYWNpdHkoMCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4yKTtcbiAgICAgICAgLyogdGhlIHRyYW5zaXRpb24gZGVsYXkgb2YgdGhlIGhlaWdodCBuZWVkcyB0byBiZSBzeW5jZWQgd2l0aCB0aGUgY29udGFpbmVyIHRyYW5zaXRpb24gdGltZSAqL1xuICAgICAgICAudHJhbnNpdGlvbih+J29wYWNpdHkgNDAwbXMsIGhlaWdodCAwcyA0MDBtcycpO1xuICAgIH1cbn1cblxuLyogTW9kYWwgdmlldyAqL1xuLnBlcnNwZWN0aXZlLm1vZGFsdmlldyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDE1MDBweDtcbiAgICAtbW96LXBlcnNwZWN0aXZlOiAxNTAwcHg7XG4gICAgcGVyc3BlY3RpdmU6IDE1MDBweDtcbn1cblxuLm1vZGFsdmlldyAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLm1vZGFsdmlldyAud3JhcHBlciB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooLTFweCk7IC8qIHNvbHZlcyBhIHJlbmRlcmluZyBidWcgaW4gQ2hyb21lIG9uIFdpbmRvd3MgKi9cbn1cblxuLmFuaW1hdGUgLmNvbnRhaW5lcjphZnRlciB7XG4gICAgLm9wYWNpdHkoMSk7XG4gICAgaGVpZ2h0OiAxMDElO1xuICAgIC50cmFuc2l0aW9uKG9wYWNpdHkgMC4zcyk7XG59XG5cbi8qIE91dGVyIE5hdiAqL1xuLm91dGVyLW5hdiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBmb250LXNpemU6IDA7XG4gICAgLmZhZGVOYXYoKTtcblxuICAgICYudG9wIHtcbiAgICAgICAgdG9wOiA1JTtcbiAgICB9XG5cbiAgICAmLmhvcml6b250YWwge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWluLXdpZHRoOiAxNSU7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAudHJhbnNpdGlvbih+J29wYWNpdHkgMjAwbXMgbGluZWFyIDBzLCB2aXNpYmlsaXR5IDBzIGxpbmVhciAyMDBtcycpO1xuICAgIH1cblxuICAgID4gdWwge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gYSB7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIC5vcGFjaXR5KDApO1xuICAgICAgICAgICAgICAgICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTIwcHgpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5vcGFjaXR5KDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC50cmFuc2l0aW9uKH4nb3BhY2l0eSAyMDBtcyBlYXNlIDBzLCB0cmFuc2Zvcm0gMjAwbXMgZWFzZSAwcycpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbWFyZ2luOiA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAudHJhbnNpdGlvbihjb2xvciAwLjNzKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgLnJlbXMoMTgpO1xuICAgIH1cbn1cblxuLyogSW5kaXZpZHVhbCBFZmZlY3RzICovXG5cbi8qIEVmZmVjdCBNb3ZlIERvd24gKi9cbi5lZmZlY3QtbW92ZWRvd24ge1xuICAgIGJhY2tncm91bmQ6ICMzNDQ5NWU7XG59XG5cbi5lZmZlY3QtbW92ZWRvd24gLmNvbnRhaW5lciB7XG4gICAgLnRyYW5zaXRpb24odHJhbnNmb3JtIDQwMG1zKTtcbiAgICAudHJhbnNmb3JtT3JpZ2luKDUwJSA1MCUpO1xufVxuXG4uZWZmZWN0LW1vdmVkb3duIC5jb250YWluZXI6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNTIsIDczLCA5NCwgMC41KTtcbn1cblxuLmVmZmVjdC1tb3ZlZG93bi5hbmltYXRlIC5jb250YWluZXIge1xuICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlWSgxMDAlKSB0cmFuc2xhdGVaKC0xNTAwcHgpKTtcbn1cblxuLm5vLWNzc3RyYW5zZm9ybXMzZCAuZWZmZWN0LW1vdmVkb3duLmFuaW1hdGUgLmNvbnRhaW5lciB7XG4gICAgdG9wOiA3NSU7XG59XG5cbi5lZmZlY3QtbW92ZWRvd24gLm91dGVyLW5hdiBhIHtcbiAgICAub3BhY2l0eSgwKTtcbiAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTIwcHgpKTtcbiAgICAudHJhbnNpdGlvbih+J3RyYW5zZm9ybSA0MDBtcywgb3BhY2l0eSA0MDBtcycpO1xufVxuXG4uZWZmZWN0LW1vdmVkb3duLmFuaW1hdGUgLm91dGVyLW5hdiBhIHtcbiAgICAub3BhY2l0eSgxKTtcbiAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xufVxuXG4vKiBNZWRpYSBRdWVyaWVzICovXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM2LjYyNWVtKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNDEuNzVlbSkge1xuXG4gICAgLm91dGVyLW5hdi5ob3Jpem9udGFsIHtcbiAgICAgICAgLmVtcygyMCk7XG4gICAgfVxuXG4gICAgLm91dGVyLW5hdi5ob3Jpem9udGFsIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzFlbSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDM2LjJlbSkge1xuXG4gICAgLm91dGVyLW5hdi5ob3Jpem9udGFsIHtcbiAgICAgICAgLmVtcygxNik7XG4gICAgICAgIHRvcDogNzBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGVYKDApKTtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAzMS42ZW0pIHtcblxuICAgIC5vdXRlci1uYXYgYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWluLXdpZHRoIDogMHB4KVxuYW5kIChtYXgtd2lkdGggOiA4MDBweCkge1xuICAgIC5wYXR0ZXJuc2VsZWN0b3Ige1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIC5jbGVhcmZpeCgpO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGbHVpZCBHcmlkICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmdyaWRfMSwgLmdyaWRfMiwgLmdyaWRfMywgLmdyaWRfNCwgLmdyaWRfNSwgLmdyaWRfNixcbi5ncmlkXzcsIC5ncmlkXzgsIC5ncmlkXzksIC5ncmlkXzEwLCAuZ3JpZF8xMSwgLmdyaWRfMTIsIC5jb2x1bW5GaXJzdCwgLmNvbHVtblNlY29uZCwgLm9uZUhhbGYsIC5jb2x1bW5IYWxmIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMiU7XG4gICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICBib3JkZXI6IDBweCBzb2xpZCByZ2JhKDAsMCwwLDApO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbW96LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3ggIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3ggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94ICFpbXBvcnRhbnQ7XG4gICAgKmJlaGF2aW9yOiB1cmwoL2Nzcy9ib3hzaXppbmcuaHRjKTsgLyogQm94IHNpemluZyBwb2x5ZmlsbCBmb3IgaWU3LzggKi9cbn1cblxuLmdyaWRfMTphZnRlciwgLmdyaWRfMjphZnRlciwgLmdyaWRfMzphZnRlciwgLmdyaWRfNDphZnRlciwgLmdyaWRfNTphZnRlciwgLmdyaWRfNjphZnRlcixcbi5ncmlkXzc6YWZ0ZXIsIC5ncmlkXzg6YWZ0ZXIsIC5ncmlkXzk6YWZ0ZXIsIC5ncmlkXzEwOmFmdGVyLCAuZ3JpZF8xMTphZnRlciwgLmdyaWRfMTI6YWZ0ZXIsIC5jb2x1bW5GaXJzdDphZnRlciwgLmNvbHVtblNlY29uZDphZnRlciwgLm9uZUhhbGY6YWZ0ZXIsIC5jb2x1bW5IYWxmOmFmdGVyICB7XG4gICAgY29udGVudDogXCIuXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGhlaWdodDogMDtcbn1cblxuLmdyaWRfMSwgLmdyaWRfMiwgLmdyaWRfMywgLmdyaWRfNCwgLmdyaWRfNSwgLmdyaWRfNixcbi5ncmlkXzcsIC5ncmlkXzgsIC5ncmlkXzksIC5ncmlkXzEwLCAuZ3JpZF8xMSwgLmdyaWRfMTIsIC5jb2x1bW5GaXJzdCwgLmNvbHVtblNlY29uZCwgLm9uZUhhbGYsIC5jb2x1bW5IYWxmICB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHpvb206IDE7XG4gICAgKmRpc3BsYXk6IGlubGluZTtcbn1cblxuaHRtbFt4bWxuc10gLmdyaWRfMSwgaHRtbFt4bWxuc10gLmdyaWRfMiwgaHRtbFt4bWxuc10gLmdyaWRfMyxcbmh0bWxbeG1sbnNdIC5ncmlkXzQsIGh0bWxbeG1sbnNdIC5ncmlkXzUsIGh0bWxbeG1sbnNdIC5ncmlkXzYsXG5odG1sW3htbG5zXSAuZ3JpZF83LCBodG1sW3htbG5zXSAuZ3JpZF84LCBodG1sW3htbG5zXSAuZ3JpZF85LFxuaHRtbFt4bWxuc10gLmdyaWRfMTAsIGh0bWxbeG1sbnNdIC5ncmlkXzExLCBodG1sW3htbG5zXSAuZ3JpZF8xMiwgaHRtbFt4bWxuc10gLm9uZUhhbGYsIGh0bWxbeG1sbnNdIC5jb2x1bW5IYWxmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuKiBodG1sIC5ncmlkXzEsICogaHRtbCAuZ3JpZF8yLCAqIGh0bWwgLmdyaWRfMywgKiBodG1sIC5ncmlkXzQsICogaHRtbCAuZ3JpZF81LCAqIGh0bWwgLmdyaWRfNiwgKiBodG1sIC5ncmlkXzcsICogaHRtbCAuZ3JpZF84LCAqIGh0bWwgLmdyaWRfOSwgKiBodG1sIC5ncmlkXzEwLCAqIGh0bWwgLmdyaWRfMTEsICogaHRtbCAuZ3JpZF8xMiwgKiBodG1sIC5jb2x1bW5GaXJzdCwgKiBodG1sIC5jb2x1bW5TZWNvbmQsICogaHRtbCAub25lSGFsZiwgKiBodG1sIC5jb2x1bW5IYWxmIHtcbiAgICBoZWlnaHQ6IDElO1xufVxuXG4uZ3JpZF8xIHsgd2lkdGg6Ni41JTsgICB9XG4uZ3JpZF8yIHsgd2lkdGg6MTUuMCU7ICB9XG4uZ3JpZF8zIHsgd2lkdGg6MjMuNSU7ICB9XG4uZ3JpZF80IHsgd2lkdGg6MzIuMCU7ICB9XG4uZ3JpZF81IHsgd2lkdGg6NDAuNSU7ICB9XG4uZ3JpZF82IHsgd2lkdGg6NDkuMCU7ICB9XG4uZ3JpZF83IHsgd2lkdGg6NTcuNSU7ICB9XG4uZ3JpZF84IHsgd2lkdGg6NjYuMCU7ICB9XG4uZ3JpZF85IHsgd2lkdGg6NzQuNSU7ICB9XG4uZ3JpZF8xMCB7IHdpZHRoOjgzLjAlOyB9XG4uZ3JpZF8xMSB7IHdpZHRoOjkxLjUlOyB9XG4uZ3JpZF8xMiB7IG1hcmdpbi1yaWdodDowOyB3aWR0aDoxMDAlOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG93IGNvbnRlbnQgcGFnZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5lbXB0eUJhc2tldCwgLmxvd0NvbnRlbnQge1xuICAgIC53cmFwcGVyKCk7XG4gICAgLmNsZWFyZml4KCk7XG4gICAgcGFkZGluZzogNDBweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIEBtZWRpYSBAZGVza3RvcCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDcwMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSBAdGFibGV0IHtcbiAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgfVxuXG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1peGlucyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jbGVhcmZpeCgpIHtcbiAgICAqem9vbTogMTtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG4uYm94KEBmbG9hdDogbGVmdDsgQHpJbmRleDogMTsgQGRpc3BsYXk6IGJsb2NrOyBAcG9zaXRpb246IHJlbGF0aXZlKSB7XG4gICAgZmxvYXQ6IEBmbG9hdDtcbiAgICB6LWluZGV4OiBAekluZGV4O1xuICAgIGRpc3BsYXk6IEBkaXNwbGF5O1xuICAgIHBvc2l0aW9uOiBAcG9zaXRpb247XG59XG5cbi5mdWxsQm94KEB3aWR0aDogMTAwJTsgQGZsb2F0OiBsZWZ0OyBAekluZGV4OiAxOyBAZGlzcGxheTogYmxvY2s7IEBwb3NpdGlvbjogcmVsYXRpdmUpIHtcbiAgICAuYm94KEBmbG9hdDsgQHpJbmRleDsgQGRpc3BsYXk7IEBwb3NpdGlvbik7XG4gICAgd2lkdGg6IEB3aWR0aDtcbn1cblxuLnRyYW5zaXRpb24oQHRyYW5zaXRpb24pIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICAgIC1tb3otdHJhbnNpdGlvbjogICAgQHRyYW5zaXRpb247XG4gICAgLW1zLXRyYW5zaXRpb246ICAgICBAdHJhbnNpdGlvbjtcbiAgICAtby10cmFuc2l0aW9uOiAgICAgIEB0cmFuc2l0aW9uO1xuICAgIHRyYW5zaXRpb246ICAgICAgICAgQHRyYW5zaXRpb247XG59XG5cbi50cmFuc2l0aW9uRGVsYXkoQGRlbGF5KSB7XG4gICAgLXRyYW5zaXRpb24tZGVsYXk6IEBkZWxheTtcbiAgICAtbW96LXRyYW5zaXRpb24tZGVsYXk6IEBkZWxheTtcbiAgICAtby10cmFuc2l0aW9uLWRlbGF5OiBAZGVsYXk7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogQGRlbGF5O1xufVxuXG4udHJhbnNpdGlvbkR1cmF0aW9uKEBkdXJhdGlvbikge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogQGR1cmF0aW9uO1xuICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogQGR1cmF0aW9uO1xuICAgIC1vLXRyYW5zaXRpb24tZHVyYXRpb246IEBkdXJhdGlvbjtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBAZHVyYXRpb247XG59XG5cbi50cmFuc2Zvcm0oQHN0cmluZyl7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IEBzdHJpbmc7XG4gICAgLW1vei10cmFuc2Zvcm06ICAgIEBzdHJpbmc7XG4gICAgLW1zLXRyYW5zZm9ybTogICAgIEBzdHJpbmc7XG4gICAgLW8tdHJhbnNmb3JtOiAgICAgIEBzdHJpbmc7XG4gICAgdHJhbnNmb3JtOiAgICAgICAgIEBzdHJpbmc7XG59XG5cbi50cmFuc2xhdGUoQHRyYW5zbGF0ZSkge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHRyYW5zbGF0ZSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZShAdHJhbnNsYXRlKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZShAdHJhbnNsYXRlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHRyYW5zbGF0ZSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHRyYW5zbGF0ZSk7XG59XG5cbi5yb3RhdGUoQGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xuICAtby10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbn1cblxuLnRyYW5zZm9ybVN0eWxlKEBzdHJpbmcpIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogQHN0cmluZztcbiAgICAtbW96LXRyYW5zZm9ybS1zdHlsZTogICAgQHN0cmluZztcbiAgICAtbXMtdHJhbnNmb3JtLXN0eWxlOiAgICAgQHN0cmluZztcbiAgICAtby10cmFuc2Zvcm0tc3R5bGU6ICAgICAgQHN0cmluZztcbiAgICB0cmFuc2Zvcm0tc3R5bGU6ICAgICAgICAgQHN0cmluZztcbn1cblxuLnRyYW5zZm9ybU9yaWdpbihAc3RyaW5nKSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBAc3RyaW5nO1xuICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogQHN0cmluZztcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogQHN0cmluZztcbiAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiBAc3RyaW5nO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IEBzdHJpbmc7XG59XG5cbi51bFN0eWxlKEBwYWRkaW5nOiAwLCBAbWFyZ2luOiAwLCBAbGlzdC1zdHlsZTogbm9uZSkge1xuICAgIG1hcmdpbjogQG1hcmdpbjtcbiAgICBwYWRkaW5nOiBAcGFkZGluZztcbiAgICBsaXN0LXN0eWxlOiBAbGlzdC1zdHlsZTtcbn1cblxuLmdyYWRpZW50IChAc3RhcnRDb2xvcjogIzIxNzBiNSwgQGVuZENvbG9yOiAjMTY0YjkxKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHN0YXJ0Q29sb3I7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbShAc3RhcnRDb2xvciksIHRvKEBlbmRDb2xvcikpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7XG59XG5cbi5wbGFjZWhvbGRlcihAY29sb3I6IEBzZWNvbmRhcnkpIHtcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IEBjb2xvcjtcbiAgICB9XG5cbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE4LSAqL1xuICAgICAgICBjb2xvcjogQGNvbG9yO1xuICAgIH1cblxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgeyAgLyogRmlyZWZveCAxOSsgKi9cbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6IEBjb2xvcjtcbiAgICB9XG5cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiBAY29sb3I7XG4gICAgfVxufVxuXG4uZm9udC1mYWNlKEBmb250bmFtZSwgQGZvbnRmaWxlLCBAZm9udHdlaWdodDpub3JtYWwsIEBmb250c3R5bGU6bm9ybWFsKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiQHtmb250bmFtZX1cIjtcbiAgICBzcmM6IHVybChcIkB7Zm9udGZpbGV9LmVvdFwiKTtcbiAgICBzcmM6IHVybChcIkB7Zm9udGZpbGV9LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgICAgICB1cmwoXCJAe2ZvbnRmaWxlfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICAgIHVybChcIkB7Zm9udGZpbGV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcbiAgICAgICAgIHVybChcIkB7Zm9udGZpbGV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgICAgICAgIHVybChcIkB7Zm9udGZpbGV9LnN2ZyNAe2ZvbnRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XG4gICAgZm9udC13ZWlnaHQ6IEBmb250d2VpZ2h0O1xuICAgIGZvbnQtc3R5bGU6IEBmb250c3R5bGU7XG59XG5cbi5vcGFjaXR5KEBvcGFjaXR5OiAxKSB7XG4gICAgQGllT3BhY2l0eTogQG9wYWNpdHkgKiAxMDA7XG4gICAgZmlsdGVyOiB+XCJhbHBoYShvcGFjaXR5PUB7aWVPcGFjaXR5fSlcIjsgXG4gICAgb3BhY2l0eTogQG9wYWNpdHk7XG59XG5cbi5yZW1zKEB2YWx1ZSkge1xuICAgIEBlbXZhbHVlIDogKEB2YWx1ZSAvIEBiYXNlRm9udFNpemUpO1xuICAgIEByZW1WYWx1ZTogQGVtdmFsdWU7XG4gICAgQHB4VmFsdWU6IChAYmFzZUZvbnRTaXplICogQHJlbVZhbHVlKTtcbiAgICBmb250LXNpemU6IH5cIkB7cHhWYWx1ZX1weFwiO1xuICAgIGZvbnQtc2l6ZTogflwiQHtyZW1WYWx1ZX1yZW1cIjtcbn1cblxuLmVtcyhAdmFsdWU6IEBiYXNlRm9udFNpemUsIEBjb250ZXh0OiBAYmFzZUZvbnRTaXplKSB7XG4gICAgQGVtVmFsdWU6IChAdmFsdWUgLyBAY29udGV4dCk7XG4gICAgZm9udC1zaXplOiB+XCJAe2VtVmFsdWV9ZW1cIjtcbn1cblxuLnRhYmxlT2RkRXZlbihAZXZlbjogI2U2ZTZlNiwgQG9kZDogI2YyZjJmMiwgQGJvcmRlcjogI2ZmZiwgQGhlYWRlclJvdzogI2NjY2NjYykge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGV2ZW47XG4gICAgfVxuXG4gICAgdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAb2RkO1xuICAgIH1cblxuICAgIHRyOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBoZWFkZXJSb3c7XG4gICAgfVxufVxuXG4ua2V5ZnJhbWVzKEBuYW1lOyBAYXJndW1lbnRzKSB7XG5cdEAtbW96LWtleWZyYW1lcyBAbmFtZSB7IEBhcmd1bWVudHMoKTsgfVxuXHRALXdlYmtpdC1rZXlmcmFtZXMgQG5hbWUgeyBAYXJndW1lbnRzKCk7IH1cblx0QGtleWZyYW1lcyBAbmFtZSB7IEBhcmd1bWVudHMoKTsgfVxufVxuXG4uYW5pbWF0aW9uKEBhcmd1bWVudHMpIHtcblx0LXdlYmtpdC1hbmltYXRpb246IEBhcmd1bWVudHM7XG5cdC1tb3otYW5pbWF0aW9uOiBAYXJndW1lbnRzO1xuXHRhbmltYXRpb246IEBhcmd1bWVudHM7XG59IiwiLnBzLWNvbnRhaW5lciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyBcbn1cblxuLnBzLWNvbnRhaW5lci5wcy1hY3RpdmUteCA+IC5wcy1zY3JvbGxiYXIteC1yYWlsLCAucHMtY29udGFpbmVyLnBzLWFjdGl2ZS15ID4gLnBzLXNjcm9sbGJhci15LXJhaWwge1xuICAgIGRpc3BsYXk6IGJsb2NrOyBcbn1cblxuLnBzLWNvbnRhaW5lci5wcy1pbi1zY3JvbGxpbmcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyBcbn1cblxuLnBzLWNvbnRhaW5lci5wcy1pbi1zY3JvbGxpbmcucHMteCA+IC5wcy1zY3JvbGxiYXIteC1yYWlsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTkwKVwiO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT05MCk7IFxufVxuXG4ucHMtY29udGFpbmVyLnBzLWluLXNjcm9sbGluZy5wcy14ID4gLnBzLXNjcm9sbGJhci14LXJhaWwgPiAucHMtc2Nyb2xsYmFyLXgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTk7IFxufVxuXG4ucHMtY29udGFpbmVyLnBzLWluLXNjcm9sbGluZy5wcy15ID4gLnBzLXNjcm9sbGJhci15LXJhaWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgb3BhY2l0eTogMC45O1xuICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9OTApXCI7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTkwKTsgXG59XG5cbi5wcy1jb250YWluZXIucHMtaW4tc2Nyb2xsaW5nLnBzLXkgPiAucHMtc2Nyb2xsYmFyLXktcmFpbCA+IC5wcy1zY3JvbGxiYXIteSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTsgXG59XG5cbi5wcy1jb250YWluZXIgPiAucHMtc2Nyb2xsYmFyLXgtcmFpbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLyogcGxlYXNlIGRvbid0IGNoYW5nZSAncG9zaXRpb24nICovXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgLW1zLWJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApXCI7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBvcGFjaXR5IC4ycyBsaW5lYXI7XG4gICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBsaW5lYXIsIG9wYWNpdHkgLjJzIGxpbmVhcjtcbiAgICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBsaW5lYXIsIG9wYWNpdHkgLjJzIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBsaW5lYXIsIG9wYWNpdHkgLjJzIGxpbmVhcjtcbiAgICBib3R0b206IDNweDtcbiAgICAvKiB0aGVyZSBtdXN0IGJlICdib3R0b20nIGZvciBwcy1zY3JvbGxiYXIteC1yYWlsICovXG4gICAgaGVpZ2h0OiA4cHg7IFxufVxuXG4ucHMtY29udGFpbmVyID4gLnBzLXNjcm9sbGJhci14LXJhaWwgPiAucHMtc2Nyb2xsYmFyLXgge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvKiBwbGVhc2UgZG9uJ3QgY2hhbmdlICdwb3NpdGlvbicgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIC1tcy1ib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyO1xuICAgIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBsaW5lYXI7XG4gICAgYm90dG9tOiAwO1xuICAgIC8qIHRoZXJlIG11c3QgYmUgJ2JvdHRvbScgZm9yIHBzLXNjcm9sbGJhci14ICovXG4gICAgaGVpZ2h0OiA4cHg7IFxufVxuXG4ucHMtY29udGFpbmVyID4gLnBzLXNjcm9sbGJhci15LXJhaWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8qIHBsZWFzZSBkb24ndCBjaGFuZ2UgJ3Bvc2l0aW9uJyAqL1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIC1tcy1ib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKVwiO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgb3BhY2l0eSAuMnMgbGluZWFyO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBvcGFjaXR5IC4ycyBsaW5lYXI7XG4gICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBvcGFjaXR5IC4ycyBsaW5lYXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBvcGFjaXR5IC4ycyBsaW5lYXI7XG4gICAgcmlnaHQ6IDNweDtcbiAgICAvKiB0aGVyZSBtdXN0IGJlICdyaWdodCcgZm9yIHBzLXNjcm9sbGJhci15LXJhaWwgKi9cbiAgICB3aWR0aDogOHB4OyBcbn1cblxuLnBzLWNvbnRhaW5lciA+IC5wcy1zY3JvbGxiYXIteS1yYWlsID4gLnBzLXNjcm9sbGJhci15IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLyogcGxlYXNlIGRvbid0IGNoYW5nZSAncG9zaXRpb24nICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FhYTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAtbXMtYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhcjtcbiAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhcjtcbiAgICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBsaW5lYXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyO1xuICAgIHJpZ2h0OiAwO1xuICAgIC8qIHRoZXJlIG11c3QgYmUgJ3JpZ2h0JyBmb3IgcHMtc2Nyb2xsYmFyLXkgKi9cbiAgICB3aWR0aDogOHB4OyBcbn1cblxuLnBzLWNvbnRhaW5lcjpob3Zlci5wcy1pbi1zY3JvbGxpbmcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyBcbn1cblxuLnBzLWNvbnRhaW5lcjpob3Zlci5wcy1pbi1zY3JvbGxpbmcucHMteCA+IC5wcy1zY3JvbGxiYXIteC1yYWlsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTkwKVwiO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT05MCk7IFxufVxuXG4ucHMtY29udGFpbmVyOmhvdmVyLnBzLWluLXNjcm9sbGluZy5wcy14ID4gLnBzLXNjcm9sbGJhci14LXJhaWwgPiAucHMtc2Nyb2xsYmFyLXgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTk7IFxufVxuXG4ucHMtY29udGFpbmVyOmhvdmVyLnBzLWluLXNjcm9sbGluZy5wcy15ID4gLnBzLXNjcm9sbGJhci15LXJhaWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgb3BhY2l0eTogMC45O1xuICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9OTApXCI7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTkwKTsgXG59XG5cbi5wcy1jb250YWluZXI6aG92ZXIucHMtaW4tc2Nyb2xsaW5nLnBzLXkgPiAucHMtc2Nyb2xsYmFyLXktcmFpbCA+IC5wcy1zY3JvbGxiYXIteSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTsgXG59XG5cbi5wcy1jb250YWluZXI6aG92ZXIgPiAucHMtc2Nyb2xsYmFyLXgtcmFpbCwgLnBzLWNvbnRhaW5lcjpob3ZlciA+IC5wcy1zY3JvbGxiYXIteS1yYWlsIHtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT02MClcIjtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NjApOyBcbn1cblxuLnBzLWNvbnRhaW5lcjpob3ZlciA+IC5wcy1zY3JvbGxiYXIteC1yYWlsOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTkwKVwiO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT05MCk7IFxufVxuXG4ucHMtY29udGFpbmVyOmhvdmVyID4gLnBzLXNjcm9sbGJhci14LXJhaWw6aG92ZXIgPiAucHMtc2Nyb2xsYmFyLXgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTk7IFxufVxuXG4ucHMtY29udGFpbmVyOmhvdmVyID4gLnBzLXNjcm9sbGJhci15LXJhaWw6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgb3BhY2l0eTogMC45O1xuICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9OTApXCI7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTkwKTsgXG59XG5cbi5wcy1jb250YWluZXI6aG92ZXIgPiAucHMtc2Nyb2xsYmFyLXktcmFpbDpob3ZlciA+IC5wcy1zY3JvbGxiYXIteSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTsgXG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBPdmVybGF5IFN0eWxlcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5iZ0NvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiMwOTA5MDk7XG4gICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNSk7XG4gICAgcG9zaXRpb246Zml4ZWQ7XG4gICAgbGVmdDowO1xuICAgIHRvcDowO1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICB6LWluZGV4OjkwMDA7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBoZWlnaHQ6MTAwJTtcbn1cblxuLm92ZXJsYXlCb3gge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgei1pbmRleDo5MTAwO1xuICAgIG92ZXJmbG93LXk6YXV0bztcbiAgICBvcGFjaXR5OjA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgQG1lZGlhIEBtb2JpbGUge1xuICAgICAgICB3aWR0aDo5NiU7XG4gICAgICAgIHRvcDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICBsZWZ0OiAyJSAhaW1wb3J0YW50O1xuICAgICAgICByaWdodDogMiUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LWhlaWdodDppbml0aWFsO1xuICAgICAgICBwYWRkaW5nLXRvcDo1MHB4O1xuICAgIH1cblxuICAgIGlmcmFtZSB7XG5cdCAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5ub1Njcm9sbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm92ZXJsYXlWaWRlbyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ub3ZlcmxheUNsb3NlQnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogOTIwMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB0b3A6IDBweDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuXG4gICAgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM2N0NDNjc7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOjEycHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwYWRkaW5nOjVweCAxMHB4O1xuICAgICAgICBmb250LWZhbWlseTpAcHJpbWFyeUZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICAgIHotaW5kZXg6OTIwMDtcbiAgICAgICAgb3V0bGluZTowO1xuICAgIH1cblxuICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOjA7XG4gICAgICAgIGxlZnQ6MDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzIzMjM7XG4gICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOjE0cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjpzdGF0aWM7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmVtb2RhbCdzIG5lY2Vzc2FyeSBzdHlsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEhpZGUgc2Nyb2xsIGJhciAqL1xuXG5odG1sLnJlbW9kYWwtaXMtbG9ja2VkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8qIEFudGkgRk9VQyAqL1xuXG4ucmVtb2RhbCxcbltkYXRhLXJlbW9kYWwtaWRdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTmVjZXNzYXJ5IHN0eWxlcyBvZiB0aGUgb3ZlcmxheSAqL1xuXG4ucmVtb2RhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTk5O1xuICB0b3A6IC01MDAwcHg7XG4gIHJpZ2h0OiAtNTAwMHB4O1xuICBib3R0b206IC01MDAwcHg7XG4gIGxlZnQ6IC01MDAwcHg7XG5cbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTmVjZXNzYXJ5IHN0eWxlcyBvZiB0aGUgd3JhcHBlciAqL1xuXG4ucmVtb2RhbC13cmFwcGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAwMDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBhdXRvO1xuXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5yZW1vZGFsLXdyYXBwZXI6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogLTAuMDVlbTtcblxuICBjb250ZW50OiBcIlwiO1xufVxuXG4vKiBGaXggaVBhZCwgaVBob25lIGdsaXRjaGVzICovXG5cbi5yZW1vZGFsLW92ZXJsYXksXG4ucmVtb2RhbC13cmFwcGVyIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBOZWNlc3Nhcnkgc3R5bGVzIG9mIHRoZSBtb2RhbCBkaWFsb2cgKi9cblxuLnJlbW9kYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgb3V0bGluZTogbm9uZTtcbiB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xufVxuXG4ucmVtb2RhbCBvbCB7XG4gICAgbWFyZ2luOiAwIDAgMCAxNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY291bnRlci1yZXNldDogaXRlbTtcbiAgICAgICAgXG4gICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXJzKGl0ZW0sIFwiLlwiKSBcIiAtIFwiO1xuICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGl0ZW07XG5cdFx0XHRmb250LWZhbWlseTogQGJvbGQ7XG4gICAgICAgIH1cbiAgICB9IFxufVxuXG4ucmVtb2RhbC1pcy1pbml0aWFsaXplZCB7XG4gIC8qIERpc2FibGUgQW50aS1GT1VDICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJlbW9kYWwncyBkZWZhdWx0IG1vYmlsZSBmaXJzdCB0aGVtZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGVmYXVsdCB0aGVtZSBzdHlsZXMgZm9yIHRoZSBiYWNrZ3JvdW5kICovXG5cbi5yZW1vZGFsLWJnLnJlbW9kYWwtaXMtb3BlbmluZyxcbi5yZW1vZGFsLWJnLnJlbW9kYWwtaXMtb3BlbmVkIHtcbiAgZmlsdGVyOiBibHVyKDNweCk7XG59XG5cbi8qIERlZmF1bHQgdGhlbWUgc3R5bGVzIG9mIHRoZSBvdmVybGF5ICovXG5cbi5yZW1vZGFsLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDQzLCA0NiwgNTYsIDAuOSk7XG59XG5cbi5yZW1vZGFsLW92ZXJsYXkucmVtb2RhbC1pcy1vcGVuaW5nLFxuLnJlbW9kYWwtb3ZlcmxheS5yZW1vZGFsLWlzLWNsb3Npbmcge1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuM3M7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xufVxuXG4ucmVtb2RhbC1vdmVybGF5LnJlbW9kYWwtaXMtb3BlbmluZyB7XG4gIGFuaW1hdGlvbi1uYW1lOiByZW1vZGFsLW92ZXJsYXktb3BlbmluZy1rZXlmcmFtZXM7XG59XG5cbi5yZW1vZGFsLW92ZXJsYXkucmVtb2RhbC1pcy1jbG9zaW5nIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJlbW9kYWwtb3ZlcmxheS1jbG9zaW5nLWtleWZyYW1lcztcbn1cblxuLyogRGVmYXVsdCB0aGVtZSBzdHlsZXMgb2YgdGhlIHdyYXBwZXIgKi9cblxuLnJlbW9kYWwtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDMwcHggMTBweCAwO1xufVxuXG4vKiBEZWZhdWx0IHRoZW1lIHN0eWxlcyBvZiB0aGUgbW9kYWwgZGlhbG9nICovXG5cbi5yZW1vZGFsIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmc6IDM1cHg7XG5cbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblxuICBjb2xvcjogIzJiMmUzODtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgXG4gIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gIH1cbn1cblxuLnJlbW9kYWwucmVtb2RhbC1pcy1vcGVuaW5nLFxuLnJlbW9kYWwucmVtb2RhbC1pcy1jbG9zaW5nIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbn1cblxuLnJlbW9kYWwucmVtb2RhbC1pcy1vcGVuaW5nIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJlbW9kYWwtb3BlbmluZy1rZXlmcmFtZXM7XG59XG5cbi5yZW1vZGFsLnJlbW9kYWwtaXMtY2xvc2luZyB7XG4gIGFuaW1hdGlvbi1uYW1lOiByZW1vZGFsLWNsb3Npbmcta2V5ZnJhbWVzO1xufVxuXG4vKiBWZXJ0aWNhbCBhbGlnbiBvZiB0aGUgbW9kYWwgZGlhbG9nICovXG5cbi5yZW1vZGFsLFxuLnJlbW9kYWwtd3JhcHBlcjphZnRlciB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIENsb3NlIGJ1dHRvbiAqL1xuXG4ucmVtb2RhbC1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTBweDtcbiAgcmlnaHQ6IC0xMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IDM1cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBjb2xvcjogIzk1OTc5YztcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO2JhY2tncm91bmQ6IHJnYigyNTUsMjU1LDI1NSk7XG5iYWNrZ3JvdW5kOiAtbW96LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDIyOSwyMjksMjI5LDEpIDEwMCUpO1xuYmFja2dyb3VuZDogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSxyZ2JhKDIyOSwyMjksMjI5LDEpIDEwMCUpO1xuYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSxyZ2JhKDIyOSwyMjksMjI5LDEpIDEwMCUpO1xuZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNmZmZmZmYnLCBlbmRDb2xvcnN0cj0nI2U1ZTVlNScsR3JhZGllbnRUeXBlPTEgKTtcblxufVxuXG4ucmVtb2RhbC1jbG9zZTpob3Zlcixcbi5yZW1vZGFsLWNsb3NlOmZvY3VzIHtcbiAgY29sb3I6ICMyYjJlMzg7XG59XG5cbi5yZW1vZGFsLWNsb3NlOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgXCJIZWx2ZXRpY2EgQ1lcIiwgXCJOaW1idXMgU2FucyBMXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAyNXB4O1xuICBsaW5lLWhlaWdodDogMzVweDtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBibG9jaztcblxuICB3aWR0aDogMzVweDtcblxuICBjb250ZW50OiBcIlxcMDBkN1wiO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIERpYWxvZyBidXR0b25zICovXG5cbi5yZW1vZGFsLWNvbmZpcm0sXG4ucmVtb2RhbC1jYW5jZWwge1xuICBmb250OiBpbmhlcml0O1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgbWluLXdpZHRoOiAxMTBweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMnB4IDA7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbn1cblxuLnJlbW9kYWwtY29uZmlybSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjODFjNzg0O1xufVxuXG4ucmVtb2RhbC1jb25maXJtOmhvdmVyLFxuLnJlbW9kYWwtY29uZmlybTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICM2NmJiNmE7XG59XG5cbi5yZW1vZGFsLWNhbmNlbCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjZTU3MzczO1xufVxuXG4ucmVtb2RhbC1jYW5jZWw6aG92ZXIsXG4ucmVtb2RhbC1jYW5jZWw6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjZWY1MzUwO1xufVxuXG4vKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsgZm9yIHRoZSBidXR0b24gdGFnLiAqL1xuXG4ucmVtb2RhbC1jb25maXJtOjotbW96LWZvY3VzLWlubmVyLFxuLnJlbW9kYWwtY2FuY2VsOjotbW96LWZvY3VzLWlubmVyLFxuLnJlbW9kYWwtY2xvc2U6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuXG4gIGJvcmRlcjogMDtcbn1cblxuLyogS2V5ZnJhbWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5Aa2V5ZnJhbWVzIHJlbW9kYWwtb3BlbmluZy1rZXlmcmFtZXMge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJlbW9kYWwtY2xvc2luZy1rZXlmcmFtZXMge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcblxuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByZW1vZGFsLW92ZXJsYXktb3BlbmluZy1rZXlmcmFtZXMge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcmVtb2RhbC1vdmVybGF5LWNsb3Npbmcta2V5ZnJhbWVzIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4vKiBNZWRpYSBxdWVyaWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIC5yZW1vZGFsIHtcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICB9XG59XG5cbi8qIElFOFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmx0LWllOSAucmVtb2RhbC1vdmVybGF5IHtcbiAgYmFja2dyb3VuZDogIzJiMmUzODtcbn1cblxuLmx0LWllOSAucmVtb2RhbCB7XG4gIHdpZHRoOiA3MDBweDtcbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTW9iaWxlIE1lbnUgKHN0eWxlKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5zdWJOYXYge1xuXG4gICAgLnRpdGxlIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbn1cblxuQG1lZGlhIEBtb2JpbGUge1xuXG4gICAgLmZseW91dFdyYXAge1xuXG4gICAgICAgIGJhY2tncm91bmQ6IEBzdGF0aWNGbHlvdXRCZztcbiAgICAgICAgei1pbmRleDogMTAwMTtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICYucGFyZW50ID4gYTphZnRlciB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjBkYVwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgLnRyYW5zaXRpb24oYWxsIDMwMG1zIGVhc2UtaW4tb3V0IDBzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5wYXJlbnQub3BlbiA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIC50cmFuc2Zvcm0ocm90YXRlKDkwZGVnKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAbGluZUNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIC5jbGVhcmZpeCgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICAgICAvKiBUaGUgZmx5b3V0IGJ1dHRvbiAqL1xuICAgIC5mbHlvdXQge1xuXG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB6LWluZGV4OiA1MDAxO1xuICAgICAgICBjb2xvcjogQGxpbmVDb2xvcjtcblxuICAgICAgICBhIHtcblxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBjb2xvcjogQGxpbmVDb2xvcjtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLmxpbmUge1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGxpbmVDb2xvcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNweDtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGxpbmVDb2xvcjtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgYSB7XG5cbiAgICAgICAgICAgICAgICAubGluZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAbGluZUNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgJi5hbGl2ZSB7XG5cbiAgICAgICAgICAgIGEge1xuXG4gICAgICAgICAgICAgICAgLmxpbmUge1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBhY3RpdmVGbHlvdXRCZztcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiAgICAvKiBFbmQgb2YgdGhlIGZseW91dCBidXR0b24gKi9cblxufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTW9iaWxlIE1lbnUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AZmx5b3V0V2lkdGg6IDEwMCU7XG5cbi5zaXRlT3V0ZXJXcmFwcGVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLmNsZWFyZml4KCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBtZWRpYSBAbW9iaWxlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDY1cHg7XG4gICAgfVxufVxuXG4uc2l0ZUlubmVyV3JhcHBlciB7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbi8qIEdvdCBhIGZ1bGwgc2NyZWVuIGJhY2tncm91bmQ/IFlvdSBtaWdodCBuZWVkIHRoaXMgdG8gc3RvcCB0aGUgZmxhc2hlcnNcbio6bm90KGh0bWwpIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbiovXG5cbi5mbHlvdXQsXG4ubW9iaWxlQmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBCcmVha3BvaW50IGZvciBtb2JpbGUgbWVudSB0byBhcHBlYXIsIGNhbiBiZSBzZXQgdG8gd2hhdGV2ZXIgc2l0ZSBuZWVkcyAqL1xuQG1lZGlhIEBtb2JpbGUge1xuXG4gICAgLnRvcEJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNpdGVPdXRlcldyYXBwZXIge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICYgPiBkaXYudHJhbnNmb3JtIHtcbiAgICAgICAgICAgIC50cmFuc2l0aW9uKGFsbCAzMDBtcyBlYXNlLWluLW91dCAwcyk7XG4gICAgICAgICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZSgwLDApKTtcblxuICAgICAgICAgICAgJi5hbGl2ZSB7XG4gICAgICAgICAgICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlKC1AZmx5b3V0V2lkdGgsMCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gIC5mbHlvdXRXcmFwIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNjZweDtcbiAgICAgIHJpZ2h0OiAtQGZseW91dFdpZHRoO1xuICAgICAgd2lkdGg6IEBmbHlvdXRXaWR0aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZSgwLDApKTtcbiAgICAgIC50cmFuc2l0aW9uKGFsbCAzMDBtcyBlYXNlLWluLW91dCAwcyk7XG5cbiAgICAgICYuYWxpdmUge1xuICAgICAgICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlKC0xMDAlLDApKTtcbiAgICAgIH1cblxuICB9XG5cbiAgJi5tZW51bGVmdCB7XG5cbiAgICAgICAgLnNpdGVPdXRlcldyYXBwZXIge1xuXG4gICAgICAgICAgJiA+IGRpdi50cmFuc2Zvcm0ge1xuXG4gICAgICAgICAgICAgICYuYWxpdmUge1xuICAgICAgICAgICAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGUoQGZseW91dFdpZHRoLDApKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIC5mbHlvdXRXcmFwIHtcblxuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IC1AZmx5b3V0V2lkdGg7XG5cbiAgICAgICAgICAmLmFsaXZlIHtcbiAgICAgICAgICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlKDEwMCUsMCkpO1xuICAgICAgICAgIH1cblxuICAgICAgfVxuXG4gIH1cblxuLyogVGhlIGZseW91dCBidXR0b24gKi9cblxuICAgIC5mbHlvdXQge1xuXG4gICAgICAgIHRvcDogMjJweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICYucmlnaHQge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmxlZnQge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICB3aWR0aDogMTNweDtcbiAgICBcdFx0aGVpZ2h0OiAycHg7XG4gICAgXHRcdHRvcDogOXB4O1xuICAgIFx0XHRmbG9hdDogbGVmdDtcbiAgICBcdFx0ZGlzcGxheTogYmxvY2s7XG4gICAgXHRcdGJhY2tncm91bmQ6IEBsaW5lQ29sb3I7XG4gICAgXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcdFx0LnRyYW5zaXRpb24oYmFja2dyb3VuZCAxMDBtcyBlYXNlLWluLW91dCAzMDBtcyk7XG5cbiAgICBcdFx0JjpiZWZvcmUsICY6YWZ0ZXIge1xuXG4gICAgXHRcdFx0aGVpZ2h0OiAycHg7XG4gICAgXHRcdFx0YmFja2dyb3VuZDogQGxpbmVDb2xvcjtcbiAgICBcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgXHRcdFx0bGVmdDogMDtcbiAgICBcdFx0XHRjb250ZW50OiAnJztcbiAgICBcdFx0XHQudHJhbnNmb3JtKHJvdGF0ZTNkKDAsIDAsIDAsIDBkZWcpKTtcbiAgICBcdFx0XHQudHJhbnNpdGlvbih+XCJ0cmFuc2Zvcm0gMzAwbXMgbGluZWFyIDBtcywgdG9wIDMwMG1zIGxpbmVhciA0MDBtcywgd2lkdGggMzAwbXMgbGluZWFyIDcwMG1zXCIpO1xuICAgIFx0XHR9XG5cbiAgICBcdFx0JjpiZWZvcmUge1xuICAgIFx0XHRcdHRvcDogLTZweDtcbiAgICBcdFx0XHR3aWR0aDogMjJweDtcbiAgICBcdFx0fVxuXG4gICAgXHRcdCY6YWZ0ZXIge1xuICAgIFx0XHRcdHRvcDogNnB4O1xuICAgIFx0XHRcdHdpZHRoOiAxN3B4O1xuICAgIFx0XHR9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICBhIHtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAmLmFsaXZlIHtcbiAgICAgICAgICAgIC50cmFuc2l0aW9uKGFsbCAwLjRzIGxpbmVhciAwcyk7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0LnRyYW5zaXRpb24oYmFja2dyb3VuZCAxMDBtcyBlYXNlLWluLW91dCA2MDBtcyk7XG5cblx0XHRcdFx0JjpiZWZvcmUsICY6YWZ0ZXIge1xuXHRcdFx0XHRcdC50cmFuc2l0aW9uKH5cIndpZHRoIDMwMG1zIGxpbmVhciAwbXMsIHRvcCAzMDBtcyBsaW5lYXIgMzAwbXMsIHRyYW5zZm9ybSAzMDBtcyBsaW5lYXIgNzAwbXNcIik7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHR0b3A6IDBweDtcblx0XHRcdFx0XHR3aWR0aDogMjJweDtcblx0XHRcdFx0XHQudHJhbnNmb3JtKHJvdGF0ZTNkKDAsIDAsIDEsIC00MGRlZykpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0dG9wOiAwcHg7XG5cdFx0XHRcdFx0d2lkdGg6IDIycHg7XG5cdFx0XHRcdFx0LnRyYW5zZm9ybShyb3RhdGUzZCgwLCAwLCAxLCA0MGRlZykpO1xuXHRcdFx0XHR9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvcm0gU3R5bGVzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnJvdywgLmNoZWNrYm94Um93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBpbnB1dFt0eXBlPWNoZWNrYm94XSwgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgJitsYWJlbCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0ZGRjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDFweCA4cHggMCAwO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNEREQ7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgJitsYWJlbCB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY3RhR3JlZW47XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwMGMnO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7IFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbdHlwZT1yYWRpb10ge1xuICAgICAgICAgICAgJitsYWJlbCB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmx0LWllOSB7XG4gICAgaW5wdXRbdHlwZT1jaGVja2JveF0sIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICAgICAgbWFyZ2luOiA5cHggMTBweCAwO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gICAgICAgICYrbGFiZWwge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFZhbmlsbGEgRGF0ZXBpY2tlciBTdHlsZXMgICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuI3VpLWRhdGVwaWNrZXItZGl2LCAuaGFzRGF0ZXBpY2tlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcblxuICAgIC51aS1kYXRlcGlja2VyLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC8vIE5leHQgQnV0dG9uXG4gICAgLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLWUge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogMTVweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC8vIFByZXZpb3VzIEJ1dHRvblxuICAgIC51aS1pY29uLWNpcmNsZS10cmlhbmdsZS13IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMTVweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcblxuICAgICAgICB0aGVhZCB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgY29sb3I6ICM3MTcxNzE7XG4gICAgICAgIH1cblxuICAgICAgICB0aCwgdGQge1xuICAgICAgICAgICAgcGFkZGluZzogNy41cHggOXB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YxZjFmMTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkIHtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMzYzNjM2M7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYudWktc3RhdGUtZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC51aS1kYXRlcGlja2VyLWN1cnJlbnQtZGF5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlZWU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiFcbkNob3NlbiwgYSBTZWxlY3QgQm94IEVuaGFuY2VyIGZvciBqUXVlcnkgYW5kIFByb3RvdHlwZVxuYnkgUGF0cmljayBGaWxsZXIgZm9yIEhhcnZlc3QsIGh0dHA6Ly9nZXRoYXJ2ZXN0LmNvbVxuXG5WZXJzaW9uIDEuNC4yXG5GdWxsIHNvdXJjZSBhdCBodHRwczovL2dpdGh1Yi5jb20vaGFydmVzdGhxL2Nob3NlblxuQ29weXJpZ2h0IChjKSAyMDExLTIwMTUgSGFydmVzdCBodHRwOi8vZ2V0aGFydmVzdC5jb21cblxuTUlUIExpY2Vuc2UsIGh0dHBzOi8vZ2l0aHViLmNvbS9oYXJ2ZXN0aHEvY2hvc2VuL2Jsb2IvbWFzdGVyL0xJQ0VOU0UubWRcblRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQgYnkgYGdydW50IGJ1aWxkYCwgZG8gbm90IGVkaXQgaXQgYnkgaGFuZC5cbiovXG5cbi8qIEBncm91cCBCYXNlICovXG5cbi5jaG9zZW4tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLXdpZHRoOiAxOTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6b29tOiAxO1xuICAgICpkaXNwbGF5OiBpbmxpbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNEREQ7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLWRyb3Age1xuICBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgXHR0b3A6IDEwMCU7XG4gIFx0bGVmdDogLTk5OTlweDtcbiAgXHRib3JkZXItdG9wOiAwO1xuICBcdGJhY2tncm91bmQ6ICNmZmY7XG4gIFx0ei1pbmRleDo2MDAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNEREQ7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyLmNob3Nlbi13aXRoLWRyb3AgLmNob3Nlbi1kcm9wIHtcbiAgXHRsZWZ0OiAtMXB4O1xuICBcdHJpZ2h0OiAtMXB4O1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lciBhIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lciAuc2VhcmNoLWNob2ljZSAuZ3JvdXAtbmFtZSwgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1zaW5nbGUgLmdyb3VwLW5hbWUge1xuICBcdG1hcmdpbi1yaWdodDogNHB4O1xuICBcdG92ZXJmbG93OiBoaWRkZW47XG4gIFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgXHRmb250LXdlaWdodDogbm9ybWFsO1xuICBcdGNvbG9yOiAjOTk5OTk5O1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lciAuc2VhcmNoLWNob2ljZSAuZ3JvdXAtbmFtZTphZnRlciwgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1zaW5nbGUgLmdyb3VwLW5hbWU6YWZ0ZXIge1xuICBcdGNvbnRlbnQ6IFwiOlwiO1xuICBcdHBhZGRpbmctbGVmdDogMnB4O1xuICBcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi8qIEBlbmQgKi9cbi8qIEBncm91cCBTaW5nbGUgQ2hvc2VuICovXG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSB7XG4gIFx0cG9zaXRpb246IHJlbGF0aXZlO1xuICBcdGRpc3BsYXk6IGJsb2NrO1xuICBcdG92ZXJmbG93OiBoaWRkZW47XG4gIFx0dGV4dC1hbGlnbjogbGVmdDtcbiAgXHRwYWRkaW5nOiAwIDM1cHggMCAxMHB4O1xuICBcdGhlaWdodDogMzhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tZGVmYXVsdCB7XG4gICAgY29sb3I6ICM5OTk7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZS13aXRoLWRlc2VsZWN0IHNwYW4ge1xuICAgIG1hcmdpbi1yaWdodDogMzhweDtcbn1cblxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGFiYnIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDZweDtcbiAgICByaWdodDogMjZweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgZm9udC1zaXplOiAxcHg7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBkaXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDI1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgZGl2IGIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZjBkN1wiO1xuICAgICAgICByaWdodDogLTE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlIDBtcztcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZSAwbXM7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZSAwbXM7XG4gICAgICAgIC1vLXRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlIDBtcztcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2UgMG1zO1xuICAgIH1cbn1cblxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTAxMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogM3B4IDRweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBcdGJhY2tncm91bmQ6ICNGRkY7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNlYXJjaCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICBtYXJnaW46IDVweCAwO1xuICAgIHBhZGRpbmc6IDVweCAyMHB4IDVweCA1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG91dGxpbmU6IDA7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgXHRib3JkZXI6IDFweCBzb2xpZCAjREREO1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1kcm9wIHtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIFx0dGV4dC1hbGlnbjogbGVmdDtcbiAgXHRiYWNrZ3JvdW5kOiAjRkZGO1xuICBcdGJvcmRlcjogMXB4IHNvbGlkICNEREQ7XG4gIFx0Ym9yZGVyLXRvcDogMDtcbn1cblxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlLmNob3Nlbi1jb250YWluZXItc2luZ2xlLW5vc2VhcmNoIC5jaG9zZW4tc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTk5OTlweDtcbn1cblxuLyogQGVuZCAqL1xuLyogQGdyb3VwIFJlc3VsdHMgKi9cbi5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyB7XG5cdGZsb2F0OiBsZWZ0O1xuXHR3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWFyZ2luOiAwIDRweCA0cHggMDtcbiAgICBwYWRkaW5nOiAwIDRweDtcbiAgICBtYXgtaGVpZ2h0OiAyNDBweDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogN3B4IDZweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaS5hY3RpdmUtcmVzdWx0IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMgbGkuZGlzYWJsZWQtcmVzdWx0IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgY29sb3I6ICNjY2M7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMgbGkuaGlnaGxpZ2h0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGRkZGQ7XG59XG4uY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMgbGkubm8tcmVzdWx0cyB7XG4gICAgY29sb3I6ICM3Nzc7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG59XG4uY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMgbGkuZ3JvdXAtcmVzdWx0IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUVFO1xuICAgIGNvbG9yOiAjRkZGO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAxMHB4IDVweDtcbn1cbi5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaS5ncm91cC1vcHRpb24ge1xuICAgIC8vcGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpIGVtIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8qIEBlbmQgKi9cbi8qIEBncm91cCBNdWx0aSBDaG9zZW4gKi9cbi5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDVweCA1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogdGV4dDtcbn1cblxuLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWZpZWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWZpZWxkIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIG1hcmdpbjogMXB4IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDNweCA1cHggM3B4IDA7XG4gICAgcGFkZGluZzogNXB4IDIwcHggNXB4IDVweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGJhY2tncm91bmQ6IEBwcmltYXJ5R3JlZW47XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZSBzcGFuIHtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlIC5zZWFyY2gtY2hvaWNlLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA2cHg7XG4gICAgcmlnaHQ6IDNweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgZm9udC1zaXplOiAxcHg7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwMGQnO1xuICAgICAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG59XG5cbi5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlIC5zZWFyY2gtY2hvaWNlLWNsb3NlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDJweCAtMTBweDtcbn1cblxuLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2UtZGlzYWJsZWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNGU0ZTQ7XG4gICAgY29sb3I6ICM2NjY7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlLWZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDRkNGQ0O1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZS1mb2N1cyAuc2VhcmNoLWNob2ljZS1jbG9zZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQycHggLTEwcHg7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tcmVzdWx0cyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tZHJvcCAucmVzdWx0LXNlbGVjdGVkIHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgY29sb3I6ICNjY2M7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKiBAZW5kICovXG4vKiBAZ3JvdXAgQWN0aXZlICAqL1xuXG4uY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLXNpbmdsZSBkaXYge1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUuY2hvc2VuLXdpdGgtZHJvcCB7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZS5jaG9zZW4td2l0aC1kcm9wIC5jaG9zZW4tc2luZ2xlIHtcblxufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLXNpbmdsZSBkaXYgYiB7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgfVxufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1maWVsZCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgY29sb3I6ICMyMjIgIWltcG9ydGFudDtcbn1cblxuLyogQGVuZCAqL1xuLyogQGdyb3VwIERpc2FibGVkIFN1cHBvcnQgKi9cblxuLmNob3Nlbi1kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIG9wYWNpdHk6MC4yO1xufVxuXG4uY2hvc2VuLWRpc2FibGVkIC5jaG9zZW4tc2luZ2xlIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5jaG9zZW4tZGlzYWJsZWQgLmNob3Nlbi1jaG9pY2VzIC5zZWFyY2gtY2hvaWNlIC5zZWFyY2gtY2hvaWNlLWNsb3NlIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qIEBlbmQgKi9cbi8qIEBncm91cCBSaWdodCB0byBMZWZ0ICovXG4uY2hvc2VuLXJ0bCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jaG9zZW4tcnRsIC5jaG9zZW4tc2luZ2xlIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwYWRkaW5nOiAwIDhweCAwIDA7XG59XG5cbi5jaG9zZW4tcnRsIC5jaG9zZW4tc2luZ2xlIHNwYW4ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMjZweDtcbiAgICBkaXJlY3Rpb246IHJ0bDtcbn1cblxuLmNob3Nlbi1ydGwgLmNob3Nlbi1zaW5nbGUtd2l0aC1kZXNlbGVjdCBzcGFuIHtcbiAgICBtYXJnaW4tbGVmdDogMzhweDtcbn1cblxuLmNob3Nlbi1ydGwgLmNob3Nlbi1zaW5nbGUgZGl2IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAzcHg7XG59XG5cbi5jaG9zZW4tcnRsIC5jaG9zZW4tc2luZ2xlIGFiYnIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDI2cHg7XG59XG5cbi5jaG9zZW4tcnRsIC5jaG9zZW4tY2hvaWNlcyBsaSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uY2hvc2VuLXJ0bCAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWZpZWxkIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIGRpcmVjdGlvbjogcnRsO1xufVxuXG4uY2hvc2VuLXJ0bCAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZSB7XG4gICAgbWFyZ2luOiAzcHggNXB4IDNweCAwO1xuICAgIHBhZGRpbmc6IDNweCA1cHggM3B4IDE5cHg7XG59XG5cbi5jaG9zZW4tcnRsIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlIC5zZWFyY2gtY2hvaWNlLWNsb3NlIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA0cHg7XG59XG5cbi5jaG9zZW4tcnRsLmNob3Nlbi1jb250YWluZXItc2luZ2xlLW5vc2VhcmNoIC5jaG9zZW4tc2VhcmNoLFxuLmNob3Nlbi1ydGwgLmNob3Nlbi1kcm9wIHtcbiAgICBsZWZ0OiA5OTk5cHg7XG59XG5cbi5jaG9zZW4tcnRsLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tcmVzdWx0cyB7XG4gICAgbWFyZ2luOiAwIDAgNHB4IDRweDtcbiAgICBwYWRkaW5nOiAwIDRweCAwIDA7XG59XG5cbi5jaG9zZW4tcnRsIC5jaG9zZW4tcmVzdWx0cyBsaS5ncm91cC1vcHRpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uY2hvc2VuLXJ0bC5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZS5jaG9zZW4td2l0aC1kcm9wIC5jaG9zZW4tc2luZ2xlIGRpdiB7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4uY2hvc2VuLXJ0bCAuY2hvc2VuLXNlYXJjaCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgcGFkZGluZzogNHB4IDVweCA0cHggMjBweDtcbiAgICBkaXJlY3Rpb246IHJ0bDtcbn1cblxuLmNob3Nlbi1ydGwuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgZGl2IGIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDZweCAycHg7XG59XG5cbi5jaG9zZW4tcnRsLmNob3Nlbi1jb250YWluZXItc2luZ2xlLmNob3Nlbi13aXRoLWRyb3AgLmNob3Nlbi1zaW5nbGUgZGl2IGIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMnB4IDJweDtcbn1cblxuLm1vYmlsZUNob3NlbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWluLXdpZHRoOiAyMDBweDtcblxuXHRzZWxlY3Qge1xuXHRcdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHQgICAgbGVmdDogMDtcblx0ICAgIHRvcDogMDtcblx0ICAgIHdpZHRoOiAxMDAlO1xuXHQgICAgaGVpZ2h0OiAxMDAlO1xuXHQgICAgb3BhY2l0eTogMDtcblx0ICAgIGN1cnNvcjogcG9pbnRlcjtcblx0ICAgIHotaW5kZXg6IDk5ODtcblx0fVxufVxuIiwiLyohXG4gKiBGdWxsQ2FsZW5kYXIgdjIuNS4wIFN0eWxlc2hlZXRcbiAqIERvY3MgJiBMaWNlbnNlOiBodHRwOi8vZnVsbGNhbGVuZGFyLmlvL1xuICogKGMpIDIwMTUgQWRhbSBTaGF3XG4gKi9cblxuXG4uZmMge1xuXHRkaXJlY3Rpb246IGx0cjtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmZjLXJ0bCB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5ib2R5IC5mYyB7IC8qIGV4dHJhIHByZWNlZGVuY2UgdG8gb3ZlcmNvbWUganF1aSAqL1xuXHRmb250LXNpemU6IDFlbTtcbn1cblxuXG4vKiBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmZjLXVudGhlbWVkIHRoLFxuLmZjLXVudGhlbWVkIHRkLFxuLmZjLXVudGhlbWVkIHRoZWFkLFxuLmZjLXVudGhlbWVkIHRib2R5LFxuLmZjLXVudGhlbWVkIC5mYy1kaXZpZGVyLFxuLmZjLXVudGhlbWVkIC5mYy1yb3csXG4uZmMtdW50aGVtZWQgLmZjLXBvcG92ZXIge1xuXHRib3JkZXItY29sb3I6ICNkZGQ7XG59XG5cbi5mYy11bnRoZW1lZCAuZmMtcG9wb3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5mYy11bnRoZW1lZCAuZmMtZGl2aWRlcixcbi5mYy11bnRoZW1lZCAuZmMtcG9wb3ZlciAuZmMtaGVhZGVyIHtcblx0YmFja2dyb3VuZDogI2VlZTtcbn1cblxuLmZjLXVudGhlbWVkIC5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgLmZjLWNsb3NlIHtcblx0Y29sb3I6ICM2NjY7XG59XG5cbi5mYy11bnRoZW1lZCAuZmMtdG9kYXkge1xuXHRiYWNrZ3JvdW5kOiAjZmNmOGUzO1xufVxuXG4uZmMtaGlnaGxpZ2h0IHsgLyogd2hlbiB1c2VyIGlzIHNlbGVjdGluZyBjZWxscyAqL1xuXHRiYWNrZ3JvdW5kOiAjYmNlOGYxO1xuXHRvcGFjaXR5OiAuMztcblx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTMwKTsgLyogZm9yIElFICovXG59XG5cbi5mYy1iZ2V2ZW50IHsgLyogZGVmYXVsdCBsb29rIGZvciBiYWNrZ3JvdW5kIGV2ZW50cyAqL1xuXHRiYWNrZ3JvdW5kOiByZ2IoMTQzLCAyMjMsIDEzMCk7XG5cdG9wYWNpdHk6IC4zO1xuXHRmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MzApOyAvKiBmb3IgSUUgKi9cbn1cblxuLmZjLW5vbmJ1c2luZXNzIHsgLyogZGVmYXVsdCBsb29rIGZvciBub24tYnVzaW5lc3MtaG91cnMgYXJlYXMgKi9cblx0Lyogd2lsbCBpbmhlcml0IC5mYy1iZ2V2ZW50J3Mgc3R5bGVzICovXG5cdGJhY2tncm91bmQ6ICNkN2Q3ZDc7XG59XG5cblxuLyogSWNvbnMgKGlubGluZSBlbGVtZW50cyB3aXRoIHN0eWxlZCB0ZXh0IHRoYXQgbW9jayBhcnJvdyBpY29ucylcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmZjLWljb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAxZW07XG5cdGhlaWdodDogMWVtO1xuXHRsaW5lLWhlaWdodDogMWVtO1xuXHRmb250LXNpemU6IDFlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRmb250LWZhbWlseTogXCJDb3VyaWVyIE5ld1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG5cblx0LyogZG9uJ3QgYWxsb3cgYnJvd3NlciB0ZXh0LXNlbGVjdGlvbiAqL1xuXHQtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcblx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0fVxuXG4vKlxuQWNjZXB0YWJsZSBmb250LWZhbWlseSBvdmVycmlkZXMgZm9yIGluZGl2aWR1YWwgaWNvbnM6XG5cdFwiQXJpYWxcIiwgc2Fucy1zZXJpZlxuXHRcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZlxuXG5OT1RFOiB1c2UgcGVyY2VudGFnZSBmb250IHNpemVzIG9yIGVsc2Ugb2xkIElFIGNob2tlc1xuKi9cblxuLmZjLWljb246YWZ0ZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbjogMCAtMWVtOyAvKiBlbnN1cmVzIGNoYXJhY3RlciB3aWxsIGJlIGNlbnRlcmVkLCByZWdhcmRsZXNzIG9mIHdpZHRoICovXG59XG5cbi5mYy1pY29uLWxlZnQtc2luZ2xlLWFycm93OmFmdGVyIHtcblx0Y29udGVudDogXCJcXDAyMDM5XCI7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRmb250LXNpemU6IDIwMCU7XG5cdHRvcDogLTclO1xuXHRsZWZ0OiAzJTtcbn1cblxuLmZjLWljb24tcmlnaHQtc2luZ2xlLWFycm93OmFmdGVyIHtcblx0Y29udGVudDogXCJcXDAyMDNBXCI7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRmb250LXNpemU6IDIwMCU7XG5cdHRvcDogLTclO1xuXHRsZWZ0OiAtMyU7XG59XG5cbi5mYy1pY29uLWxlZnQtZG91YmxlLWFycm93OmFmdGVyIHtcblx0Y29udGVudDogXCJcXDAwMEFCXCI7XG5cdGZvbnQtc2l6ZTogMTYwJTtcblx0dG9wOiAtNyU7XG59XG5cbi5mYy1pY29uLXJpZ2h0LWRvdWJsZS1hcnJvdzphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXFwwMDBCQlwiO1xuXHRmb250LXNpemU6IDE2MCU7XG5cdHRvcDogLTclO1xufVxuXG4uZmMtaWNvbi1sZWZ0LXRyaWFuZ2xlOmFmdGVyIHtcblx0Y29udGVudDogXCJcXDI1QzRcIjtcblx0Zm9udC1zaXplOiAxMjUlO1xuXHR0b3A6IDMlO1xuXHRsZWZ0OiAtMiU7XG59XG5cbi5mYy1pY29uLXJpZ2h0LXRyaWFuZ2xlOmFmdGVyIHtcblx0Y29udGVudDogXCJcXDI1QkFcIjtcblx0Zm9udC1zaXplOiAxMjUlO1xuXHR0b3A6IDMlO1xuXHRsZWZ0OiAyJTtcbn1cblxuLmZjLWljb24tZG93bi10cmlhbmdsZTphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXFwyNUJDXCI7XG5cdGZvbnQtc2l6ZTogMTI1JTtcblx0dG9wOiAyJTtcbn1cblxuLmZjLWljb24teDphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXFwwMDBEN1wiO1xuXHRmb250LXNpemU6IDIwMCU7XG5cdHRvcDogNiU7XG59XG5cblxuLyogQnV0dG9ucyAoc3R5bGVkIDxidXR0b24+IHRhZ3MsIG5vcm1hbGl6ZWQgdG8gd29yayBjcm9zcy1icm93c2VyKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uZmMgYnV0dG9uIHtcblx0LyogZm9yY2UgaGVpZ2h0IHRvIGluY2x1ZGUgdGhlIGJvcmRlciBhbmQgcGFkZGluZyAqL1xuXHQtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHQvKiBkaW1lbnNpb25zICovXG5cdG1hcmdpbjogMDtcblx0aGVpZ2h0OiAyLjFlbTtcblx0cGFkZGluZzogMCAuNmVtO1xuXG5cdC8qIHRleHQgJiBjdXJzb3IgKi9cblx0Zm9udC1zaXplOiAxZW07IC8qIG5vcm1hbGl6ZSAqL1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIEZpcmVmb3ggaGFzIGFuIGFubm95aW5nIGlubmVyIGJvcmRlciAqL1xuLmZjIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfVxuXG4uZmMtc3RhdGUtZGVmYXVsdCB7IC8qIG5vbi10aGVtZSAqL1xuXHRib3JkZXI6IDFweCBzb2xpZDtcbn1cblxuLmZjLXN0YXRlLWRlZmF1bHQuZmMtY29ybmVyLWxlZnQgeyAvKiBub24tdGhlbWUgKi9cblx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xuXHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG59XG5cbi5mYy1zdGF0ZS1kZWZhdWx0LmZjLWNvcm5lci1yaWdodCB7IC8qIG5vbi10aGVtZSAqL1xuXHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xufVxuXG4vKiBpY29ucyBpbiBidXR0b25zICovXG5cbi5mYyBidXR0b24gLmZjLWljb24geyAvKiBub24tdGhlbWUgKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0b3A6IC0wLjA1ZW07IC8qIHNlZW1zIHRvIGJlIGEgZ29vZCBhZGp1c3RtZW50IGFjcm9zcyBicm93c2VycyAqL1xuXHRtYXJnaW46IDAgLjJlbTtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLypcbiAgYnV0dG9uIHN0YXRlc1xuICBib3Jyb3dlZCBmcm9tIHR3aXR0ZXIgYm9vdHN0cmFwIChodHRwOi8vdHdpdHRlci5naXRodWIuY29tL2Jvb3RzdHJhcC8pXG4qL1xuXG4uZmMtc3RhdGUtZGVmYXVsdCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG5cdGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZmZmZiwgI2U2ZTZlNik7XG5cdGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbSgjZmZmZmZmKSwgdG8oI2U2ZTZlNikpO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZmZmYsICNlNmU2ZTYpO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmZmZmLCAjZTZlNmU2KTtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZmZmZiwgI2U2ZTZlNik7XG5cdGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcblx0Ym9yZGVyLWNvbG9yOiAjZTZlNmU2ICNlNmU2ZTYgI2JmYmZiZjtcblx0Ym9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG5cdGNvbG9yOiAjMzMzO1xuXHR0ZXh0LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cblxuLmZjLXN0YXRlLWhvdmVyLFxuLmZjLXN0YXRlLWRvd24sXG4uZmMtc3RhdGUtYWN0aXZlLFxuLmZjLXN0YXRlLWRpc2FibGVkIHtcblx0Y29sb3I6ICMzMzMzMzM7XG5cdGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG59XG5cbi5mYy1zdGF0ZS1ob3ZlciB7XG5cdGNvbG9yOiAjMzMzMzMzO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE1cHg7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAwLjFzIGxpbmVhcjtcblx0ICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXBvc2l0aW9uIDAuMXMgbGluZWFyO1xuXHQgICAgIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4xcyBsaW5lYXI7XG5cdCAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAwLjFzIGxpbmVhcjtcbn1cblxuLmZjLXN0YXRlLWRvd24sXG4uZmMtc3RhdGUtYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuXG4uZmMtc3RhdGUtZGlzYWJsZWQge1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cdG9wYWNpdHk6IDAuNjU7XG5cdGZpbHRlcjogYWxwaGEob3BhY2l0eT02NSk7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG59XG5cblxuLyogQnV0dG9ucyBHcm91cHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmZjLWJ1dHRvbi1ncm91cCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLypcbmV2ZXJ5IGJ1dHRvbiB0aGF0IGlzIG5vdCBmaXJzdCBpbiBhIGJ1dHRvbiBncm91cCBzaG91bGQgc2Nvb3RjaCBvdmVyIG9uZSBwaXhlbCBhbmQgY292ZXIgdGhlXG5wcmV2aW91cyBidXR0b24ncyBib3JkZXIuLi5cbiovXG5cbi5mYyAuZmMtYnV0dG9uLWdyb3VwID4gKiB7IC8qIGV4dHJhIHByZWNlZGVuY2UgYi9jIGJ1dHRvbnMgaGF2ZSBtYXJnaW4gc2V0IHRvIHplcm8gKi9cblx0ZmxvYXQ6IGxlZnQ7XG5cdG1hcmdpbjogMCAwIDAgLTFweDtcbn1cblxuLmZjIC5mYy1idXR0b24tZ3JvdXAgPiA6Zmlyc3QtY2hpbGQgeyAvKiBzYW1lICovXG5cdG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5cbi8qIFBvcG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmZjLXBvcG92ZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsMCwwLC4xNSk7XG59XG5cbi5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgeyAvKiBUT0RPOiBiZSBtb3JlIGNvbnNpc3RlbnQgd2l0aCBmYy1oZWFkL2ZjLWJvZHkgKi9cblx0cGFkZGluZzogMnB4IDRweDtcbn1cblxuLmZjLXBvcG92ZXIgLmZjLWhlYWRlciAuZmMtdGl0bGUge1xuXHRtYXJnaW46IDAgMnB4O1xufVxuXG4uZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy1jbG9zZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZjLWx0ciAuZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy10aXRsZSxcbi5mYy1ydGwgLmZjLXBvcG92ZXIgLmZjLWhlYWRlciAuZmMtY2xvc2Uge1xuXHRmbG9hdDogbGVmdDtcbn1cblxuLmZjLXJ0bCAuZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy10aXRsZSxcbi5mYy1sdHIgLmZjLXBvcG92ZXIgLmZjLWhlYWRlciAuZmMtY2xvc2Uge1xuXHRmbG9hdDogcmlnaHQ7XG59XG5cbi8qIHVudGhlbWVkICovXG5cbi5mYy11bnRoZW1lZCAuZmMtcG9wb3ZlciB7XG5cdGJvcmRlci13aWR0aDogMXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4uZmMtdW50aGVtZWQgLmZjLXBvcG92ZXIgLmZjLWhlYWRlciAuZmMtY2xvc2Uge1xuXHRmb250LXNpemU6IC45ZW07XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLyoganF1aSB0aGVtZWQgKi9cblxuLmZjLXBvcG92ZXIgPiAudWktd2lkZ2V0LWhlYWRlciArIC51aS13aWRnZXQtY29udGVudCB7XG5cdGJvcmRlci10b3A6IDA7IC8qIHdoZXJlIHRoZXkgbWVldCwgbGV0IHRoZSBoZWFkZXIgaGF2ZSB0aGUgYm9yZGVyICovXG59XG5cblxuLyogTWlzYyBSZXVzYWJsZSBDb21wb25lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5mYy1kaXZpZGVyIHtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XG59XG5cbmhyLmZjLWRpdmlkZXIge1xuXHRoZWlnaHQ6IDA7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMCAwIDJweDsgLyogaGVpZ2h0IGlzIHVucmVsaWFibGUgYWNyb3NzIGJyb3dzZXJzLCBzbyB1c2UgcGFkZGluZyAqL1xuXHRib3JkZXItd2lkdGg6IDFweCAwO1xufVxuXG4uZmMtY2xlYXIge1xuXHRjbGVhcjogYm90aDtcbn1cblxuLmZjLWJnLFxuLmZjLWJnZXZlbnQtc2tlbGV0b24sXG4uZmMtaGlnaGxpZ2h0LXNrZWxldG9uLFxuLmZjLWhlbHBlci1za2VsZXRvbiB7XG5cdC8qIHRoZXNlIGVsZW1lbnQgc2hvdWxkIGFsd2F5cyBjbGluZyB0byB0b3AtbGVmdC9yaWdodCBjb3JuZXJzICovXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcbn1cblxuLmZjLWJnIHtcblx0Ym90dG9tOiAwOyAvKiBzdHJlY2ggYmcgdG8gYm90dG9tIGVkZ2UgKi9cbn1cblxuLmZjLWJnIHRhYmxlIHtcblx0aGVpZ2h0OiAxMDAlOyAvKiBzdHJlY2ggYmcgdG8gYm90dG9tIGVkZ2UgKi9cbn1cblxuXG4vKiBUYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmZjIHRhYmxlIHtcblx0d2lkdGg6IDEwMCU7XG5cdHRhYmxlLWxheW91dDogZml4ZWQ7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdGJvcmRlci1zcGFjaW5nOiAwO1xuXHRmb250LXNpemU6IDFlbTsgLyogbm9ybWFsaXplIGNyb3NzLWJyb3dzZXIgKi9cbn1cblxuLmZjIHRoIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZmMgdGgsXG4uZmMgdGQge1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItd2lkdGg6IDFweDtcblx0cGFkZGluZzogMDtcblx0dmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmZjIHRkLmZjLXRvZGF5IHtcblx0Ym9yZGVyLXN0eWxlOiBkb3VibGU7IC8qIG92ZXJjb21lIG5laWdoYm9yaW5nIGJvcmRlcnMgKi9cbn1cblxuXG4vKiBGYWtlIFRhYmxlIFJvd3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmZjIC5mYy1yb3cgeyAvKiBleHRyYSBwcmVjZWRlbmNlIHRvIG92ZXJjb21lIHRoZW1lcyB3LyAudWktd2lkZ2V0LWNvbnRlbnQgZm9yY2luZyBhIDFweCBib3JkZXIgKi9cblx0Lyogbm8gdmlzaWJsZSBib3JkZXIgYnkgZGVmYXVsdC4gYnV0IG1ha2UgYXZhaWxhYmxlIGlmIG5lZWQgYmUgKHNjcm9sbGJhciB3aWR0aCBjb21wZW5zYXRpb24pICovXG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci13aWR0aDogMDtcbn1cblxuLmZjLXJvdyB0YWJsZSB7XG5cdC8qIGRvbid0IHB1dCBsZWZ0L3JpZ2h0IGJvcmRlciBvbiBhbnl0aGluZyB3aXRoaW4gYSBmYWtlIHJvdy5cblx0ICAgdGhlIG91dGVyIHRib2R5IHdpbGwgd29ycnkgYWJvdXQgdGhpcyAqL1xuXHRib3JkZXItbGVmdDogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1yaWdodDogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7XG5cblx0Lyogbm8gYm90dG9tIGJvcmRlcnMgb24gcm93cyAqL1xuXHRib3JkZXItYm90dG9tOiAwIGhpZGRlbiB0cmFuc3BhcmVudDtcbn1cblxuLmZjLXJvdzpmaXJzdC1jaGlsZCB0YWJsZSB7XG5cdGJvcmRlci10b3A6IDAgaGlkZGVuIHRyYW5zcGFyZW50OyAvKiBubyB0b3AgYm9yZGVyIG9uIGZpcnN0IHJvdyAqL1xufVxuXG5cbi8qIERheSBSb3cgKHVzZWQgd2l0aGluIHRoZSBoZWFkZXIgYW5kIHRoZSBEYXlHcmlkKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uZmMtcm93IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZmMtcm93IC5mYy1iZyB7XG5cdHotaW5kZXg6IDE7XG59XG5cbi8qIGhpZ2hsaWdodGluZyBjZWxscyAmIGJhY2tncm91bmQgZXZlbnQgc2tlbGV0b24gKi9cblxuLmZjLXJvdyAuZmMtYmdldmVudC1za2VsZXRvbixcbi5mYy1yb3cgLmZjLWhpZ2hsaWdodC1za2VsZXRvbiB7XG5cdGJvdHRvbTogMDsgLyogc3RyZXRjaCBza2VsZXRvbiB0byBib3R0b20gb2Ygcm93ICovXG59XG5cbi5mYy1yb3cgLmZjLWJnZXZlbnQtc2tlbGV0b24gdGFibGUsXG4uZmMtcm93IC5mYy1oaWdobGlnaHQtc2tlbGV0b24gdGFibGUge1xuXHRoZWlnaHQ6IDEwMCU7IC8qIHN0cmV0Y2ggc2tlbGV0b24gdG8gYm90dG9tIG9mIHJvdyAqL1xufVxuXG4uZmMtcm93IC5mYy1oaWdobGlnaHQtc2tlbGV0b24gdGQsXG4uZmMtcm93IC5mYy1iZ2V2ZW50LXNrZWxldG9uIHRkIHtcblx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmZjLXJvdyAuZmMtYmdldmVudC1za2VsZXRvbiB7XG5cdHotaW5kZXg6IDI7XG5cbn1cblxuLmZjLXJvdyAuZmMtaGlnaGxpZ2h0LXNrZWxldG9uIHtcblx0ei1pbmRleDogMztcbn1cblxuLypcbnJvdyBjb250ZW50ICh3aGljaCBjb250YWlucyBkYXkvd2VlayBudW1iZXJzIGFuZCBldmVudHMpIGFzIHdlbGwgYXMgXCJoZWxwZXJcIiAod2hpY2ggY29udGFpbnNcbnRlbXBvcmFyeSByZW5kZXJlZCBldmVudHMpLlxuKi9cblxuLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogNDtcblx0cGFkZGluZy1ib3R0b206IDJweDsgLyogbWF0Y2hlcyB0aGUgc3BhY2UgYWJvdmUgdGhlIGV2ZW50cyAqL1xufVxuXG4uZmMtcm93IC5mYy1oZWxwZXItc2tlbGV0b24ge1xuXHR6LWluZGV4OiA1O1xufVxuXG4uZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHRkLFxuLmZjLXJvdyAuZmMtaGVscGVyLXNrZWxldG9uIHRkIHtcblx0Lyogc2VlLXRocm91Z2ggdG8gdGhlIGJhY2tncm91bmQgYmVsb3cgKi9cblx0YmFja2dyb3VuZDogbm9uZTsgLyogaW4gY2FzZSA8dGQ+cyBhcmUgZ2xvYmFsbHkgc3R5bGVkICovXG5cdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cblx0LyogZG9uJ3QgcHV0IGEgYm9yZGVyIGJldHdlZW4gZXZlbnRzIGFuZC9vciB0aGUgZGF5IG51bWJlciAqL1xuXHRib3JkZXItYm90dG9tOiAwO1xufVxuXG4uZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHRib2R5IHRkLCAvKiBjZWxscyB3aXRoIGV2ZW50cyBpbnNpZGUgKHNvIE5PVCB0aGUgZGF5IG51bWJlciBjZWxsKSAqL1xuLmZjLXJvdyAuZmMtaGVscGVyLXNrZWxldG9uIHRib2R5IHRkIHtcblx0LyogZG9uJ3QgcHV0IGEgYm9yZGVyIGJldHdlZW4gZXZlbnQgY2VsbHMgKi9cblx0Ym9yZGVyLXRvcDogMDtcbn1cblxuXG4vKiBTY3JvbGxpbmcgQ29udGFpbmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5mYy1zY3JvbGxlciB7IC8qIHRoaXMgY2xhc3MgZ29lcyBvbiBlbGVtZW50cyBmb3IgZ3VhcmFudGVlZCB2ZXJ0aWNhbCBzY3JvbGxiYXJzICovXG5cdG92ZXJmbG93LXk6IHNjcm9sbDtcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4uZmMtc2Nyb2xsZXIgPiAqIHsgLyogd2UgZXhwZWN0IGFuIGltbWVkaWF0ZSBpbm5lciBlbGVtZW50ICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogcmUtc2NvcGUgYWxsIHBvc2l0aW9ucyAqL1xuXHR3aWR0aDogMTAwJTsgLyogaGFjayB0byBmb3JjZSByZS1zaXppbmcgdGhpcyBpbm5lciBlbGVtZW50IHdoZW4gc2Nyb2xsYmFycyBhcHBlYXIvZGlzYXBwZWFyICovXG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIGRvbid0IGxldCBuZWdhdGl2ZSBtYXJnaW5zIG9yIGFic29sdXRlIHBvc2l0aW9uaW5nIGNyZWF0ZSBmdXJ0aGVyIHNjcm9sbCAqL1xufVxuXG5cbi8qIEdsb2JhbCBFdmVudCBTdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmZjLWV2ZW50IHtcblx0cG9zaXRpb246IHJlbGF0aXZlOyAvKiBmb3IgcmVzaXplIGhhbmRsZSBhbmQgb3RoZXIgaW5uZXIgcG9zaXRpb25pbmcgKi9cblx0ZGlzcGxheTogYmxvY2s7IC8qIG1ha2UgdGhlIDxhPiB0YWcgYmxvY2sgKi9cblx0Zm9udC1zaXplOiAuODVlbTtcblx0bGluZS1oZWlnaHQ6IDEuMztcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRib3JkZXI6IDFweCBzb2xpZCAjMDA4Nzc4OyAvKiBkZWZhdWx0IEJPUkRFUiBjb2xvciAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDBCMkFFOyAvKiBkZWZhdWx0IEJBQ0tHUk9VTkQgY29sb3IgKi9cblx0Y29sb3I6ICNGRkY7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7IC8qIHVuZG8ganF1aSdzIHVpLXdpZGdldC1oZWFkZXIgYm9sZCAqL1xuXHRmb250LWZhbWlseTogQHByaW1hcnlGb250O1xuICAgIC50cmFuc2l0aW9uKGFsbCBlYXNlLWluLW91dCAzMDBtcyk7XG5cblx0Jjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbihAY3RhR3JlZW4sIDIwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBjdGFHcmVlbiwgMjAlKTtcbiAgICB9XG59XG5cbi8qIG92ZXJwb3dlciBzb21lIG9mIGJvb3RzdHJhcCdzIGFuZCBqcXVpJ3Mgc3R5bGVzIG9uIDxhPiB0YWdzICovXG4uZmMtZXZlbnQsXG4uZmMtZXZlbnQ6aG92ZXIsXG4udWktd2lkZ2V0IC5mYy1ldmVudCB7XG5cdGNvbG9yOiAjZmZmOyAvKiBkZWZhdWx0IFRFWFQgY29sb3IgKi9cblx0dGV4dC1kZWNvcmF0aW9uOiBub25lOyAvKiBpZiA8YT4gaGFzIGFuIGhyZWYgKi9cbn1cblxuLmZjLWV2ZW50W2hyZWZdLFxuLmZjLWV2ZW50LmZjLWRyYWdnYWJsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjsgLyogZ2l2ZSBldmVudHMgd2l0aCBsaW5rcyBhbmQgZHJhZ2dhYmxlIGV2ZW50cyBhIGhhbmQgbW91c2UgcG9pbnRlciAqL1xufVxuXG4uZmMtbm90LWFsbG93ZWQsIC8qIGNhdXNlcyBhIFwid2FybmluZ1wiIGN1cnNvci4gYXBwbGllZCBvbiBib2R5ICovXG4uZmMtbm90LWFsbG93ZWQgLmZjLWV2ZW50IHsgLyogdG8gb3ZlcnJpZGUgYW4gZXZlbnQncyBjdXN0b20gY3Vyc29yICovXG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5mYy1ldmVudCAuZmMtYmcgeyAvKiB0aGUgZ2VuZXJpYyAuZmMtYmcgYWxyZWFkeSBkb2VzIHBvc2l0aW9uICovXG5cdHotaW5kZXg6IDE7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cdG9wYWNpdHk6IC4yNTtcblx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTI1KTsgLyogZm9yIElFICovXG59XG5cbi5mYy1ldmVudCAuZmMtY29udGVudCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjtcbn1cblxuLmZjLWV2ZW50IC5mYy1yZXNpemVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAzO1xufVxuXG5cbi8qIEhvcml6b250YWwgRXZlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIGV2ZW50cyB0aGF0IGFyZSBjb250aW51aW5nIHRvL2Zyb20gYW5vdGhlciB3ZWVrLiBraWxsIHJvdW5kZWQgY29ybmVycyBhbmQgYnV0dCB1cCBhZ2FpbnN0IGVkZ2UgKi9cblxuLmZjLWx0ciAuZmMtaC1ldmVudC5mYy1ub3Qtc3RhcnQsXG4uZmMtcnRsIC5mYy1oLWV2ZW50LmZjLW5vdC1lbmQge1xuXHRtYXJnaW4tbGVmdDogMDtcblx0Ym9yZGVyLWxlZnQtd2lkdGg6IDA7XG5cdHBhZGRpbmctbGVmdDogMXB4OyAvKiByZXBsYWNlIHRoZSBib3JkZXIgd2l0aCBwYWRkaW5nICovXG5cdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG5cbi5mYy1sdHIgLmZjLWgtZXZlbnQuZmMtbm90LWVuZCxcbi5mYy1ydGwgLmZjLWgtZXZlbnQuZmMtbm90LXN0YXJ0IHtcblx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRib3JkZXItcmlnaHQtd2lkdGg6IDA7XG5cdHBhZGRpbmctcmlnaHQ6IDFweDsgLyogcmVwbGFjZSB0aGUgYm9yZGVyIHdpdGggcGFkZGluZyAqL1xuXHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG5cbi8qIHJlc2l6ZXIgKi9cblxuLmZjLWgtZXZlbnQgLmZjLXJlc2l6ZXIgeyAvKiBwb3NpdGlvbmVkIGl0IHRvIG92ZXJjb21lIHRoZSBldmVudCdzIGJvcmRlcnMgKi9cblx0dG9wOiAtMXB4O1xuXHRib3R0b206IC0xcHg7XG5cdGxlZnQ6IC0xcHg7XG5cdHJpZ2h0OiAtMXB4O1xuXHR3aWR0aDogNXB4O1xufVxuXG4vKiBsZWZ0IHJlc2l6ZXIgICovXG4uZmMtbHRyIC5mYy1oLWV2ZW50IC5mYy1zdGFydC1yZXNpemVyLFxuLmZjLWx0ciAuZmMtaC1ldmVudCAuZmMtc3RhcnQtcmVzaXplcjpiZWZvcmUsXG4uZmMtbHRyIC5mYy1oLWV2ZW50IC5mYy1zdGFydC1yZXNpemVyOmFmdGVyLFxuLmZjLXJ0bCAuZmMtaC1ldmVudCAuZmMtZW5kLXJlc2l6ZXIsXG4uZmMtcnRsIC5mYy1oLWV2ZW50IC5mYy1lbmQtcmVzaXplcjpiZWZvcmUsXG4uZmMtcnRsIC5mYy1oLWV2ZW50IC5mYy1lbmQtcmVzaXplcjphZnRlciB7XG5cdHJpZ2h0OiBhdXRvOyAvKiBpZ25vcmUgdGhlIHJpZ2h0IGFuZCBvbmx5IHVzZSB0aGUgbGVmdCAqL1xuXHRjdXJzb3I6IHctcmVzaXplO1xufVxuXG4vKiByaWdodCByZXNpemVyICovXG4uZmMtbHRyIC5mYy1oLWV2ZW50IC5mYy1lbmQtcmVzaXplcixcbi5mYy1sdHIgLmZjLWgtZXZlbnQgLmZjLWVuZC1yZXNpemVyOmJlZm9yZSxcbi5mYy1sdHIgLmZjLWgtZXZlbnQgLmZjLWVuZC1yZXNpemVyOmFmdGVyLFxuLmZjLXJ0bCAuZmMtaC1ldmVudCAuZmMtc3RhcnQtcmVzaXplcixcbi5mYy1ydGwgLmZjLWgtZXZlbnQgLmZjLXN0YXJ0LXJlc2l6ZXI6YmVmb3JlLFxuLmZjLXJ0bCAuZmMtaC1ldmVudCAuZmMtc3RhcnQtcmVzaXplcjphZnRlciB7XG5cdGxlZnQ6IGF1dG87IC8qIGlnbm9yZSB0aGUgbGVmdCBhbmQgb25seSB1c2UgdGhlIHJpZ2h0ICovXG5cdGN1cnNvcjogZS1yZXNpemU7XG59XG5cblxuLyogRGF5R3JpZCBldmVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbldlIHVzZSB0aGUgZnVsbCBcImZjLWRheS1ncmlkLWV2ZW50XCIgY2xhc3MgaW5zdGVhZCBvZiB1c2luZyBkZXNjZW5kYW50cyBiZWNhdXNlIHRoZSBldmVudCB3b24ndFxuYmUgYSBkZXNjZW5kYW50IG9mIHRoZSBncmlkIHdoZW4gaXQgaXMgYmVpbmcgZHJhZ2dlZC5cbiovXG5cbi5mYy1kYXktZ3JpZC1ldmVudCB7XG5cdG1hcmdpbjogMXB4IDJweCAwOyAvKiBzcGFjaW5nIGJldHdlZW4gZXZlbnRzIGFuZCBlZGdlcyAqL1xuXHRwYWRkaW5nOiAycHggNXB4O1xufVxuXG5cbi5mYy1kYXktZ3JpZC1ldmVudCAuZmMtY29udGVudCB7IC8qIGZvcmNlIGV2ZW50cyB0byBiZSBvbmUtbGluZSB0YWxsICovXG5cdC8vd2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZjLWRheS1ncmlkLWV2ZW50IC5mYy10aW1lIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5mYy1kYXktZ3JpZC1ldmVudCAuZmMtcmVzaXplciB7IC8qIGVubGFyZ2UgdGhlIGRlZmF1bHQgaGl0IGFyZWEgKi9cblx0bGVmdDogLTNweDtcblx0cmlnaHQ6IC0zcHg7XG5cdHdpZHRoOiA3cHg7XG59XG5cblxuLyogRXZlbnQgTGltaXRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogXCJtb3JlXCIgbGluayB0aGF0IHJlcHJlc2VudHMgaGlkZGVuIGV2ZW50cyAqL1xuXG5hLmZjLW1vcmUge1xuXHRtYXJnaW46IDFweCAzcHg7XG5cdGZvbnQtc2l6ZTogLjg1ZW07XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5hLmZjLW1vcmU6aG92ZXIge1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmZjLWxpbWl0ZWQgeyAvKiByb3dzIGFuZCBjZWxscyB0aGF0IGFyZSBoaWRkZW4gYmVjYXVzZSBvZiBhIFwibW9yZVwiIGxpbmsgKi9cblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogcG9wb3ZlciB0aGF0IGFwcGVhcnMgd2hlbiBcIm1vcmVcIiBsaW5rIGlzIGNsaWNrZWQgKi9cblxuLmZjLWRheS1ncmlkIC5mYy1yb3cge1xuXHR6LWluZGV4OiAxOyAvKiBtYWtlIHRoZSBcIm1vcmVcIiBwb3BvdmVyIG9uZSBoaWdoZXIgdGhhbiB0aGlzICovXG59XG5cbi5mYy1tb3JlLXBvcG92ZXIge1xuXHR6LWluZGV4OiAyO1xuXHR3aWR0aDogMjIwcHg7XG59XG5cbi5mYy1tb3JlLXBvcG92ZXIgLmZjLWV2ZW50LWNvbnRhaW5lciB7XG5cdHBhZGRpbmc6IDEwcHg7XG59XG5cbi8qIFRvb2xiYXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmZjLXRvb2xiYXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuLmZjLXRvb2xiYXIgLmZjLWxlZnQge1xuXHRmbG9hdDogbGVmdDtcbn1cblxuLmZjLXRvb2xiYXIgLmZjLXJpZ2h0IHtcblx0ZmxvYXQ6IHJpZ2h0O1xufVxuXG4uZmMtdG9vbGJhciAuZmMtY2VudGVyIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKiB0aGUgdGhpbmdzIHdpdGhpbiBlYWNoIGxlZnQvcmlnaHQvY2VudGVyIHNlY3Rpb24gKi9cbi5mYyAuZmMtdG9vbGJhciA+ICogPiAqIHsgLyogZXh0cmEgcHJlY2VkZW5jZSB0byBvdmVycmlkZSBidXR0b24gYm9yZGVyIG1hcmdpbnMgKi9cblx0ZmxvYXQ6IGxlZnQ7XG5cdG1hcmdpbi1sZWZ0OiAuNzVlbTtcbn1cblxuLyogdGhlIGZpcnN0IHRoaW5nIHdpdGhpbiBlYWNoIGxlZnQvY2VudGVyL3JpZ2h0IHNlY3Rpb24gKi9cbi5mYyAuZmMtdG9vbGJhciA+ICogPiA6Zmlyc3QtY2hpbGQgeyAvKiBleHRyYSBwcmVjZWRlbmNlIHRvIG92ZXJyaWRlIGJ1dHRvbiBib3JkZXIgbWFyZ2lucyAqL1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cblxuLyogdGl0bGUgdGV4dCAqL1xuXG4uZmMtdG9vbGJhciBoMiB7XG5cdG1hcmdpbjogMDtcbn1cblxuLyogYnV0dG9uIGxheWVyaW5nIChmb3IgYm9yZGVyIHByZWNlZGVuY2UpICovXG5cbi5mYy10b29sYmFyIGJ1dHRvbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZjLXRvb2xiYXIgLmZjLXN0YXRlLWhvdmVyLFxuLmZjLXRvb2xiYXIgLnVpLXN0YXRlLWhvdmVyIHtcblx0ei1pbmRleDogMjtcbn1cblxuLmZjLXRvb2xiYXIgLmZjLXN0YXRlLWRvd24ge1xuXHR6LWluZGV4OiAzO1xufVxuXG4uZmMtdG9vbGJhciAuZmMtc3RhdGUtYWN0aXZlLFxuLmZjLXRvb2xiYXIgLnVpLXN0YXRlLWFjdGl2ZSB7XG5cdHotaW5kZXg6IDQ7XG59XG5cbi5mYy10b29sYmFyIGJ1dHRvbjpmb2N1cyB7XG5cdHotaW5kZXg6IDU7XG59XG5cblxuLyogVmlldyBTdHJ1Y3R1cmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogdW5kbyB0d2l0dGVyIGJvb3RzdHJhcCdzIGJveC1zaXppbmcgcnVsZXMuIG5vcm1hbGl6ZXMgcG9zaXRpb25pbmcgdGVjaG5pcXVlcyAqL1xuLyogZG9uJ3QgZG8gdGhpcyBmb3IgdGhlIHRvb2xiYXIgYmVjYXVzZSB3ZSdsbCB3YW50IGJvb3RzdHJhcCB0byBzdHlsZSB0aG9zZSBidXR0b25zIGFzIHNvbWUgcHQgKi9cbi5mYy12aWV3LWNvbnRhaW5lciAqLFxuLmZjLXZpZXctY29udGFpbmVyICo6YmVmb3JlLFxuLmZjLXZpZXctY29udGFpbmVyICo6YWZ0ZXIge1xuXHQtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHQgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHQgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4uZmMtdmlldywgLyogc2NvcGUgcG9zaXRpb25pbmcgYW5kIHotaW5kZXgncyBmb3IgZXZlcnl0aGluZyB3aXRoaW4gdGhlIHZpZXcgKi9cbi5mYy12aWV3ID4gdGFibGUgeyAvKiBzbyBkcmFnZ2VkIGVsZW1lbnRzIGNhbiBiZSBhYm92ZSB0aGUgdmlldydzIG1haW4gZWxlbWVudCAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG59XG5cbi8qIEJhc2ljVmlld1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBkYXkgcm93IHN0cnVjdHVyZSAqL1xuXG4uZmMtYmFzaWNXZWVrLXZpZXcgLmZjLWNvbnRlbnQtc2tlbGV0b24sXG4uZmMtYmFzaWNEYXktdmlldyAuZmMtY29udGVudC1za2VsZXRvbiB7XG5cdC8qIHdlIGFyZSBzdXJlIHRoZXJlIGFyZSBubyBkYXkgbnVtYmVycyBpbiB0aGVzZSB2aWV3cywgc28uLi4gKi9cblx0cGFkZGluZy10b3A6IDFweDsgLyogYWRkIGEgcGl4ZWwgdG8gbWFrZSBzdXJlIHRoZXJlIGFyZSAycHggcGFkZGluZyBhYm92ZSBldmVudHMgKi9cblx0cGFkZGluZy1ib3R0b206IDFlbTsgLyogZW5zdXJlIGEgc3BhY2UgYXQgYm90dG9tIG9mIGNlbGwgZm9yIHVzZXIgc2VsZWN0aW5nL2NsaWNraW5nICovXG59XG5cbi5mYy1iYXNpYy12aWV3IC5mYy1ib2R5IC5mYy1yb3cge1xuXHRtaW4taGVpZ2h0OiA0ZW07IC8qIGVuc3VyZSB0aGF0IGFsbCByb3dzIGFyZSBhdCBsZWFzdCB0aGlzIHRhbGwgKi9cbn1cblxuLyogYSBcInJpZ2lkXCIgcm93IHdpbGwgdGFrZSB1cCBhIGNvbnN0YW50IGFtb3VudCBvZiBoZWlnaHQgYmVjYXVzZSBjb250ZW50LXNrZWxldG9uIGlzIGFic29sdXRlICovXG5cbi5mYy1yb3cuZmMtcmlnaWQge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZmMtcm93LmZjLXJpZ2lkIC5mYy1jb250ZW50LXNrZWxldG9uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xufVxuXG4vKiB3ZWVrIGFuZCBkYXkgbnVtYmVyIHN0eWxpbmcgKi9cblxuLmZjLWJhc2ljLXZpZXcgLmZjLXdlZWstbnVtYmVyLFxuLmZjLWJhc2ljLXZpZXcgLmZjLWRheS1udW1iZXIge1xuXHRwYWRkaW5nOiAwIDJweDtcbn1cblxuLmZjLWJhc2ljLXZpZXcgdGQuZmMtd2Vlay1udW1iZXIgc3Bhbixcbi5mYy1iYXNpYy12aWV3IHRkLmZjLWRheS1udW1iZXIge1xuXHRwYWRkaW5nLXRvcDogMnB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMnB4O1xufVxuXG4uZmMtYmFzaWMtdmlldyAuZmMtd2Vlay1udW1iZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mYy1iYXNpYy12aWV3IC5mYy13ZWVrLW51bWJlciBzcGFuIHtcblx0Lyogd29yayBhcm91bmQgdGhlIHdheSB3ZSBkbyBjb2x1bW4gcmVzaXppbmcgYW5kIGVuc3VyZSBhIG1pbmltdW0gd2lkdGggKi9cblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtaW4td2lkdGg6IDEuMjVlbTtcbn1cblxuLmZjLWx0ciAuZmMtYmFzaWMtdmlldyAuZmMtZGF5LW51bWJlciB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uZmMtcnRsIC5mYy1iYXNpYy12aWV3IC5mYy1kYXktbnVtYmVyIHtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmZjLWRheS1udW1iZXIuZmMtb3RoZXItbW9udGgge1xuXHRvcGFjaXR5OiAwLjM7XG5cdGZpbHRlcjogYWxwaGEob3BhY2l0eT0zMCk7IC8qIGZvciBJRSAqL1xuXHQvKiBvcGFjaXR5IHdpdGggc21hbGwgZm9udCBjYW4gc29tZXRpbWVzIGxvb2sgdG9vIGZhZGVkXG5cdCAgIG1pZ2h0IHdhbnQgdG8gc2V0IHRoZSAnY29sb3InIHByb3BlcnR5IGluc3RlYWRcblx0ICAgbWFraW5nIGRheS1udW1iZXJzIGJvbGQgYWxzbyBmaXhlcyB0aGUgcHJvYmxlbSAqL1xufVxuXG4vKiBBZ2VuZGFWaWV3IGFsbC1kYXkgYXJlYVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uZmMtYWdlbmRhLXZpZXcgLmZjLWRheS1ncmlkIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyOyAvKiBzbyB0aGUgXCJtb3JlLi5cIiBwb3BvdmVyIHdpbGwgYmUgb3ZlciB0aGUgdGltZSBncmlkICovXG59XG5cbi5mYy1hZ2VuZGEtdmlldyAuZmMtZGF5LWdyaWQgLmZjLXJvdyB7XG5cdG1pbi1oZWlnaHQ6IDNlbTsgLyogYWxsLWRheSBzZWN0aW9uIHdpbGwgbmV2ZXIgZ2V0IHNob3J0ZXIgdGhhbiB0aGlzICovXG59XG5cbi5mYy1hZ2VuZGEtdmlldyAuZmMtZGF5LWdyaWQgLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB7XG5cdHBhZGRpbmctdG9wOiAxcHg7IC8qIGFkZCBhIHBpeGVsIHRvIG1ha2Ugc3VyZSB0aGVyZSBhcmUgMnB4IHBhZGRpbmcgYWJvdmUgZXZlbnRzICovXG5cdHBhZGRpbmctYm90dG9tOiAxZW07IC8qIGdpdmUgc3BhY2UgdW5kZXJuZWF0aCBldmVudHMgZm9yIGNsaWNraW5nL3NlbGVjdGluZyBkYXlzICovXG59XG5cblxuLyogVGltZUdyaWQgYXhpcyBydW5uaW5nIGRvd24gdGhlIHNpZGUgKGZvciBib3RoIHRoZSBhbGwtZGF5IGFyZWEgYW5kIHRoZSBzbG90IGFyZWEpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5mYyAuZmMtYXhpcyB7IC8qIC5mYyB0byBvdmVyY29tZSBkZWZhdWx0IGNlbGwgc3R5bGVzICovXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHBhZGRpbmc6IDAgNHB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZmMtbHRyIC5mYy1heGlzIHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5mYy1ydGwgLmZjLWF4aXMge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udWktd2lkZ2V0IHRkLmZjLWF4aXMge1xuXHRmb250LXdlaWdodDogbm9ybWFsOyAvKiBvdmVyY29tZSBqcXVpIHRoZW1lIG1ha2luZyBpdCBib2xkICovXG59XG5cblxuLyogVGltZUdyaWQgU3RydWN0dXJlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5mYy10aW1lLWdyaWQtY29udGFpbmVyLCAvKiBzbyBzY3JvbGwgY29udGFpbmVyJ3Mgei1pbmRleCBpcyBiZWxvdyBhbGwtZGF5ICovXG4uZmMtdGltZS1ncmlkIHsgLyogc28gc2xhdHMvYmcvY29udGVudC9ldGMgcG9zaXRpb25zIGdldCBzY29wZWQgd2l0aGluIGhlcmUgKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xufVxuXG4uZmMtdGltZS1ncmlkIHtcblx0bWluLWhlaWdodDogMTAwJTsgLyogc28gaWYgaGVpZ2h0IHNldHRpbmcgaXMgJ2F1dG8nLCAuZmMtYmcgc3RyZXRjaGVzIHRvIGZpbGwgaGVpZ2h0ICovXG59XG5cbi5mYy10aW1lLWdyaWQgdGFibGUgeyAvKiBkb24ndCBwdXQgb3V0ZXIgYm9yZGVycyBvbiBzbGF0cy9iZy9jb250ZW50L2V0YyAqL1xuXHRib3JkZXI6IDAgaGlkZGVuIHRyYW5zcGFyZW50O1xufVxuXG4uZmMtdGltZS1ncmlkID4gLmZjLWJnIHtcblx0ei1pbmRleDogMTtcbn1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtc2xhdHMsXG4uZmMtdGltZS1ncmlkID4gaHIgeyAvKiB0aGUgPGhyPiBBZ2VuZGFWaWV3IGluamVjdHMgd2hlbiBncmlkIGlzIHNob3J0ZXIgdGhhbiBzY3JvbGxlciAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDI7XG59XG5cbi5mYy10aW1lLWdyaWQgLmZjLWJnZXZlbnQtc2tlbGV0b24sXG4uZmMtdGltZS1ncmlkIC5mYy1jb250ZW50LXNrZWxldG9uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xufVxuXG4uZmMtdGltZS1ncmlkIC5mYy1iZ2V2ZW50LXNrZWxldG9uIHtcblx0ei1pbmRleDogMztcbn1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtaGlnaGxpZ2h0LXNrZWxldG9uIHtcblx0ei1pbmRleDogNDtcbn1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtY29udGVudC1za2VsZXRvbiB7XG5cdHotaW5kZXg6IDU7XG59XG5cbi5mYy10aW1lLWdyaWQgLmZjLWhlbHBlci1za2VsZXRvbiB7XG5cdHotaW5kZXg6IDY7XG59XG5cblxuLyogVGltZUdyaWQgU2xhdHMgKGxpbmVzIHRoYXQgcnVuIGhvcml6b250YWxseSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmZjLXRpbWUtZ3JpZCAuZmMtc2xhdHMgdGQge1xuXHRoZWlnaHQ6IDEuNWVtO1xuXHRib3JkZXItYm90dG9tOiAwOyAvKiBlYWNoIGNlbGwgaXMgcmVzcG9uc2libGUgZm9yIGl0cyB0b3AgYm9yZGVyICovXG59XG5cbi5mYy10aW1lLWdyaWQgLmZjLXNsYXRzIC5mYy1taW5vciB0ZCB7XG5cdGJvcmRlci10b3Atc3R5bGU6IGRvdHRlZDtcbn1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtc2xhdHMgLnVpLXdpZGdldC1jb250ZW50IHsgLyogZm9yIGpxdWkgdGhlbWUgKi9cblx0YmFja2dyb3VuZDogbm9uZTsgLyogc2VlIHRocm91Z2ggdG8gZmMtYmcgKi9cbn1cblxuXG4vKiBUaW1lR3JpZCBIaWdobGlnaHRpbmcgU2xvdHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmZjLXRpbWUtZ3JpZCAuZmMtaGlnaGxpZ2h0LWNvbnRhaW5lciB7IC8qIGEgZGl2IHdpdGhpbiBhIGNlbGwgd2l0aGluIHRoZSBmYy1oaWdobGlnaHQtc2tlbGV0b24gKi9cblx0cG9zaXRpb246IHJlbGF0aXZlOyAvKiBzY29wZXMgdGhlIGxlZnQvcmlnaHQgb2YgdGhlIGZjLWhpZ2hsaWdodCB0byBiZSBpbiB0aGUgY29sdW1uICovXG59XG5cbi5mYy10aW1lLWdyaWQgLmZjLWhpZ2hsaWdodCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdC8qIHRvcCBhbmQgYm90dG9tIHdpbGwgYmUgaW4gYnkgSlMgKi9cbn1cblxuXG4vKiBUaW1lR3JpZCBFdmVudCBDb250YWlubWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uZmMtdGltZS1ncmlkIC5mYy1ldmVudC1jb250YWluZXIsIC8qIGEgZGl2IHdpdGhpbiBhIGNlbGwgd2l0aGluIHRoZSBmYy1jb250ZW50LXNrZWxldG9uICovXG4uZmMtdGltZS1ncmlkIC5mYy1iZ2V2ZW50LWNvbnRhaW5lciB7IC8qIGEgZGl2IHdpdGhpbiBhIGNlbGwgd2l0aGluIHRoZSBmYy1iZ2V2ZW50LXNrZWxldG9uICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZjLWx0ciAuZmMtdGltZS1ncmlkIC5mYy1ldmVudC1jb250YWluZXIgeyAvKiBzcGFjZSBvbiB0aGUgc2lkZXMgb2YgZXZlbnRzIGZvciBMVFIgKGRlZmF1bHQpICovXG5cdG1hcmdpbjogMCAyLjUlIDAgMnB4O1xufVxuXG4uZmMtcnRsIC5mYy10aW1lLWdyaWQgLmZjLWV2ZW50LWNvbnRhaW5lciB7IC8qIHNwYWNlIG9uIHRoZSBzaWRlcyBvZiBldmVudHMgZm9yIFJUTCAqL1xuXHRtYXJnaW46IDAgMnB4IDAgMi41JTtcbn1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQsXG4uZmMtdGltZS1ncmlkIC5mYy1iZ2V2ZW50IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxOyAvKiBzY29wZSBpbm5lciB6LWluZGV4J3MgKi9cbn1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtYmdldmVudCB7XG5cdC8qIGJhY2tncm91bmQgZXZlbnRzIGFsd2F5cyBzcGFuIGZ1bGwgd2lkdGggKi9cblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG59XG5cblxuLyogR2VuZXJpYyBWZXJ0aWNhbCBFdmVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uZmMtdi1ldmVudC5mYy1ub3Qtc3RhcnQgeyAvKiBldmVudHMgdGhhdCBhcmUgY29udGludWluZyBmcm9tIGFub3RoZXIgZGF5ICovXG5cdC8qIHJlcGxhY2Ugc3BhY2UgbWFkZSBieSB0aGUgdG9wIGJvcmRlciB3aXRoIHBhZGRpbmcgKi9cblx0Ym9yZGVyLXRvcC13aWR0aDogMDtcblx0cGFkZGluZy10b3A6IDFweDtcblxuXHQvKiByZW1vdmUgdG9wIHJvdW5kZWQgY29ybmVycyAqL1xuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmZjLXYtZXZlbnQuZmMtbm90LWVuZCB7XG5cdC8qIHJlcGxhY2Ugc3BhY2UgbWFkZSBieSB0aGUgdG9wIGJvcmRlciB3aXRoIHBhZGRpbmcgKi9cblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMDtcblx0cGFkZGluZy1ib3R0b206IDFweDtcblxuXHQvKiByZW1vdmUgYm90dG9tIHJvdW5kZWQgY29ybmVycyAqL1xuXHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuXG4vKiBUaW1lR3JpZCBFdmVudCBTdHlsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5XZSB1c2UgdGhlIGZ1bGwgXCJmYy10aW1lLWdyaWQtZXZlbnRcIiBjbGFzcyBpbnN0ZWFkIG9mIHVzaW5nIGRlc2NlbmRhbnRzIGJlY2F1c2UgdGhlIGV2ZW50IHdvbid0XG5iZSBhIGRlc2NlbmRhbnQgb2YgdGhlIGdyaWQgd2hlbiBpdCBpcyBiZWluZyBkcmFnZ2VkLlxuKi9cblxuLmZjLXRpbWUtZ3JpZC1ldmVudCB7XG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIGRvbid0IGxldCB0aGUgYmcgZmxvdyBvdmVyIHJvdW5kZWQgY29ybmVycyAqL1xufVxuXG4uZmMtdGltZS1ncmlkLWV2ZW50IC5mYy10aW1lLFxuLmZjLXRpbWUtZ3JpZC1ldmVudCAuZmMtdGl0bGUge1xuXHRwYWRkaW5nOiAwIDFweDtcbn1cblxuLmZjLXRpbWUtZ3JpZC1ldmVudCAuZmMtdGltZSB7XG5cdGZvbnQtc2l6ZTogLjg1ZW07XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIHNob3J0IG1vZGUsIHdoZXJlIHRpbWUgYW5kIHRpdGxlIGFyZSBvbiB0aGUgc2FtZSBsaW5lICovXG5cbi5mYy10aW1lLWdyaWQtZXZlbnQuZmMtc2hvcnQgLmZjLWNvbnRlbnQge1xuXHQvKiBkb24ndCB3cmFwIHRvIHNlY29uZCBsaW5lIChub3cgdGhhdCBjb250ZW50cyB3aWxsIGJlIGlubGluZSkgKi9cblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zaG9ydCAuZmMtdGltZSxcbi5mYy10aW1lLWdyaWQtZXZlbnQuZmMtc2hvcnQgLmZjLXRpdGxlIHtcblx0LyogcHV0IHRoZSB0aW1lIGFuZCB0aXRsZSBvbiB0aGUgc2FtZSBsaW5lICovXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zaG9ydCAuZmMtdGltZSBzcGFuIHtcblx0ZGlzcGxheTogbm9uZTsgLyogZG9uJ3QgZGlzcGxheSB0aGUgZnVsbCB0aW1lIHRleHQuLi4gKi9cbn1cblxuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zaG9ydCAuZmMtdGltZTpiZWZvcmUge1xuXHRjb250ZW50OiBhdHRyKGRhdGEtc3RhcnQpOyAvKiAuLi5pbnN0ZWFkLCBkaXNwbGF5IG9ubHkgdGhlIHN0YXJ0IHRpbWUgKi9cbn1cblxuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zaG9ydCAuZmMtdGltZTphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXFwwMDBBMC1cXDAwMEEwXCI7IC8qIHNlcGVyYXRlIHdpdGggYSBkYXNoLCB3cmFwcGVkIGluIG5ic3AncyAqL1xufVxuXG4uZmMtdGltZS1ncmlkLWV2ZW50LmZjLXNob3J0IC5mYy10aXRsZSB7XG5cdGZvbnQtc2l6ZTogLjg1ZW07IC8qIG1ha2UgdGhlIHRpdGxlIHRleHQgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgdGltZSAqL1xuXHRwYWRkaW5nOiAwOyAvKiB1bmRvIHBhZGRpbmcgZnJvbSBhYm92ZSAqL1xufVxuXG4vKiByZXNpemVyICovXG5cbi5mYy10aW1lLWdyaWQtZXZlbnQgLmZjLXJlc2l6ZXIge1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xuXHRoZWlnaHQ6IDhweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0bGluZS1oZWlnaHQ6IDhweDtcblx0Zm9udC1zaXplOiAxMXB4O1xuXHRmb250LWZhbWlseTogbW9ub3NwYWNlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGN1cnNvcjogcy1yZXNpemU7XG59XG5cbi5mYy10aW1lLWdyaWQtZXZlbnQgLmZjLXJlc2l6ZXI6YWZ0ZXIge1xuXHRjb250ZW50OiBcIj1cIjtcbn1cblxuLmZjLWV2ZW50LWNvbnRhaW5lcjpob3ZlciB7XG5cdGN1cnNvcjpwb2ludGVyO1xufVxuLypcbnRkLmZjLW90aGVyLW1vbnRoIC5mYy1kYXktbnVtYmVyIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbiovXG4iLCIuYW5pbWF0aW9uU3RyZWV0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNTM1cHg7XG4gICAgaGVpZ2h0OiAzMTZweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMjhweCA1MHB4O1xuXG4gICAgKiB7XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmtleWZyYW1lcyhwb3BJbjsge1xuXHRcdDAlIHsudHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTQwcHgpKTt9XG5cdFx0MjAlLCA1MCUsIDgwJSwgMTAwJSB7LnRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTt9XG4gICAgICAgIDQwJSB7LnRyYW5zZm9ybSh0cmFuc2xhdGVZKC0xNXB4KSk7fVxuICAgICAgICA2MCUgey50cmFuc2Zvcm0odHJhbnNsYXRlWSgtMTJweCkpO31cblx0fSk7XG5cbiAgICAua2V5ZnJhbWVzKHBvcFVwOyB7XG5cdFx0MCUgey50cmFuc2Zvcm0oc2NhbGUoMCkpO31cbiAgICAgICAgMTAwJSB7LnRyYW5zZm9ybShzY2FsZSgxKSk7fVxuXHR9KTtcblxuICAgIC50cmVlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDQ2cHg7XG4gICAgICAgIGxlZnQ6IDE2MHB4O1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAudHJhbnNmb3JtKHNjYWxlKDApKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMjUlIDc1JTtcbiAgICB9XG5cbiAgICAucm9hZEFuaW1hdGlvbiB7XG4gICAgICAgIHdpZHRoOiA0MzVweDtcbiAgICAgICAgaGVpZ2h0OiAyNzBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwcHg7XG4gICAgICAgIGxlZnQ6IDUwcHg7XG4gICAgfVxuXG4gICAgJi5yZWFkeSB7XG5cbiAgICAgICAgLnJvYWQge1xuICAgICAgICAgICAgLmFuaW1hdGlvbihwb3BVcCA0MDBtcyBlYXNlLWluIDBtcyAxIGZvcndhcmRzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50cmVlIHtcbiAgICAgICAgICAgIC5hbmltYXRpb24ocG9wVXAgNTAwbXMgZWFzZS1pbiA1MDBtcyAxIGZvcndhcmRzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJfMSwgLmRpZ2dlcl8xIHtcblx0XHRcdC5hbmltYXRpb24ocG9wVXAgNTAwbXMgbGluZWFyIDUwMG1zIDEgZm9yd2FyZHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhvdGVsXzEge1xuICAgICAgICAgICAgLmFuaW1hdGlvbihwb3BVcCA1MDBtcyBlYXNlLWluIDc1MG1zIDEgZm9yd2FyZHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhvdGVsXzIge1xuICAgICAgICAgICAgLmFuaW1hdGlvbihwb3BVcCA1MDBtcyBlYXNlLWluIDExMDBtcyAxIGZvcndhcmRzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sYW1wcG9zdF8xIHtcbiAgICAgICAgICAgIC5hbmltYXRpb24ocG9wVXAgMzAwbXMgZWFzZS1pbiAyNTBtcyAxIGZvcndhcmRzKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLmxhbXBwb3N0XzIge1xuICAgICAgICAgICAgLmFuaW1hdGlvbihwb3BVcCAzMDBtcyBlYXNlLWluIDUwMG1zIDEgZm9yd2FyZHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxhbXBwb3N0XzMge1xuICAgICAgICAgICAgLmFuaW1hdGlvbihwb3BVcCAzMDBtcyBlYXNlLWluIDc1MG1zIDEgZm9yd2FyZHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhvdXNlXzEge1xuICAgICAgICAgICAgLmFuaW1hdGlvbihwb3BVcCA1MDBtcyBlYXNlLWluIDE0NTBtcyAxIGZvcndhcmRzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ob3VzZV8yIHtcbiAgICAgICAgICAgIC5hbmltYXRpb24ocG9wVXAgNTAwbXMgZWFzZS1pbiAxODAwbXMgMSBmb3J3YXJkcyk7XG4gICAgICAgIH1cblxuICAgICAgICAuaG91c2VfMyB7XG4gICAgICAgICAgICAuYW5pbWF0aW9uKHBvcFVwIDUwMG1zIGVhc2UtaW4gMjE1MG1zIDEgZm9yd2FyZHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhvdXNlXzQge1xuICAgICAgICAgICAgLmFuaW1hdGlvbihwb3BVcCA1MDBtcyBlYXNlLWluIDI1MDBtcyAxIGZvcndhcmRzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ob3VzZV81IHtcbiAgICAgICAgICAgIC5hbmltYXRpb24ocG9wVXAgNTAwbXMgZWFzZS1pbiAyODUwbXMgMSBmb3J3YXJkcyk7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyXzIge1xuXHRcdFx0LmFuaW1hdGlvbihkcml2ZUNhcjIgMjBzIGxpbmVhciAycyBpbmZpbml0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyXzMge1xuXHRcdFx0LmFuaW1hdGlvbihkcml2ZUNhcjMgMjBzIGxpbmVhciA5cyBpbmZpbml0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyXzQge1xuXHRcdFx0LmFuaW1hdGlvbihkcml2ZUNhcjQgMjBzIGxpbmVhciAzcyBpbmZpbml0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyXzUge1xuXHRcdFx0LmFuaW1hdGlvbihkcml2ZUNhcjUgMjBzIGxpbmVhciA4cyBpbmZpbml0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyXzYge1xuXHRcdFx0LmFuaW1hdGlvbihkcml2ZUNhcjQgMjBzIGxpbmVhciAxOHMgaW5maW5pdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcl83IHtcblx0XHRcdC5hbmltYXRpb24oZHJpdmVDYXI3IDIwcyBsaW5lYXIgMTVzIGluZmluaXRlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yb2FkIHtcbiAgICAgICAgLnRyYW5zZm9ybShzY2FsZSgwKSk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmhvdGVscyB7XG5cbiAgICAgICAgLmhvdGVsIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIC50cmFuc2Zvcm0oc2NhbGUoMCkpO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ob3RlbF8xIHtcbiAgICAgICAgICAgIHRvcDogLTM1cHg7XG4gICAgICAgICAgICBsZWZ0OiAxMDRweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuaG90ZWxfMiB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAxODhweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGFtcHBvc3RzIHtcblxuICAgICAgICAubGFtcHBvc3Qge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgICAgIC50cmFuc2Zvcm0oc2NhbGUoMCkpO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmxhbXBwb3N0XzEge1xuICAgICAgICAgICAgdG9wOiA1NXB4O1xuICAgICAgICAgICAgbGVmdDogMTY3cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubGFtcHBvc3RfMiB7XG4gICAgICAgICAgICB0b3A6IDEyOXB4O1xuICAgICAgICAgICAgbGVmdDogMjk1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubGFtcHBvc3RfMyB7XG4gICAgICAgICAgICB0b3A6IDIwM3B4O1xuICAgICAgICAgICAgbGVmdDogNDI0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucm93T2ZCdWlsZGluZ3Mge1xuXG4gICAgICAgIC5ob3VzZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAudHJhbnNmb3JtKHNjYWxlKDApKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuaG91c2VfMSB7XG4gICAgICAgICAgICB0b3A6IDg4cHg7XG4gICAgICAgICAgICBsZWZ0OiAzMjlweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ob3VzZV8yIHtcbiAgICAgICAgICAgIHRvcDogMTA2cHg7XG4gICAgICAgICAgICBsZWZ0OiAzNjFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ob3VzZV8zIHtcbiAgICAgICAgICAgIHRvcDogMTE4cHg7XG4gICAgICAgICAgICBsZWZ0OiAzOTFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ob3VzZV80IHtcbiAgICAgICAgICAgIHRvcDogMTQxcHg7XG4gICAgICAgICAgICBsZWZ0OiA0MTdweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ob3VzZV81IHtcbiAgICAgICAgICAgIHRvcDogMTQwcHg7XG4gICAgICAgICAgICBsZWZ0OiA0NTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52ZWhpY2xlcyB7XG5cbiAgICAgICAgLnZlaGljbGUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogNjtcbiAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcl8xIHtcbiAgICAgICAgICAgIHRvcDogOTJweDtcbiAgICAgICAgICAgIGxlZnQ6IDI0MXB4O1xuICAgICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgICAgIC50cmFuc2Zvcm0oc2NhbGUoMCkpO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDc1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJfMiB7XG4gICAgICAgICAgICB0b3A6IDI3NXB4O1xuICAgICAgICAgICAgbGVmdDogNDIycHg7XG5cbiAgICAgICAgICAgIC5rZXlmcmFtZXMoZHJpdmVDYXIyOyB7XG5cdFx0XHRcdDAlIHsgLnRyYW5zZm9ybSh0cmFuc2xhdGUoMCwwKSk7IH1cblx0XHRcdFx0MjAlIHsgLnRyYW5zZm9ybSh0cmFuc2xhdGUoLTQ2NXB4LCAtMjcwcHgpKTsgfVxuICAgICAgICAgICAgICAgIDEwMCUgeyAudHJhbnNmb3JtKHRyYW5zbGF0ZSgtNDY1cHgsIC0yNzBweCkpOyB9XG5cdFx0XHR9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJfMyB7XG4gICAgICAgICAgICB0b3A6IDI3NXB4O1xuICAgICAgICAgICAgbGVmdDogNDIycHg7XG5cbiAgICAgICAgICAgIC5rZXlmcmFtZXMoZHJpdmVDYXIzOyB7XG5cdFx0XHRcdDAlIHsgLnRyYW5zZm9ybSh0cmFuc2xhdGUoMCwwKSk7IH1cblx0XHRcdFx0MjAlIHsgLnRyYW5zZm9ybSh0cmFuc2xhdGUoLTQ2NXB4LCAtMjcwcHgpKTsgfVxuICAgICAgICAgICAgICAgIDEwMCUgeyAudHJhbnNmb3JtKHRyYW5zbGF0ZSgtNDY1cHgsIC0yNzBweCkpOyB9XG5cdFx0XHR9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJfNCB7XG4gICAgICAgICAgICB0b3A6IC0yM3B4O1xuICAgICAgICAgICAgbGVmdDogLTQzcHg7XG5cbiAgICAgICAgICAgIC5rZXlmcmFtZXMoZHJpdmVDYXI0OyB7XG5cdFx0XHRcdDAlIHsgLnRyYW5zZm9ybSh0cmFuc2xhdGUoMCwwKSk7IH1cblx0XHRcdFx0MjAlIHsgLnRyYW5zZm9ybSh0cmFuc2xhdGUoNDgwcHgsIDI4MHB4KSk7IH1cbiAgICAgICAgICAgICAgICAxMDAlIHsgLnRyYW5zZm9ybSh0cmFuc2xhdGUoNDgwcHgsIDI4MHB4KSk7IH1cblx0XHRcdH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcl81IHtcblxuICAgICAgICAgICAgdG9wOiAtMjNweDtcbiAgICAgICAgICAgIGxlZnQ6IC00M3B4O1xuXG4gICAgICAgICAgICAua2V5ZnJhbWVzKGRyaXZlQ2FyNTsge1xuXHRcdFx0XHQwJSB7IC50cmFuc2Zvcm0odHJhbnNsYXRlKDAsMCkpOyB9XG5cdFx0XHRcdDIwJSB7IC50cmFuc2Zvcm0odHJhbnNsYXRlKDQ4MHB4LCAyODBweCkpOyB9XG4gICAgICAgICAgICAgICAgMTAwJSB7IC50cmFuc2Zvcm0odHJhbnNsYXRlKDQ4MHB4LCAyODBweCkpOyB9XG5cdFx0XHR9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJfNiB7XG5cbiAgICAgICAgICAgIHRvcDogLTIzcHg7XG4gICAgICAgICAgICBsZWZ0OiAtNDNweDtcblxuICAgICAgICAgICAgLmtleWZyYW1lcyhkcml2ZUNhcjY7IHtcblx0XHRcdFx0MCUgeyAudHJhbnNmb3JtKHRyYW5zbGF0ZSgwLDApKTsgfVxuXHRcdFx0XHQyMCUgeyAudHJhbnNmb3JtKHRyYW5zbGF0ZSg0ODBweCwgMjgwcHgpKTsgfVxuICAgICAgICAgICAgICAgIDEwMCUgeyAudHJhbnNmb3JtKHRyYW5zbGF0ZSg0ODBweCwgMjgwcHgpKTsgfVxuXHRcdFx0fSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyXzcge1xuICAgICAgICAgICAgdG9wOiAyNzVweDtcbiAgICAgICAgICAgIGxlZnQ6IDQyMnB4O1xuXG4gICAgICAgICAgICAua2V5ZnJhbWVzKGRyaXZlQ2FyNzsge1xuXHRcdFx0XHQwJSB7IC50cmFuc2Zvcm0odHJhbnNsYXRlKDAsMCkpOyB9XG5cdFx0XHRcdDIwJSB7IC50cmFuc2Zvcm0odHJhbnNsYXRlKC00NjVweCwgLTI3MHB4KSk7IH1cbiAgICAgICAgICAgICAgICAxMDAlIHsgLnRyYW5zZm9ybSh0cmFuc2xhdGUoLTQ2NXB4LCAtMjcwcHgpKTsgfVxuXHRcdFx0fSk7XG4gICAgICAgIH1cblxuICAgICAgICAuZGlnZ2VyXzEge1xuICAgICAgICAgICAgdG9wOiA1M3B4O1xuICAgICAgICAgICAgbGVmdDogMTkxcHg7XG4gICAgICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICAgICAgLnRyYW5zZm9ybShzY2FsZSgwKSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNzUlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3RhdEdyYXBoIHtcbiAgICB3aWR0aDogNTcwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmdyaWQge1xuXG4gICAgfVxuXG4gICAgLmdyYXBoIHtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgLmtleWZyYW1lcyhtYXNrSW47IHtcblx0XHRcdDAlIHsgd2lkdGg6IDA7IH1cbiAgICAgICAgICAgIDEwMCUgeyB3aWR0aDogOTkuOSU7ICB9XG5cdFx0fSk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmdyYXBoSG90ZWxzIHtcblxuICAgICAgICAuaG90ZWwge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDY1cHg7XG4gICAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICAgICAgLnRyYW5zZm9ybShzY2FsZSgwKSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNzUlO1xuXG4gICAgICAgICAgICAua2V5ZnJhbWVzKHBvcFVwOyB7XG4gICAgICAgICAgICAgICAgMCUgey50cmFuc2Zvcm0oc2NhbGUoMCkpO31cbiAgICAgICAgICAgICAgICAxMDAlIHsudHJhbnNmb3JtKHNjYWxlKDEpKTt9XG5cdFx0XHR9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ob3RlbF8xIHtcbiAgICAgICAgICAgIHRvcDogMzEwcHg7XG4gICAgICAgICAgICBsZWZ0OiAyNjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ob3RlbF8yIHtcbiAgICAgICAgICAgIHRvcDogMjg2cHg7XG4gICAgICAgICAgICBsZWZ0OiAzNDFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ob3RlbF8zIHtcbiAgICAgICAgICAgIHRvcDogMjUxcHg7XG4gICAgICAgICAgICBsZWZ0OiA0MjJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucmVhZHkge1xuXG4gICAgICAgIC5ncmFwaF9mcm9udCB7XG4gICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgICAuYW5pbWF0aW9uKG1hc2tJbiA0cyBlYXNlLW91dCAwLjVzIDEgZm9yd2FyZHMpO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9hbmltYXRpb24vZ3JhcGgvZnJvbnRfZ3JhcGgucG5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ncmFwaF9iYWNrIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAuYW5pbWF0aW9uKG1hc2tJbiA0cyBlYXNlLW91dCAwcyAxIGZvcndhcmRzKTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvYW5pbWF0aW9uL2dyYXBoL2JhY2tfZ3JhcGgucG5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ob3RlbF8xIHtcbiAgICAgICAgICAgIC5hbmltYXRpb24ocG9wVXAgNjAwbXMgZWFzZS1vdXQgNDAwMG1zIDEgZm9yd2FyZHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhvdGVsXzIge1xuICAgICAgICAgICAgLmFuaW1hdGlvbihwb3BVcCA2MDBtcyBlYXNlLW91dCA0NDAwbXMgMSBmb3J3YXJkcyk7XG4gICAgICAgIH1cblxuICAgICAgICAuaG90ZWxfMyB7XG4gICAgICAgICAgICAuYW5pbWF0aW9uKHBvcFVwIDYwMG1zIGVhc2Utb3V0IDQ4MDBtcyAxIGZvcndhcmRzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4ucm9vbVdyYXBwZXIge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogNTBweCAwO1xufVxuLnJvb20ge1xuXG4gICAgd2lkdGg6IDM1OXB4O1xuICAgIGhlaWdodDogMzI4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBpbWcge1xuICAgICAgICAudHJhbnNmb3JtKHNjYWxlKDEuNSkgdHJhbnNsYXRlWSgtNTAwcHgpKTtcbiAgICB9XG5cbiAgICAua2V5ZnJhbWVzKGRyb3BEb3duOyB7XG4gICAgICAgIDAlIHsudHJhbnNmb3JtKHNjYWxlKDEuNSkgdHJhbnNsYXRlWSgtNTAwcHgpKTt9XG4gICAgICAgIDEwMCUgey50cmFuc2Zvcm0oc2NhbGUoMS41KSB0cmFuc2xhdGVZKDApKTt9XG5cdH0pO1xuXG4gICAgLm92ZXJsYXkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvYW5pbWF0aW9uL3Jvb20vcm9vbS5wbmcpIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5tYWluUm9vbSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1NXB4O1xuICAgICAgICBsZWZ0OiA2MHB4O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5pbm5lcldhbGwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNjZweDtcbiAgICAgICAgbGVmdDogMTE1cHg7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxuXG4gICAgLnBsYW50XzEge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMjIycHg7XG4gICAgICAgIGxlZnQ6IDc2cHg7XG4gICAgICAgIHotaW5kZXg6IDc7XG4gICAgfVxuXG4gICAgLnBsYW50XzIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMjUxcHg7XG4gICAgICAgIGxlZnQ6IDEyNnB4O1xuICAgICAgICB6LWluZGV4OiA5O1xuICAgIH1cblxuICAgIC50diB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAyMjVweDtcbiAgICAgICAgbGVmdDogOTdweDtcbiAgICAgICAgei1pbmRleDogODtcbiAgICB9XG5cbiAgICAubGFtcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAyMjRweDtcbiAgICAgICAgbGVmdDogMjA1cHg7XG4gICAgICAgIHotaW5kZXg6IDg7XG4gICAgfVxuXG4gICAgLmRlc2sge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMjQ0cHg7XG4gICAgICAgIGxlZnQ6IDE2N3B4O1xuICAgICAgICB6LWluZGV4OiA3O1xuICAgIH1cblxuICAgIC5zaW5rIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDE0MHB4O1xuICAgICAgICBsZWZ0OiAxNjFweDtcbiAgICAgICAgei1pbmRleDogNDtcbiAgICB9XG5cbiAgICAudG9pbGV0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEyNHB4O1xuICAgICAgICBsZWZ0OiAyMDBweDtcbiAgICAgICAgei1pbmRleDogMztcbiAgICB9XG5cbiAgICAuYmF0aCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMTJweDtcbiAgICAgICAgbGVmdDogMTI2cHg7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLmJlZCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxNjBweDtcbiAgICAgICAgbGVmdDogMTkwcHg7XG4gICAgICAgIHotaW5kZXg6IDY7XG4gICAgfVxuXG4gICAgLnBhcGVycyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAyNjZweDtcbiAgICAgICAgbGVmdDogMTY5cHg7XG4gICAgICAgIHotaW5kZXg6IDg7XG4gICAgfVxuXG4gICAgJi5yZWFkeSB7XG5cbiAgICAgICAgLm1haW5Sb29tIHtcbiAgICAgICAgICAgIC5hbmltYXRpb24oZHJvcERvd24gNDAwbXMgZWFzZS1vdXQgMG1zIDEgZm9yd2FyZHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRvaWxldCB7XG4gICAgICAgICAgICAuYW5pbWF0aW9uKGRyb3BEb3duIDQwMG1zIGVhc2Utb3V0IDgwMG1zIDEgZm9yd2FyZHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNpbmsge1xuICAgICAgICAgICAgLmFuaW1hdGlvbihkcm9wRG93biA0MDBtcyBlYXNlLW91dCAxMTAwbXMgMSBmb3J3YXJkcyk7XG4gICAgICAgIH1cblxuICAgICAgICAuYmF0aCB7XG4gICAgICAgICAgICAuYW5pbWF0aW9uKGRyb3BEb3duIDQwMG1zIGVhc2Utb3V0IDEzMDBtcyAxIGZvcndhcmRzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5iZWQge1xuICAgICAgICAgICAgLmFuaW1hdGlvbihkcm9wRG93biA0MDBtcyBlYXNlLW91dCAxNDAwbXMgMSBmb3J3YXJkcyk7XG4gICAgICAgIH1cblxuICAgICAgICAuZGVzayB7XG4gICAgICAgICAgICAuYW5pbWF0aW9uKGRyb3BEb3duIDQwMG1zIGVhc2Utb3V0IDE2MDBtcyAxIGZvcndhcmRzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbm5lcldhbGwge1xuICAgICAgICAgICAgLmFuaW1hdGlvbihkcm9wRG93biA0MDBtcyBlYXNlLW91dCAyMDAwbXMgMSBmb3J3YXJkcyk7XG4gICAgICAgIH1cblxuICAgICAgICAucGxhbnRfMSB7XG4gICAgICAgICAgICAuYW5pbWF0aW9uKGRyb3BEb3duIDQwMG1zIGVhc2Utb3V0IDIyMDBtcyAxIGZvcndhcmRzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wbGFudF8yIHtcbiAgICAgICAgICAgIC5hbmltYXRpb24oZHJvcERvd24gNDAwbXMgZWFzZS1vdXQgMjMwMG1zIDEgZm9yd2FyZHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxhbXAge1xuICAgICAgICAgICAgLmFuaW1hdGlvbihkcm9wRG93biA0MDBtcyBlYXNlLW91dCAyNTAwbXMgMSBmb3J3YXJkcyk7XG4gICAgICAgIH1cblxuICAgICAgICAudHYge1xuICAgICAgICAgICAgLmFuaW1hdGlvbihkcm9wRG93biA0MDBtcyBlYXNlLW91dCAyODAwbXMgMSBmb3J3YXJkcyk7XG4gICAgICAgIH1cblxuICAgICAgICAucGFwZXJzIHtcbiAgICAgICAgICAgIC5hbmltYXRpb24oZHJvcERvd24gNDAwbXMgZWFzZS1vdXQgMzAwMG1zIDEgZm9yd2FyZHMpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8vIElFOCBXcmFwcGVyXG5odG1sLmx0LWllOSB7XG5cbiAgICBtaW4td2lkdGg6IDE0ODBweDtcblxuICAgIC5ib3gge1xuICAgICAgICB3aWR0aDogMzIlO1xuICAgICAgICBtYXJnaW46IDAgMSUgMjBweCAwO1xuICAgIH1cblxuICAgIC5sb2dvIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIGhlaWdodDogNTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYWluTWVudSB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDIwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmppZ3Nhd1dyYXAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAubWFpbldyYXBwZXIgLmNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLm1haW5XcmFwcGVyIC5jb250ZW50IC5zZWN0b3Ige1xuICAgICAgICB3aWR0aDogNDklO1xuICAgICAgICBtYXJnaW46IDAgMSUgMjBweCAwO1xuICAgIH1cbiAgICBcbiAgICAuY2xpZW50cyAuY2Fyb3VzZWwgbGkgYSBpbWcge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gICAgXG4gICAgLnNlY3Rpb24uYWJvdXQgLmNhcm91c2VsLmRhdGFDYXJvdXNlbCAuc2xpY2stZG90cyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIFxuICAgIC5zZWN0aW9uLm1hcmtldFNuYXBzaG90IC5jb250ZW50LnJpZ2h0LCAuc2VjdGlvbi5wcm9kdWN0VHJlbmRzIC5jb250ZW50LnJpZ2h0LCBcbiAgICAuc2VjdGlvbi5zdGF0aXN0aWNzIC5jb250ZW50LnJpZ2h0LCAuc2VjdGlvbi5zZWFyY2ggLmNvbnRlbnQucmlnaHQsXG4gICAgLnNlY3Rpb24uZGV2aWNlcyAuY29udGVudC5sZWZ0LCAuc2VjdGlvbi5pbnNpZ2h0IC5jb250ZW50LmxlZnQsIC5zZWN0aW9uLnRyZW5kcyAuY29udGVudC5sZWZ0LFxuICAgIC5zZWN0aW9uLm1hcmtldHMgLmNvbnRlbnQubGVmdCwgLnNlY3Rpb24ucHJvZHVjdEluc2lnaHQgLm1hcCAubGVmdCwgLnNlY3Rpb24ucHJvZHVjdEluc2lnaHQgLmRhdGFiYXNlIC5yaWdodCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yMDBweDtcbiAgICB9XG4gICAgXG4gICAgLnNlY3Rpb24uc2VhcmNoIC5vdmVybGF5IHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGO1xuICAgIH1cbiAgICBcbiAgICAuc2VjdGlvbi52aWRlbyAuY2FwdGlvbiB7IFxuICAgICAgICBtYXJnaW4tbGVmdDogLTQzNXB4O1xuICAgICAgICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5NYXRyaXgoTTExPTEsIE0xMj0wLCBNMjE9MCwgTTIyPTEsIFNpemluZ01ldGhvZD0nYXV0byBleHBhbmQnKVwiO1xuICAgIH1cbiAgICBcbiAgICAuc2VjdGlvbi52aWRlbyAudmpzLW5vLWpzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmluc2lnaHRzUHJvZHVjdCAuaGlnaGxpZ2h0cyAuaGlnaGxpZ2h0IGkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtNzVweDtcbiAgICB9XG4gICAgXG4gICAgLmluc2lnaHRzUHJvZHVjdCAuaGlnaGxpZ2h0cyAuaGlnaGxpZ2h0IHtcbiAgICAgICAgd2lkdGg6IDMyJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICBcbiAgICAuaGlnaGxpZ2h0ZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuaG90c3BvdE1hcCB7XG4gICAgICAgIGhlaWdodDogNjgzcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbGF5b3V0L3VrbWFwLmpwZykgY2VudGVyIG5vLXJlcGVhdDtcbiAgICB9XG4gICAgXG4gICAgLnN2Z0NvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICB3aWR0aDogODAlO1xuICAgIH1cblxuICAgIC5jaGVja2JveFJvdyBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLmNoZWNrYm94Um93IGlucHV0W3R5cGU9cmFkaW9dLCAuY3VzdG9tUmFkaW8gaW5wdXRbdHlwZT1jaGVja2JveF0sIC5jdXN0b21SYWRpbyBpbnB1dFt0eXBlPXJhZGlvXSwgLm1vYmlsZVNlYXJjaFdyYXAsIC5zdWJzY3JpcHRpb25JdGVtIGlucHV0W3R5cGU9Y2hlY2tib3hdLCAuc3Vic2NyaXB0aW9uSXRlbSBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4gICAgZm9ybS5zdHlsZWQgLnByb2R1Y3RzICB7XG5cbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5yb3cge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jaGVja2JveFJvdyBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLmNoZWNrYm94Um93IGlucHV0W3R5cGU9cmFkaW9dLCAuY3VzdG9tUmFkaW8gaW5wdXRbdHlwZT1jaGVja2JveF0sIC5jdXN0b21SYWRpbyBpbnB1dFt0eXBlPXJhZGlvXSwgLm1vYmlsZVNlYXJjaFdyYXAsIC5zdWJzY3JpcHRpb25JdGVtIGlucHV0W3R5cGU9Y2hlY2tib3hdLCAuc3Vic2NyaXB0aW9uSXRlbSBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMzBweDtcbiAgICAgICAgICAgIGxlZnQ6IDIwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlbGVjdGVkIC5pdGVtLCAuc3Vic2NyaXB0aW9uSXRlbSwgLnN1YnNjcmlwdGlvbkl0ZW0ge1xuXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICByaWdodDogMTAwcHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM4NUM5ODE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud3JhcHBlci1zdGlja3kge1xuICAgICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZSAuZmlsdGVyLXRhYmxlIGlucHV0IHtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIC5kYXNoYm9hcmQge1xuXG4gICAgICAgIC5jaGVja2JveFJvdyBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLmNoZWNrYm94Um93IGlucHV0W3R5cGU9cmFkaW9dLCAuY3VzdG9tUmFkaW8gaW5wdXRbdHlwZT1jaGVja2JveF0sIC5jdXN0b21SYWRpbyBpbnB1dFt0eXBlPXJhZGlvXSwgLm1vYmlsZVNlYXJjaFdyYXAsIC5zdWJzY3JpcHRpb25JdGVtIGlucHV0W3R5cGU9Y2hlY2tib3hdLCAuc3Vic2NyaXB0aW9uSXRlbSBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9ja3Mge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI0JTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMC41JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ndWlkZXMge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMSU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDElO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b25zIHtcblxuICAgICAgICAgICAgLnNlYXJjaC50ZXh0IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3RhdGlzdGljcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5ld3NXcmFwIHtcblxuICAgICAgICAgICAgLmJveCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMyJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMSUgMjBweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN0YXRzIHtcbiAgICAgICAgICAgIC5zdGF0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzIlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxJSAyMHB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC52anMtbm8tanMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggNjBweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzQ1N2RhZTtcbiAgICAgICAgYmFja2dyb3VuZDogI2NkZTdmNTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMDcxJztcbiAgICAgICAgICAgIC5yZW1zKDQwKTtcbiAgICAgICAgICAgIGNvbG9yOiAjNDU3ZGFlO1xuICAgICAgICB9XG4gICAgfVxuXG5cbn0iXX0= */