/* CSS RESETS */
/*! 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.
 */
@import url(https://fonts.googleapis.com/css?family=PT+Sans:400,700&subset=latin,cyrillic);
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,600,300,700,800&subset=latin,cyrillic);
@import url("https://fonts.googleapis.com/css?family=Lato:300,400,700,900");
@import url("https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&subset=cyrillic");
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 */ }

/*!
 * Bootstrap v4.0.0-alpha.2 (http://getbootstrap.com)
 * Copyright 2011-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden],
template {
  display: none; }

a {
  background-color: transparent; }

a:active {
  outline: 0; }

a:hover {
  outline: 0; }

abbr[title] {
  border-bottom: 1px dotted; }

b,
strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

mark {
  background: #ff0;
  color: #000; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 1em 40px; }

hr {
  box-sizing: content-box;
  height: 0; }

pre {
  overflow: auto; }

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0; }

button {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer; }

button[disabled],
html input[disabled] {
  cursor: default; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

input {
  line-height: normal; }

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto; }

optgroup {
  font-weight: bold; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

@media print {
  *,
  *::before,
  *::after {
    text-shadow: none !important;
    box-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  abbr[title]::after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .navbar {
    display: none; }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important; }
  .label {
    border: 1px solid #000; }
  .table {
    border-collapse: collapse !important; }
    .table td,
    .table th {
      background-color: #fff !important; }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important; } }

html {
  box-sizing: border-box; }

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

@-moz-viewport {
  width: device-width; }

@-ms-viewport {
  width: device-width; }

@-o-viewport {
  width: device-width; }

@-webkit-viewport {
  width: device-width; }

@viewport {
  width: device-width; }

html {
  font-size: 16px;
  -webkit-tap-highlight-color: transparent; }

body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  color: #373a3c;
  background-color: #fff; }

[tabindex="-1"]:focus {
  outline: none !important; }

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: .5rem; }

p {
  margin-top: 0;
  margin-bottom: 1rem; }

abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #818a91; }

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit; }

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem; }

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0; }

dt {
  font-weight: bold; }

dd {
  margin-bottom: .5rem;
  margin-left: 0; }

blockquote {
  margin: 0 0 1rem; }

a {
  color: #0275d8;
  text-decoration: none; }
  a:focus, a:hover {
    color: #014c8c;
    text-decoration: underline; }
  a:focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px; }

pre {
  margin-top: 0;
  margin-bottom: 1rem; }

figure {
  margin: 0 0 1rem; }

img {
  vertical-align: middle; }

[role="button"] {
  cursor: pointer; }

a,
area,
button,
[role="button"],
input,
label,
select,
summary,
textarea {
  touch-action: manipulation; }

table {
  background-color: transparent; }

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #818a91;
  text-align: left;
  caption-side: bottom; }

th {
  text-align: left; }

label {
  display: inline-block;
  margin-bottom: .5rem; }

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color; }

input,
button,
select,
textarea {
  margin: 0;
  line-height: inherit;
  border-radius: 0; }

textarea {
  resize: vertical; }

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0; }

legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit; }

input[type="search"] {
  box-sizing: inherit;
  -webkit-appearance: none; }

output {
  display: inline-block; }

[hidden] {
  display: none !important; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-bottom: 0.5rem;
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit; }

h1 {
  font-size: 2.5rem; }

h2 {
  font-size: 2rem; }

h3 {
  font-size: 1.75rem; }

h4 {
  font-size: 1.5rem; }

h5 {
  font-size: 1.25rem; }

h6 {
  font-size: 1rem; }

.h1 {
  font-size: 2.5rem; }

.h2 {
  font-size: 2rem; }

.h3 {
  font-size: 1.75rem; }

.h4 {
  font-size: 1.5rem; }

.h5 {
  font-size: 1.25rem; }

.h6 {
  font-size: 1rem; }

.lead {
  font-size: 1.25rem;
  font-weight: 300; }

.display-1 {
  font-size: 6rem;
  font-weight: 300; }

.display-2 {
  font-size: 5.5rem;
  font-weight: 300; }

.display-3 {
  font-size: 4.5rem;
  font-weight: 300; }

.display-4 {
  font-size: 3.5rem;
  font-weight: 300; }

hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1); }

small,
.small {
  font-size: 80%;
  font-weight: normal; }

mark,
.mark {
  padding: .2em;
  background-color: #fcf8e3; }

.list-unstyled {
  padding-left: 0;
  list-style: none; }

.list-inline {
  padding-left: 0;
  list-style: none; }

.list-inline-item {
  display: inline-block; }
  .list-inline-item:not(:last-child) {
    margin-right: 5px; }

.dl-horizontal {
  margin-right: -1.875rem;
  margin-left: -1.875rem; }
  .dl-horizontal::after {
    content: "";
    display: table;
    clear: both; }

.initialism {
  font-size: 90%;
  text-transform: uppercase; }

.blockquote {
  padding: 0.5rem 1rem;
  margin-bottom: 1rem;
  font-size: 1.25rem;
  border-left: 0.25rem solid #eceeef; }

.blockquote-footer {
  display: block;
  font-size: 80%;
  line-height: 1.5;
  color: #818a91; }
  .blockquote-footer::before {
    content: "\2014 \00A0"; }

.blockquote-reverse {
  padding-right: 1rem;
  padding-left: 0;
  text-align: right;
  border-right: 0.25rem solid #eceeef;
  border-left: 0; }

.blockquote-reverse .blockquote-footer::before {
  content: ""; }

.blockquote-reverse .blockquote-footer::after {
  content: "\00A0 \2014"; }

.img-fluid, .carousel-inner > .carousel-item > img,
.carousel-inner > .carousel-item > a > img {
  display: block;
  max-width: 100%;
  height: auto; }

.img-rounded {
  border-radius: 0.3rem; }

.img-thumbnail {
  padding: 0.25rem;
  line-height: 1.5;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
  transition: all .2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto; }

.img-circle {
  border-radius: 50%; }

.figure {
  display: inline-block; }

.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1; }

.figure-caption {
  font-size: 90%;
  color: #818a91; }

code,
kbd,
pre,
samp {
  font-family: Menlo, Monaco, Consolas, "Courier New", monospace; }

code {
  padding: .2rem .4rem;
  font-size: 90%;
  color: #bd4147;
  background-color: #f7f7f9;
  border-radius: 0.25rem; }

kbd {
  padding: .2rem .4rem;
  font-size: 90%;
  color: #fff;
  background-color: #333;
  border-radius: 0.2rem; }
  kbd kbd {
    padding: 0;
    font-size: 100%;
    font-weight: bold; }

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 90%;
  line-height: 1.5;
  color: #373a3c; }
  pre code {
    padding: 0;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
    border-radius: 0; }

.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll; }

.container {
  margin-left: auto;
  margin-right: auto;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem; }
  .container::after {
    content: "";
    display: table;
    clear: both; }
  @media (min-width: 544px) {
    .container {
      max-width: 576px; } }
  @media (min-width: 768px) {
    .container {
      max-width: 720px; } }
  @media (min-width: 992px) {
    .container {
      max-width: 940px; } }
  @media (min-width: 1200px) {
    .container {
      max-width: 1140px; } }

.container-fluid {
  margin-left: auto;
  margin-right: auto;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem; }
  .container-fluid::after {
    content: "";
    display: table;
    clear: both; }

.row {
  margin-left: -0.9375rem;
  margin-right: -0.9375rem; }
  .row::after {
    content: "";
    display: table;
    clear: both; }

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12 {
  position: relative;
  min-height: 1px;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem; }

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left; }

.col-xs-1 {
  width: 8.33333%; }

.col-xs-2 {
  width: 16.66667%; }

.col-xs-3 {
  width: 25%; }

.col-xs-4 {
  width: 33.33333%; }

.col-xs-5 {
  width: 41.66667%; }

.col-xs-6 {
  width: 50%; }

.col-xs-7 {
  width: 58.33333%; }

.col-xs-8 {
  width: 66.66667%; }

.col-xs-9 {
  width: 75%; }

.col-xs-10 {
  width: 83.33333%; }

.col-xs-11 {
  width: 91.66667%; }

.col-xs-12 {
  width: 100%; }

.col-xs-pull-0 {
  right: auto; }

.col-xs-pull-1 {
  right: 8.33333%; }

.col-xs-pull-2 {
  right: 16.66667%; }

.col-xs-pull-3 {
  right: 25%; }

.col-xs-pull-4 {
  right: 33.33333%; }

.col-xs-pull-5 {
  right: 41.66667%; }

.col-xs-pull-6 {
  right: 50%; }

.col-xs-pull-7 {
  right: 58.33333%; }

.col-xs-pull-8 {
  right: 66.66667%; }

.col-xs-pull-9 {
  right: 75%; }

.col-xs-pull-10 {
  right: 83.33333%; }

.col-xs-pull-11 {
  right: 91.66667%; }

.col-xs-pull-12 {
  right: 100%; }

.col-xs-push-0 {
  left: auto; }

.col-xs-push-1 {
  left: 8.33333%; }

.col-xs-push-2 {
  left: 16.66667%; }

.col-xs-push-3 {
  left: 25%; }

.col-xs-push-4 {
  left: 33.33333%; }

.col-xs-push-5 {
  left: 41.66667%; }

.col-xs-push-6 {
  left: 50%; }

.col-xs-push-7 {
  left: 58.33333%; }

.col-xs-push-8 {
  left: 66.66667%; }

.col-xs-push-9 {
  left: 75%; }

.col-xs-push-10 {
  left: 83.33333%; }

.col-xs-push-11 {
  left: 91.66667%; }

.col-xs-push-12 {
  left: 100%; }

.col-xs-offset-0 {
  margin-left: 0%; }

.col-xs-offset-1 {
  margin-left: 8.33333%; }

.col-xs-offset-2 {
  margin-left: 16.66667%; }

.col-xs-offset-3 {
  margin-left: 25%; }

.col-xs-offset-4 {
  margin-left: 33.33333%; }

.col-xs-offset-5 {
  margin-left: 41.66667%; }

.col-xs-offset-6 {
  margin-left: 50%; }

.col-xs-offset-7 {
  margin-left: 58.33333%; }

.col-xs-offset-8 {
  margin-left: 66.66667%; }

.col-xs-offset-9 {
  margin-left: 75%; }

.col-xs-offset-10 {
  margin-left: 83.33333%; }

.col-xs-offset-11 {
  margin-left: 91.66667%; }

.col-xs-offset-12 {
  margin-left: 100%; }

@media (min-width: 544px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left; }
  .col-sm-1 {
    width: 8.33333%; }
  .col-sm-2 {
    width: 16.66667%; }
  .col-sm-3 {
    width: 25%; }
  .col-sm-4 {
    width: 33.33333%; }
  .col-sm-5 {
    width: 41.66667%; }
  .col-sm-6 {
    width: 50%; }
  .col-sm-7 {
    width: 58.33333%; }
  .col-sm-8 {
    width: 66.66667%; }
  .col-sm-9 {
    width: 75%; }
  .col-sm-10 {
    width: 83.33333%; }
  .col-sm-11 {
    width: 91.66667%; }
  .col-sm-12 {
    width: 100%; }
  .col-sm-pull-0 {
    right: auto; }
  .col-sm-pull-1 {
    right: 8.33333%; }
  .col-sm-pull-2 {
    right: 16.66667%; }
  .col-sm-pull-3 {
    right: 25%; }
  .col-sm-pull-4 {
    right: 33.33333%; }
  .col-sm-pull-5 {
    right: 41.66667%; }
  .col-sm-pull-6 {
    right: 50%; }
  .col-sm-pull-7 {
    right: 58.33333%; }
  .col-sm-pull-8 {
    right: 66.66667%; }
  .col-sm-pull-9 {
    right: 75%; }
  .col-sm-pull-10 {
    right: 83.33333%; }
  .col-sm-pull-11 {
    right: 91.66667%; }
  .col-sm-pull-12 {
    right: 100%; }
  .col-sm-push-0 {
    left: auto; }
  .col-sm-push-1 {
    left: 8.33333%; }
  .col-sm-push-2 {
    left: 16.66667%; }
  .col-sm-push-3 {
    left: 25%; }
  .col-sm-push-4 {
    left: 33.33333%; }
  .col-sm-push-5 {
    left: 41.66667%; }
  .col-sm-push-6 {
    left: 50%; }
  .col-sm-push-7 {
    left: 58.33333%; }
  .col-sm-push-8 {
    left: 66.66667%; }
  .col-sm-push-9 {
    left: 75%; }
  .col-sm-push-10 {
    left: 83.33333%; }
  .col-sm-push-11 {
    left: 91.66667%; }
  .col-sm-push-12 {
    left: 100%; }
  .col-sm-offset-0 {
    margin-left: 0%; }
  .col-sm-offset-1 {
    margin-left: 8.33333%; }
  .col-sm-offset-2 {
    margin-left: 16.66667%; }
  .col-sm-offset-3 {
    margin-left: 25%; }
  .col-sm-offset-4 {
    margin-left: 33.33333%; }
  .col-sm-offset-5 {
    margin-left: 41.66667%; }
  .col-sm-offset-6 {
    margin-left: 50%; }
  .col-sm-offset-7 {
    margin-left: 58.33333%; }
  .col-sm-offset-8 {
    margin-left: 66.66667%; }
  .col-sm-offset-9 {
    margin-left: 75%; }
  .col-sm-offset-10 {
    margin-left: 83.33333%; }
  .col-sm-offset-11 {
    margin-left: 91.66667%; }
  .col-sm-offset-12 {
    margin-left: 100%; } }

@media (min-width: 768px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left; }
  .col-md-1 {
    width: 8.33333%; }
  .col-md-2 {
    width: 16.66667%; }
  .col-md-3 {
    width: 25%; }
  .col-md-4 {
    width: 33.33333%; }
  .col-md-5 {
    width: 41.66667%; }
  .col-md-6 {
    width: 50%; }
  .col-md-7 {
    width: 58.33333%; }
  .col-md-8 {
    width: 66.66667%; }
  .col-md-9 {
    width: 75%; }
  .col-md-10 {
    width: 83.33333%; }
  .col-md-11 {
    width: 91.66667%; }
  .col-md-12 {
    width: 100%; }
  .col-md-pull-0 {
    right: auto; }
  .col-md-pull-1 {
    right: 8.33333%; }
  .col-md-pull-2 {
    right: 16.66667%; }
  .col-md-pull-3 {
    right: 25%; }
  .col-md-pull-4 {
    right: 33.33333%; }
  .col-md-pull-5 {
    right: 41.66667%; }
  .col-md-pull-6 {
    right: 50%; }
  .col-md-pull-7 {
    right: 58.33333%; }
  .col-md-pull-8 {
    right: 66.66667%; }
  .col-md-pull-9 {
    right: 75%; }
  .col-md-pull-10 {
    right: 83.33333%; }
  .col-md-pull-11 {
    right: 91.66667%; }
  .col-md-pull-12 {
    right: 100%; }
  .col-md-push-0 {
    left: auto; }
  .col-md-push-1 {
    left: 8.33333%; }
  .col-md-push-2 {
    left: 16.66667%; }
  .col-md-push-3 {
    left: 25%; }
  .col-md-push-4 {
    left: 33.33333%; }
  .col-md-push-5 {
    left: 41.66667%; }
  .col-md-push-6 {
    left: 50%; }
  .col-md-push-7 {
    left: 58.33333%; }
  .col-md-push-8 {
    left: 66.66667%; }
  .col-md-push-9 {
    left: 75%; }
  .col-md-push-10 {
    left: 83.33333%; }
  .col-md-push-11 {
    left: 91.66667%; }
  .col-md-push-12 {
    left: 100%; }
  .col-md-offset-0 {
    margin-left: 0%; }
  .col-md-offset-1 {
    margin-left: 8.33333%; }
  .col-md-offset-2 {
    margin-left: 16.66667%; }
  .col-md-offset-3 {
    margin-left: 25%; }
  .col-md-offset-4 {
    margin-left: 33.33333%; }
  .col-md-offset-5 {
    margin-left: 41.66667%; }
  .col-md-offset-6 {
    margin-left: 50%; }
  .col-md-offset-7 {
    margin-left: 58.33333%; }
  .col-md-offset-8 {
    margin-left: 66.66667%; }
  .col-md-offset-9 {
    margin-left: 75%; }
  .col-md-offset-10 {
    margin-left: 83.33333%; }
  .col-md-offset-11 {
    margin-left: 91.66667%; }
  .col-md-offset-12 {
    margin-left: 100%; } }

@media (min-width: 992px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left; }
  .col-lg-1 {
    width: 8.33333%; }
  .col-lg-2 {
    width: 16.66667%; }
  .col-lg-3 {
    width: 25%; }
  .col-lg-4 {
    width: 33.33333%; }
  .col-lg-5 {
    width: 41.66667%; }
  .col-lg-6 {
    width: 50%; }
  .col-lg-7 {
    width: 58.33333%; }
  .col-lg-8 {
    width: 66.66667%; }
  .col-lg-9 {
    width: 75%; }
  .col-lg-10 {
    width: 83.33333%; }
  .col-lg-11 {
    width: 91.66667%; }
  .col-lg-12 {
    width: 100%; }
  .col-lg-pull-0 {
    right: auto; }
  .col-lg-pull-1 {
    right: 8.33333%; }
  .col-lg-pull-2 {
    right: 16.66667%; }
  .col-lg-pull-3 {
    right: 25%; }
  .col-lg-pull-4 {
    right: 33.33333%; }
  .col-lg-pull-5 {
    right: 41.66667%; }
  .col-lg-pull-6 {
    right: 50%; }
  .col-lg-pull-7 {
    right: 58.33333%; }
  .col-lg-pull-8 {
    right: 66.66667%; }
  .col-lg-pull-9 {
    right: 75%; }
  .col-lg-pull-10 {
    right: 83.33333%; }
  .col-lg-pull-11 {
    right: 91.66667%; }
  .col-lg-pull-12 {
    right: 100%; }
  .col-lg-push-0 {
    left: auto; }
  .col-lg-push-1 {
    left: 8.33333%; }
  .col-lg-push-2 {
    left: 16.66667%; }
  .col-lg-push-3 {
    left: 25%; }
  .col-lg-push-4 {
    left: 33.33333%; }
  .col-lg-push-5 {
    left: 41.66667%; }
  .col-lg-push-6 {
    left: 50%; }
  .col-lg-push-7 {
    left: 58.33333%; }
  .col-lg-push-8 {
    left: 66.66667%; }
  .col-lg-push-9 {
    left: 75%; }
  .col-lg-push-10 {
    left: 83.33333%; }
  .col-lg-push-11 {
    left: 91.66667%; }
  .col-lg-push-12 {
    left: 100%; }
  .col-lg-offset-0 {
    margin-left: 0%; }
  .col-lg-offset-1 {
    margin-left: 8.33333%; }
  .col-lg-offset-2 {
    margin-left: 16.66667%; }
  .col-lg-offset-3 {
    margin-left: 25%; }
  .col-lg-offset-4 {
    margin-left: 33.33333%; }
  .col-lg-offset-5 {
    margin-left: 41.66667%; }
  .col-lg-offset-6 {
    margin-left: 50%; }
  .col-lg-offset-7 {
    margin-left: 58.33333%; }
  .col-lg-offset-8 {
    margin-left: 66.66667%; }
  .col-lg-offset-9 {
    margin-left: 75%; }
  .col-lg-offset-10 {
    margin-left: 83.33333%; }
  .col-lg-offset-11 {
    margin-left: 91.66667%; }
  .col-lg-offset-12 {
    margin-left: 100%; } }

@media (min-width: 1200px) {
  .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12 {
    float: left; }
  .col-xl-1 {
    width: 8.33333%; }
  .col-xl-2 {
    width: 16.66667%; }
  .col-xl-3 {
    width: 25%; }
  .col-xl-4 {
    width: 33.33333%; }
  .col-xl-5 {
    width: 41.66667%; }
  .col-xl-6 {
    width: 50%; }
  .col-xl-7 {
    width: 58.33333%; }
  .col-xl-8 {
    width: 66.66667%; }
  .col-xl-9 {
    width: 75%; }
  .col-xl-10 {
    width: 83.33333%; }
  .col-xl-11 {
    width: 91.66667%; }
  .col-xl-12 {
    width: 100%; }
  .col-xl-pull-0 {
    right: auto; }
  .col-xl-pull-1 {
    right: 8.33333%; }
  .col-xl-pull-2 {
    right: 16.66667%; }
  .col-xl-pull-3 {
    right: 25%; }
  .col-xl-pull-4 {
    right: 33.33333%; }
  .col-xl-pull-5 {
    right: 41.66667%; }
  .col-xl-pull-6 {
    right: 50%; }
  .col-xl-pull-7 {
    right: 58.33333%; }
  .col-xl-pull-8 {
    right: 66.66667%; }
  .col-xl-pull-9 {
    right: 75%; }
  .col-xl-pull-10 {
    right: 83.33333%; }
  .col-xl-pull-11 {
    right: 91.66667%; }
  .col-xl-pull-12 {
    right: 100%; }
  .col-xl-push-0 {
    left: auto; }
  .col-xl-push-1 {
    left: 8.33333%; }
  .col-xl-push-2 {
    left: 16.66667%; }
  .col-xl-push-3 {
    left: 25%; }
  .col-xl-push-4 {
    left: 33.33333%; }
  .col-xl-push-5 {
    left: 41.66667%; }
  .col-xl-push-6 {
    left: 50%; }
  .col-xl-push-7 {
    left: 58.33333%; }
  .col-xl-push-8 {
    left: 66.66667%; }
  .col-xl-push-9 {
    left: 75%; }
  .col-xl-push-10 {
    left: 83.33333%; }
  .col-xl-push-11 {
    left: 91.66667%; }
  .col-xl-push-12 {
    left: 100%; }
  .col-xl-offset-0 {
    margin-left: 0%; }
  .col-xl-offset-1 {
    margin-left: 8.33333%; }
  .col-xl-offset-2 {
    margin-left: 16.66667%; }
  .col-xl-offset-3 {
    margin-left: 25%; }
  .col-xl-offset-4 {
    margin-left: 33.33333%; }
  .col-xl-offset-5 {
    margin-left: 41.66667%; }
  .col-xl-offset-6 {
    margin-left: 50%; }
  .col-xl-offset-7 {
    margin-left: 58.33333%; }
  .col-xl-offset-8 {
    margin-left: 66.66667%; }
  .col-xl-offset-9 {
    margin-left: 75%; }
  .col-xl-offset-10 {
    margin-left: 83.33333%; }
  .col-xl-offset-11 {
    margin-left: 91.66667%; }
  .col-xl-offset-12 {
    margin-left: 100%; } }

.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 1rem; }
  .table th,
  .table td {
    padding: 0.75rem;
    line-height: 1.5;
    vertical-align: top;
    border-top: 1px solid #eceeef; }
  .table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid #eceeef; }
  .table tbody + tbody {
    border-top: 2px solid #eceeef; }
  .table .table {
    background-color: #fff; }

.table-sm th,
.table-sm td {
  padding: 0.3rem; }

.table-bordered {
  border: 1px solid #eceeef; }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #eceeef; }
  .table-bordered thead th,
  .table-bordered thead td {
    border-bottom-width: 2px; }

.table-striped tbody tr:nth-of-type(odd) {
  background-color: #f9f9f9; }

.table-hover tbody tr:hover {
  background-color: #f5f5f5; }

.table-active,
.table-active > th,
.table-active > td {
  background-color: #f5f5f5; }

.table-hover .table-active:hover {
  background-color: #e8e8e8; }
  .table-hover .table-active:hover > td,
  .table-hover .table-active:hover > th {
    background-color: #e8e8e8; }

.table-success,
.table-success > th,
.table-success > td {
  background-color: #dff0d8; }

.table-hover .table-success:hover {
  background-color: #d0e9c6; }
  .table-hover .table-success:hover > td,
  .table-hover .table-success:hover > th {
    background-color: #d0e9c6; }

.table-info,
.table-info > th,
.table-info > td {
  background-color: #d9edf7; }

.table-hover .table-info:hover {
  background-color: #c4e3f3; }
  .table-hover .table-info:hover > td,
  .table-hover .table-info:hover > th {
    background-color: #c4e3f3; }

.table-warning,
.table-warning > th,
.table-warning > td {
  background-color: #fcf8e3; }

.table-hover .table-warning:hover {
  background-color: #faf2cc; }
  .table-hover .table-warning:hover > td,
  .table-hover .table-warning:hover > th {
    background-color: #faf2cc; }

.table-danger,
.table-danger > th,
.table-danger > td {
  background-color: #f2dede; }

.table-hover .table-danger:hover {
  background-color: #ebcccc; }
  .table-hover .table-danger:hover > td,
  .table-hover .table-danger:hover > th {
    background-color: #ebcccc; }

.table-responsive {
  display: block;
  width: 100%;
  min-height: 0.01%;
  overflow-x: auto; }

.thead-inverse th {
  color: #fff;
  background-color: #373a3c; }

.thead-default th {
  color: #55595c;
  background-color: #eceeef; }

.table-inverse {
  color: #eceeef;
  background-color: #373a3c; }
  .table-inverse.table-bordered {
    border: 0; }
  .table-inverse th,
  .table-inverse td,
  .table-inverse thead th {
    border-color: #55595c; }

.table-reflow thead {
  float: left; }

.table-reflow tbody {
  display: block;
  white-space: nowrap; }

.table-reflow th,
.table-reflow td {
  border-top: 1px solid #eceeef;
  border-left: 1px solid #eceeef; }
  .table-reflow th:last-child,
  .table-reflow td:last-child {
    border-right: 1px solid #eceeef; }

.table-reflow thead:last-child tr:last-child th,
.table-reflow thead:last-child tr:last-child td,
.table-reflow tbody:last-child tr:last-child th,
.table-reflow tbody:last-child tr:last-child td,
.table-reflow tfoot:last-child tr:last-child th,
.table-reflow tfoot:last-child tr:last-child td {
  border-bottom: 1px solid #eceeef; }

.table-reflow tr {
  float: left; }
  .table-reflow tr th,
  .table-reflow tr td {
    display: block !important;
    border: 1px solid #eceeef; }

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #55595c;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 0.25rem; }
  .form-control::-ms-expand {
    background-color: transparent;
    border: 0; }
  .form-control:focus {
    border-color: #66afe9;
    outline: none; }
  .form-control::placeholder {
    color: #999;
    opacity: 1; }
  .form-control:disabled, .form-control[readonly] {
    background-color: #eceeef;
    opacity: 1; }
  .form-control:disabled {
    cursor: not-allowed; }

.form-control-file,
.form-control-range {
  display: block; }

.form-control-label {
  padding: 0.375rem 0.75rem;
  margin-bottom: 0; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"].form-control,
  input[type="time"].form-control,
  input[type="datetime-local"].form-control,
  input[type="month"].form-control {
    line-height: 2.25rem; }
  input[type="date"].input-sm,
  .input-group-sm input[type="date"].form-control,
  input[type="time"].input-sm,
  .input-group-sm
  input[type="time"].form-control,
  input[type="datetime-local"].input-sm,
  .input-group-sm
  input[type="datetime-local"].form-control,
  input[type="month"].input-sm,
  .input-group-sm
  input[type="month"].form-control {
    line-height: 1.8625rem; }
  input[type="date"].input-lg,
  .input-group-lg input[type="date"].form-control,
  input[type="time"].input-lg,
  .input-group-lg
  input[type="time"].form-control,
  input[type="datetime-local"].input-lg,
  .input-group-lg
  input[type="datetime-local"].form-control,
  input[type="month"].input-lg,
  .input-group-lg
  input[type="month"].form-control {
    line-height: 3.16667rem; } }

.form-control-static {
  min-height: 2.25rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  margin-bottom: 0; }
  .form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control,
  .input-group-sm > .form-control-static.input-group-addon,
  .input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control,
  .input-group-lg > .form-control-static.input-group-addon,
  .input-group-lg > .input-group-btn > .form-control-static.btn {
    padding-right: 0;
    padding-left: 0; }

.form-control-sm, .input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  padding: 0.275rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem; }

.form-control-lg, .input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  padding: 0.75rem 1.25rem;
  font-size: 1.25rem;
  line-height: 1.33333;
  border-radius: 0.3rem; }

.form-group {
  margin-bottom: 1rem; }

.radio,
.checkbox {
  position: relative;
  display: block;
  margin-bottom: 0.75rem; }
  .radio label,
  .checkbox label {
    padding-left: 1.25rem;
    margin-bottom: 0;
    font-weight: normal;
    cursor: pointer; }
    .radio label input:only-child,
    .checkbox label input:only-child {
      position: static; }

.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-top: .25rem;
  margin-left: -1.25rem; }

.radio + .radio,
.checkbox + .checkbox {
  margin-top: -.25rem; }

.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 1.25rem;
  margin-bottom: 0;
  font-weight: normal;
  vertical-align: middle;
  cursor: pointer; }

.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: .75rem; }

input[type="radio"]:disabled, input[type="radio"].disabled,
input[type="checkbox"]:disabled,
input[type="checkbox"].disabled {
  cursor: not-allowed; }

.radio-inline.disabled,
.checkbox-inline.disabled {
  cursor: not-allowed; }

.radio.disabled label,
.checkbox.disabled label {
  cursor: not-allowed; }

.form-control-success,
.form-control-warning,
.form-control-danger {
  padding-right: 2.25rem;
  background-repeat: no-repeat;
  background-position: center right 0.5625rem;
  background-size: 1.4625rem 1.4625rem; }

.has-success .text-help,
.has-success .form-control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #5cb85c; }

.has-success .form-control {
  border-color: #5cb85c; }

.has-success .input-group-addon {
  color: #5cb85c;
  border-color: #5cb85c;
  background-color: #eaf6ea; }

.has-success .form-control-feedback {
  color: #5cb85c; }

.has-success .form-control-success {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjNWNiODVjIiBkPSJNMjMzLjggNjEwYy0xMy4zIDAtMjYtNi0zNC0xNi44TDkwLjUgNDQ4LjhDNzYuMyA0MzAgODAgNDAzLjMgOTguOCAzODljMTguOC0xNC4yIDQ1LjUtMTAuNCA1OS44IDguNGw3MiA5NUw0NTEuMyAyNDJjMTIuNS0yMCAzOC44LTI2LjIgNTguOC0xMy43IDIwIDEyLjQgMjYgMzguNyAxMy43IDU4LjhMMjcwIDU5MGMtNy40IDEyLTIwLjIgMTkuNC0zNC4zIDIwaC0yeiIvPjwvc3ZnPg=="); }

.has-warning .text-help,
.has-warning .form-control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #f0ad4e; }

.has-warning .form-control {
  border-color: #f0ad4e; }

.has-warning .input-group-addon {
  color: #f0ad4e;
  border-color: #f0ad4e;
  background-color: white; }

.has-warning .form-control-feedback {
  color: #f0ad4e; }

.has-warning .form-control-warning {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjZjBhZDRlIiBkPSJNNjAzIDY0MC4ybC0yNzguNS01MDljLTMuOC02LjYtMTAuOC0xMC42LTE4LjUtMTAuNnMtMTQuNyA0LTE4LjUgMTAuNkw5IDY0MC4yYy0zLjcgNi41LTMuNiAxNC40LjIgMjAuOCAzLjggNi41IDEwLjggMTAuNCAxOC4zIDEwLjRoNTU3YzcuNiAwIDE0LjYtNCAxOC40LTEwLjQgMy41LTYuNCAzLjYtMTQuNCAwLTIwLjh6bS0yNjYuNC0zMGgtNjEuMlY1NDloNjEuMnY2MS4yem0wLTEwN2gtNjEuMlYzMDRoNjEuMnYxOTl6Ii8+PC9zdmc+"); }

.has-danger .text-help,
.has-danger .form-control-label,
.has-danger .radio,
.has-danger .checkbox,
.has-danger .radio-inline,
.has-danger .checkbox-inline,
.has-danger.radio label,
.has-danger.checkbox label,
.has-danger.radio-inline label,
.has-danger.checkbox-inline label {
  color: #d9534f; }

.has-danger .form-control {
  border-color: #d9534f; }

.has-danger .input-group-addon {
  color: #d9534f;
  border-color: #d9534f;
  background-color: #fdf7f7; }

.has-danger .form-control-feedback {
  color: #d9534f; }

.has-danger .form-control-danger {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjZDk1MzRmIiBkPSJNNDQ3IDU0NC40Yy0xNC40IDE0LjQtMzcuNiAxNC40LTUyIDBsLTg5LTkyLjctODkgOTIuN2MtMTQuNSAxNC40LTM3LjcgMTQuNC01MiAwLTE0LjQtMTQuNC0xNC40LTM3LjYgMC01Mmw5Mi40LTk2LjMtOTIuNC05Ni4zYy0xNC40LTE0LjQtMTQuNC0zNy42IDAtNTJzMzcuNi0xNC4zIDUyIDBsODkgOTIuOCA4OS4yLTkyLjdjMTQuNC0xNC40IDM3LjYtMTQuNCA1MiAwIDE0LjMgMTQuNCAxNC4zIDM3LjYgMCA1MkwzNTQuNiAzOTZsOTIuNCA5Ni40YzE0LjQgMTQuNCAxNC40IDM3LjYgMCA1MnoiLz48L3N2Zz4="); }

@media (min-width: 544px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle; }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle; }
  .form-inline .form-control-static {
    display: inline-block; }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle; }
    .form-inline .input-group .input-group-addon,
    .form-inline .input-group .input-group-btn,
    .form-inline .input-group .form-control {
      width: auto; }
  .form-inline .input-group > .form-control {
    width: 100%; }
  .form-inline .form-control-label {
    margin-bottom: 0;
    vertical-align: middle; }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle; }
    .form-inline .radio label,
    .form-inline .checkbox label {
      padding-left: 0; }
  .form-inline .radio input[type="radio"],
  .form-inline .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0; }
  .form-inline .has-feedback .form-control-feedback {
    top: 0; } }

.btn {
  display: inline-block;
  font-weight: normal;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  border: 1px solid transparent;
  padding: 0.375rem 1rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem; }
  .btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px; }
  .btn:focus, .btn:hover {
    text-decoration: none; }
  .btn.focus {
    text-decoration: none; }
  .btn:active, .btn.active {
    background-image: none;
    outline: 0; }
  .btn.disabled, .btn:disabled {
    cursor: not-allowed;
    opacity: .65; }

a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none; }

.btn-primary {
  color: #fff;
  background-color: #0275d8;
  border-color: #0275d8; }
  .btn-primary:hover {
    color: #fff;
    background-color: #025aa5;
    border-color: #01549b; }
  .btn-primary:focus, .btn-primary.focus {
    color: #fff;
    background-color: #025aa5;
    border-color: #01549b; }
  .btn-primary:active, .btn-primary.active,
  .open > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #025aa5;
    border-color: #01549b;
    background-image: none; }
    .btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus,
    .open > .btn-primary.dropdown-toggle:hover,
    .open > .btn-primary.dropdown-toggle:focus,
    .open > .btn-primary.dropdown-toggle.focus {
      color: #fff;
      background-color: #014682;
      border-color: #01315a; }
  .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary:disabled:focus, .btn-primary:disabled.focus {
    background-color: #0275d8;
    border-color: #0275d8; }
  .btn-primary.disabled:hover, .btn-primary:disabled:hover {
    background-color: #0275d8;
    border-color: #0275d8; }

.btn-secondary {
  color: #373a3c;
  background-color: #fff;
  border-color: #ccc; }
  .btn-secondary:hover {
    color: #373a3c;
    background-color: #e6e6e6;
    border-color: #adadad; }
  .btn-secondary:focus, .btn-secondary.focus {
    color: #373a3c;
    background-color: #e6e6e6;
    border-color: #adadad; }
  .btn-secondary:active, .btn-secondary.active,
  .open > .btn-secondary.dropdown-toggle {
    color: #373a3c;
    background-color: #e6e6e6;
    border-color: #adadad;
    background-image: none; }
    .btn-secondary:active:hover, .btn-secondary:active:focus, .btn-secondary:active.focus, .btn-secondary.active:hover, .btn-secondary.active:focus, .btn-secondary.active.focus,
    .open > .btn-secondary.dropdown-toggle:hover,
    .open > .btn-secondary.dropdown-toggle:focus,
    .open > .btn-secondary.dropdown-toggle.focus {
      color: #373a3c;
      background-color: #d4d4d4;
      border-color: #8c8c8c; }
  .btn-secondary.disabled:focus, .btn-secondary.disabled.focus, .btn-secondary:disabled:focus, .btn-secondary:disabled.focus {
    background-color: #fff;
    border-color: #ccc; }
  .btn-secondary.disabled:hover, .btn-secondary:disabled:hover {
    background-color: #fff;
    border-color: #ccc; }

.btn-info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #5bc0de; }
  .btn-info:hover {
    color: #fff;
    background-color: #31b0d5;
    border-color: #2aabd2; }
  .btn-info:focus, .btn-info.focus {
    color: #fff;
    background-color: #31b0d5;
    border-color: #2aabd2; }
  .btn-info:active, .btn-info.active,
  .open > .btn-info.dropdown-toggle {
    color: #fff;
    background-color: #31b0d5;
    border-color: #2aabd2;
    background-image: none; }
    .btn-info:active:hover, .btn-info:active:focus, .btn-info:active.focus, .btn-info.active:hover, .btn-info.active:focus, .btn-info.active.focus,
    .open > .btn-info.dropdown-toggle:hover,
    .open > .btn-info.dropdown-toggle:focus,
    .open > .btn-info.dropdown-toggle.focus {
      color: #fff;
      background-color: #269abc;
      border-color: #1f7e9a; }
  .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info:disabled:focus, .btn-info:disabled.focus {
    background-color: #5bc0de;
    border-color: #5bc0de; }
  .btn-info.disabled:hover, .btn-info:disabled:hover {
    background-color: #5bc0de;
    border-color: #5bc0de; }

.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #5cb85c; }
  .btn-success:hover {
    color: #fff;
    background-color: #449d44;
    border-color: #419641; }
  .btn-success:focus, .btn-success.focus {
    color: #fff;
    background-color: #449d44;
    border-color: #419641; }
  .btn-success:active, .btn-success.active,
  .open > .btn-success.dropdown-toggle {
    color: #fff;
    background-color: #449d44;
    border-color: #419641;
    background-image: none; }
    .btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus,
    .open > .btn-success.dropdown-toggle:hover,
    .open > .btn-success.dropdown-toggle:focus,
    .open > .btn-success.dropdown-toggle.focus {
      color: #fff;
      background-color: #398439;
      border-color: #2d672d; }
  .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success:disabled:focus, .btn-success:disabled.focus {
    background-color: #5cb85c;
    border-color: #5cb85c; }
  .btn-success.disabled:hover, .btn-success:disabled:hover {
    background-color: #5cb85c;
    border-color: #5cb85c; }

.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #f0ad4e; }
  .btn-warning:hover {
    color: #fff;
    background-color: #ec971f;
    border-color: #eb9316; }
  .btn-warning:focus, .btn-warning.focus {
    color: #fff;
    background-color: #ec971f;
    border-color: #eb9316; }
  .btn-warning:active, .btn-warning.active,
  .open > .btn-warning.dropdown-toggle {
    color: #fff;
    background-color: #ec971f;
    border-color: #eb9316;
    background-image: none; }
    .btn-warning:active:hover, .btn-warning:active:focus, .btn-warning:active.focus, .btn-warning.active:hover, .btn-warning.active:focus, .btn-warning.active.focus,
    .open > .btn-warning.dropdown-toggle:hover,
    .open > .btn-warning.dropdown-toggle:focus,
    .open > .btn-warning.dropdown-toggle.focus {
      color: #fff;
      background-color: #d58512;
      border-color: #b06d0f; }
  .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning:disabled:focus, .btn-warning:disabled.focus {
    background-color: #f0ad4e;
    border-color: #f0ad4e; }
  .btn-warning.disabled:hover, .btn-warning:disabled:hover {
    background-color: #f0ad4e;
    border-color: #f0ad4e; }

.btn-danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d9534f; }
  .btn-danger:hover {
    color: #fff;
    background-color: #c9302c;
    border-color: #c12e2a; }
  .btn-danger:focus, .btn-danger.focus {
    color: #fff;
    background-color: #c9302c;
    border-color: #c12e2a; }
  .btn-danger:active, .btn-danger.active,
  .open > .btn-danger.dropdown-toggle {
    color: #fff;
    background-color: #c9302c;
    border-color: #c12e2a;
    background-image: none; }
    .btn-danger:active:hover, .btn-danger:active:focus, .btn-danger:active.focus, .btn-danger.active:hover, .btn-danger.active:focus, .btn-danger.active.focus,
    .open > .btn-danger.dropdown-toggle:hover,
    .open > .btn-danger.dropdown-toggle:focus,
    .open > .btn-danger.dropdown-toggle.focus {
      color: #fff;
      background-color: #ac2925;
      border-color: #8b211e; }
  .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger:disabled:focus, .btn-danger:disabled.focus {
    background-color: #d9534f;
    border-color: #d9534f; }
  .btn-danger.disabled:hover, .btn-danger:disabled:hover {
    background-color: #d9534f;
    border-color: #d9534f; }

.btn-primary-outline {
  color: #0275d8;
  background-image: none;
  background-color: transparent;
  border-color: #0275d8; }
  .btn-primary-outline:focus, .btn-primary-outline.focus, .btn-primary-outline:active, .btn-primary-outline.active,
  .open > .btn-primary-outline.dropdown-toggle {
    color: #fff;
    background-color: #0275d8;
    border-color: #0275d8; }
  .btn-primary-outline:hover {
    color: #fff;
    background-color: #0275d8;
    border-color: #0275d8; }
  .btn-primary-outline.disabled:focus, .btn-primary-outline.disabled.focus, .btn-primary-outline:disabled:focus, .btn-primary-outline:disabled.focus {
    border-color: #43a7fd; }
  .btn-primary-outline.disabled:hover, .btn-primary-outline:disabled:hover {
    border-color: #43a7fd; }

.btn-secondary-outline {
  color: #ccc;
  background-image: none;
  background-color: transparent;
  border-color: #ccc; }
  .btn-secondary-outline:focus, .btn-secondary-outline.focus, .btn-secondary-outline:active, .btn-secondary-outline.active,
  .open > .btn-secondary-outline.dropdown-toggle {
    color: #fff;
    background-color: #ccc;
    border-color: #ccc; }
  .btn-secondary-outline:hover {
    color: #fff;
    background-color: #ccc;
    border-color: #ccc; }
  .btn-secondary-outline.disabled:focus, .btn-secondary-outline.disabled.focus, .btn-secondary-outline:disabled:focus, .btn-secondary-outline:disabled.focus {
    border-color: white; }
  .btn-secondary-outline.disabled:hover, .btn-secondary-outline:disabled:hover {
    border-color: white; }

.btn-info-outline {
  color: #5bc0de;
  background-image: none;
  background-color: transparent;
  border-color: #5bc0de; }
  .btn-info-outline:focus, .btn-info-outline.focus, .btn-info-outline:active, .btn-info-outline.active,
  .open > .btn-info-outline.dropdown-toggle {
    color: #fff;
    background-color: #5bc0de;
    border-color: #5bc0de; }
  .btn-info-outline:hover {
    color: #fff;
    background-color: #5bc0de;
    border-color: #5bc0de; }
  .btn-info-outline.disabled:focus, .btn-info-outline.disabled.focus, .btn-info-outline:disabled:focus, .btn-info-outline:disabled.focus {
    border-color: #b0e1ef; }
  .btn-info-outline.disabled:hover, .btn-info-outline:disabled:hover {
    border-color: #b0e1ef; }

.btn-success-outline {
  color: #5cb85c;
  background-image: none;
  background-color: transparent;
  border-color: #5cb85c; }
  .btn-success-outline:focus, .btn-success-outline.focus, .btn-success-outline:active, .btn-success-outline.active,
  .open > .btn-success-outline.dropdown-toggle {
    color: #fff;
    background-color: #5cb85c;
    border-color: #5cb85c; }
  .btn-success-outline:hover {
    color: #fff;
    background-color: #5cb85c;
    border-color: #5cb85c; }
  .btn-success-outline.disabled:focus, .btn-success-outline.disabled.focus, .btn-success-outline:disabled:focus, .btn-success-outline:disabled.focus {
    border-color: #a3d7a3; }
  .btn-success-outline.disabled:hover, .btn-success-outline:disabled:hover {
    border-color: #a3d7a3; }

.btn-warning-outline {
  color: #f0ad4e;
  background-image: none;
  background-color: transparent;
  border-color: #f0ad4e; }
  .btn-warning-outline:focus, .btn-warning-outline.focus, .btn-warning-outline:active, .btn-warning-outline.active,
  .open > .btn-warning-outline.dropdown-toggle {
    color: #fff;
    background-color: #f0ad4e;
    border-color: #f0ad4e; }
  .btn-warning-outline:hover {
    color: #fff;
    background-color: #f0ad4e;
    border-color: #f0ad4e; }
  .btn-warning-outline.disabled:focus, .btn-warning-outline.disabled.focus, .btn-warning-outline:disabled:focus, .btn-warning-outline:disabled.focus {
    border-color: #f8d9ac; }
  .btn-warning-outline.disabled:hover, .btn-warning-outline:disabled:hover {
    border-color: #f8d9ac; }

.btn-danger-outline {
  color: #d9534f;
  background-image: none;
  background-color: transparent;
  border-color: #d9534f; }
  .btn-danger-outline:focus, .btn-danger-outline.focus, .btn-danger-outline:active, .btn-danger-outline.active,
  .open > .btn-danger-outline.dropdown-toggle {
    color: #fff;
    background-color: #d9534f;
    border-color: #d9534f; }
  .btn-danger-outline:hover {
    color: #fff;
    background-color: #d9534f;
    border-color: #d9534f; }
  .btn-danger-outline.disabled:focus, .btn-danger-outline.disabled.focus, .btn-danger-outline:disabled:focus, .btn-danger-outline:disabled.focus {
    border-color: #eba5a3; }
  .btn-danger-outline.disabled:hover, .btn-danger-outline:disabled:hover {
    border-color: #eba5a3; }

.btn-link {
  font-weight: normal;
  color: #0275d8;
  border-radius: 0; }
  .btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {
    background-color: transparent; }
  .btn-link, .btn-link:focus, .btn-link:active {
    border-color: transparent; }
  .btn-link:hover {
    border-color: transparent; }
  .btn-link:focus, .btn-link:hover {
    color: #014c8c;
    text-decoration: underline;
    background-color: transparent; }
  .btn-link:disabled:focus, .btn-link:disabled:hover {
    color: #818a91;
    text-decoration: none; }

.btn-lg, .btn-group-lg > .btn {
  padding: 0.75rem 1.25rem;
  font-size: 1.25rem;
  line-height: 1.33333;
  border-radius: 0.3rem; }

.btn-sm, .btn-group-sm > .btn {
  padding: 0.25rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem; }

.btn-block {
  display: block;
  width: 100%; }

.btn-block + .btn-block {
  margin-top: 5px; }

input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%; }

.fade {
  opacity: 0;
  transition: opacity .15s linear; }
  .fade.in {
    opacity: 1; }

.collapse {
  display: none; }
  .collapse.in {
    display: block; }

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition-timing-function: ease;
  transition-duration: .35s;
  transition-property: height; }

.dropup,
.dropdown {
  position: relative; }

.dropdown-toggle::after {
  display: inline-block;
  width: 0;
  height: 0;
  margin-right: .25rem;
  margin-left: .25rem;
  vertical-align: middle;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-left: 0.3em solid transparent; }

.dropdown-toggle:focus {
  outline: 0; }

.dropup .dropdown-toggle::after {
  border-top: 0;
  border-bottom: 0.3em solid; }

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  font-size: 1rem;
  color: #373a3c;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem; }

.dropdown-divider {
  height: 1px;
  margin: 0.5rem 0;
  overflow: hidden;
  background-color: #e5e5e5; }

.dropdown-item {
  display: block;
  width: 100%;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.5;
  color: #373a3c;
  text-align: inherit;
  white-space: nowrap;
  background: none;
  border: 0; }
  .dropdown-item:focus, .dropdown-item:hover {
    color: #2b2d2f;
    text-decoration: none;
    background-color: #f5f5f5; }
  .dropdown-item.active, .dropdown-item.active:focus, .dropdown-item.active:hover {
    color: #fff;
    text-decoration: none;
    background-color: #0275d8;
    outline: 0; }
  .dropdown-item.disabled, .dropdown-item.disabled:focus, .dropdown-item.disabled:hover {
    color: #818a91; }
  .dropdown-item.disabled:focus, .dropdown-item.disabled:hover {
    text-decoration: none;
    cursor: not-allowed;
    background-color: transparent;
    background-image: none;
    filter: "progid:DXImageTransform.Microsoft.gradient(enabled = false)"; }

.open > .dropdown-menu {
  display: block; }

.open > a {
  outline: 0; }

.dropdown-menu-right {
  right: 0;
  left: auto; }

.dropdown-menu-left {
  right: auto;
  left: 0; }

.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #818a91;
  white-space: nowrap; }

.dropdown-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 990; }

.pull-right > .dropdown-menu {
  right: 0;
  left: auto; }

.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  content: "";
  border-top: 0;
  border-bottom: 0.3em solid; }

.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px; }

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle; }
  .btn-group > .btn,
  .btn-group-vertical > .btn {
    position: relative;
    float: left; }
    .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
    .btn-group-vertical > .btn:focus,
    .btn-group-vertical > .btn:active,
    .btn-group-vertical > .btn.active {
      z-index: 2; }
    .btn-group > .btn:hover,
    .btn-group-vertical > .btn:hover {
      z-index: 2; }

.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: -1px; }

.btn-toolbar {
  margin-left: -5px; }
  .btn-toolbar::after {
    content: "";
    display: table;
    clear: both; }
  .btn-toolbar .btn-group,
  .btn-toolbar .input-group {
    float: left; }
  .btn-toolbar > .btn,
  .btn-toolbar > .btn-group,
  .btn-toolbar > .input-group {
    margin-left: 5px; }

.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0; }

.btn-group > .btn:first-child {
  margin-left: 0; }
  .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0; }

.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0; }

.btn-group > .btn-group {
  float: left; }

.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0; }

.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0; }

.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0; }

.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0; }

.btn-group > .btn + .dropdown-toggle {
  padding-right: 8px;
  padding-left: 8px; }

.btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle {
  padding-right: 12px;
  padding-left: 12px; }

.btn .caret {
  margin-left: 0; }

.btn-lg .caret, .btn-group-lg > .btn .caret {
  border-width: 0.3em 0.3em 0;
  border-bottom-width: 0; }

.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret {
  border-width: 0 0.3em 0.3em; }

.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%; }

.btn-group-vertical > .btn-group::after {
  content: "";
  display: table;
  clear: both; }

.btn-group-vertical > .btn-group > .btn {
  float: none; }

.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0; }

.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
  border-radius: 0; }

.btn-group-vertical > .btn:first-child:not(:last-child) {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0; }

.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-bottom-left-radius: 0.25rem;
  border-top-right-radius: 0;
  border-top-left-radius: 0; }

.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0; }

.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0; }

.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0; }

[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none; }

.input-group {
  position: relative;
  display: table;
  border-collapse: separate; }
  .input-group .form-control {
    position: relative;
    z-index: 2;
    float: left;
    width: 100%;
    margin-bottom: 0; }
    .input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {
      z-index: 3; }

.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell; }
  .input-group-addon:not(:first-child):not(:last-child),
  .input-group-btn:not(:first-child):not(:last-child),
  .input-group .form-control:not(:first-child):not(:last-child) {
    border-radius: 0; }

.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle; }

.input-group-addon {
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1;
  color: #55595c;
  text-align: center;
  background-color: #eceeef;
  border: 1px solid #ccc;
  border-radius: 0.25rem; }
  .input-group-addon.form-control-sm,
  .input-group-sm > .input-group-addon,
  .input-group-sm > .input-group-btn > .input-group-addon.btn {
    padding: 0.275rem 0.75rem;
    font-size: 0.875rem;
    border-radius: 0.2rem; }
  .input-group-addon.form-control-lg,
  .input-group-lg > .input-group-addon,
  .input-group-lg > .input-group-btn > .input-group-addon.btn {
    padding: 0.75rem 1.25rem;
    font-size: 1.25rem;
    border-radius: 0.3rem; }
  .input-group-addon input[type="radio"],
  .input-group-addon input[type="checkbox"] {
    margin-top: 0; }

.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0; }

.input-group-addon:first-child {
  border-right: 0; }

.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0; }

.input-group-addon:last-child {
  border-left: 0; }

.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap; }
  .input-group-btn > .btn {
    position: relative; }
    .input-group-btn > .btn + .btn {
      margin-left: -1px; }
    .input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {
      z-index: 3; }
  .input-group-btn:first-child > .btn,
  .input-group-btn:first-child > .btn-group {
    margin-right: -1px; }
  .input-group-btn:last-child > .btn,
  .input-group-btn:last-child > .btn-group {
    z-index: 2;
    margin-left: -1px; }
    .input-group-btn:last-child > .btn:focus, .input-group-btn:last-child > .btn:active, .input-group-btn:last-child > .btn:hover,
    .input-group-btn:last-child > .btn-group:focus,
    .input-group-btn:last-child > .btn-group:active,
    .input-group-btn:last-child > .btn-group:hover {
      z-index: 3; }

.c-input {
  position: relative;
  display: inline;
  padding-left: 1.5rem;
  color: #555;
  cursor: pointer; }
  .c-input > input {
    position: absolute;
    z-index: -1;
    opacity: 0; }
    .c-input > input:checked ~ .c-indicator {
      color: #fff;
      background-color: #0074d9; }
    .c-input > input:focus ~ .c-indicator {
      box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9; }
    .c-input > input:active ~ .c-indicator {
      color: #fff;
      background-color: #84c6ff; }
  .c-input + .c-input {
    margin-left: 1rem; }

.c-indicator {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  font-size: 65%;
  line-height: 1rem;
  color: #eee;
  text-align: center;
  user-select: none;
  background-color: #eee;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50% 50%; }

.c-checkbox .c-indicator {
  border-radius: .25rem; }

.c-checkbox input:checked ~ .c-indicator {
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTYuNCwxTDUuNywxLjdMMi45LDQuNUwyLjEsMy43TDEuNCwzTDAsNC40bDAuNywwLjdsMS41LDEuNWwwLjcsMC43bDAuNy0wLjdsMy41LTMuNWwwLjctMC43TDYuNCwxTDYuNCwxeiINCgkvPg0KPC9zdmc+DQo=); }

.c-checkbox input:indeterminate ~ .c-indicator {
  background-color: #0074d9;
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iOHB4IiBoZWlnaHQ9IjhweCIgdmlld0JveD0iMCAwIDggOCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOCA4IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0wLDN2Mmg4VjNIMHoiLz4NCjwvc3ZnPg0K); }

.c-radio .c-indicator {
  border-radius: 50%; }

.c-radio input:checked ~ .c-indicator {
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTQsMUMyLjMsMSwxLDIuMywxLDRzMS4zLDMsMywzczMtMS4zLDMtM1M1LjcsMSw0LDF6Ii8+DQo8L3N2Zz4NCg==); }

.c-inputs-stacked .c-input {
  display: inline; }
  .c-inputs-stacked .c-input::after {
    display: block;
    margin-bottom: .25rem;
    content: ""; }
  .c-inputs-stacked .c-input + .c-input {
    margin-left: 0; }

.c-select {
  display: inline-block;
  max-width: 100%;
  padding: .375rem 1.75rem .375rem .75rem;
  padding-right: .75rem \9;
  color: #55595c;
  vertical-align: middle;
  background: #fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAMAAACzvE1FAAAADFBMVEUzMzMzMzMzMzMzMzMKAG/3AAAAA3RSTlMAf4C/aSLHAAAAPElEQVR42q3NMQ4AIAgEQTn//2cLdRKppSGzBYwzVXvznNWs8C58CiussPJj8h6NwgorrKRdTvuV9v16Afn0AYFOB7aYAAAAAElFTkSuQmCC) no-repeat right 0.75rem center;
  background-image: none \9;
  background-size: 8px 10px;
  border: 1px solid #ccc;
  -moz-appearance: none;
  -webkit-appearance: none; }
  .c-select:focus {
    border-color: #51a7e8;
    outline: none; }
  .c-select::-ms-expand {
    opacity: 0; }

.c-select-sm {
  padding-top: 3px;
  padding-bottom: 3px;
  font-size: 12px; }
  .c-select-sm:not([multiple]) {
    height: 26px;
    min-height: 26px; }

.file {
  position: relative;
  display: inline-block;
  height: 2.5rem;
  cursor: pointer; }

.file input {
  min-width: 14rem;
  margin: 0;
  filter: alpha(opacity=0);
  opacity: 0; }

.file-custom {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 5;
  height: 2.5rem;
  padding: .5rem 1rem;
  line-height: 1.5;
  color: #555;
  user-select: none;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: .25rem; }

.file-custom::after {
  content: "Choose file..."; }

.file-custom::before {
  position: absolute;
  top: -.075rem;
  right: -.075rem;
  bottom: -.075rem;
  z-index: 6;
  display: block;
  height: 2.5rem;
  padding: .5rem 1rem;
  line-height: 1.5;
  color: #555;
  content: "Browse";
  background-color: #eee;
  border: 1px solid #ddd;
  border-radius: 0 .25rem .25rem 0; }

.nav {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }

.nav-link {
  display: inline-block; }
  .nav-link:focus, .nav-link:hover {
    text-decoration: none; }
  .nav-link.disabled {
    color: #818a91; }
    .nav-link.disabled, .nav-link.disabled:focus, .nav-link.disabled:hover {
      color: #818a91;
      cursor: not-allowed;
      background-color: transparent; }

.nav-inline .nav-item {
  display: inline-block; }

.nav-inline .nav-item + .nav-item,
.nav-inline .nav-link + .nav-link {
  margin-left: 1rem; }

.nav-tabs {
  border-bottom: 1px solid #ddd; }
  .nav-tabs::after {
    content: "";
    display: table;
    clear: both; }
  .nav-tabs .nav-item {
    float: left;
    margin-bottom: -1px; }
    .nav-tabs .nav-item + .nav-item {
      margin-left: .2rem; }
  .nav-tabs .nav-link {
    display: block;
    padding: 0.5em 1em;
    border: 1px solid transparent;
    border-radius: 0.25rem 0.25rem 0 0; }
    .nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
      border-color: #eceeef #eceeef #ddd; }
    .nav-tabs .nav-link.disabled, .nav-tabs .nav-link.disabled:focus, .nav-tabs .nav-link.disabled:hover {
      color: #818a91;
      background-color: transparent;
      border-color: transparent; }
  .nav-tabs .nav-link.active, .nav-tabs .nav-link.active:focus, .nav-tabs .nav-link.active:hover,
  .nav-tabs .nav-item.open .nav-link,
  .nav-tabs .nav-item.open .nav-link:focus,
  .nav-tabs .nav-item.open .nav-link:hover {
    color: #55595c;
    background-color: #fff;
    border-color: #ddd #ddd transparent; }

.nav-pills::after {
  content: "";
  display: table;
  clear: both; }

.nav-pills .nav-item {
  float: left; }
  .nav-pills .nav-item + .nav-item {
    margin-left: .2rem; }

.nav-pills .nav-link {
  display: block;
  padding: 0.5em 1em;
  border-radius: 0.25rem; }

.nav-pills .nav-link.active, .nav-pills .nav-link.active:focus, .nav-pills .nav-link.active:hover,
.nav-pills .nav-item.open .nav-link,
.nav-pills .nav-item.open .nav-link:focus,
.nav-pills .nav-item.open .nav-link:hover {
  color: #fff;
  cursor: default;
  background-color: #0275d8; }

.nav-stacked .nav-item {
  display: block;
  float: none; }
  .nav-stacked .nav-item + .nav-item {
    margin-top: .2rem;
    margin-left: 0; }

.tab-content > .tab-pane {
  display: none; }

.tab-content > .active {
  display: block; }

.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0; }

.navbar {
  position: relative;
  padding: 0.5rem 1rem; }
  .navbar::after {
    content: "";
    display: table;
    clear: both; }
  @media (min-width: 544px) {
    .navbar {
      border-radius: 0.25rem; } }

.navbar-full {
  z-index: 1000; }
  @media (min-width: 544px) {
    .navbar-full {
      border-radius: 0; } }

.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030; }
  @media (min-width: 544px) {
    .navbar-fixed-top,
    .navbar-fixed-bottom {
      border-radius: 0; } }

.navbar-fixed-top {
  top: 0; }

.navbar-fixed-bottom {
  bottom: 0; }

.navbar-sticky-top {
  position: sticky;
  top: 0;
  z-index: 1030;
  width: 100%; }
  @media (min-width: 544px) {
    .navbar-sticky-top {
      border-radius: 0; } }

.navbar-brand {
  float: left;
  padding-top: .25rem;
  padding-bottom: .25rem;
  margin-right: 1rem;
  font-size: 1.25rem; }
  .navbar-brand:focus, .navbar-brand:hover {
    text-decoration: none; }
  .navbar-brand > img {
    display: block; }

.navbar-divider {
  float: left;
  width: 1px;
  padding-top: .425rem;
  padding-bottom: .425rem;
  margin-right: 1rem;
  margin-left: 1rem;
  overflow: hidden; }
  .navbar-divider::before {
    content: "\00a0"; }

.navbar-toggler {
  padding: .5rem .75rem;
  font-size: 1.25rem;
  line-height: 1;
  background: none;
  border: 1px solid transparent;
  border-radius: 0.25rem; }
  .navbar-toggler:focus, .navbar-toggler:hover {
    text-decoration: none; }

@media (min-width: 544px) {
  .navbar-toggleable-xs {
    display: block !important; } }

@media (min-width: 768px) {
  .navbar-toggleable-sm {
    display: block !important; } }

@media (min-width: 992px) {
  .navbar-toggleable-md {
    display: block !important; } }

.navbar-nav .nav-item {
  float: left; }

.navbar-nav .nav-link {
  display: block;
  padding-top: .425rem;
  padding-bottom: .425rem; }
  .navbar-nav .nav-link + .nav-link {
    margin-left: 1rem; }

.navbar-nav .nav-item + .nav-item {
  margin-left: 1rem; }

.navbar-light .navbar-brand {
  color: rgba(0, 0, 0, 0.8); }
  .navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover {
    color: rgba(0, 0, 0, 0.8); }

.navbar-light .navbar-nav .nav-link {
  color: rgba(0, 0, 0, 0.3); }
  .navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
    color: rgba(0, 0, 0, 0.6); }

.navbar-light .navbar-nav .open > .nav-link, .navbar-light .navbar-nav .open > .nav-link:focus, .navbar-light .navbar-nav .open > .nav-link:hover,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .active > .nav-link:focus,
.navbar-light .navbar-nav .active > .nav-link:hover,
.navbar-light .navbar-nav .nav-link.open,
.navbar-light .navbar-nav .nav-link.open:focus,
.navbar-light .navbar-nav .nav-link.open:hover,
.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .nav-link.active:focus,
.navbar-light .navbar-nav .nav-link.active:hover {
  color: rgba(0, 0, 0, 0.8); }

.navbar-light .navbar-divider {
  background-color: rgba(0, 0, 0, 0.075); }

.navbar-dark .navbar-brand {
  color: white; }
  .navbar-dark .navbar-brand:focus, .navbar-dark .navbar-brand:hover {
    color: white; }

.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.5); }
  .navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {
    color: rgba(255, 255, 255, 0.75); }

.navbar-dark .navbar-nav .open > .nav-link, .navbar-dark .navbar-nav .open > .nav-link:focus, .navbar-dark .navbar-nav .open > .nav-link:hover,
.navbar-dark .navbar-nav .active > .nav-link,
.navbar-dark .navbar-nav .active > .nav-link:focus,
.navbar-dark .navbar-nav .active > .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.open,
.navbar-dark .navbar-nav .nav-link.open:focus,
.navbar-dark .navbar-nav .nav-link.open:hover,
.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .nav-link.active:focus,
.navbar-dark .navbar-nav .nav-link.active:hover {
  color: white; }

.navbar-dark .navbar-divider {
  background-color: rgba(255, 255, 255, 0.075); }

.card {
  position: relative;
  display: block;
  margin-bottom: 0.75rem;
  background-color: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 0.25rem; }

.card-block {
  padding: 1.25rem; }

.card-title {
  margin-bottom: 0.75rem; }

.card-subtitle {
  margin-top: -0.375rem;
  margin-bottom: 0; }

.card-text:last-child {
  margin-bottom: 0; }

.card-link:hover {
  text-decoration: none; }

.card-link + .card-link {
  margin-left: 1.25rem; }

.card > .list-group:first-child .list-group-item:first-child {
  border-radius: 0.25rem 0.25rem 0 0; }

.card > .list-group:last-child .list-group-item:last-child {
  border-radius: 0 0 0.25rem 0.25rem; }

.card-header {
  padding: 0.75rem 1.25rem;
  background-color: #f5f5f5;
  border-bottom: 1px solid #e5e5e5; }
  .card-header:first-child {
    border-radius: 0.25rem 0.25rem 0 0; }

.card-footer {
  padding: 0.75rem 1.25rem;
  background-color: #f5f5f5;
  border-top: 1px solid #e5e5e5; }
  .card-footer:last-child {
    border-radius: 0 0 0.25rem 0.25rem; }

.card-primary {
  background-color: #0275d8;
  border-color: #0275d8; }

.card-success {
  background-color: #5cb85c;
  border-color: #5cb85c; }

.card-info {
  background-color: #5bc0de;
  border-color: #5bc0de; }

.card-warning {
  background-color: #f0ad4e;
  border-color: #f0ad4e; }

.card-danger {
  background-color: #d9534f;
  border-color: #d9534f; }

.card-primary-outline {
  background-color: transparent;
  border-color: #0275d8; }

.card-secondary-outline {
  background-color: transparent;
  border-color: #ccc; }

.card-info-outline {
  background-color: transparent;
  border-color: #5bc0de; }

.card-success-outline {
  background-color: transparent;
  border-color: #5cb85c; }

.card-warning-outline {
  background-color: transparent;
  border-color: #f0ad4e; }

.card-danger-outline {
  background-color: transparent;
  border-color: #d9534f; }

.card-inverse .card-header,
.card-inverse .card-footer {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2); }

.card-inverse .card-header,
.card-inverse .card-footer,
.card-inverse .card-title,
.card-inverse .card-blockquote {
  color: #fff; }

.card-inverse .card-link,
.card-inverse .card-text,
.card-inverse .card-blockquote > footer {
  color: rgba(255, 255, 255, 0.65); }

.card-inverse .card-link:focus, .card-inverse .card-link:hover {
  color: #fff; }

.card-blockquote {
  padding: 0;
  margin-bottom: 0;
  border-left: 0; }

.card-img {
  border-radius: 0.25rem; }

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem; }

.card-img-top {
  border-radius: 0.25rem 0.25rem 0 0; }

.card-img-bottom {
  border-radius: 0 0 0.25rem 0.25rem; }

@media (min-width: 544px) {
  .card-deck {
    display: table;
    table-layout: fixed;
    border-spacing: 1.25rem 0; }
    .card-deck .card {
      display: table-cell;
      width: 1%;
      vertical-align: top; }
  .card-deck-wrapper {
    margin-right: -1.25rem;
    margin-left: -1.25rem; } }

@media (min-width: 544px) {
  .card-group {
    display: table;
    width: 100%;
    table-layout: fixed; }
    .card-group .card {
      display: table-cell;
      vertical-align: top; }
      .card-group .card + .card {
        margin-left: 0;
        border-left: 0; }
      .card-group .card:first-child {
        border-bottom-right-radius: 0;
        border-top-right-radius: 0; }
        .card-group .card:first-child .card-img-top {
          border-top-right-radius: 0; }
        .card-group .card:first-child .card-img-bottom {
          border-bottom-right-radius: 0; }
      .card-group .card:last-child {
        border-bottom-left-radius: 0;
        border-top-left-radius: 0; }
        .card-group .card:last-child .card-img-top {
          border-top-left-radius: 0; }
        .card-group .card:last-child .card-img-bottom {
          border-bottom-left-radius: 0; }
      .card-group .card:not(:first-child):not(:last-child) {
        border-radius: 0; }
        .card-group .card:not(:first-child):not(:last-child) .card-img-top,
        .card-group .card:not(:first-child):not(:last-child) .card-img-bottom {
          border-radius: 0; } }

@media (min-width: 544px) {
  .card-columns {
    column-count: 3;
    column-gap: 1.25rem; }
    .card-columns .card {
      display: inline-block;
      width: 100%; } }

.breadcrumb {
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  list-style: none;
  background-color: #eceeef;
  border-radius: 0.25rem; }
  .breadcrumb::after {
    content: "";
    display: table;
    clear: both; }
  .breadcrumb > li {
    float: left; }
    .breadcrumb > li + li::before {
      padding-right: .5rem;
      padding-left: .5rem;
      color: #818a91;
      content: "/"; }
  .breadcrumb > .active {
    color: #818a91; }

.pagination {
  display: inline-block;
  padding-left: 0;
  margin-top: 1rem;
  margin-bottom: 1rem;
  border-radius: 0.25rem; }

.page-item {
  display: inline; }
  .page-item:first-child .page-link {
    margin-left: 0;
    border-bottom-left-radius: 0.25rem;
    border-top-left-radius: 0.25rem; }
  .page-item:last-child .page-link {
    border-bottom-right-radius: 0.25rem;
    border-top-right-radius: 0.25rem; }
  .page-item.active .page-link, .page-item.active .page-link:focus, .page-item.active .page-link:hover {
    z-index: 2;
    color: #fff;
    cursor: default;
    background-color: #0275d8;
    border-color: #0275d8; }
  .page-item.disabled .page-link, .page-item.disabled .page-link:focus, .page-item.disabled .page-link:hover {
    color: #818a91;
    cursor: not-allowed;
    background-color: #fff;
    border-color: #ddd; }

.page-link {
  position: relative;
  float: left;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.5;
  color: #0275d8;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #ddd; }
  .page-link:focus, .page-link:hover {
    color: #014c8c;
    background-color: #eceeef;
    border-color: #ddd; }

.pagination-lg .page-link {
  padding: 0.75rem 1.5rem;
  font-size: 1.25rem;
  line-height: 1.33333; }

.pagination-lg .page-item:first-child .page-link {
  border-bottom-left-radius: 0.3rem;
  border-top-left-radius: 0.3rem; }

.pagination-lg .page-item:last-child .page-link {
  border-bottom-right-radius: 0.3rem;
  border-top-right-radius: 0.3rem; }

.pagination-sm .page-link {
  padding: 0.275rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.5; }

.pagination-sm .page-item:first-child .page-link {
  border-bottom-left-radius: 0.2rem;
  border-top-left-radius: 0.2rem; }

.pagination-sm .page-item:last-child .page-link {
  border-bottom-right-radius: 0.2rem;
  border-top-right-radius: 0.2rem; }

.pager {
  padding-left: 0;
  margin-top: 1rem;
  margin-bottom: 1rem;
  text-align: center;
  list-style: none; }
  .pager::after {
    content: "";
    display: table;
    clear: both; }
  .pager li {
    display: inline; }
    .pager li > a,
    .pager li > span {
      display: inline-block;
      padding: 5px 14px;
      background-color: #fff;
      border: 1px solid #ddd;
      border-radius: 15px; }
    .pager li > a:focus, .pager li > a:hover {
      text-decoration: none;
      background-color: #eceeef; }
  .pager .disabled > a, .pager .disabled > a:focus, .pager .disabled > a:hover {
    color: #818a91;
    cursor: not-allowed;
    background-color: #fff; }
  .pager .disabled > span {
    color: #818a91;
    cursor: not-allowed;
    background-color: #fff; }

.pager-next > a,
.pager-next > span {
  float: right; }

.pager-prev > a,
.pager-prev > span {
  float: left; }

.label {
  display: inline-block;
  padding: .25em .4em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem; }
  .label:empty {
    display: none; }

.btn .label {
  position: relative;
  top: -1px; }

a.label:focus, a.label:hover {
  color: #fff;
  text-decoration: none;
  cursor: pointer; }

.label-pill {
  padding-right: .6em;
  padding-left: .6em;
  border-radius: 10rem; }

.label-default {
  background-color: #818a91; }
  .label-default[href]:focus, .label-default[href]:hover {
    background-color: #687077; }

.label-primary {
  background-color: #0275d8; }
  .label-primary[href]:focus, .label-primary[href]:hover {
    background-color: #025aa5; }

.label-success {
  background-color: #5cb85c; }
  .label-success[href]:focus, .label-success[href]:hover {
    background-color: #449d44; }

.label-info {
  background-color: #5bc0de; }
  .label-info[href]:focus, .label-info[href]:hover {
    background-color: #31b0d5; }

.label-warning {
  background-color: #f0ad4e; }
  .label-warning[href]:focus, .label-warning[href]:hover {
    background-color: #ec971f; }

.label-danger {
  background-color: #d9534f; }
  .label-danger[href]:focus, .label-danger[href]:hover {
    background-color: #c9302c; }

.jumbotron {
  padding: 2rem 1rem;
  margin-bottom: 2rem;
  background-color: #eceeef;
  border-radius: 0.3rem; }
  @media (min-width: 544px) {
    .jumbotron {
      padding: 4rem 2rem; } }

.jumbotron-hr {
  border-top-color: #d0d5d8; }

.jumbotron-fluid {
  padding-right: 0;
  padding-left: 0;
  border-radius: 0; }

.alert {
  padding: 15px;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem; }
  .alert > p,
  .alert > ul {
    margin-bottom: 0; }
  .alert > p + p {
    margin-top: 5px; }

.alert-heading {
  color: inherit; }

.alert-link {
  font-weight: bold; }

.alert-dismissible {
  padding-right: 35px; }
  .alert-dismissible .close {
    position: relative;
    top: -2px;
    right: -21px;
    color: inherit; }

.alert-success {
  background-color: #dff0d8;
  border-color: #d0e9c6;
  color: #3c763d; }
  .alert-success hr {
    border-top-color: #c1e2b3; }
  .alert-success .alert-link {
    color: #2b542c; }

.alert-info {
  background-color: #d9edf7;
  border-color: #bcdff1;
  color: #31708f; }
  .alert-info hr {
    border-top-color: #a6d5ec; }
  .alert-info .alert-link {
    color: #245269; }

.alert-warning {
  background-color: #fcf8e3;
  border-color: #faf2cc;
  color: #8a6d3b; }
  .alert-warning hr {
    border-top-color: #f7ecb5; }
  .alert-warning .alert-link {
    color: #66512c; }

.alert-danger {
  background-color: #f2dede;
  border-color: #ebcccc;
  color: #a94442; }
  .alert-danger hr {
    border-top-color: #e4b9b9; }
  .alert-danger .alert-link {
    color: #843534; }

@keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0; }
  to {
    background-position: 0 0; } }

.progress {
  display: block;
  width: 100%;
  height: 1rem;
  margin-bottom: 1rem; }

.progress[value] {
  color: #0074d9;
  border: 0;
  appearance: none; }

.progress[value]::-webkit-progress-bar {
  background-color: #eee;
  border-radius: 0.25rem; }

.progress[value]::-webkit-progress-value::before {
  content: attr(value); }

.progress[value]::-webkit-progress-value {
  background-color: #0074d9;
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem; }

.progress[value="100"]::-webkit-progress-value {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem; }

@media screen and (min-width: 0\0) {
  .progress {
    background-color: #eee;
    border-radius: 0.25rem; }
  .progress-bar {
    display: inline-block;
    height: 1rem;
    text-indent: -999rem;
    background-color: #0074d9;
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem; }
  .progress[width^="0"] {
    min-width: 2rem;
    color: #818a91;
    background-color: transparent;
    background-image: none; }
  .progress[width="100%"] {
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem; } }

.progress-striped[value]::-webkit-progress-value {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 1rem 1rem; }

.progress-striped[value]::-moz-progress-bar {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 1rem 1rem; }

@media screen and (min-width: 0\0) {
  .progress-bar-striped {
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-size: 1rem 1rem; } }

.progress-animated[value]::-webkit-progress-value {
  animation: progress-bar-stripes 2s linear infinite; }

.progress-animated[value]::-moz-progress-bar {
  animation: progress-bar-stripes 2s linear infinite; }

@media screen and (min-width: 0\0) {
  .progress-animated .progress-bar-striped {
    animation: progress-bar-stripes 2s linear infinite; } }

.progress-success[value]::-webkit-progress-value {
  background-color: #5cb85c; }

.progress-success[value]::-moz-progress-bar {
  background-color: #5cb85c; }

@media screen and (min-width: 0\0) {
  .progress-success .progress-bar {
    background-color: #5cb85c; } }

.progress-info[value]::-webkit-progress-value {
  background-color: #5bc0de; }

.progress-info[value]::-moz-progress-bar {
  background-color: #5bc0de; }

@media screen and (min-width: 0\0) {
  .progress-info .progress-bar {
    background-color: #5bc0de; } }

.progress-warning[value]::-webkit-progress-value {
  background-color: #f0ad4e; }

.progress-warning[value]::-moz-progress-bar {
  background-color: #f0ad4e; }

@media screen and (min-width: 0\0) {
  .progress-warning .progress-bar {
    background-color: #f0ad4e; } }

.progress-danger[value]::-webkit-progress-value {
  background-color: #d9534f; }

.progress-danger[value]::-moz-progress-bar {
  background-color: #d9534f; }

@media screen and (min-width: 0\0) {
  .progress-danger .progress-bar {
    background-color: #d9534f; } }

.media {
  margin-top: 15px; }
  .media:first-child {
    margin-top: 0; }

.media,
.media-body {
  overflow: hidden;
  zoom: 1; }

.media-body {
  width: 10000px; }

.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top; }

.media-middle {
  vertical-align: middle; }

.media-bottom {
  vertical-align: bottom; }

.media-object {
  display: block; }
  .media-object.img-thumbnail {
    max-width: none; }

.media-right {
  padding-left: 10px; }

.media-left {
  padding-right: 10px; }

.media-heading {
  margin-top: 0;
  margin-bottom: 5px; }

.media-list {
  padding-left: 0;
  list-style: none; }

.list-group {
  padding-left: 0;
  margin-bottom: 0; }

.list-group-item {
  position: relative;
  display: block;
  padding: .75rem 1.25rem;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid #ddd; }
  .list-group-item:first-child {
    border-top-right-radius: 0.25rem;
    border-top-left-radius: 0.25rem; }
  .list-group-item:last-child {
    margin-bottom: 0;
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem; }

.list-group-flush .list-group-item {
  border-width: 1px 0;
  border-radius: 0; }

.list-group-flush:first-child .list-group-item:first-child {
  border-top: 0; }

.list-group-flush:last-child .list-group-item:last-child {
  border-bottom: 0; }

a.list-group-item,
button.list-group-item {
  width: 100%;
  color: #555;
  text-align: inherit; }
  a.list-group-item .list-group-item-heading,
  button.list-group-item .list-group-item-heading {
    color: #333; }
  a.list-group-item:focus, a.list-group-item:hover,
  button.list-group-item:focus,
  button.list-group-item:hover {
    color: #555;
    text-decoration: none;
    background-color: #f5f5f5; }

.list-group-item.disabled, .list-group-item.disabled:focus, .list-group-item.disabled:hover {
  color: #818a91;
  cursor: not-allowed;
  background-color: #eceeef; }
  .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading {
    color: inherit; }
  .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text {
    color: #818a91; }

.list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover {
  z-index: 2;
  color: #fff;
  background-color: #0275d8;
  border-color: #0275d8; }
  .list-group-item.active .list-group-item-heading,
  .list-group-item.active .list-group-item-heading > small,
  .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading,
  .list-group-item.active:focus .list-group-item-heading > small,
  .list-group-item.active:focus .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading,
  .list-group-item.active:hover .list-group-item-heading > small,
  .list-group-item.active:hover .list-group-item-heading > .small {
    color: inherit; }
  .list-group-item.active .list-group-item-text, .list-group-item.active:focus .list-group-item-text, .list-group-item.active:hover .list-group-item-text {
    color: #a8d6fe; }

.list-group-item-success {
  color: #3c763d;
  background-color: #dff0d8; }

a.list-group-item-success,
button.list-group-item-success {
  color: #3c763d; }
  a.list-group-item-success .list-group-item-heading,
  button.list-group-item-success .list-group-item-heading {
    color: inherit; }
  a.list-group-item-success:focus, a.list-group-item-success:hover,
  button.list-group-item-success:focus,
  button.list-group-item-success:hover {
    color: #3c763d;
    background-color: #d0e9c6; }
  a.list-group-item-success.active, a.list-group-item-success.active:focus, a.list-group-item-success.active:hover,
  button.list-group-item-success.active,
  button.list-group-item-success.active:focus,
  button.list-group-item-success.active:hover {
    color: #fff;
    background-color: #3c763d;
    border-color: #3c763d; }

.list-group-item-info {
  color: #31708f;
  background-color: #d9edf7; }

a.list-group-item-info,
button.list-group-item-info {
  color: #31708f; }
  a.list-group-item-info .list-group-item-heading,
  button.list-group-item-info .list-group-item-heading {
    color: inherit; }
  a.list-group-item-info:focus, a.list-group-item-info:hover,
  button.list-group-item-info:focus,
  button.list-group-item-info:hover {
    color: #31708f;
    background-color: #c4e3f3; }
  a.list-group-item-info.active, a.list-group-item-info.active:focus, a.list-group-item-info.active:hover,
  button.list-group-item-info.active,
  button.list-group-item-info.active:focus,
  button.list-group-item-info.active:hover {
    color: #fff;
    background-color: #31708f;
    border-color: #31708f; }

.list-group-item-warning {
  color: #8a6d3b;
  background-color: #fcf8e3; }

a.list-group-item-warning,
button.list-group-item-warning {
  color: #8a6d3b; }
  a.list-group-item-warning .list-group-item-heading,
  button.list-group-item-warning .list-group-item-heading {
    color: inherit; }
  a.list-group-item-warning:focus, a.list-group-item-warning:hover,
  button.list-group-item-warning:focus,
  button.list-group-item-warning:hover {
    color: #8a6d3b;
    background-color: #faf2cc; }
  a.list-group-item-warning.active, a.list-group-item-warning.active:focus, a.list-group-item-warning.active:hover,
  button.list-group-item-warning.active,
  button.list-group-item-warning.active:focus,
  button.list-group-item-warning.active:hover {
    color: #fff;
    background-color: #8a6d3b;
    border-color: #8a6d3b; }

.list-group-item-danger {
  color: #a94442;
  background-color: #f2dede; }

a.list-group-item-danger,
button.list-group-item-danger {
  color: #a94442; }
  a.list-group-item-danger .list-group-item-heading,
  button.list-group-item-danger .list-group-item-heading {
    color: inherit; }
  a.list-group-item-danger:focus, a.list-group-item-danger:hover,
  button.list-group-item-danger:focus,
  button.list-group-item-danger:hover {
    color: #a94442;
    background-color: #ebcccc; }
  a.list-group-item-danger.active, a.list-group-item-danger.active:focus, a.list-group-item-danger.active:hover,
  button.list-group-item-danger.active,
  button.list-group-item-danger.active:focus,
  button.list-group-item-danger.active:hover {
    color: #fff;
    background-color: #a94442;
    border-color: #a94442; }

.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px; }

.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3; }

.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden; }
  .embed-responsive .embed-responsive-item,
  .embed-responsive iframe,
  .embed-responsive embed,
  .embed-responsive object,
  .embed-responsive video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0; }

.embed-responsive-21by9 {
  padding-bottom: 42.85714%; }

.embed-responsive-16by9 {
  padding-bottom: 56.25%; }

.embed-responsive-4by3 {
  padding-bottom: 75%; }

.embed-responsive-1by1 {
  padding-bottom: 100%; }

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: .2; }
  .close:focus, .close:hover {
    color: #000;
    text-decoration: none;
    cursor: pointer;
    opacity: .5; }

button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none; }

.modal-open {
  overflow: hidden; }

.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  display: none;
  overflow: hidden;
  outline: 0;
  -webkit-overflow-scrolling: touch; }
  .modal.fade .modal-dialog {
    transition: transform .3s ease-out;
    transform: translate(0, -25%); }
  .modal.in .modal-dialog {
    transform: translate(0, 0); }

.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto; }

.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px; }

.modal-content {
  position: relative;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  outline: 0; }

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000; }
  .modal-backdrop.fade {
    opacity: 0; }
  .modal-backdrop.in {
    opacity: 0.5; }

.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5; }
  .modal-header::after {
    content: "";
    display: table;
    clear: both; }

.modal-header .close {
  margin-top: -2px; }

.modal-title {
  margin: 0;
  line-height: 1.5; }

.modal-body {
  position: relative;
  padding: 15px; }

.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5; }
  .modal-footer::after {
    content: "";
    display: table;
    clear: both; }
  .modal-footer .btn + .btn {
    margin-bottom: 0;
    margin-left: 5px; }
  .modal-footer .btn-group .btn + .btn {
    margin-left: -1px; }
  .modal-footer .btn-block + .btn-block {
    margin-left: 0; }

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll; }

@media (min-width: 544px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto; }
  .modal-sm {
    width: 300px; } }

@media (min-width: 768px) {
  .modal-lg {
    width: 900px; } }

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 0.875rem;
  opacity: 0; }
  .tooltip.in {
    opacity: 0.9; }
  .tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom {
    padding: 5px 0;
    margin-top: -3px; }
    .tooltip.tooltip-top .tooltip-arrow, .tooltip.bs-tether-element-attached-bottom .tooltip-arrow {
      bottom: 0;
      left: 50%;
      margin-left: -5px;
      border-width: 5px 5px 0;
      border-top-color: #000; }
  .tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left {
    padding: 0 5px;
    margin-left: 3px; }
    .tooltip.tooltip-right .tooltip-arrow, .tooltip.bs-tether-element-attached-left .tooltip-arrow {
      top: 50%;
      left: 0;
      margin-top: -5px;
      border-width: 5px 5px 5px 0;
      border-right-color: #000; }
  .tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top {
    padding: 5px 0;
    margin-top: 3px; }
    .tooltip.tooltip-bottom .tooltip-arrow, .tooltip.bs-tether-element-attached-top .tooltip-arrow {
      top: 0;
      left: 50%;
      margin-left: -5px;
      border-width: 0 5px 5px;
      border-bottom-color: #000; }
  .tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right {
    padding: 0 5px;
    margin-left: -3px; }
    .tooltip.tooltip-left .tooltip-arrow, .tooltip.bs-tether-element-attached-right .tooltip-arrow {
      top: 50%;
      right: 0;
      margin-top: -5px;
      border-width: 5px 0 5px 5px;
      border-left-color: #000; }

.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 0.25rem; }

.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid; }

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  padding: 1px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 0.875rem;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem; }
  .popover.popover-top, .popover.bs-tether-element-attached-bottom {
    margin-top: -10px; }
    .popover.popover-top .popover-arrow, .popover.bs-tether-element-attached-bottom .popover-arrow {
      bottom: -11px;
      left: 50%;
      margin-left: -11px;
      border-top-color: rgba(0, 0, 0, 0.25);
      border-bottom-width: 0; }
      .popover.popover-top .popover-arrow::after, .popover.bs-tether-element-attached-bottom .popover-arrow::after {
        bottom: 1px;
        margin-left: -10px;
        content: "";
        border-top-color: #fff;
        border-bottom-width: 0; }
  .popover.popover-right, .popover.bs-tether-element-attached-left {
    margin-left: 10px; }
    .popover.popover-right .popover-arrow, .popover.bs-tether-element-attached-left .popover-arrow {
      top: 50%;
      left: -11px;
      margin-top: -11px;
      border-right-color: rgba(0, 0, 0, 0.25);
      border-left-width: 0; }
      .popover.popover-right .popover-arrow::after, .popover.bs-tether-element-attached-left .popover-arrow::after {
        bottom: -10px;
        left: 1px;
        content: "";
        border-right-color: #fff;
        border-left-width: 0; }
  .popover.popover-bottom, .popover.bs-tether-element-attached-top {
    margin-top: 10px; }
    .popover.popover-bottom .popover-arrow, .popover.bs-tether-element-attached-top .popover-arrow {
      top: -11px;
      left: 50%;
      margin-left: -11px;
      border-top-width: 0;
      border-bottom-color: rgba(0, 0, 0, 0.25); }
      .popover.popover-bottom .popover-arrow::after, .popover.bs-tether-element-attached-top .popover-arrow::after {
        top: 1px;
        margin-left: -10px;
        content: "";
        border-top-width: 0;
        border-bottom-color: #fff; }
  .popover.popover-left, .popover.bs-tether-element-attached-right {
    margin-left: -10px; }
    .popover.popover-left .popover-arrow, .popover.bs-tether-element-attached-right .popover-arrow {
      top: 50%;
      right: -11px;
      margin-top: -11px;
      border-right-width: 0;
      border-left-color: rgba(0, 0, 0, 0.25); }
      .popover.popover-left .popover-arrow::after, .popover.bs-tether-element-attached-right .popover-arrow::after {
        right: 1px;
        bottom: -10px;
        content: "";
        border-right-width: 0;
        border-left-color: #fff; }

.popover-title {
  padding: 8px 14px;
  margin: 0;
  font-size: 1rem;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-radius: -0.7rem -0.7rem 0 0; }

.popover-content {
  padding: 9px 14px; }

.popover-arrow, .popover-arrow::after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid; }

.popover-arrow {
  border-width: 11px; }

.popover-arrow::after {
  content: "";
  border-width: 10px; }

.carousel {
  position: relative; }

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden; }
  .carousel-inner > .carousel-item {
    position: relative;
    display: none;
    transition: .6s ease-in-out left; }
    .carousel-inner > .carousel-item > img,
    .carousel-inner > .carousel-item > a > img {
      line-height: 1; }
    @media all and (transform-3d), (-webkit-transform-3d) {
      .carousel-inner > .carousel-item {
        transition: transform .6s ease-in-out;
        backface-visibility: hidden;
        perspective: 1000px; }
        .carousel-inner > .carousel-item.next, .carousel-inner > .carousel-item.active.right {
          left: 0;
          transform: translate3d(100%, 0, 0); }
        .carousel-inner > .carousel-item.prev, .carousel-inner > .carousel-item.active.left {
          left: 0;
          transform: translate3d(-100%, 0, 0); }
        .carousel-inner > .carousel-item.next.left, .carousel-inner > .carousel-item.prev.right, .carousel-inner > .carousel-item.active {
          left: 0;
          transform: translate3d(0, 0, 0); } }
  .carousel-inner > .active,
  .carousel-inner > .next,
  .carousel-inner > .prev {
    display: block; }
  .carousel-inner > .active {
    left: 0; }
  .carousel-inner > .next,
  .carousel-inner > .prev {
    position: absolute;
    top: 0;
    width: 100%; }
  .carousel-inner > .next {
    left: 100%; }
  .carousel-inner > .prev {
    left: -100%; }
  .carousel-inner > .next.left,
  .carousel-inner > .prev.right {
    left: 0; }
  .carousel-inner > .active.left {
    left: -100%; }
  .carousel-inner > .active.right {
    left: 100%; }

.carousel-control {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 15%;
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  opacity: 0.5; }
  .carousel-control.left {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); }
  .carousel-control.right {
    right: 0;
    left: auto;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); }
  .carousel-control:focus, .carousel-control:hover {
    color: #fff;
    text-decoration: none;
    outline: 0;
    opacity: .9; }
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    font-family: serif;
    line-height: 1; }
  .carousel-control .icon-prev {
    left: 50%;
    margin-left: -10px; }
  .carousel-control .icon-next {
    right: 50%;
    margin-right: -10px; }
  .carousel-control .icon-prev::before {
    content: "\2039"; }
  .carousel-control .icon-next::before {
    content: "\203a"; }

.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  padding-left: 0;
  margin-left: -30%;
  text-align: center;
  list-style: none; }
  .carousel-indicators li {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 1px;
    text-indent: -999px;
    cursor: pointer;
    background-color: transparent;
    border: 1px solid #fff;
    border-radius: 10px; }
  .carousel-indicators .active {
    width: 12px;
    height: 12px;
    margin: 0;
    background-color: #fff; }

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); }
  .carousel-caption .btn {
    text-shadow: none; }

@media (min-width: 544px) {
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -15px;
    font-size: 30px; }
  .carousel-control .icon-prev {
    margin-left: -15px; }
  .carousel-control .icon-next {
    margin-right: -15px; }
  .carousel-caption {
    right: 20%;
    left: 20%;
    padding-bottom: 30px; }
  .carousel-indicators {
    bottom: 20px; } }

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

.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.pull-xs-left {
  float: left !important; }

.pull-xs-right {
  float: right !important; }

.pull-xs-none {
  float: none !important; }

@media (min-width: 544px) {
  .pull-sm-left {
    float: left !important; }
  .pull-sm-right {
    float: right !important; }
  .pull-sm-none {
    float: none !important; } }

@media (min-width: 768px) {
  .pull-md-left {
    float: left !important; }
  .pull-md-right {
    float: right !important; }
  .pull-md-none {
    float: none !important; } }

@media (min-width: 992px) {
  .pull-lg-left {
    float: left !important; }
  .pull-lg-right {
    float: right !important; }
  .pull-lg-none {
    float: none !important; } }

@media (min-width: 1200px) {
  .pull-xl-left {
    float: left !important; }
  .pull-xl-right {
    float: right !important; }
  .pull-xl-none {
    float: none !important; } }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto; }

.invisible {
  visibility: hidden !important; }

.text-hide {
  font: "0/0" a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0; }

.text-justify {
  text-align: justify !important; }

.text-nowrap {
  white-space: nowrap !important; }

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.text-xs-left {
  text-align: left !important; }

.text-xs-right {
  text-align: right !important; }

.text-xs-center {
  text-align: center !important; }

@media (min-width: 544px) {
  .text-sm-left {
    text-align: left !important; }
  .text-sm-right {
    text-align: right !important; }
  .text-sm-center {
    text-align: center !important; } }

@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important; }
  .text-md-right {
    text-align: right !important; }
  .text-md-center {
    text-align: center !important; } }

@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important; }
  .text-lg-right {
    text-align: right !important; }
  .text-lg-center {
    text-align: center !important; } }

@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important; }
  .text-xl-right {
    text-align: right !important; }
  .text-xl-center {
    text-align: center !important; } }

.text-lowercase {
  text-transform: lowercase !important; }

.text-uppercase {
  text-transform: uppercase !important; }

.text-capitalize {
  text-transform: capitalize !important; }

.font-weight-normal {
  font-weight: normal; }

.font-weight-bold {
  font-weight: bold; }

.font-italic {
  font-style: italic; }

.text-muted {
  color: #818a91; }

.text-primary {
  color: #0275d8 !important; }

a.text-primary:focus, a.text-primary:hover {
  color: #025aa5; }

.text-success {
  color: #5cb85c !important; }

a.text-success:focus, a.text-success:hover {
  color: #449d44; }

.text-info {
  color: #5bc0de !important; }

a.text-info:focus, a.text-info:hover {
  color: #31b0d5; }

.text-warning {
  color: #f0ad4e !important; }

a.text-warning:focus, a.text-warning:hover {
  color: #ec971f; }

.text-danger {
  color: #d9534f !important; }

a.text-danger:focus, a.text-danger:hover {
  color: #c9302c; }

.bg-inverse {
  color: #eceeef;
  background-color: #373a3c; }

.bg-faded {
  background-color: #f7f7f9; }

.bg-primary {
  color: #fff !important;
  background-color: #0275d8 !important; }

a.bg-primary:focus, a.bg-primary:hover {
  background-color: #025aa5; }

.bg-success {
  color: #fff !important;
  background-color: #5cb85c !important; }

a.bg-success:focus, a.bg-success:hover {
  background-color: #449d44; }

.bg-info {
  color: #fff !important;
  background-color: #5bc0de !important; }

a.bg-info:focus, a.bg-info:hover {
  background-color: #31b0d5; }

.bg-warning {
  color: #fff !important;
  background-color: #f0ad4e !important; }

a.bg-warning:focus, a.bg-warning:hover {
  background-color: #ec971f; }

.bg-danger {
  color: #fff !important;
  background-color: #d9534f !important; }

a.bg-danger:focus, a.bg-danger:hover {
  background-color: #c9302c; }

.m-x-auto {
  margin-right: auto !important;
  margin-left: auto !important; }

.m-a-0 {
  margin: 0 0 !important; }

.m-t-0 {
  margin-top: 0 !important; }

.m-r-0 {
  margin-right: 0 !important; }

.m-b-0 {
  margin-bottom: 0 !important; }

.m-l-0 {
  margin-left: 0 !important; }

.m-x-0 {
  margin-right: 0 !important;
  margin-left: 0 !important; }

.m-y-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important; }

.m-a-1 {
  margin: 1rem 1rem !important; }

.m-t-1 {
  margin-top: 1rem !important; }

.m-r-1 {
  margin-right: 1rem !important; }

.m-b-1 {
  margin-bottom: 1rem !important; }

.m-l-1 {
  margin-left: 1rem !important; }

.m-x-1 {
  margin-right: 1rem !important;
  margin-left: 1rem !important; }

.m-y-1 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important; }

.m-a-2 {
  margin: 1.5rem 1.5rem !important; }

.m-t-2 {
  margin-top: 1.5rem !important; }

.m-r-2 {
  margin-right: 1.5rem !important; }

.m-b-2 {
  margin-bottom: 1.5rem !important; }

.m-l-2 {
  margin-left: 1.5rem !important; }

.m-x-2 {
  margin-right: 1.5rem !important;
  margin-left: 1.5rem !important; }

.m-y-2 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important; }

.m-a-3 {
  margin: 3rem 3rem !important; }

.m-t-3 {
  margin-top: 3rem !important; }

.m-r-3 {
  margin-right: 3rem !important; }

.m-b-3 {
  margin-bottom: 3rem !important; }

.m-l-3 {
  margin-left: 3rem !important; }

.m-x-3 {
  margin-right: 3rem !important;
  margin-left: 3rem !important; }

.m-y-3 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important; }

.p-a-0 {
  padding: 0 0 !important; }

.p-t-0 {
  padding-top: 0 !important; }

.p-r-0 {
  padding-right: 0 !important; }

.p-b-0 {
  padding-bottom: 0 !important; }

.p-l-0 {
  padding-left: 0 !important; }

.p-x-0 {
  padding-right: 0 !important;
  padding-left: 0 !important; }

.p-y-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important; }

.p-a-1 {
  padding: 1rem 1rem !important; }

.p-t-1 {
  padding-top: 1rem !important; }

.p-r-1 {
  padding-right: 1rem !important; }

.p-b-1 {
  padding-bottom: 1rem !important; }

.p-l-1 {
  padding-left: 1rem !important; }

.p-x-1 {
  padding-right: 1rem !important;
  padding-left: 1rem !important; }

.p-y-1 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important; }

.p-a-2 {
  padding: 1.5rem 1.5rem !important; }

.p-t-2 {
  padding-top: 1.5rem !important; }

.p-r-2 {
  padding-right: 1.5rem !important; }

.p-b-2 {
  padding-bottom: 1.5rem !important; }

.p-l-2 {
  padding-left: 1.5rem !important; }

.p-x-2 {
  padding-right: 1.5rem !important;
  padding-left: 1.5rem !important; }

.p-y-2 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important; }

.p-a-3 {
  padding: 3rem 3rem !important; }

.p-t-3 {
  padding-top: 3rem !important; }

.p-r-3 {
  padding-right: 3rem !important; }

.p-b-3 {
  padding-bottom: 3rem !important; }

.p-l-3 {
  padding-left: 3rem !important; }

.p-x-3 {
  padding-right: 3rem !important;
  padding-left: 3rem !important; }

.p-y-3 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important; }

.pos-f-t {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030; }

.hidden-xs-up {
  display: none !important; }

@media (max-width: 543px) {
  .hidden-xs-down {
    display: none !important; } }

@media (min-width: 544px) {
  .hidden-sm-up {
    display: none !important; } }

@media (max-width: 767px) {
  .hidden-sm-down {
    display: none !important; } }

@media (min-width: 768px) {
  .hidden-md-up {
    display: none !important; } }

@media (max-width: 991px) {
  .hidden-md-down {
    display: none !important; } }

@media (min-width: 992px) {
  .hidden-lg-up {
    display: none !important; } }

@media (max-width: 1199px) {
  .hidden-lg-down {
    display: none !important; } }

@media (min-width: 1200px) {
  .hidden-xl-up {
    display: none !important; } }

.hidden-xl-down {
  display: none !important; }

.visible-print-block {
  display: none !important; }
  @media print {
    .visible-print-block {
      display: block !important; } }

.visible-print-inline {
  display: none !important; }
  @media print {
    .visible-print-inline {
      display: inline !important; } }

.visible-print-inline-block {
  display: none !important; }
  @media print {
    .visible-print-inline-block {
      display: inline-block !important; } }

@media print {
  .hidden-print {
    display: none !important; } }

/* GLOBALS */
body {
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  color: #000000; }

.blank {
  padding: 3em 0; }

.maintext {
  text-align: center;
  font-weight: bold;
  padding-bottom: 1.5em;
  font-size: 2em;
}

.pagetext {
  background: rgb(255, 255, 255);
  padding: 25px;
  color: #000;
  border-radius: 5px;
  font-size: 16px;
}

.pagetext h2 {
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 15px;
  margin-top: 25px;
}

/* MIXINS */
/* How use:
.container-with-floated-children {
  @extend %clearfix;
}
*/
.main {
  background: url("/img/main-bg.jpg") no-repeat;
  background-size: cover;
  padding-top: 10em;
  padding-bottom: 5em;
  color: #fff;
  background-attachment: fixed;
}
  .main-block {
    width: 60%;
    display: inline-block; }
    .main-block__info {
      font-weight: bold;
      font-size: 3em;
      line-height: 1.4em; }
    .main-block__text {
      font-size: 1.4em;
      padding-top: 2em; }
  .main-form {
    display: inline-block;
    width: 30%;
    background-color: rgba(255, 255, 255, 0.5);
    text-align: center;
    color: #000;
    padding: 2em 0;
    border-radius: 4px; }
    .main-form__info {
      font-size: 1.4em;
      text-align: left;
      padding-left: 2.1em;
      margin-bottom: 2em; }
    .main-form input {
      display: block;
      width: 230px;
      height: 50px;
      border-radius: 4px;
      margin: 1em auto;
      outline: none;
      border: 0;
      padding-left: 1em; }
      .main-form input:focus {
        border-left: 4px solid #ff2424; }
    .main-form .btn {
      background-color: #ff2424;
      text-transform: uppercase;
      color: #fff;
      border: 0;
      outline: none; }
      .main-form .btn:hover {
        color: #fff;
        text-decoration: none;
        background-color: #f00000; }

@media (max-width: 768px) {
  .main {
    background-position: right; }
    .main-block {
      width: 100%; }
      .main-block__info {
        font-size: 1.6em;
        text-align: center; }
      .main-block__text {
        font-size: 1em;
        text-align: center;
        margin-bottom: 1em; }
    .main-form {
      width: 100%; } }

@media (min-width: 1800px) {
  .main {
    padding-bottom: 15em; } }

.form {
  background-color: #ff2424;
  padding: 3em 0;
  color: #fff;
  text-align: center;
  border-top: .3em solid #fff; }
  .form-block {
    vertical-align: middle; }
    .form-block__text {
      display: inline-block;
      text-transform: uppercase;
      margin-right: 4em;
      font-size: 1.4em;
      vertical-align: middle; }
    .form-block__btn {
      display: inline-block;
      text-transform: uppercase;
      border: 2px solid #fff;
      border-radius: 3px;
      color: #fff;
      padding: 1em 2em;
      vertical-align: middle; }
      .form-block__btn:hover {
        color: #fff;
        text-decoration: none; }

@media (max-width: 768px) {
  .form-block__text {
    text-align: center;
    margin: 0 auto;
    padding: 0 2em;
    margin-bottom: 2em; } }

.header {
  padding: 2em 0;
  position: fixed;
  z-index: 500;
  left: 0;
  right: 0;
  margin: 0 auto;
  vertical-align: middle;
  text-align: center; }
  .header-collapse {
    background-color: #fff;
    color: #000;
    padding: 1em;
    transition-duration: 1s; }
    .header-collapse .header__logo {
      background: url("/img/logo-collapse.png") no-repeat; }
    .header-collapse .header__ul li a {
      color: #000; }
    .header-collapse .header__phone a {
      color: #ff2424; }
  .header__logo {
    display: inline-block;
    vertical-align: middle;
    width: 20%;
    background: url("/img/logo.png") no-repeat;
    background-size: contain;
    height: 3em;
    left: 2em;
    position: relative; }
  .header__ul {
    display: inline-block;
    list-style-type: none;
    vertical-align: middle;
    margin-bottom: 0;
    width: 45%; }
  .header__ul li {
    display: inline-block;
    font-size: .8em; }
  .header__phone {
    display: inline-block;
    position: relative;
    vertical-align: middle;
    font-weight: bold;
    width: 20%; }
    .header__phone a {
      color: #fff;
      display: inline-block;
      text-decoration: underline;
      position: relative; }
      .header__phone a:before {
        content: '';
        position: absolute;
        top: .2em;
        left: -2em;
        background: url("/img/phone.png") no-repeat;
        width: 23px;
        height: 23px; }
  .header__ul li a {
    color: #fff;
    margin-right: 1.5em; }
    .header__link:hover {
      color: #ff2424; }

@media (max-width: 768px) {
  .header__logo {
    width: 100%; }
  .header__ul {
    width: 100%; }
  .header__phone {
    width: 100%; }
  .header-collapse .header__logo {
    width: 100%; }
  .header__logo {
    display: block;
    text-align: center; }
  .header__ul {
    display: none; } }

.objects-block {
  position: relative;
  margin-bottom: 1.5em; }
  .objects-block img {
    width: 100%; }
  .objects-block:hover .objects-block_hover {
    display: block; }
  .objects-block_hover {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding-top: 30%;
    color: #fff;
    font-size: 1.4em;
    text-align: center;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); }

@media (max-width: 768px) {
  .objects-block_hover {
    display: block; } }

.modal {
  top: 20%;
  z-index: 99999999 !important; }
  .modal-content {
    border-radius: 0; }
  .modal-dialog {
    width: 400px;
    z-index: 9999999; }
  .modal__main {
    text-align: center;
    font-weight: bold;
    font-size: 2em;
    line-height: 2em; }
  .modal__submain {
    text-align: center;
    padding-left: 3em;
    padding-right: 3em;
    margin-bottom: 2em; }

.modal__order-right_input {
  display: block;
  text-align: left;
  padding-left: 20px;
  left: 0;
  right: 0;
  margin: 0 auto;
  border: 1px solid #ff2424;
  width: 60%;
  color: #000;
  border-radius: 0;
  outline: none;
  border-radius: 4px;
  margin-bottom: 10px;
  line-height: 50px; }
  .modal__order-right_input:focus {
    border-left: 4px solid #ff2424; }

.modal__order-right_input::-webkit-input-placeholder {
  color: #000; }

.modal__order-right_btn {
  display: block;
  left: 0;
  right: 0;
  margin: 0 auto;
  border: 1px solid #ff2424;
  color: #fff;
  font-weight: bold;
  border-radius: 0;
  text-transform: uppercase;
  background-color: #ff2424;
  width: 60%;
  font-weight: bold;
  line-height: 50px;
  border-radius: 4px;
  margin-bottom: 30px; }

.modal__order-right_text {
  text-align: center;
  color: #000; }
  .modal__order-right_text span {
    color: #ff2424; }

@media (max-width: 768px) {
  .modal-dialog {
    width: auto; }
  .modal__order-right_btn {
    width: 80%; }
  .modal__order-right_input {
    width: 80%; }
  .modal {
    top: 20%; }
  .modal__order-right_text span {
    display: block; } }

.services {
  background-color: #ebebeb;
  padding-bottom: 0; }
  .services-block {
    background-color: #fff;
    text-align: center;
    margin-bottom: 1em; }
    .services-block__img {
      height: 245px;
      width: 100%; }
      .services-block__img_1 {
        background: url("/img/services-1.jpg") no-repeat;
        background-size: cover; }
      .services-block__img_2 {
        background: url("/img/services-2.jpg") no-repeat;
        background-size: cover; }
      .services-block__img_3 {
        background: url("/img/services-3.jpg") no-repeat;
        background-size: cover; }
      .services-block__img_4 {
        background: url("/img/services-4.jpg") no-repeat;
        background-size: cover; }
      .services-block__img_5 {
        background: url("/img/services-5.jpg") no-repeat;
        background-size: cover; }
      .services-block__img_6 {
        background: url("/img/services-6.jpg") no-repeat;
        background-size: cover; }
    .services-block__info {
      font-weight: bold;
      text-transform: uppercase;
      font-size: 1.2em;
      margin: 1.5em 0; }
    .services-block__btn {
      background-color: #ff2424;
      color: #fff;
      text-transform: uppercase;
      display: inline-block;
      margin: 0 auto;
      font-size: .8em;
      padding: 1em 2em;
      margin-bottom: 3em;
      border-radius: 3px; }
      .services-block__btn:hover {
        background-color: #f00000;
        color: #fff;
        text-decoration: none; }
  .services .carousel-indicators {
    margin-top: 4em;
    position: relative; }
    .services .carousel-indicators li {
      border: 2px solid #ff2424;
      width: 25px;
      height: 25px;
      margin: 0 .2em;
      border-radius: 50%; }
    .services .carousel-indicators .active {
      background-color: #ff2424;
      width: 25px;
      height: 25px; }

.vacancy {
  position: relative;
  background: url("/img/vacancy-bg.jpg") no-repeat;
  background-size: cover; }
  .vacancy .checkbox-block {
    color: #000000;
    text-align: left; }
  .vacancy form {
    z-index: 150;
    position: relative; }
  .vacancy .lead_form {
    background-color: #fff;
    width: 370px;
    padding: 2em 0; }
  .vacancy__btn {
    width: 15em;
    height: 3em;
    border: 0;
    border-radius: 0;
    background-color: #ff2424;
    color: #fff;
    text-transform: uppercase;
    margin: 0 auto;
    display: block;
    margin-top: 1em;
    border-radius: 3px; }
  .vacancy__main {
    font-weight: bold;
    font-size: 2em;
    padding-bottom: 1em; }
  .vacancy__info {
    padding-top: 2em;
    width: 70%; }
    .vacancy__info a {
      color: #ff2424;
      font-size: 1.2em;
      font-weight: bold; }
  .vacancy input[type=checkbox] {
    display: none; }
  .vacancy .info {
    text-align: center;
    font-size: 1.3em; }
  .vacancy .checkbox-block {
    margin-left: 2.8em; }
  .vacancy input[type=checkbox] + label span {
    display: inline-block;
    margin: 0 auto;
    width: 22px;
    height: 22px;
    vertical-align: middle;
    background: url("/img/checkbox.png"); }
  .vacancy input[type=checkbox]:checked + label span {
    background: url("/img/checkbox-active.png"); }
  .vacancy__input {
    display: block;
    margin: 0 auto;
    width: 15em;
    height: 3em;
    padding-left: 1em;
    border: 1px solid rgba(0, 0, 0, 0.3);
    border-radius: 3px;
    margin-top: 1em;
    margin-bottom: 1em;
    -webkit-appearance: none;
    outline: none;
    z-index: 10; }
    .vacancy__input:focus {
      border-left: 7px solid #ff2424; }
    .vacancy__input::-webkit-input-placeholder {
      color: #000;
      opacity: 1; }

.why-block {
    display: inline-block;
    width: 49%;
    vertical-align: middle;
    margin-bottom: 4em;
    padding-left: 4em;
}
  .why-block__icon {
    display: inline-block;
    vertical-align: middle; }
  .why-block__right {
    display: inline-block;
    width: 50%;
    vertical-align: middle;
    padding-left: 5%; }
  .why-block__main {
    font-weight: bold;
    font-size: 1.2em; }

@media (max-width: 768px) {
  .why-block {
    width: 100%;
    padding-left: 1em; } }

.work {
  background: url("/img/how-bg.jpg") no-repeat;
  background-size: cover;
  padding-bottom: 4em; }
  .work .maintext {
    color: #fff; }
  .work-block img {
    margin: 0 auto;
    display: block; }
  .work-block__info {
    background-color: #fff;
    margin-top: 1em;
    position: relative;
    height: 12em;
    padding-left: 2em;
    padding-top: 2em; }
    .work-block__info:before {
      content: '';
      position: absolute;
      top: -1em;
      left: 0;
      right: 0;
      margin: 0 auto;
      height: 1em;
      width: 2px;
      background-color: #ff2424; }
    .work-block__info:after {
      content: '';
      position: absolute;
      right: -2em;
      top: 50%;
      height: 2px;
      width: 2em;
      background-color: #ff2424; }
  .work-block .last:after {
    display: none; }
  .work-block__main {
    font-weight: bold;
    font-size: 1.2em; }
  .work-block__text {
    margin-top: 1em;
    padding-right: 2em; }

@media (max-width: 768px) {
  .work-block {
    margin-bottom: 2em; }
    .work-block__info:after {
      display: none; } }

.footer {
  background-color: #000;
  padding: 3em 0;
  color: #fff;
  border-top: .3em solid #fff; }
  .footer-left__text {
    padding-top: 1em;
    width: 80%;
    font-weight: 100; }
  .footer__main {
    font-weight: bold;
    padding-bottom: 2em; }
  .footer ul {
    list-style-type: none;
    padding-left: 0; }
    .footer ul li {
      padding-top: .5em; }
    .footer ul a {
      color: #fff;
      font-weight: 100; }
      .footer ul a:hover {
        color: #ff2424; }
  .footer-right__info {
    font-weight: 100;
    padding-top: .5em; }
    .footer-right__info a {
      color: #fff; }
      .footer-right__info a:hover {
        color: #ff2424; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtY3NzL25vcm1hbGl6ZS5jc3MiLCJnbG9iYWxzL192YXJpYWJsZXMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL19ub3JtYWxpemUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX3ByaW50LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX3JlYm9vdC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFiLWZvY3VzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL190eXBlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9faW1hZ2VzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL19jYXJvdXNlbC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9fY29kZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX2Zvcm1zLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL19hbmltYXRpb24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNldC1maWx0ZXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX2N1c3RvbS1mb3Jtcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL19uYXZiYXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJkcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX3BhZ2VyLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL19sYWJlbHMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19sYWJlbC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9fanVtYm90cm9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2FsZXJ0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL19wcm9ncmVzcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Byb2dyZXNzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL19tZWRpYS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3QtZ3JvdXAuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX2Nsb3NlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL19tb2RhbC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9fdG9vbHRpcC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX3BvcG92ZXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX3V0aWxpdGllcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NlbnRlci1ibG9jay5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3B1bGxzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL191dGlsaXRpZXMtYmFja2dyb3VuZC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9fdXRpbGl0aWVzLXNwYWNpbmcuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX3V0aWxpdGllcy1yZXNwb25zaXZlLnNjc3MiLCJtaXhpbnMvX2NsZWFyZml4LnNjc3MiLCJjb21wb25lbnRzL19oZWFkLnNjc3MiLCJjb21wb25lbnRzL19mb3JtLnNjc3MiLCJjb21wb25lbnRzL19uYXYuc2NzcyIsImNvbXBvbmVudHMvX29iamVjdHMuc2NzcyIsImNvbXBvbmVudHMvX3BvcHVwLnNjc3MiLCJjb21wb25lbnRzL19zZXJ2aWNlcy5zY3NzIiwiY29tcG9uZW50cy9fdmFjYW5jeS5zY3NzIiwiY29tcG9uZW50cy9fd2h5LnNjc3MiLCJjb21wb25lbnRzL193b3JrLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEIsNEVBQTRFO0FBRTVFOzs7R0FHRztBQ0pILE9BQU8sQ0FBQyxrRkFBSTtBQUNaLE9BQU8sQ0FBQyxnR0FBSTtBQUNaLE9BQU8sQ0FBQyxtRUFBSTtBQUNaLE9BQU8sQ0FBQyx5RkFBSTtBREdaLElBQUksQ0FBQztFQUNILFdBQVcsRUFBRSxVQUFXO0VBQUUsT0FBTztFQUNqQyxvQkFBb0IsRUFBRSxJQUFLO0VBQUUsT0FBTztFQUNwQyx3QkFBd0IsRUFBRSxJQUFLO0VBQUUsT0FBTyxFQUN6Qzs7QUFFRDs7R0FFRztBQUVILElBQUksQ0FBQztFQUNILE1BQU0sRUFBRSxDQUFFLEdBQ1g7O0FBRUQ7Z0ZBQ2dGO0FBRWhG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d0JVLE9BQU87RXNCdkJqQyxZQUFZLEV0QnVCYyxPQUFPLEdxQjBCbEM7RUFGRCxZbkJqREssQW1CaURPLE1uQmpERCxDQUFDO0lvQk1SLEtBQUssRXRCc093QixJQUFJO0lzQnJPakMsZ0JBQWdCLEVBVkUsT0FBTTtJQVdwQixZQUFZLEVBVkYsT0FBTSxHcEJFQztFbUJpRHpCLFlDdENHLEFEc0NTLE1DdENILEVEc0NULFlDckNHLEFEcUNTLE1DckNILENBQUM7SUFDTixLQUFLLEV0QitOd0IsSUFBSTtJc0I5TmpDLGdCQUFnQixFQWpCRSxPQUFNO0lBa0JwQixZQUFZLEVBakJGLE9BQU0sR0FrQnJCO0VEaUNILFlDL0JHLEFEK0JTLE9DL0JGLEVEK0JWLFlDOUJHLEFEOEJTLE9DOUJGO0VBQ1IsQUQ2QkYsS0M3Qk8sR0Q2QlAsWUM3QlcsQUQ2QkMsZ0JDN0JlLENBQUM7SUFDeEIsS0FBSyxFdEJ1TndCLElBQUk7SXNCdE5qQyxnQkFBZ0IsRUF6QkUsT0FBTTtJQTBCcEIsWUFBWSxFQXpCRixPQUFNO0lBMkJwQixnQkFBZ0IsRUFBRSxJQUFLLEdBVXhCO0lEY0gsWUMvQkcsQUQrQlMsT0MvQkYsQUFVTCxNQUFNLEVEcUJYLFlDL0JHLEFEK0JTLE9DL0JGLEFBV0wsTUFBTSxFRG9CWCxZQy9CRyxBRCtCUyxPQy9CRixBQVlMLE1BQU0sRURtQlgsWUM5QkcsQUQ4QlMsT0M5QkYsQUFTTCxNQUFNLEVEcUJYLFlDOUJHLEFEOEJTLE9DOUJGLEFBVUwsTUFBTSxFRG9CWCxZQzlCRyxBRDhCUyxPQzlCRixBQVdMLE1BQU07SUFWVCxBRDZCRixLQzdCTyxHRDZCUCxZQzdCVyxBRDZCQyxnQkM3QmUsQUFRdEIsTUFBTTtJQVJULEFENkJGLEtDN0JPLEdENkJQLFlDN0JXLEFENkJDLGdCQzdCZSxBQVN0QixNQUFNO0lBVFQsQUQ2QkYsS0M3Qk8sR0Q2QlAsWUM3QlcsQUQ2QkMsZ0JDN0JlLEFBVXRCLE1BQU0sQ0FBQztNQUNOLEtBQUssRXRCNk1zQixJQUFJO01zQjVNL0IsZ0JBQWdCLEVBQUUsT0FBTTtNQUNwQixZQUFZLEVBQUUsT0FBTSxHQUN6QjtFRGVMLFlDWkcsQURZUyxTQ1pBLEFBRVAsTUFBTSxFRFVYLFlDWkcsQURZUyxTQ1pBLEFBR1AsTUFBTSxFRFNYLFlDWEcsQURXUyxTQ1hBLEFBQ1AsTUFBTSxFRFVYLFlDWEcsQURXUyxTQ1hBLEFBRVAsTUFBTSxDQUFDO0lBQ04sZ0JBQWdCLEV0QmhCTSxPQUFPO0lzQmlCekIsWUFBWSxFdEJqQk0sT0FBTyxHc0JrQjlCO0VETUwsWUNaRyxBRFlTLFNuQmpEUCxBb0JxQ08sTXBCckNELEVtQmlEWCxZQ1hHLEFEV1MsU25CakRQLEFvQnNDTyxNcEJ0Q0QsQ0FBQztJb0I2Q04sZ0JBQWdCLEV0QnBCTSxPQUFPO0lzQnFCekIsWUFBWSxFdEJyQk0sT0FBTyxHRXpCVjs7QW1Cb0R6QixjQUFjLENBQUM7RUNwRGIsS0FBSyxFdEJtQnFCLE9BQU87RXNCbEJqQyxnQkFBZ0IsRXRCZ1BlLElBQUk7RXNCL09uQyxZQUFZLEV0QmdQbUIsSUFBSSxHcUI1THBDO0VBRkQsY25CcERLLEFtQm9EUyxNbkJwREgsQ0FBQztJb0JNUixLQUFLLEV0QmFtQixPQUFPO0lzQlovQixnQkFBZ0IsRUFWRSxPQUFNO0lBV3BCLFlBQVksRUFWRixPQUFNLEdwQkVDO0VtQm9EekIsY0N6Q0csQUR5Q1csTUN6Q0wsRUR5Q1QsY0N4Q0csQUR3Q1csTUN4Q0wsQ0FBQztJQUNOLEtBQUssRXRCTW1CLE9BQU87SXNCTC9CLGdCQUFnQixFQWpCRSxPQUFNO0lBa0JwQixZQUFZLEVBakJGLE9BQU0sR0FrQnJCO0VEb0NILGNDbENHLEFEa0NXLE9DbENKLEVEa0NWLGNDakNHLEFEaUNXLE9DakNKO0VBQ1IsQURnQ0YsS0NoQ08sR0RnQ1AsY0NoQ1csQURnQ0csZ0JDaENhLENBQUM7SUFDeEIsS0FBSyxFdEJGbUIsT0FBTztJc0JHL0IsZ0JBQWdCLEVBekJFLE9BQU07SUEwQnBCLFlBQVksRUF6QkYsT0FBTTtJQTJCcEIsZ0JBQWdCLEVBQUUsSUFBSyxHQVV4QjtJRGlCSCxjQ2xDRyxBRGtDVyxPQ2xDSixBQVVMLE1BQU0sRUR3QlgsY0NsQ0csQURrQ1csT0NsQ0osQUFXTCxNQUFNLEVEdUJYLGNDbENHLEFEa0NXLE9DbENKLEFBWUwsTUFBTSxFRHNCWCxjQ2pDRyxBRGlDVyxPQ2pDSixBQVNMLE1BQU0sRUR3QlgsY0NqQ0csQURpQ1csT0NqQ0osQUFVTCxNQUFNLEVEdUJYLGNDakNHLEFEaUNXLE9DakNKLEFBV0wsTUFBTTtJQVZULEFEZ0NGLEtDaENPLEdEZ0NQLGNDaENXLEFEZ0NHLGdCQ2hDYSxBQVF0QixNQUFNO0lBUlQsQURnQ0YsS0NoQ08sR0RnQ1AsY0NoQ1csQURnQ0csZ0JDaENhLEFBU3RCLE1BQU07SUFUVCxBRGdDRixLQ2hDTyxHRGdDUCxjQ2hDVyxBRGdDRyxnQkNoQ2EsQUFVdEIsTUFBTSxDQUFDO01BQ04sS0FBSyxFdEJaaUIsT0FBTztNc0JhN0IsZ0JBQWdCLEVBQUUsT0FBTTtNQUNwQixZQUFZLEVBQUUsT0FBTSxHQUN6QjtFRGtCTCxjQ2ZHLEFEZVcsU0NmRixBQUVQLE1BQU0sRURhWCxjQ2ZHLEFEZVcsU0NmRixBQUdQLE1BQU0sRURZWCxjQ2RHLEFEY1csU0NkRixBQUNQLE1BQU0sRURhWCxjQ2RHLEFEY1csU0NkRixBQUVQLE1BQU0sQ0FBQztJQUNOLGdCQUFnQixFdEJ3TVcsSUFBSTtJc0J2TTNCLFlBQVksRXRCd01XLElBQUksR3NCdk1oQztFRFNMLGNDZkcsQURlVyxTbkJwRFQsQW9CcUNPLE1wQnJDRCxFbUJvRFgsY0NkRyxBRGNXLFNuQnBEVCxBb0JzQ08sTXBCdENELENBQUM7SW9CNkNOLGdCQUFnQixFdEJvTVcsSUFBSTtJc0JuTTNCLFlBQVksRXRCb01XLElBQUksR0VsUFo7O0FtQnVEekIsU0FBUyxDQUFDO0VDdkRSLEtBQUssRXRCb1AwQixJQUFJO0VzQm5QbkMsZ0JBQWdCLEV0QjBCVSxPQUFPO0VzQnpCakMsWUFBWSxFdEJ5QmMsT0FBTyxHcUI4QmxDO0VBRkQsU25CdkRLLEFtQnVESSxNbkJ2REUsQ0FBQztJb0JNUixLQUFLLEV0QjhPd0IsSUFBSTtJc0I3T2pDLGdCQUFnQixFQVZFLE9BQU07SUFXcEIsWUFBWSxFQVZGLE9BQU0sR3BCRUM7RW1CdUR6QixTQzVDRyxBRDRDTSxNQzVDQSxFRDRDVCxTQzNDRyxBRDJDTSxNQzNDQSxDQUFDO0lBQ04sS0FBSyxFdEJ1T3dCLElBQUk7SXNCdE9qQyxnQkFBZ0IsRUFqQkUsT0FBTTtJQWtCcEIsWUFBWSxFQWpCRixPQUFNLEdBa0JyQjtFRHVDSCxTQ3JDRyxBRHFDTSxPQ3JDQyxFRHFDVixTQ3BDRyxBRG9DTSxPQ3BDQztFQUNSLEFEbUNGLEtDbkNPLEdEbUNQLFNDbkNXLEFEbUNGLGdCQ25Da0IsQ0FBQztJQUN4QixLQUFLLEV0QitOd0IsSUFBSTtJc0I5TmpDLGdCQUFnQixFQXpCRSxPQUFNO0lBMEJwQixZQUFZLEVBekJGLE9BQU07SUEyQnBCLGdCQUFnQixFQUFFLElBQUssR0FVeEI7SURvQkgsU0NyQ0csQURxQ00sT0NyQ0MsQUFVTCxNQUFNLEVEMkJYLFNDckNHLEFEcUNNLE9DckNDLEFBV0wsTUFBTSxFRDBCWCxTQ3JDRyxBRHFDTSxPQ3JDQyxBQVlMLE1BQU0sRUR5QlgsU0NwQ0csQURvQ00sT0NwQ0MsQUFTTCxNQUFNLEVEMkJYLFNDcENHLEFEb0NNLE9DcENDLEFBVUwsTUFBTSxFRDBCWCxTQ3BDRyxBRG9DTSxPQ3BDQyxBQVdMLE1BQU07SUFWVCxBRG1DRixLQ25DTyxHRG1DUCxTQ25DVyxBRG1DRixnQkNuQ2tCLEFBUXRCLE1BQU07SUFSVCxBRG1DRixLQ25DTyxHRG1DUCxTQ25DVyxBRG1DRixnQkNuQ2tCLEFBU3RCLE1BQU07SUFUVCxBRG1DRixLQ25DTyxHRG1DUCxTQ25DVyxBRG1DRixnQkNuQ2tCLEFBVXRCLE1BQU0sQ0FBQztNQUNOLEtBQUssRXRCcU5zQixJQUFJO01zQnBOL0IsZ0JBQWdCLEVBQUUsT0FBTTtNQUNwQixZQUFZLEVBQUUsT0FBTSxHQUN6QjtFRHFCTCxTQ2xCRyxBRGtCTSxTQ2xCRyxBQUVQLE1BQU0sRURnQlgsU0NsQkcsQURrQk0sU0NsQkcsQUFHUCxNQUFNLEVEZVgsU0NqQkcsQURpQk0sU0NqQkcsQUFDUCxNQUFNLEVEZ0JYLFNDakJHLEFEaUJNLFNDakJHLEFBRVAsTUFBTSxDQUFDO0lBQ04sZ0JBQWdCLEV0QmRNLE9BQU87SXNCZXpCLFlBQVksRXRCZk0sT0FBTyxHc0JnQjlCO0VEWUwsU0NsQkcsQURrQk0sU25CdkRKLEFvQnFDTyxNcEJyQ0QsRW1CdURYLFNDakJHLEFEaUJNLFNuQnZESixBb0JzQ08sTXBCdENELENBQUM7SW9CNkNOLGdCQUFnQixFdEJsQk0sT0FBTztJc0JtQnpCLFlBQVksRXRCbkJNLE9BQU8sR0UzQlY7O0FtQjBEekIsWUFBWSxDQUFDO0VDMURYLEtBQUssRXRCd1AwQixJQUFJO0VzQnZQbkMsZ0JBQWdCLEV0QnlCVSxPQUFPO0VzQnhCakMsWUFBWSxFdEJ3QmMsT0FBTyxHcUJrQ2xDO0VBRkQsWW5CMURLLEFtQjBETyxNbkIxREQsQ0FBQztJb0JNUixLQUFLLEV0QmtQd0IsSUFBSTtJc0JqUGpDLGdCQUFnQixFQVZFLE9BQU07SUFXcEIsWUFBWSxFQVZGLE9BQU0sR3BCRUM7RW1CMER6QixZQy9DRyxBRCtDUyxNQy9DSCxFRCtDVCxZQzlDRyxBRDhDUyxNQzlDSCxDQUFDO0lBQ04sS0FBSyxFdEIyT3dCLElBQUk7SXNCMU9qQyxnQkFBZ0IsRUFqQkUsT0FBTTtJQWtCcEIsWUFBWSxFQWpCRixPQUFNLEdBa0JyQjtFRDBDSCxZQ3hDRyxBRHdDUyxPQ3hDRixFRHdDVixZQ3ZDRyxBRHVDUyxPQ3ZDRjtFQUNSLEFEc0NGLEtDdENPLEdEc0NQLFlDdENXLEFEc0NDLGdCQ3RDZSxDQUFDO0lBQ3hCLEtBQUssRXRCbU93QixJQUFJO0lzQmxPakMsZ0JBQWdCLEVBekJFLE9BQU07SUEwQnBCLFlBQVksRUF6QkYsT0FBTTtJQTJCcEIsZ0JBQWdCLEVBQUUsSUFBSyxHQVV4QjtJRHVCSCxZQ3hDRyxBRHdDUyxPQ3hDRixBQVVMLE1BQU0sRUQ4QlgsWUN4Q0csQUR3Q1MsT0N4Q0YsQUFXTCxNQUFNLEVENkJYLFlDeENHLEFEd0NTLE9DeENGLEFBWUwsTUFBTSxFRDRCWCxZQ3ZDRyxBRHVDUyxPQ3ZDRixBQVNMLE1BQU0sRUQ4QlgsWUN2Q0csQUR1Q1MsT0N2Q0YsQUFVTCxNQUFNLEVENkJYLFlDdkNHLEFEdUNTLE9DdkNGLEFBV0wsTUFBTTtJQVZULEFEc0NGLEtDdENPLEdEc0NQLFlDdENXLEFEc0NDLGdCQ3RDZSxBQVF0QixNQUFNO0lBUlQsQURzQ0YsS0N0Q08sR0RzQ1AsWUN0Q1csQURzQ0MsZ0JDdENlLEFBU3RCLE1BQU07SUFUVCxBRHNDRixLQ3RDTyxHRHNDUCxZQ3RDVyxBRHNDQyxnQkN0Q2UsQUFVdEIsTUFBTSxDQUFDO01BQ04sS0FBSyxFdEJ5TnNCLElBQUk7TXNCeE4vQixnQkFBZ0IsRUFBRSxPQUFNO01BQ3BCLFlBQVksRUFBRSxPQUFNLEdBQ3pCO0VEd0JMLFlDckJHLEFEcUJTLFNDckJBLEFBRVAsTUFBTSxFRG1CWCxZQ3JCRyxBRHFCUyxTQ3JCQSxBQUdQLE1BQU0sRURrQlgsWUNwQkcsQURvQlMsU0NwQkEsQUFDUCxNQUFNLEVEbUJYLFlDcEJHLEFEb0JTLFNDcEJBLEFBRVAsTUFBTSxDQUFDO0lBQ04sZ0JBQWdCLEV0QmZNLE9BQU87SXNCZ0J6QixZQUFZLEV0QmhCTSxPQUFPLEdzQmlCOUI7RURlTCxZQ3JCRyxBRHFCUyxTbkIxRFAsQW9CcUNPLE1wQnJDRCxFbUIwRFgsWUNwQkcsQURvQlMsU25CMURQLEFvQnNDTyxNcEJ0Q0QsQ0FBQztJb0I2Q04sZ0JBQWdCLEV0Qm5CTSxPQUFPO0lzQm9CekIsWUFBWSxFdEJwQk0sT0FBTyxHRTFCVjs7QW1CNkR6QixZQUFZLENBQUM7RUM3RFgsS0FBSyxFdEI0UDBCLElBQUk7RXNCM1BuQyxnQkFBZ0IsRXRCMkJVLE9BQU87RXNCMUJqQyxZQUFZLEV0QjBCYyxPQUFPLEdxQm1DbEM7RUFGRCxZbkI3REssQW1CNkRPLE1uQjdERCxDQUFDO0lvQk1SLEtBQUssRXRCc1B3QixJQUFJO0lzQnJQakMsZ0JBQWdCLEVBVkUsT0FBTTtJQVdwQixZQUFZLEVBVkYsT0FBTSxHcEJFQztFbUI2RHpCLFlDbERHLEFEa0RTLE1DbERILEVEa0RULFlDakRHLEFEaURTLE1DakRILENBQUM7SUFDTixLQUFLLEV0QitPd0IsSUFBSTtJc0I5T2pDLGdCQUFnQixFQWpCRSxPQUFNO0lBa0JwQixZQUFZLEVBakJGLE9BQU0sR0FrQnJCO0VENkNILFlDM0NHLEFEMkNTLE9DM0NGLEVEMkNWLFlDMUNHLEFEMENTLE9DMUNGO0VBQ1IsQUR5Q0YsS0N6Q08sR0R5Q1AsWUN6Q1csQUR5Q0MsZ0JDekNlLENBQUM7SUFDeEIsS0FBSyxFdEJ1T3dCLElBQUk7SXNCdE9qQyxnQkFBZ0IsRUF6QkUsT0FBTTtJQTBCcEIsWUFBWSxFQXpCRixPQUFNO0lBMkJwQixnQkFBZ0IsRUFBRSxJQUFLLEdBVXhCO0lEMEJILFlDM0NHLEFEMkNTLE9DM0NGLEFBVUwsTUFBTSxFRGlDWCxZQzNDRyxBRDJDUyxPQzNDRixBQVdMLE1BQU0sRURnQ1gsWUMzQ0csQUQyQ1MsT0MzQ0YsQUFZTCxNQUFNLEVEK0JYLFlDMUNHLEFEMENTLE9DMUNGLEFBU0wsTUFBTSxFRGlDWCxZQzFDRyxBRDBDUyxPQzFDRixBQVVMLE1BQU0sRURnQ1gsWUMxQ0csQUQwQ1MsT0MxQ0YsQUFXTCxNQUFNO0lBVlQsQUR5Q0YsS0N6Q08sR0R5Q1AsWUN6Q1csQUR5Q0MsZ0JDekNlLEFBUXRCLE1BQU07SUFSVCxBRHlDRixLQ3pDTyxHRHlDUCxZQ3pDVyxBRHlDQyxnQkN6Q2UsQUFTdEIsTUFBTTtJQVRULEFEeUNGLEtDekNPLEdEeUNQLFlDekNXLEFEeUNDLGdCQ3pDZSxBQVV0QixNQUFNLENBQUM7TUFDTixLQUFLLEV0QjZOc0IsSUFBSTtNc0I1Ti9CLGdCQUFnQixFQUFFLE9BQU07TUFDcEIsWUFBWSxFQUFFLE9BQU0sR0FDekI7RUQyQkwsWUN4QkcsQUR3QlMsU0N4QkEsQUFFUCxNQUFNLEVEc0JYLFlDeEJHLEFEd0JTLFNDeEJBLEFBR1AsTUFBTSxFRHFCWCxZQ3ZCRyxBRHVCUyxTQ3ZCQSxBQUNQLE1BQU0sRURzQlgsWUN2QkcsQUR1QlMsU0N2QkEsQUFFUCxNQUFNLENBQUM7SUFDTixnQkFBZ0IsRXRCYk0sT0FBTztJc0JjekIsWUFBWSxFdEJkTSxPQUFPLEdzQmU5QjtFRGtCTCxZQ3hCRyxBRHdCUyxTbkI3RFAsQW9CcUNPLE1wQnJDRCxFbUI2RFgsWUN2QkcsQUR1QlMsU25CN0RQLEFvQnNDTyxNcEJ0Q0QsQ0FBQztJb0I2Q04sZ0JBQWdCLEV0QmpCTSxPQUFPO0lzQmtCekIsWUFBWSxFdEJsQk0sT0FBTyxHRTVCVjs7QW1CZ0V6QixXQUFXLENBQUM7RUNoRVYsS0FBSyxFdEJnUTBCLElBQUk7RXNCL1BuQyxnQkFBZ0IsRXRCNEJVLE9BQU87RXNCM0JqQyxZQUFZLEV0QjJCYyxPQUFPLEdxQnFDbEM7RUFGRCxXbkJoRUssQW1CZ0VNLE1uQmhFQSxDQUFDO0lvQk1SLEtBQUssRXRCMFB3QixJQUFJO0lzQnpQakMsZ0JBQWdCLEVBVkUsT0FBTTtJQVdwQixZQUFZLEVBVkYsT0FBTSxHcEJFQztFbUJnRXpCLFdDckRHLEFEcURRLE1DckRGLEVEcURULFdDcERHLEFEb0RRLE1DcERGLENBQUM7SUFDTixLQUFLLEV0Qm1Qd0IsSUFBSTtJc0JsUGpDLGdCQUFnQixFQWpCRSxPQUFNO0lBa0JwQixZQUFZLEVBakJGLE9BQU0sR0FrQnJCO0VEZ0RILFdDOUNHLEFEOENRLE9DOUNELEVEOENWLFdDN0NHLEFENkNRLE9DN0NEO0VBQ1IsQUQ0Q0YsS0M1Q08sR0Q0Q1AsV0M1Q1csQUQ0Q0EsZ0JDNUNnQixDQUFDO0lBQ3hCLEtBQUssRXRCMk93QixJQUFJO0lzQjFPakMsZ0JBQWdCLEVBekJFLE9BQU07SUEwQnBCLFlBQVksRUF6QkYsT0FBTTtJQTJCcEIsZ0JBQWdCLEVBQUUsSUFBSyxHQVV4QjtJRDZCSCxXQzlDRyxBRDhDUSxPQzlDRCxBQVVMLE1BQU0sRURvQ1gsV0M5Q0csQUQ4Q1EsT0M5Q0QsQUFXTCxNQUFNLEVEbUNYLFdDOUNHLEFEOENRLE9DOUNELEFBWUwsTUFBTSxFRGtDWCxXQzdDRyxBRDZDUSxPQzdDRCxBQVNMLE1BQU0sRURvQ1gsV0M3Q0csQUQ2Q1EsT0M3Q0QsQUFVTCxNQUFNLEVEbUNYLFdDN0NHLEFENkNRLE9DN0NELEFBV0wsTUFBTTtJQVZULEFENENGLEtDNUNPLEdENENQLFdDNUNXLEFENENBLGdCQzVDZ0IsQUFRdEIsTUFBTTtJQVJULEFENENGLEtDNUNPLEdENENQLFdDNUNXLEFENENBLGdCQzVDZ0IsQUFTdEIsTUFBTTtJQVRULEFENENGLEtDNUNPLEdENENQLFdDNUNXLEFENENBLGdCQzVDZ0IsQUFVdEIsTUFBTSxDQUFDO01BQ04sS0FBSyxFdEJpT3NCLElBQUk7TXNCaE8vQixnQkFBZ0IsRUFBRSxPQUFNO01BQ3BCLFlBQVksRUFBRSxPQUFNLEdBQ3pCO0VEOEJMLFdDM0JHLEFEMkJRLFNDM0JDLEFBRVAsTUFBTSxFRHlCWCxXQzNCRyxBRDJCUSxTQzNCQyxBQUdQLE1BQU0sRUR3QlgsV0MxQkcsQUQwQlEsU0MxQkMsQUFDUCxNQUFNLEVEeUJYLFdDMUJHLEFEMEJRLFNDMUJDLEFBRVAsTUFBTSxDQUFDO0lBQ04sZ0JBQWdCLEV0QlpNLE9BQU87SXNCYXpCLFlBQVksRXRCYk0sT0FBTyxHc0JjOUI7RURxQkwsV0MzQkcsQUQyQlEsU25CaEVOLEFvQnFDTyxNcEJyQ0QsRW1CZ0VYLFdDMUJHLEFEMEJRLFNuQmhFTixBb0JzQ08sTXBCdENELENBQUM7SW9CNkNOLGdCQUFnQixFdEJoQk0sT0FBTztJc0JpQnpCLFlBQVksRXRCakJNLE9BQU8sR0U3QlY7O0FtQnFFekIsb0JBQW9CLENBQUM7RUNqQm5CLEtBQUssRXRCM0JxQixPQUFPO0VzQjRCakMsZ0JBQWdCLEVBQUUsSUFBSztFQUN2QixnQkFBZ0IsRUFBRSxXQUFZO0VBQzlCLFlBQVksRXRCOUJjLE9BQU8sR3FCOENsQztFQUZELG9CQ1pHLEFEWWlCLE1DWlgsRURZVCxvQkNYRyxBRFdpQixNQ1hYLEVEV1Qsb0JDVkcsQURVaUIsT0NWVixFRFVWLG9CQ1RHLEFEU2lCLE9DVFY7RUFDUixBRFFGLEtDUk8sR0RRUCxvQkNSVyxBRFFTLGdCQ1JPLENBQUM7SUFDeEIsS0FBSyxFQUFFLElBQUs7SUFDWixnQkFBZ0IsRXRCdENRLE9BQU87SXNCdUMzQixZQUFZLEV0QnZDUSxPQUFPLEdzQndDaEM7RURJSCxvQm5CckVLLEFtQnFFZSxNbkJyRVQsQ0FBQztJb0JtRVIsS0FBSyxFQUFFLElBQUs7SUFDWixnQkFBZ0IsRXRCM0NRLE9BQU87SXNCNEMzQixZQUFZLEV0QjVDUSxPQUFPLEdFekJWO0VtQnFFekIsb0JDR0csQURIaUIsU0NHUixBQUVQLE1BQU0sRURMWCxvQkNHRyxBREhpQixTQ0dSLEFBR1AsTUFBTSxFRE5YLG9CQ0lHLEFESmlCLFNDSVIsQUFDUCxNQUFNLEVETFgsb0JDSUcsQURKaUIsU0NJUixBQUVQLE1BQU0sQ0FBQztJQUNOLFlBQVksRUFBRSxPQUFPLEdBQ3RCO0VEUkwsb0JDR0csQURIaUIsU25CckVmLEFvQndFTyxNcEJ4RUQsRW1CcUVYLG9CQ0lHLEFESmlCLFNuQnJFZixBb0J5RU8sTXBCekVELENBQUM7SW9CK0VOLFlBQVksRUFBRSxPQUFPLEdwQi9FRjs7QW1Cd0V6QixzQkFBc0IsQ0FBQztFQ3BCckIsS0FBSyxFdEI4TDBCLElBQUk7RXNCN0xuQyxnQkFBZ0IsRUFBRSxJQUFLO0VBQ3ZCLGdCQUFnQixFQUFFLFdBQVk7RUFDOUIsWUFBWSxFdEIyTG1CLElBQUksR3FCeEtwQztFQUZELHNCQ2ZHLEFEZW1CLE1DZmIsRURlVCxzQkNkRyxBRGNtQixNQ2RiLEVEY1Qsc0JDYkcsQURhbUIsT0NiWixFRGFWLHNCQ1pHLEFEWW1CLE9DWlo7RUFDUixBRFdGLEtDWE8sR0RXUCxzQkNYVyxBRFdXLGdCQ1hLLENBQUM7SUFDeEIsS0FBSyxFQUFFLElBQUs7SUFDWixnQkFBZ0IsRXRCbUxhLElBQUk7SXNCbEw3QixZQUFZLEV0QmtMYSxJQUFJLEdzQmpMbEM7RURPSCxzQm5CeEVLLEFtQndFaUIsTW5CeEVYLENBQUM7SW9CbUVSLEtBQUssRUFBRSxJQUFLO0lBQ1osZ0JBQWdCLEV0QjhLYSxJQUFJO0lzQjdLN0IsWUFBWSxFdEI2S2EsSUFBSSxHRWxQWjtFbUJ3RXpCLHNCQ0FHLEFEQW1CLFNDQVYsQUFFUCxNQUFNLEVERlgsc0JDQUcsQURBbUIsU0NBVixBQUdQLE1BQU0sRURIWCxzQkNDRyxBRERtQixTQ0NWLEFBQ1AsTUFBTSxFREZYLHNCQ0NHLEFERG1CLFNDQ1YsQUFFUCxNQUFNLENBQUM7SUFDTixZQUFZLEVBQUUsS0FBTyxHQUN0QjtFRExMLHNCQ0FHLEFEQW1CLFNuQnhFakIsQW9Cd0VPLE1wQnhFRCxFbUJ3RVgsc0JDQ0csQUREbUIsU25CeEVqQixBb0J5RU8sTXBCekVELENBQUM7SW9CK0VOLFlBQVksRUFBRSxLQUFPLEdwQi9FRjs7QW1CMkV6QixpQkFBaUIsQ0FBQztFQ3ZCaEIsS0FBSyxFdEJ6QnFCLE9BQU87RXNCMEJqQyxnQkFBZ0IsRUFBRSxJQUFLO0VBQ3ZCLGdCQUFnQixFQUFFLFdBQVk7RUFDOUIsWUFBWSxFdEI1QmMsT0FBTyxHcUJrRGxDO0VBRkQsaUJDbEJHLEFEa0JjLE1DbEJSLEVEa0JULGlCQ2pCRyxBRGlCYyxNQ2pCUixFRGlCVCxpQkNoQkcsQURnQmMsT0NoQlAsRURnQlYsaUJDZkcsQURlYyxPQ2ZQO0VBQ1IsQURjRixLQ2RPLEdEY1AsaUJDZFcsQURjTSxnQkNkVSxDQUFDO0lBQ3hCLEtBQUssRUFBRSxJQUFLO0lBQ1osZ0JBQWdCLEV0QnBDUSxPQUFPO0lzQnFDM0IsWUFBWSxFdEJyQ1EsT0FBTyxHc0JzQ2hDO0VEVUgsaUJuQjNFSyxBbUIyRVksTW5CM0VOLENBQUM7SW9CbUVSLEtBQUssRUFBRSxJQUFLO0lBQ1osZ0JBQWdCLEV0QnpDUSxPQUFPO0lzQjBDM0IsWUFBWSxFdEIxQ1EsT0FBTyxHRTNCVjtFbUIyRXpCLGlCQ0hHLEFER2MsU0NITCxBQUVQLE1BQU0sRURDWCxpQkNIRyxBREdjLFNDSEwsQUFHUCxNQUFNLEVEQVgsaUJDRkcsQURFYyxTQ0ZMLEFBQ1AsTUFBTSxFRENYLGlCQ0ZHLEFERWMsU0NGTCxBQUVQLE1BQU0sQ0FBQztJQUNOLFlBQVksRUFBRSxPQUFPLEdBQ3RCO0VERkwsaUJDSEcsQURHYyxTbkIzRVosQW9Cd0VPLE1wQnhFRCxFbUIyRVgsaUJDRkcsQURFYyxTbkIzRVosQW9CeUVPLE1wQnpFRCxDQUFDO0lvQitFTixZQUFZLEVBQUUsT0FBTyxHcEIvRUY7O0FtQjhFekIsb0JBQW9CLENBQUM7RUMxQm5CLEtBQUssRXRCMUJxQixPQUFPO0VzQjJCakMsZ0JBQWdCLEVBQUUsSUFBSztFQUN2QixnQkFBZ0IsRUFBRSxXQUFZO0VBQzlCLFlBQVksRXRCN0JjLE9BQU8sR3FCc0RsQztFQUZELG9CQ3JCRyxBRHFCaUIsTUNyQlgsRURxQlQsb0JDcEJHLEFEb0JpQixNQ3BCWCxFRG9CVCxvQkNuQkcsQURtQmlCLE9DbkJWLEVEbUJWLG9CQ2xCRyxBRGtCaUIsT0NsQlY7RUFDUixBRGlCRixLQ2pCTyxHRGlCUCxvQkNqQlcsQURpQlMsZ0JDakJPLENBQUM7SUFDeEIsS0FBSyxFQUFFLElBQUs7SUFDWixnQkFBZ0IsRXRCckNRLE9BQU87SXNCc0MzQixZQUFZLEV0QnRDUSxPQUFPLEdzQnVDaEM7RURhSCxvQm5COUVLLEFtQjhFZSxNbkI5RVQsQ0FBQztJb0JtRVIsS0FBSyxFQUFFLElBQUs7SUFDWixnQkFBZ0IsRXRCMUNRLE9BQU87SXNCMkMzQixZQUFZLEV0QjNDUSxPQUFPLEdFMUJWO0VtQjhFekIsb0JDTkcsQURNaUIsU0NOUixBQUVQLE1BQU0sRURJWCxvQkNORyxBRE1pQixTQ05SLEFBR1AsTUFBTSxFREdYLG9CQ0xHLEFES2lCLFNDTFIsQUFDUCxNQUFNLEVESVgsb0JDTEcsQURLaUIsU0NMUixBQUVQLE1BQU0sQ0FBQztJQUNOLFlBQVksRUFBRSxPQUFPLEdBQ3RCO0VEQ0wsb0JDTkcsQURNaUIsU25COUVmLEFvQndFTyxNcEJ4RUQsRW1COEVYLG9CQ0xHLEFES2lCLFNuQjlFZixBb0J5RU8sTXBCekVELENBQUM7SW9CK0VOLFlBQVksRUFBRSxPQUFPLEdwQi9FRjs7QW1CaUZ6QixvQkFBb0IsQ0FBQztFQzdCbkIsS0FBSyxFdEJ4QnFCLE9BQU87RXNCeUJqQyxnQkFBZ0IsRUFBRSxJQUFLO0VBQ3ZCLGdCQUFnQixFQUFFLFdBQVk7RUFDOUIsWUFBWSxFdEIzQmMsT0FBTyxHcUJ1RGxDO0VBRkQsb0JDeEJHLEFEd0JpQixNQ3hCWCxFRHdCVCxvQkN2QkcsQUR1QmlCLE1DdkJYLEVEdUJULG9CQ3RCRyxBRHNCaUIsT0N0QlYsRURzQlYsb0JDckJHLEFEcUJpQixPQ3JCVjtFQUNSLEFEb0JGLEtDcEJPLEdEb0JQLG9CQ3BCVyxBRG9CUyxnQkNwQk8sQ0FBQztJQUN4QixLQUFLLEVBQUUsSUFBSztJQUNaLGdCQUFnQixFdEJuQ1EsT0FBTztJc0JvQzNCLFlBQVksRXRCcENRLE9BQU8sR3NCcUNoQztFRGdCSCxvQm5CakZLLEFtQmlGZSxNbkJqRlQsQ0FBQztJb0JtRVIsS0FBSyxFQUFFLElBQUs7SUFDWixnQkFBZ0IsRXRCeENRLE9BQU87SXNCeUMzQixZQUFZLEV0QnpDUSxPQUFPLEdFNUJWO0VtQmlGekIsb0JDVEcsQURTaUIsU0NUUixBQUVQLE1BQU0sRURPWCxvQkNURyxBRFNpQixTQ1RSLEFBR1AsTUFBTSxFRE1YLG9CQ1JHLEFEUWlCLFNDUlIsQUFDUCxNQUFNLEVET1gsb0JDUkcsQURRaUIsU0NSUixBQUVQLE1BQU0sQ0FBQztJQUNOLFlBQVksRUFBRSxPQUFPLEdBQ3RCO0VESUwsb0JDVEcsQURTaUIsU25CakZmLEFvQndFTyxNcEJ4RUQsRW1CaUZYLG9CQ1JHLEFEUWlCLFNuQmpGZixBb0J5RU8sTXBCekVELENBQUM7SW9CK0VOLFlBQVksRUFBRSxPQUFPLEdwQi9FRjs7QW1Cb0Z6QixtQkFBbUIsQ0FBQztFQ2hDbEIsS0FBSyxFdEJ2QnFCLE9BQU87RXNCd0JqQyxnQkFBZ0IsRUFBRSxJQUFLO0VBQ3ZCLGdCQUFnQixFQUFFLFdBQVk7RUFDOUIsWUFBWSxFdEIxQmMsT0FBTyxHcUJ5RGxDO0VBRkQsbUJDM0JHLEFEMkJnQixNQzNCVixFRDJCVCxtQkMxQkcsQUQwQmdCLE1DMUJWLEVEMEJULG1CQ3pCRyxBRHlCZ0IsT0N6QlQsRUR5QlYsbUJDeEJHLEFEd0JnQixPQ3hCVDtFQUNSLEFEdUJGLEtDdkJP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LEdBQUk7SUFDWCxXQUFXLEVBQUUsR0FBSSxHQUNsQjtFQVhMLGFBQU8sQ0FjRztJQUNOLFdBQVcsRUFBRSxJQUFLO0lBQ2xCLGNBQWMsRUFBRSxHQUFJLEdBQ3JCO0VBakJILEFBbUJFLE9BbkJLLENBbUJMLEVBQUUsQ0FBQztJQUNELGVBQWUsRUFBRSxJQUFLO0lBQ3RCLFlBQVksRUFBRSxDQUFFLEdBY2pCO0lBbkNILEFBdUJJLE9BdkJHLENBbUJMLEVBQUUsQ0FJQSxFQUFFLENBQUM7TUFDRCxXQUFXLEVBQUUsSUFBSyxHQUNuQjtJQXpCTCxBQTJCSSxPQTNCRyxDQW1CTCxFQUFFLENBUUEsQ0FBQyxDQUFDO01BQ0EsS0FBSyxFQUFFLElBQUs7TUFDWixXQUFXLEVBQUUsR0FBSSxHQUtsQjtNQWxDTCxBQTJCSSxPQTNCRyxDQW1CTCxFQUFFLENBUUEsQ0FBQyxBQUlFLE1BQU0sQ0FBQztRQUNOLEtBQUssRS9FUEEsT0FBTyxHK0VRYjtFQWpDUCxtQkFBTyxDQXNDSztJQUNOLFdBQVcsRUFBRSxHQUFJO0lBQ2pCLFdBQVcsRUFBRSxJQUFLLEdBU25CO0lBakRMLEFBMENNLG1CQTFDQyxDQTBDRCxDQUFDLENBQUM7TUFDQSxLQUFLLEVBQUUsSUFBSyxHQUtiO01BaERQLEFBMENNLG1CQTFDQyxDQTBDRCxDQUFDLEFBR0UsTUFBTSxDQUFDO1FBQ04sS0FBSyxFL0VyQkYsT0FBTyxHK0VzQlgiLCJmaWxlIjoic3R5bGVzLm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBDU1MgUkVTRVRTICovXG5AaW1wb3J0ICcuLi9ib3dlcl9jb21wb25lbnRzL25vcm1hbGl6ZS1jc3Mvbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwJztcblxuLyogR0xPQkFMUyAqL1xuQGltcG9ydCAnZ2xvYmFscy92YXJpYWJsZXMnO1xuXG4vKiBNSVhJTlMgKi9cbkBpbXBvcnQgJ21peGlucy9iYWNrZ3JvdW5kLWdyYWRpZW50JztcbkBpbXBvcnQgJ21peGlucy9jbGVhcmZpeCc7XG5AaW1wb3J0ICdtaXhpbnMvYm9yZGVyLXJhZGl1cyc7XG5AaW1wb3J0ICdtaXhpbnMvcGFkZGluZyc7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGVhZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zvcm0nO1xuQGltcG9ydCAnY29tcG9uZW50cy9uYXYnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vYmplY3RzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcG9wdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zZXJ2aWNlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3ZhY2FuY3knO1xuQGltcG9ydCAnY29tcG9uZW50cy93aHknO1xuQGltcG9ydCAnY29tcG9uZW50cy93b3JrJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm9vdGVyJztcbiIsIi8qISBub3JtYWxpemUuY3NzIHY0LjEuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIGFuZCBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLCAvKiAxICovXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxubWFpbiwgLyogMiAqL1xubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHsgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSwgLyogMSAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udDogaW5oZXJpdDsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb250IHdlaWdodCB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSB0ZXh0IHN0eWxlIG9mIHBsYWNlaG9sZGVycyBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IDAuNTQ7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuIiwiXG5AaW1wb3J0IHVybChodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UFQrU2Fuczo0MDAsNzAwJnN1YnNldD1sYXRpbixjeXJpbGxpYyk7XG5AaW1wb3J0IHVybChodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3BlbitTYW5zOjQwMCw2MDAsMzAwLDcwMCw4MDAmc3Vic2V0PWxhdGluLGN5cmlsbGljKTtcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TGF0bzozMDAsNDAwLDcwMCw5MDAnKTtcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvOjMwMCw0MDAsNTAwLDcwMCw5MDAmc3Vic2V0PWN5cmlsbGljJyk7XG4vLyBGb250IFdlaWdodHNcblxuJG9wZW4tc2FuczogJ09wZW4gU2Fucyc7XG4kcm9ib3RvOiAnUm9ib3RvJztcbiRwdC1zYW5zOiAnUFQgU2Fucyc7XG4kbGF0bzogJ0xhdG8nO1xuXG4kbGlnaHQ6IDMwMDtcbiRyZWd1bGFyOiA0MDA7XG4kYm9sZDogNzAwO1xuXG4vLyBCYXNlIEZvbnRcblxuJGJhc2UtZm9udC1zaXplOiAxOHB4O1xuJGJhc2UtZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4kYmFzZS1saW5lLWhlaWdodDogMS40O1xuJGJhc2UtZm9udC13ZWlnaHQ6ICRyZWd1bGFyO1xuXG4vLyBDb2xvcnNcblxuJGJhc2UtY29sb3I6ICNmZjI0MjQ7XG4kc2Vjb25kYXJ5LWNvbG9yOiAjMDAwMDAwO1xuJGZvbnQtY29sb3I6ICMwMDAwMDA7XG4kZm9vdGVyLWNvbG9yOiAjMDAwMDAwO1xuXG4vLyBNZWRpYSBRdWVyaWVzXG5cbiRzY3JlZW4tc206ICdvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpJztcbiRzY3JlZW4tbWQ6ICcobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCknO1xuJHNjcmVlbi1sZzogJyhtaW4td2lkdGg6IDEwMjRweCknO1xuXG4vLyBNZWRpYSBSZXNvbHV0aW9uXG5cbiRtb2JpbGU6ICRzY3JlZW4tc207XG4kdGFibGV0OiAkc2NyZWVuLW1kO1xuJGRlc2t0b3A6ICRzY3JlZW4tbGc7XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogJG9wZW4tc2FucywgJGJhc2UtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICBjb2xvcjogJGZvbnQtY29sb3I7XG59XG5cbi5ibGFuayB7XG4gIHBhZGRpbmc6IDNlbSAwO1xufVxuXG4ubWFpbnRleHQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nLWJvdHRvbTogMS41ZW07XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuIiwiLyohXG4gKiBCb290c3RyYXAgdjQuMC4wLWFscGhhLjIgKGh0dHA6Ly9nZXRib290c3RyYXAuY29tKVxuICogQ29weXJpZ2h0IDIwMTEtMjAxNSBUd2l0dGVyLCBJbmMuXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKVxuICovXG5cbi8vIENvcmUgdmFyaWFibGVzIGFuZCBtaXhpbnNcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLy8gUmVzZXQgYW5kIGRlcGVuZGVuY2llc1xuQGltcG9ydCBcIm5vcm1hbGl6ZVwiO1xuQGltcG9ydCBcInByaW50XCI7XG5cbi8vIENvcmUgQ1NTXG5AaW1wb3J0IFwicmVib290XCI7XG5AaW1wb3J0IFwidHlwZVwiO1xuQGltcG9ydCBcImltYWdlc1wiO1xuQGltcG9ydCBcImNvZGVcIjtcbkBpbXBvcnQgXCJncmlkXCI7XG5AaW1wb3J0IFwidGFibGVzXCI7XG5AaW1wb3J0IFwiZm9ybXNcIjtcbkBpbXBvcnQgXCJidXR0b25zXCI7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJhbmltYXRpb25cIjtcbkBpbXBvcnQgXCJkcm9wZG93blwiO1xuQGltcG9ydCBcImJ1dHRvbi1ncm91cFwiO1xuQGltcG9ydCBcImlucHV0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY3VzdG9tLWZvcm1zXCI7XG5AaW1wb3J0IFwibmF2XCI7XG5AaW1wb3J0IFwibmF2YmFyXCI7XG5AaW1wb3J0IFwiY2FyZFwiO1xuQGltcG9ydCBcImJyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCJwYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwicGFnZXJcIjtcbkBpbXBvcnQgXCJsYWJlbHNcIjtcbkBpbXBvcnQgXCJqdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJhbGVydFwiO1xuQGltcG9ydCBcInByb2dyZXNzXCI7XG5AaW1wb3J0IFwibWVkaWFcIjtcbkBpbXBvcnQgXCJsaXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwicmVzcG9uc2l2ZS1lbWJlZFwiO1xuQGltcG9ydCBcImNsb3NlXCI7XG5cbi8vIENvbXBvbmVudHMgdy8gSmF2YVNjcmlwdFxuQGltcG9ydCBcIm1vZGFsXCI7XG5AaW1wb3J0IFwidG9vbHRpcFwiO1xuQGltcG9ydCBcInBvcG92ZXJcIjtcbkBpbXBvcnQgXCJjYXJvdXNlbFwiO1xuXG4vLyBVdGlsaXR5IGNsYXNzZXNcbkBpbXBvcnQgXCJ1dGlsaXRpZXNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMtYmFja2dyb3VuZFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy1zcGFjaW5nXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzLXJlc3BvbnNpdmVcIjtcbiIsIi8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLy9cbi8vIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4vLyAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuLy8gICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuLy9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAxXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxufVxuXG4vL1xuLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuLy9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8gSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuLy8gYW5kIEZpcmVmb3guXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuLy9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuLy8gMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuLy9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyAxXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gMlxufVxuXG4vL1xuLy8gUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbi8vIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4vL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4vLyBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4vL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gTGlua3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbi8vXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLy9cbi8vIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbi8vIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbi8vXG5cbmEge1xuICAmOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuLy9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vL1xuLy8gQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuLy8gY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4vL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vLyBFbWJlZGRlZCBjb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4vL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8vXG4vLyBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbi8vXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gR3JvdXBpbmcgY29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuLy9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbi8vXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLy9cbi8vIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8vXG4vLyBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8vIEZvcm1zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbi8vIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbi8vXG5cbi8vXG4vLyAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4vLyAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbi8vIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4vLyAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvLyAxXG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgbWFyZ2luOiAwOyAvLyAzXG59XG5cbi8vXG4vLyBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbi8vXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuLy8gQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbi8vIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4vLyBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4vL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLy9cbi8vIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4vLyAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbi8vIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbi8vIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4vLyAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4vL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8vIDFcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxuICBjdXJzb3I6IHBvaW50ZXI7IC8vIDNcbn1cblxuLy9cbi8vIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4vL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4vL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbi8vIHRoZSBVQSBzdHlsZXNoZWV0LlxuLy9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vL1xuLy8gSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuLy8gRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbi8vXG4vLyAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuLy8gMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbi8vXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxufVxuXG4vL1xuLy8gRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbi8vIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4vLyBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4vL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy9cbi8vIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuLy8gMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8yXG59XG5cbi8vXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbi8vIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbi8vIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbi8vXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuLy9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4vLyAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4vL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxufVxuXG4vL1xuLy8gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbi8vXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8vXG4vLyBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4vLyBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbi8vXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vIFRhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuIiwiLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDogaDVicC5jb20vclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1lZGlhIHByaW50IHtcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gIH1cblxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IC8vIGg1YnAuY29tL3RcbiAgfVxuXG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzO1xuICB9XG5cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgfVxuXG4gIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIHN0YXJ0XG5cbiAgLy8gQm9vdHN0cmFwIGNvbXBvbmVudHNcbiAgLm5hdmJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYnRuLFxuICAuZHJvcHVwID4gLmJ0biB7XG4gICAgPiAuY2FyZXQge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAubGFiZWwge1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAjMDAwO1xuICB9XG5cbiAgLnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG5cbiAgICB0ZCxcbiAgICB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC50YWJsZS1ib3JkZXJlZCB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIGVuZFxufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gQ29weSBzZXR0aW5ncyBmcm9tIHRoaXMgZmlsZSBpbnRvIHRoZSBwcm92aWRlZCBgX2N1c3RvbS5zY3NzYCB0byBvdmVycmlkZVxuLy8gdGhlIEJvb3RzdHJhcCBkZWZhdWx0cyB3aXRob3V0IG1vZGlmeWluZyBrZXksIHZlcnNpb25lZCBmaWxlcy5cblxuXG4vLyBUYWJsZSBvZiBDb250ZW50c1xuLy9cbi8vIENvbG9yc1xuLy8gT3B0aW9uc1xuLy8gU3BhY2luZ1xuLy8gQm9keVxuLy8gTGlua3Ncbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vIEdyaWQgY29udGFpbmVyc1xuLy8gR3JpZCBjb2x1bW5zXG4vLyBGb250c1xuLy8gQ29tcG9uZW50c1xuXG4vLyBHZW5lcmFsIHZhcmlhYmxlIHN0cnVjdHVyZVxuLy9cbi8vIFZhcmlhYmxlIGZvcm1hdCBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1tb2RpZmllci1zdGF0ZS1wcm9wZXJ0eWAgb3JkZXIuXG5cblxuLy8gQ29sb3JzXG4vL1xuLy8gR3JheXNjYWxlIGFuZCBicmFuZCBjb2xvcnMgZm9yIHVzZSBhY3Jvc3MgQm9vdHN0cmFwLlxuXG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAgICAgIzM3M2EzYyAhZGVmYXVsdDtcbiRncmF5OiAgICAgICAgICAgICAgICAgICAgICAjNTU1OTVjICFkZWZhdWx0O1xuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgICAgICM4MThhOTEgIWRlZmF1bHQ7XG4kZ3JheS1saWdodGVyOiAgICAgICAgICAgICAgI2VjZWVlZiAhZGVmYXVsdDtcbiRncmF5LWxpZ2h0ZXN0OiAgICAgICAgICAgICAjZjdmN2Y5ICFkZWZhdWx0O1xuXG4kYnJhbmQtcHJpbWFyeTogICAgICAgICAgICAgIzAyNzVkOCAhZGVmYXVsdDtcbiRicmFuZC1zdWNjZXNzOiAgICAgICAgICAgICAjNWNiODVjICFkZWZhdWx0O1xuJGJyYW5kLWluZm86ICAgICAgICAgICAgICAgICM1YmMwZGUgIWRlZmF1bHQ7XG4kYnJhbmQtd2FybmluZzogICAgICAgICAgICAgI2YwYWQ0ZSAhZGVmYXVsdDtcbiRicmFuZC1kYW5nZXI6ICAgICAgICAgICAgICAjZDk1MzRmICFkZWZhdWx0O1xuXG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtZmxleDogICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cblxuJHNwYWNlcjogICAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwYWNlci14OiAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJHNwYWNlci15OiAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJHNwYWNlcnM6IChcbiAgMDogKFxuICAgIHg6ICAgMCxcbiAgICB5OiAgIDBcbiAgKSxcbiAgMTogKFxuICAgIHg6ICAgJHNwYWNlci14LFxuICAgIHk6ICAgJHNwYWNlci15XG4gICksXG4gIDI6IChcbiAgICB4OiAgICgkc3BhY2VyLXggKiAxLjUpLFxuICAgIHk6ICAgKCRzcGFjZXIteSAqIDEuNSlcbiAgKSxcbiAgMzogKFxuICAgIHg6ICAgKCRzcGFjZXIteCAqIDMpLFxuICAgIHk6ICAgKCRzcGFjZXIteSAqIDMpXG4gIClcbikgIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG5cblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gYW5kIG1heGltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgLy8gRXh0cmEgc21hbGwgc2NyZWVuIC8gcGhvbmVcbiAgeHM6IDAsXG4gIC8vIFNtYWxsIHNjcmVlbiAvIHBob25lXG4gIHNtOiA1NDRweCxcbiAgLy8gTWVkaXVtIHNjcmVlbiAvIHRhYmxldFxuICBtZDogNzY4cHgsXG4gIC8vIExhcmdlIHNjcmVlbiAvIGRlc2t0b3BcbiAgbGc6IDk5MnB4LFxuICAvLyBFeHRyYSBsYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3BcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU3NnB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NDBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgMS44NzVyZW0gIWRlZmF1bHQ7IC8vIDMwcHhcblxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgICAgICBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFBpeGVsIHZhbHVlIHVzZWQgdG8gcmVzcG9uc2l2ZWx5IHNjYWxlIGFsbCB0eXBvZ3JhcGh5LiBBcHBsaWVkIHRvIHRoZSBgPGh0bWw+YCBlbGVtZW50LlxuJGZvbnQtc2l6ZS1yb290OiAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXhzOiAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1oMTogICAgICAgICAgICAgICAyLjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWgyOiAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWgzOiAgICAgICAgICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg0OiAgICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDU6ICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDY6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAoJHNwYWNlciAvIDIpICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgIDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4kYWJici1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1ib3JkZXItY29sb3I6ICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKDAsMCwwLC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG5cbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgIGJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIDVweCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgKDQgLyAzKSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC13aWR0aC1sZzogICAgICAgICAkY2FyZXQtd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1zbS1jZWxsLXBhZGRpbmc6ICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGFibGUtYmctYWNjZW50OiAgICAgICAgICAgICAgICNmOWY5ZjkgIWRlZmF1bHQ7XG4kdGFibGUtYmctaG92ZXI6ICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kdGFibGUtYmctYWN0aXZlOiAgICAgICAgICAgICAgICR0YWJsZS1iZy1ob3ZlciAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcblxuJGJ0bi1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJvcmRlcjogICAgICAgICAgICAgJGJ0bi1wcmltYXJ5LWJnICFkZWZhdWx0O1xuXG4kYnRuLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGJ0bi1zZWNvbmRhcnktYmc6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tc2Vjb25kYXJ5LWJvcmRlcjogICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbiRidG4taW5mby1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbiRidG4taW5mby1ib3JkZXI6ICAgICAgICAgICAgICAgICRidG4taW5mby1iZyAhZGVmYXVsdDtcblxuJGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgJGJ0bi1zdWNjZXNzLWJnICFkZWZhdWx0O1xuXG4kYnRuLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICAkYnRuLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG5cbiRidG4tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgICAgJGJ0bi1kYW5nZXItYmcgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuXG4vLyBGb3Jtc1xuXG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnNcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICM2NmFmZTkgIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdy1mb2N1czogICAgICAgICByZ2JhKDEwMiwxNzUsMjMzLC42KSAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgLjI3NXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQpICsgKCRpbnB1dC1wYWRkaW5nLXkgKiAyKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAoKCRmb250LXNpemUtbGcgKiAkbGluZS1oZWlnaHQtbGcpICsgKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAoKCRmb250LXNpemUtc20gKiAkbGluZS1oZWlnaHQtc20pICsgKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyKSkgIWRlZmF1bHQ7XG5cbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICRzcGFjZXIteSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXJzb3ItZGlzYWJsZWQ6ICAgICAgICAgICAgICAgIG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLyBGb3JtIHZhbGlkYXRpb24gaWNvbnNcbiRmb3JtLWljb24tc3VjY2VzczogXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBMk1USWdOemt5SWo0OGNHRjBhQ0JtYVd4c1BTSWpOV05pT0RWaklpQmtQU0pOTWpNekxqZ2dOakV3WXkweE15NHpJREF0TWpZdE5pMHpOQzB4Tmk0NFREa3dMalVnTkRRNExqaEROell1TXlBME16QWdPREFnTkRBekxqTWdPVGd1T0NBek9EbGpNVGd1T0MweE5DNHlJRFExTGpVdE1UQXVOQ0ExT1M0NElEZ3VOR3czTWlBNU5VdzBOVEV1TXlBeU5ESmpNVEl1TlMweU1DQXpPQzQ0TFRJMkxqSWdOVGd1T0MweE15NDNJREl3SURFeUxqUWdNallnTXpndU55QXhNeTQzSURVNExqaE1NamN3SURVNU1HTXROeTQwSURFeUxUSXdMaklnTVRrdU5DMHpOQzR6SURJd2FDMHllaUl2UGp3dmMzWm5QZz09XCIgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLXdhcm5pbmc6IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQTJNVElnTnpreUlqNDhjR0YwYUNCbWFXeHNQU0lqWmpCaFpEUmxJaUJrUFNKTk5qQXpJRFkwTUM0eWJDMHlOemd1TlMwMU1EbGpMVE11T0MwMkxqWXRNVEF1T0MweE1DNDJMVEU0TGpVdE1UQXVObk10TVRRdU55QTBMVEU0TGpVZ01UQXVOa3c1SURZME1DNHlZeTB6TGpjZ05pNDFMVE11TmlBeE5DNDBMaklnTWpBdU9DQXpMamdnTmk0MUlERXdMamdnTVRBdU5DQXhPQzR6SURFd0xqUm9OVFUzWXpjdU5pQXdJREUwTGpZdE5DQXhPQzQwTFRFd0xqUWdNeTQxTFRZdU5DQXpMall0TVRRdU5DQXdMVEl3TGpoNmJTMHlOall1TkMwek1HZ3ROakV1TWxZMU5EbG9OakV1TW5ZMk1TNHllbTB3TFRFd04yZ3ROakV1TWxZek1EUm9OakV1TW5ZeE9UbDZJaTgrUEM5emRtYytcIiAhZGVmYXVsdDtcbiRmb3JtLWljb24tZGFuZ2VyOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0EyTVRJZ056a3lJajQ4Y0dGMGFDQm1hV3hzUFNJalpEazFNelJtSWlCa1BTSk5ORFEzSURVME5DNDBZeTB4TkM0MElERTBMalF0TXpjdU5pQXhOQzQwTFRVeUlEQnNMVGc1TFRreUxqY3RPRGtnT1RJdU4yTXRNVFF1TlNBeE5DNDBMVE0zTGpjZ01UUXVOQzAxTWlBd0xURTBMalF0TVRRdU5DMHhOQzQwTFRNM0xqWWdNQzAxTW13NU1pNDBMVGsyTGpNdE9USXVOQzA1Tmk0ell5MHhOQzQwTFRFMExqUXRNVFF1TkMwek55NDJJREF0TlRKek16Y3VOaTB4TkM0eklEVXlJREJzT0RrZ09USXVPQ0E0T1M0eUxUa3lMamRqTVRRdU5DMHhOQzQwSURNM0xqWXRNVFF1TkNBMU1pQXdJREUwTGpNZ01UUXVOQ0F4TkM0eklETTNMallnTUNBMU1rd3pOVFF1TmlBek9UWnNPVEl1TkNBNU5pNDBZekUwTGpRZ01UUXVOQ0F4TkM0MElETTNMallnTUNBMU1ub2lMejQ4TDNOMlp6ND1cIiAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICByZ2JhKDAsMCwwLC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkZ3JheS1kYXJrLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LW5hdmJhcjogICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC1uYXZiYXItZml4ZWQ6ICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbmF2YmFyLXN0aWNreTogICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJnOiAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuMjUpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoMCwwLDAsLjYpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgwLDAsMCwuOCkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKDAsMCwwLC4xNSkgIWRlZmF1bHQ7XG5cblxuLy8gTmF2c1xuXG4kbmF2LWxpbmstcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgIC41ZW0gMWVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4kbmF2LWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtbGluay1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAjZGRkICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjogICAgICRib2R5LWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgICAgLjI3NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjogICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI6ICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vIFBhZ2VyXG5cbiRwYWdlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbiRwYWdlci1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kcGFnZXItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnZXItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cbiRwYWdlci1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vL1xuLy8gRGVmaW5lIGNvbG9ycyBmb3IgZm9ybSBmZWVkYmFjayBzdGF0ZXMgYW5kLCBieSBkZWZhdWx0LCBhbGVydHMuXG5cbiRzdGF0ZS1zdWNjZXNzLXRleHQ6ICAgICAgICAgICAgICMzYzc2M2QgIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAjZGZmMGQ4ICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgZGFya2VuKCRzdGF0ZS1zdWNjZXNzLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1pbmZvLXRleHQ6ICAgICAgICAgICAgICAgICMzMTcwOGYgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1iZzogICAgICAgICAgICAgICAgICAjZDllZGY3ICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKCRzdGF0ZS1pbmZvLWJnLCA3JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS13YXJuaW5nLXRleHQ6ICAgICAgICAgICAgICM4YTZkM2IgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1iZzogICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgZGFya2VuKCRzdGF0ZS13YXJuaW5nLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1kYW5nZXItdGV4dDogICAgICAgICAgICAgICNhOTQ0NDIgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAjZjJkZWRlICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKCRzdGF0ZS1kYW5nZXItYmcsIDUlKSAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgIDFweCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXI6ICRjYXJkLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGNhcmQtbGluay1ob3Zlci1jb2xvcjogICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgIDVweCAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci10aXRsZS1iZzogICAgICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDogICAgICAgICAgICgkcG9wb3Zlci1hcnJvdy13aWR0aCArIDEpICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgMC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gTGFiZWxzXG5cbiRsYWJlbC1kZWZhdWx0LWJnOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJGxhYmVsLXByaW1hcnktYmc6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbGFiZWwtc3VjY2Vzcy1iZzogICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRsYWJlbC1pbmZvLWJnOiAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctYmc6ICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kbGFiZWwtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuXG4kbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGxhYmVsLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRsYWJlbC1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICRsaW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgI2U1ZTVlNSAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nOiAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtc3VjY2Vzcy1iZzogICAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1pbmZvLWJnOiAgICAgICAgICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LXdhcm5pbmctYmc6ICAgICAgICAgICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1ib3JkZXI6ICAgICAgICAgJHN0YXRlLWRhbmdlci1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZzogICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci13YXJuaW5nLWJnOiAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZzogICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1pbmZvLWJnOiAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG5cblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI6ICAgICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I6ICBsaWdodGVuKCRsaXN0LWdyb3VwLWFjdGl2ZS1iZywgNDAlKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWxpbmstY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I6ICAgJGxpc3QtZ3JvdXAtbGluay1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaGVhZGluZy1jb2xvcjogIzMzMyAhZGVmYXVsdDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICNkZGQgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXZlcnRpY2FsOiAgIC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmctaG9yaXpvbnRhbDogMXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgwLDAsMCwuNikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgIDAgMXB4IDAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLyBDb2RlXG5cbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICNiZDQxNDcgIWRlZmF1bHQ7XG4kY29kZS1iZzogICAgICAgICAgICAgICAgICAgICAjZjdmN2Y5ICFkZWZhdWx0O1xuXG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuJHByZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2Y3ZjdmOSAhZGVmYXVsdDtcbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcHJlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgMzQwcHggIWRlZmF1bHQ7XG4iLCIvLyBSZWJvb3Rcbi8vXG4vLyBHbG9iYWwgcmVzZXRzIHRvIGNvbW1vbiBIVE1MIGVsZW1lbnRzIGFuZCBtb3JlIGZvciBlYXNpZXIgdXNhZ2UgYnkgQm9vdHN0cmFwLlxuLy8gQWRkcyBhZGRpdGlvbmFsIHJ1bGVzIG9uIHRvcCBvZiBOb3JtYWxpemUuY3NzLCBpbmNsdWRpbmcgc2V2ZXJhbCBvdmVycmlkZXMuXG5cblxuLy8gUmVzZXQgdGhlIGJveC1zaXppbmdcbi8vXG4vLyBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHRvIGBib3JkZXItYm94YCBzbyB0aGF0IHdoZW4geW91IGFkZFxuLy8gYHBhZGRpbmdgIG9yIGBib3JkZXJgcyB0byBhbiBlbGVtZW50LCB0aGUgb3ZlcmFsbCBkZWNsYXJlZCBgd2lkdGhgIGRvZXMgbm90XG4vLyBjaGFuZ2UuIEZvciBleGFtcGxlLCBgd2lkdGg6IDEwMHB4O2Agd2lsbCBhbHdheXMgYmUgYDEwMHB4YCBkZXNwaXRlIHRoZVxuLy8gYGJvcmRlcjogMTBweCBzb2xpZCByZWQ7YCBhbmQgYHBhZGRpbmc6IDIwcHg7YC5cbi8vXG4vLyBIZWFkcyB1cCEgVGhpcyByZXNldCBtYXkgY2F1c2UgY29uZmxpY3RzIHdpdGggc29tZSB0aGlyZC1wYXJ0eSB3aWRnZXRzLiBGb3Jcbi8vIHJlY29tbWVuZGF0aW9ucyBvbiByZXNvbHZpbmcgc3VjaCBjb25mbGljdHMsIHNlZVxuLy8gaHR0cDovL2dldGJvb3RzdHJhcC5jb20vZ2V0dGluZy1zdGFydGVkLyN0aGlyZC1ib3gtc2l6aW5nLlxuLy9cbi8vIENyZWRpdDogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvXG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5cbi8vIE1ha2Ugdmlld3BvcnQgcmVzcG9uc2l2ZVxuLy9cbi8vIEB2aWV3cG9ydCBpcyBuZWVkZWQgYmVjYXVzZSBJRSAxMCsgZG9lc24ndCBob25vciA8bWV0YSBuYW1lPVwidmlld3BvcnRcIj4gaW5cbi8vIHNvbWUgY2FzZXMuIFNlZSBodHRwOi8vdGlta2FkbGVjLmNvbS8yMDEyLzEwL2llMTAtc25hcC1tb2RlLWFuZC1yZXNwb25zaXZlLWRlc2lnbi8uXG4vLyBFdmVudHVhbGx5IEB2aWV3cG9ydCB3aWxsIHJlcGxhY2UgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCI+LiBJdCdzIGJlZW4gbWFudWFsbHlcbi8vIHByZWZpeGVkIGZvciBmb3J3YXJkLWNvbXBhdGliaWxpdHkuXG4vL1xuLy8gSG93ZXZlciwgYGRldmljZS13aWR0aGAgaXMgYnJva2VuIG9uIElFIDEwIG9uIFdpbmRvd3MgKFBob25lKSA4LFxuLy8gKHNlZSBodHRwOi8vdGlta2FkbGVjLmNvbS8yMDEzLzAxL3dpbmRvd3MtcGhvbmUtOC1hbmQtZGV2aWNlLXdpZHRoLyBhbmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMDQ5Nylcbi8vIGFuZCB0aGUgZml4IGZvciB0aGF0IGludm9sdmVzIGEgc25pcHBldCBvZiBKYXZhU2NyaXB0IHRvIHNuaWZmIHRoZSB1c2VyIGFnZW50XG4vLyBhbmQgYXBwbHkgc29tZSBjb25kaXRpb25hbCBDU1MuXG4vL1xuLy8gU2VlIGh0dHA6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jc3VwcG9ydC1pZTEwLXdpZHRoIGZvciB0aGUgcmVsZXZhbnQgaGFjay5cbi8vXG4vLyBXcmFwIGBAdmlld3BvcnRgIHdpdGggYEBhdC1yb290YCBmb3Igd2hlbiBmb2xrcyBkbyBhIG5lc3RlZCBpbXBvcnQgKGUuZy4sXG4vLyBgLmNsYXNzLW5hbWUgeyBAaW1wb3J0IFwiYm9vdHN0cmFwXCI7IH1gKS5cbi8vXG4vLyBJbmNsdWRlcyBmdXR1cmUtcHJvb2ZlZCB2ZW5kb3IgcHJlZml4ZXMgYXMgd2VsbC5cbkBhdC1yb290IHtcbiAgQC1tb3otdmlld3BvcnQgICAgICB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbiAgQC1tcy12aWV3cG9ydCAgICAgICB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbiAgQC1vLXZpZXdwb3J0ICAgICAgICB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbiAgQC13ZWJraXQtdmlld3BvcnQgICB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbiAgQHZpZXdwb3J0ICAgICAgICAgICB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbn1cblxuXG4vL1xuLy8gUmVzZXQgSFRNTCwgYm9keSwgYW5kIG1vcmVcbi8vXG5cbmh0bWwge1xuICAvLyBTZXRzIGEgc3BlY2lmaWMgZGVmYXVsdCBgZm9udC1zaXplYCBmb3IgdXNlciB3aXRoIGByZW1gIHR5cGUgc2NhbGVzLlxuICBmb250LXNpemU6ICRmb250LXNpemUtcm9vdDtcbiAgLy8gQ2hhbmdlcyB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG59XG5cbmJvZHkge1xuICAvLyBNYWtlIHRoZSBgYm9keWAgdXNlIHRoZSBgZm9udC1zaXplLXJvb3RgXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIC8vIEdvIGVhc3kgb24gdGhlIGV5ZXMgYW5kIHVzZSBzb21ldGhpbmcgb3RoZXIgdGhhbiBgIzAwMGAgZm9yIHRleHRcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAvLyBCeSBkZWZhdWx0LCBgPGJvZHk+YCBoYXMgbm8gYGJhY2tncm91bmQtY29sb3JgIHNvIHdlIHNldCBvbmUgYXMgYSBiZXN0IHByYWN0aWNlLlxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbn1cblxuLy8gU3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmUgb24gZWxlbWVudHMgdGhhdCBjYW5ub3QgYmUgYWNjZXNzZWQgdmlhIGtleWJvYXJkLlxuLy8gVGhpcyBwcmV2ZW50cyBhbiB1bndhbnRlZCBmb2N1cyBvdXRsaW5lIGZyb20gYXBwZWFyaW5nIGFyb3VuZCBlbGVtZW50cyB0aGF0XG4vLyBtaWdodCBzdGlsbCByZXNwb25kIHRvIHBvaW50ZXIgZXZlbnRzLlxuLy9cbi8vIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZVxuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXMge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi8vIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zXG5hYmJyW3RpdGxlXSxcbi8vIEFkZCBkYXRhLSogYXR0cmlidXRlIHRvIGhlbHAgb3V0IG91ciB0b29sdGlwIHBsdWdpbiwgcGVyIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNTI1N1xuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkYWJici1ib3JkZXItY29sb3I7XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vXG4vLyBMaW5rc1xuLy9cblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgdGFiLWZvY3VzKCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxucHJlIHtcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbmZpZ3VyZSB7XG4gIC8vIE5vcm1hbGl6ZSBhZGRzIGBtYXJnaW5gIHRvIGBmaWd1cmVgcyBhcyBicm93c2VycyBhcHBseSBpdCBpbmNvbnNpc3RlbnRseS5cbiAgLy8gV2UgcmVzZXQgdGhhdCB0byBjcmVhdGUgYSBiZXR0ZXIgZmxvdyBpbi1wYWdlLlxuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vXG4vLyBJbWFnZXNcbi8vXG5cbmltZyB7XG4gIC8vIEJ5IGRlZmF1bHQsIGA8aW1nPmBzIGFyZSBgaW5saW5lLWJsb2NrYC4gVGhpcyBhc3N1bWVzIHRoYXQsIGFuZCB2ZXJ0aWNhbGx5XG4gIC8vIGNlbnRlcnMgdGhlbS4gVGhpcyB3b24ndCBhcHBseSBzaG91bGQgeW91IHJlc2V0IHRoZW0gdG8gYGJsb2NrYCBsZXZlbC5cbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLy8gTm90ZTogYDxpbWc+YHMgYXJlIGRlbGliZXJhdGVseSBub3QgbWFkZSByZXNwb25zaXZlIGJ5IGRlZmF1bHQuXG4gIC8vIEZvciB0aGUgcmF0aW9uYWxlIGJlaGluZCB0aGlzLCBzZWUgdGhlIGNvbW1lbnRzIG9uIHRoZSBgLmltZy1mbHVpZGAgY2xhc3MuXG59XG5cblxuLy8gaU9TIFwiY2xpY2thYmxlIGVsZW1lbnRzXCIgZml4IGZvciByb2xlPVwiYnV0dG9uXCJcbi8vXG4vLyBGaXhlcyBcImNsaWNrYWJpbGl0eVwiIGlzc3VlIChhbmQgbW9yZSBnZW5lcmFsbHksIHRoZSBmaXJpbmcgb2YgZXZlbnRzIHN1Y2ggYXMgZm9jdXMgYXMgd2VsbClcbi8vIGZvciB0cmFkaXRpb25hbGx5IG5vbi1mb2N1c2FibGUgZWxlbWVudHMgd2l0aCByb2xlPVwiYnV0dG9uXCJcbi8vIHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG5bcm9sZT1cImJ1dHRvblwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG4vLyBBdm9pZCAzMDBtcyBjbGljayBkZWxheSBvbiB0b3VjaCBkZXZpY2VzIHRoYXQgc3VwcG9ydCB0aGUgYHRvdWNoLWFjdGlvbmAgQ1NTIHByb3BlcnR5LlxuLy9cbi8vIEluIHBhcnRpY3VsYXIsIHVubGlrZSBtb3N0IG90aGVyIGJyb3dzZXJzLCBJRTExK0VkZ2Ugb24gV2luZG93cyAxMCBvbiB0b3VjaCBkZXZpY2VzIGFuZCBJRSBNb2JpbGUgMTAtMTFcbi8vIERPTidUIHJlbW92ZSB0aGUgY2xpY2sgZGVsYXkgd2hlbiBgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCIgY29udGVudD1cIndpZHRoPWRldmljZS13aWR0aFwiPmAgaXMgcHJlc2VudC5cbi8vIEhvd2V2ZXIsIHRoZXkgRE8gc3VwcG9ydCByZW1vdmluZyB0aGUgY2xpY2sgZGVsYXkgdmlhIGB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbmAuXG4vLyBTZWU6XG4vLyAqIGh0dHA6Ly92NC1hbHBoYS5nZXRib290c3RyYXAuY29tL2NvbnRlbnQvcmVib290LyNjbGljay1kZWxheS1vcHRpbWl6YXRpb24tZm9yLXRvdWNoXG4vLyAqIGh0dHA6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtdG91Y2gtYWN0aW9uXG4vLyAqIGh0dHA6Ly9wYXRyaWNraGxhdWtlLmdpdGh1Yi5pby90b3VjaC90ZXN0cy9yZXN1bHRzLyNzdXBwcmVzc2luZy0zMDBtcy1kZWxheVxuXG5hLFxuYXJlYSxcbmJ1dHRvbixcbltyb2xlPVwiYnV0dG9uXCJdLFxuaW5wdXQsXG5sYWJlbCxcbnNlbGVjdCxcbnN1bW1hcnksXG50ZXh0YXJlYSB7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG5cbi8vXG4vLyBUYWJsZXNcbi8vXG5cbnRhYmxlIHtcbiAgLy8gUmVzZXQgZm9yIG5lc3Rpbmcgd2l0aGluIHBhcmVudHMgd2l0aCBgYmFja2dyb3VuZC1jb2xvcmAuXG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZztcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxudGgge1xuICAvLyBDZW50ZXJlZCBieSBkZWZhdWx0LCBidXQgbGVmdC1hbGlnbi1lZCB0byBtYXRjaCB0aGUgYHRkYHMgYmVsb3cuXG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5sYWJlbCB7XG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG59XG5cbi8vIFdvcmsgYXJvdW5kIGEgRmlyZWZveC9JRSBidWcgd2hlcmUgdGhlIHRyYW5zcGFyZW50IGBidXR0b25gIGJhY2tncm91bmRcbi8vIHJlc3VsdHMgaW4gYSBsb3NzIG9mIHRoZSBkZWZhdWx0IGBidXR0b25gIGZvY3VzIHN0eWxlcy5cbi8vXG4vLyBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2Jhc2UvXG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggZG90dGVkO1xuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAvLyBSZW1vdmUgYWxsIGBtYXJnaW5gcyBzbyBvdXIgY2xhc3NlcyBkb24ndCBoYXZlIHRvIGRvIGl0IHRoZW1zZWx2ZXMuXG4gIG1hcmdpbjogMDtcbiAgLy8gTm9ybWFsaXplIGluY2x1ZGVzIGBmb250OiBpbmhlcml0O2AsIHNvIGBmb250LWZhbWlseWAuIGBmb250LXNpemVgLCBldGMgYXJlXG4gIC8vIHByb3Blcmx5IGluaGVyaXRlZC4gSG93ZXZlciwgYGxpbmUtaGVpZ2h0YCBpc24ndCBhZGRyZXNzZWQgdGhlcmUuIFVzaW5nIHRoaXNcbiAgLy8gZW5zdXJlcyB3ZSBkb24ndCBuZWVkIHRvIHVubmVjZXNzYXJpbHkgcmVkZWNsYXJlIHRoZSBnbG9iYWwgZm9udCBzdGFjay5cbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIC8vIGlPUyBhZGRzIHJvdW5kZWQgYm9yZGVycyBieSBkZWZhdWx0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbnRleHRhcmVhIHtcbiAgLy8gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIC8vIENocm9tZSBhbmQgRmlyZWZveCBzZXQgYSBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gc28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgaXQgYmVoYXZlcyBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OS5cbiAgbWluLXdpZHRoOiAwO1xuICAvLyBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIC8vIFJlc2V0IHRoZSBlbnRpcmUgbGVnZW5kIGVsZW1lbnQgdG8gbWF0Y2ggdGhlIGBmaWVsZHNldGBcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuLy8gIGJvcmRlcjogMDtcbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC8vIFVuZG8gTm9ybWFsaXplJ3MgZGVmYXVsdCBoZXJlIHRvIG1hdGNoIG91ciBnbG9iYWwgb3ZlcnJpZGVzLlxuICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAvLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gdG9kbzogbmVlZGVkP1xub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuLy8gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4vLyAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbn1cblxuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZSAoZnJvbSBQdXJlQ1NTKS5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiQG1peGluIGhvdmVyIHtcbiAgQGlmICRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnkge1xuICAgIC8vIFNlZSBNZWRpYSBRdWVyaWVzIExldmVsIDQ6IGh0dHA6Ly9kcmFmdHMuY3Nzd2cub3JnL21lZGlhcXVlcmllcy8jaG92ZXJcbiAgICAvLyBDdXJyZW50bHkgc2hpbW1lZCBieSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9tcTQtaG92ZXItc2hpbVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmOmhvdmVyIHsgQGNvbnRlbnQgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJjpob3ZlciB7IEBjb250ZW50IH1cbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMge1xuICBAaWYgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4gICAgJjpmb2N1cyB7IEBjb250ZW50IH1cbiAgICBAaW5jbHVkZSBob3ZlciB7IEBjb250ZW50IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gIEBpZiAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5IHtcbiAgICAmLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGNvbnRlbnRcbiAgICB9XG4gICAgQGluY2x1ZGUgaG92ZXIgeyBAY29udGVudCB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICYsXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUge1xuICBAaWYgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAY29udGVudFxuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7IEBjb250ZW50IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICB9XG59XG4iLCIvLyBXZWJLaXQtc3R5bGUgZm9jdXNcblxuQG1peGluIHRhYi1mb2N1cygpIHtcbiAgLy8gRGVmYXVsdFxuICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbiAgLy8gV2ViS2l0XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG4iLCIvL1xuLy8gSGVhZGluZ3Ncbi8vXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XG59XG5cbmgxIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWgxOyB9XG5oMiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMjsgfVxuaDMgeyBmb250LXNpemU6ICRmb250LXNpemUtaDM7IH1cbmg0IHsgZm9udC1zaXplOiAkZm9udC1zaXplLWg0OyB9XG5oNSB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNTsgfVxuaDYgeyBmb250LXNpemU6ICRmb250LXNpemUtaDY7IH1cblxuLy8gVGhlc2UgZGVjbGFyYXRpb25zIGFyZSBrZXB0IHNlcGFyYXRlIGZyb20gYW5kIHBsYWNlZCBhZnRlclxuLy8gdGhlIHByZXZpb3VzIHRhZy1iYXNlZCBkZWNsYXJhdGlvbnMgc28gdGhhdCB0aGUgY2xhc3NlcyBiZWF0IHRoZSB0YWdzIGluXG4vLyB0aGUgQ1NTIGNhc2NhZGUsIGFuZCB0aHVzIDxoMSBjbGFzcz1cImgyXCI+IHdpbGwgYmUgc3R5bGVkIGxpa2UgYW4gaDIuXG4uaDEgeyBmb250LXNpemU6ICRmb250LXNpemUtaDE7IH1cbi5oMiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMjsgfVxuLmgzIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWgzOyB9XG4uaDQgeyBmb250LXNpemU6ICRmb250LXNpemUtaDQ7IH1cbi5oNSB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNTsgfVxuLmg2IHsgZm9udC1zaXplOiAkZm9udC1zaXplLWg2OyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcbn1cblxuLy8gVHlwZSBkaXNwbGF5IGNsYXNzZXNcbi5kaXNwbGF5LTEge1xuICBmb250LXNpemU6ICRkaXNwbGF5MS1zaXplO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkxLXdlaWdodDtcbn1cbi5kaXNwbGF5LTIge1xuICBmb250LXNpemU6ICRkaXNwbGF5Mi1zaXplO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkyLXdlaWdodDtcbn1cbi5kaXNwbGF5LTMge1xuICBmb250LXNpemU6ICRkaXNwbGF5My1zaXplO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkzLXdlaWdodDtcbn1cbi5kaXNwbGF5LTQge1xuICBmb250LXNpemU6ICRkaXNwbGF5NC1zaXplO1xuICBmb250LXdlaWdodDogJGRpc3BsYXk0LXdlaWdodDtcbn1cblxuXG4vL1xuLy8gSG9yaXpvbnRhbCBydWxlc1xuLy9cblxuaHIge1xuICBtYXJnaW4tdG9wOiAkc3BhY2VyLXk7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIteTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XG59XG5cblxuLy9cbi8vIEVtcGhhc2lzXG4vL1xuXG5zbWFsbCxcbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBwYWRkaW5nOiAuMmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3RhdGUtd2FybmluZy1iZztcbn1cblxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZDtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQ7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogJGxpc3QtaW5saW5lLXBhZGRpbmc7XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBkZXNjcmlwdGlvbiBsaXN0cyB3LyBncmlkIGNsYXNzZXNcbi5kbC1ob3Jpem9udGFsIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtZ3V0dGVyLXdpZHRoO1xuICBtYXJnaW4tbGVmdDogLSRncmlkLWd1dHRlci13aWR0aDtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cblxuLy9cbi8vIE1pc2Ncbi8vXG5cbi8vIEJ1aWxkcyBvbiBgYWJicmBcbi5pbml0aWFsaXNtIHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG4uYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6ICgkc3BhY2VyIC8gMikgJHNwYWNlcjtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgZm9udC1zaXplOiAkYmxvY2txdW90ZS1mb250LXNpemU7XG4gIGJvcmRlci1sZWZ0OiAuMjVyZW0gc29saWQgJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yO1xufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiA4MCU7IC8vIGJhY2sgdG8gZGVmYXVsdCBmb250LXNpemVcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgY29sb3I6ICRibG9ja3F1b3RlLXNtYWxsLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwMTQgXFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcbiAgfVxufVxuXG4vLyBPcHBvc2l0ZSBhbGlnbm1lbnQgb2YgYmxvY2txdW90ZVxuLmJsb2NrcXVvdGUtcmV2ZXJzZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRzcGFjZXI7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGJvcmRlci1yaWdodDogLjI1cmVtIHNvbGlkICRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi5ibG9ja3F1b3RlLXJldmVyc2UgLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcMDBBMCBcXDIwMTRcIjsgLy8gbmJzcCwgZW0gZGFzaFxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4vL1xuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxuLy8gV2UgcHJldmlvdXNseSB0cmllZCB0aGUgXCJpbWFnZXMgYXJlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFwiIGFwcHJvYWNoIGluIEJvb3RzdHJhcCB2Mixcbi8vIGFuZCBhYmFuZG9uZWQgaXQgaW4gQm9vdHN0cmFwIHYzIGJlY2F1c2UgaXQgYnJlYWtzIGxvdHMgb2YgdGhpcmQtcGFydHkgd2lkZ2V0cyAoaW5jbHVkaW5nIEdvb2dsZSBNYXBzKVxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXG4vLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4MTc4XG4uaW1nLWZsdWlkIHtcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cbi8vIFJvdW5kZWQgY29ybmVyc1xuLmltZy1yb3VuZGVkIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM7XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAxcHggMnB4IHJnYmEoMCwwLDAsLjA3NSkpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQoaW5saW5lLWJsb2NrKTtcbn1cblxuLy8gUGVyZmVjdCBjaXJjbGVcbi5pbWctY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICgkc3BhY2VyLXkgLyAyKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogJGdyYXktbGlnaHQ7XG59XG4iLCIvLyBXcmFwcGVyIGZvciB0aGUgc2xpZGUgY29udGFpbmVyIGFuZCBpbmRpY2F0b3JzXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgPiAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogLjZzIGVhc2UtaW4tb3V0IGxlZnQ7XG5cbiAgICAvLyBBY2NvdW50IGZvciBqYW5raXR1ZGUgb24gaW1hZ2VzXG4gICAgPiBpbWcsXG4gICAgPiBhID4gaW1nIHtcbiAgICAgIEBleHRlbmQgLmltZy1mbHVpZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgIC8vIFdlYktpdCBDU1MzIHRyYW5zZm9ybXMgZm9yIHN1cHBvcnRlZCBkZXZpY2VzXG4gICAgQG1lZGlhIGFsbCBhbmQgKHRyYW5zZm9ybS0zZCksICgtd2Via2l0LXRyYW5zZm9ybS0zZCkge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC42cyBlYXNlLWluLW91dDtcbiAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHBlcnNwZWN0aXZlOiAxMDAwcHg7XG5cbiAgICAgICYubmV4dCxcbiAgICAgICYuYWN0aXZlLnJpZ2h0IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgIH1cbiAgICAgICYucHJldixcbiAgICAgICYuYWN0aXZlLmxlZnQge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgIH1cbiAgICAgICYubmV4dC5sZWZ0LFxuICAgICAgJi5wcmV2LnJpZ2h0LFxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSxcbiAgPiAubmV4dCxcbiAgPiAucHJldiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICA+IC5hY3RpdmUge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICA+IC5uZXh0LFxuICA+IC5wcmV2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAubmV4dCB7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICA+IC5wcmV2IHtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgfVxuICA+IC5uZXh0LmxlZnQsXG4gID4gLnByZXYucmlnaHQge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICA+IC5hY3RpdmUubGVmdCB7XG4gICAgbGVmdDogLTEwMCU7XG4gIH1cbiAgPiAuYWN0aXZlLnJpZ2h0IHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG59XG5cblxuLy9cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy9cblxuLmNhcm91c2VsLWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGZvbnQtc2l6ZTogJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplO1xuICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6ICRjYXJvdXNlbC10ZXh0LXNoYWRvdztcbiAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTtcbiAgLy8gV2UgY2FuJ3QgaGF2ZSB0aGlzIHRyYW5zaXRpb24gaGVyZSBiZWNhdXNlIFdlYktpdCBjYW5jZWxzIHRoZSBjYXJvdXNlbFxuICAvLyBhbmltYXRpb24gaWYgeW91IHRyaXAgdGhpcyB3aGlsZSBpbiB0aGUgbWlkZGxlIG9mIGFub3RoZXIgYW5pbWF0aW9uLlxuXG4gIC8vIFNldCBncmFkaWVudHMgZm9yIGJhY2tncm91bmRzXG4gICYubGVmdCB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtaG9yaXpvbnRhbCgkc3RhcnQtY29sb3I6IHJnYmEoMCwwLDAsLjUpLCAkZW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4wMDAxKSk7XG4gIH1cbiAgJi5yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICBAaW5jbHVkZSBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvcjogcmdiYSgwLDAsMCwuMDAwMSksICRlbmQtY29sb3I6IHJnYmEoMCwwLDAsLjUpKTtcbiAgfVxuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogLjk7XG4gIH1cblxuICAvLyBUb2dnbGVzXG4gIC5pY29uLXByZXYsXG4gIC5pY29uLW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgZm9udC1mYW1pbHk6IHNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG4gIC5pY29uLXByZXYge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gIH1cbiAgLmljb24tbmV4dCB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICB9XG5cbiAgLmljb24tcHJldiB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFwyMDM5XCI7Ly8gU0lOR0xFIExFRlQtUE9JTlRJTkcgQU5HTEUgUVVPVEFUSU9OIE1BUksgKFUrMjAzOSlcbiAgICB9XG4gIH1cbiAgLmljb24tbmV4dCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFwyMDNhXCI7Ly8gU0lOR0xFIFJJR0hULVBPSU5USU5HIEFOR0xFIFFVT1RBVElPTiBNQVJLIChVKzIwM0EpXG4gICAgfVxuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gdW5vcmRlcmVkIGxpc3Qgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYSBsaXN0IGl0ZW0gZm9yIGVhY2hcbi8vIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgei1pbmRleDogMTU7XG4gIHdpZHRoOiA2MCU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6IC0zMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBtYXJnaW46IDFweDtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvLyBJRTkgaGFjayBmb3IgZXZlbnQgaGFuZGxpbmdcbiAgICAvL1xuICAgIC8vIEludGVybmV0IEV4cGxvcmVyIDkgZG9lcyBub3QgcHJvcGVybHkgaGFuZGxlIGNsaWNrcyBvbiBlbGVtZW50cyB3aXRoIGEgYGJhY2tncm91bmQtY29sb3JgIG9mIGB0cmFuc3BhcmVudGAsXG4gICAgLy8gc28gd2UgdXNlIGByZ2JhKDAsMCwwLDApYCBpbnN0ZWFkIHNpbmNlIGl0J3MgYSBub24tYnVnZ3kgZXF1aXZhbGVudC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI0ludGVybmV0X0V4cGxvcmVyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwKTsgLy8gSUU5XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgfVxuICAuYWN0aXZlIHtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vXG4vLyBIaWRkZW4gYnkgZGVmYXVsdCBmb3Igc21hbGxlciB2aWV3cG9ydHMuXG5cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTUlO1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6IDE1JTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAkY2Fyb3VzZWwtdGV4dC1zaGFkb3c7XG5cbiAgLmJ0biB7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7IC8vIE5vIHNoYWRvdyBmb3IgYnV0dG9uIGVsZW1lbnRzIGluIGNhcm91c2VsLWNhcHRpb25cbiAgfVxufVxuXG5cbi8vXG4vLyBSZXNwb25zaXZlIHZhcmlhdGlvbnNcbi8vXG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLy8gU2NhbGUgdXAgdGhlIGNvbnRyb2xzIGEgc21pZGdlXG4gIC5jYXJvdXNlbC1jb250cm9sIHtcbiAgICAuaWNvbi1wcmV2LFxuICAgIC5pY29uLW5leHQge1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICB9XG4gICAgLmljb24tcHJldiB7XG4gICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgfVxuICAgIC5pY29uLW5leHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICB9XG4gIH1cblxuICAvLyBTaG93IGFuZCBsZWZ0IGFsaWduIHRoZSBjYXB0aW9uc1xuICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgcmlnaHQ6IDIwJTtcbiAgICBsZWZ0OiAyMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIH1cblxuICAvLyBNb3ZlIHVwIHRoZSBpbmRpY2F0b3JzXG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgICBib3R0b206IDIwcHg7XG4gIH1cbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkKCRkaXNwbGF5OiBibG9jaykge1xuICBkaXNwbGF5OiAkZGlzcGxheTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBoZWlnaHQ6IGF1dG87IC8vIFBhcnQgMjogU2NhbGUgdGhlIGhlaWdodCBhY2NvcmRpbmcgdG8gdGhlIHdpZHRoLCBvdGhlcndpc2UgeW91IGdldCBzdHJldGNoaW5nXG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLlxuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMXgpO1xuXG4gIC8vIEF1dG9wcmVmaXhlciB0YWtlcyBjYXJlIG9mIGFkZGluZyAtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gYW5kIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8sXG4gIC8vIGJ1dCBkb2Vzbid0IGNvbnZlcnQgZHBweD0+ZHBpLlxuICAvLyBUaGVyZSdzIG5vIHN1Y2ggdGhpbmcgYXMgdW5wcmVmaXhlZCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvIHNpbmNlIGl0J3Mgbm9uc3RhbmRhcmQuXG4gIC8vIENvbXBhdGliaWxpdHkgaW5mbzogaHR0cDovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gIEBtZWRpYVxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAvLyBJRTktMTEgZG9uJ3Qgc3VwcG9ydCBkcHB4XG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7IC8vIFN0YW5kYXJkaXplZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0yeCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxufVxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cbiIsIi8vIElubGluZSBhbmQgYmxvY2sgY29kZSBzdHlsZXNcbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG59XG5cbi8vIElubGluZSBjb2RlXG5jb2RlIHtcbiAgcGFkZGluZzogLjJyZW0gLjRyZW07XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gVXNlciBpbnB1dCB0eXBpY2FsbHkgZW50ZXJlZCB2aWEga2V5Ym9hcmRcbmtiZCB7XG4gIHBhZGRpbmc6IC4ycmVtIC40cmVtO1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgLS4xcmVtIDAgcmdiYSgwLDAsMCwuMjUpKTtcblxuICBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmVzdGVkLWtiZC1mb250LXdlaWdodDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cbi8vIEJsb2NrcyBvZiBjb2RlXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkcHJlLWNvbG9yO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLy8gRW5hYmxlIHNjcm9sbGFibGUgYmxvY2tzIG9mIGNvZGVcbi5wcmUtc2Nyb2xsYWJsZSB7XG4gIG1heC1oZWlnaHQ6ICRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4iLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG4uY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgQGluY2x1ZGUgbWFrZS1jb250YWluZXItbWF4LXdpZHRocygpO1xuXG59XG5cblxuLy8gRmx1aWQgY29udGFpbmVyXG4vL1xuLy8gVXRpbGl6ZXMgdGhlIG1peGluIG1lYW50IGZvciBmaXhlZCB3aWR0aCBjb250YWluZXJzLCBidXQgd2l0aG91dCBhbnkgZGVmaW5lZFxuLy8gd2lkdGggZm9yIGZsdWlkLCBmdWxsIHdpZHRoIGxheW91dHMuXG5cbi5jb250YWluZXItZmx1aWQge1xuICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiBhbmQgY2xlYXIgdGhlIGZsb2F0cyBvZiB5b3VyIGNvbHVtbnMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG4gIH1cbn1cblxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucygpO1xufVxuXG5cbi8vIEZsZXggdmFyaWF0aW9uXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgYWRkaXRpb25hbCBmbGV4IGFsaWdubWVudCBvcHRpb25zLlxuXG5AaWYgJGVuYWJsZS1mbGV4IGFuZCAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gRmxleCBjb2x1bW4gcmVvcmRlcmluZ1xuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgLmNvbC0jeyRicmVha3BvaW50fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuICAgICAgLmNvbC0jeyRicmVha3BvaW50fS1sYXN0ICB7IG9yZGVyOiAxOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gQWxpZ25tZW50IGZvciBldmVyeSBjb2x1bW4gaW4gcm93XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAucm93LSN7JGJyZWFrcG9pbnR9LXRvcCAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICAucm93LSN7JGJyZWFrcG9pbnR9LWNlbnRlciB7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5yb3ctI3skYnJlYWtwb2ludH0tYm90dG9tIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gQWxpZ25tZW50IHBlciBjb2x1bW5cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgIC5jb2wtI3skYnJlYWtwb2ludH0tdG9wICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuICAgICAgLmNvbC0jeyRicmVha3BvaW50fS1jZW50ZXIgeyBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cbiAgICAgIC5jb2wtI3skYnJlYWtwb2ludH0tYm90dG9tIHsgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuICBAaWYgbm90ICRlbmFibGUtZmxleCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgfVxufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICB9XG4gIG1hcmdpbi1sZWZ0OiAgKCRndXR0ZXIgLyAtMik7XG4gIG1hcmdpbi1yaWdodDogKCRndXR0ZXIgLyAtMik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaWYgbm90ICRlbmFibGUtZmxleCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtc3Bhbigkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmICRlbmFibGUtZmxleCB7XG4gICAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIH0gQGVsc2Uge1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICB9XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcHVzaCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgbGVmdDogaWYoJHNpemUgPiAwLCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpLCBhdXRvKTtcbn1cblxuQG1peGluIG1ha2UtY29sLXB1bGwoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIHJpZ2h0OiBpZigkc2l6ZSA+IDAsIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyksIGF1dG8pO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtbW9kaWZpZXIoJHR5cGUsICRzaXplLCAkY29sdW1ucykge1xuICAvLyBXb3JrIGFyb3VuZCB0aGUgbGFjayBvZiBkeW5hbWljIG1peGluIEBpbmNsdWRlIHN1cHBvcnQgKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzYyNilcbiAgQGlmICR0eXBlID09IHB1c2gge1xuICAgIEBpbmNsdWRlIG1ha2UtY29sLXB1c2goJHNpemUsICRjb2x1bW5zKTtcbiAgfSBAZWxzZSBpZiAkdHlwZSA9PSBwdWxsIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbC1wdWxsKCRzaXplLCAkY29sdW1ucyk7XG4gIH0gQGVsc2UgaWYgJHR5cGUgPT0gb2Zmc2V0IHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zKTtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTQ0cHgsIG1kOiA3NjhweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NDRweCwgbWQ6IDc2OHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NDRweCwgbWQ6IDc2OHB4KSlcbi8vICAgIDU0NHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjEuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU0NHB4LCBtZDogNzY4cHgpKVxuLy8gICAgNzY3cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIDFweCwgbnVsbCk7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgICBwYWRkaW5nLWxlZnQ6ICgkZ3V0dGVyIC8gMik7XG4gICAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgfVxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgIC5jb2wtI3skYnJlYWtwb2ludH0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgLy8gV29yayBhcm91bmQgY3Jvc3MtbWVkaWEgQGV4dGVuZCAoaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMTA1MClcbiAgICAgICVncmlkLWNvbHVtbi1mbG9hdC0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5jb2wtI3skYnJlYWtwb2ludH0tI3skaX0ge1xuICAgICAgICAgIEBpZiBub3QgJGVuYWJsZS1mbGV4IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uLWZsb2F0LSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1zcGFuKCRpLCAkY29sdW1ucyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlYWNoICRtb2RpZmllciBpbiAocHVsbCwgcHVzaCwgb2Zmc2V0KSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wtI3skYnJlYWtwb2ludH0tI3skbW9kaWZpZXJ9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW1vZGlmaWVyKCRtb2RpZmllciwgJGksICRjb2x1bW5zKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2ljIEJvb3RzdHJhcCB0YWJsZVxuLy9cblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcblxuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC50YWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtc20tY2VsbC1wYWRkaW5nO1xuICB9XG59XG5cblxuLy8gQm9yZGVyZWQgdmVyc2lvblxuLy9cbi8vIEFkZCBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmctYWNjZW50O1xuICB9XG59XG5cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICB0Ym9keSB0ciB7XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbi8vIEdlbmVyYXRlIHRoZSBjb250ZXh0dWFsIHZhcmlhbnRzXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChhY3RpdmUsICR0YWJsZS1iZy1hY3RpdmUpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoc3VjY2VzcywgJHN0YXRlLXN1Y2Nlc3MtYmcpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoaW5mbywgJHN0YXRlLWluZm8tYmcpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQod2FybmluZywgJHN0YXRlLXdhcm5pbmctYmcpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoZGFuZ2VyLCAkc3RhdGUtZGFuZ2VyLWJnKTtcblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIFdyYXAgeW91ciB0YWJsZXMgaW4gYC50YWJsZS1yZXNwb25zaXZlYCBhbmQgd2UnbGwgbWFrZSB0aGVtIG1vYmlsZSBmcmllbmRseVxuLy8gYnkgZW5hYmxpbmcgaG9yaXpvbnRhbCBzY3JvbGxpbmcuIE9ubHkgYXBwbGllcyA8NzY4cHguIEV2ZXJ5dGhpbmcgYWJvdmUgdGhhdFxuLy8gd2lsbCBkaXNwbGF5IG5vcm1hbGx5LlxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMC4wMSU7IC8vIFdvcmthcm91bmQgZm9yIElFOSBidWcgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE0ODM3KVxuICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gIC8vIFRPRE86IGZpbmQgb3V0IGlmIHdlIG5lZWQgdGhpcyBzdGlsbC5cbiAgLy9cbiAgLy8gYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIC8vIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTAwNTdcbn1cblxuXG4udGhlYWQtaW52ZXJzZSB7XG4gIHRoIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrO1xuICB9XG59XG4udGhlYWQtZGVmYXVsdCB7XG4gIHRoIHtcbiAgICBjb2xvcjogJGdyYXk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktbGlnaHRlcjtcbiAgfVxufVxuXG4udGFibGUtaW52ZXJzZSB7XG4gIGNvbG9yOiAkZ3JheS1saWdodGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrO1xuXG4gICYudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgge1xuICAgIGJvcmRlci1jb2xvcjogJGdyYXk7XG4gIH1cbn1cblxuXG4udGFibGUtcmVmbG93IHtcbiAgdGhlYWQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgdGJvZHkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICB0aCxcbiAgdGQge1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItbGVmdDogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodDogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgdGgsXG4gICAgICAgIHRkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0ciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJixcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBUZXh0dWFsIGZvcm0gY29udHJvbHNcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIC8vIC8vIE1ha2UgaW5wdXRzIGF0IGxlYXN0IHRoZSBoZWlnaHQgb2YgdGhlaXIgYnV0dG9uIGNvdW50ZXJwYXJ0IChiYXNlIGxpbmUtaGVpZ2h0ICsgcGFkZGluZyArIGJvcmRlcilcbiAgLy8gaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTQuXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1cyk7XG5cbiAgLy8gTWFrZSBpbnB1dHMgYXQgbGVhc3QgdGhlIGhlaWdodCBvZiB0aGVpciBidXR0b24gY291bnRlcnBhcnQgKGJhc2UgbGluZS1oZWlnaHQgKyBwYWRkaW5nICsgYm9yZGVyKS5cbiAgLy8gT25seSBhcHBseSB0aGUgaGVpZ2h0IHRvIHRleHR1YWwgaW5wdXRzIGFuZCBzb21lIHNlbGVjdHMuXG4gIC8vICY6bm90KHRleHRhcmVhKSxcbiAgLy8gJjpub3Qoc2VsZWN0W3NpemVdKSxcbiAgLy8gJjpub3Qoc2VsZWN0W211bHRpcGxlXSkge1xuICAvLyAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgLy8gfVxuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQsXG4gICZbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctZGlzYWJsZWQ7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG5cblxuLy8gTWFrZSBmaWxlIGlucHV0cyBiZXR0ZXIgbWF0Y2ggdGV4dCBpbnB1dHMgYnkgZm9yY2luZyB0aGVtIHRvIG5ldyBsaW5lcy5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuXG4vL1xuLy8gTGFiZWxzXG4vL1xuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCB0ZXh0IHRvXG4vLyBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmZvcm0tY29udHJvbC1sYWJlbCB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGFiZWw+YCBkZWZhdWx0XG59XG5cblxuLy8gVG9kbzogY2xlYXIgdGhpcyB1cFxuXG4vLyBTcGVjaWFsIHN0eWxlcyBmb3IgaU9TIHRlbXBvcmFsIGlucHV0c1xuLy9cbi8vIEluIE1vYmlsZSBTYWZhcmksIHNldHRpbmcgYGRpc3BsYXk6IGJsb2NrYCBvbiB0ZW1wb3JhbCBpbnB1dHMgY2F1c2VzIHRoZVxuLy8gdGV4dCB3aXRoaW4gdGhlIGlucHV0IHRvIGJlY29tZSB2ZXJ0aWNhbGx5IG1pc2FsaWduZWQuIEFzIGEgd29ya2Fyb3VuZCwgd2Vcbi8vIHNldCBhIHBpeGVsIGxpbmUtaGVpZ2h0IHRoYXQgbWF0Y2hlcyB0aGUgZ2l2ZW4gaGVpZ2h0IG9mIHRoZSBpbnB1dCwgYnV0IG9ubHlcbi8vIGZvciBTYWZhcmkuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5ODQ4XG4vL1xuLy8gTm90ZSB0aGF0IGFzIG9mIDguMywgaU9TIGRvZXNuJ3Qgc3VwcG9ydCBgZGF0ZXRpbWVgIG9yIGB3ZWVrYC5cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkge1xuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgICAmLmZvcm0tY29udHJvbCB7XG4gICAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICB9XG5cbiAgICAmLmlucHV0LXNtLFxuICAgIC5pbnB1dC1ncm91cC1zbSAmLmZvcm0tY29udHJvbCB7XG4gICAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgICB9XG5cbiAgICAmLmlucHV0LWxnLFxuICAgIC5pbnB1dC1ncm91cC1sZyAmLmZvcm0tY29udHJvbCB7XG4gICAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTdGF0aWMgZm9ybSBjb250cm9sIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhbiBlbGVtZW50IHRvIG1ha2UgYW55IHN0cmluZyBvZiB0ZXh0IGFsaWduIHdpdGggbGFiZWxzIGluIGFcbi8vIGhvcml6b250YWwgZm9ybSBsYXlvdXQuXG5cbi5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgLy8gU2l6ZSBpdCBhcHByb3ByaWF0ZWx5IG5leHQgdG8gcmVhbCBmb3JtIGNvbnRyb2xzXG4gIHBhZGRpbmctdG9wOiAkaW5wdXQtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJGlucHV0LXBhZGRpbmcteTtcbiAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGZyb20gYHBgXG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20sXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBUaGUgYC5mb3JtLWdyb3VwLSogZm9ybS1jb250cm9sYCB2YXJpYXRpb25zIGFyZSBzYWRseSBkdXBsaWNhdGVkIHRvIGF2b2lkIHRoZVxuLy8gaXNzdWUgZG9jdW1lbnRlZCBpbiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE1MDc0LlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgLy8gaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICAvLyBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuXG4vLyBGb3JtIGdyb3Vwc1xuLy9cbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3Jcbi8vIGhvcml6b250YWwgZm9ybXMsIHVzZSB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuXG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4ucmFkaW8sXG4uY2hlY2tib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvLyBtYXJnaW4tdG9wOiAgICAoJHNwYWNlciAqIC43NSk7XG4gIG1hcmdpbi1ib3R0b206ICgkc3BhY2VyICogLjc1KTtcblxuICBsYWJlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAvLyBXaGVuIHRoZXJlJ3Mgbm8gbGFiZWxzLCBkb24ndCBwb3NpdGlvbiB0aGUgaW5wdXQuXG4gICAgaW5wdXQ6b25seS1jaGlsZCB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbiAgfVxufVxuLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAuMjVyZW07XG4gIC8vIG1hcmdpbi10b3A6IDRweCBcXDk7XG4gIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbn1cblxuLnJhZGlvICsgLnJhZGlvLFxuLmNoZWNrYm94ICsgLmNoZWNrYm94IHtcbiAgLy8gTW92ZSB1cCBzaWJsaW5nIHJhZGlvcyBvciBjaGVja2JveGVzIGZvciB0aWdodGVyIHNwYWNpbmdcbiAgbWFyZ2luLXRvcDogLS4yNXJlbTtcbn1cblxuLy8gUmFkaW9zIGFuZCBjaGVja2JveGVzIG9uIHNhbWUgbGluZVxuLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucmFkaW8taW5saW5lICsgLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUgKyAuY2hlY2tib3gtaW5saW5lIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWxlZnQ6IC43NXJlbTtcbn1cblxuLy8gQXBwbHkgc2FtZSBkaXNhYmxlZCBjdXJzb3IgdHdlYWsgYXMgZm9yIGlucHV0c1xuLy8gU29tZSBzcGVjaWFsIGNhcmUgaXMgbmVlZGVkIGJlY2F1c2UgPGxhYmVsPnMgZG9uJ3QgaW5oZXJpdCB0aGVpciBwYXJlbnQncyBgY3Vyc29yYC5cbi8vXG4vLyBOb3RlOiBOZWl0aGVyIHJhZGlvcyBub3IgY2hlY2tib3hlcyBjYW4gYmUgcmVhZG9ubHkuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cbi8vIFRoZXNlIGNsYXNzZXMgYXJlIHVzZWQgZGlyZWN0bHkgb24gPGxhYmVsPnNcbi5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lIHtcbiAgJi5kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG4vLyBUaGVzZSBjbGFzc2VzIGFyZSB1c2VkIG9uIGVsZW1lbnRzIHdpdGggPGxhYmVsPiBkZXNjZW5kYW50c1xuLnJhZGlvLFxuLmNoZWNrYm94IHtcbiAgJi5kaXNhYmxlZCB7XG4gICAgbGFiZWwge1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBmZWVkYmFjayBzdGF0ZXNcbi8vXG4vLyBBcHBseSBjb250ZXh0dWFsIGFuZCBzZW1hbnRpYyBzdGF0ZXMgdG8gaW5kaXZpZHVhbCBmb3JtIGNvbnRyb2xzLlxuXG4uZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4uZm9ybS1jb250cm9sLXdhcm5pbmcsXG4uZm9ybS1jb250cm9sLWRhbmdlciB7XG4gIHBhZGRpbmctcmlnaHQ6ICgkaW5wdXQtcGFkZGluZy14ICogMyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAoJGlucHV0LWhlaWdodCAqIC4yNSk7XG4gIGJhY2tncm91bmQtc2l6ZTogKCRpbnB1dC1oZWlnaHQgKiAuNjUpICgkaW5wdXQtaGVpZ2h0ICogLjY1KTtcbn1cblxuLy8gRm9ybSB2YWxpZGF0aW9uIHN0YXRlc1xuLmhhcy1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJGJyYW5kLXN1Y2Nlc3MpO1xuXG4gIC5mb3JtLWNvbnRyb2wtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmb3JtLWljb24tc3VjY2Vzcyk7XG4gIH1cbn1cblxuLmhhcy13YXJuaW5nIHtcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJGJyYW5kLXdhcm5pbmcpO1xuXG4gIC5mb3JtLWNvbnRyb2wtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmb3JtLWljb24td2FybmluZyk7XG4gIH1cbn1cblxuLmhhcy1kYW5nZXIge1xuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkYnJhbmQtZGFuZ2VyKTtcblxuICAuZm9ybS1jb250cm9sLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmb3JtLWljb24tZGFuZ2VyKTtcbiAgfVxufVxuXG5cblxuXG4vLyAuZm9ybS1jb250cm9sLXN1Y2Nlc3Mge1xuLy8gICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmb3JtLWljb24tc3VjY2Vzc31cIik7XG4vLyAgIGJvcmRlci1jb2xvcjogJGJyYW5kLXN1Y2Nlc3M7XG4vLyB9XG4vL1xuLy8gLmZvcm0tY29udHJvbC13YXJuaW5nIHtcbi8vICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skZm9ybS1pY29uLXdhcm5pbmd9XCIpO1xuLy8gICBib3JkZXItY29sb3I6ICRicmFuZC13YXJuaW5nO1xuLy8gfVxuLy9cbi8vIC5mb3JtLWNvbnRyb2wtZXJyb3Ige1xuLy8gICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmb3JtLWljb24tZGFuZ2VyfVwiKTtcbi8vICAgYm9yZGVyLWNvbG9yOiAkYnJhbmQtZGFuZ2VyO1xuLy8gfVxuXG5cbi8vIC5oYXMtZmVlZGJhY2sge1xuLy8gICAvLyBFbmFibGUgYWJzb2x1dGUgcG9zaXRpb25pbmdcbi8vICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy9cbi8vICAgLy8gRW5zdXJlIGljb25zIGRvbid0IG92ZXJsYXAgdGV4dFxuLy8gICAuZm9ybS1jb250cm9sIHtcbi8vICAgICBwYWRkaW5nLXJpZ2h0OiAoJGlucHV0LWhlaWdodCAqIDEuMjUpO1xuLy8gICB9XG4vLyB9XG4vLyAvLyBGZWVkYmFjayBpY29uXG4vLyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbi8vICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICB0b3A6IDA7XG4vLyAgIHJpZ2h0OiAwO1xuLy8gICB6LWluZGV4OiAyOyAvLyBFbnN1cmUgaWNvbiBpcyBhYm92ZSBpbnB1dCBncm91cHNcbi8vICAgZGlzcGxheTogYmxvY2s7XG4vLyAgIHdpZHRoOiAkaW5wdXQtaGVpZ2h0O1xuLy8gICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4vLyAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuLy8gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4vLyAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuLy8gfVxuLy8gLmlucHV0LWxnICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi8vIC5pbnB1dC1ncm91cC1sZyArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuLy8gICB3aWR0aDogJGlucHV0LWhlaWdodC1sZztcbi8vICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuLy8gICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbi8vIH1cbi8vIC5pbnB1dC1zbSArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4vLyAuaW5wdXQtZ3JvdXAtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbi8vICAgd2lkdGg6ICRpbnB1dC1oZWlnaHQtc207XG4vLyAgIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbi8vICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4vLyB9XG4vL1xuLy8gLy8gRm9ybSB2YWxpZGF0aW9uIHN0YXRlc1xuLy8gLmhhcy1zdWNjZXNzIHtcbi8vICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHN0YXRlLXN1Y2Nlc3MtdGV4dCwgJHN0YXRlLXN1Y2Nlc3MtdGV4dCwgJHN0YXRlLXN1Y2Nlc3MtYmcpO1xuLy8gfVxuLy8gLmhhcy13YXJuaW5nIHtcbi8vICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHN0YXRlLXdhcm5pbmctdGV4dCwgJHN0YXRlLXdhcm5pbmctdGV4dCwgJHN0YXRlLXdhcm5pbmctYmcpO1xuLy8gfVxuLy8gLmhhcy1kYW5nZXIge1xuLy8gICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkc3RhdGUtZGFuZ2VyLXRleHQsICRzdGF0ZS1kYW5nZXItdGV4dCwgJHN0YXRlLWRhbmdlci1iZyk7XG4vLyB9XG4vL1xuLy8gLy8gUmVwb3NpdGlvbiBmZWVkYmFjayBpY29uIGlmIGlucHV0IGhhcyB2aXNpYmxlIGxhYmVsIGFib3ZlXG4vLyAuaGFzLWZlZWRiYWNrIGxhYmVsIHtcbi8vXG4vLyAgIH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4vLyAgICAgLy8gVE9ETzogcmVkbyB0aGlzIHNpbmNlIHdlIG51a2VkIHRoZSBgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkYFxuLy8gICAgIHRvcDogMDsgLy8gSGVpZ2h0IG9mIHRoZSBgbGFiZWxgIGFuZCBpdHMgbWFyZ2luXG4vLyAgIH1cbi8vXG4vLyAgICYuc3Itb25seSB+IC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuLy8gICAgIHRvcDogMDtcbi8vICAgfVxuLy8gfVxuXG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG5cbi5mb3JtLWlubGluZSB7XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAuaW5wdXQtZ3JvdXAtYWRkb24sXG4gICAgICAuaW5wdXQtZ3JvdXAtYnRuLFxuICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElucHV0IGdyb3VwcyBuZWVkIHRoYXQgMTAwJSB3aWR0aCB0aG91Z2hcbiAgICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mb3JtLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLnJhZGlvLFxuICAgIC5jaGVja2JveCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIC5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLy8gUmUtb3ZlcnJpZGUgdGhlIGZlZWRiYWNrIGljb24uXG4gICAgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIF9mb3Jtcy5zY3NzIHRvIGdlbmVyYXRlIHRoZSBmb3JtIHZhbGlkYXRpb24gQ1NTIGZvciB3YXJuaW5ncywgZXJyb3JzLFxuLy8gYW5kIHN1Y2Nlc3Nlcy5cblxuQG1peGluIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRjb2xvcikge1xuICAvLyBDb2xvciB0aGUgbGFiZWwgYW5kIGhlbHAgdGV4dFxuICAudGV4dC1oZWxwLFxuICAuZm9ybS1jb250cm9sLWxhYmVsLFxuICAucmFkaW8sXG4gIC5jaGVja2JveCxcbiAgLnJhZGlvLWlubGluZSxcbiAgLmNoZWNrYm94LWlubGluZSxcbiAgJi5yYWRpbyBsYWJlbCxcbiAgJi5jaGVja2JveCBsYWJlbCxcbiAgJi5yYWRpby1pbmxpbmUgbGFiZWwsXG4gICYuY2hlY2tib3gtaW5saW5lIGxhYmVsICB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgLy8gQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSk7IC8vIFJlZGVjbGFyZSBzbyB0cmFuc2l0aW9ucyB3b3JrXG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXItY29sb3IsIDEwJSk7XG4gICAgICAvLyAkc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDZweCBsaWdodGVuKCRib3JkZXItY29sb3IsIDIwJSk7XG4gICAgICAvLyBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3cpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldCB2YWxpZGF0aW9uIHN0YXRlcyBhbHNvIGZvciBhZGRvbnNcbiAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCA0MCUpO1xuICB9XG4gIC8vIE9wdGlvbmFsIGZlZWRiYWNrIGljb25cbiAgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGBAaW5wdXQtYm9yZGVyLWZvY3VzYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygpIHtcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgJHNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggJGlucHV0LWJveC1zaGFkb3ctZm9jdXM7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93KTtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gUmVsYXRpdmUgdGV4dCBzaXplLCBwYWRkaW5nLCBhbmQgYm9yZGVyLXJhZGlpIGNoYW5nZXMgZm9yIGZvcm0gY29udHJvbHMuIEZvclxuLy8gaG9yaXpvbnRhbCBzaXppbmcsIHdyYXAgY29udHJvbHMgaW4gdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLiBgPHNlbGVjdD5gXG4vLyBlbGVtZW50IGdldHMgc3BlY2lhbCBsb3ZlIGJlY2F1c2UgaXQncyBzcGVjaWFsLCBhbmQgdGhhdCdzIGEgZmFjdCFcblxuQG1peGluIGlucHV0LXNpemUoJHBhcmVudCwgJGlucHV0LWhlaWdodCwgJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICBzZWxlY3QjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICB0ZXh0YXJlYSN7JHBhcmVudH0sXG4gIHNlbGVjdFttdWx0aXBsZV0jeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH0gQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIC8vIFByZXZlbnQgaW5wdXQgZ3JvdXBzIGZyb20gaW5oZXJpdGluZyBib3JkZXIgc3R5bGVzIGZyb20gdGFibGUgY2VsbHMgd2hlblxuICAgIC8vIHBsYWNlZCB3aXRoaW4gYSB0YWJsZS5cbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgLy8gRW5zdXJlIHRoYXQgdGhlIGlucHV0IGlzIGFsd2F5cyBhYm92ZSB0aGUgKmFwcGVuZGVkKiBhZGRvbiBidXR0b24gZm9yXG4gICAgLy8gcHJvcGVyIGJvcmRlciBjb2xvcnMuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSBmcm9udFxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgICBAaWYgJGVuYWJsZS1mbGV4IHtcbiAgICAgIGZsZXg6IDE7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBJRTkgZnViYXJzIHRoZSBwbGFjZWhvbGRlciBhdHRyaWJ1dGUgaW4gdGV4dCBpbnB1dHMgYW5kIHRoZSBhcnJvd3Mgb25cbiAgICAgIC8vIHNlbGVjdCBlbGVtZW50cyBpbiBpbnB1dCBncm91cHMuIFRvIGZpeCBpdCwgd2UgZmxvYXQgdGhlIGlucHV0LiBEZXRhaWxzOlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU2MSNpc3N1ZWNvbW1lbnQtMjg5MzY4NTVcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWJ0bixcbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sIHtcbiAgQGlmICRlbmFibGUtZmxleCB7XG4gICAgLy8gZG8gbm90aGluZ1xuICB9IEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB9XG5cbiAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4ge1xuICBAaWYgJGVuYWJsZS1mbGV4IHtcbiAgICAvLyBkbyBub3RoaW5nXG4gIH0gQGVsc2Uge1xuICAgIHdpZHRoOiAxJTtcbiAgfVxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBNYXRjaCB0aGUgaW5wdXRzXG59XG5cblxuLy8gU2l6aW5nIG9wdGlvbnNcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7XG4gIEBleHRlbmQgLmZvcm0tY29udHJvbC1sZztcbn1cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7XG4gIEBleHRlbmQgLmZvcm0tY29udHJvbC1zbTtcbn1cblxuXG4vL1xuLy8gVGV4dCBpbnB1dCBncm91cHNcbi8vXG5cbi5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcblxuICAvLyBTaXppbmdcbiAgJi5mb3JtLWNvbnRyb2wtc20ge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG4gIH1cbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbGc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG4gIH1cblxuICAvLyBOdWtlIGRlZmF1bHQgbWFyZ2lucyBmcm9tIGNoZWNrYm94ZXMgYW5kIHJhZGlvcyB0byB2ZXJ0aWNhbGx5IGNlbnRlciB3aXRoaW4uXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cblxuLy9cbi8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuLy9cblxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6Zmlyc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYWRkb246Zmlyc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bGFzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXAgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuLmlucHV0LWdyb3VwLWFkZG9uOmxhc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuXG4vL1xuLy8gQnV0dG9uIGlucHV0IGdyb3Vwc1xuLy9cblxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gSmFua2lseSBwcmV2ZW50IGlucHV0IGJ1dHRvbiBncm91cHMgZnJvbSB3cmFwcGluZyB3aXRoIGB3aGl0ZS1zcGFjZWAgYW5kXG4gIC8vIGBmb250LXNpemVgIGluIGNvbWJpbmF0aW9uIHdpdGggYGlubGluZS1ibG9ja2Agb24gYnV0dG9ucy5cbiAgZm9udC1zaXplOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3Igc3BhY2luZywgcG9zaXRpb24gZm9yIGJyaW5naW5nIGhvdmVyZWQvZm9jdXNlZC9hY3RpdmVkXG4gIC8vIGVsZW1lbnQgYWJvdmUgdGhlIHNpYmxpbmdzLlxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICArIC5idG4ge1xuICAgICAgbWFyZ2luLWxlZnQ6ICgtJGlucHV0LWJ0bi1ib3JkZXItd2lkdGgpO1xuICAgIH1cbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBidXR0b24gdG8gdGhlIGZyb250XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICB9XG5cbiAgLy8gTmVnYXRpdmUgbWFyZ2luIHRvIG9ubHkgaGF2ZSBhIHNpbmdsZSwgc2hhcmVkIGJvcmRlciBiZXR3ZWVuIHRoZSB0d29cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgPiAuYnRuLFxuICAgID4gLmJ0bi1ncm91cCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICgtJGlucHV0LWJ0bi1ib3JkZXItd2lkdGgpO1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAoLSRpbnB1dC1idG4tYm9yZGVyLXdpZHRoKTtcbiAgICAgIC8vIEJlY2F1c2Ugc3BlY2lmaWNpdHlcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LCAkYnRuLXBhZGRpbmcteCwgJGZvbnQtc2l6ZS1iYXNlLCAkbGluZS1oZWlnaHQsICRidG4tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4ycyBlYXNlLWluLW91dCk7XG5cbiAgJixcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgQGluY2x1ZGUgdGFiLWZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICAmLmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICBvcGFjaXR5OiAuNjU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuYS5idG4uZGlzYWJsZWQsXG5maWVsZHNldFtkaXNhYmxlZF0gYS5idG4ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIGJ1dHRvbnNcbi8vXG5cbi5idG4tcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tcHJpbWFyeS1jb2xvciwgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYm9yZGVyKTtcbn1cbi5idG4tc2Vjb25kYXJ5IHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1zZWNvbmRhcnktY29sb3IsICRidG4tc2Vjb25kYXJ5LWJnLCAkYnRuLXNlY29uZGFyeS1ib3JkZXIpO1xufVxuLmJ0bi1pbmZvIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1pbmZvLWNvbG9yLCAkYnRuLWluZm8tYmcsICRidG4taW5mby1ib3JkZXIpO1xufVxuLmJ0bi1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1zdWNjZXNzLWNvbG9yLCAkYnRuLXN1Y2Nlc3MtYmcsICRidG4tc3VjY2Vzcy1ib3JkZXIpO1xufVxuLmJ0bi13YXJuaW5nIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi13YXJuaW5nLWNvbG9yLCAkYnRuLXdhcm5pbmctYmcsICRidG4td2FybmluZy1ib3JkZXIpO1xufVxuLmJ0bi1kYW5nZXIge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWRhbmdlci1jb2xvciwgJGJ0bi1kYW5nZXItYmcsICRidG4tZGFuZ2VyLWJvcmRlcik7XG59XG5cbi8vIFJlbW92ZSBhbGwgYmFja2dyb3VuZHNcbi5idG4tcHJpbWFyeS1vdXRsaW5lIHtcbiAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkYnRuLXByaW1hcnktYmcpO1xufVxuLmJ0bi1zZWNvbmRhcnktb3V0bGluZSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGJ0bi1zZWNvbmRhcnktYm9yZGVyKTtcbn1cbi5idG4taW5mby1vdXRsaW5lIHtcbiAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkYnRuLWluZm8tYmcpO1xufVxuLmJ0bi1zdWNjZXNzLW91dGxpbmUge1xuICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCRidG4tc3VjY2Vzcy1iZyk7XG59XG4uYnRuLXdhcm5pbmctb3V0bGluZSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGJ0bi13YXJuaW5nLWJnKTtcbn1cbi5idG4tZGFuZ2VyLW91dGxpbmUge1xuICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCRidG4tZGFuZ2VyLWJnKTtcbn1cblxuXG4vL1xuLy8gTGluayBidXR0b25zXG4vL1xuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxuICAmLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmOmRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIGV2ZW4tbnVtYmVyZWQgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIGxhcmdlIGlucHV0XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJGxpbmUtaGVpZ2h0LWxnLCAkYnRuLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuLmJ0bi1zbSB7XG4gIC8vIGxpbmUtaGVpZ2h0OiBlbnN1cmUgcHJvcGVyIGhlaWdodCBvZiBidXR0b24gbmV4dCB0byBzbWFsbCBpbnB1dFxuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRsaW5lLWhlaWdodC1zbSwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuXG4vL1xuLy8gQmxvY2sgYnV0dG9uXG4vL1xuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBWZXJ0aWNhbGx5IHNwYWNlIG91dCBtdWx0aXBsZSBibG9jayBidXR0b25zXG4uYnRuLWJsb2NrICsgLmJ0bi1ibG9jayB7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cblxuLy8gU3BlY2lmaWNpdHkgb3ZlcnJpZGVzXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICYuYnRuLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XG4gICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG5cbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgICAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSkpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTclKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAyNSUpO1xuICAgIH1cbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAmOmZvY3VzLFxuICAmLmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gIH1cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMjAlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMjAlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG59XG4iLCIvLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBidXR0b24gdG8gdGhlIGZyb250XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4uYnRuLWdyb3VwIHtcbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuYnRuLWdyb3VwLFxuICAuYnRuLWdyb3VwICsgLmJ0bixcbiAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7IC8vIE9mZnNldCB0aGUgZmlyc3QgY2hpbGQncyBtYXJnaW5cbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAuYnRuLWdyb3VwLFxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAsXG4gID4gLmlucHV0LWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICB9XG59XG5cbi5idG4tZ3JvdXAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gU2V0IGNvcm5lcnMgaW5kaXZpZHVhbCBiZWNhdXNlIHNvbWV0aW1lcyBhIHNpbmdsZSBidXR0b24gY2FuIGJlIGluIGEgLmJ0bi1ncm91cCBhbmQgd2UgbmVlZCA6Zmlyc3QtY2hpbGQgYW5kIDpsYXN0LWNoaWxkIHRvIGJvdGggbWF0Y2hcbi5idG4tZ3JvdXAgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgfVxufVxuLy8gTmVlZCAuZHJvcGRvd24tdG9nZ2xlIHNpbmNlIDpsYXN0LWNoaWxkIGRvZXNuJ3QgYXBwbHkgZ2l2ZW4gYSAuZHJvcGRvd24tbWVudSBpbW1lZGlhdGVseSBhZnRlciBpdFxuLmJ0bi1ncm91cCA+IC5idG46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbi5idG4tZ3JvdXAgPiAuZHJvcGRvd24tdG9nZ2xlOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuXG4vLyBDdXN0b20gZWRpdHMgZm9yIGluY2x1ZGluZyBidG4tZ3JvdXBzIHdpdGhpbiBidG4tZ3JvdXBzICh1c2VmdWwgZm9yIGluY2x1ZGluZyBkcm9wZG93biBidXR0b25zIHdpdGhpbiBhIGJ0bi1ncm91cClcbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgPiAuYnRuOmxhc3QtY2hpbGQsXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgfVxufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG46Zmlyc3QtY2hpbGQge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG5cbi8vIE9uIGFjdGl2ZSBhbmQgb3BlbiwgZG9uJ3Qgc2hvdyBvdXRsaW5lXG4uYnRuLWdyb3VwIC5kcm9wZG93bi10b2dnbGU6YWN0aXZlLFxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUge1xuICBvdXRsaW5lOiAwO1xufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXIgbWFuaXB1bGF0aW9uLlxuXG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1zbTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyBAZXh0ZW5kIC5idG4tbGc7IH1cblxuXG4vL1xuLy8gU3BsaXQgYnV0dG9uIGRyb3Bkb3duc1xuLy9cblxuLy8gR2l2ZSB0aGUgbGluZSBiZXR3ZWVuIGJ1dHRvbnMgc29tZSBkZXB0aFxuLmJ0bi1ncm91cCA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gIHBhZGRpbmctbGVmdDogMTJweDtcbn1cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBSZW1vdmUgdGhlIGdyYWRpZW50IGFuZCBzZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSkpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vIFJlcG9zaXRpb24gdGhlIGNhcmV0XG4uYnRuIC5jYXJldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLy8gQ2FyZXRzIGluIG90aGVyIGJ1dHRvbiBzaXplc1xuLmJ0bi1sZyAuY2FyZXQge1xuICBib3JkZXItd2lkdGg6ICRjYXJldC13aWR0aC1sZyAkY2FyZXQtd2lkdGgtbGcgMDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbn1cbi8vIFVwc2lkZSBkb3duIGNhcmV0cyBmb3IgLmRyb3B1cFxuLmRyb3B1cCAuYnRuLWxnIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogMCAkY2FyZXQtd2lkdGgtbGcgJGNhcmV0LXdpZHRoLWxnO1xufVxuXG5cblxuLy9cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCxcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQ2xlYXIgZmxvYXRzIHNvIGRyb3Bkb3duIG1lbnVzIGNhbiBiZSBwcm9wZXJseSBwbGFjZWRcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgPiAuYnRuIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgfVxuXG4gID4gLmJ0biArIC5idG4sXG4gID4gLmJ0biArIC5idG4tZ3JvdXAsXG4gID4gLmJ0bi1ncm91cCArIC5idG4sXG4gID4gLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi10b3A6IC0kaW5wdXQtYnRuLWJvcmRlci13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biB7XG4gICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICAmOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYnRuLWJvcmRlci1yYWRpdXM7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cbiAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYnRuLWJvcmRlci1yYWRpdXM7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICA+IC5idG46bGFzdC1jaGlsZCxcbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG46Zmlyc3QtY2hpbGQge1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5mYWRlIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGxpbmVhcjtcblxuICAmLmluIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgJi5pbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLy8gdHImLmluICAgIHsgZGlzcGxheTogdGFibGUtcm93OyB9XG4gIC8vIHRib2R5Ji5pbiB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjM1cztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0O1xufVxuIiwiLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGA8ZGl2PmApXG4uZHJvcHVwLFxuLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgLy8gR2VuZXJhdGUgdGhlIGNhcmV0IGF1dG9tYXRpY2FsbHlcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC4yNXJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICAgIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRoZSBmb2N1cyBvbiB0aGUgZHJvcGRvd24gdG9nZ2xlIHdoZW4gY2xvc2luZyBkcm9wZG93bnNcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6IDE2MHB4O1xuICBwYWRkaW5nOiA1cHggMDtcbiAgbWFyZ2luOiAycHggMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXItd2lkdGggc29saWQgJGRyb3Bkb3duLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCA2cHggMTJweCByZ2JhKDAsMCwwLC4xNzUpKTtcbn1cblxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBgPGhyPmApIHdpdGhpbiB0aGUgZHJvcGRvd25cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgbmF2LWRpdmlkZXIoJGRyb3Bkb3duLWRpdmlkZXItYmcpO1xufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogM3B4IDIwcHg7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZDogbm9uZTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItYmc7XG4gIH1cblxuICAvLyBBY3RpdmUgc3RhdGVcbiAgJi5hY3RpdmUge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtYmc7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC8vXG4gIC8vIEdyYXkgb3V0IHRleHQgYW5kIGVuc3VyZSB0aGUgaG92ZXIvZm9jdXMgc3RhdGUgcmVtYWlucyBncmF5XG4gICYuZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBOdWtlIGhvdmVyL2ZvY3VzIGVmZmVjdHNcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRcbiAgICAgIEBpbmNsdWRlIHJlc2V0LWZpbHRlcigpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBPcGVuIHN0YXRlIGZvciB0aGUgZHJvcGRvd25cbi5vcGVuIHtcbiAgLy8gU2hvdyB0aGUgbWVudVxuICA+IC5kcm9wZG93bi1tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgb3V0bGluZSB3aGVuIDpmb2N1cyBpcyB0cmlnZ2VyZWRcbiAgPiBhIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vIE1lbnUgcG9zaXRpb25pbmdcbi8vXG4vLyBBZGQgZXh0cmEgY2xhc3MgdG8gYC5kcm9wZG93bi1tZW51YCB0byBmbGlwIHRoZSBhbGlnbm1lbnQgb2YgdGhlIGRyb3Bkb3duXG4vLyBtZW51IHdpdGggdGhlIHBhcmVudC5cbi5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gYC5kcm9wZG93bi1tZW51YFxufVxuLy8gV2l0aCB2Mywgd2UgZW5hYmxlZCBhdXRvLWZsaXBwaW5nIGlmIHlvdSBoYXZlIGEgZHJvcGRvd24gd2l0aGluIGEgcmlnaHRcbi8vIGFsaWduZWQgbmF2IGNvbXBvbmVudC4gVG8gZW5hYmxlIHRoZSB1bmRvaW5nIG9mIHRoYXQsIHdlIHByb3ZpZGUgYW4gb3ZlcnJpZGVcbi8vIHRvIHJlc3RvcmUgdGhlIGRlZmF1bHQgZHJvcGRvd24gbWVudSBhbGlnbm1lbnQuXG4vL1xuLy8gVGhpcyBpcyBvbmx5IGZvciBsZWZ0LWFsaWduaW5nIGEgZHJvcGRvd24gbWVudSB3aXRoaW4gYSBgLm5hdmJhci1yaWdodGAgb3Jcbi8vIGAucHVsbC1yaWdodGAgbmF2IGNvbXBvbmVudC5cbi5kcm9wZG93bi1tZW51LWxlZnQge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDNweCAyMHB4O1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIEJhY2tkcm9wIHRvIGNhdGNoIGJvZHkgY2xpY2tzIG9uIG1vYmlsZSwgZXRjLlxuLmRyb3Bkb3duLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICgkemluZGV4LWRyb3Bkb3duIC0gMTApO1xufVxuXG4vLyBSaWdodCBhbGlnbmVkIGRyb3Bkb3duc1xuLnB1bGwtcmlnaHQgPiAuZHJvcGRvd24tbWVudSB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4vLyBUT0RPOiBhYnN0cmFjdCB0aGlzIHNvIHRoYXQgdGhlIG5hdmJhciBmaXhlZCBzdHlsZXMgYXJlIG5vdCBwbGFjZWQgaGVyZT9cblxuLmRyb3B1cCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biB7XG4gIC8vIFJldmVyc2UgdGhlIGNhcmV0XG4gIC5jYXJldCB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgfVxuXG4gIC8vIERpZmZlcmVudCBwb3NpdGlvbmluZyBmb3IgYm90dG9tIHVwIG1lbnVcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICNlNWU1ZTUpIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogKCRzcGFjZXIteSAvIDIpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbn1cbiIsIi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXG4vL1xuLy8gV2hlbiB5b3UgbmVlZCB0byByZW1vdmUgYSBncmFkaWVudCBiYWNrZ3JvdW5kLCBkbyBub3QgZm9yZ2V0IHRvIHVzZSB0aGlzIHRvIHJlc2V0XG4vLyB0aGUgSUUgZmlsdGVyIGZvciBJRTkuXG5cbkBtaXhpbiByZXNldC1maWx0ZXIoKSB7XG4gIGZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKVwiO1xufVxuIiwiLy8gRW1iZWRkZWQgaWNvbnMgZnJvbSBPcGVuIEljb25pYy5cbi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBhbmQgY29weXJpZ2h0IDIwMTQgV2F5YnVyeS5cbi8vIGh0dHA6Ly91c2VpY29uaWMuY29tL29wZW5cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBCYXNlIGNsYXNzIHRha2VzIGNhcmUgb2YgYWxsIHRoZSBrZXkgYmVoYXZpb3JhbCBhc3BlY3RzLlxuXG4uYy1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgY29sb3I6ICM1NTU7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICA+IGlucHV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7IC8vIFB1dCB0aGUgaW5wdXQgYmVoaW5kIHRoZSBsYWJlbCBzbyBpdCBkb2Vzbid0IG92ZXJsYXkgdGV4dFxuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAmOmNoZWNrZWQgfiAuYy1pbmRpY2F0b3Ige1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3NGQ5O1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIH4gLmMtaW5kaWNhdG9yIHtcbiAgICAgIC8vIHRoZSBtaXhpbiBpcyBub3QgdXNlZCBoZXJlIHRvIG1ha2Ugc3VyZSB0aGVyZSBpcyBmZWVkYmFja1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgLjA3NXJlbSAjZmZmLCAwIDAgMCAuMnJlbSAjMDA3NGQ5O1xuICAgIH1cblxuICAgICY6YWN0aXZlIH4gLmMtaW5kaWNhdG9yIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg0YzZmZjtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gICAgfVxuICB9XG5cbiAgKyAuYy1pbnB1dCB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIH1cbn1cblxuLy8gQ3VzdG9tIGluZGljYXRvclxuLy9cbi8vIEdlbmVyYXRlcyBhIHNoYWRvdyBlbGVtZW50IHRvIGNyZWF0ZSBvdXIgbWFrZXNoaWZ0IGNoZWNrYm94L3JhZGlvIGJhY2tncm91bmQuXG5cbi5jLWluZGljYXRvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgZm9udC1zaXplOiA2NSU7XG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICBjb2xvcjogI2VlZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiA1MCUgNTAlO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgLjEyNXJlbSAuMTI1cmVtIHJnYmEoMCwwLDAsLjEpKTtcbn1cblxuLy8gQ2hlY2tib3hlc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciBjaGVja2JveGVzLlxuXG4uYy1jaGVja2JveCB7XG4gIC5jLWluZGljYXRvciB7XG4gICAgYm9yZGVyLXJhZGl1czogLjI1cmVtO1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5jLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0TkNqd2hMUzBnUjJWdVpYSmhkRzl5T2lCQlpHOWlaU0JKYkd4MWMzUnlZWFJ2Y2lBeE55NHhMakFzSUZOV1J5QkZlSEJ2Y25RZ1VHeDFaeTFKYmlBdUlGTldSeUJXWlhKemFXOXVPaUEyTGpBd0lFSjFhV3hrSURBcElDQXRMVDROQ2p3aFJFOURWRmxRUlNCemRtY2dVRlZDVEVsRElDSXRMeTlYTTBNdkwwUlVSQ0JUVmtjZ01TNHhMeTlGVGlJZ0ltaDBkSEE2THk5M2QzY3Vkek11YjNKbkwwZHlZWEJvYVdOekwxTldSeTh4TGpFdlJGUkVMM04yWnpFeExtUjBaQ0krRFFvOGMzWm5JSFpsY25OcGIyNDlJakV1TVNJZ2FXUTlJa3hoZVdWeVh6RWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaUlIZzlJakJ3ZUNJZ2VUMGlNSEI0SWcwS0NTQjJhV1YzUW05NFBTSXdJREFnT0NBNElpQmxibUZpYkdVdFltRmphMmR5YjNWdVpEMGlibVYzSURBZ01DQTRJRGdpSUhodGJEcHpjR0ZqWlQwaWNISmxjMlZ5ZG1VaVBnMEtQSEJoZEdnZ1ptbHNiRDBpSTBaR1JrWkdSaUlnWkQwaVRUWXVOQ3d4VERVdU55d3hMamRNTWk0NUxEUXVOVXd5TGpFc015NDNUREV1TkN3elREQXNOQzQwYkRBdU55d3dMamRzTVM0MUxERXVOV3d3TGpjc01DNDNiREF1Tnkwd0xqZHNNeTQxTFRNdU5Xd3dMamN0TUM0M1REWXVOQ3d4VERZdU5Dd3hlaUlOQ2drdlBnMEtQQzl6ZG1jK0RRbz0pO1xuICB9XG5cbiAgaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzRkOTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejROQ2p3aExTMGdSMlZ1WlhKaGRHOXlPaUJCWkc5aVpTQkpiR3gxYzNSeVlYUnZjaUF4Tnk0eExqQXNJRk5XUnlCRmVIQnZjblFnVUd4MVp5MUpiaUF1SUZOV1J5QldaWEp6YVc5dU9pQTJMakF3SUVKMWFXeGtJREFwSUNBdExUNE5DandoUkU5RFZGbFFSU0J6ZG1jZ1VGVkNURWxESUNJdEx5OVhNME12TDBSVVJDQlRWa2NnTVM0eEx5OUZUaUlnSW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTDBkeVlYQm9hV056TDFOV1J5OHhMakV2UkZSRUwzTjJaekV4TG1SMFpDSStEUW84YzNabklIWmxjbk5wYjI0OUlqRXVNU0lnYVdROUlreGhlV1Z5WHpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lnZVQwaU1IQjRJZzBLQ1NCM2FXUjBhRDBpT0hCNElpQm9aV2xuYUhROUlqaHdlQ0lnZG1sbGQwSnZlRDBpTUNBd0lEZ2dPQ0lnWlc1aFlteGxMV0poWTJ0bmNtOTFibVE5SW01bGR5QXdJREFnT0NBNElpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajROQ2p4d1lYUm9JR1pwYkd3OUlpTkdSa1pHUmtZaUlHUTlJazB3TEROMk1tZzRWak5JTUhvaUx6NE5Dand2YzNablBnMEspO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuLy8gUmFkaW9zXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIHJhZGlvcy5cblxuLmMtcmFkaW8ge1xuICAuYy1pbmRpY2F0b3Ige1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuYy1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NE5DandoTFMwZ1IyVnVaWEpoZEc5eU9pQkJaRzlpWlNCSmJHeDFjM1J5WVhSdmNpQXhOeTR4TGpBc0lGTldSeUJGZUhCdmNuUWdVR3gxWnkxSmJpQXVJRk5XUnlCV1pYSnphVzl1T2lBMkxqQXdJRUoxYVd4a0lEQXBJQ0F0TFQ0TkNqd2hSRTlEVkZsUVJTQnpkbWNnVUZWQ1RFbERJQ0l0THk5WE0wTXZMMFJVUkNCVFZrY2dNUzR4THk5RlRpSWdJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MMGR5WVhCb2FXTnpMMU5XUnk4eExqRXZSRlJFTDNOMlp6RXhMbVIwWkNJK0RRbzhjM1puSUhabGNuTnBiMjQ5SWpFdU1TSWdhV1E5SWt4aGVXVnlYekVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGc5SWpCd2VDSWdlVDBpTUhCNElnMEtDU0IyYVdWM1FtOTRQU0l3SURBZ09DQTRJaUJsYm1GaWJHVXRZbUZqYTJkeWIzVnVaRDBpYm1WM0lEQWdNQ0E0SURnaUlIaHRiRHB6Y0dGalpUMGljSEpsYzJWeWRtVWlQZzBLUEhCaGRHZ2dabWxzYkQwaUkwWkdSa1pHUmlJZ1pEMGlUVFFzTVVNeUxqTXNNU3d4TERJdU15d3hMRFJ6TVM0ekxETXNNeXd6Y3pNdE1TNHpMRE10TTFNMUxqY3NNU3cwTERGNklpOCtEUW84TDNOMlp6NE5DZz09KTtcbiAgfVxufVxuXG5cbi8vIExheW91dCBvcHRpb25zXG4vL1xuLy8gQnkgZGVmYXVsdCByYWRpb3MgYW5kIGNoZWNrYm94ZXMgYXJlIGBpbmxpbmUtYmxvY2tgIHdpdGggbm8gYWRkaXRpb25hbCBzcGFjaW5nXG4vLyBzZXQuIFVzZSB0aGVzZSBvcHRpb25hbCBjbGFzc2VzIHRvIHR3ZWFrIHRoZSBsYXlvdXQuXG5cbi5jLWlucHV0cy1zdGFja2VkIHtcbiAgLmMtaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjI1cmVtO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICArIC5jLWlucHV0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFNlbGVjdFxuLy9cbi8vIFJlcGxhY2VzIHRoZSBicm93c2VyIGRlZmF1bHQgc2VsZWN0IHdpdGggYSBjdXN0b20gb25lLCBtb3N0bHkgcHVsbGVkIGZyb21cbi8vIGh0dHA6Ly9wcmltZXJjc3MuaW8uXG4vL1xuLy8gSW5jbHVkZXMgSUU5LXNwZWNpZmljIGhhY2tzIChub3RlZCBieSBgIFxcOWApLlxuXG4uYy1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogLjM3NXJlbSAxLjc1cmVtIC4zNzVyZW0gLjc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAuNzVyZW0gXFw5O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiAjZmZmIHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVVDQU1BQUFDenZFMUZBQUFBREZCTVZFVXpNek16TXpNek16TXpNek1LQUcvM0FBQUFBM1JTVGxNQWY0Qy9hU0xIQUFBQVBFbEVRVlI0MnEzTk1RNEFJQWdFUVRuLy8yY0xkUktwcFNHekJZd3pWWHZ6bk5XczhDNThDaXVzc1BKajhoNk53Z29ycktSZFR2dVY5djE2QWZuMEFZRk9CN2FZQUFBQUFFbEZUa1N1UW1DQykgbm8tcmVwZWF0IHJpZ2h0IC43NXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgXFw5O1xuICBiYWNrZ3JvdW5kLXNpemU6IDhweCAxMHB4O1xuICBib3JkZXI6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG4gIC8vIFVzZSB2ZW5kb3IgcHJlZml4ZXMgYXMgYGFwcGVhcmFuY2VgIGlzbid0IHBhcnQgb2YgdGhlIENTUyBzcGVjLlxuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM1MWE3ZTg7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDVweCByZ2JhKDgxLCAxNjcsIDIzMiwgMC41KSk7XG4gIH1cblxuICAvLyBIaWRlcyB0aGUgZGVmYXVsdCBjYXJldCBpbiBJRTExXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmMtc2VsZWN0LXNtIHtcbiAgcGFkZGluZy10b3A6IDNweDtcbiAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuXG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgbWluLWhlaWdodDogMjZweDtcbiAgfVxufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmZpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5maWxlIGlucHV0IHtcbiAgbWluLXdpZHRoOiAxNHJlbTtcbiAgbWFyZ2luOiAwO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHkgPSAwKTtcbiAgb3BhY2l0eTogMDtcbn1cbi5maWxlLWN1c3RvbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogNTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIHBhZGRpbmc6IC41cmVtIDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNTU1O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCAjZGRkO1xuICBib3JkZXItcmFkaXVzOiAuMjVyZW07XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAuMnJlbSAuNHJlbSByZ2JhKDAsMCwwLC4wNSkpO1xufVxuLmZpbGUtY3VzdG9tOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiQ2hvb3NlIGZpbGUuLi5cIjtcbn1cbi5maWxlLWN1c3RvbTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0uMDc1cmVtO1xuICByaWdodDogLS4wNzVyZW07XG4gIGJvdHRvbTogLS4wNzVyZW07XG4gIHotaW5kZXg6IDY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDIuNXJlbTtcbiAgcGFkZGluZzogLjVyZW0gMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM1NTU7XG4gIGNvbnRlbnQ6IFwiQnJvd3NlXCI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIGJvcmRlcjogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgI2RkZDtcbiAgYm9yZGVyLXJhZGl1czogMCAuMjVyZW0gLjI1cmVtIDA7XG59XG5cbi8vIEZvY3VzIHN0YXRlXG4uZmlsZSBpbnB1dDpmb2N1cyB+IC5maWxlLWN1c3RvbSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDAgLjA3NXJlbSAjZmZmLCAwIDAgMCAuMnJlbSAjMDA3NGQ5KTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcyBvciBgPHVsPmBzLlxuXG4ubmF2IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHQgYW5kIHJlbW92ZXMgaG92ZXIvdGFiIGVmZmVjdHNcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjtcblxuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXYgaW5saW5lXG5cbi5uYXYtaW5saW5lIHtcbiAgLm5hdi1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAubmF2LWl0ZW0gKyAubmF2LWl0ZW0sXG4gIC5uYXYtbGluayArIC5uYXYtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIH1cbn1cblxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgLm5hdi1pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAvLyBNYWtlIHRoZSBsaXN0LWl0ZW1zIG92ZXJsYXkgdGhlIGJvdHRvbSBib3JkZXJcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuXG4gICAgKyAubmF2LWl0ZW0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IC4ycmVtO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkbmF2LXRhYnMtbGluay1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cyAwIDApO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IgJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2LWRpc2FibGVkLWxpbmstY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5uYXYtaXRlbS5vcGVuIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvciAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yIHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgLm5hdi1pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgICsgLm5hdi1pdGVtIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuMnJlbTtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRuYXYtbGluay1wYWRkaW5nO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdi1waWxscy1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5uYXYtaXRlbS5vcGVuIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbXBvbmVudC1hY3RpdmUtYmc7XG4gICAgfVxuICB9XG59XG5cbi5uYXYtc3RhY2tlZCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG5cbiAgICArIC5uYXYtaXRlbSB7XG4gICAgICBtYXJnaW4tdG9wOiAuMnJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuXG4vL1xuLy8gRHJvcGRvd25zXG4vL1xuXG4ubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUge1xuICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG4iLCIvLyBXcmFwcGVyIGFuZCBiYXNlIGNsYXNzXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmctdmVydGljYWwgJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXZiYXItYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgYWxpZ25tZW50IG9wdGlvbnNcbi8vXG4vLyBEaXNwbGF5IHRoZSBuYXZiYXIgYWNyb3NzIHRoZSBlbnRpcmV0eSBvZiB0aGUgcGFnZSBvciBmaXhlZCBpdCB0byB0aGUgdG9wIG9yXG4vLyBib3R0b20gb2YgdGhlIHBhZ2UuXG5cbi8vIEEgc3RhdGljLCBmdWxsIHdpZHRoIG1vZGlmaWVyIHdpdGggbm8gcm91bmRlZCBjb3JuZXJzLlxuLm5hdmJhci1mdWxsIHtcbiAgei1pbmRleDogJHppbmRleC1uYXZiYXI7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLy8gRml4IHRoZSB0b3AvYm90dG9tIG5hdmJhcnMgd2hlbiBzY3JlZW4gcmVhbCBlc3RhdGUgc3VwcG9ydHMgaXRcbi5uYXZiYXItZml4ZWQtdG9wLFxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW5hdmJhci1maXhlZDtcblxuICAvLyBVbmRvIHRoZSByb3VuZGVkIGNvcm5lcnNcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLm5hdmJhci1maXhlZC10b3Age1xuICB0b3A6IDA7XG59XG5cbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgYm90dG9tOiAwO1xufVxuXG4ubmF2YmFyLXN0aWNreS10b3Age1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbmF2YmFyLXN0aWNreTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8gVW5kbyB0aGUgcm91bmRlZCBjb3JuZXJzXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIEJyYW5kL3Byb2plY3QgbmFtZVxuLy9cblxuLm5hdmJhci1icmFuZCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXRvcDogICAgLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogLjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgPiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cblxuLm5hdmJhci1kaXZpZGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxcHg7XG4gIHBhZGRpbmctdG9wOiAuNDI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogLjQyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgbWFyZ2luLWxlZnQ6ICAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwwMGEwXCI7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdG9nZ2xlXG4vL1xuLy8gQ3VzdG9tIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIGAubmF2YmFyLWNvbGxhcHNlYCwgcG93ZXJlZCBieSB0aGUgY29sbGFwc2Vcbi8vIEJvb3RzdHJhcCBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogLjVyZW0gLjc1cmVtO1xuICBmb250LXNpemU6ICRmb250LXNpemUtbGc7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJ0bi1ib3JkZXItcmFkaXVzKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi8vIEN1c3RvbSBvdmVycmlkZSBmb3Jcbi5uYXZiYXItdG9nZ2xlYWJsZSB7XG4gICYteHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gICYtc20ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gICYtbWQge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2aWdhdGlvblxuLy9cbi8vIEN1c3RvbSBuYXZiYXIgbmF2aWdhdGlvbiBidWlsdCBvbiB0aGUgYmFzZSBgLm5hdmAgc3R5bGVzLlxuXG4ubmF2YmFyLW5hdiB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxuICAubmF2LWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAgICAuNDI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAuNDI1cmVtO1xuXG4gICAgKyAubmF2LWxpbmsge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgfVxuICB9XG5cbiAgLm5hdi1pdGVtICsgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgfVxufVxuXG4vLyBEYXJrIGxpbmtzIGFnYWluc3QgYSBsaWdodCBiYWNrZ3JvdW5kXG4ubmF2YmFyLWxpZ2h0IHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm9wZW4gPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsub3BlbixcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItZGl2aWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuMDc1KTtcbiAgfVxufVxuXG4vLyBXaGl0ZSBsaW5rcyBhZ2FpbnN0IGEgZGFyayBiYWNrZ3JvdW5kXG4ubmF2YmFyLWRhcmsge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5vcGVuID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLm9wZW4sXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItZGl2aWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMDc1KTtcbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206ICRjYXJkLXNwYWNlci15O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1iZztcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1ibG9jayB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci14O1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206ICRjYXJkLXNwYWNlci15O1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IC0oJGNhcmQtc3BhY2VyLXkgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLy8gLmNhcmQtYWN0aW9ucyB7XG4vLyAgIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuXG4vLyAgIC5jYXJkLWxpbmsgKyAuY2FyZC1saW5rIHtcbi8vICAgICBtYXJnaW4tbGVmdDogJGNhcmQtc3BhY2VyLXg7XG4vLyAgIH1cbi8vIH1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgLmNhcmQge1xuICAgID4gLmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQge1xuICAgICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXMgJGNhcmQtYm9yZGVyLXJhZGl1cyAwIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiAubGlzdC1ncm91cDpsYXN0LWNoaWxkIHtcbiAgICAgIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkY2FyZC1ib3JkZXItcmFkaXVzICRjYXJkLWJvcmRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIE9wdGlvbmFsIHRleHR1YWwgY2Fwc1xuLy9cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXIgJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lciAwIDApO1xuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci10b3A6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCAkY2FyZC1ib3JkZXItcmFkaXVzLWlubmVyICRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXIpO1xuICB9XG59XG5cblxuLy9cbi8vIEJhY2tncm91bmQgdmFyaWF0aW9uc1xuLy9cblxuLmNhcmQtcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGNhcmQtdmFyaWFudCgkYnJhbmQtcHJpbWFyeSwgJGJyYW5kLXByaW1hcnkpO1xufVxuLmNhcmQtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGNhcmQtdmFyaWFudCgkYnJhbmQtc3VjY2VzcywgJGJyYW5kLXN1Y2Nlc3MpO1xufVxuLmNhcmQtaW5mbyB7XG4gIEBpbmNsdWRlIGNhcmQtdmFyaWFudCgkYnJhbmQtaW5mbywgJGJyYW5kLWluZm8pO1xufVxuLmNhcmQtd2FybmluZyB7XG4gIEBpbmNsdWRlIGNhcmQtdmFyaWFudCgkYnJhbmQtd2FybmluZywgJGJyYW5kLXdhcm5pbmcpO1xufVxuLmNhcmQtZGFuZ2VyIHtcbiAgQGluY2x1ZGUgY2FyZC12YXJpYW50KCRicmFuZC1kYW5nZXIsICRicmFuZC1kYW5nZXIpO1xufVxuXG4vLyBSZW1vdmUgYWxsIGJhY2tncm91bmRzXG4uY2FyZC1wcmltYXJ5LW91dGxpbmUge1xuICBAaW5jbHVkZSBjYXJkLW91dGxpbmUtdmFyaWFudCgkYnRuLXByaW1hcnktYmcpO1xufVxuLmNhcmQtc2Vjb25kYXJ5LW91dGxpbmUge1xuICBAaW5jbHVkZSBjYXJkLW91dGxpbmUtdmFyaWFudCgkYnRuLXNlY29uZGFyeS1ib3JkZXIpO1xufVxuLmNhcmQtaW5mby1vdXRsaW5lIHtcbiAgQGluY2x1ZGUgY2FyZC1vdXRsaW5lLXZhcmlhbnQoJGJ0bi1pbmZvLWJnKTtcbn1cbi5jYXJkLXN1Y2Nlc3Mtb3V0bGluZSB7XG4gIEBpbmNsdWRlIGNhcmQtb3V0bGluZS12YXJpYW50KCRidG4tc3VjY2Vzcy1iZyk7XG59XG4uY2FyZC13YXJuaW5nLW91dGxpbmUge1xuICBAaW5jbHVkZSBjYXJkLW91dGxpbmUtdmFyaWFudCgkYnRuLXdhcm5pbmctYmcpO1xufVxuLmNhcmQtZGFuZ2VyLW91dGxpbmUge1xuICBAaW5jbHVkZSBjYXJkLW91dGxpbmUtdmFyaWFudCgkYnRuLWRhbmdlci1iZyk7XG59XG5cbi8vXG4vLyBJbnZlcnNlIHRleHQgd2l0aGluIGEgY2FyZCBmb3IgdXNlIHdpdGggZGFyayBiYWNrZ3JvdW5kc1xuLy9cblxuLmNhcmQtaW52ZXJzZSB7XG4gIEBpbmNsdWRlIGNhcmQtaW52ZXJzZTtcbn1cblxuLy9cbi8vIEJsb2NrcXVvdGVcbi8vXG5cbi5jYXJkLWJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nIHtcbiAgLy8gbWFyZ2luOiAtMS4zMjVyZW07XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoLjI1cmVtKTtcbn1cbi5jYXJkLWltZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG59XG5cblxuXG4vLyBDYXJkIGltYWdlIGNhcHNcbi5jYXJkLWltZy10b3Age1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXIgJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lciAwIDApO1xufVxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXIgJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lcik7XG59XG5cblxuLy9cbi8vIENhcmQgc2V0XG4vL1xuXG5AaWYgJGVuYWJsZS1mbGV4IHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIC5jYXJkLWRlY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0uNjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0uNjI1cmVtO1xuXG4gICAgICAuY2FyZCB7XG4gICAgICAgIGZsZXg6IDEgMCAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC42MjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAuNjI1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSBAZWxzZSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAuY2FyZC1kZWNrIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgIGJvcmRlci1zcGFjaW5nOiAxLjI1cmVtIDA7XG5cbiAgICAgIC5jYXJkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgd2lkdGg6IDElO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgfVxuICAgIH1cbiAgICAuY2FyZC1kZWNrLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMS4yNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC5jYXJkLWdyb3VwIHtcbiAgICBAaWYgJGVuYWJsZS1mbGV4IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIH0gQGVsc2Uge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgfVxuXG4gICAgLmNhcmQge1xuICAgICAgQGlmICRlbmFibGUtZmxleCB7XG4gICAgICAgIGZsZXg6IDEgMCAwO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB9XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ2FyZFxuLy9cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAuY2FyZC1jb2x1bW5zIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgY29sdW1uLWdhcDogMS4yNXJlbTtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBEb24ndCBsZXQgdGhlbSBleGNlZWQgdGhlIGNvbHVtbiB3aWR0aFxuICAgIH1cbiAgfVxufVxuIiwiLy8gQ2FyZCB2YXJpYW50c1xuXG5AbWl4aW4gY2FyZC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG59XG5cbkBtaXhpbiBjYXJkLW91dGxpbmUtdmFyaWFudCgkY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xufVxuXG4vL1xuLy8gSW52ZXJzZSB0ZXh0IHdpdGhpbiBhIGNhcmQgZm9yIHVzZSB3aXRoIGRhcmsgYmFja2dyb3VuZHNcbi8vXG5cbkBtaXhpbiBjYXJkLWludmVyc2Uge1xuICAuY2FyZC1oZWFkZXIsXG4gIC5jYXJkLWZvb3RlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjIpO1xuICB9XG4gIC5jYXJkLWhlYWRlcixcbiAgLmNhcmQtZm9vdGVyLFxuICAuY2FyZC10aXRsZSxcbiAgLmNhcmQtYmxvY2txdW90ZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbiAgLmNhcmQtbGluayxcbiAgLmNhcmQtdGV4dCxcbiAgLmNhcmQtYmxvY2txdW90ZSA+IGZvb3RlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjY1KTtcbiAgfVxuICAuY2FyZC1saW5rIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGNhcmQtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cbiIsIi5icmVhZGNydW1iIHtcbiAgcGFkZGluZzogJGJyZWFkY3J1bWItcGFkZGluZy12ZXJ0aWNhbCAkYnJlYWRjcnVtYi1wYWRkaW5nLWhvcml6b250YWw7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIteTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWFkY3J1bWItYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgICsgbGk6OmJlZm9yZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogLjVyZW07XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjtcbiAgICAgIGNvbnRlbnQ6IFwiI3skYnJlYWRjcnVtYi1kaXZpZGVyfVwiO1xuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjtcbiAgfVxufVxuIiwiLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogJHNwYWNlci15O1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyLXk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbn1cblxuLnBhZ2UtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZTsgLy8gUmVtb3ZlIGxpc3Qtc3R5bGUgYW5kIGJsb2NrLWxldmVsIGRlZmF1bHRzXG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSAucGFnZS1saW5rIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAmLmRpc2FibGVkIC5wYWdlLWxpbmsge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI7XG4gICAgfVxuICB9XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0OyAvLyBDb2xsYXBzZSB3aGl0ZS1zcGFjZVxuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWJnO1xuICBib3JkZXI6ICRwYWdpbmF0aW9uLWJvcmRlci13aWR0aCBzb2xpZCAkcGFnaW5hdGlvbi1ib3JkZXItY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkbGluZS1oZWlnaHQtbGcsICRib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLnBhZ2luYXRpb24tc20ge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LXNtLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRsaW5lLWhlaWdodC1zbSwgJGJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIH1cblxuICAucGFnZS1pdGVtIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnBhZ2VyIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAkc3BhY2VyLXk7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIteTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDVweCAxNHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2VyLWJnO1xuICAgICAgYm9yZGVyOiAkcGFnZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwYWdlci1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcGFnZXItYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICA+IGEge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdlci1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGlzYWJsZWQge1xuICAgID4gYSB7XG4gICAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkcGFnZXItZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2VyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IHNwYW4ge1xuICAgICAgY29sb3I6ICRwYWdlci1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdlci1iZztcbiAgICB9XG4gIH1cbn1cblxuLnBhZ2VyLW5leHQge1xuICA+IGEsXG4gID4gc3BhbiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG5cbi5wYWdlci1wcmV2IHtcbiAgPiBhLFxuICA+IHNwYW4ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gUmVxdWlyZXMgb25lIG9mIHRoZSBjb250ZXh0dWFsLCBjb2xvciBtb2RpZmllciBjbGFzc2VzIGZvciBgY29sb3JgIGFuZFxuLy8gYGJhY2tncm91bmQtY29sb3JgLlxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IC4yNWVtIC40ZW07XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBmb250LXdlaWdodDogJGxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcblxuICAvLyBFbXB0eSBsYWJlbHMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgbGFiZWxzIGluIGJ1dHRvbnNcbi5idG4gLmxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi8vIEFkZCBob3ZlciBlZmZlY3RzLCBidXQgb25seSBmb3IgbGlua3NcbmEubGFiZWwge1xuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRsYWJlbC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gUGlsbCBsYWJlbHNcbi8vXG4vLyBNYWtlIHRoZW0gZXh0cmEgcm91bmRlZCB3aXRoIGEgbW9kaWZpZXIgdG8gcmVwbGFjZSB2MydzIGJhZGdlcy5cblxuLmxhYmVsLXBpbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAuNmVtO1xuICBwYWRkaW5nLWxlZnQ6IC42ZW07XG4gIC8vIFVzZSBhIGhpZ2hlciB0aGFuIG5vcm1hbCB2YWx1ZSB0byBlbnN1cmUgY29tcGxldGVseSByb3VuZGVkIGVkZ2VzIHdoZW5cbiAgLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDEwcmVtKTtcbn1cblxuLy8gQ29sb3JzXG4vL1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgbGFiZWxzIGdldCBkYXJrZXIgb24gOmhvdmVyKS5cblxuLmxhYmVsLWRlZmF1bHQge1xuICBAaW5jbHVkZSBsYWJlbC12YXJpYW50KCRsYWJlbC1kZWZhdWx0LWJnKTtcbn1cblxuLmxhYmVsLXByaW1hcnkge1xuICBAaW5jbHVkZSBsYWJlbC12YXJpYW50KCRsYWJlbC1wcmltYXJ5LWJnKTtcbn1cblxuLmxhYmVsLXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBsYWJlbC12YXJpYW50KCRsYWJlbC1zdWNjZXNzLWJnKTtcbn1cblxuLmxhYmVsLWluZm8ge1xuICBAaW5jbHVkZSBsYWJlbC12YXJpYW50KCRsYWJlbC1pbmZvLWJnKTtcbn1cblxuLmxhYmVsLXdhcm5pbmcge1xuICBAaW5jbHVkZSBsYWJlbC12YXJpYW50KCRsYWJlbC13YXJuaW5nLWJnKTtcbn1cblxuLmxhYmVsLWRhbmdlciB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLWRhbmdlci1iZyk7XG59XG4iLCIvLyBMYWJlbHNcblxuQG1peGluIGxhYmVsLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAmW2hyZWZdIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuIiwiLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6ICRqdW1ib3Ryb24tcGFkZGluZyAoJGp1bWJvdHJvbi1wYWRkaW5nIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICRqdW1ib3Ryb24tcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGp1bWJvdHJvbi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIHBhZGRpbmc6ICgkanVtYm90cm9uLXBhZGRpbmcgKiAyKSAkanVtYm90cm9uLXBhZGRpbmc7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1ociB7XG4gIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkanVtYm90cm9uLWJnLCAxMCUpO1xufVxuXG4uanVtYm90cm9uLWZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWxlcnQge1xuICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlci15O1xuICBib3JkZXI6ICRhbGVydC1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGFsZXJ0LWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIEltcHJvdmUgYWxpZ25tZW50IGFuZCBzcGFjaW5nIG9mIGlubmVyIGNvbnRlbnRcbiAgPiBwLFxuICA+IHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gID4gcCArIHAge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxufVxuXG4vLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuLmFsZXJ0LWhlYWRpbmcge1xuICAvLyBTcGVjaWZpZWQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgJGhlYWRpbmdzLWNvbG9yXG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xuLmFsZXJ0LWxpbmsge1xuICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG59XG5cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICgkYWxlcnQtcGFkZGluZyArIDIwKTtcblxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxuICAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7XG4gICAgcmlnaHQ6IC0yMXB4O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbi5hbGVydC1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCgkYWxlcnQtc3VjY2Vzcy1iZywgJGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyLCAkYWxlcnQtc3VjY2Vzcy10ZXh0KTtcbn1cbi5hbGVydC1pbmZvIHtcbiAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCgkYWxlcnQtaW5mby1iZywgJGFsZXJ0LWluZm8tYm9yZGVyLCAkYWxlcnQtaW5mby10ZXh0KTtcbn1cbi5hbGVydC13YXJuaW5nIHtcbiAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCgkYWxlcnQtd2FybmluZy1iZywgJGFsZXJ0LXdhcm5pbmctYm9yZGVyLCAkYWxlcnQtd2FybmluZy10ZXh0KTtcbn1cbi5hbGVydC1kYW5nZXIge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1kYW5nZXItYmcsICRhbGVydC1kYW5nZXItYm9yZGVyLCAkYWxlcnQtZGFuZ2VyLXRleHQpO1xufVxuIiwiLy8gQWxlcnRzXG5cbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkYm9keS1jb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBjb2xvcjogJGJvZHktY29sb3I7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGJvZHktY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vXG4vLyBQcm9ncmVzcyBhbmltYXRpb25zXG4vL1xuXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkc3BhY2VyLXkgMDsgfVxuICB0byAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxufVxuXG5cbi8vXG4vLyBCYXNpYyBwcm9ncmVzcyBiYXJcbi8vXG5cbi5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc3BhY2VyLXk7IC8vIHRvZG86IG1ha2UgYSBuZXcgdmFyIGZvciB0aGlzXG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIteTtcbn1cbi5wcm9ncmVzc1t2YWx1ZV0ge1xuICAvLyBJRTEwIHVzZXMgYGNvbG9yYCB0byBzZXQgdGhlIGJhciBiYWNrZ3JvdW5kLWNvbG9yXG4gIGNvbG9yOiAjMDA3NGQ5O1xuICAvLyBSZW1vdmUgRmlyZWZveCBhbmQgT3BlcmEgYm9yZGVyXG4gIGJvcmRlcjogMDtcbiAgLy8gUmVzZXQgdGhlIGRlZmF1bHQgYXBwZWFyYW5jZVxuICBhcHBlYXJhbmNlOiBub25lO1xufVxuLnByb2dyZXNzW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoMCwwLDAsLjEpKTtcbn1cbi5wcm9ncmVzc1t2YWx1ZV06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGF0dHIodmFsdWUpO1xufVxuLnByb2dyZXNzW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDc0ZDk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cbi5wcm9ncmVzc1t2YWx1ZT1cIjEwMFwiXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG4vLyBGaXJlZm94IHN0eWxlcyBtdXN0IGJlIGVudGlyZWx5IHNlcGFyYXRlIG9yIGl0IGJ1c3RzIFdlYmtpdCBzdHlsZXMuXG4vL1xuLy8gQ29tbWVudGVkIG91dCBmb3Igbm93IGJlY2F1c2UgbGludGVyLlxuLy9cbi8vICQtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4vLyAgIC5wcm9ncmVzc1t2YWx1ZV0ge1xuLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4vLyAgICAgLmJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuLy8gICAgIC5ib3gtc2hhZG93KGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgwLDAsMCwuMSkpO1xuLy8gICB9XG4vLyAgIC5wcm9ncmVzc1t2YWx1ZV06Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbi8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3NGQ5O1xuLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuLy8gICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuLy8gICB9XG4vLyAgIC5wcm9ncmVzc1t2YWx1ZT1cIjBcIl06Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbi8vICAgICBjb2xvcjogJGdyYXktbGlnaHQ7XG4vLyAgICAgbWluLXdpZHRoOiAycmVtO1xuLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4vLyAgIH1cbi8vICAgLnByb2dyZXNzW3ZhbHVlPVwiMTAwXCJdOjotbW96LXByb2dyZXNzLWJhciB7XG4vLyAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuLy8gICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbi8vICAgfVxuLy8gfVxuXG4vLyBJRTkgaGFja3MgdG8gYWNjb21wYW55IGN1c3RvbSBtYXJrdXAuIFdlIGRvbid0IG5lZWQgdG8gc2NvcGUgdGhpcyB2aWEgbWVkaWEgcXVlcmllcywgYnV0IEkgZmVlbCBiZXR0ZXIgZG9pbmcgaXQgYW55d2F5LlxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gIC5wcm9ncmVzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgwLDAsMCwuMSkpO1xuICB9XG4gIC5wcm9ncmVzcy1iYXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6ICRzcGFjZXIteTtcbiAgICB0ZXh0LWluZGVudDogLTk5OXJlbTsgLy8gU2ltdWxhdGUgaGlkaW5nIG9mIHZhbHVlIGFzIGluIG5hdGl2ZSBgPHByb2dyZXNzPmBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3NGQ5O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG4gIC5wcm9ncmVzc1t3aWR0aF49XCIwXCJdIHtcbiAgICBtaW4td2lkdGg6IDJyZW07XG4gICAgY29sb3I6ICRncmF5LWxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgLnByb2dyZXNzW3dpZHRoPVwiMTAwJVwiXSB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5cbi8vXG4vLyBTdHJpcGVkXG4vL1xuXG4ucHJvZ3Jlc3Mtc3RyaXBlZFt2YWx1ZV06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCk7XG4gIGJhY2tncm91bmQtc2l6ZTogJHNwYWNlci15ICRzcGFjZXIteTtcbn1cbi5wcm9ncmVzcy1zdHJpcGVkW3ZhbHVlXTo6LW1vei1wcm9ncmVzcy1iYXIge1xuICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCk7XG4gIGJhY2tncm91bmQtc2l6ZTogJHNwYWNlci15ICRzcGFjZXIteTtcbn1cbi8vIElFOVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gIC5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHNwYWNlci15ICRzcGFjZXIteTtcbiAgfVxufVxuXG5cbi8vXG4vLyBBbmltYXRlZFxuLy9cblxuLnByb2dyZXNzLWFuaW1hdGVkW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlO1xufVxuLnByb2dyZXNzLWFuaW1hdGVkW3ZhbHVlXTo6LW1vei1wcm9ncmVzcy1iYXIge1xuICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZTtcbn1cbi8vIElFOVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gIC5wcm9ncmVzcy1hbmltYXRlZCAucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICAgIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlO1xuICB9XG59XG5cblxuLy9cbi8vIFZhcmlhdGlvbnNcbi8vXG5cbi5wcm9ncmVzcy1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgcHJvZ3Jlc3MtdmFyaWFudCgkcHJvZ3Jlc3MtYmFyLXN1Y2Nlc3MtYmcpO1xufVxuLnByb2dyZXNzLWluZm8ge1xuICBAaW5jbHVkZSBwcm9ncmVzcy12YXJpYW50KCRwcm9ncmVzcy1iYXItaW5mby1iZyk7XG59XG4ucHJvZ3Jlc3Mtd2FybmluZyB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLXZhcmlhbnQoJHByb2dyZXNzLWJhci13YXJuaW5nLWJnKTtcbn1cbi5wcm9ncmVzcy1kYW5nZXIge1xuICBAaW5jbHVkZSBwcm9ncmVzcy12YXJpYW50KCRwcm9ncmVzcy1iYXItZGFuZ2VyLWJnKTtcbn1cbiIsIi8vIEdyYWRpZW50c1xuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5LlxuQG1peGluIGdyYWRpZW50LWhvcml6b250YWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTEpOyAvLyBJRTlcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4vLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkuXG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG59XG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOSBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbn1cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICM1NTUsICRvdXRlci1jb2xvcjogIzMzMykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59IiwiLy8gUHJvZ3Jlc3MgYmFyc1xuXG5AbWl4aW4gcHJvZ3Jlc3MtdmFyaWFudCgkY29sb3IpIHtcbiAgJlt2YWx1ZV06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICZbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLy8gSUU5XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIC5wcm9ncmVzcy1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiQGlmICRlbmFibGUtZmxleCB7XG4gIC5tZWRpYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICB9XG4gIC5tZWRpYS1ib2R5IHtcbiAgICBmbGV4OiAxO1xuICB9XG4gIC5tZWRpYS1taWRkbGUge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgfVxuICAubWVkaWEtYm90dG9tIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgfVxufSBAZWxzZSB7XG4gIC5tZWRpYSB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cbiAgLm1lZGlhLFxuICAubWVkaWEtYm9keSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6b29tOiAxO1xuICB9XG4gIC5tZWRpYS1ib2R5IHtcbiAgICB3aWR0aDogMTAwMDBweDtcbiAgfVxuICAubWVkaWEtbGVmdCxcbiAgLm1lZGlhLXJpZ2h0LFxuICAubWVkaWEtYm9keSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG4gIC5tZWRpYS1taWRkbGUge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbiAgLm1lZGlhLWJvdHRvbSB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgfVxufVxuXG5cbi8vXG4vLyBJbWFnZXMvZWxlbWVudHMgYXMgdGhlIG1lZGlhIGFuY2hvclxuLy9cblxuLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC8vIEZpeCBjb2xsYXBzZSBpbiB3ZWJraXQgZnJvbSBtYXgtd2lkdGg6IDEwMCUgYW5kIGRpc3BsYXk6IHRhYmxlLWNlbGwuXG4gICYuaW1nLXRodW1ibmFpbCB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG59XG5cblxuLy9cbi8vIEFsaWdubWVudFxuLy9cblxuLm1lZGlhLXJpZ2h0IHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuXG4ubWVkaWEtbGVmdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG5cblxuLy9cbi8vIEhlYWRpbmdzXG4vL1xuXG4ubWVkaWEtaGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuXG4vL1xuLy8gTWVkaWEgbGlzdCB2YXJpYXRpb25cbi8vXG5cbi5tZWRpYS1saXN0IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEVhc2lseSB1c2FibGUgb24gPHVsPiwgPG9sPiwgb3IgPGRpdj4uXG5cbi5saXN0LWdyb3VwIHtcbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuXG4vLyBJbmRpdmlkdWFsIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2Ugb24gYGxpYHMgb3IgYGRpdmBzIHdpdGhpbiB0aGUgYC5saXN0LWdyb3VwYCBwYXJlbnQuXG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAuNzVyZW0gMS4yNXJlbTtcbiAgLy8gUGxhY2UgdGhlIGJvcmRlciBvbiB0aGUgbGlzdCBpdGVtcyBhbmQgbmVnYXRpdmUgbWFyZ2luIHVwIGZvciBiZXR0ZXIgc3R5bGluZ1xuICBtYXJnaW4tYm90dG9tOiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yO1xuXG4gIC8vIFJvdW5kIHRoZSBmaXJzdCBhbmQgbGFzdCBpdGVtc1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aCAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG5hLmxpc3QtZ3JvdXAtaXRlbSxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0ge1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICRsaXN0LWdyb3VwLWxpbmstY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxufVxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJi5kaXNhYmxlZCB7XG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XG5cbiAgICAgIC8vIEZvcmNlIGNvbG9yIHRvIGluaGVyaXQgZm9yIGN1c3RvbSBjb250ZW50XG4gICAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICAgIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEFjdGl2ZSBjbGFzcyBvbiBpdGVtIGl0c2VsZiwgbm90IHBhcmVudFxuICAmLmFjdGl2ZSB7XG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI7XG5cbiAgICAgIC8vIEZvcmNlIGNvbG9yIHRvIGluaGVyaXQgZm9yIGN1c3RvbSBjb250ZW50XG4gICAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsXG4gICAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiBzbWFsbCxcbiAgICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgICAgICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoc3VjY2VzcywgJHN0YXRlLXN1Y2Nlc3MtYmcsICRzdGF0ZS1zdWNjZXNzLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoaW5mbywgJHN0YXRlLWluZm8tYmcsICRzdGF0ZS1pbmZvLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQod2FybmluZywgJHN0YXRlLXdhcm5pbmctYmcsICRzdGF0ZS13YXJuaW5nLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoZGFuZ2VyLCAkc3RhdGUtZGFuZ2VyLWJnLCAkc3RhdGUtZGFuZ2VyLXRleHQpO1xuXG5cbi8vIEN1c3RvbSBjb250ZW50IG9wdGlvbnNcbi8vXG4vLyBFeHRyYSBjbGFzc2VzIGZvciBjcmVhdGluZyB3ZWxsLWZvcm1hdHRlZCBjb250ZW50IHdpdGhpbiBgLmxpc3QtZ3JvdXAtaXRlbWBzLlxuXG4ubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4ubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgfVxuXG4gIGEubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLmVtYmVkLXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSxcbiAgaWZyYW1lLFxuICBlbWJlZCxcbiAgb2JqZWN0LFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTIxYnk5IHtcbiAgcGFkZGluZy1ib3R0b206IHBlcmNlbnRhZ2UoOSAvIDIxKTtcbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMTZieTkge1xuICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSg5IC8gMTYpO1xufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS00YnkzIHtcbiAgcGFkZGluZy1ib3R0b206IHBlcmNlbnRhZ2UoMyAvIDQpO1xufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0xYnkxIHtcbiAgcGFkZGluZy1ib3R0b206IHBlcmNlbnRhZ2UoMSAvIDEpO1xufVxuIiwiLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICBmb250LXdlaWdodDogJGNsb3NlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgdGV4dC1zaGFkb3c6ICRjbG9zZS10ZXh0LXNoYWRvdztcbiAgb3BhY2l0eTogLjI7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvcGFjaXR5OiAuNTtcbiAgfVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbiIsIi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzaGl0XG5cblxuLy8gS2lsbCB0aGUgc2Nyb2xsIG9uIHRoZSBib2R5XG4ubW9kYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgJi5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSk7XG4gIH1cbiAgJi5pbiAubW9kYWwtZGlhbG9nIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbn1cbi5tb2RhbC1vcGVuIC5tb2RhbCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAxMHB4O1xufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDNweCA5cHggcmdiYSgwLDAsMCwuNSkpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC1iZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWJhY2tkcm9wLWJnO1xuXG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IG9wYWNpdHk6IDA7IH1cbiAgJi5pbiB7IG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OyB9XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgcGFkZGluZzogJG1vZGFsLXRpdGxlLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG4vLyBDbG9zZSBpY29uXG4ubW9kYWwtaGVhZGVyIC5jbG9zZSB7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyAvLyByaWdodCBhbGlnbiBidXR0b25zXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTsgLy8gY2xlYXIgaXQgaW4gY2FzZSBmb2xrcyB1c2UgLnB1bGwtKiBjbGFzc2VzIG9uIGJ1dHRvbnNcblxuICAvLyBQcm9wZXJseSBzcGFjZSBvdXQgYnV0dG9uc1xuICAuYnRuICsgLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gYWNjb3VudCBmb3IgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB3aGljaCBnZXRzIHRoZSBib3R0b20gbWFyZ2luIGxpa2UgYWxsIG90aGVyIGlucHV0c1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIH1cbiAgLy8gYnV0IG92ZXJyaWRlIHRoYXQgZm9yIGJ1dHRvbiBncm91cHNcbiAgLmJ0bi1ncm91cCAuYnRuICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIH1cbiAgLy8gYW5kIG92ZXJyaWRlIGl0IGZvciBibG9jayBidXR0b25zIGFzIHdlbGxcbiAgLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIHdpZHRoOiAkbW9kYWwtbWQ7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG87XG4gIH1cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCA1cHggMTVweCByZ2JhKDAsMCwwLC41KSk7XG4gIH1cblxuICAvLyBNb2RhbCBzaXplc1xuICAubW9kYWwtc20geyB3aWR0aDogJG1vZGFsLXNtOyB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgLm1vZGFsLWxnIHsgd2lkdGg6ICRtb2RhbC1sZzsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5pbiB7IG9wYWNpdHk6ICR0b29sdGlwLW9wYWNpdHk7IH1cblxuICAmLnRvb2x0aXAtdG9wLFxuICAmLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLWJvdHRvbSB7XG4gICAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuXG4gICAgLnRvb2x0aXAtYXJyb3cge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmLnRvb2x0aXAtcmlnaHQsXG4gICYuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtbGVmdCB7XG4gICAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xuXG4gICAgLnRvb2x0aXAtYXJyb3cge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJi50b29sdGlwLWJvdHRvbSxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC10b3Age1xuICAgIHBhZGRpbmc6ICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuXG4gICAgLnRvb2x0aXAtYXJyb3cge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmLnRvb2x0aXAtbGVmdCxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1yaWdodCB7XG4gICAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogLTNweDtcblxuICAgIC50b29sdGlwLWFycm93IHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoIDAgJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6IDNweCA4cHg7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIEFycm93c1xuLnRvb2x0aXAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuIiwiLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6IDFweDtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCA1cHggMTBweCByZ2JhKDAsMCwwLC4yKSk7XG5cblxuICAvLyBQb3BvdmVyIGRpcmVjdGlvbnNcblxuICAmLnBvcG92ZXItdG9wLFxuICAmLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLWJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogLSRwb3BvdmVyLWFycm93LXdpZHRoO1xuXG4gICAgLnBvcG92ZXItYXJyb3cge1xuICAgICAgYm90dG9tOiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3R0b206IDFweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5wb3BvdmVyLXJpZ2h0LFxuICAmLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcblxuICAgIC5wb3BvdmVyLWFycm93IHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICAgbWFyZ2luLXRvcDogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3R0b206IC0kcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICAgICAgbGVmdDogMXB4O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnBvcG92ZXItYm90dG9tLFxuICAmLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG5cbiAgICAucG9wb3Zlci1hcnJvdyB7XG4gICAgICB0b3A6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogMXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnBvcG92ZXItbGVmdCxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDtcblxuICAgIC5wb3BvdmVyLWFycm93IHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIG1hcmdpbi10b3A6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDFweDtcbiAgICAgICAgYm90dG9tOiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuLnBvcG92ZXItdGl0bGUge1xuICBwYWRkaW5nOiA4cHggMTRweDtcbiAgbWFyZ2luOiAwOyAvLyByZXNldCBoZWFkaW5nIG1hcmdpblxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItdGl0bGUtYmc7XG4gIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCBkYXJrZW4oJHBvcG92ZXItdGl0bGUtYmcsIDUlKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygoJGJvcmRlci1yYWRpdXMtbGcgLSAxKSAoJGJvcmRlci1yYWRpdXMtbGcgLSAxKSAwIDApO1xufVxuXG4ucG9wb3Zlci1jb250ZW50IHtcbiAgcGFkZGluZzogOXB4IDE0cHg7XG59XG5cblxuLy8gQXJyb3dzXG4vL1xuLy8gLnBvcG92ZXItYXJyb3cgaXMgb3V0ZXIsIC5wb3BvdmVyLWFycm93OjphZnRlciBpcyBpbm5lclxuXG4ucG9wb3Zlci1hcnJvdyB7XG4gICYsXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgfVxufVxuLnBvcG92ZXItYXJyb3cge1xuICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xufVxuLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbn1cbiIsIi8vXG4vLyBGbG9hdHNcbi8vXG5cbi5jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi5jZW50ZXItYmxvY2sge1xuICBAaW5jbHVkZSBjZW50ZXItYmxvY2soKTtcbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgIC5wdWxsLSN7JGJyZWFrcG9pbnR9LWxlZnQge1xuICAgICAgQGluY2x1ZGUgcHVsbC1sZWZ0KCk7XG4gICAgfVxuICAgIC5wdWxsLSN7JGJyZWFrcG9pbnR9LXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIHB1bGwtcmlnaHQoKTtcbiAgICB9XG4gICAgLnB1bGwtI3skYnJlYWtwb2ludH0tbm9uZSB7XG4gICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBTY3JlZW5yZWFkZXJzXG4vL1xuXG4uc3Itb25seSB7XG4gIEBpbmNsdWRlIHNyLW9ubHkoKTtcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGUoKTtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlKCk7XG59XG5cblxuLy9cbi8vIFRleHRcbi8vXG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICAgICAgICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtbm93cmFwICAgICAgICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXRydW5jYXRlICAgICAgIHsgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTsgfVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgLnRleHQtI3skYnJlYWtwb2ludH0tbGVmdCAgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQtI3skYnJlYWtwb2ludH0tcmlnaHQgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0LSN7JGJyZWFrcG9pbnR9LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLy8gVHJhbnNmb3JtYXRpb25cblxuLnRleHQtbG93ZXJjYXNlICAgICAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXVwcGVyY2FzZSAgICAgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC1jYXBpdGFsaXplICAgICB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7IH1cblxuLy8gV2VpZ2h0IGFuZCBpdGFsaWNzXG5cbi5mb250LXdlaWdodC1ub3JtYWwgIHsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGQgICAgeyBmb250LXdlaWdodDogYm9sZDsgfVxuLmZvbnQtaXRhbGljICAgICAgICAgeyBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcblxuLnRleHQtbXV0ZWQge1xuICBjb2xvcjogJHRleHQtbXV0ZWQ7XG59XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtcHJpbWFyeScsICRicmFuZC1wcmltYXJ5KTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1zdWNjZXNzJywgJGJyYW5kLXN1Y2Nlc3MpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LWluZm8nLCAkYnJhbmQtaW5mbyk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtd2FybmluZycsICRicmFuZC13YXJuaW5nKTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1kYW5nZXInLCAkYnJhbmQtZGFuZ2VyKTtcbiIsIi8vIENlbnRlci1hbGlnbiBhIGJsb2NrIGxldmVsIGVsZW1lbnRcblxuQG1peGluIGNlbnRlci1ibG9jaygpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4iLCJAbWl4aW4gcHVsbC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cbkBtaXhpbiBwdWxsLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cDovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuXG5AbWl4aW4gc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgfVxufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG5AbWl4aW4gdGV4dC1oaWRlKCkge1xuICBmb250OiBcIjAvMFwiIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn0iLCIvLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuLy9cblxuLy8gSW52ZXJzZVxuLy8gVE9ETzogcmVkbyB0aGlzIGFzIGEgcHJvcGVyIGNsYXNzXG4uYmctaW52ZXJzZSB7XG4gIGNvbG9yOiAkZ3JheS1saWdodGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrO1xufVxuXG4uYmctZmFkZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodGVzdDtcbn1cblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLXByaW1hcnknLCAkYnJhbmQtcHJpbWFyeSk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1zdWNjZXNzJywgJGJyYW5kLXN1Y2Nlc3MpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctaW5mbycsICRicmFuZC1pbmZvKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLXdhcm5pbmcnLCAkYnJhbmQtd2FybmluZyk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1kYW5nZXInLCAkYnJhbmQtZGFuZ2VyKTtcbiIsIi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBNYXJnaW4gYW5kIFBhZGRpbmdcblxuLm0teC1hdXRvIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAgYXV0byAhaW1wb3J0YW50O1xufVxuXG5AZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XG4gIEBlYWNoICRzaXplLCAkbGVuZ3RocyBpbiAkc3BhY2VycyB7XG4gICAgJGxlbmd0aC14OiAgIG1hcC1nZXQoJGxlbmd0aHMsIHgpO1xuICAgICRsZW5ndGgteTogICBtYXAtZ2V0KCRsZW5ndGhzLCB5KTtcblxuICAgIC4jeyRhYmJyZXZ9LWEtI3skc2l6ZX0geyAjeyRwcm9wfTogICAgICAgICRsZW5ndGgteSAkbGVuZ3RoLXggIWltcG9ydGFudDsgfSAvLyBhID0gQWxsIHNpZGVzXG4gICAgLiN7JGFiYnJldn0tdC0jeyRzaXplfSB7ICN7JHByb3B9LXRvcDogICAgJGxlbmd0aC15ICFpbXBvcnRhbnQ7IH1cbiAgICAuI3skYWJicmV2fS1yLSN7JHNpemV9IHsgI3skcHJvcH0tcmlnaHQ6ICAkbGVuZ3RoLXggIWltcG9ydGFudDsgfVxuICAgIC4jeyRhYmJyZXZ9LWItI3skc2l6ZX0geyAjeyRwcm9wfS1ib3R0b206ICRsZW5ndGgteSAhaW1wb3J0YW50OyB9XG4gICAgLiN7JGFiYnJldn0tbC0jeyRzaXplfSB7ICN7JHByb3B9LWxlZnQ6ICAgJGxlbmd0aC14ICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIEF4ZXNcbiAgICAuI3skYWJicmV2fS14LSN7JHNpemV9IHtcbiAgICAgICN7JHByb3B9LXJpZ2h0OiAgJGxlbmd0aC14ICFpbXBvcnRhbnQ7XG4gICAgICAjeyRwcm9wfS1sZWZ0OiAgICRsZW5ndGgteCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuI3skYWJicmV2fS15LSN7JHNpemV9IHtcbiAgICAgICN7JHByb3B9LXRvcDogICAgJGxlbmd0aC15ICFpbXBvcnRhbnQ7XG4gICAgICAjeyRwcm9wfS1ib3R0b206ICRsZW5ndGgteSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBQb3NpdGlvbmluZ1xuXG4ucG9zLWYtdCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1uYXZiYXItZml4ZWQ7XG59XG4iLCIvL1xuLy8gUmVzcG9uc2l2ZSB1dGlsaXRpZXNcbi8vXG5cbkBlYWNoICRicCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAuaGlkZGVuLSN7JGJwfS11cCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnApIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLmhpZGRlbi0jeyRicH0tZG93biB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFByaW50IHV0aWxpdGllc1xuLy9cbi8vIE1lZGlhIHF1ZXJpZXMgYXJlIHBsYWNlZCBvbiB0aGUgaW5zaWRlIHRvIGJlIG1peGluLWZyaWVuZGx5LlxuXG4udmlzaWJsZS1wcmludC1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1wcmludC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaGlkZGVuLXByaW50IHtcbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIENsZWFyZml4XG4vLyBLbm93biBzdXBwb3J0OiBGaXJlZm94IDMuNSssIFNhZmFyaSA0KywgQ2hyb21lLCBPcGVyYSA5KywgSUUgNitcblxuLyogSG93IHVzZTpcbi5jb250YWluZXItd2l0aC1mbG9hdGVkLWNoaWxkcmVuIHtcbiAgQGV4dGVuZCAlY2xlYXJmaXg7XG59XG4qL1xuXG4lY2xlYXJmaXgge1xuICAqem9vbTogMTtcbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4iLCIubWFpbiB7XG4gIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL21haW4tYmcuanBnJykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwYWRkaW5nLXRvcDogMTBlbTtcbiAgcGFkZGluZy1ib3R0b206IDVlbTtcbiAgY29sb3I6ICNmZmY7XG5cbiAgJi1ibG9jayB7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAmX19pbmZvIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgcGFkZGluZy10b3A6IDJlbTtcbiAgICB9XG4gIH1cblxuICAmLWZvcm0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMzAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBwYWRkaW5nOiAyZW0gMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICAmX19pbmZvIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjFlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIG1hcmdpbjogMWVtIGF1dG87XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICRiYXNlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3I7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYXNlLWNvbG9yLCAxMCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLm1haW4ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xuICAgICYtYmxvY2sge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICZfX2luZm8ge1xuICAgICAgICBmb250LXNpemU6IDEuNmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgICZfX3RleHQge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1mb3JtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTgwMHB4KSB7XG4gIC5tYWluIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVlbTtcbiAgfVxufVxuIiwiLmZvcm0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvcjtcbiAgcGFkZGluZzogM2VtIDA7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci10b3A6IC4zZW0gc29saWQgI2ZmZjtcblxuICAmLWJsb2NrIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgJl9fdGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0ZW07XG4gICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAmX19idG4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDFlbSAyZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5mb3JtIHtcbiAgICAmLWJsb2NrIHtcbiAgICAgICZfX3RleHQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwIDJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmhlYWRlciB7XG4gIHBhZGRpbmc6IDJlbSAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDUwMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJi1jb2xsYXBzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMXM7XG5cbiAgICAuaGVhZGVyIHtcblxuICAgICAgJl9fbG9nbyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2xvZ28tY29sbGFwc2UucG5nJykgbm8tcmVwZWF0O1xuICAgICAgfVxuXG4gICAgICAmX19saSB7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fcGhvbmUge1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJGJhc2UtY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19sb2dvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aWR0aDogMjAlO1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2xvZ28ucG5nJykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBoZWlnaHQ6IDNlbTtcbiAgICBsZWZ0OiAyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJl9fdWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHdpZHRoOiA2MCU7XG4gIH1cblxuICAmX19saSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgfVxuXG4gICZfX3Bob25lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAuMmVtO1xuICAgICAgICBsZWZ0OiAtMmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9waG9uZS5wbmcnKSBuby1yZXBlYXQ7XG4gICAgICAgIHdpZHRoOiAyM3B4O1xuICAgICAgICBoZWlnaHQ6IDIzcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbGluayB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVlbTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRiYXNlLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlciB7XG4gICAgJl9fbG9nbyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX191bCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19waG9uZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgJi1jb2xsYXBzZSB7XG4gICAgICAuaGVhZGVyX19sb2dvIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbG9nbyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgJl9fdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5vYmplY3RzIHtcbiAgJi1ibG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLm9iamVjdHMtYmxvY2tfaG92ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX2hvdmVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMzAlO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC41KTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5vYmplY3RzIHtcbiAgICAmLWJsb2NrIHtcbiAgICAgICZfaG92ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tb2RhbCB7XG4gIHRvcDogMjAlO1xuICB6LWluZGV4OiA5OTk5OTk5OSAhaW1wb3J0YW50O1xuXG4gICYtY29udGVudCB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuXG4gICYtZGlhbG9nIHtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgei1pbmRleDogOTk5OTk5OTtcbiAgfVxuXG4gICZfX21haW4ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBsaW5lLWhlaWdodDogMmVtO1xuICB9XG5cbiAgJl9fc3VibWFpbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctbGVmdDogM2VtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIH1cbn1cblxuLm1vZGFsX19vcmRlci1yaWdodF9pbnB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgYm9yZGVyOiAxcHggc29saWQgJGJhc2UtY29sb3I7XG4gIHdpZHRoOiA2MCU7XG4gIGNvbG9yOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiA1MHB4O1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgJGJhc2UtY29sb3I7XG4gIH1cbn1cblxuLm1vZGFsX19vcmRlci1yaWdodF9pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4ubW9kYWxfX29yZGVyLXJpZ2h0X2J0biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJvcmRlcjogMXB4IHNvbGlkICRiYXNlLWNvbG9yO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yO1xuICB3aWR0aDogNjAlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLm1vZGFsX19vcmRlci1yaWdodF90ZXh0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzAwMDtcblxuICBzcGFuIHtcbiAgICBjb2xvcjogJGJhc2UtY29sb3I7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLm1vZGFsX19vcmRlci1yaWdodF9idG4ge1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cblxuICAubW9kYWxfX29yZGVyLXJpZ2h0X2lucHV0IHtcbiAgICB3aWR0aDogODAlO1xuICB9XG5cbiAgLm1vZGFsIHtcbiAgICB0b3A6IDIwJTtcbiAgfVxuXG4gIC5tb2RhbF9fb3JkZXItcmlnaHRfdGV4dCB7XG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi5zZXJ2aWNlcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICAmLWJsb2NrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG5cbiAgICAmX19pbWcge1xuICAgICAgaGVpZ2h0OiAyNDVweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAmXzEge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9zZXJ2aWNlcy0xLmpwZycpIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIH1cblxuICAgICAgJl8yIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvc2VydmljZXMtMi5qcGcnKSBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICB9XG5cbiAgICAgICZfMyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL3NlcnZpY2VzLTMuanBnJykgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgfVxuXG4gICAgICAmXzQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9zZXJ2aWNlcy00LmpwZycpIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIH1cblxuICAgICAgJl81IHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvc2VydmljZXMtNS5qcGcnKSBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICB9XG5cbiAgICAgICZfNiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL3NlcnZpY2VzLTYuanBnJykgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2luZm8ge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgIG1hcmdpbjogMS41ZW0gMDtcbiAgICB9XG5cbiAgICAmX19idG4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3I7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgICAgIHBhZGRpbmc6IDFlbSAyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAzZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhc2UtY29sb3IsIDEwJSk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNhcm91c2VsLWluZGljYXRvcnMge1xuICAgIG1hcmdpbi10b3A6IDRlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBsaSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkYmFzZS1jb2xvcjtcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgbWFyZ2luOiAwIC4yZW07XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuXG4gICAgLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvcjtcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLnZhY2FuY3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL3ZhY2FuY3ktYmcuanBnJykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gIC5jaGVja2JveC1ibG9jayB7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIGZvcm0ge1xuICAgIHotaW5kZXg6IDE1MDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAubGVhZF9mb3JtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHdpZHRoOiAzNzBweDtcbiAgICBwYWRkaW5nOiAyZW0gMDtcbiAgfVxuXG4gICZfX2J0biB7XG4gICAgd2lkdGg6IDE1ZW07XG4gICAgaGVpZ2h0OiAzZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3I7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICB9XG5cbiAgJl9fbWFpbiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgfVxuXG4gICZfX2luZm8ge1xuICAgIHBhZGRpbmctdG9wOiAyZW07XG4gICAgd2lkdGg6IDcwJTtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICRiYXNlLWNvbG9yO1xuICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmluZm8ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuM2VtO1xuICB9XG5cbiAgLmNoZWNrYm94LWJsb2NrIHtcbiAgICBtYXJnaW4tbGVmdDogMi44ZW07XG4gIH1cblxuICBpbnB1dFt0eXBlPWNoZWNrYm94XSArIGxhYmVsIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9jaGVja2JveC5wbmcnKTtcbiAgfVxuXG4gIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWwgc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9jaGVja2JveC1hY3RpdmUucG5nJyk7XG4gIH1cblxuICAmX19pbnB1dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDE1ZW07XG4gICAgaGVpZ2h0OiAzZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMyk7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgei1pbmRleDogMTA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgJGJhc2UtY29sb3I7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG4iLCIud2h5IHtcbiAgJi1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tYm90dG9tOiA0ZW07XG4gICAgcGFkZGluZy1sZWZ0OiA0ZW07XG5cbiAgICAmX19pY29uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgJl9fcmlnaHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xuICAgIH1cblxuICAgICZfX21haW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLndoeSB7XG4gICAgJi1ibG9jayB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogMWVtO1xuICAgIH1cbiAgfVxufVxuIiwiLndvcmsge1xuICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9ob3ctYmcuanBnJykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwYWRkaW5nLWJvdHRvbTogNGVtO1xuXG4gIC5tYWludGV4dCB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICAmLWJsb2NrIHtcbiAgICBpbWcge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmX19pbmZvIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IDEyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAyZW07XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMWVtO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtMmVtO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5sYXN0IHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX21haW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMmVtO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLndvcmsge1xuICAgICYtYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuXG4gICAgICAmX19pbmZvIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIHBhZGRpbmc6IDNlbSAwO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXRvcDogLjNlbSBzb2xpZCAjZmZmO1xuXG4gICYtbGVmdCB7XG4gICAgJl9fdGV4dCB7XG4gICAgICBwYWRkaW5nLXRvcDogMWVtO1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgfVxuICB9XG5cbiAgJl9fbWFpbiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZy1ib3R0b206IDJlbTtcbiAgfVxuXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgbGkge1xuICAgICAgcGFkZGluZy10b3A6IC41ZW07XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGJhc2UtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1yaWdodCB7XG4gICAgJl9faW5mbyB7XG4gICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgcGFkZGluZy10b3A6IC41ZW07XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJGJhc2UtY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ== */
