/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  /* 1 */
  display: block; }

/**
 * Add the correct display in IE 9-.
 */
audio,
canvas,
progress,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */
template,
[hidden] {
  display: none; }

/* Links
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit; }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000; }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none; }

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px; }

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/* Forms
   ========================================================================== */
/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
select,
textarea {
  font: inherit;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Restore the font weight unset by the previous rule.
 */
optgroup {
  font-weight: bold; }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block; }

.slick-track:before, .slick-track:after {
  content: "";
  display: table; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }

[dir="rtl"] .slick-slide {
  float: right; }

.slick-slide img {
  display: block; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

input.parsley-success,
textarea.parsley-success {
  border-bottom: 3px solid #2D5240; }

input.parsley-error,
textarea.parsley-error {
  border-bottom: 3px solid #C0392B; }

select.parsley-success {
  border: 3px solid #2D5240; }

select.parsley-error {
  border: 3px solid #C0392B; }

.parsley-errors-list {
  margin: 2px 0 3px;
  padding: 0;
  list-style-type: none;
  font-size: 0.9em;
  line-height: 0.9em;
  opacity: 0;
  text-align: left;
  width: 90%;
  margin: 5px auto 0 auto;
  color: #C0392B;
  font-size: 1rem;
  line-height: 1.2rem;
  font-weight: 700;
  position: absolute;
  transition: all .3s ease-in;
  -o-transition: all .3s ease-in;
  -moz-transition: all .3s ease-in;
  -webkit-transition: all .3s ease-in; }

.parsley-errors-list.filled {
  opacity: 1; }

/*
    DEVICE SIZE VARIABLES

    These are just lifted from bootstrap
*/
.clearfix:after, .dl-row:after {
  content: "";
  display: table;
  clear: both; }

.center {
  text-align: center; }

.container {
  max-width: 1000px;
  margin: 0 auto; }

.dl-container {
  margin: 0 auto;
  padding: 0 15px;
  width: 100%;
  display: block; }

@media (min-width: 768px) {
  .dl-container:not(.fluid) {
    width: 750px; } }

@media (min-width: 992px) {
  .dl-container:not(.fluid) {
    width: 970px; } }

@media (min-width: 1200px) {
  .dl-container:not(.fluid) {
    width: 1000px; } }

.dl-row {
  display: block;
  margin-left: -15px;
  margin-right: -15px; }

[class*=dlc-] {
  padding: 0 15px;
  position: relative;
  min-height: 1px;
  max-width: 100%;
  float: left;
  width: 100%;
  display: block; }

@media (max-width: 767px) {
  .dlc-xs-11, .table-col.table-col-xs-11 {
    width: 91.66667%; }
  .dlc-xs-10, .table-col.table-col-xs-10 {
    width: 83.33333%; }
  .dlc-xs-9, .table-col.table-col-xs-9 {
    width: 75%; }
  .dlc-xs-8, .table-col.table-col-xs-8 {
    width: 66.66667%; }
  .dlc-xs-7, .table-col.table-col-xs-7 {
    width: 58.33333%; }
  .dlc-xs-6, .table-col.table-col-xs-6 {
    width: 50%; }
  .dlc-xs-5, .table-col.table-col-xs-5 {
    width: 41.66667%; }
  .dlc-xs-4, .table-col.table-col-xs-4 {
    width: 33.33333%; }
  .dlc-xs-3, .table-col.table-col-xs-3 {
    width: 25%; }
  .dlc-xs-2, .table-col.table-col-xs-2 {
    width: 16.66667%; }
  .dlc-xs-1, .table-col.table-col-xs-1 {
    width: 8.33333%; }
  .dlc-offset-xs-11 {
    margin-left: 91.66667%; }
  .dlc-offset-xs-10 {
    margin-left: 83.33333%; }
  .dlc-offset-xs-9 {
    margin-left: 75%; }
  .dlc-offset-xs-8 {
    margin-left: 66.66667%; }
  .dlc-offset-xs-7 {
    margin-left: 58.33333%; }
  .dlc-offset-xs-6 {
    margin-left: 50%; }
  .dlc-offset-xs-5 {
    margin-left: 41.66667%; }
  .dlc-offset-xs-4 {
    margin-left: 33.33333%; }
  .dlc-offset-xs-3 {
    margin-left: 25%; }
  .dlc-offset-xs-2 {
    margin-left: 16.66667%; }
  .dlc-offset-xs-1 {
    margin-left: 8.33333%; } }

@media (min-width: 768px) {
  .dlc-sm-11, .table-col.table-col-sm-11 {
    width: 91.66667%; }
  .dlc-sm-10, .table-col.table-col-sm-10 {
    width: 83.33333%; }
  .dlc-sm-9, .table-col.table-col-sm-9 {
    width: 75%; }
  .dlc-sm-8, .table-col.table-col-sm-8 {
    width: 66.66667%; }
  .dlc-sm-7, .table-col.table-col-sm-7 {
    width: 58.33333%; }
  .dlc-sm-6, .table-col.table-col-sm-6 {
    width: 50%; }
  .dlc-sm-5, .table-col.table-col-sm-5 {
    width: 41.66667%; }
  .dlc-sm-4, .table-col.table-col-sm-4 {
    width: 33.33333%; }
  .dlc-sm-3, .table-col.table-col-sm-3 {
    width: 25%; }
  .dlc-sm-2, .table-col.table-col-sm-2 {
    width: 16.66667%; }
  .dlc-sm-1, .table-col.table-col-sm-1 {
    width: 8.33333%; }
  .dlc-offset-sm-11 {
    margin-left: 91.66667%; }
  .dlc-offset-sm-10 {
    margin-left: 83.33333%; }
  .dlc-offset-sm-9 {
    margin-left: 75%; }
  .dlc-offset-sm-8 {
    margin-left: 66.66667%; }
  .dlc-offset-sm-7 {
    margin-left: 58.33333%; }
  .dlc-offset-sm-6 {
    margin-left: 50%; }
  .dlc-offset-sm-5 {
    margin-left: 41.66667%; }
  .dlc-offset-sm-4 {
    margin-left: 33.33333%; }
  .dlc-offset-sm-3 {
    margin-left: 25%; }
  .dlc-offset-sm-2 {
    margin-left: 16.66667%; }
  .dlc-offset-sm-1 {
    margin-left: 8.33333%; }
  .dlc-offset-sm-0 {
    margin-left: 0%; }
  .dlc-sm-1:nth-child(12n+1),
  .dlc-sm-2:nth-child(6n+1),
  .dlc-sm-3:nth-child(4n+1),
  .dlc-sm-4:nth-child(3n+1),
  .dlc-sm-6:nth-child(2n+1) {
    clear: left; } }

@media (min-width: 992px) {
  .dlc-md-11, .table-col.table-col-md-11 {
    width: 91.66667%; }
  .dlc-md-10, .table-col.table-col-md-10 {
    width: 83.33333%; }
  .dlc-md-9, .table-col.table-col-md-9 {
    width: 75%; }
  .dlc-md-8, .table-col.table-col-md-8 {
    width: 66.66667%; }
  .dlc-md-7, .table-col.table-col-md-7 {
    width: 58.33333%; }
  .dlc-md-6, .table-col.table-col-md-6 {
    width: 50%; }
  .dlc-md-5, .table-col.table-col-md-5 {
    width: 41.66667%; }
  .dlc-md-4, .table-col.table-col-md-4 {
    width: 33.33333%; }
  .dlc-md-3, .table-col.table-col-md-3 {
    width: 25%; }
  .dlc-md-2, .table-col.table-col-md-2 {
    width: 16.66667%; }
  .dlc-md-1, .table-col.table-col-md-1 {
    width: 8.33333%; }
  .dlc-offset-md-11 {
    margin-left: 91.66667%; }
  .dlc-offset-md-10 {
    margin-left: 83.33333%; }
  .dlc-offset-md-9 {
    margin-left: 75%; }
  .dlc-offset-md-8 {
    margin-left: 66.66667%; }
  .dlc-offset-md-7 {
    margin-left: 58.33333%; }
  .dlc-offset-md-6 {
    margin-left: 50%; }
  .dlc-offset-md-5 {
    margin-left: 41.66667%; }
  .dlc-offset-md-4 {
    margin-left: 33.33333%; }
  .dlc-offset-md-3 {
    margin-left: 25%; }
  .dlc-offset-md-2 {
    margin-left: 16.66667%; }
  .dlc-offset-md-1 {
    margin-left: 8.33333%; }
  .dlc-offset-md-0 {
    margin-left: 0%; }
  .dlc-lg-1:nth-child(12n+1)[class*=dlc-md-],
  .dlc-lg-2:nth-child(6n+1)[class*=dlc-md-],
  .dlc-lg-3:nth-child(4n+1)[class*=dlc-md-],
  .dlc-lg-4:nth-child(3n+1)[class*=dlc-md-],
  .dlc-lg-6:nth-child(2n+1)[class*=dlc-md-],
  .dlc-sm-1:nth-child(12n+1)[class*=dlc-md-],
  .dlc-sm-2:nth-child(6n+1)[class*=dlc-md-],
  .dlc-sm-3:nth-child(4n+1)[class*=dlc-md-],
  .dlc-sm-4:nth-child(3n+1)[class*=dlc-md-],
  .dlc-sm-6:nth-child(2n+1)[class*=dlc-md-] {
    clear: none; }
  .dlc-md-1:nth-child(12n+1),
  .dlc-md-2:nth-child(6n+1),
  .dlc-md-3:nth-child(4n+1),
  .dlc-md-4:nth-child(3n+1),
  .dlc-md-6:nth-child(2n+1) {
    clear: left; } }

@media (min-width: 1200px) {
  .dlc-lg-11, .table-col.table-col-lg-11 {
    width: 91.66667%; }
  .dlc-lg-10, .table-col.table-col-lg-10 {
    width: 83.33333%; }
  .dlc-lg-9, .table-col.table-col-lg-9 {
    width: 75%; }
  .dlc-lg-8, .table-col.table-col-lg-8 {
    width: 66.66667%; }
  .dlc-lg-7, .table-col.table-col-lg-7 {
    width: 58.33333%; }
  .dlc-lg-6, .table-col.table-col-lg-6 {
    width: 50%; }
  .dlc-lg-5, .table-col.table-col-lg-5 {
    width: 41.66667%; }
  .dlc-lg-4, .table-col.table-col-lg-4 {
    width: 33.33333%; }
  .dlc-lg-3, .table-col.table-col-lg-3 {
    width: 25%; }
  .dlc-lg-2, .table-col.table-col-lg-2 {
    width: 16.66667%; }
  .dlc-lg-1, .table-col.table-col-lg-1 {
    width: 8.33333%; }
  .dlc-offset-lg-11 {
    margin-left: 91.66667%; }
  .dlc-offset-lg-10 {
    margin-left: 83.33333%; }
  .dlc-offset-lg-9 {
    margin-left: 75%; }
  .dlc-offset-lg-8 {
    margin-left: 66.66667%; }
  .dlc-offset-lg-7 {
    margin-left: 58.33333%; }
  .dlc-offset-lg-6 {
    margin-left: 50%; }
  .dlc-offset-lg-5 {
    margin-left: 41.66667%; }
  .dlc-offset-lg-4 {
    margin-left: 33.33333%; }
  .dlc-offset-lg-3 {
    margin-left: 25%; }
  .dlc-offset-lg-2 {
    margin-left: 16.66667%; }
  .dlc-offset-lg-1 {
    margin-left: 8.33333%; }
  .dlc-offset-lg-0 {
    margin-left: 0%; }
  .dlc-md-1:nth-child(12n+1)[class*=dlc-lg-],
  .dlc-md-2:nth-child(6n+1)[class*=dlc-lg-],
  .dlc-md-3:nth-child(4n+1)[class*=dlc-lg-],
  .dlc-md-4:nth-child(3n+1)[class*=dlc-lg-],
  .dlc-md-6:nth-child(2n+1)[class*=dlc-lg-],
  .dlc-sm-1:nth-child(12n+1)[class*=dlc-lg-],
  .dlc-sm-2:nth-child(6n+1)[class*=dlc-lg-],
  .dlc-sm-3:nth-child(4n+1)[class*=dlc-lg-],
  .dlc-sm-4:nth-child(3n+1)[class*=dlc-lg-],
  .dlc-sm-6:nth-child(2n+1)[class*=dlc-lg-] {
    clear: none; }
  .dlc-lg-1:nth-child(12n+1),
  .dlc-lg-2:nth-child(6n+1),
  .dlc-lg-3:nth-child(4n+1),
  .dlc-lg-4:nth-child(3n+1),
  .dlc-lg-6:nth-child(2n+1) {
    clear: left; } }

.dl-table {
  width: 100%;
  display: block; }

@media (min-width: 768px) {
  .dl-table {
    display: table; } }

.table-row,
.table-head {
  display: table-row; }

.table-col {
  display: block;
  vertical-align: middle;
  padding: 0 15px;
  width: 100%; }

@media (min-width: 768px) {
  .table-col {
    display: table-cell; } }

.dlModal {
  position: absolute;
  left: -9999px;
  opacity: 0;
  width: 0;
  height: 0;
  overflow: hidden; }

.dlModal .dlModal-body {
  background: #ffffff;
  border-radius: 2px;
  box-shadow: 1px 2px 10px 2px rgba(0, 0, 0, 0.8);
  width: 100%;
  max-width: none;
  position: relative;
  padding: 15px 30px; }

.dlModal .dlModal-close-btn {
  border: 0;
  width: 30px;
  height: 30px;
  position: absolute;
  top: -8px;
  right: -8px;
  color: #ffffff;
  background: #b81a1e;
  cursor: pointer;
  border-radius: 2px; }

.dlModal .dlModal-close-btn:before, .dlModal .dlModal-close-btn:after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  width: 85%;
  height: 3px;
  background: #fff;
  left: 50%; }

.dlModal .dlModal-close-btn:before {
  -moz-transform: translate3d(-50%, -50%, 0) rotate(45deg);
  -o-transform: translate3d(-50%, -50%, 0) rotate(45deg);
  -ms-transform: translate3d(-50%, -50%, 0) rotate(45deg);
  -webkit-transform: translate3d(-50%, -50%, 0) rotate(45deg);
  transform: translate3d(-50%, -50%, 0) rotate(45deg); }

.dlModal .dlModal-close-btn:after {
  -moz-transform: translate3d(-50%, -50%, 0) rotate(135deg);
  -o-transform: translate3d(-50%, -50%, 0) rotate(135deg);
  -ms-transform: translate3d(-50%, -50%, 0) rotate(135deg);
  -webkit-transform: translate3d(-50%, -50%, 0) rotate(135deg);
  transform: translate3d(-50%, -50%, 0) rotate(135deg); }

.dlModal.active {
  position: fixed;
  z-index: 10;
  opacity: 1;
  left: 0;
  top: 0;
  height: auto;
  width: 100vw;
  overflow: visible;
  -moz-transition: opacity 0.5s ease;
  -o-transition: opacity 0.5s ease;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease; }

.dlModal.active .dlModal-wrapper {
  position: fixed;
  top: 50%;
  left: 50%;
  -moz-transform: translate3d(-50%, -50%, 0);
  -o-transform: translate3d(-50%, -50%, 0);
  -ms-transform: translate3d(-50%, -50%, 0);
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  height: auto;
  width: 100%;
  padding: 0 15px;
  max-width: 350px; }

.dlModal.active .dlModal-header {
  text-align: center;
  margin-bottom: 15px; }

.dlModal.active .dlModal-content {
  position: relative; }

.dlModal.active .dlModal-content.dlModal-content-iframe {
  padding-bottom: 56.25%; }

.dlModal.active .dlModal-content.dlModal-content-iframe iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0; }

#dlModalOverlay {
  position: fixed;
  z-index: 9;
  top: -999px;
  left: -999px;
  -moz-transform: translate3d(-50%, -50%, 0);
  -o-transform: translate3d(-50%, -50%, 0);
  -ms-transform: translate3d(-50%, -50%, 0);
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  -moz-transition: opacity 0.5s ease;
  -o-transition: opacity 0.5s ease;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease; }

.dlModalOpen #dlModalOverlay {
  width: 100%;
  height: 100%;
  left: 50%;
  top: 50%;
  opacity: 1; }

body.dlModalOpen {
  overflow: hidden; }

#terms-and-privacy {
  max-height: 70vh;
  overflow-y: scroll;
  overflow-x: hidden; }

@media (min-width: 768px) {
  #terms-and-privacy {
    max-height: 480px; } }

.dlModal .message-block {
  text-align: center;
  font-size: 2.6rem;
  font-family: "Patua One", serif;
  padding: 0;
  margin: 0;
  color: #232c27; }

.dlModal .message-block ul, .dlModal .message-block li {
  list-style: none;
  padding: 0;
  margin: 0; }

.dlModal.active .dlModal-wrapper {
  max-width: 450px; }

.dlModal.active .dlModal-body {
  padding: 30px; }

button.ss-message-trigger {
  position: absolute;
  visibility: hidden;
  left: -9999px; }

.nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  background-color: rgba(59, 49, 36, 0.98);
  z-index: 9999;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -moz-transform: translate(0, -100%);
  -o-transform: translate(0, -100%);
  -ms-transform: translate(0, -100%);
  -webkit-transform: translate(0, -100%);
  transform: translate(0, -100%); }

@media (min-width: 768px) {
  .nav-state-visible .nav {
    -moz-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }

.nav__logo-link {
  width: 100%;
  max-width: 100px;
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  left: 10px;
  padding-top: 7px; }

.nav__logo {
  display: inline-block;
  max-width: 100%;
  height: auto; }

.nav__sections-links {
  margin: 0 25px 11px 0;
  text-align: right;
  padding: 22px 0 5px 0;
  display: inline-block;
  float: right;
  border-bottom: 4px solid #5a4c3a; }

@media (min-width: 992px) {
  .nav__sections-links {
    margin: 0 25px 0 0; } }

.nav__sections-links li {
  display: inline;
  padding: 0;
  position: relative; }

.current:after {
  position: absolute;
  content: "";
  top: 27px;
  right: 0;
  width: 0;
  height: 4px;
  background-color: #ebe9da; }

.nav__sections-links li:after {
  position: absolute;
  content: "";
  top: 27px;
  left: 0;
  width: 0;
  height: 4px;
  background-color: #ebe9da;
  -moz-transition: width 0.3s ease;
  -o-transition: width 0.3s ease;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease; }

.nav__sections-links li.current:after {
  width: 100%; }

.nav__sections-links li:not(:last-child) {
  margin: 0 15px 0 0; }

.nav__sections-links li a {
  font-size: 1.1rem;
  text-decoration: none;
  font-family: "Patua One", serif;
  color: #ebe9da;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }

@media (min-width: 992px) {
  .nav__sections-links li a {
    font-size: 1.4rem;
    letter-spacing: 1px; } }

@media (min-width: 1200px) {
  .nav__sections-links li a {
    font-size: 1.6rem; } }

.nav__sections-links li a:hover {
  color: #f7df36; }

.nav__contact-block {
  height: 100%;
  font-size: 1.2rem;
  text-align: right;
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  color: #ebe9da;
  float: right;
  display: block; }

.nav__contact-block-quote,
.nav__contact-block-phone {
  text-align: center;
  text-transform: uppercase;
  padding: 10px 15px;
  height: 50%;
  display: block;
  background-color: #5a4c3a;
  -moz-transition: color 0.3s ease, background-color 0.3s ease;
  -o-transition: color 0.3s ease, background-color 0.3s ease;
  -webkit-transition: color 0.3s ease, background-color 0.3s ease;
  transition: color 0.3s ease, background-color 0.3s ease; }

.nav__contact-block-quote:hover,
.nav__contact-block-phone:hover {
  background-color: rgba(90, 76, 58, 0.5); }

.nav__contact-block-quote {
  border: 0;
  width: 100%;
  cursor: pointer;
  color: #f7df36; }

.nav__contact-block-phone {
  margin-top: 1px;
  color: #ebe9da;
  text-decoration: none; }

/*------------------------------------*  SPLASH
\*------------------------------------*/
.splash {
  min-height: 100vh;
  position: relative;
  background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), url("../images/splash-bg.jpg");
  background-position: center top;
  background-size: cover;
  position: relative; }

@media (min-width: 768px) {
  .splash {
    min-height: 75vh;
    border-bottom: 27px solid #f7df36;
    text-align: left; } }

.splash__logo {
  width: 150px;
  margin: 0 auto;
  display: block;
  position: relative;
  padding-top: 20px;
  z-index: 2; }

@media (min-width: 768px) {
  .splash__logo {
    padding-left: 20px;
    margin: 0; } }

.splash__bear {
  display: none; }

@media (min-width: 768px) {
  .splash__bear {
    width: 50%;
    float: left;
    display: block;
    position: relative; } }

.splash__bear-bear {
  position: absolute;
  top: 0;
  left: 50%;
  width: 95vw;
  z-index: 1;
  -moz-transform: translate(-40%, -8%);
  -o-transform: translate(-40%, -8%);
  -ms-transform: translate(-40%, -8%);
  -webkit-transform: translate(-40%, -8%);
  transform: translate(-40%, -8%); }

@media (min-width: 992px) {
  .splash__bear-bear {
    width: 150%;
    -moz-transform: translate(-40%, -17%);
    -o-transform: translate(-40%, -17%);
    -ms-transform: translate(-40%, -17%);
    -webkit-transform: translate(-40%, -17%);
    transform: translate(-40%, -17%); } }

@media (min-width: 1200px) {
  .splash__bear-bear {
    width: 150%;
    -moz-transform: translate(-45%, -12%);
    -o-transform: translate(-45%, -12%);
    -ms-transform: translate(-45%, -12%);
    -webkit-transform: translate(-45%, -12%);
    transform: translate(-45%, -12%); } }

.splash__content {
  text-align: center;
  position: relative;
  z-index: 2; }

@media (min-width: 768px) {
  .splash__content {
    text-align: left;
    width: 50%;
    float: right;
    display: block;
    min-height: 50vh; } }

@media (min-width: 768px) {
  .splash__content-wrapper {
    position: absolute;
    top: 50%;
    left: 0;
    -moz-transform: translateY(-40%);
    -o-transform: translateY(-40%);
    -ms-transform: translateY(-40%);
    -webkit-transform: translateY(-40%);
    transform: translateY(-40%); } }

@media (min-width: 992px) {
  .splash__content-wrapper {
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); } }

.splash__content-header {
  font-family: "Patua One", serif;
  font-size: 4rem;
  letter-spacing: 2px;
  color: #f7df36;
  text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5); }

@media (min-width: 768px) {
  .splash__content-header {
    font-size: 4.8rem; } }

@media (min-width: 1200px) {
  .splash__content-header {
    font-size: 5.5rem; } }

.splash__content-paragraph {
  color: #ebe9da;
  font-size: 1.6rem;
  font-weight: 900; }

@media (min-width: 768px) {
  .splash__content-paragraph {
    font-size: 1.8rem; } }

.splash__contact {
  width: 175px;
  font-size: 1.8rem;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 900;
  color: #ebe9da;
  text-transform: uppercase;
  padding: 20px 0;
  margin: 0 auto; }

@media (min-width: 768px) {
  .splash__contact {
    position: absolute;
    top: 20px;
    left: 100%;
    padding: 0 20px 0 0;
    margin: 0;
    height: 125px;
    -moz-transform: translateX(-100%);
    -o-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); } }

.splash__contact-quote-button {
  padding: 8px 12px;
  border: 1px solid #ebe9da;
  color: #f7df36;
  text-decoration: none;
  display: block;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }

.splash__contact-quote-button:hover {
  background-color: #ebe9da;
  color: #2d5240; }

.splash__contact-phone-number {
  margin-top: 5px;
  text-decoration: none;
  color: #ebe9da; }

.splash__services {
  position: relative;
  z-index: 2; }

@media screen and (min-width: 768px) {
  .splash__services {
    min-height: 25vh; } }

.splash__services-service {
  padding: 15px;
  position: relative;
  background-color: #2d5240;
  transition: background-color 0.3s ease;
  cursor: pointer;
  overflow: hidden;
  -moz-transition: transform 0.3s ease;
  -o-transition: transform 0.3s ease;
  -webkit-transition: transform 0.3s ease;
  transition: transform 0.3s ease; }

@media (min-width: 768px) {
  .splash__services-service {
    height: 25vh;
    padding: 0;
    width: 25%;
    float: left;
    text-align: center; } }

@media (min-width: 768px) {
  .splash__services-service.active:hover .splash__service-wrapper,
  .splash__services-service.active:hover .splash__service-description {
    -moz-transform: translate(0, -100%);
    -o-transform: translate(0, -100%);
    -ms-transform: translate(0, -100%);
    -webkit-transform: translate(0, -100%);
    transform: translate(0, -100%); } }

.splash__services-service {
  border-top: 1px solid #ebe9da; }

@media (min-width: 768px) {
  .splash__services-service {
    border-bottom: none;
    border-right: 1px solid #ebe9da; } }

@media (max-width: 767px) {
  .splash__service-wrapper {
    margin: 20px;
    border: 3px solid #ebe9da;
    padding: 20px;
    border-radius: 5px; } }

@media (min-width: 768px) {
  .splash__service-wrapper {
    height: 25vh;
    width: 100%;
    padding: 0 20px;
    text-align: center;
    -moz-transition: transform 0.3s ease;
    -o-transition: transform 0.3s ease;
    -webkit-transition: transform 0.3s ease;
    transition: transform 0.3s ease; } }

@media (min-width: 768px) {
  .splash__service-content {
    position: absolute;
    top: 50%;
    left: 50%;
    word-spacing: 175px;
    padding: 15px;
    border: 3px solid #ebe9da;
    border-radius: 5px;
    will-change: transform;
    -moz-transform: translate3d(-50%, -50%, 0);
    -o-transform: translate3d(-50%, -50%, 0);
    -ms-transform: translate3d(-50%, -50%, 0);
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0); } }

.splash__service-description {
  display: none; }

@media (min-width: 768px) {
  .splash__service-description {
    display: block;
    background-color: #232c27;
    height: 25vh;
    width: 100%;
    padding: 25px 20px;
    position: relative;
    text-align: center;
    -moz-transform: translate(0, 200%);
    -o-transform: translate(0, 200%);
    -ms-transform: translate(0, 200%);
    -webkit-transform: translate(0, 200%);
    transform: translate(0, 200%);
    -moz-transition: transform 0.3s ease;
    -o-transition: transform 0.3s ease;
    -webkit-transition: transform 0.3s ease;
    transition: transform 0.3s ease; } }

.splash__services-description-paragraph {
  color: #ebe9da;
  margin: 0;
  font-size: 1em;
  position: absolute;
  width: 100%;
  padding: 0 1.5rem;
  top: calc(50% - 1.5rem);
  left: 0;
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); }

@media (min-width: 1200px) {
  .splash__services-description-paragraph {
    font-size: 1.2em; } }

.splash__services-description-button {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 8px 0;
  font-size: 1.4rem;
  background: #f7df36;
  color: #232c27;
  text-decoration: none;
  font-family: "Patua One", serif; }

.smooth-scroll-anchor--mobile {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
  overflow: hidden;
  background: transparent; }

@media (min-width: 768px) {
  .smooth-scroll-anchor--mobile {
    display: none; } }

.splash__services-service-icon {
  width: 40px;
  height: 40px;
  background: #ebe9da;
  border-radius: 50%;
  float: left; }

@media (min-width: 768px) {
  .splash__services-service-icon {
    float: none;
    margin: 0 auto;
    width: 75px;
    height: 75px; } }

.splash__services-service-title {
  color: #ebe9da;
  font-size: 2.2rem;
  font-family: 'Patua One', sans-serif;
  text-align: center;
  margin: 0;
  position: relative; }

@media (min-width: 768px) {
  .splash__services-service-title {
    float: none; } }

.splash__services-service-arrow {
  position: absolute;
  width: 18px;
  top: 50%;
  right: -1.5rem;
  transform: translate(-50%, -50%) rotate(90deg); }

@media (min-width: 768px) {
  .splash__services-service-arrow {
    display: none; } }

.service-slide-down-out {
  -moz-transform: translate3d(0, -100%, 0);
  -o-transform: translate3d(0, -100%, 0);
  -ms-transform: translate3d(0, -100%, 0);
  -webkit-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0); }

.splash__service-active {
  position: relative;
  height: 100%;
  background: red;
  -moz-transform: translate3d(0, -100%, 0);
  -o-transform: translate3d(0, -100%, 0);
  -ms-transform: translate3d(0, -100%, 0);
  -webkit-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0);
  -moz-transition: transform 0.3s ease;
  -o-transition: transform 0.3s ease;
  -webkit-transition: transform 0.3s ease;
  transition: transform 0.3s ease; }

.button-learn-more {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 10px; }

.service-slide-down-in {
  -moz-transform: translate3d(0, -100%, 0);
  -o-transform: translate3d(0, -100%, 0);
  -ms-transform: translate3d(0, -100%, 0);
  -webkit-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0); }

/*------------------------------------*  MEET JOE
\*------------------------------------*/
.meet-joe {
  background-color: #ebe9da;
  position: relative;
  z-index: 2; }

.meet-joe .dl-container {
  padding-top: 50px;
  padding-bottom: 50px; }

@media (min-width: 992px) {
  .meet-joe .dl-container {
    padding-top: 100px;
    padding-bottom: 100px; } }

.meet-joe__joe {
  display: none; }

@media (min-width: 768px) {
  .meet-joe__joe {
    display: inline-block;
    max-width: 100%;
    height: auto;
    max-height: 100%; } }

.meet-joe__header {
  font-size: 3.6rem;
  padding: 0;
  margin: 0;
  font-family: 'Patua One', sans-serif;
  color: #2d5240; }

.meet-joe__paragraph {
  color: #2d5240;
  font-size: 1.8rem;
  margin: 20px 0 0 0; }

.meet-joe__list {
  list-style: none;
  margin: 30px 0 0 10px;
  padding: 0; }

.meet-joe__list li {
  background: url("../images/icon-tree-ring.svg") no-repeat left;
  background-size: 22px;
  padding: 0 0 0 30px;
  margin: 0 0 15px 0;
  color: #2d5240;
  font-weight: 900; }

/*------------------------------------*  SERVICES
\*------------------------------------*/
.services__service {
  overflow: hidden;
  position: relative; }

.services__service-title {
  position: absolute;
  top: 0;
  left: 0; }

@media (min-width: 768px) {
  .services__service-title {
    position: relative; } }

.services__land-clearing, .service--land-clearing {
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("../images/land-clearing.jpg");
  background-position: center center;
  background-size: cover; }

.services__tree-removal, .service--tree-removal {
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("../images/bg-tree_removal.jpg");
  background-position: center center;
  background-size: cover; }

.services__stump-grinding, .service--stump-grinding {
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("../images/bg-stump_grinding.jpg");
  background-position: center center;
  background-size: cover; }

.services__tree-pruning, .service--tree-pruning {
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("../images/bg-tree_pruning.jpg");
  background-position: center center;
  background-size: cover; }

.services__logging {
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("../images/bg-logging.jpg");
  background-position: center center;
  background-size: cover; }

.services__service-title-header {
  text-align: center;
  border-radius: 5px;
  margin: 0 auto;
  padding: 0; }

.services__service-title-header br {
  display: none; }

@media (min-width: 768px) {
  .services__service-title-header br {
    line-height: 0;
    display: block; } }

.services__service-title-header h3 {
  border: 3px solid #ebe9da;
  border-radius: 5px;
  color: #ebe9da;
  font-family: 'Patua One', sans-serif;
  font-size: 2.4rem;
  display: inline-block;
  padding: 10px 15px; }

@media (min-width: 768px) {
  .services__service-title-header h3 {
    padding: 25px 35px;
    font-size: 3.6rem; } }

@media (min-width: 992px) {
  .services__service:nth-child(odd) .services__service-title-header {
    padding-right: 50px; } }

@media (min-width: 992px) {
  .services__service:nth-child(even) .services__service-title-header {
    padding-left: 50px; } }

.services__service-content {
  color: #fff;
  padding: 50px 20px 50px 20px;
  position: relative;
  z-index: 10; }

@media (max-width: 767px) {
  .services__service-content {
    margin-top: 103px;
    position: static; } }

@media (min-width: 992px) {
  .services__service-content {
    padding: 50px 20px 50px 50px; } }

@media (min-width: 1200px) {
  .services__service-content {
    padding: 75px 20px 75px 50px; } }

.services__service-content:nth-child(even) {
  background: #2d5240; }

@media (min-width: 768px) {
  .services__service-content:nth-child(even) {
    border-left: 20px solid #f7df36; } }

@media (min-width: 992px) {
  .services__service-content:nth-child(even) {
    border-left: none; } }

@media (min-width: 992px) {
  .services__service-content:nth-child(even):before {
    width: 20px;
    height: 110%;
    content: '';
    background-color: #f7df36;
    position: absolute;
    left: -25px;
    top: -5%;
    -moz-transform: rotate(5deg);
    -o-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
    z-index: 9999; } }

@media (min-width: 1200px) {
  .services__service-content:nth-child(even):before {
    width: 30px;
    left: -55px;
    -moz-transform: rotate(10deg);
    -o-transform: rotate(10deg);
    -ms-transform: rotate(10deg);
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg); } }

@media (min-width: 992px) {
  .services__service-content:nth-child(even):after {
    display: block;
    width: 40px;
    background: #2d5240;
    content: " ";
    position: absolute;
    left: -5px;
    top: -5%;
    height: 110%;
    -moz-transform: rotate(5deg);
    -o-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
    z-index: -1; } }

@media (min-width: 1200px) {
  .services__service-content:nth-child(even):after {
    -moz-transform: rotate(10deg);
    -o-transform: rotate(10deg);
    -ms-transform: rotate(10deg);
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
    width: 80px;
    left: -25px; } }

.services__service-content:nth-child(odd) {
  background: #284939; }

@media (min-width: 768px) {
  .services__service-content:nth-child(odd) {
    border-right: 20px solid #f7df36; } }

@media (min-width: 992px) {
  .services__service-content:nth-child(odd) {
    border-right: none; } }

@media (min-width: 992px) {
  .services__service-content:nth-child(odd):before {
    width: 20px;
    height: 110%;
    content: '';
    background-color: #f7df36;
    position: absolute;
    right: -25px;
    top: -5%;
    -moz-transform: rotate(-5deg);
    -o-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
    z-index: 9999; } }

@media (min-width: 1200px) {
  .services__service-content:nth-child(odd):before {
    width: 30px;
    right: -55px;
    -moz-transform: rotate(-10deg);
    -o-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); } }

@media (min-width: 992px) {
  .services__service-content:nth-child(odd):after {
    display: block;
    width: 40px;
    background: #284939;
    content: " ";
    position: absolute;
    right: -5px;
    top: -5%;
    height: 110%;
    -moz-transform: rotate(-5deg);
    -o-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
    z-index: -1; } }

@media (min-width: 1200px) {
  .services__service-content:nth-child(odd):after {
    -moz-transform: rotate(-10deg);
    -o-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
    width: 80px;
    right: -25px; } }

.services__service-content-header {
  font-family: 'Patua One', serif;
  font-size: 2.4rem; }

@media (min-width: 992px) {
  .services__service-content-header {
    font-size: 3.6rem; } }

.services__service-content-paragraph {
  font-size: 1.6rem;
  margin-top: 15px; }

@media (min-width: 992px) {
  .services__service-content-paragraph {
    margin-top: 30px; } }

.services__service-content-subheader {
  margin: 30px 0 0 0;
  font-size: 1.8rem;
  font-weight: 900; }

@media (min-width: 992px) {
  .services__service-content-subheader {
    margin: 50px 0 0 0; } }

.services__service-content-service-list {
  margin: 0;
  padding: 0;
  list-style: none; }

@media (min-width: 992px) {
  .services__service-content-service-list {
    margin: 20px 0 0 0; } }

.services__service-content-service-list li {
  display: inline-block;
  position: relative;
  padding: 7px 8px;
  text-transform: uppercase;
  font-size: 1.2rem;
  color: #2d5240;
  font-weight: 900;
  margin: 8px 0 0 5px; }

.services__service-content-service-list li span {
  display: block;
  z-index: 2;
  position: relative; }

@media (min-width: 992px) {
  .services__service-content-service-list li {
    padding: 6px 10px;
    font-size: 1.4rem; } }

.services__service-content-service-list li:before {
  content: "";
  background-color: #f7df36;
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  -moz-transform: skew(-15deg, 0deg);
  -o-transform: skew(-15deg, 0deg);
  -ms-transform: skew(-15deg, 0deg);
  -webkit-transform: skew(-15deg, 0deg);
  transform: skew(-15deg, 0deg); }

/*------------------------------------*  TESTIMONIALS
\*------------------------------------*/
.testimonials {
  background: url(../images/wood-pattern-bg.png);
  background-repeat: repeat;
  position: relative;
  min-height: 600px; }

@media (min-width: 768px) {
  .testimonials {
    min-height: 350px; } }

.testimonials__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  -moz-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

.testimonials__quote-text {
  font-family: 'Patua One', sans-serif;
  color: #ebe9da;
  max-width: 80%;
  display: inline-block;
  font-size: 2rem; }

@media (min-width: 768px) {
  .testimonials__quote-text {
    font-size: 2.4rem; } }

.testimonials__quote-name {
  margin: 30px 0 0 0;
  font-size: 1.2rem;
  color: #f7df36;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 3px; }

.testimonials-slick {
  position: relative; }

/*------------------------------------*  SLICK ARROW STYLES
\*------------------------------------*/
.slick-arrow {
  background-color: #2d5240;
  background-image: url("../images/icon-arrow.svg");
  background-size: 50%;
  background-position: 55% center;
  background-repeat: no-repeat;
  border-radius: 50%;
  height: 60px;
  width: 60px;
  text-indent: -9999px;
  border: none;
  box-shadow: 0 3px 0 0 #0b1828;
  content: "";
  overflow: hidden;
  cursor: pointer;
  position: absolute;
  top: 50%;
  z-index: 2;
  -moz-transition: background-color 0.3s ease;
  -o-transition: background-color 0.3s ease;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease; }

.slick-prev {
  left: 15px;
  box-shadow: 0 -3px 0 0 #0b1828;
  -moz-transform: translate(0, -50%) rotate(180deg);
  -o-transform: translate(0, -50%) rotate(180deg);
  -ms-transform: translate(0, -50%) rotate(180deg);
  -webkit-transform: translate(0, -50%) rotate(180deg);
  transform: translate(0, -50%) rotate(180deg); }

.slick-next {
  right: 15px;
  -moz-transform: translate(0, -50%);
  -o-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%); }

.slick-arrow:hover {
  background-color: #234132; }

/*------------------------------------*  SLICK DOTS
\*------------------------------------*/
.slick-page-dots {
  list-style: none;
  position: absolute;
  padding: 0;
  bottom: 0;
  left: 50%;
  -moz-transform: translate(-50%, 400%);
  -o-transform: translate(-50%, 400%);
  -ms-transform: translate(-50%, 400%);
  -webkit-transform: translate(-50%, 400%);
  transform: translate(-50%, 400%); }

@media (min-width: 768px) {
  .slick-page-dots {
    -moz-transform: translate(-50%, 325%);
    -o-transform: translate(-50%, 325%);
    -ms-transform: translate(-50%, 325%);
    -webkit-transform: translate(-50%, 325%);
    transform: translate(-50%, 325%); } }

.slick-page-dots li {
  display: inline-block;
  margin: 0 10px;
  background: #ebe9da;
  border-radius: 50%;
  width: 20px;
  height: 20px; }

.slick-page-dots li button {
  display: none; }

.slick-page-dots li {
  position: relative;
  cursor: pointer; }

.slick-page-dots li:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  width: 0;
  height: 0;
  border-radius: 50%;
  background-color: #2d5240;
  -moz-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }

.slick-page-dots li.slick-active:after {
  width: 50%;
  height: 50%; }

/*------------------------------------*  CERTIFICATIONS
\*------------------------------------*/
.certifications {
  background-color: #ebe9da;
  padding: 50px 0; }

@media (min-width: 768px) {
  .certifications {
    padding: 100px 0; } }

.certifications__certification:nth-child(2) {
  padding: 50px 0; }

@media (min-width: 768px) {
  .certifications__certification:nth-child(2) {
    padding: 0; } }

.certifications__certification-icon {
  background-color: #2d5240;
  color: #ebe9da;
  border-radius: 50%;
  width: 75px;
  height: 75px;
  display: inline-block; }

.certifications__certification-icon img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  padding: 10px; }

.certifications__certification-title {
  margin: 20px 0 0 0;
  font-family: 'Patua One', sans-serif;
  color: #2d5240;
  font-size: 2.2rem; }

.certifications__certification-paragraph {
  margin: 15px 0 0 0;
  color: #2d5240;
  font-size: 1.8rem; }

/*------------------------------------*  RATINGS AND REVIEWS
\*------------------------------------*/
.ratings-reviews {
  padding: 50px 0;
  background-color: #e3dfc2; }

.ratings-reviews img {
  display: inline-block; }

@media (min-width: 768px) {
  .ratings-reviews img {
    width: 275px; } }

@media (min-width: 992px) {
  .ratings-reviews img {
    width: 250px; } }

@media (min-width: 1200px) {
  .ratings-reviews img {
    width: 225px; } }

/*------------------------------------*  SERVICE LOCATIONS
\*------------------------------------*/
.service-locations {
  background-color: green;
  background: url("../images/location-bg.jpg") center center fixed;
  background-size: cover;
  position: relative;
  padding: 50px 15px; }

.service-locations__icon {
  width: 47px; }

.service-locations__header {
  font-family: 'Patua One', sans-serif;
  font-size: 2.4rem;
  color: #f7df36;
  margin: 20px 0;
  text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3); }

.service-locations-cities {
  margin: 0 auto;
  padding: 0;
  max-width: 500px; }

.service-locations-cities li {
  list-style-type: none;
  margin: 10px 0;
  font-size: 1.4rem;
  color: #ebe9da;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 3px;
  text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
  padding: 0;
  display: block; }

.service-locations-cities li:last-child {
  margin-top: 20px;
  width: 100%; }

@media (min-width: 768px) {
  .service-locations-cities li {
    display: inline-block;
    width: 45%; } }

/*------------------------------------*  CALL-TO-ACTION / CTA
\*------------------------------------*/
.cta {
  background-color: #232c27;
  background: url("../images/bear-bg.png") center center;
  background-size: cover;
  padding: 120px 20px; }

@media (min-width: 992px) {
  .cta {
    padding: 150px 20px; } }

.cta__primary {
  font-size: 3.6rem;
  font-family: 'Patua One', sans-serif;
  color: #ebe9da;
  text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
  margin: 0; }

.cta__secondary {
  font-size: 1.8rem;
  color: #ebe9da;
  text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5); }

/*------------------------------------*  CONTACT
\*------------------------------------*/
.contact {
  background-color: #b3d6f4;
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 100px 0 200px 0; }

.contact-intro {
  position: relative;
  z-index: 10; }

.contact-intro__primary {
  font-family: 'Open Sans', sans-serif;
  font-weight: 900;
  color: #232c27;
  font-size: 1.8rem; }

@media (min-width: 768px) {
  .contact-intro__primary {
    font-size: 3.6rem; } }

.contact-intro__secondary {
  font-family: 'Patua One', serif;
  color: #232c27;
  font-size: 3rem; }

@media (min-width: 768px) {
  .contact-intro__secondary {
    font-size: 6rem; } }

.contact-intro__emergency-services {
  font-family: 'Open Sans', sans-serif;
  font-weight: 900;
  color: #232c27;
  font-size: 1.2rem;
  padding: 0 10px;
  border-radius: 10px;
  background-color: #ebb814;
  border: 3px solid #232c27;
  display: inline-block;
  position: relative;
  z-index: 10;
  text-transform: uppercase;
  margin-top: 15px; }

.contact-intro__emergency-services-icon {
  width: 19px;
  height: 16px;
  background-image: url("../images/icon-emergency_services.svg");
  background-size: cover;
  background-repeat: no-repeat;
  float: left;
  margin-top: 9px; }

.contact-intro__emergency-services-text {
  padding: 0 0 0 10px;
  margin-top: 15px;
  line-height: 3.5rem; }

.cloud-left,
.cloud-right {
  width: calc(100vw);
  opacity: .5;
  z-index: 4;
  display: block;
  position: absolute; }

@media (min-width: 768px) {
  .cloud-left,
  .cloud-right {
    width: calc(50vw); } }

.cloud-left {
  top: 30px;
  left: 0;
  -moz-transform: translate(-80%, 0);
  -o-transform: translate(-80%, 0);
  -ms-transform: translate(-80%, 0);
  -webkit-transform: translate(-80%, 0);
  transform: translate(-80%, 0); }

.cloud-right {
  top: 200px;
  right: 0;
  -moz-transform: translate(80%, 0);
  -o-transform: translate(80%, 0);
  -ms-transform: translate(80%, 0);
  -webkit-transform: translate(80%, 0);
  transform: translate(80%, 0); }

/*------------------------------------*  FORM STYLES
\*------------------------------------*/
.free-estimate {
  width: 90%;
  max-width: 600px;
  border: 5px solid #2d5240;
  border-radius: 5px;
  display: inline-block;
  position: relative;
  z-index: 10;
  margin: 75px 0 0 0;
  padding: 30px 0 0 0; }

.free-estimate .spirit-of-the-street {
  visibility: hidden;
  position: absolute;
  left: -9999px; }

.estimate-input-wrapper {
  width: 90%;
  margin: 0 auto 50px auto;
  position: relative; }

.estimate-input-wrapper input {
  text-transform: none;
  letter-spacing: 0; }

.estimate-input-wrapper input::-webkit-input-placeholder {
  text-transform: uppercase;
  letter-spacing: 3px; }

.estimate-input-wrapper input:-moz-placeholder {
  /* Firefox 18- */
  text-transform: uppercase;
  letter-spacing: 3px; }

.estimate-input-wrapper input::-moz-placeholder {
  /* Firefox 19+ */
  text-transform: uppercase;
  letter-spacing: 3px; }

.estimate-input-wrapper input:-ms-input-placeholder {
  text-transform: uppercase;
  letter-spacing: 3px; }

.free-estimate__name,
.free-estimate__phone,
.free-estimate__email {
  display: block;
  width: 100%;
  background: none;
  border: none;
  border-bottom: 3px solid #2d5240;
  padding: 15px 5px 15px 0; }

.free-estimate__name:focus,
.free-estimate__phone:focus,
.free-estimate__email:focus,
.free-estimate__service-select:focus,
.free-estimate__referral-select:focus {
  background-color: rgba(255, 255, 255, 0.5);
  padding-left: 10px; }

.free-estimate__service-select-label,
.free-estimate__referral-select-label,
.free-estimate__project-photo-label {
  font-family: 'Open Sans', sans-serif;
  color: #232c27;
  font-size: 1.4rem;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 3px;
  display: block;
  text-align: left;
  width: 90%;
  margin-bottom: 15px; }

.free-estimate__name,
.free-estimate__phone,
.free-estimate__email,
.free-estimate__service-select,
.free-estimate__referral-select,
.free-estimate__project-photo-fake {
  font-family: 'Open Sans', sans-serif;
  color: #232c27;
  font-size: 1rem;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 1px;
  outline: none;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }

@media (min-width: 768px) {
  .free-estimate__name,
  .free-estimate__phone,
  .free-estimate__email,
  .free-estimate__service-select,
  .free-estimate__referral-select,
  .free-estimate__project-photo-fake {
    font-size: 1.4rem;
    letter-spacing: 3px; } }

.free-estimate__project-photo:focus ~ .free-estimate__project-photo-fake {
  background-color: #232c27; }

.free-estimate__service-select,
.free-estimate__referral-select {
  padding: 15px 5px 15px 10px;
  height: 60px;
  border: 3px solid #2d5240;
  border-radius: 0;
  width: 100%;
  display: block;
  -webkit-appearance: none;
  -moz-appearance: none;
  text-indent: 1px;
  text-overflow: '';
  background: none; }

.select-arrow {
  width: 50px;
  height: 15px;
  background-color: blue;
  position: absolute;
  bottom: 20px;
  right: 10px;
  background: url(../images/icon-arrow-down.svg) no-repeat 98% 55%;
  background-size: 20px; }

.free-estimate__project-photo {
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  z-index: -1; }

.free-estimate__project-photo-fake {
  display: block;
  width: 100%;
  margin: 0 auto 5px auto;
  background-color: #888888;
  display: block;
  cursor: pointer;
  color: #ebe9da;
  text-align: left;
  padding: 17px 0 17px 25px;
  -moz-transition: background-color 0.3s ease;
  -o-transition: background-color 0.3s ease;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease; }

.photo-group-instructions {
  float: left;
  font-size: 1rem;
  font-weight: 900; }

.free-estimate__project-photo-fake-icon {
  width: 18px;
  margin-right: 15px; }

.free-estimate__project-photo-fake:hover {
  background-color: #232c27; }

.free-estimate__project-photo-fake:focus {
  outline: 1px dotted #000;
  outline: -webkit-focus-ring-color auto 5px; }

.free-estimate__submit {
  width: 100%;
  border: none;
  background: #2d5240;
  padding: 45px 0 40px 0;
  color: #f7df36;
  font-family: 'Patua One', serif;
  font-size: 2.4rem;
  cursor: pointer;
  -moz-transition: background-color 0.3s ease;
  -o-transition: background-color 0.3s ease;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  line-height: 0; }

.free-estimate__submit:hover {
  background-color: #234132; }

/*------------------------------------*  CONTACT INFO
\*------------------------------------*/
.tt-info__logo {
  height: 85px; }

.tt-info {
  width: 90%;
  max-width: 600px;
  display: block;
  margin: 50px auto;
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 5px;
  position: relative;
  z-index: 10;
  padding: 50px 0; }

.tt-info__title {
  padding: 40px 0 0 0;
  font-size: 1.2rem;
  color: #2d5240;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 3px; }

.tt-info__title:after {
  content: '';
  height: 3px;
  display: block;
  background-color: #232c27;
  width: 35px;
  margin: 15px auto; }

.tt-info__email,
.tt-info__address {
  font-family: 'Patua One', serif;
  font-size: 2.4rem;
  color: #232c27;
  text-decoration: none;
  -moz-transition: color 0.3s ease;
  -o-transition: color 0.3s ease;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease; }

.tt-info__address a {
  text-decoration: none;
  color: #232c27;
  -moz-transition: color 0.3s ease;
  -o-transition: color 0.3s ease;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease; }

.tt-info__email:hover,
.tt-info__address a:hover {
  color: #2d5240; }

/*------------------------------------*  TREE
\*------------------------------------*/
.tree-primary {
  opacity: 1;
  visibility: visible;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  display: block;
  -moz-transform: rotate(0) translateX(-50%);
  -o-transform: rotate(0) translateX(-50%);
  -ms-transform: rotate(0) translateX(-50%);
  -webkit-transform: rotate(0) translateX(-50%);
  transform: rotate(0) translateX(-50%);
  height: 100%;
  transform-origin: 50% 100%;
  -moz-transition: transform 4s cubic-bezier(0.14, 0.17, 0.94, -0.57), visibility 1s, opacity;
  -o-transition: transform 4s cubic-bezier(0.14, 0.17, 0.94, -0.57), visibility 1s, opacity;
  -webkit-transition: transform 4s cubic-bezier(0.14, 0.17, 0.94, -0.57), visibility 1s, opacity;
  transition: transform 4s cubic-bezier(0.14, 0.17, 0.94, -0.57), visibility 1s, opacity; }

@media (min-width: 768px) {
  .tree-primary {
    -moz-transform: translateX(-40%);
    -o-transform: translateX(-40%);
    -ms-transform: translateX(-40%);
    -webkit-transform: translateX(-40%);
    transform: translateX(-40%); } }

@media (min-width: 992px) {
  .tree-primary {
    -moz-transform: translateX(-20%);
    -o-transform: translateX(-20%);
    -ms-transform: translateX(-20%);
    -webkit-transform: translateX(-20%);
    transform: translateX(-20%); } }

@media (min-width: 1200px) {
  .tree-primary {
    -moz-transform: translateX(70%);
    -o-transform: translateX(70%);
    -ms-transform: translateX(70%);
    -webkit-transform: translateX(70%);
    transform: translateX(70%); } }

.fell {
  -moz-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg); }

.tree-right-inner,
.tree-right-outter {
  position: absolute;
  bottom: -10px;
  z-index: 3; }

.tree-right-inner {
  height: 40%;
  right: -30%;
  opacity: .9; }

@media (min-width: 768px) {
  .tree-right-inner {
    right: -10%; } }

@media (min-width: 992px) {
  .tree-right-inner {
    right: 5%; } }

@media (min-width: 1200px) {
  .tree-right-inner {
    right: 10%; } }

.tree-right-outter {
  display: none; }

@media (min-width: 992px) {
  .tree-right-outter {
    display: block;
    height: 55%;
    right: -10%;
    opacity: .7; } }

@media (min-width: 1200px) {
  .tree-right-outter {
    right: 0; } }

.grass-blades-left,
.grass-blades-right {
  position: absolute;
  bottom: -1px;
  z-index: 4; }

.grass-blades-left {
  display: none; }

@media (min-width: 992px) {
  .grass-blades-left {
    display: block;
    height: 50px;
    left: 5%; } }

.grass-blades-right {
  height: 35px;
  right: 10%; }

/*------------------------------------*  GRASS / SOCIAL ICONS
\*------------------------------------*/
.grass {
  padding: 50px 0;
  background-color: #2d5240; }

.social-links {
  text-align: center;
  margin: 20px 0 0 0; }

.social-links__link {
  height: 40px;
  width: 40px;
  background-color: #ebe9da;
  display: inline-block;
  margin: 0 10px;
  -moz-transform: translateY(0);
  -o-transform: translateY(0);
  -ms-transform: translateY(0);
  -webkit-transform: translateY(0);
  transform: translateY(0);
  -moz-transition: transform 0.3s ease;
  -o-transition: transform 0.3s ease;
  -webkit-transition: transform 0.3s ease;
  transition: transform 0.3s ease; }

.social-links__link:hover {
  -moz-transform: translateY(-5px);
  -o-transform: translateY(-5px);
  -ms-transform: translateY(-5px);
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px); }

.tree-bear {
  width: 90%;
  max-width: 600px;
  position: relative;
  margin: 0 auto;
  height: 100%; }

.bear {
  position: absolute;
  top: 0;
  left: 0;
  height: 400px;
  z-index: 10;
  pointer-events: none;
  -moz-transform: translate(-32%, -95%);
  -o-transform: translate(-32%, -95%);
  -ms-transform: translate(-32%, -95%);
  -webkit-transform: translate(-32%, -95%);
  transform: translate(-32%, -95%); }

@media (min-width: 768px) {
  .bear {
    height: 550px;
    -moz-transform: translate(-40%, -95%);
    -o-transform: translate(-40%, -95%);
    -ms-transform: translate(-40%, -95%);
    -webkit-transform: translate(-40%, -95%);
    transform: translate(-40%, -95%); } }

@media (min-width: 992px) {
  .bear {
    height: 675px;
    -moz-transform: translate(-45%, -95%);
    -o-transform: translate(-45%, -95%);
    -ms-transform: translate(-45%, -95%);
    -webkit-transform: translate(-45%, -95%);
    transform: translate(-45%, -95%); } }

/*------------------------------------*  FOOTER
\*------------------------------------*/
.footer {
  background-color: #232c27;
  padding: 25px;
  color: #ebe9da;
  font-size: .8rem; }

.footer__content {
  display: inline-block; }

.footer a {
  text-decoration: none;
  color: #f7df36; }

.footer__text {
  float: right; }

.dl-logo {
  width: 12px;
  height: 12px;
  float: right;
  margin: 1px 0 0 5px; }

/*------------------------------------*  BASELINE
\*------------------------------------*/
body {
  margin: 0;
  padding: 0;
  font-family: 'Open Sans', sans-serif;
  font-size: 1.6rem;
  overflow-x: hidden; }

* {
  box-sizing: border-box; }

/*
  SET THE BASE FONT SIZE

  This allows you to use rems with simple math.
  For example, what is 18px on the mock will be 1.8rem;
*/
html {
  font-size: 62.5%; }

@media (min-width: 768px) {
  html {
    font-size: 62.5%; } }

@media (min-width: 992px) {
  html {
    font-size: 62.5%; } }

@media (min-width: 1200px) {
  html {
    font-size: 62.5%; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsInZlbmRvci9fdmVuZG9yLnNjc3MiLCJ2ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCJ2ZW5kb3Ivc2xpY2suc2NzcyIsInZlbmRvci9wYXJzbGV5LnNjc3MiLCJzY2FmZm9sZC9fc2NhZmZvbGQuc2NzcyIsInNjYWZmb2xkL3ZhcmlhYmxlcy9fdmFyaWFibGVzLnNjc3MiLCJzY2FmZm9sZC92YXJpYWJsZXMvY29sb3ItdmFyaWFibGVzLnNjc3MiLCJzY2FmZm9sZC92YXJpYWJsZXMvZm9udC1mYW1pbGllcy5zY3NzIiwic2NhZmZvbGQvbWVkaWEtcXVlcmllcy5zY3NzIiwic2NhZmZvbGQvaGVscGVycy9faGVscGVycy5zY3NzIiwic2NhZmZvbGQvaGVscGVycy9tYWluLnNjc3MiLCJzY2FmZm9sZC9taXhpbnMvX21peGlucy5zY3NzIiwic2NhZmZvbGQvbWl4aW5zL21lZGlhLXF1ZXJpZXMuc2NzcyIsInNjYWZmb2xkL21peGlucy9oZWxwZXItbWl4aW5zLnNjc3MiLCJzY2FmZm9sZC9kbC1ncmlkLnNjc3MiLCJzY2FmZm9sZC9kbC10YWJsZS5zY3NzIiwic2NhZmZvbGQvZGxNb2RhbC5zY3NzIiwic2NhZmZvbGQvZGxNb2RhbC1vdmVycmlkZXMuc2NzcyIsInNjYWZmb2xkL25hdi5zY3NzIiwic2NhZmZvbGQvc2VjdGlvbnMvX3NlY3Rpb25zLnNjc3MiLCJzY2FmZm9sZC9zZWN0aW9ucy9zcGxhc2guc2NzcyIsInNjYWZmb2xkL3NlY3Rpb25zL3NwbGFzaC1zZXJ2aWNlcy5zY3NzIiwic2NhZmZvbGQvc2VjdGlvbnMvYWJvdXQtam9lLnNjc3MiLCJzY2FmZm9sZC9zZWN0aW9ucy9zZXJ2aWNlcy5zY3NzIiwic2NhZmZvbGQvc2VjdGlvbnMvdGVzdGltb25pYWxzLnNjc3MiLCJzY2FmZm9sZC9zZWN0aW9ucy9jZXJ0aWZpY2F0aW9ucy5zY3NzIiwic2NhZmZvbGQvc2VjdGlvbnMvc2VydmljZS1sb2NhdGlvbnMuc2NzcyIsInNjYWZmb2xkL3NlY3Rpb25zL2N0YS5zY3NzIiwic2NhZmZvbGQvc2VjdGlvbnMvc2t5bGluZS5zY3NzIiwic2NhZmZvbGQvc2VjdGlvbnMvZm9vdGVyLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAndmVuZG9yL3ZlbmRvcic7XG5AaW1wb3J0ICdzY2FmZm9sZC9zY2FmZm9sZCc7XG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICBCQVNFTElORVxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuYm9keSB7XG4gICBtYXJnaW46IDA7XG4gICBwYWRkaW5nOiAwO1xuICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgZm9udC1zaXplOiAxLjZyZW07XG4gICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbioge1xuICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLypcbiAgU0VUIFRIRSBCQVNFIEZPTlQgU0laRVxuXG4gIFRoaXMgYWxsb3dzIHlvdSB0byB1c2UgcmVtcyB3aXRoIHNpbXBsZSBtYXRoLlxuICBGb3IgZXhhbXBsZSwgd2hhdCBpcyAxOHB4IG9uIHRoZSBtb2NrIHdpbGwgYmUgMS44cmVtO1xuKi9cbmh0bWwge1xuICAvLyBjaGFuZ2UgZm9udC1zaXplIGFzIG5lZWRlZCBieSBtZWRpYSBxdWVyaWVzIHRvIGVzdGFibGlzaCBicm9hZCBzY2FsaW5nXG4gIGZvbnQtc2l6ZTogNjIuNSU7XG4gIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgZm9udC1zaXplOiA2Mi41JTtcbiAgfVxuICBAbWVkaWEobWluLXdpZHRoOiRzY3JlZW4tbWQtbWluKXtcbiAgICBmb250LXNpemU6IDYyLjUlO1xuICB9XG4gIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCwgeW91IHdpbGwga2VlcCB0aGlzIG9uZVxuICAgIGZvbnQtc2l6ZTogNjIuNSU7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ25vcm1hbGl6ZSc7XG5AaW1wb3J0ICdzbGljayc7XG5AaW1wb3J0ICdwYXJzbGV5JztcbiIsIi8qISBub3JtYWxpemUuY3NzIHY0LjEuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIGFuZCBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLCAvKiAxICovXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxubWFpbiwgLyogMiAqL1xubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHsgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSwgLyogMSAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udDogaW5oZXJpdDsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb250IHdlaWdodCB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSB0ZXh0IHN0eWxlIG9mIHBsYWNlaG9sZGVycyBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IDAuNTQ7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuIiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJpbnB1dC5wYXJzbGV5LXN1Y2Nlc3MsXG50ZXh0YXJlYS5wYXJzbGV5LXN1Y2Nlc3Mge1xuICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICMyRDUyNDA7XG59XG5cbmlucHV0LnBhcnNsZXktZXJyb3IsXG50ZXh0YXJlYS5wYXJzbGV5LWVycm9yIHtcbiAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjQzAzOTJCO1xufVxuXG5zZWxlY3QucGFyc2xleS1zdWNjZXNzIHtcbiAgIGJvcmRlcjogM3B4IHNvbGlkICMyRDUyNDA7XG59XG5cbnNlbGVjdC5wYXJzbGV5LWVycm9yIHtcbiAgIGJvcmRlcjogM3B4IHNvbGlkICNDMDM5MkI7XG59XG5cbi5wYXJzbGV5LWVycm9ycy1saXN0IHtcbiAgbWFyZ2luOiAycHggMCAzcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgZm9udC1zaXplOiAwLjllbTtcbiAgbGluZS1oZWlnaHQ6IDAuOWVtO1xuICBvcGFjaXR5OiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aWR0aDogOTAlO1xuICBtYXJnaW46IDVweCBhdXRvIDAgYXV0bztcbiAgY29sb3I6ICNDMDM5MkI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XG59XG5cbi5wYXJzbGV5LWVycm9ycy1saXN0LmZpbGxlZCB7XG4gIG9wYWNpdHk6IDE7XG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMvdmFyaWFibGVzJztcbkBpbXBvcnQgJ21lZGlhLXF1ZXJpZXMnO1xuQGltcG9ydCAnaGVscGVycy9oZWxwZXJzJztcbkBpbXBvcnQgJ21peGlucy9taXhpbnMnO1xuQGltcG9ydCAnZGwtZ3JpZCc7XG5AaW1wb3J0ICdkbC10YWJsZSc7XG5AaW1wb3J0ICdkbE1vZGFsJztcbkBpbXBvcnQgJ2RsTW9kYWwtb3ZlcnJpZGVzJztcbkBpbXBvcnQgJ25hdic7XG5AaW1wb3J0ICdzZWN0aW9ucy9zZWN0aW9ucyc7XG4iLCJAaW1wb3J0ICdjb2xvci12YXJpYWJsZXMnO1xuQGltcG9ydCAnZm9udC1mYW1pbGllcyc7XG4iLCIkYnJhbmQteWVsbG93OiAjZjdkZjM2O1xuJGJyYW5kLWdyZWVuOiAjMmQ1MjQwO1xuJGJyYW5kLWdyZWVuLWRhcms6ICMyMzJjMjc7XG4kYnJhbmQtYnJvd246ICMzNDJiMjA7XG4kYnJhbmQtd2hpdGU6ICNlYmU5ZGE7XG4kZ3JheS1taWQ6ICM4ODg4ODg7XG4iLCIkc2VyaWYtc3RhY2s6ICdQYXR1YSBPbmUnLCBzZXJpZjtcbiRzYW5zLXNlcmlmLXN0YWNrOiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiIsIi8qXG4gICAgREVWSUNFIFNJWkUgVkFSSUFCTEVTXG5cbiAgICBUaGVzZSBhcmUganVzdCBsaWZ0ZWQgZnJvbSBib290c3RyYXBcbiovXG4vLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxuJHNjcmVlbi14czogICAgICAgICAgICAgICAgICA0ODBweDtcbiRzY3JlZW4teHMtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi14cztcbiRzY3JlZW4tcGhvbmU6ICAgICAgICAgICAgICAgJHNjcmVlbi14cy1taW47XG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxuJHNjcmVlbi1zbTogICAgICAgICAgICAgICAgICA3NjhweDtcbiRzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1zbTtcbiRzY3JlZW4tdGFibGV0OiAgICAgICAgICAgICAgJHNjcmVlbi1zbS1taW47XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4kc2NyZWVuLW1kOiAgICAgICAgICAgICAgICAgIDk5MnB4O1xuJHNjcmVlbi1tZC1taW46ICAgICAgICAgICAgICAkc2NyZWVuLW1kO1xuJHNjcmVlbi1kZXNrdG9wOiAgICAgICAgICAgICAkc2NyZWVuLW1kLW1pbjtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4kc2NyZWVuLWxnOiAgICAgICAgICAgICAgICAgIDEyMDBweDtcbiRzY3JlZW4tbGctbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1sZztcbiRzY3JlZW4tbGctZGVza3RvcDogICAgICAgICAgJHNjcmVlbi1sZy1taW47XG5cbi8vIFNvIG1lZGlhIHF1ZXJpZXMgZG9uJ3Qgb3ZlcmxhcCB3aGVuIHJlcXVpcmVkLCBwcm92aWRlIGEgbWF4aW11bVxuJHNjcmVlbi14cy1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1zbS1taW4gLSAxKTtcbiRzY3JlZW4tc20tbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbWQtbWluIC0gMSk7XG4kc2NyZWVuLW1kLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLWxnLW1pbiAtIDEpO1xuIiwiQGltcG9ydCAnbWFpbic7XG4iLCIuY2xlYXJmaXh7XG4gICY6YWZ0ZXJ7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4uY2VudGVyIHtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNvbnRhaW5lciB7XG4gICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgIG1hcmdpbjogMCBhdXRvO1xufVxuIiwiQGltcG9ydCAnbWVkaWEtcXVlcmllcyc7XG5AaW1wb3J0ICdoZWxwZXItbWl4aW5zJztcbiIsIi8vIFRIRSBGT0xMT1dJTkcgQVJFIE1FRElBIFFVRVJZIE1JWElOUyAtIFVTRSBBUyBGT0xMT1dTXG4vLyAjdGhpcy1zZWxlY3Rvcntcbi8vICAgQGluY2x1ZGUgc2NyZWVuLXNtIHtcbi8vICAgICBmb250LXNpemU6IDE4cHg7XG4vLyAgIH1cbi8vICAgQGluY2x1ZGUgc2NyZWVuLW1kIHtcbi8vICAgICBmb250LXNpemU6IDI0cHg7XG4vLyAgIH1cbi8vIH1cblxuLy8geHMgb25seSBmb3Igd2hlbiB3ZSBvbmx5IHdhbnQgaXQgdG8gaGFwcGVuIGF0IG1vYmlsZVxuLy8gZXZlcnl0aGluZyBlbHNlIHNob3VsZCBiZSBtb2JpbGUgdXAgLSBleGNsdWRpbmcgdGhlIG5lZWQgZm9yIHNjcmVlbi14c1xuQG1peGluIHNjcmVlbi14cy1vbmx5e1xuICBAbWVkaWEobWF4LXdpZHRoOiAjeyRzY3JlZW4tc20gLSAxfSl7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbi8vTWVkaWEgcXVlcmllcyBmb3Igc3R5bGVzIHRoYXQgc2hvdWxkIGJlIGFwcGxpZWQgdG8gT05MWSB0aGUgc3BlY2lmaWVkIGJyZWFrcG9pbnRcbkBtaXhpbiBzY3JlZW4tc20tb25seSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAjeyRzY3JlZW4tc219KSBhbmQgKG1heC13aWR0aDogI3skc2NyZWVuLW1kIC0gMX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuQG1peGluIHNjcmVlbi1tZC1vbmx5IHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHNjcmVlbi1tZH0pIGFuZCAobWF4LXdpZHRoOiAjeyRzY3JlZW4tbGcgLSAxfSl7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbi8vc3RhbmRhcmQgbWVkaWEgcXVlcmllc1xuQG1peGluIHNjcmVlbi1zbSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAjeyRzY3JlZW4tc219KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbkBtaXhpbiBzY3JlZW4tbWQge1xuICBAbWVkaWEgKG1pbi13aWR0aDogI3skc2NyZWVuLW1kfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5AbWl4aW4gc2NyZWVuLWxnIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHNjcmVlbi1sZ30pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT0gQkVHSU4gVFJBTlNGT1JNIE1JWElOID09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG4vLyByb3RhdGVcbkBtaXhpbiByb3RhdGUgKCRkZWcpIHtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgjeyRkZWd9ZGVnKSk7XG59XG5cbi8vIHNjYWxlXG5AbWl4aW4gc2NhbGUoJHNjYWxlKSB7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgkc2NhbGUpKTtcbn1cbi8vIHRyYW5zbGF0ZVxuQG1peGluIHRyYW5zbGF0ZSAoJHgsICR5KSB7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoJHgsICR5KSk7XG59XG4vLyB0cmFuc2xhdGVYXG5AbWl4aW4gdHJhbnNsYXRlWCAoJHgpIHtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoJHgpKTtcbn1cbi8vIHRyYW5zbGF0ZVhcbkBtaXhpbiB0cmFuc2xhdGVZICgkeSkge1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgkeSkpO1xufVxuLy8gdHJhbnNsYXRlM2RcbkBtaXhpbiB0cmFuc2xhdGUzZCAoJHgsICR5LCAkeikge1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlM2QoJHgsICR5LCAkeikpO1xufVxuLy8gc2tld1xuQG1peGluIHNrZXcgKCR4LCAkeSkge1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2tldygjeyR4fWRlZywgI3skeX1kZWcpKTtcbn1cbi8vdHJhbnNmb3JtIG9yaWdpblxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4gKCRvcmlnaW4pIHtcbiAgbW96LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gIC1vLXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PSAgRU5EIFRSQU5TRk9STSBNSVhJTiAgPT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT0gQkVHSU4gVFJBTlNJVElPTiBNSVhJTiA9PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uKSB7XG4gIC1tb3otdHJhbnNpdGlvbjogICAgJHRyYW5zaXRpb247XG4gIC1vLXRyYW5zaXRpb246ICAgICAgJHRyYW5zaXRpb247XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gIHRyYW5zaXRpb246ICAgICAgICAgJHRyYW5zaXRpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkcHJvcGVydHkpIHtcbiAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiAgICAkcHJvcGVydHk7XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6ICAgICAgJHByb3BlcnR5O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6ICRwcm9wZXJ0eTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogICAgICAgICAkcHJvcGVydHk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkZHVyYXRpb24pIHtcbiAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiAgICAkZHVyYXRpb247XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6ICAgICAgJGR1cmF0aW9uO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogICAgICAgICAkZHVyYXRpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZykge1xuICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAgICAkdGltaW5nO1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogICAgICAkdGltaW5nO1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogICAgICAgICAkdGltaW5nO1xufVxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJGRlbGF5KSB7XG4gIC1tb3otdHJhbnNpdGlvbi1kZWxheTogICAgJGRlbGF5O1xuICAtby10cmFuc2l0aW9uLWRlbGF5OiAgICAgICRkZWxheTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICAgICAgICAgJGRlbGF5O1xufVxuXG4vLyBUUkFOU0lUSU9OIE1VTFRJUExFIFBST1BFUlRJRVMgRVhBTVBMRTpcbi8vIEBpbmNsdWRlIHRyYW5zaXRpb24oI3tjb2xvciAwLjNzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlfSk7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT0gIEVORCBUUkFOU0lUSU9OIE1JWElOICA9PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBwbGFjZWhvbGRlciBtaXhpblxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnQ7fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE4LSAqL0Bjb250ZW50O31cbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7ICAvKiBGaXJlZm94IDE5KyAqL0Bjb250ZW50O31cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50O31cbn1cbiIsIi8vIG1vYmlsZSBmaXJzdCBtb2Zvc1xuXG4vLyBkZWNsYXJlIHRoZSBwZXJjZW50YWdlXG4vLyB2YWx1ZSBvZiB0aGUgY29sdW1uIHdpZHRoc1xuLy8gdGhpcyB2YWx1ZSBjYW4gYmUgcmUtdXNlZCBmb3IgdGhlXG4vLyBvZmZzZXRzIGFuZCBjb2x1bW4gd2lkdGggZGVjbGFyYXRpb25zXG4kZGxjLTA6IDAlO1xuJGRsYy0xOiAxLzEyICogMTAwJTtcbiRkbGMtMjogMi8xMiAqIDEwMCU7XG4kZGxjLTM6IDMvMTIgKiAxMDAlO1xuJGRsYy00OiA0LzEyICogMTAwJTtcbiRkbGMtNTogNS8xMiAqIDEwMCU7XG4kZGxjLTY6IDYvMTIgKiAxMDAlO1xuJGRsYy03OiA3LzEyICogMTAwJTtcbiRkbGMtODogOC8xMiAqIDEwMCU7XG4kZGxjLTk6IDkvMTIgKiAxMDAlO1xuJGRsYy0xMDogMTAvMTIgKiAxMDAlO1xuJGRsYy0xMTogMTEvMTIgKiAxMDAlO1xuXG4kZ3V0dGVyLXdpZHRoOiAxNXB4O1xuXG4vLyA8LmRsLWNvbnRhaW5lcj4gICAgICAgICAgICB3aWxsIGdpdmUgYSBtYXggd2lkdGggY29udGFpbmVyXG4vLyA8LmRsLWNvbnRhaW5lciAuZmx1aWQ+ICAgICB3aWxsIGdpdmUgYSBmdWxsIHdpZHRoIGNvbnRhaW5lclxuLmRsLWNvbnRhaW5lcntcbiAgbWFyZ2luOjAgYXV0bztcbiAgcGFkZGluZzowICRndXR0ZXItd2lkdGg7XG5cdHdpZHRoOjEwMCU7XG5cdGRpc3BsYXk6YmxvY2s7XG5cdCY6bm90KC5mbHVpZCl7XG5cdFx0QGluY2x1ZGUgc2NyZWVuLXNte1xuXHRcdFx0d2lkdGg6NzUwcHhcblx0XHR9XG5cdFx0QGluY2x1ZGUgc2NyZWVuLW1ke1xuXHRcdFx0d2lkdGg6OTcwcHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIHNjcmVlbi1sZ3tcblx0XHRcdHdpZHRoOiAxMDAwcHhcblx0XHR9XG5cdH1cbn1cbi5kbC1yb3d7XG5cdGRpc3BsYXk6YmxvY2s7XG5cdG1hcmdpbi1sZWZ0OigtJGd1dHRlci13aWR0aCk7XG5cdG1hcmdpbi1yaWdodDooLSRndXR0ZXItd2lkdGgpO1xuXHRAZXh0ZW5kIC5jbGVhcmZpeDtcbn1cbi8vIGFueSBkaXYgd2l0aCBhIGNsYXNzIG5hbWUgcHJlZml4ZWQgYnkgZGxjLVxuW2NsYXNzKj1kbGMtXXtcbiAgcGFkZGluZzowICRndXR0ZXItd2lkdGg7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OjFweDtcbiAgbWF4LXdpZHRoOjEwMCU7XG4gIGZsb2F0OmxlZnQ7XG5cdHdpZHRoOjEwMCU7XG5cdGRpc3BsYXk6YmxvY2s7XG59XG5AaW5jbHVkZSBzY3JlZW4teHMtb25seXtcblx0Ly8gY29sdW1uIGRlZnNcblx0LmRsYy14cy0xMSwudGFibGUtY29sLnRhYmxlLWNvbC14cy0xMXt3aWR0aDokZGxjLTExO31cblx0LmRsYy14cy0xMCwudGFibGUtY29sLnRhYmxlLWNvbC14cy0xMHt3aWR0aDokZGxjLTEwO31cblx0LmRsYy14cy05LC50YWJsZS1jb2wudGFibGUtY29sLXhzLTl7d2lkdGg6JGRsYy05O31cblx0LmRsYy14cy04LC50YWJsZS1jb2wudGFibGUtY29sLXhzLTh7d2lkdGg6JGRsYy04O31cblx0LmRsYy14cy03LC50YWJsZS1jb2wudGFibGUtY29sLXhzLTd7d2lkdGg6JGRsYy03O31cblx0LmRsYy14cy02LC50YWJsZS1jb2wudGFibGUtY29sLXhzLTZ7d2lkdGg6JGRsYy02O31cblx0LmRsYy14cy01LC50YWJsZS1jb2wudGFibGUtY29sLXhzLTV7d2lkdGg6JGRsYy01O31cblx0LmRsYy14cy00LC50YWJsZS1jb2wudGFibGUtY29sLXhzLTR7d2lkdGg6JGRsYy00O31cblx0LmRsYy14cy0zLC50YWJsZS1jb2wudGFibGUtY29sLXhzLTN7d2lkdGg6JGRsYy0zO31cblx0LmRsYy14cy0yLC50YWJsZS1jb2wudGFibGUtY29sLXhzLTJ7d2lkdGg6JGRsYy0yO31cblx0LmRsYy14cy0xLC50YWJsZS1jb2wudGFibGUtY29sLXhzLTF7d2lkdGg6JGRsYy0xO31cblx0Ly8gb2Zmc2V0IGRlZnNcblx0LmRsYy1vZmZzZXQteHMtMTF7bWFyZ2luLWxlZnQ6JGRsYy0xMTt9XG5cdC5kbGMtb2Zmc2V0LXhzLTEwe21hcmdpbi1sZWZ0OiRkbGMtMTA7fVxuXHQuZGxjLW9mZnNldC14cy05e21hcmdpbi1sZWZ0OiRkbGMtOTt9XG5cdC5kbGMtb2Zmc2V0LXhzLTh7bWFyZ2luLWxlZnQ6JGRsYy04O31cblx0LmRsYy1vZmZzZXQteHMtN3ttYXJnaW4tbGVmdDokZGxjLTc7fVxuXHQuZGxjLW9mZnNldC14cy02e21hcmdpbi1sZWZ0OiRkbGMtNjt9XG5cdC5kbGMtb2Zmc2V0LXhzLTV7bWFyZ2luLWxlZnQ6JGRsYy01O31cblx0LmRsYy1vZmZzZXQteHMtNHttYXJnaW4tbGVmdDokZGxjLTQ7fVxuXHQuZGxjLW9mZnNldC14cy0ze21hcmdpbi1sZWZ0OiRkbGMtMzt9XG5cdC5kbGMtb2Zmc2V0LXhzLTJ7bWFyZ2luLWxlZnQ6JGRsYy0yO31cblx0LmRsYy1vZmZzZXQteHMtMXttYXJnaW4tbGVmdDokZGxjLTE7fVxufVxuQGluY2x1ZGUgc2NyZWVuLXNte1xuXHQvLyBjb2x1bW4gZGVmc1xuXHQuZGxjLXNtLTExLC50YWJsZS1jb2wudGFibGUtY29sLXNtLTExe3dpZHRoOiRkbGMtMTE7fVxuXHQuZGxjLXNtLTEwLC50YWJsZS1jb2wudGFibGUtY29sLXNtLTEwe3dpZHRoOiRkbGMtMTA7fVxuXHQuZGxjLXNtLTksLnRhYmxlLWNvbC50YWJsZS1jb2wtc20tOXt3aWR0aDokZGxjLTk7fVxuXHQuZGxjLXNtLTgsLnRhYmxlLWNvbC50YWJsZS1jb2wtc20tOHt3aWR0aDokZGxjLTg7fVxuXHQuZGxjLXNtLTcsLnRhYmxlLWNvbC50YWJsZS1jb2wtc20tN3t3aWR0aDokZGxjLTc7fVxuXHQuZGxjLXNtLTYsLnRhYmxlLWNvbC50YWJsZS1jb2wtc20tNnt3aWR0aDokZGxjLTY7fVxuXHQuZGxjLXNtLTUsLnRhYmxlLWNvbC50YWJsZS1jb2wtc20tNXt3aWR0aDokZGxjLTU7fVxuXHQuZGxjLXNtLTQsLnRhYmxlLWNvbC50YWJsZS1jb2wtc20tNHt3aWR0aDokZGxjLTQ7fVxuXHQuZGxjLXNtLTMsLnRhYmxlLWNvbC50YWJsZS1jb2wtc20tM3t3aWR0aDokZGxjLTM7fVxuXHQuZGxjLXNtLTIsLnRhYmxlLWNvbC50YWJsZS1jb2wtc20tMnt3aWR0aDokZGxjLTI7fVxuXHQuZGxjLXNtLTEsLnRhYmxlLWNvbC50YWJsZS1jb2wtc20tMXt3aWR0aDokZGxjLTE7fVxuXHQvLyBvZmZzZXQgZGVmc1xuXHQuZGxjLW9mZnNldC1zbS0xMXttYXJnaW4tbGVmdDokZGxjLTExO31cblx0LmRsYy1vZmZzZXQtc20tMTB7bWFyZ2luLWxlZnQ6JGRsYy0xMDt9XG5cdC5kbGMtb2Zmc2V0LXNtLTl7bWFyZ2luLWxlZnQ6JGRsYy05O31cblx0LmRsYy1vZmZzZXQtc20tOHttYXJnaW4tbGVmdDokZGxjLTg7fVxuXHQuZGxjLW9mZnNldC1zbS03e21hcmdpbi1sZWZ0OiRkbGMtNzt9XG5cdC5kbGMtb2Zmc2V0LXNtLTZ7bWFyZ2luLWxlZnQ6JGRsYy02O31cblx0LmRsYy1vZmZzZXQtc20tNXttYXJnaW4tbGVmdDokZGxjLTU7fVxuXHQuZGxjLW9mZnNldC1zbS00e21hcmdpbi1sZWZ0OiRkbGMtNDt9XG5cdC5kbGMtb2Zmc2V0LXNtLTN7bWFyZ2luLWxlZnQ6JGRsYy0zO31cblx0LmRsYy1vZmZzZXQtc20tMnttYXJnaW4tbGVmdDokZGxjLTI7fVxuXHQuZGxjLW9mZnNldC1zbS0xe21hcmdpbi1sZWZ0OiRkbGMtMTt9XG5cdC5kbGMtb2Zmc2V0LXNtLTB7bWFyZ2luLWxlZnQ6JGRsYy0wO31cblxuICAuZGxjLXNtLTE6bnRoLWNoaWxkKDEybisxKSxcbiAgLmRsYy1zbS0yOm50aC1jaGlsZCg2bisxKSxcbiAgLmRsYy1zbS0zOm50aC1jaGlsZCg0bisxKSxcbiAgLmRsYy1zbS00Om50aC1jaGlsZCgzbisxKSxcbiAgLmRsYy1zbS02Om50aC1jaGlsZCgybisxKXtjbGVhcjogbGVmdDt9XG5cbn1cblxuXG5cbkBpbmNsdWRlIHNjcmVlbi1tZHtcblx0LmRsYy1tZC0xMSwudGFibGUtY29sLnRhYmxlLWNvbC1tZC0xMXt3aWR0aDokZGxjLTExO31cblx0LmRsYy1tZC0xMCwudGFibGUtY29sLnRhYmxlLWNvbC1tZC0xMHt3aWR0aDokZGxjLTEwO31cblx0LmRsYy1tZC05LC50YWJsZS1jb2wudGFibGUtY29sLW1kLTl7d2lkdGg6JGRsYy05O31cblx0LmRsYy1tZC04LC50YWJsZS1jb2wudGFibGUtY29sLW1kLTh7d2lkdGg6JGRsYy04O31cblx0LmRsYy1tZC03LC50YWJsZS1jb2wudGFibGUtY29sLW1kLTd7d2lkdGg6JGRsYy03O31cblx0LmRsYy1tZC02LC50YWJsZS1jb2wudGFibGUtY29sLW1kLTZ7d2lkdGg6JGRsYy02O31cblx0LmRsYy1tZC01LC50YWJsZS1jb2wudGFibGUtY29sLW1kLTV7d2lkdGg6JGRsYy01O31cblx0LmRsYy1tZC00LC50YWJsZS1jb2wudGFibGUtY29sLW1kLTR7d2lkdGg6JGRsYy00O31cblx0LmRsYy1tZC0zLC50YWJsZS1jb2wudGFibGUtY29sLW1kLTN7d2lkdGg6JGRsYy0zO31cblx0LmRsYy1tZC0yLC50YWJsZS1jb2wudGFibGUtY29sLW1kLTJ7d2lkdGg6JGRsYy0yO31cblx0LmRsYy1tZC0xLC50YWJsZS1jb2wudGFibGUtY29sLW1kLTF7d2lkdGg6JGRsYy0xO31cblx0Ly8gb2Zmc2V0IGRlZnNcblx0LmRsYy1vZmZzZXQtbWQtMTF7bWFyZ2luLWxlZnQ6JGRsYy0xMTt9XG5cdC5kbGMtb2Zmc2V0LW1kLTEwe21hcmdpbi1sZWZ0OiRkbGMtMTA7fVxuXHQuZGxjLW9mZnNldC1tZC05e21hcmdpbi1sZWZ0OiRkbGMtOTt9XG5cdC5kbGMtb2Zmc2V0LW1kLTh7bWFyZ2luLWxlZnQ6JGRsYy04O31cblx0LmRsYy1vZmZzZXQtbWQtN3ttYXJnaW4tbGVmdDokZGxjLTc7fVxuXHQuZGxjLW9mZnNldC1tZC02e21hcmdpbi1sZWZ0OiRkbGMtNjt9XG5cdC5kbGMtb2Zmc2V0LW1kLTV7bWFyZ2luLWxlZnQ6JGRsYy01O31cblx0LmRsYy1vZmZzZXQtbWQtNHttYXJnaW4tbGVmdDokZGxjLTQ7fVxuXHQuZGxjLW9mZnNldC1tZC0ze21hcmdpbi1sZWZ0OiRkbGMtMzt9XG5cdC5kbGMtb2Zmc2V0LW1kLTJ7bWFyZ2luLWxlZnQ6JGRsYy0yO31cblx0LmRsYy1vZmZzZXQtbWQtMXttYXJnaW4tbGVmdDokZGxjLTE7fVxuXHQuZGxjLW9mZnNldC1tZC0we21hcmdpbi1sZWZ0OiRkbGMtMDt9XG5cblx0LmRsYy1sZy0xOm50aC1jaGlsZCgxMm4rMSksXG5cdC5kbGMtbGctMjpudGgtY2hpbGQoNm4rMSksXG5cdC5kbGMtbGctMzpudGgtY2hpbGQoNG4rMSksXG5cdC5kbGMtbGctNDpudGgtY2hpbGQoM24rMSksXG5cdC5kbGMtbGctNjpudGgtY2hpbGQoMm4rMSksXG5cdC5kbGMtc20tMTpudGgtY2hpbGQoMTJuKzEpLFxuXHQuZGxjLXNtLTI6bnRoLWNoaWxkKDZuKzEpLFxuXHQuZGxjLXNtLTM6bnRoLWNoaWxkKDRuKzEpLFxuXHQuZGxjLXNtLTQ6bnRoLWNoaWxkKDNuKzEpLFxuXHQuZGxjLXNtLTY6bnRoLWNoaWxkKDJuKzEpe1xuXHRcdCZbY2xhc3MqPWRsYy1tZC1de2NsZWFyOiBub25lO31cblx0fVxuXG5cdC5kbGMtbWQtMTpudGgtY2hpbGQoMTJuKzEpLFxuXHQuZGxjLW1kLTI6bnRoLWNoaWxkKDZuKzEpLFxuXHQuZGxjLW1kLTM6bnRoLWNoaWxkKDRuKzEpLFxuXHQuZGxjLW1kLTQ6bnRoLWNoaWxkKDNuKzEpLFxuXHQuZGxjLW1kLTY6bnRoLWNoaWxkKDJuKzEpe2NsZWFyOiBsZWZ0O31cblxufVxuQGluY2x1ZGUgc2NyZWVuLWxne1xuXHQuZGxjLWxnLTExLC50YWJsZS1jb2wudGFibGUtY29sLWxnLTExe3dpZHRoOiRkbGMtMTE7fVxuXHQuZGxjLWxnLTEwLC50YWJsZS1jb2wudGFibGUtY29sLWxnLTEwe3dpZHRoOiRkbGMtMTA7fVxuXHQuZGxjLWxnLTksLnRhYmxlLWNvbC50YWJsZS1jb2wtbGctOXt3aWR0aDokZGxjLTk7fVxuXHQuZGxjLWxnLTgsLnRhYmxlLWNvbC50YWJsZS1jb2wtbGctOHt3aWR0aDokZGxjLTg7fVxuXHQuZGxjLWxnLTcsLnRhYmxlLWNvbC50YWJsZS1jb2wtbGctN3t3aWR0aDokZGxjLTc7fVxuXHQuZGxjLWxnLTYsLnRhYmxlLWNvbC50YWJsZS1jb2wtbGctNnt3aWR0aDokZGxjLTY7fVxuXHQuZGxjLWxnLTUsLnRhYmxlLWNvbC50YWJsZS1jb2wtbGctNXt3aWR0aDokZGxjLTU7fVxuXHQuZGxjLWxnLTQsLnRhYmxlLWNvbC50YWJsZS1jb2wtbGctNHt3aWR0aDokZGxjLTQ7fVxuXHQuZGxjLWxnLTMsLnRhYmxlLWNvbC50YWJsZS1jb2wtbGctM3t3aWR0aDokZGxjLTM7fVxuXHQuZGxjLWxnLTIsLnRhYmxlLWNvbC50YWJsZS1jb2wtbGctMnt3aWR0aDokZGxjLTI7fVxuXHQuZGxjLWxnLTEsLnRhYmxlLWNvbC50YWJsZS1jb2wtbGctMXt3aWR0aDokZGxjLTE7fVxuXHQvLyBvZmZzZXQgZGVmc1xuXHQuZGxjLW9mZnNldC1sZy0xMXttYXJnaW4tbGVmdDokZGxjLTExO31cblx0LmRsYy1vZmZzZXQtbGctMTB7bWFyZ2luLWxlZnQ6JGRsYy0xMDt9XG5cdC5kbGMtb2Zmc2V0LWxnLTl7bWFyZ2luLWxlZnQ6JGRsYy05O31cblx0LmRsYy1vZmZzZXQtbGctOHttYXJnaW4tbGVmdDokZGxjLTg7fVxuXHQuZGxjLW9mZnNldC1sZy03e21hcmdpbi1sZWZ0OiRkbGMtNzt9XG5cdC5kbGMtb2Zmc2V0LWxnLTZ7bWFyZ2luLWxlZnQ6JGRsYy02O31cblx0LmRsYy1vZmZzZXQtbGctNXttYXJnaW4tbGVmdDokZGxjLTU7fVxuXHQuZGxjLW9mZnNldC1sZy00e21hcmdpbi1sZWZ0OiRkbGMtNDt9XG5cdC5kbGMtb2Zmc2V0LWxnLTN7bWFyZ2luLWxlZnQ6JGRsYy0zO31cblx0LmRsYy1vZmZzZXQtbGctMnttYXJnaW4tbGVmdDokZGxjLTI7fVxuXHQuZGxjLW9mZnNldC1sZy0xe21hcmdpbi1sZWZ0OiRkbGMtMTt9XG5cdC5kbGMtb2Zmc2V0LWxnLTB7bWFyZ2luLWxlZnQ6JGRsYy0wO31cblxuICAuZGxjLW1kLTE6bnRoLWNoaWxkKDEybisxKSxcbiAgLmRsYy1tZC0yOm50aC1jaGlsZCg2bisxKSxcbiAgLmRsYy1tZC0zOm50aC1jaGlsZCg0bisxKSxcbiAgLmRsYy1tZC00Om50aC1jaGlsZCgzbisxKSxcbiAgLmRsYy1tZC02Om50aC1jaGlsZCgybisxKSxcbiAgLmRsYy1zbS0xOm50aC1jaGlsZCgxMm4rMSksXG4gIC5kbGMtc20tMjpudGgtY2hpbGQoNm4rMSksXG4gIC5kbGMtc20tMzpudGgtY2hpbGQoNG4rMSksXG4gIC5kbGMtc20tNDpudGgtY2hpbGQoM24rMSksXG4gIC5kbGMtc20tNjpudGgtY2hpbGQoMm4rMSl7XG4gIFx0JltjbGFzcyo9ZGxjLWxnLV17Y2xlYXI6IG5vbmU7fVxuICB9XG5cblx0LmRsYy1sZy0xOm50aC1jaGlsZCgxMm4rMSksXG5cdC5kbGMtbGctMjpudGgtY2hpbGQoNm4rMSksXG5cdC5kbGMtbGctMzpudGgtY2hpbGQoNG4rMSksXG5cdC5kbGMtbGctNDpudGgtY2hpbGQoM24rMSksXG5cdC5kbGMtbGctNjpudGgtY2hpbGQoMm4rMSl7Y2xlYXI6IGxlZnQ7fVxufVxuIiwiLy8gdGhlIG9yaWdpbmFsIGludGVudCBvZiB0aGlzIHN0eWxlLXNldDpcbi8vIHdoZW4gc29tZXRoaW5nIG5lZWRzIHRvIG1haW50YWluIGEgY29sdW1uIGJhc2VkXG4vLyBkaXNwbGF5LCBidXQgQUxTTyBuZWVkcyB0aGUgZHluYW1pYyBjb250ZW50IGluIGVhY2ggY29udGVudFxuLy8gdG8gYmUgdmVydGljYWxseSBhbGlnbmVkLiBCYXNpY2FsbHkgbWltaWMgdGhlIGRsLWdyaWQgcm93L2NvbCBzZXR1cFxuLy8gYnV0IHdpdGggY3NzIHRhYmxlIGVsZW1lbnRzIGluc3RlYWRcbi5kbC10YWJsZXtcbiAgd2lkdGg6MTAwJTtcbiAgZGlzcGxheTpibG9jaztcbiAgQGluY2x1ZGUgc2NyZWVuLXNte1xuICAgIGRpc3BsYXk6dGFibGU7XG4gIH1cbn1cbi50YWJsZS1yb3csXG4udGFibGUtaGVhZHtcbiAgZGlzcGxheTp0YWJsZS1yb3c7XG59XG4udGFibGUtY29se1xuICBkaXNwbGF5OmJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG4gIHBhZGRpbmc6MCAxNXB4O1xuICB3aWR0aDoxMDAlO1xuICBAaW5jbHVkZSBzY3JlZW4tc217XG4gICAgZGlzcGxheTp0YWJsZS1jZWxsO1xuICB9XG59XG4iLCIvLyBiZWdpbiBtb2RhbCBiYXNlIHN0eWxlc1xuLmRsTW9kYWx7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgbGVmdDotOTk5OXB4O1xuICAgIG9wYWNpdHk6MDtcbiAgICB3aWR0aDowO1xuICAgIGhlaWdodDowO1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAuZGxNb2RhbC1ib2R5eyAgICBcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBib3gtc2hhZG93OiAxcHggMnB4IDEwcHggMnB4IHJnYmEoMCwwLDAsLjgpO1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6bm9uZTtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICB9XG4gICAgLmRsTW9kYWwtY2xvc2UtYnRue1xuICAgICAgICBib3JkZXI6MDtcbiAgICAgICAgd2lkdGg6MzBweDtcbiAgICAgICAgaGVpZ2h0OjMwcHg7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICB0b3A6LThweDtcbiAgICAgICAgcmlnaHQ6LThweDtcbiAgICAgICAgY29sb3I6I2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZDojYjgxYTFlO1xuICAgICAgICBjdXJzb3I6cG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiA4NSU7XG4gICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSgje3RyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApIHJvdGF0ZSg0NWRlZyl9KTtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKCN7dHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCkgcm90YXRlKDEzNWRlZyl9KTtcbiAgICAgICAgfSAgICAgICAgXG4gICAgfVxufVxuLmRsTW9kYWwuYWN0aXZle1xuICAgIHBvc2l0aW9uOmZpeGVkO1xuICAgIHotaW5kZXg6MTA7XG4gICAgb3BhY2l0eToxO1xuXHRsZWZ0OjA7XG5cdHRvcDowO1xuXHRoZWlnaHQ6YXV0bztcblx0d2lkdGg6MTAwdnc7XG5cdG92ZXJmbG93OnZpc2libGU7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAuNXMgZWFzZSk7XG4gICAgLmRsTW9kYWwtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICB9XG4gICAgLmRsTW9kYWwtaGVhZGVye1xuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbToxNXB4O1xuICAgIH1cbiAgICAuZGxNb2RhbC1jb250ZW50e1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgJi5kbE1vZGFsLWNvbnRlbnQtaWZyYW1le1xuXHRcdCAgICBwYWRkaW5nLWJvdHRvbTo1Ni4yNSU7XG4gICAgICAgICAgICBpZnJhbWV7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgICB9XG4gICAgXHR9XG4gICAgfSAgICBcbn1cbiNkbE1vZGFsT3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6OTtcbiAgICB0b3A6IC05OTlweDtcbiAgICBsZWZ0OiAtOTk5cHg7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC42MCk7XG4gICAgb3BhY2l0eTowO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAuNXMgZWFzZSk7XG59XG5cbi5kbE1vZGFsT3BlbiAjZGxNb2RhbE92ZXJsYXl7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBsZWZ0OjUwJTtcbiAgICB0b3A6NTAlO1xuICAgIG9wYWNpdHk6MTtcbn1cbmJvZHkuZGxNb2RhbE9wZW57XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xufVxuI3Rlcm1zLWFuZC1wcml2YWN5e1xuICAgIG1heC1oZWlnaHQ6NzB2aDtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIEBpbmNsdWRlIHNjcmVlbi1zbXtcbiAgICAgICAgbWF4LWhlaWdodDogNDgwcHg7XG4gICAgfVxufSIsIi5kbE1vZGFse1xuICAgIC5tZXNzYWdlLWJsb2Nre1xuICAgICAgICB1bCwgbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgICAgICBmb250LWZhbWlseTogJHNlcmlmLXN0YWNrO1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgICBjb2xvcjokYnJhbmQtZ3JlZW4tZGFyaztcbiAgICB9XG4gICAgJi5hY3RpdmV7XG4gICAgICAgIC5kbE1vZGFsLXdyYXBwZXJ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgICAgICB9XG4gICAgICAgIC5kbE1vZGFsLWJvZHl7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuYnV0dG9uLnNzLW1lc3NhZ2UtdHJpZ2dlcntcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGxlZnQ6IC05OTk5cHg7XG59IiwiLm5hdiB7XG4gICBwb3NpdGlvbjogZml4ZWQ7XG4gICB0b3A6IDA7XG4gICByaWdodDogMDtcbiAgIHdpZHRoOiAxMDAlO1xuICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OSwgNDksIDM2LCAwLjk4KTtcbiAgIHotaW5kZXg6IDk5OTk7XG4gICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2UpO1xuICAgQGluY2x1ZGUgdHJhbnNsYXRlKDAsIC0xMDAlKTsgXG4gICAvLyBAaW5jbHVkZSB0cmFuc2xhdGUoMCwgMCk7XG4gICAvL0B0b2RvWzJdOiB3ZSB3aWxsIHNldCBhIFwibmF2LXN0YXRlXCIgY2xhc3Mgb24gdGhlIGJvZHkgd2l0aCBqcy4gQnkgYWRkaW5nIHRoZSBjbGFzcyB0byB0aGUgYm9keSAtIHdlIGNhbiBhZmZlY3QgYW55IGVsZW1lbnQgd2l0aGluIHRoZSBib2R5IGJhc2VkIG9uIHRoZSBzdGF0ZS1jbGFzcy5cbiAgIC5uYXYtc3RhdGUtdmlzaWJsZSAme1xuICAgICAgLy8gdGhlICYgQUZURVIgdGhlIG5lc3RlZCBjbGFzcyBnZXRzIGludGVycG9sYXRlZCB0bzogLm5hdi1zdGF0ZS12aXNpYmxlIC5uYXZ7fSBcbiAgICAgIEBpbmNsdWRlIHNjcmVlbi1zbXtcbiAgICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgwLDApO1xuICAgICAgfVxuICAgfVxufVxuXG4ubmF2X19sb2dvLWxpbmt7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctdG9wOiA3cHg7XG59XG4ubmF2X19sb2dvIHtcbiAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgbWF4LXdpZHRoOjEwMCU7XG4gICBoZWlnaHQ6YXV0bztcbn1cblxuLm5hdl9fc2VjdGlvbnMtbGlua3Mge1xuICAgbWFyZ2luOiAwIDI1cHggMTFweCAwO1xuICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICBwYWRkaW5nOiAyMnB4IDAgNXB4IDA7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICBmbG9hdDogcmlnaHQ7XG4gICBib3JkZXItYm90dG9tOiA0cHggc29saWQgIzVhNGMzYTtcblxuICAgQGluY2x1ZGUgc2NyZWVuLW1kIHtcbiAgICAgIG1hcmdpbjogMCAyNXB4IDAgMDtcbiAgIH1cbn1cblxuLm5hdl9fc2VjdGlvbnMtbGlua3MgbGkge1xuICAgZGlzcGxheTogaW5saW5lO1xuICAgcGFkZGluZzogMDtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmN1cnJlbnQ6YWZ0ZXIge1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgY29udGVudDogXCJcIjtcbiAgIHRvcDogMjdweDtcbiAgIHJpZ2h0OiAwO1xuICAgd2lkdGg6IDA7XG4gICBoZWlnaHQ6IDRweDtcbiAgIGJhY2tncm91bmQtY29sb3I6ICNlYmU5ZGE7XG59XG5cbi5uYXZfX3NlY3Rpb25zLWxpbmtzIGxpe1xuICAgJjphZnRlcntcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB0b3A6IDI3cHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmU5ZGE7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoIC4zcyBlYXNlKTtcbiAgIH1cbiAgICYuY3VycmVudDphZnRlcntcbiAgICAgIHdpZHRoOjEwMCU7XG4gICB9XG4gfVxuXG4ubmF2X19zZWN0aW9ucy1saW5rcyBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbn1cblxuLm5hdl9fc2VjdGlvbnMtbGlua3MgbGkgYSB7XG4gICBmb250LXNpemU6IDEuMXJlbTtcbiAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgIGZvbnQtZmFtaWx5OiAkc2VyaWYtc3RhY2s7XG4gICBjb2xvcjogJGJyYW5kLXdoaXRlO1xuICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyBlYXNlKTtcblxuICAgQGluY2x1ZGUgc2NyZWVuLW1kIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgIH1cblxuICAgQGluY2x1ZGUgc2NyZWVuLWxnIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgfVxufVxuXG4ubmF2X19zZWN0aW9ucy1saW5rcyBsaSBhOmhvdmVyIHtcbiAgIGNvbG9yOiAkYnJhbmQteWVsbG93O1xufVxuXG4ubmF2X19jb250YWN0LWJsb2NrIHtcbiAgIGhlaWdodDogMTAwJTtcbiAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICBmb250LWZhbWlseTogJHNhbnMtc2VyaWYtc3RhY2s7XG4gICBmb250LXdlaWdodDogNzAwO1xuICAgY29sb3I6ICRicmFuZC13aGl0ZTtcbiAgIGZsb2F0OiByaWdodDtcbiAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubmF2X19jb250YWN0LWJsb2NrLXF1b3RlLFxuLm5hdl9fY29udGFjdC1ibG9jay1waG9uZSB7XG4gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgaGVpZ2h0OiA1MCU7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIGJhY2tncm91bmQtY29sb3I6ICM1YTRjM2E7XG4gICBAaW5jbHVkZSB0cmFuc2l0aW9uKCN7Y29sb3IgMC4zcyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZX0pO1xufVxuXG4ubmF2X19jb250YWN0LWJsb2NrLXF1b3RlOmhvdmVyLFxuLm5hdl9fY29udGFjdC1ibG9jay1waG9uZTpob3ZlciB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCM1YTRjM2EsIDAuNSk7XG59XG5cbi5uYXZfX2NvbnRhY3QtYmxvY2stcXVvdGUge1xuICAgYm9yZGVyOiAwO1xuICAgd2lkdGg6IDEwMCU7XG4gICBjdXJzb3I6IHBvaW50ZXI7XG4gICBjb2xvcjogJGJyYW5kLXllbGxvdztcbn1cblxuLm5hdl9fY29udGFjdC1ibG9jay1waG9uZSB7XG4gICBtYXJnaW4tdG9wOiAxcHg7XG4gICBjb2xvcjogJGJyYW5kLXdoaXRlO1xuICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuIiwiQGltcG9ydCAnc3BsYXNoJztcbkBpbXBvcnQgJ3NwbGFzaC1zZXJ2aWNlcyc7XG5AaW1wb3J0ICdhYm91dC1qb2UnO1xuQGltcG9ydCAnc2VydmljZXMnO1xuQGltcG9ydCAndGVzdGltb25pYWxzJztcbkBpbXBvcnQgJ2NlcnRpZmljYXRpb25zJztcbkBpbXBvcnQgJ3NlcnZpY2UtbG9jYXRpb25zJztcbkBpbXBvcnQgJ2N0YSc7XG5AaW1wb3J0ICdza3lsaW5lJztcbkBpbXBvcnQgJ2Zvb3Rlcic7XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICBTUExBU0hcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5zcGxhc2gge1xuICAgbWluLWhlaWdodDogMTAwdmg7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICBiYWNrZ3JvdW5kOlxuICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgIHJnYmEoIzAwMCwgLjIpLFxuICAgICAgcmdiYSgjMDAwLCAuMilcbiAgICApLFxuICAgdXJsKCcuLi9pbWFnZXMvc3BsYXNoLWJnLmpwZycpO1xuICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcbiAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgIEBpbmNsdWRlIHNjcmVlbi1zbSB7XG4gICAgICBtaW4taGVpZ2h0OiA3NXZoO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMjdweCBzb2xpZCAkYnJhbmQteWVsbG93O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgIH1cbn1cblxuLnNwbGFzaF9fbG9nbyB7XG4gICB3aWR0aDogMTUwcHg7XG4gICBtYXJnaW46IDAgYXV0bztcbiAgIGRpc3BsYXk6IGJsb2NrO1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICB6LWluZGV4OiAyO1xuXG4gICBAaW5jbHVkZSBzY3JlZW4tc20ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgfVxufVxuXG4uc3BsYXNoX19iZWFyIHtcbiAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgIEBpbmNsdWRlIHNjcmVlbi1zbSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIH1cbn1cblxuLnNwbGFzaF9fYmVhci1iZWFyIHtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIHRvcDogMDtcbiAgIGxlZnQ6IDUwJTtcbiAgIHdpZHRoOiA5NXZ3O1xuICAgei1pbmRleDogMTtcbiAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgtNDAlLCAtOCUpO1xuXG4gICBAaW5jbHVkZSBzY3JlZW4tbWQge1xuICAgICAgd2lkdGg6IDE1MCU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoLTQwJSwgLTE3JSk7XG4gICB9XG5cbiAgIEBpbmNsdWRlIHNjcmVlbi1sZyB7XG4gICAgICB3aWR0aDogMTUwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgtNDUlLCAtMTIlKTtcbiAgIH1cbn1cblxuLnNwbGFzaF9fY29udGVudCB7XG4gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICB6LWluZGV4OiAyO1xuXG4gICBAaW5jbHVkZSBzY3JlZW4tc20ge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1pbi1oZWlnaHQ6IDUwdmg7XG4gICB9XG59XG5cbi5zcGxhc2hfX2NvbnRlbnQtd3JhcHBlciB7XG5cbiAgIEBpbmNsdWRlIHNjcmVlbi1zbSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKC00MCUpO1xuICAgfVxuXG4gICBAaW5jbHVkZSBzY3JlZW4tbWQge1xuICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtNTAlKTtcbiAgIH1cbn1cblxuLnNwbGFzaF9fY29udGVudC1oZWFkZXIge1xuICAgZm9udC1mYW1pbHk6ICRzZXJpZi1zdGFjaztcbiAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICBjb2xvcjogJGJyYW5kLXllbGxvdztcbiAgIHRleHQtc2hhZG93OiAzcHggM3B4IDNweCByZ2JhKCMwMDAsIDAuNSk7XG5cbiAgIEBpbmNsdWRlIHNjcmVlbi1zbSB7XG4gICAgICBmb250LXNpemU6IDQuOHJlbTtcbiAgIH1cblxuICAgQGluY2x1ZGUgc2NyZWVuLWxnIHtcbiAgICAgIGZvbnQtc2l6ZTogNS41cmVtO1xuICAgfVxufVxuXG4uc3BsYXNoX19jb250ZW50LXBhcmFncmFwaCB7XG4gICBjb2xvcjogJGJyYW5kLXdoaXRlO1xuICAgZm9udC1zaXplOiAxLjZyZW07XG4gICBmb250LXdlaWdodDogOTAwO1xuXG4gICBAaW5jbHVkZSBzY3JlZW4tc20ge1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICB9XG59XG5cbi5zcGxhc2hfX2NvbnRhY3Qge1xuICAgd2lkdGg6IDE3NXB4O1xuICAgZm9udC1zaXplOiAxLjhyZW07XG4gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICBmb250LXNpemU6IDEuOHJlbTtcbiAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICBjb2xvcjogJGJyYW5kLXdoaXRlO1xuICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgIHBhZGRpbmc6MjBweCAwO1xuICAgbWFyZ2luOiAwIGF1dG87XG4gICBAaW5jbHVkZSBzY3JlZW4tc20ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAyMHB4O1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIHBhZGRpbmc6MCAyMHB4IDAgMDtcbiAgICAgIG1hcmdpbjogMDsgICAgICBcbiAgICAgIGhlaWdodDogMTI1cHg7XG4gICAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgIH1cbn1cblxuLnNwbGFzaF9fY29udGFjdC1xdW90ZS1idXR0b24ge1xuICAgcGFkZGluZzogOHB4IDEycHg7XG4gICBib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtd2hpdGU7XG4gICBjb2xvcjogJGJyYW5kLXllbGxvdztcbiAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgIGRpc3BsYXk6IGJsb2NrO1xuICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyBlYXNlKTtcbn1cblxuLnNwbGFzaF9fY29udGFjdC1xdW90ZS1idXR0b246aG92ZXIge1xuICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXdoaXRlO1xuICAgY29sb3I6ICRicmFuZC1ncmVlbjtcbn1cblxuLnNwbGFzaF9fY29udGFjdC1waG9uZS1udW1iZXIge1xuICAgbWFyZ2luLXRvcDogNXB4O1xuICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgY29sb3I6ICRicmFuZC13aGl0ZTtcbn1cbiIsIi5zcGxhc2hfX3NlcnZpY2VzIHtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIHotaW5kZXg6IDI7XG5cbiAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDI1dmg7XG4gICB9XG59XG5cbi5zcGxhc2hfX3NlcnZpY2VzLXNlcnZpY2Uge1xuICAgcGFkZGluZzogMTVweDtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1ncmVlbjtcbiAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlO1xuICAgY3Vyc29yOiBwb2ludGVyO1xuICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIDAuM3MgZWFzZSk7XG5cbiAgIEBpbmNsdWRlIHNjcmVlbi1zbSB7XG4gICAgICBoZWlnaHQ6IDI1dmg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgfVxuICAgXG59XG4uc2VydmljZXtcbiAgICYtLXRyZWUtcmVtb3ZhbHtcbiAgICAgIEBleHRlbmQgLnNlcnZpY2VzX190cmVlLXJlbW92YWw7XG4gICB9XG4gICAmLS1zdHVtcC1ncmluZGluZ3tcbiAgICAgIEBleHRlbmQgLnNlcnZpY2VzX19zdHVtcC1ncmluZGluZztcbiAgIH1cbiAgICYtLXRyZWUtcHJ1bmluZ3tcbiAgICAgIEBleHRlbmQgLnNlcnZpY2VzX190cmVlLXBydW5pbmc7XG4gICB9XG4gICAmLS1sYW5kLWNsZWFyaW5ne1xuICAgICAgQGV4dGVuZCAuc2VydmljZXNfX2xhbmQtY2xlYXJpbmc7XG4gICB9XG59XG4vL0B0b2RvWzRdOiB0YXJnZXQgdGhlIHNwbGFzaF9fc2VydmljZXMtc2VydmljZSB3aXRoIHRoZSBhY3RpdmUgY2xhc3MoYXBwZW5kZWQgaW4ganMgYWZ0ZXIgMjc1bXMpIHdoaWxlIGl0IGhhcyB0aGUgOmhvdmVyIHBzZXVkbyBzdGF0ZVxuLnNwbGFzaF9fc2VydmljZXMtc2VydmljZS5hY3RpdmU6aG92ZXIgLnNwbGFzaF9fc2VydmljZS13cmFwcGVyLFxuLnNwbGFzaF9fc2VydmljZXMtc2VydmljZS5hY3RpdmU6aG92ZXIgLnNwbGFzaF9fc2VydmljZS1kZXNjcmlwdGlvbiB7XG4gICBAaW5jbHVkZSBzY3JlZW4tc217XG4gICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoMCwgLTEwMCUpO1xuICAgfVxufVxuXG4uc3BsYXNoX19zZXJ2aWNlcy1zZXJ2aWNle1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGJyYW5kLXdoaXRlO1xuXG4gICBAaW5jbHVkZSBzY3JlZW4tc20ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRicmFuZC13aGl0ZTtcbiAgIH1cbn1cblxuLnNwbGFzaF9fc2VydmljZS13cmFwcGVyIHtcbiAgIEBpbmNsdWRlIHNjcmVlbi14cy1vbmx5e1xuICAgICAgbWFyZ2luOiAyMHB4O1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgJGJyYW5kLXdoaXRlO1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgICBcbiAgIH1cbiAgIEBpbmNsdWRlIHNjcmVlbi1zbSB7XG4gICAgICBoZWlnaHQ6IDI1dmg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIDAuM3MgZWFzZSk7XG4gICB9XG59XG4uc3BsYXNoX19zZXJ2aWNlLWNvbnRlbnQge1xuICAgQGluY2x1ZGUgc2NyZWVuLXNtIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgd29yZC1zcGFjaW5nOjE3NXB4O1xuICAgICAgcGFkZGluZzoxNXB4O1xuICAgICAgYm9yZGVyOjNweCBzb2xpZCAkYnJhbmQtd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOjVweDtcbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgIH1cbn1cblxuLnNwbGFzaF9fc2VydmljZS1kZXNjcmlwdGlvbiB7XG4gICBkaXNwbGF5OiBub25lO1xuXG4gICBAaW5jbHVkZSBzY3JlZW4tc20ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtZ3JlZW4tZGFyaztcbiAgICAgIGhlaWdodDogMjV2aDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMjVweCAyMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKDAsIDIwMCUpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gMC4zcyBlYXNlKTtcbiAgIH1cbn1cblxuLnNwbGFzaF9fc2VydmljZXMtZGVzY3JpcHRpb24tcGFyYWdyYXBoIHtcbiAgIGNvbG9yOiAkYnJhbmQtd2hpdGU7XG4gICBtYXJnaW46IDA7XG4gICBmb250LXNpemU6MWVtO1xuICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICB3aWR0aDoxMDAlO1xuICAgcGFkZGluZzowIDEuNXJlbTtcbiAgIHRvcDpjYWxjKDUwJSAtIDEuNXJlbSk7XG4gICBsZWZ0OjA7XG4gICBAaW5jbHVkZSB0cmFuc2xhdGVZKC01MCUpO1xuICAgQGluY2x1ZGUgc2NyZWVuLWxne1xuICAgICBmb250LXNpemU6MS4yZW07XG4gICB9XG59XG5cbi5zcGxhc2hfX3NlcnZpY2VzLWRlc2NyaXB0aW9uLWJ1dHRvbiB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICBib3R0b206IDA7XG4gICBsZWZ0OiAwO1xuICAgd2lkdGg6IDEwMCU7XG4gICBwYWRkaW5nOiA4cHggMDtcbiAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgYmFja2dyb3VuZDogJGJyYW5kLXllbGxvdztcbiAgIGNvbG9yOiAkYnJhbmQtZ3JlZW4tZGFyaztcbiAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgIGZvbnQtZmFtaWx5OiAkc2VyaWYtc3RhY2s7XG59XG4uc21vb3RoLXNjcm9sbC1hbmNob3ItLW1vYmlsZXtcbiAgIGRpc3BsYXk6YmxvY2s7XG4gICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgIHRvcDowO1xuICAgbGVmdDowO1xuICAgei1pbmRleDozO1xuICAgd2lkdGg6MTAwJTtcbiAgIGhlaWdodDoxMDAlO1xuICAgdGV4dC1pbmRlbnQ6LTk5OTlweDtcbiAgIG92ZXJmbG93OmhpZGRlbjtcbiAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICBAaW5jbHVkZSBzY3JlZW4tc217XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICB9XG59XG5cbi5zcGxhc2hfX3NlcnZpY2VzLXNlcnZpY2UtaWNvbiB7XG4gICB3aWR0aDogNDBweDtcbiAgIGhlaWdodDogNDBweDtcbiAgIGJhY2tncm91bmQ6ICRicmFuZC13aGl0ZTtcbiAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgIGZsb2F0OiBsZWZ0O1xuXG4gICBAaW5jbHVkZSBzY3JlZW4tc20ge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgfVxufVxuXG4uc3BsYXNoX19zZXJ2aWNlcy1zZXJ2aWNlLXRpdGxlIHtcbiAgIGNvbG9yOiAkYnJhbmQtd2hpdGU7XG4gICBmb250LXNpemU6IDIuMnJlbTtcbiAgIGZvbnQtZmFtaWx5OiAnUGF0dWEgT25lJywgc2Fucy1zZXJpZjtcbiAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgbWFyZ2luOjA7XG4gICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgIEBpbmNsdWRlIHNjcmVlbi1zbSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgIH1cbn1cblxuLnNwbGFzaF9fc2VydmljZXMtc2VydmljZS1hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0Oi0xLjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDkwZGVnKTtcbiAgIEBpbmNsdWRlIHNjcmVlbi1zbSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgfVxufVxuXG5cbi5zZXJ2aWNlLXNsaWRlLWRvd24tb3V0IHtcbiAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbn1cblxuLnNwbGFzaF9fc2VydmljZS1hY3RpdmUge1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgaGVpZ2h0OiAxMDAlO1xuICAgYmFja2dyb3VuZDogcmVkO1xuICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gMC4zcyBlYXNlKTtcbn1cblxuLmJ1dHRvbi1sZWFybi1tb3JlIHtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIGJvdHRvbTogMDtcbiAgIGxlZnQ6IDA7XG4gICB3aWR0aDogMTAwJTtcbiAgIHBhZGRpbmc6IDEwcHg7XG59XG5cbi5zZXJ2aWNlLXNsaWRlLWRvd24taW4ge1xuICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgTUVFVCBKT0VcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5tZWV0LWpvZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgLy9AdG9kbzogdXBkYXRlZCBwYWRkaW5nIGZyb20gYmVpbmcgb24gLm1lZXQtam9lIHRvIC5tZWV0LWpvZSAuZGwtY29udGFpbmVyIFxuICAgLy9jYWxjdWxhdGluZyB0aGUgaGVpZ2h0IG9mIHRoZSBtZWV0LWpvZSBzZWN0aW9uIGZvciB0aGUgYWN0aXZlIG5hdiBpdGVtIGdldHMgZnVua3kgb3RoZXJ3aXNlXG4gICAvL2N1eiBwYWRkaW5nIGFsd2F5cyBmdWNrcyB3aXRoIGpzIGZvciBzb21lIHJlYXNvblxuICAgLmRsLWNvbnRhaW5lcntcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICBAaW5jbHVkZSBzY3JlZW4tbWQge1xuICAgICAgICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgICAgfVxuICAgfVxufVxuXG4ubWVldC1qb2VfX2pvZSB7XG4gICBkaXNwbGF5Om5vbmU7XG4gICBAaW5jbHVkZSBzY3JlZW4tc217XG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgIG1heC13aWR0aDoxMDAlO1xuICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICBtYXgtaGVpZ2h0OjEwMCU7XG4gICB9XG59XG5cbi5tZWV0LWpvZV9faGVhZGVyIHtcbiAgIGZvbnQtc2l6ZTogMy42cmVtO1xuICAgcGFkZGluZzogMDtcbiAgIG1hcmdpbjogMDtcbiAgIGZvbnQtZmFtaWx5OiAnUGF0dWEgT25lJywgc2Fucy1zZXJpZjtcbiAgIGNvbG9yOiAkYnJhbmQtZ3JlZW47XG59XG5cbi5tZWV0LWpvZV9fcGFyYWdyYXBoIHtcbiAgIGNvbG9yOiAkYnJhbmQtZ3JlZW47XG4gICBmb250LXNpemU6IDEuOHJlbTtcbiAgIG1hcmdpbjogMjBweCAwIDAgMDtcbn1cblxuLm1lZXQtam9lX19saXN0IHtcbiAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICBtYXJnaW46IDMwcHggMCAwIDEwcHg7XG4gICBwYWRkaW5nOiAwO1xufVxuXG4ubWVldC1qb2VfX2xpc3QgbGkge1xuICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvaWNvbi10cmVlLXJpbmcuc3ZnJykgbm8tcmVwZWF0IGxlZnQ7XG4gICBiYWNrZ3JvdW5kLXNpemU6IDIycHg7XG4gICBwYWRkaW5nOiAwIDAgMCAzMHB4O1xuICAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICAgY29sb3I6ICRicmFuZC1ncmVlbjtcbiAgIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICBTRVJWSUNFU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5zZXJ2aWNlc19fc2VydmljZSB7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2VydmljZXNfX3NlcnZpY2UtdGl0bGUge1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgdG9wOiAwO1xuICAgbGVmdDogMDtcblxuICAgQGluY2x1ZGUgc2NyZWVuLXNtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIH1cbn1cblxuLnNlcnZpY2VzX19sYW5kLWNsZWFyaW5nIHtcbiAgIGJhY2tncm91bmQ6XG4gICAgbGluZWFyLWdyYWRpZW50KFxuICAgICAgcmdiYSgjMDAwLCAuNSksXG4gICAgICByZ2JhKCMwMDAsIC41KVxuICAgICksXG4gICB1cmwoJy4uL2ltYWdlcy9sYW5kLWNsZWFyaW5nLmpwZycpO1xuICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5zZXJ2aWNlc19fdHJlZS1yZW1vdmFsIHtcbiAgIGJhY2tncm91bmQ6XG4gICAgbGluZWFyLWdyYWRpZW50KFxuICAgICAgcmdiYSgjMDAwLCAuNSksXG4gICAgICByZ2JhKCMwMDAsIC41KVxuICAgICksXG4gICB1cmwoJy4uL2ltYWdlcy9iZy10cmVlX3JlbW92YWwuanBnJyk7XG4gICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLnNlcnZpY2VzX19zdHVtcC1ncmluZGluZyB7XG4gICBiYWNrZ3JvdW5kOlxuICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgIHJnYmEoIzAwMCwgLjUpLFxuICAgICAgcmdiYSgjMDAwLCAuNSlcbiAgICApLFxuICAgdXJsKCcuLi9pbWFnZXMvYmctc3R1bXBfZ3JpbmRpbmcuanBnJyk7XG4gICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLnNlcnZpY2VzX190cmVlLXBydW5pbmcge1xuICAgYmFja2dyb3VuZDpcbiAgICBsaW5lYXItZ3JhZGllbnQoXG4gICAgICByZ2JhKCMwMDAsIC41KSxcbiAgICAgIHJnYmEoIzAwMCwgLjUpXG4gICAgKSxcbiAgIHVybCgnLi4vaW1hZ2VzL2JnLXRyZWVfcHJ1bmluZy5qcGcnKTtcbiAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4uc2VydmljZXNfX2xvZ2dpbmcge1xuICAgYmFja2dyb3VuZDpcbiAgICBsaW5lYXItZ3JhZGllbnQoXG4gICAgICByZ2JhKCMwMDAsIC41KSxcbiAgICAgIHJnYmEoIzAwMCwgLjUpXG4gICAgKSxcbiAgIHVybCgnLi4vaW1hZ2VzL2JnLWxvZ2dpbmcuanBnJyk7XG4gICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLnNlcnZpY2VzX19zZXJ2aWNlLXRpdGxlLWhlYWRlciB7XG4gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICBtYXJnaW46IDAgYXV0bztcbiAgIHBhZGRpbmc6IDA7XG5cbiAgICYgYnIge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgc2NyZWVuLXNtIHtcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICB9XG5cbiAgICYgaDMge1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgJGJyYW5kLXdoaXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgY29sb3I6ICRicmFuZC13aGl0ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnUGF0dWEgT25lJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuXG4gICAgICBAaW5jbHVkZSBzY3JlZW4tc20ge1xuICAgICAgICAgcGFkZGluZzogMjVweCAzNXB4O1xuICAgICAgICAgZm9udC1zaXplOiAzLjZyZW07XG4gICAgICB9XG4gICB9XG59XG5cbi5zZXJ2aWNlc19fc2VydmljZTpudGgtY2hpbGQob2RkKSAuc2VydmljZXNfX3NlcnZpY2UtdGl0bGUtaGVhZGVyIHtcbiAgIEBpbmNsdWRlIHNjcmVlbi1tZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgfVxufVxuXG4uc2VydmljZXNfX3NlcnZpY2U6bnRoLWNoaWxkKGV2ZW4pIC5zZXJ2aWNlc19fc2VydmljZS10aXRsZS1oZWFkZXIge1xuICAgQGluY2x1ZGUgc2NyZWVuLW1kIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgIH1cbn1cblxuLnNlcnZpY2VzX19zZXJ2aWNlLWNvbnRlbnQge1xuICAgQGluY2x1ZGUgc2NyZWVuLXhzLW9ubHkge1xuICAgICAgbWFyZ2luLXRvcDogMTAzcHggO1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgIH1cblxuICAgY29sb3I6ICNmZmY7XG4gICBwYWRkaW5nOiA1MHB4IDIwcHggNTBweCAyMHB4O1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgei1pbmRleDogMTA7XG5cbiAgIEBpbmNsdWRlIHNjcmVlbi1tZCB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDIwcHggNTBweCA1MHB4O1xuICAgfVxuXG4gICBAaW5jbHVkZSBzY3JlZW4tbGcge1xuICAgICAgcGFkZGluZzogNzVweCAyMHB4IDc1cHggNTBweDtcbiAgIH1cbn1cblxuLnNlcnZpY2VzX19zZXJ2aWNlLWNvbnRlbnQ6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgIGJhY2tncm91bmQ6ICRicmFuZC1ncmVlbjtcblxuICAgQGluY2x1ZGUgc2NyZWVuLXNtIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAyMHB4IHNvbGlkICRicmFuZC15ZWxsb3c7XG4gICB9XG5cbiAgIEBpbmNsdWRlIHNjcmVlbi1tZCB7XG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgIH1cbn1cblxuLnNlcnZpY2VzX19zZXJ2aWNlLWNvbnRlbnQ6bnRoLWNoaWxkKGV2ZW4pOmJlZm9yZSB7XG4gICBAaW5jbHVkZSBzY3JlZW4tbWQge1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDExMCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC15ZWxsb3c7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtMjVweDtcbiAgICAgIHRvcDogLTUlO1xuICAgICAgQGluY2x1ZGUgcm90YXRlKDUpO1xuICAgICAgei1pbmRleDogOTk5OTtcbiAgIH1cblxuICAgQGluY2x1ZGUgc2NyZWVuLWxnIHtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgbGVmdDogLTU1cHg7XG4gICAgICBAaW5jbHVkZSByb3RhdGUoMTApO1xuICAgfVxufVxuXG4uc2VydmljZXNfX3NlcnZpY2UtY29udGVudDpudGgtY2hpbGQoZXZlbik6YWZ0ZXIge1xuICAgQGluY2x1ZGUgc2NyZWVuLW1kIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtZ3JlZW47XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC01cHg7XG4gICAgICB0b3A6IC01JTtcbiAgICAgIGhlaWdodDogMTEwJTtcbiAgICAgIEBpbmNsdWRlIHJvdGF0ZSg1KTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgfVxuXG4gICBAaW5jbHVkZSBzY3JlZW4tbGcge1xuICAgICAgQGluY2x1ZGUgcm90YXRlKDEwKTtcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgbGVmdDogLTI1cHg7XG4gICB9XG59XG5cbi5zZXJ2aWNlc19fc2VydmljZS1jb250ZW50Om50aC1jaGlsZChvZGQpIHtcbiAgIGJhY2tncm91bmQ6ICMyODQ5Mzk7XG5cbiAgIEBpbmNsdWRlIHNjcmVlbi1zbSB7XG4gICAgICBib3JkZXItcmlnaHQ6IDIwcHggc29saWQgJGJyYW5kLXllbGxvdztcbiAgIH1cblxuICAgQGluY2x1ZGUgc2NyZWVuLW1kIHtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgIH1cbn1cblxuLnNlcnZpY2VzX19zZXJ2aWNlLWNvbnRlbnQ6bnRoLWNoaWxkKG9kZCk6YmVmb3JlIHtcbiAgIEBpbmNsdWRlIHNjcmVlbi1tZCB7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMTEwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXllbGxvdztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICAgIHRvcDogLTUlO1xuICAgICAgQGluY2x1ZGUgcm90YXRlKC01KTtcbiAgICAgIHotaW5kZXg6IDk5OTk7XG4gICB9XG5cbiAgIEBpbmNsdWRlIHNjcmVlbi1sZyB7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIHJpZ2h0OiAtNTVweDtcbiAgICAgIEBpbmNsdWRlIHJvdGF0ZSgtMTApO1xuICAgfVxufVxuXG4uc2VydmljZXNfX3NlcnZpY2UtY29udGVudDpudGgtY2hpbGQob2RkKTphZnRlciB7XG4gICBAaW5jbHVkZSBzY3JlZW4tbWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGJhY2tncm91bmQ6ICMyODQ5Mzk7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtNXB4O1xuICAgICAgdG9wOiAtNSU7XG4gICAgICBoZWlnaHQ6IDExMCU7XG4gICAgICBAaW5jbHVkZSByb3RhdGUoLTUpO1xuICAgICAgei1pbmRleDogLTE7XG4gICB9XG5cbiAgIEBpbmNsdWRlIHNjcmVlbi1sZyB7XG4gICAgICBAaW5jbHVkZSByb3RhdGUoLTEwKTtcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgfVxufVxuXG4uc2VydmljZXNfX3NlcnZpY2UtY29udGVudC1oZWFkZXIge1xuICAgZm9udC1mYW1pbHk6ICdQYXR1YSBPbmUnLCBzZXJpZjtcbiAgIGZvbnQtc2l6ZTogMi40cmVtO1xuXG4gICBAaW5jbHVkZSBzY3JlZW4tbWQge1xuICAgICAgZm9udC1zaXplOiAzLjZyZW07XG4gICB9XG59XG5cbi5zZXJ2aWNlc19fc2VydmljZS1jb250ZW50LXBhcmFncmFwaCB7XG4gICBmb250LXNpemU6IDEuNnJlbTtcbiAgIG1hcmdpbi10b3A6IDE1cHg7XG5cbiAgIEBpbmNsdWRlIHNjcmVlbi1tZCB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgfVxufVxuXG4uc2VydmljZXNfX3NlcnZpY2UtY29udGVudC1zdWJoZWFkZXIge1xuICAgbWFyZ2luOiAzMHB4IDAgMCAwO1xuICAgZm9udC1zaXplOiAxLjhyZW07XG4gICBmb250LXdlaWdodDogOTAwO1xuXG4gICBAaW5jbHVkZSBzY3JlZW4tbWQge1xuICAgICAgbWFyZ2luOiA1MHB4IDAgMCAwO1xuICAgfVxufVxuXG4uc2VydmljZXNfX3NlcnZpY2UtY29udGVudC1zZXJ2aWNlLWxpc3Qge1xuICAgbWFyZ2luOiAwO1xuICAgcGFkZGluZzogMDtcbiAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgIEBpbmNsdWRlIHNjcmVlbi1tZCB7XG4gICAgICBtYXJnaW46IDIwcHggMCAwIDA7XG4gICB9XG59XG5cbi5zZXJ2aWNlc19fc2VydmljZS1jb250ZW50LXNlcnZpY2UtbGlzdCBsaSB7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICBwYWRkaW5nOiA3cHggOHB4O1xuICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgY29sb3I6ICRicmFuZC1ncmVlbjtcbiAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICBtYXJnaW46IDhweCAwIDAgNXB4O1xuXG4gICAmIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgfVxuXG4gICBAaW5jbHVkZSBzY3JlZW4tbWQge1xuICAgICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgIH1cbn1cblxuLnNlcnZpY2VzX19zZXJ2aWNlLWNvbnRlbnQtc2VydmljZS1saXN0IGxpOmJlZm9yZSB7XG4gICBjb250ZW50OiBcIlwiO1xuICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXllbGxvdztcbiAgIGRpc3BsYXk6IGJsb2NrO1xuICAgd2lkdGg6IDEwMCU7XG4gICBoZWlnaHQ6IDEwMCU7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICB0b3A6IDA7XG4gICBsZWZ0OiAwO1xuICAgei1pbmRleDogMTtcbiAgIEBpbmNsdWRlIHNrZXcoLTE1LCAwKTtcbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gIFRFU1RJTU9OSUFMU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnRlc3RpbW9uaWFscyB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy93b29kLXBhdHRlcm4tYmcucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiA2MDBweDtcblxuICAgQGluY2x1ZGUgc2NyZWVuLXNtIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDM1MHB4O1xuICAgfVxufVxuXG4udGVzdGltb25pYWxzX19pbm5lciB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICB0b3A6IDUwJTtcbiAgIGxlZnQ6IDUwJTtcbiAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLnRlc3RpbW9uaWFsc19fcXVvdGUtdGV4dCB7XG4gICBmb250LWZhbWlseTogJ1BhdHVhIE9uZScsIHNhbnMtc2VyaWY7XG4gICBjb2xvcjogJGJyYW5kLXdoaXRlO1xuICAgbWF4LXdpZHRoOiA4MCU7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICBmb250LXNpemU6MnJlbTtcbiAgIEBpbmNsdWRlIHNjcmVlbi1zbXtcbiAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgfVxufVxuXG4udGVzdGltb25pYWxzX19xdW90ZS1uYW1lIHtcbiAgIG1hcmdpbjogMzBweCAwIDAgMDtcbiAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgY29sb3I6ICRicmFuZC15ZWxsb3c7XG4gICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgIGxldHRlci1zcGFjaW5nOiAzcHg7XG59XG5cbi50ZXN0aW1vbmlhbHMtc2xpY2sge1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgU0xJQ0sgQVJST1cgU1RZTEVTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uc2xpY2stYXJyb3cge1xuICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLWdyZWVuO1xuICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbi1hcnJvdy5zdmcnKTtcbiAgIGJhY2tncm91bmQtc2l6ZTogNTAlO1xuICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTUlIGNlbnRlcjtcbiAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICBoZWlnaHQ6IDYwcHg7XG4gICB3aWR0aDogNjBweDtcbiAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgYm9yZGVyOiBub25lO1xuICAgYm94LXNoYWRvdzogMCAzcHggMCAwICMwYjE4Mjg7XG4gICBjb250ZW50OiBcIlwiO1xuICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgIGN1cnNvcjogcG9pbnRlcjtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIHRvcDogNTAlO1xuICAgei1pbmRleDogMjtcbiAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UpO1xufVxuXG4uc2xpY2stcHJldiB7XG4gICBsZWZ0OiAxNXB4O1xuICAgYm94LXNoYWRvdzogMCAtM3B4IDAgMCAjMGIxODI4O1xuICAgLy8gQHRvZG86IHRoaXMgaXMgYSBjb25mdXNpbmcgb25lIGN1eiBvZiB0aGUgbWl4aW5cbiAgIC8vIHNpbmNlIHdlIGFyZSBwYXNzaW5nIGEgc3RyaW5nIHRoYXQgd2UgZG9uJ3Qgd2FudCB0byBldmFsdWF0ZSggdGhlICN7fSB0aGluZyApXG4gICAvLyB3ZSBoYXZlIHRvIHVzZSB0aGUgYWN0dWFsIHRyYW5zZm9ybSBwcm9wZXJ0aWVzIC0gd2hpY2ggaXMgZGlmZmVyZW50IHRoYW4gdGhlIG1peGluLi4uIEkgc2hvdWxkIGNoYW5nZSB0aGF0IGluIHRoZSBmcmFtZXdvcmsgZm9yIHRoZSBuZXh0IG9uZS4ganVzdCBmb3IgY29uc2lzdGVuY3lcbiAgIC8vIHRoZSBvbmx5IHByb2JsZW0gd2l0aCB0aGlzIHRoYXQgSSBjYW4gdGhpbmsgb2YgaXMgdGhhdCB3ZSB3b24ndCBoYXZlIHRoZSBicm93c2VyIHNwZWNpZmljIHRyYW5zZm9ybSBwcm9wZXJ0aWVzIGRlZmluZWQgLSBob3dldmVyLCBub24gcHJlZml4ZWQgdHJhbnNmb3JtcyB0b2RheSBcbiAgIC8vIGFyZSBzdXBwb3J0ZWQgYnkgZXZlcnkgY3VycmVudCBicm93c2VyIHZlcnNpb24gZXhjZXB0IGZvciBvcGVyYSBmdWNraW5nIG1pbmkgU01ILiBXaGljaCBkb2Vzbid0IHN1cHBvcnQgYW55IGtpbmQgb2YgdHJhbnNmb3JtcyBlaXRoZXIgd2F5IHNvIGZ1Y2sgZW0uXG4gICAvLyBub24tcHJlZml4ZWQgc3VwcG9ydCBzdGFydGluZzogaU9TIDkuMiB8IFNhZmFyaSA5IHwgQ2hyb21lIDM2IC0gYWxsIG90aGVyIGJyb3dzZXJzIGhhdmUgcHJvdmlkZWQgZnVsbCBzdXBwb3J0IGZvciBxdWl0ZSBhIHdoaWxlLiBTbyBJIHRoaW5rIHRoaXMgc2hvdWxkIGJlIGZpbmVcbiAgIC8vIGJ1dCB3ZSBjb3VsZCB1cGRhdGUgdGhlIHRyYW5zZm9ybSBtaXhpbiB0byBiZSBtb3JlIHJvYnVzdCAtIGxpa2UgZGVmaW5pbmcgbXVsdGlwbGUgdHJhbnNmb3JtcyB0aGF0IHdpbGwgc3RpbGwgZ2VuZXJhdGUgdGhlIHByZWZpeGVkIGF0dHJpYnV0ZXMsIGJ1dCBub3QgbmVjZXNzYXJ5IGZvciBub3dcbiAgIEBpbmNsdWRlIHRyYW5zZm9ybSgje3RyYW5zbGF0ZSgwLCAtNTAlKSByb3RhdGUoMTgwZGVnKX0pO1xufVxuXG4uc2xpY2stbmV4dCB7XG4gICByaWdodDogMTVweDtcbiAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgwLCAtNTAlKTtcbn1cblxuLnNsaWNrLWFycm93OmhvdmVyIHtcbiAgIGJhY2tncm91bmQtY29sb3I6ICMyMzQxMzI7XG59XG4vLyBAdG9kbzogY291bGQgbm90IGZpbmQgdGhlc2UgY2xhc3NlcyBpbiB0aGUgbWFya3VwIC0gaWYgaXQncyBubyBsb25nZXIgbmVjZXNzYXJ5LCB3ZSBzaG91bGQgZGVsZXRlIHRoZXNlIGxpbmVzXG4vLyAucHJldi1zbGljay1hcnJvdyxcbi8vIC5uZXh0LXNsaWNrLWFycm93IHtcbi8vICAgIHdpZHRoOiAzMHB4O1xuLy8gICAgaGVpZ2h0OiA0OXB4O1xuLy8gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICAgdG9wOiA1MCU7XG4vLyAgICBsZWZ0OiA1MCU7XG4vLyAgICBAaW5jbHVkZSB0cmFuc2xhdGUoLTQ1JSwgLTUwJSk7XG4vLyB9XG4vLyBAdG9kbzogY291bGQgbm90IGZpbmQgdGhpcyBjbGFzcyBpbiB0aGUgbWFya3VwIC0gaWYgaXQncyBubyBsb25nZXIgbmVjZXNzYXJ5LCB3ZSBzaG91bGQgZGVsZXRlIHRoZXNlIGxpbmVzXG4vLyAubmV4dC1zbGljay1hcnJvdyB7XG4vLyAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oI3t0cmFuc2xhdGUoLTYwJSwgLTUwJSkgcm90YXRlKDE4MCl9KTtcbi8vIH1cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gIFNMSUNLIERPVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5zbGljay1wYWdlLWRvdHMge1xuICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIHBhZGRpbmc6IDA7XG4gICBib3R0b206IDA7XG4gICBsZWZ0OiA1MCU7XG4gICBAaW5jbHVkZSB0cmFuc2xhdGUoLTUwJSwgNDAwJSk7XG5cbiAgIEBpbmNsdWRlIHNjcmVlbi1zbSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoLTUwJSwgMzI1JSk7XG4gICB9XG59XG5cbi5zbGljay1wYWdlLWRvdHMgbGkge1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgbWFyZ2luOiAwIDEwcHg7XG4gICBiYWNrZ3JvdW5kOiAkYnJhbmQtd2hpdGU7XG4gICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICB3aWR0aDogMjBweDtcbiAgIGhlaWdodDogMjBweDtcbn1cblxuLnNsaWNrLXBhZ2UtZG90cyBsaSBidXR0b24ge1xuICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNsaWNrLXBhZ2UtZG90cyBsaSB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1ncmVlbjtcbiAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZSk7XG4gICB9XG5cbiAgICYuc2xpY2stYWN0aXZlOmFmdGVyIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBoZWlnaHQ6IDUwJTtcbiAgIH1cbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gIENFUlRJRklDQVRJT05TXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uY2VydGlmaWNhdGlvbnMge1xuICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXdoaXRlO1xuICAgcGFkZGluZzogNTBweCAwO1xuXG4gICBAaW5jbHVkZSBzY3JlZW4tc20ge1xuICAgICAgcGFkZGluZzogMTAwcHggMDtcbiAgIH1cbn1cblxuLmNlcnRpZmljYXRpb25zX19jZXJ0aWZpY2F0aW9uOm50aC1jaGlsZCgyKSB7XG4gICBwYWRkaW5nOiA1MHB4IDA7XG5cbiAgIEBpbmNsdWRlIHNjcmVlbi1zbSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgfVxufVxuXG4uY2VydGlmaWNhdGlvbnNfX2NlcnRpZmljYXRpb24taWNvbiB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtZ3JlZW47XG4gICBjb2xvcjogJGJyYW5kLXdoaXRlO1xuICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgd2lkdGg6IDc1cHg7XG4gICBoZWlnaHQ6IDc1cHg7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICBpbWd7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgbWF4LXdpZHRoOjEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OjEwMCU7XG4gICAgICBwYWRkaW5nOjEwcHg7XG4gICB9XG59XG5cbi5jZXJ0aWZpY2F0aW9uc19fY2VydGlmaWNhdGlvbi10aXRsZSB7XG4gICBtYXJnaW46IDIwcHggMCAwIDA7XG4gICBmb250LWZhbWlseTogJ1BhdHVhIE9uZScsIHNhbnMtc2VyaWY7XG4gICBjb2xvcjogJGJyYW5kLWdyZWVuO1xuICAgZm9udC1zaXplOiAyLjJyZW07XG59XG5cbi5jZXJ0aWZpY2F0aW9uc19fY2VydGlmaWNhdGlvbi1wYXJhZ3JhcGgge1xuICAgbWFyZ2luOiAxNXB4IDAgMCAwO1xuICAgY29sb3I6ICRicmFuZC1ncmVlbjtcbiAgIGZvbnQtc2l6ZTogMS44cmVtO1xufVxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgUkFUSU5HUyBBTkQgUkVWSUVXU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnJhdGluZ3MtcmV2aWV3cyB7XG4gICBwYWRkaW5nOiA1MHB4IDA7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNkZmMyO1xuXG4gICAmIGltZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgIEBpbmNsdWRlIHNjcmVlbi1zbSB7XG4gICAgICAgICB3aWR0aDogMjc1cHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHNjcmVlbi1tZCB7XG4gICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHNjcmVlbi1sZyB7XG4gICAgICAgICB3aWR0aDogMjI1cHg7XG4gICAgICB9XG4gICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICBTRVJWSUNFIExPQ0FUSU9OU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuIC5zZXJ2aWNlLWxvY2F0aW9ucyB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjtcbiAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9sb2NhdGlvbi1iZy5qcGdcIikgY2VudGVyIGNlbnRlciBmaXhlZDtcbiAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICBwYWRkaW5nOjUwcHggMTVweDtcbn1cblxuLnNlcnZpY2UtbG9jYXRpb25zLXdyYXBwZXIge1xufVxuXG4uc2VydmljZS1sb2NhdGlvbnNfX2ljb24ge1xuICAgd2lkdGg6IDQ3cHg7XG59XG5cbi5zZXJ2aWNlLWxvY2F0aW9uc19faGVhZGVyIHtcbiAgIGZvbnQtZmFtaWx5OiAnUGF0dWEgT25lJywgc2Fucy1zZXJpZjtcbiAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgY29sb3I6ICRicmFuZC15ZWxsb3c7XG4gICBtYXJnaW46IDIwcHggMDtcbiAgIHRleHQtc2hhZG93OiAzcHggM3B4IDNweCByZ2JhKCMwMDAsIDAuMyk7XG59XG5cbi5zZXJ2aWNlLWxvY2F0aW9ucy1jaXRpZXMge1xuICAgbWFyZ2luOjAgYXV0bztcbiAgIHBhZGRpbmc6MDtcbiAgIG1heC13aWR0aDo1MDBweDtcbn1cblxuLnNlcnZpY2UtbG9jYXRpb25zLWNpdGllcyBsaSB7XG4gICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICBtYXJnaW46IDEwcHggMDtcbiAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgY29sb3I6ICRicmFuZC13aGl0ZTtcbiAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICBmb250LXdlaWdodDogNzAwO1xuICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgIHRleHQtc2hhZG93OiAzcHggM3B4IDNweCByZ2JhKCMwMDAsIDAuMyk7XG4gICBwYWRkaW5nOjA7XG4gICBkaXNwbGF5OmJsb2NrO1xuICAgJjpsYXN0LWNoaWxke1xuICAgICAgbWFyZ2luLXRvcDoyMHB4O1xuICAgICAgd2lkdGg6MTAwJTtcbiAgIH1cbiAgIEBpbmNsdWRlIHNjcmVlbi1zbSB7XG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOjQ1JTtcbiAgIH1cbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gIENBTEwtVE8tQUNUSU9OIC8gQ1RBXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uY3RhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtZ3JlZW4tZGFyaztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9iZWFyLWJnLnBuZycpIGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBwYWRkaW5nOiAxMjBweCAyMHB4O1xuXG4gICAgQGluY2x1ZGUgc2NyZWVuLW1kIHtcbiAgICAgIHBhZGRpbmc6IDE1MHB4IDIwcHg7XG4gICB9XG59XG5cbi5jdGFfX3ByaW1hcnkge1xuICAgZm9udC1zaXplOiAzLjZyZW07XG4gICBmb250LWZhbWlseTogJ1BhdHVhIE9uZScsIHNhbnMtc2VyaWY7XG4gICBjb2xvcjogJGJyYW5kLXdoaXRlO1xuICAgdGV4dC1zaGFkb3c6IDNweCAzcHggM3B4IHJnYmEoIzAwMCwgMC41KTtcbiAgIG1hcmdpbjogMDtcbn1cblxuLmN0YV9fc2Vjb25kYXJ5IHtcbiAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgY29sb3I6ICRicmFuZC13aGl0ZTtcbiAgIHRleHQtc2hhZG93OiAzcHggM3B4IDNweCByZ2JhKCMwMDAsIDAuNSk7XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICBDT05UQUNUXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uY29udGFjdCB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNkNmY0O1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgd2lkdGg6IDEwMCU7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xuICAgcGFkZGluZzogMTAwcHggMCAyMDBweCAwO1xufVxuXG4uY29udGFjdC1pbnRybyB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICB6LWluZGV4OiAxMDtcbn1cblxuLmNvbnRhY3QtaW50cm9fX3ByaW1hcnkge1xuICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgIGNvbG9yOiAkYnJhbmQtZ3JlZW4tZGFyaztcbiAgIGZvbnQtc2l6ZTogMS44cmVtO1xuXG4gICBAaW5jbHVkZSBzY3JlZW4tc20ge1xuICAgICAgZm9udC1zaXplOiAzLjZyZW07XG4gICB9XG59XG5cbi5jb250YWN0LWludHJvX19zZWNvbmRhcnkge1xuICAgZm9udC1mYW1pbHk6ICdQYXR1YSBPbmUnLCBzZXJpZjtcbiAgIGNvbG9yOiAkYnJhbmQtZ3JlZW4tZGFyaztcbiAgIGZvbnQtc2l6ZTogM3JlbTtcblxuICAgQGluY2x1ZGUgc2NyZWVuLXNtIHtcbiAgICAgIGZvbnQtc2l6ZTogNnJlbTtcbiAgIH1cbn1cblxuLmNvbnRhY3QtaW50cm9fX2VtZXJnZW5jeS1zZXJ2aWNlcyB7XG4gICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4gICBmb250LXdlaWdodDogOTAwO1xuICAgY29sb3I6ICRicmFuZC1ncmVlbi1kYXJrO1xuICAgZm9udC1zaXplOiAxLjJyZW07XG4gICBwYWRkaW5nOiAwIDEwcHg7XG4gICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgYmFja2dyb3VuZC1jb2xvcjogI2ViYjgxNDtcbiAgIGJvcmRlcjogM3B4IHNvbGlkICRicmFuZC1ncmVlbi1kYXJrO1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgei1pbmRleDogMTA7XG4gICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLmNvbnRhY3QtaW50cm9fX2VtZXJnZW5jeS1zZXJ2aWNlcy1pY29uIHtcbiAgIHdpZHRoOiAxOXB4O1xuICAgaGVpZ2h0OiAxNnB4O1xuICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbi1lbWVyZ2VuY3lfc2VydmljZXMuc3ZnJyk7XG4gICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgIGZsb2F0OiBsZWZ0O1xuICAgbWFyZ2luLXRvcDogOXB4O1xufVxuXG4uY29udGFjdC1pbnRyb19fZW1lcmdlbmN5LXNlcnZpY2VzLXRleHQge1xuICAgcGFkZGluZzogMCAwIDAgMTBweDtcbiAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICBsaW5lLWhlaWdodDogMy41cmVtO1xufVxuXG4uY2xvdWQtbGVmdCxcbi5jbG91ZC1yaWdodCB7XG4gICB3aWR0aDogY2FsYygxMDB2dyk7XG4gICBvcGFjaXR5OiAuNTtcbiAgIHotaW5kZXg6IDQ7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgQGluY2x1ZGUgc2NyZWVuLXNtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwdncpO1xuICAgfVxufVxuXG4uY2xvdWQtbGVmdCB7XG4gICB0b3A6ICAgIDMwcHg7XG4gICBsZWZ0OiAgIDA7XG4gICBAaW5jbHVkZSB0cmFuc2xhdGUoLTgwJSwgMCk7XG59XG5cbi5jbG91ZC1yaWdodCB7XG4gICB0b3A6ICAgIDIwMHB4O1xuICAgcmlnaHQ6ICAgMDtcbiAgIEBpbmNsdWRlIHRyYW5zbGF0ZSg4MCUsIDApO1xufVxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgRk9STSBTVFlMRVNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5mcmVlLWVzdGltYXRlIHtcbiAgIHdpZHRoOiA5MCU7XG4gICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgYm9yZGVyOiA1cHggc29saWQgJGJyYW5kLWdyZWVuO1xuICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgei1pbmRleDogMTA7XG4gICBtYXJnaW46IDc1cHggMCAwIDA7XG4gICBwYWRkaW5nOiAzMHB4IDAgMCAwO1xuICAgLy8gQHRvZG86IGp1c3QgYSBub3RlIHRoYXQgSSBhZGRlZCBzdHlsZXMgdG8gaGlkZSB0aGUgaG9uZXlwb3QgZmllbGRcbiAgIC5zcGlyaXQtb2YtdGhlLXN0cmVldHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6LTk5OTlweFxuICAgfVxufVxuXG4uZXN0aW1hdGUtaW5wdXQtd3JhcHBlciB7XG4gICB3aWR0aDogOTAlO1xuICAgbWFyZ2luOiAwIGF1dG8gNTBweCBhdXRvO1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICBpbnB1dCB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuXG4gICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4gICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgICAgIH1cbiAgIH1cbn1cblxuLmZyZWUtZXN0aW1hdGVfX25hbWUsXG4uZnJlZS1lc3RpbWF0ZV9fcGhvbmUsXG4uZnJlZS1lc3RpbWF0ZV9fZW1haWwge1xuICAgZGlzcGxheTogYmxvY2s7XG4gICB3aWR0aDogMTAwJTtcbiAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICBib3JkZXI6IG5vbmU7XG4gICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJGJyYW5kLWdyZWVuO1xuICAgcGFkZGluZzogMTVweCA1cHggMTVweCAwO1xufVxuXG4uZnJlZS1lc3RpbWF0ZV9fbmFtZTpmb2N1cyxcbi5mcmVlLWVzdGltYXRlX19waG9uZTpmb2N1cyxcbi5mcmVlLWVzdGltYXRlX19lbWFpbDpmb2N1cyxcbi5mcmVlLWVzdGltYXRlX19zZXJ2aWNlLXNlbGVjdDpmb2N1cyxcbi5mcmVlLWVzdGltYXRlX19yZWZlcnJhbC1zZWxlY3Q6Zm9jdXN7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNmZmYsIDAuNSk7XG4gICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG5cbi5mcmVlLWVzdGltYXRlX19zZXJ2aWNlLXNlbGVjdC1sYWJlbCxcbi5mcmVlLWVzdGltYXRlX19yZWZlcnJhbC1zZWxlY3QtbGFiZWwsXG4uZnJlZS1lc3RpbWF0ZV9fcHJvamVjdC1waG90by1sYWJlbCB7XG4gICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4gICBjb2xvcjogJGJyYW5kLWdyZWVuLWRhcms7XG4gICBmb250LXNpemU6IDEuNHJlbTtcbiAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICBmb250LXdlaWdodDogOTAwO1xuICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgIGRpc3BsYXk6IGJsb2NrO1xuICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgIHdpZHRoOiA5MCU7XG4gICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uZnJlZS1lc3RpbWF0ZV9fbmFtZSxcbi5mcmVlLWVzdGltYXRlX19waG9uZSxcbi5mcmVlLWVzdGltYXRlX19lbWFpbCxcbi5mcmVlLWVzdGltYXRlX19zZXJ2aWNlLXNlbGVjdCxcbi5mcmVlLWVzdGltYXRlX19yZWZlcnJhbC1zZWxlY3QsXG4uZnJlZS1lc3RpbWF0ZV9fcHJvamVjdC1waG90by1mYWtlIHtcbiAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiAgIGNvbG9yOiAkYnJhbmQtZ3JlZW4tZGFyaztcbiAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICBmb250LXdlaWdodDogOTAwO1xuICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgIG91dGxpbmU6IG5vbmU7XG4gICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2UpO1xuXG4gICBAaW5jbHVkZSBzY3JlZW4tc20ge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogM3B4O1xuICAgfVxufVxuLy8gQHRvZG9bNl0gdGhlIENTUyBpbWl0YXRpb24gb2Ygd2hhdCB5b3UgY3JlYXRlZCBpbiBwYWdlLWFwcC5qc1xuLmZyZWUtZXN0aW1hdGVfX3Byb2plY3QtcGhvdG86Zm9jdXMgfiAuZnJlZS1lc3RpbWF0ZV9fcHJvamVjdC1waG90by1mYWtle1xuICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLWdyZWVuLWRhcms7XG59XG5cblxuXG4uZnJlZS1lc3RpbWF0ZV9fc2VydmljZS1zZWxlY3QsXG4uZnJlZS1lc3RpbWF0ZV9fcmVmZXJyYWwtc2VsZWN0IHtcbiAgIHBhZGRpbmc6IDE1cHggNXB4IDE1cHggMTBweDtcbiAgIGhlaWdodDogNjBweDtcbiAgIGJvcmRlcjogM3B4IHNvbGlkICRicmFuZC1ncmVlbjtcbiAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICB3aWR0aDogMTAwJTtcbiAgIGRpc3BsYXk6IGJsb2NrO1xuICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgdGV4dC1pbmRlbnQ6IDFweDtcbiAgIHRleHQtb3ZlcmZsb3c6ICcnO1xuICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLnNlbGVjdC1hcnJvdyB7XG4gICB3aWR0aDogNTBweDtcbiAgIGhlaWdodDogMTVweDtcbiAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICBib3R0b206IDIwcHg7XG4gICByaWdodDogMTBweDtcbiAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbi1hcnJvdy1kb3duLnN2Zykgbm8tcmVwZWF0IDk4JSA1NSU7XG4gICBiYWNrZ3JvdW5kLXNpemU6IDIwcHg7XG59XG5cbi5mcmVlLWVzdGltYXRlX19wcm9qZWN0LXBob3RvIHtcbiAgIHdpZHRoOiAwLjFweDtcblx0aGVpZ2h0OiAwLjFweDtcblx0b3BhY2l0eTogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAtMTtcbn1cblxuLmZyZWUtZXN0aW1hdGVfX3Byb2plY3QtcGhvdG8tZmFrZSB7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIHdpZHRoOiAxMDAlO1xuICAgbWFyZ2luOiAwIGF1dG8gNXB4IGF1dG87XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1taWQ7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIGN1cnNvcjogcG9pbnRlcjtcbiAgIGNvbG9yOiAkYnJhbmQtd2hpdGU7XG4gICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgcGFkZGluZzogMTdweCAwIDE3cHggMjVweDtcbiAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UpO1xufVxuXG4ucGhvdG8tZ3JvdXAtaW5zdHJ1Y3Rpb25zIHtcbiAgIGZsb2F0OiBsZWZ0O1xuICAgZm9udC1zaXplOiAxcmVtO1xuICAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cblxuLmZyZWUtZXN0aW1hdGVfX3Byb2plY3QtcGhvdG8tZmFrZS1pY29uIHtcbiAgIHdpZHRoOiAxOHB4O1xuICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xufVxuXG4uZnJlZS1lc3RpbWF0ZV9fcHJvamVjdC1waG90by1mYWtlOmhvdmVyIHtcbiAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1ncmVlbi1kYXJrO1xufVxuXG4uZnJlZS1lc3RpbWF0ZV9fcHJvamVjdC1waG90by1mYWtlOmZvY3VzIHtcblx0b3V0bGluZTogMXB4IGRvdHRlZCAjMDAwO1xuXHRvdXRsaW5lOiAtd2Via2l0LWZvY3VzLXJpbmctY29sb3IgYXV0byA1cHg7XG59XG5cbi5mcmVlLWVzdGltYXRlX19zdWJtaXQge1xuICAgd2lkdGg6IDEwMCU7XG4gICBib3JkZXI6IG5vbmU7XG4gICBiYWNrZ3JvdW5kOiAkYnJhbmQtZ3JlZW47XG4gICBwYWRkaW5nOiA0NXB4IDAgNDBweCAwO1xuICAgY29sb3I6ICRicmFuZC15ZWxsb3c7XG4gICBmb250LWZhbWlseTogJ1BhdHVhIE9uZScsIHNlcmlmO1xuICAgZm9udC1zaXplOiAyLjRyZW07XG4gICBjdXJzb3I6IHBvaW50ZXI7XG4gICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlKTtcbiAgIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4uZnJlZS1lc3RpbWF0ZV9fc3VibWl0OmhvdmVyIHtcbiAgIGJhY2tncm91bmQtY29sb3I6ICMyMzQxMzI7XG59XG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICBDT05UQUNUIElORk9cblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi50dC1pbmZvX19sb2dvIHtcbiAgIGhlaWdodDogODVweDtcbn1cblxuLnR0LWluZm8ge1xuICAgd2lkdGg6IDkwJTtcbiAgIG1heC13aWR0aDogNjAwcHg7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIG1hcmdpbjogNTBweCBhdXRvO1xuICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMDAwLCAwLjA1KTtcbiAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIHotaW5kZXg6IDEwO1xuICAgcGFkZGluZzogNTBweCAwO1xufVxuXG4udHQtaW5mb19fdGl0bGUge1xuICAgcGFkZGluZzogNDBweCAwIDAgMDtcbiAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgY29sb3I6ICRicmFuZC1ncmVlbjtcbiAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICBmb250LXdlaWdodDogOTAwO1xuICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbn1cblxuLnR0LWluZm9fX3RpdGxlOmFmdGVyIHtcbiAgIGNvbnRlbnQ6ICcnO1xuICAgaGVpZ2h0OiAzcHg7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1ncmVlbi1kYXJrO1xuICAgd2lkdGg6IDM1cHg7XG4gICBtYXJnaW46IDE1cHggYXV0bztcbn1cblxuLnR0LWluZm9fX2VtYWlsLFxuLnR0LWluZm9fX2FkZHJlc3Mge1xuICAgZm9udC1mYW1pbHk6ICdQYXR1YSBPbmUnLCBzZXJpZjtcbiAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgY29sb3I6ICRicmFuZC1ncmVlbi1kYXJrO1xuICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciAwLjNzIGVhc2UpO1xufVxuXG4udHQtaW5mb19fYWRkcmVzcyBhIHtcbiAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgIGNvbG9yOiAkYnJhbmQtZ3JlZW4tZGFyaztcbiAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgMC4zcyBlYXNlKTtcbn1cblxuLnR0LWluZm9fX2VtYWlsOmhvdmVyLFxuLnR0LWluZm9fX2FkZHJlc3MgYTpob3ZlciB7XG4gICBjb2xvcjogJGJyYW5kLWdyZWVuO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gIFRSRUVcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi50cmVlLXByaW1hcnkge1xuICAgb3BhY2l0eTogMTtcbiAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICB0b3A6IDA7XG4gICBsZWZ0OiAwO1xuICAgei1pbmRleDogMztcbiAgIGRpc3BsYXk6IGJsb2NrO1xuICAgQGluY2x1ZGUgdHJhbnNmb3JtKCN7cm90YXRlKDApIHRyYW5zbGF0ZVgoLTUwJSl9KTtcbiAgIGhlaWdodDogMTAwJTtcbiAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xuICAgQGluY2x1ZGUgdHJhbnNpdGlvbigje3RyYW5zZm9ybSA0cyBjdWJpYy1iZXppZXIoLjE0LC4xNywuOTQsLTAuNTcpLCB2aXNpYmlsaXR5IDFzLCBvcGFjaXR5OiAxc30pO1xuXG4gICBAaW5jbHVkZSBzY3JlZW4tc20ge1xuICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtNDAlKTtcbiAgIH1cblxuICAgQGluY2x1ZGUgc2NyZWVuLW1kIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoLTIwJSk7XG4gICB9XG5cbiAgIEBpbmNsdWRlIHNjcmVlbi1sZyB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDcwJSk7XG4gICB9XG59XG5cbi5mZWxsIHtcbiAgIEBpbmNsdWRlIHJvdGF0ZSg5MCk7XG59XG5cbi50cmVlLXJpZ2h0LWlubmVyLFxuLnRyZWUtcmlnaHQtb3V0dGVyIHtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIGJvdHRvbTogLTEwcHg7XG4gICB6LWluZGV4OiAzO1xufVxuXG4udHJlZS1yaWdodC1pbm5lciB7XG4gICBoZWlnaHQ6IDQwJTtcbiAgIHJpZ2h0OiAtMzAlO1xuICAgb3BhY2l0eTogLjk7XG5cbiAgIEBpbmNsdWRlIHNjcmVlbi1zbSB7XG4gICAgICByaWdodDogLTEwJTtcbiAgIH1cblxuICAgQGluY2x1ZGUgc2NyZWVuLW1kIHtcbiAgICAgIHJpZ2h0OiA1JTtcbiAgIH1cblxuICAgQGluY2x1ZGUgc2NyZWVuLWxnIHtcbiAgICAgIHJpZ2h0OiAxMCU7XG4gICB9XG59XG5cbi50cmVlLXJpZ2h0LW91dHRlciB7XG4gICBkaXNwbGF5OiBub25lO1xuXG4gICBAaW5jbHVkZSBzY3JlZW4tbWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDU1JTtcbiAgICAgIHJpZ2h0OiAtMTAlO1xuICAgICAgb3BhY2l0eTogLjc7XG4gICB9XG5cbiAgIEBpbmNsdWRlIHNjcmVlbi1sZyB7XG4gICAgICByaWdodDogMDtcbiAgIH1cbn1cblxuLmdyYXNzLWJsYWRlcy1sZWZ0LFxuLmdyYXNzLWJsYWRlcy1yaWdodCB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICBib3R0b206IC0xcHg7XG4gICB6LWluZGV4OiA0O1xufVxuXG4uZ3Jhc3MtYmxhZGVzLWxlZnQge1xuICAgZGlzcGxheTogbm9uZTtcblxuICAgQGluY2x1ZGUgc2NyZWVuLW1kIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgbGVmdDogNSU7XG4gICB9XG59XG5cbi5ncmFzcy1ibGFkZXMtcmlnaHQge1xuICAgaGVpZ2h0OiAzNXB4O1xuICAgcmlnaHQ6IDEwJTtcbn1cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gIEdSQVNTIC8gU09DSUFMIElDT05TXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uZ3Jhc3Mge1xuICAgcGFkZGluZzogNTBweCAwO1xuICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLWdyZWVuO1xufVxuXG4uc29jaWFsLWxpbmtzIHtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgIG1hcmdpbjogMjBweCAwIDAgMDtcbn1cblxuLnNvY2lhbC1saW5rc19fbGluayB7XG4gICBoZWlnaHQ6IDQwcHg7XG4gICB3aWR0aDogNDBweDtcbiAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC13aGl0ZTtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgIG1hcmdpbjogMCAxMHB4O1xuICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgwKTtcbiAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIDAuM3MgZWFzZSk7XG59XG5cbi5zb2NpYWwtbGlua3NfX2xpbms6aG92ZXIge1xuICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtNXB4KTtcbn1cblxuLnRyZWUtYmVhciB7XG4gICB3aWR0aDogOTAlO1xuICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIG1hcmdpbjogMCBhdXRvO1xuICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYmVhciB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICB0b3A6IDA7XG4gICBsZWZ0OiAwO1xuICAgaGVpZ2h0OiA0MDBweDtcbiAgIHotaW5kZXg6IDEwO1xuICAgLy8gQHRvZG86IGF0IG1vYmlsZSwgdGhlIGJlYXIgd2FzIGNvdmVyaWcgdXAgc29tZSBvZiB0aGUgYWRkcmVzcyBsaW5rLCBtYWtpbmcgaXQgc2VlbSBsaWtlIHlvdSBjb3VsZG50IGNsaWNrIG9uIGl0LSAgd2hlbiBhYnNvbHV0ZWx5IHBvc2l0aW9uaW5nIGVsZW1lbnRzIHRoYXQgYXJlIGRlY29yYXRpdmUsIGFuZCBjb3VsZCBlbmQgdXAgb3ZlcmxheWluZyBzb21ldGhpbmcgdGhhdCB0aGUgdXNlciBjYW4gaW50ZXJhY3Qgd2l0aCAtIHdlIHNob3VsZCBzZXQgcG9pbnRlci1ldmVudHM6bm9uZSAtIHdoaWNoIHJlbW92ZXMgdGhlIGFiaWxpdHkgZm9yIHRoZSBwb2ludGVyIHRvIGludGVyYWN0IHdpdGggdGhlIGVsZW1lbnRcbiAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgQGluY2x1ZGUgdHJhbnNsYXRlKC0zMiUsIC05NSUpO1xuXG4gICBAaW5jbHVkZSBzY3JlZW4tc20ge1xuICAgICAgaGVpZ2h0OiA1NTBweDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgtNDAlLCAtOTUlKTtcbiAgIH1cblxuICAgQGluY2x1ZGUgc2NyZWVuLW1kIHtcbiAgICAgIGhlaWdodDogNjc1cHg7XG4gICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoLTQ1JSwgLTk1JSk7XG4gICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICBGT09URVJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5mb290ZXIge1xuICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLWdyZWVuLWRhcms7XG4gICBwYWRkaW5nOiAyNXB4O1xuICAgY29sb3I6ICRicmFuZC13aGl0ZTtcbiAgIGZvbnQtc2l6ZTogLjhyZW07XG59XG5cbi5mb290ZXJfX2NvbnRlbnQge1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZm9vdGVyIGEge1xuICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgY29sb3I6ICRicmFuZC15ZWxsb3c7XG59XG5cbi5mb290ZXJfX3RleHQge1xuICAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uZGwtbG9nbyB7XG4gICB3aWR0aDogMTJweDtcbiAgIGhlaWdodDogMTJweDtcbiAgIGZsb2F0OiByaWdodDtcbiAgIG1hcmdpbjogMXB4IDAgMCA1cHg7XG59XG4iXSwibWFwcGluZ3MiOiJBRUFBLDRFQUE0RTtBQUU1RTs7O0dBR0c7QUFFSCxBQUFBLElBQUksQ0FBQztFQUNILFdBQVcsRUFBRSxVQUFXO0VBQUUsT0FBTztFQUNqQyxvQkFBb0IsRUFBRSxJQUFLO0VBQUUsT0FBTztFQUNwQyx3QkFBd0IsRUFBRSxJQUFLO0VBQUUsT0FBTyxFQUN6Qzs7QUFFRDs7R0FFRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsTUFBTSxFQUFFLENBQUUsR0FDWDs7QUFFRDtnRkFDZ0Y7QUFFaEY7Ozs7R0FJRztBQUVILEFBQUEsT0FBTztBQUNQLEFBQUEsS0FBSztBQUNMLEFBQUEsT0FBTztBQUNQLEFBQUEsVUFBVTtBQUNWLEFBQUEsTUFBTTtBQUNOLEFBQUEsTUFBTTtBQUNOLEFBQUEsTUFBTTtBQUNOLEFBQUEsSUFBSTtBQUNKLEFBQUEsSUFBSTtBQUNKLEFBQUEsR0FBRztBQUNILEFBQUEsT0FBTztBQUNQLEFBQUEsT0FBTyxDQUFDO0VBQUUsT0FBTztFQUNmLE9BQU8sRUFBRSxLQUFNLEdBQ2hCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxLQUFLO0FBQ0wsQUFBQSxNQUFNO0FBQ04sQUFBQSxRQUFRO0FBQ1IsQUFBQSxLQUFLLENBQUM7RUFDSixPQUFPLEVBQUUsWUFBYSxHQUN2Qjs7QUFFRDs7R0FFRztBQUVILEFBQW9CLEtBQWYsQUFBQSxJQUFLLEVBQUEsQUFBQSxBQUFTLFFBQVIsQUFBQSxHQUFXO0VB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 */
