@charset "UTF-8";
/*!
 * Bootstrap v4.1.3 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
:root {
  --blue: steelblue;
  --indigo: #6610f2;
  --purple: mediumpurple;
  --pink: lightcoral;
  --red: #e54343;
  --orange: #ffa800;
  --yellow: gold;
  --green: limegreen;
  --teal: darkturquoise;
  --cyan: #17a2b8;
  --white: #fff;
  --gray: #6c757d;
  --gray-dark: #343a40;
  --primary: #009c9e;
  --secondary: lightslategray;
  --success: #3c763d;
  --info: #31708f;
  --warning: #8a6d3b;
  --danger: #a94442;
  --light: #b6b6b6;
  --dark: #161616;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --font-family-sans-serif: Raleway, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

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

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

@-ms-viewport {
  width: device-width;
}
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}

body {
  margin: 0;
  font-family: Raleway, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.5;
  color: #b6b6b6;
  text-align: left;
  background-color: #161616;
}

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

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

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

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

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
}

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: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

dfn {
  font-style: italic;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: #009c9e;
  text-decoration: none;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}
a:hover {
  color: #005052;
  text-decoration: none;
}

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([tabindex]):focus {
  outline: 0;
}

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}

figure {
  margin: 0 0 1rem;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

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

th {
  text-align: inherit;
}

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

button {
  border-radius: 0;
}

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

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

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

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

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

input[type=date],
input[type=time],
input[type=datetime-local],
input[type=month] {
  -webkit-appearance: listbox;
}

textarea {
  overflow: auto;
  resize: vertical;
}

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

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

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

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

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

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[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: 100;
  line-height: 1.2;
  color: inherit;
}

h1, .h1 {
  font-size: 4.5rem;
}

h2, .h2 {
  font-size: 2.5rem;
}

h3, .h3 {
  font-size: 2rem;
}

h4, .h4 {
  font-size: 1.5rem;
}

h5, .h5 {
  font-size: 1.25rem;
}

h6, .h6 {
  font-size: 1rem;
}

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

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

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

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

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

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

small,
.small,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline .ccm-conversation-message-date {
  font-size: 80%;
  font-weight: 400;
}

mark,
.mark {
  padding: 0.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: 0.5rem;
}

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

.blockquote, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-body {
  margin-bottom: 1rem;
  font-size: 1.25rem;
}

.blockquote-footer {
  display: block;
  font-size: 80%;
  color: #6c757d;
}
.blockquote-footer::before {
  content: "— ";
}

.ccm-page main section:not(#page-header) > div:empty:not(.googleMapCanvas) {
  display: none;
}
.ccm-page main section:not(#page-header) > div:not(:empty):not(.row) {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.ccm-page main .narrow-content {
  padding: 0 0rem;
}
@media (min-width: 576px) {
  .ccm-page main .narrow-content {
    padding: 0 0rem;
  }
}
@media (min-width: 768px) {
  .ccm-page main .narrow-content {
    padding: 0 5rem;
  }
}
@media (min-width: 992px) {
  .ccm-page main .narrow-content {
    padding: 0 16rem;
  }
}

.uppercase {
  text-transform: uppercase;
}

.bold {
  font-weight: bold;
}

.white {
  color: #fff;
}

.gold {
  color: gold;
}

.silver {
  color: silver;
}

.bronze {
  color: #cd7f32;
}

.title {
  text-transform: uppercase;
  text-align: center;
  display: block;
  color: #fff;
  padding-bottom: 50px;
}
.title:after {
  position: relative;
  content: "";
  bottom: -25px;
  width: 30px;
  height: 1px;
  margin: 0 auto;
  display: block;
  background-color: white;
}

.subtitle {
  font-family: Pacifico;
  text-align: center;
  display: block;
  color: #b6b6b6;
}

.success {
  color: #3c763d;
}

.danger {
  color: #a94442;
}

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.7.0
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2018 Daniel Eden
 */
@-webkit-keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
@keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}

@-webkit-keyframes flash {
  from, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
@keyframes flash {
  from, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
.flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
}

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand;
}

@-webkit-keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
@keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
.shake {
  -webkit-animation-name: shake;
  animation-name: shake;
}

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.headShake {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
  animation-name: headShake;
}

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
.swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}

@-webkit-keyframes jello {
  from, 11.1%, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
@keyframes jello {
  from, 11.1%, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
.jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  transform-origin: center;
}

@-webkit-keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.heartBeat {
  -webkit-animation-name: heartBeat;
  animation-name: heartBeat;
  -webkit-animation-duration: 1.3s;
  animation-duration: 1.3s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}

@-webkit-keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.bounceIn {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
.bounceOut {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
@keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
}

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
.flipOutX {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
.flipOutY {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
}

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}

@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
}

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
}

@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
}

@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
}

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-name: hinge;
  animation-name: hinge;
}

@-webkit-keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.jackInTheBox {
  -webkit-animation-name: jackInTheBox;
  animation-name: jackInTheBox;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
@keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
}

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown;
}

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft;
}

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight;
}

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp;
}

@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
@keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut;
}

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
}

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}
@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}
.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft;
}

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}
@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}
.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight;
}

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp;
}

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown;
}

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}

@-webkit-keyframes jump {
  0%, 20%, 80%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}
@keyframes jump {
  0%, 20%, 80%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}
.jump {
  -webkit-animation: jump 2s infinite ease-in-out;
  animation: jump 2s infinite ease-in-out;
}

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.animated.delay-1 {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.animated.delay-2 {
  -webkit-animation-delay: 1.2s;
  animation-delay: 1.2s;
}

.animated.delay-3 {
  -webkit-animation-delay: 1.4s;
  animation-delay: 1.4s;
}

.animated.delay-4 {
  -webkit-animation-delay: 1.6s;
  animation-delay: 1.6s;
}

.animated.delay-5 {
  -webkit-animation-delay: 1.8s;
  animation-delay: 1.8s;
}

.animated.fast {
  -webkit-animation-duration: 800ms;
  animation-duration: 800ms;
}

.animated.faster {
  -webkit-animation-duration: 500ms;
  animation-duration: 500ms;
}

.animated.slow {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

.animated.slower {
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
}

@media (prefers-reduced-motion) {
  .animated {
    -webkit-animation: unset !important;
    animation: unset !important;
    -webkit-transition: none !important;
    transition: none !important;
  }
}
.img-circle {
  border-radius: 50%;
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

.img-thumbnail {
  padding: 0.25rem;
  background-color: #161616;
  border: 1px solid #dee2e6;
  border-radius: 0.125rem;
  max-width: 100%;
  height: auto;
}

.figure {
  display: inline-block;
}

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

.figure-caption {
  font-size: 90%;
  color: #6c757d;
}

ol.arrow, ul.arrow {
  padding-left: 0;
  list-style: none;
}
ol.arrow li, ul.arrow li {
  padding: 0;
  border-bottom: 1px solid #232323;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
ol.arrow li a, ul.arrow li a {
  padding: 10px 0;
  display: block;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  display: block;
}
ol.arrow li a:before, ul.arrow li a:before {
  content: "\f105";
  margin-left: 0;
  margin-right: 5px;
  color: #959494;
  top: 0;
  left: 0;
  position: relative;
  font-family: "FontAwesome";
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
ol.arrow li a:hover, ul.arrow li a:hover {
  background-color: #232323;
  color: white;
  padding-left: 3px;
  text-decoration: none;
}
ol.arrow li a:hover:before, ul.arrow li a:hover:before {
  left: 3px;
}
ol.arrow li:last-child, ul.arrow li:last-child {
  border-bottom: none;
}
ol.no-bullets, ul.no-bullets {
  list-style: none;
  padding-left: 0;
}

ol li {
  padding-bottom: 6px;
}
ol li::marker {
  font-size: 1.5rem;
  font-weight: 100;
}

ul {
  list-style: none;
  padding-left: 0;
}

code {
  font-size: 87.5%;
  color: lightcoral;
  word-break: break-word;
}
a > code {
  color: inherit;
}

kbd {
  padding: 0.2rem 0.4rem;
  font-size: 87.5%;
  color: #fff;
  background-color: #212529;
  border-radius: 0.125rem;
}
kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: 700;
}

pre {
  display: block;
  font-size: 87.5%;
  color: #6c757d;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

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

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}

.container-fluid {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}
.no-gutters > .col,
.no-gutters > [class*=col-] {
  padding-right: 0;
  padding-left: 0;
}

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

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: none;
}

.col-1 {
  flex: 0 0 8.3333333333%;
  max-width: 8.3333333333%;
}

.col-2 {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}

.col-4 {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.col-5 {
  flex: 0 0 41.6666666667%;
  max-width: 41.6666666667%;
}

.col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

.col-7 {
  flex: 0 0 58.3333333333%;
  max-width: 58.3333333333%;
}

.col-8 {
  flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%;
}

.col-9 {
  flex: 0 0 75%;
  max-width: 75%;
}

.col-10 {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
}

.col-11 {
  flex: 0 0 91.6666666667%;
  max-width: 91.6666666667%;
}

.col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

.order-first {
  order: -1;
}

.order-last {
  order: 13;
}

.order-0 {
  order: 0;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.order-5 {
  order: 5;
}

.order-6 {
  order: 6;
}

.order-7 {
  order: 7;
}

.order-8 {
  order: 8;
}

.order-9 {
  order: 9;
}

.order-10 {
  order: 10;
}

.order-11 {
  order: 11;
}

.order-12 {
  order: 12;
}

.offset-1 {
  margin-left: 8.3333333333%;
}

.offset-2 {
  margin-left: 16.6666666667%;
}

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

.offset-4 {
  margin-left: 33.3333333333%;
}

.offset-5 {
  margin-left: 41.6666666667%;
}

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

.offset-7 {
  margin-left: 58.3333333333%;
}

.offset-8 {
  margin-left: 66.6666666667%;
}

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

.offset-10 {
  margin-left: 83.3333333333%;
}

.offset-11 {
  margin-left: 91.6666666667%;
}

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .col-sm-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-sm-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-sm-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-sm-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-sm-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-sm-first {
    order: -1;
  }
  .order-sm-last {
    order: 13;
  }
  .order-sm-0 {
    order: 0;
  }
  .order-sm-1 {
    order: 1;
  }
  .order-sm-2 {
    order: 2;
  }
  .order-sm-3 {
    order: 3;
  }
  .order-sm-4 {
    order: 4;
  }
  .order-sm-5 {
    order: 5;
  }
  .order-sm-6 {
    order: 6;
  }
  .order-sm-7 {
    order: 7;
  }
  .order-sm-8 {
    order: 8;
  }
  .order-sm-9 {
    order: 9;
  }
  .order-sm-10 {
    order: 10;
  }
  .order-sm-11 {
    order: 11;
  }
  .order-sm-12 {
    order: 12;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.3333333333%;
  }
  .offset-sm-2 {
    margin-left: 16.6666666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.3333333333%;
  }
  .offset-sm-5 {
    margin-left: 41.6666666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.3333333333%;
  }
  .offset-sm-8 {
    margin-left: 66.6666666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.3333333333%;
  }
  .offset-sm-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .col-md-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-md-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-md-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-md-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-md-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-md-first {
    order: -1;
  }
  .order-md-last {
    order: 13;
  }
  .order-md-0 {
    order: 0;
  }
  .order-md-1 {
    order: 1;
  }
  .order-md-2 {
    order: 2;
  }
  .order-md-3 {
    order: 3;
  }
  .order-md-4 {
    order: 4;
  }
  .order-md-5 {
    order: 5;
  }
  .order-md-6 {
    order: 6;
  }
  .order-md-7 {
    order: 7;
  }
  .order-md-8 {
    order: 8;
  }
  .order-md-9 {
    order: 9;
  }
  .order-md-10 {
    order: 10;
  }
  .order-md-11 {
    order: 11;
  }
  .order-md-12 {
    order: 12;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.3333333333%;
  }
  .offset-md-2 {
    margin-left: 16.6666666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.3333333333%;
  }
  .offset-md-5 {
    margin-left: 41.6666666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.3333333333%;
  }
  .offset-md-8 {
    margin-left: 66.6666666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.3333333333%;
  }
  .offset-md-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .col-lg-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-lg-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-lg-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-lg-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-lg-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-lg-first {
    order: -1;
  }
  .order-lg-last {
    order: 13;
  }
  .order-lg-0 {
    order: 0;
  }
  .order-lg-1 {
    order: 1;
  }
  .order-lg-2 {
    order: 2;
  }
  .order-lg-3 {
    order: 3;
  }
  .order-lg-4 {
    order: 4;
  }
  .order-lg-5 {
    order: 5;
  }
  .order-lg-6 {
    order: 6;
  }
  .order-lg-7 {
    order: 7;
  }
  .order-lg-8 {
    order: 8;
  }
  .order-lg-9 {
    order: 9;
  }
  .order-lg-10 {
    order: 10;
  }
  .order-lg-11 {
    order: 11;
  }
  .order-lg-12 {
    order: 12;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.3333333333%;
  }
  .offset-lg-2 {
    margin-left: 16.6666666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.3333333333%;
  }
  .offset-lg-5 {
    margin-left: 41.6666666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.3333333333%;
  }
  .offset-lg-8 {
    margin-left: 66.6666666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.3333333333%;
  }
  .offset-lg-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .col-xl-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-xl-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-xl-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-xl-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-xl-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-xl-first {
    order: -1;
  }
  .order-xl-last {
    order: 13;
  }
  .order-xl-0 {
    order: 0;
  }
  .order-xl-1 {
    order: 1;
  }
  .order-xl-2 {
    order: 2;
  }
  .order-xl-3 {
    order: 3;
  }
  .order-xl-4 {
    order: 4;
  }
  .order-xl-5 {
    order: 5;
  }
  .order-xl-6 {
    order: 6;
  }
  .order-xl-7 {
    order: 7;
  }
  .order-xl-8 {
    order: 8;
  }
  .order-xl-9 {
    order: 9;
  }
  .order-xl-10 {
    order: 10;
  }
  .order-xl-11 {
    order: 11;
  }
  .order-xl-12 {
    order: 12;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.3333333333%;
  }
  .offset-xl-2 {
    margin-left: 16.6666666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.3333333333%;
  }
  .offset-xl-5 {
    margin-left: 41.6666666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.3333333333%;
  }
  .offset-xl-8 {
    margin-left: 66.6666666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.3333333333%;
  }
  .offset-xl-11 {
    margin-left: 91.6666666667%;
  }
}
.table {
  width: 100%;
  margin-bottom: 1rem;
  background-color: transparent;
}
.table th,
.table td {
  padding: 0.75rem;
  vertical-align: top;
  border-top: 1px solid #dee2e6;
}
.table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #dee2e6;
}
.table tbody + tbody {
  border-top: 2px solid #dee2e6;
}
.table .table {
  background-color: #161616;
}

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

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

.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
  border: 0;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}

.table-hover tbody tr:hover {
  background-color: rgba(0, 0, 0, 0.075);
}

.table-primary,
.table-primary > th,
.table-primary > td {
  background-color: #b8e3e4;
}

.table-hover .table-primary:hover {
  background-color: #a6dcdd;
}
.table-hover .table-primary:hover > td,
.table-hover .table-primary:hover > th {
  background-color: #a6dcdd;
}

.table-secondary,
.table-secondary > th,
.table-secondary > td {
  background-color: #d9dee2;
}

.table-hover .table-secondary:hover {
  background-color: #cbd1d7;
}
.table-hover .table-secondary:hover > td,
.table-hover .table-secondary:hover > th {
  background-color: #cbd1d7;
}

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

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

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

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

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

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

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

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

.table-light,
.table-light > th,
.table-light > td {
  background-color: #ebebeb;
}

.table-hover .table-light:hover {
  background-color: #dedede;
}
.table-hover .table-light:hover > td,
.table-hover .table-light:hover > th {
  background-color: #dedede;
}

.table-dark,
.table-dark > th,
.table-dark > td {
  background-color: #bebebe;
}

.table-hover .table-dark:hover {
  background-color: #b1b1b1;
}
.table-hover .table-dark:hover > td,
.table-hover .table-dark:hover > th {
  background-color: #b1b1b1;
}

.table-active,
.table-active > th,
.table-active > td {
  background-color: rgba(0, 0, 0, 0.075);
}

.table-hover .table-active:hover {
  background-color: rgba(0, 0, 0, 0.075);
}
.table-hover .table-active:hover > td,
.table-hover .table-active:hover > th {
  background-color: rgba(0, 0, 0, 0.075);
}

.table .thead-dark th {
  color: #161616;
  background-color: #212529;
  border-color: #32383e;
}
.table .thead-light th {
  color: #495057;
  background-color: #e9ecef;
  border-color: #dee2e6;
}

.table-dark {
  color: #161616;
  background-color: #212529;
}
.table-dark th,
.table-dark td,
.table-dark thead th {
  border-color: #32383e;
}
.table-dark.table-bordered {
  border: 0;
}
.table-dark.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.05);
}
.table-dark.table-hover tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.075);
}

@media (max-width: 575.98px) {
  .table-responsive-sm {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
  .table-responsive-sm > .table-bordered {
    border: 0;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
  .table-responsive-md > .table-bordered {
    border: 0;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
  .table-responsive-lg > .table-bordered {
    border: 0;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
  .table-responsive-xl > .table-bordered {
    border: 0;
  }
}
.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}
.table-responsive > .table-bordered {
  border: 0;
}

.form-control {
  display: block;
  width: 100%;
  height: calc(2.25rem + 2px);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.125rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media screen and (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}
.form-control:focus {
  color: #495057;
  background-color: #fff;
  border-color: #1ffcff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 156, 158, 0.25);
}
.form-control::placeholder {
  color: #6c757d;
  opacity: 1;
}
.form-control:disabled, .form-control[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}

select.form-control:focus::-ms-value {
  color: #495057;
  background-color: #fff;
}

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

.col-form-label {
  padding-top: calc(0.375rem + 1px);
  padding-bottom: calc(0.375rem + 1px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

.col-form-label-lg {
  padding-top: calc(0.5rem + 1px);
  padding-bottom: calc(0.5rem + 1px);
  font-size: 1.25rem;
  line-height: 1.5;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + 1px);
  padding-bottom: calc(0.25rem + 1px);
  font-size: 0.875rem;
  line-height: 1.5;
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  margin-bottom: 0;
  line-height: 1.5;
  color: #b6b6b6;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  height: calc(1.8125rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.125rem;
}

.form-control-lg {
  height: calc(2.875rem + 2px);
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.125rem;
}

select.form-control[size], select.form-control[multiple] {
  height: auto;
}

textarea.form-control {
  height: auto;
}

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

.form-text {
  display: block;
  margin-top: 0.25rem;
}

.form-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -5px;
  margin-left: -5px;
}
.form-row > .col,
.form-row > [class*=col-] {
  padding-right: 5px;
  padding-left: 5px;
}

.form-check {
  position: relative;
  display: block;
  padding-left: 1.25rem;
}

.form-check-input {
  position: absolute;
  margin-top: 0.3rem;
  margin-left: -1.25rem;
}
.form-check-input:disabled ~ .form-check-label {
  color: #6c757d;
}

.form-check-label {
  margin-bottom: 0;
}

.form-check-inline {
  display: inline-flex;
  align-items: center;
  padding-left: 0;
  margin-right: 0.75rem;
}
.form-check-inline .form-check-input {
  position: static;
  margin-top: 0;
  margin-right: 0.3125rem;
  margin-left: 0;
}

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #3c763d;
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(60, 118, 61, 0.9);
  border-radius: 0.125rem;
}

.was-validated .form-control:valid, .form-control.is-valid,
.was-validated .custom-select:valid,
.custom-select.is-valid {
  border-color: #3c763d;
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus,
.was-validated .custom-select:valid:focus,
.custom-select.is-valid:focus {
  border-color: #3c763d;
  box-shadow: 0 0 0 0.2rem rgba(60, 118, 61, 0.25);
}
.was-validated .form-control:valid ~ .valid-feedback,
.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,
.form-control.is-valid ~ .valid-tooltip,
.was-validated .custom-select:valid ~ .valid-feedback,
.was-validated .custom-select:valid ~ .valid-tooltip,
.custom-select.is-valid ~ .valid-feedback,
.custom-select.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .form-control-file:valid ~ .valid-feedback,
.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,
.form-control-file.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: #3c763d;
}
.was-validated .form-check-input:valid ~ .valid-feedback,
.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,
.form-check-input.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
  color: #3c763d;
}
.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
  background-color: #77ba79;
}
.was-validated .custom-control-input:valid ~ .valid-feedback,
.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,
.custom-control-input.is-valid ~ .valid-tooltip {
  display: block;
}
.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  background-color: #4d984e;
}
.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 1px #161616, 0 0 0 0.2rem rgba(60, 118, 61, 0.25);
}

.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
  border-color: #3c763d;
}
.was-validated .custom-file-input:valid ~ .custom-file-label::after, .custom-file-input.is-valid ~ .custom-file-label::after {
  border-color: inherit;
}
.was-validated .custom-file-input:valid ~ .valid-feedback,
.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,
.custom-file-input.is-valid ~ .valid-tooltip {
  display: block;
}
.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
  box-shadow: 0 0 0 0.2rem rgba(60, 118, 61, 0.25);
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #a94442;
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(169, 68, 66, 0.9);
  border-radius: 0.125rem;
}

.was-validated .form-control:invalid, .form-control.is-invalid,
.was-validated .custom-select:invalid,
.custom-select.is-invalid {
  border-color: #a94442;
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus,
.was-validated .custom-select:invalid:focus,
.custom-select.is-invalid:focus {
  border-color: #a94442;
  box-shadow: 0 0 0 0.2rem rgba(169, 68, 66, 0.25);
}
.was-validated .form-control:invalid ~ .invalid-feedback,
.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,
.form-control.is-invalid ~ .invalid-tooltip,
.was-validated .custom-select:invalid ~ .invalid-feedback,
.was-validated .custom-select:invalid ~ .invalid-tooltip,
.custom-select.is-invalid ~ .invalid-feedback,
.custom-select.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .form-control-file:invalid ~ .invalid-feedback,
.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,
.form-control-file.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: #a94442;
}
.was-validated .form-check-input:invalid ~ .invalid-feedback,
.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,
.form-check-input.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
  color: #a94442;
}
.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
  background-color: #d69695;
}
.was-validated .custom-control-input:invalid ~ .invalid-feedback,
.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,
.custom-control-input.is-invalid ~ .invalid-tooltip {
  display: block;
}
.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  background-color: #c0605e;
}
.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 1px #161616, 0 0 0 0.2rem rgba(169, 68, 66, 0.25);
}

.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
  border-color: #a94442;
}
.was-validated .custom-file-input:invalid ~ .custom-file-label::after, .custom-file-input.is-invalid ~ .custom-file-label::after {
  border-color: inherit;
}
.was-validated .custom-file-input:invalid ~ .invalid-feedback,
.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,
.custom-file-input.is-invalid ~ .invalid-tooltip {
  display: block;
}
.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
  box-shadow: 0 0 0 0.2rem rgba(169, 68, 66, 0.25);
}

.form-inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}
.form-inline .form-check {
  width: 100%;
}
@media (min-width: 576px) {
  .form-inline label {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
  }
  .form-inline .form-group {
    display: flex;
    flex: 0 0 auto;
    flex-flow: row wrap;
    align-items: center;
    margin-bottom: 0;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-plaintext {
    display: inline-block;
  }
  .form-inline .input-group,
.form-inline .custom-select {
    width: auto;
  }
  .form-inline .form-check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding-left: 0;
  }
  .form-inline .form-check-input {
    position: relative;
    margin-top: 0;
    margin-right: 0.25rem;
    margin-left: 0;
  }
  .form-inline .custom-control {
    align-items: center;
    justify-content: center;
  }
  .form-inline .custom-control-label {
    margin-bottom: 0;
  }
}

.btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a {
  display: inline-block;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  user-select: none;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.125rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media screen and (prefers-reduced-motion: reduce) {
  .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a {
    transition: none;
  }
}
.btn:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a:hover, .btn:focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon:focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a:focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a:focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a:focus {
  text-decoration: none;
}
.btn:focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon:focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a:focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a:focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a:focus, .btn.focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .focus.ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a.focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a.focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 156, 158, 0.25);
}
.btn.disabled, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .disabled.ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a.disabled, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a.disabled, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a.disabled, .btn:disabled, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon:disabled, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a:disabled, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a:disabled, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a:disabled {
  opacity: 0.65;
}
.btn:not(:disabled):not(.disabled), .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon:not(:disabled):not(.disabled), .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a:not(:disabled):not(.disabled), .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a:not(:disabled):not(.disabled), .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a:not(:disabled):not(.disabled) {
  cursor: pointer;
}
a.btn.disabled, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls a.disabled.ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a.disabled, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a.disabled, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a.disabled,
fieldset:disabled a.btn,
fieldset:disabled .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls a.ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls fieldset:disabled a.ccm-conversation-message-control-icon,
fieldset:disabled .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls fieldset:disabled ul > li:first-child > a,
fieldset:disabled .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message fieldset:disabled .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a,
fieldset:disabled .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message fieldset:disabled .ccm-conversation-message-username > a {
  pointer-events: none;
}

.btn-primary, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a {
  color: #fff;
  background-color: #009c9e;
  border-color: #009c9e;
}
.btn-primary:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a:hover {
  color: #fff;
  background-color: #007678;
  border-color: #00696b;
}
.btn-primary:focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a:focus, .btn-primary.focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a.focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 156, 158, 0.5);
}
.btn-primary.disabled, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a.disabled, .btn-primary:disabled, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a:disabled {
  color: #fff;
  background-color: #009c9e;
  border-color: #009c9e;
}
.btn-primary:not(:disabled):not(.disabled):active, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.show:first-child > a.dropdown-toggle {
  color: #fff;
  background-color: #00696b;
  border-color: #005d5e;
}
.btn-primary:not(:disabled):not(.disabled):active:focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.show:first-child > a.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 156, 158, 0.5);
}

.btn-secondary {
  color: #fff;
  background-color: lightslategray;
  border-color: lightslategray;
}
.btn-secondary:hover {
  color: #fff;
  background-color: #647586;
  border-color: #5f6f7e;
}
.btn-secondary:focus, .btn-secondary.focus {
  box-shadow: 0 0 0 0.2rem rgba(119, 136, 153, 0.5);
}
.btn-secondary.disabled, .btn-secondary:disabled {
  color: #fff;
  background-color: lightslategray;
  border-color: lightslategray;
}
.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle {
  color: #fff;
  background-color: #5f6f7e;
  border-color: #596877;
}
.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(119, 136, 153, 0.5);
}

.btn-success {
  color: #fff;
  background-color: #3c763d;
  border-color: #3c763d;
}
.btn-success:hover {
  color: #fff;
  background-color: #2f5d30;
  border-color: #2b542c;
}
.btn-success:focus, .btn-success.focus {
  box-shadow: 0 0 0 0.2rem rgba(60, 118, 61, 0.5);
}
.btn-success.disabled, .btn-success:disabled {
  color: #fff;
  background-color: #3c763d;
  border-color: #3c763d;
}
.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle {
  color: #fff;
  background-color: #2b542c;
  border-color: #274c27;
}
.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(60, 118, 61, 0.5);
}

.btn-info {
  color: #fff;
  background-color: #31708f;
  border-color: #31708f;
}
.btn-info:hover {
  color: #fff;
  background-color: #275a73;
  border-color: #245269;
}
.btn-info:focus, .btn-info.focus {
  box-shadow: 0 0 0 0.2rem rgba(49, 112, 143, 0.5);
}
.btn-info.disabled, .btn-info:disabled {
  color: #fff;
  background-color: #31708f;
  border-color: #31708f;
}
.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle {
  color: #fff;
  background-color: #245269;
  border-color: #214b60;
}
.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, .show > .btn-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(49, 112, 143, 0.5);
}

.btn-warning {
  color: #fff;
  background-color: #8a6d3b;
  border-color: #8a6d3b;
}
.btn-warning:hover {
  color: #fff;
  background-color: #6f5830;
  border-color: #66512c;
}
.btn-warning:focus, .btn-warning.focus {
  box-shadow: 0 0 0 0.2rem rgba(138, 109, 59, 0.5);
}
.btn-warning.disabled, .btn-warning:disabled {
  color: #fff;
  background-color: #8a6d3b;
  border-color: #8a6d3b;
}
.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, .show > .btn-warning.dropdown-toggle {
  color: #fff;
  background-color: #66512c;
  border-color: #5d4a28;
}
.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(138, 109, 59, 0.5);
}

.btn-danger {
  color: #fff;
  background-color: #a94442;
  border-color: #a94442;
}
.btn-danger:hover {
  color: #fff;
  background-color: #8d3937;
  border-color: #843534;
}
.btn-danger:focus, .btn-danger.focus {
  box-shadow: 0 0 0 0.2rem rgba(169, 68, 66, 0.5);
}
.btn-danger.disabled, .btn-danger:disabled {
  color: #fff;
  background-color: #a94442;
  border-color: #a94442;
}
.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle {
  color: #fff;
  background-color: #843534;
  border-color: #7b3230;
}
.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(169, 68, 66, 0.5);
}

.btn-light {
  color: #212529;
  background-color: #b6b6b6;
  border-color: #b6b6b6;
}
.btn-light:hover {
  color: #212529;
  background-color: #a3a3a3;
  border-color: #9d9d9d;
}
.btn-light:focus, .btn-light.focus {
  box-shadow: 0 0 0 0.2rem rgba(182, 182, 182, 0.5);
}
.btn-light.disabled, .btn-light:disabled {
  color: #212529;
  background-color: #b6b6b6;
  border-color: #b6b6b6;
}
.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, .show > .btn-light.dropdown-toggle {
  color: #212529;
  background-color: #9d9d9d;
  border-color: #969696;
}
.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, .show > .btn-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(182, 182, 182, 0.5);
}

.btn-dark {
  color: #fff;
  background-color: #161616;
  border-color: #161616;
}
.btn-dark:hover {
  color: #fff;
  background-color: #030303;
  border-color: black;
}
.btn-dark:focus, .btn-dark.focus {
  box-shadow: 0 0 0 0.2rem rgba(22, 22, 22, 0.5);
}
.btn-dark.disabled, .btn-dark:disabled {
  color: #fff;
  background-color: #161616;
  border-color: #161616;
}
.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, .show > .btn-dark.dropdown-toggle {
  color: #fff;
  background-color: black;
  border-color: black;
}
.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(22, 22, 22, 0.5);
}

.btn-outline-primary, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a {
  color: #009c9e;
  background-color: transparent;
  background-image: none;
  border-color: #009c9e;
}
.btn-outline-primary:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a:hover {
  color: #fff;
  background-color: #009c9e;
  border-color: #009c9e;
}
.btn-outline-primary:focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a:focus, .btn-outline-primary.focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a.focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 156, 158, 0.5);
}
.btn-outline-primary.disabled, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a.disabled, .btn-outline-primary:disabled, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a:disabled {
  color: #009c9e;
  background-color: transparent;
}
.btn-outline-primary:not(:disabled):not(.disabled):active, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.show > a.dropdown-toggle {
  color: #fff;
  background-color: #009c9e;
  border-color: #009c9e;
}
.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary.dropdown-toggle:focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.show > a.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 156, 158, 0.5);
}

.btn-outline-secondary {
  color: lightslategray;
  background-color: transparent;
  background-image: none;
  border-color: lightslategray;
}
.btn-outline-secondary:hover {
  color: #fff;
  background-color: lightslategray;
  border-color: lightslategray;
}
.btn-outline-secondary:focus, .btn-outline-secondary.focus {
  box-shadow: 0 0 0 0.2rem rgba(119, 136, 153, 0.5);
}
.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
  color: lightslategray;
  background-color: transparent;
}
.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle {
  color: #fff;
  background-color: lightslategray;
  border-color: lightslategray;
}
.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(119, 136, 153, 0.5);
}

.btn-outline-success {
  color: #3c763d;
  background-color: transparent;
  background-image: none;
  border-color: #3c763d;
}
.btn-outline-success:hover {
  color: #fff;
  background-color: #3c763d;
  border-color: #3c763d;
}
.btn-outline-success:focus, .btn-outline-success.focus {
  box-shadow: 0 0 0 0.2rem rgba(60, 118, 61, 0.5);
}
.btn-outline-success.disabled, .btn-outline-success:disabled {
  color: #3c763d;
  background-color: transparent;
}
.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, .show > .btn-outline-success.dropdown-toggle {
  color: #fff;
  background-color: #3c763d;
  border-color: #3c763d;
}
.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(60, 118, 61, 0.5);
}

.btn-outline-info {
  color: #31708f;
  background-color: transparent;
  background-image: none;
  border-color: #31708f;
}
.btn-outline-info:hover {
  color: #fff;
  background-color: #31708f;
  border-color: #31708f;
}
.btn-outline-info:focus, .btn-outline-info.focus {
  box-shadow: 0 0 0 0.2rem rgba(49, 112, 143, 0.5);
}
.btn-outline-info.disabled, .btn-outline-info:disabled {
  color: #31708f;
  background-color: transparent;
}
.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, .show > .btn-outline-info.dropdown-toggle {
  color: #fff;
  background-color: #31708f;
  border-color: #31708f;
}
.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(49, 112, 143, 0.5);
}

.btn-outline-warning {
  color: #8a6d3b;
  background-color: transparent;
  background-image: none;
  border-color: #8a6d3b;
}
.btn-outline-warning:hover {
  color: #fff;
  background-color: #8a6d3b;
  border-color: #8a6d3b;
}
.btn-outline-warning:focus, .btn-outline-warning.focus {
  box-shadow: 0 0 0 0.2rem rgba(138, 109, 59, 0.5);
}
.btn-outline-warning.disabled, .btn-outline-warning:disabled {
  color: #8a6d3b;
  background-color: transparent;
}
.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, .show > .btn-outline-warning.dropdown-toggle {
  color: #fff;
  background-color: #8a6d3b;
  border-color: #8a6d3b;
}
.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(138, 109, 59, 0.5);
}

.btn-outline-danger {
  color: #a94442;
  background-color: transparent;
  background-image: none;
  border-color: #a94442;
}
.btn-outline-danger:hover {
  color: #fff;
  background-color: #a94442;
  border-color: #a94442;
}
.btn-outline-danger:focus, .btn-outline-danger.focus {
  box-shadow: 0 0 0 0.2rem rgba(169, 68, 66, 0.5);
}
.btn-outline-danger.disabled, .btn-outline-danger:disabled {
  color: #a94442;
  background-color: transparent;
}
.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, .show > .btn-outline-danger.dropdown-toggle {
  color: #fff;
  background-color: #a94442;
  border-color: #a94442;
}
.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(169, 68, 66, 0.5);
}

.btn-outline-light {
  color: #b6b6b6;
  background-color: transparent;
  background-image: none;
  border-color: #b6b6b6;
}
.btn-outline-light:hover {
  color: #212529;
  background-color: #b6b6b6;
  border-color: #b6b6b6;
}
.btn-outline-light:focus, .btn-outline-light.focus {
  box-shadow: 0 0 0 0.2rem rgba(182, 182, 182, 0.5);
}
.btn-outline-light.disabled, .btn-outline-light:disabled {
  color: #b6b6b6;
  background-color: transparent;
}
.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, .show > .btn-outline-light.dropdown-toggle {
  color: #212529;
  background-color: #b6b6b6;
  border-color: #b6b6b6;
}
.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(182, 182, 182, 0.5);
}

.btn-outline-dark {
  color: #161616;
  background-color: transparent;
  background-image: none;
  border-color: #161616;
}
.btn-outline-dark:hover {
  color: #fff;
  background-color: #161616;
  border-color: #161616;
}
.btn-outline-dark:focus, .btn-outline-dark.focus {
  box-shadow: 0 0 0 0.2rem rgba(22, 22, 22, 0.5);
}
.btn-outline-dark.disabled, .btn-outline-dark:disabled {
  color: #161616;
  background-color: transparent;
}
.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, .show > .btn-outline-dark.dropdown-toggle {
  color: #fff;
  background-color: #161616;
  border-color: #161616;
}
.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(22, 22, 22, 0.5);
}

.btn-link {
  font-weight: 400;
  color: #009c9e;
  background-color: transparent;
}
.btn-link:hover {
  color: #005052;
  text-decoration: none;
  background-color: transparent;
  border-color: transparent;
}
.btn-link:focus, .btn-link.focus {
  text-decoration: none;
  border-color: transparent;
  box-shadow: none;
}
.btn-link:disabled, .btn-link.disabled {
  color: #6c757d;
  pointer-events: none;
}

.btn-lg, .btn-group-lg > .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-lg > .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group-lg:first-child > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group-lg:not(.ccm-conversation-message-username) > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group-lg > a {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.125rem;
}

.btn-sm, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a, .btn-group-sm > .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-sm > .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group-sm > a {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.125rem;
}

.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 0.5rem;
}

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

.btn.btn-default, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn.ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-default.ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a.btn-default, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a.ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a.btn-default, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-username > a.ccm-conversation-message-control-icon {
  color: #b6b6b6;
  background-color: rgba(255, 255, 255, 0.2);
}
.btn.btn-default:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a.btn-default:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a.btn-default:hover {
  color: #fff;
  background-color: #009c9e;
}
.btn.btn-outline-default, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-outline-default.ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a.btn-outline-default, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a.btn-outline-default, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a.btn-outline-default {
  color: #b6b6b6;
  background: rgba(76, 76, 76, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
  text-decoration: none;
}
.btn.btn-outline-default:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-outline-default.ccm-conversation-message-control-icon:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a.btn-outline-default:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a.btn-outline-default:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a.btn-outline-default:hover {
  color: #fff;
  background-color: #009c9e;
  border: 1px solid #009c9e;
}
.btn.btn-transparent, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-transparent.ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a.btn-transparent, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a.btn-transparent, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a.btn-transparent {
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(76, 76, 76, 0.1);
  text-decoration: none;
}
.btn.btn-transparent:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-transparent.ccm-conversation-message-control-icon:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a.btn-transparent:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a.btn-transparent:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a.btn-transparent:hover {
  background: rgba(255, 255, 255, 0.3);
  border: 1px solid rgba(76, 76, 76, 0.2);
}
.btn.btn-outline-transparent, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-outline-transparent.ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a.btn-outline-transparent, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a.btn-outline-transparent, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a.btn-outline-transparent {
  color: #fff;
  background: rgba(76, 76, 76, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
  text-decoration: none;
}
.btn.btn-outline-transparent:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-outline-transparent.ccm-conversation-message-control-icon:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a.btn-outline-transparent:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a.btn-outline-transparent:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a.btn-outline-transparent:hover {
  background: rgba(76, 76, 76, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.3);
}
.btn.btn-round, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-round.ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a.btn-round, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a.btn-round, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a {
  border-radius: 2rem;
}

/***********************************/
/**          BOXES               **/
/**********************************/
/*boxes*/
.ccm-page main .box {
  border-radius: 0px;
  padding: 5px;
  text-align: center;
  margin-bottom: 1rem;
  background: rgba(35, 35, 35, 0.75) !important;
  color: #b6b6b6;
  min-height: 105px;
}
.ccm-page main .box .description {
  font-weight: normal;
  text-align: center;
  margin: 10px -5px;
}
.ccm-page main .box .icon, .ccm-page main .box .big-text {
  margin-top: 15px;
  font-size: 36px;
  line-height: 36px;
  height: 36px;
  font-weight: bold;
}

.ccm-page #pageloader {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  z-index: 99999;
  background-color: #161616;
}
.ccm-page .spinner {
  margin: 0 auto;
  width: 70px;
  text-align: center;
  position: relative;
  top: 50%;
  margin-top: -9px;
}
.ccm-page .spinner .bounce1 {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
.ccm-page .spinner .bounce2 {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
.ccm-page .spinner div {
  width: 18px;
  height: 18px;
  border-radius: 100%;
  display: inline-block;
  background-color: #b6b6b6;
  top: 50%;
  margin-top: 9px;
  -webkit-animation: sk-threeBounceDelay 1.4s infinite ease-in-out;
  animation: sk-threeBounceDelay 1.4s infinite ease-in-out;
  /* Prevent first frame from flickering when animation starts */
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

@-webkit-keyframes sk-threeBounceDelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes sk-threeBounceDelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.ccm-page #sponsors-slider {
  margin: 3rem 0;
}
.ccm-page #sponsors-slider .sponsor-item {
  opacity: 0.7;
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  transition: all 0.4s;
}
.ccm-page #sponsors-slider .sponsor-item:hover {
  opacity: 1;
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
}

.ccm-page .progress {
  height: 23px;
  box-shadow: none;
  border-radius: 0;
  box-shadow: inset 0px 0px 0px 1px #eeeeee;
  background-color: #f9f9f9;
  position: relative;
  overflow: visible;
  margin: 4rem 0 1rem 0;
}
.ccm-page .progress .progress-bar:after {
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: 12px solid;
  content: "";
  position: relative;
  top: -32px;
  float: right;
  color: #00696b;
}
.ccm-page .progress .progress-bar span {
  width: 60px;
  height: 30px;
  background: transparent;
  font-size: 19px;
  position: relative;
  top: -40px;
  float: right;
  color: #00696b;
}

.ccm-page .nav-tabs {
  margin-top: 2rem;
}
.ccm-page .nav-tabs .nav-item .nav-link {
  color: #b6b6b6;
  background-color: rgba(255, 255, 255, 0.2);
  margin: 0 0.8rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.ccm-page .nav-tabs .nav-item .nav-link.arrowRight:after {
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: 12px solid;
  transform: rotate(-90deg);
  content: "";
  position: relative;
  right: -35px;
  top: 6px;
  float: right;
  color: rgba(255, 255, 255, 0.2);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.ccm-page .nav-tabs .nav-item .nav-link.active {
  color: #fff;
  background-color: #00696b;
  border: solid 1px #00696b;
}
.ccm-page .nav-tabs .nav-item .nav-link.active:after {
  color: #00696b;
}
.ccm-page .nav-tabs .nav-item .nav-link:hover:not(.disabled) {
  color: #fff;
  background-color: #009c9e;
  border: solid 1px #009c9e;
}
.ccm-page .nav-tabs .nav-item .nav-link:hover:not(.disabled):after {
  color: #009c9e;
}
.ccm-page .nav-tabs .nav-item .nav-link.disabled {
  pointer-events: none;
}
.ccm-page .nav-tabs .nav-item .nav-link:focus {
  border: solid 1px rgba(255, 255, 255, 0.2);
}
.ccm-page .nav-tabs .nav-item:last-of-type .nav-link:after {
  display: none;
}

.fade {
  transition: opacity 0.15s linear;
}
@media screen and (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media screen and (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}

.dropup,
.dropright,
.dropdown,
.dropleft {
  position: relative;
}

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

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 780;
  display: none;
  float: left;
  min-width: 10rem;
  padding: 0.5rem 0;
  margin: 0.125rem 0 0;
  font-size: 1rem;
  color: #b6b6b6;
  text-align: left;
  list-style: none;
  background-color: rgba(22, 22, 22, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.125rem;
}

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

.dropup .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.125rem;
}
.dropup .dropdown-toggle::after {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent;
}
.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropright .dropdown-menu {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: 0.125rem;
}
.dropright .dropdown-toggle::after {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid;
}
.dropright .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropright .dropdown-toggle::after {
  vertical-align: 0;
}

.dropleft .dropdown-menu {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem;
}
.dropleft .dropdown-toggle::after {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}
.dropleft .dropdown-toggle::after {
  display: none;
}
.dropleft .dropdown-toggle::before {
  display: inline-block;
  width: 0;
  height: 0;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}
.dropleft .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropleft .dropdown-toggle::before {
  vertical-align: 0;
}

.dropdown-menu[x-placement^=top], .dropdown-menu[x-placement^=right], .dropdown-menu[x-placement^=bottom], .dropdown-menu[x-placement^=left] {
  right: auto;
  bottom: auto;
}

.dropdown-divider {
  height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
  border-top: 1px solid #e9ecef;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}
.dropdown-item:hover, .dropdown-item:focus {
  color: #16181b;
  text-decoration: none;
  background-color: #f8f9fa;
}
.dropdown-item.active, .dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: #009c9e;
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: #6c757d;
  background-color: transparent;
}

.dropdown-menu.show {
  display: block;
}

.dropdown-header {
  display: block;
  padding: 0.5rem 1.5rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #6c757d;
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: 0.25rem 1.5rem;
  color: #212529;
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group > .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group:first-child > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group:not(.ccm-conversation-message-username) > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group > a,
.btn-group-vertical > .btn,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical > .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group-vertical:first-child > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group-vertical:not(.ccm-conversation-message-username) > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group-vertical > a {
  position: relative;
  flex: 0 1 auto;
}
.btn-group > .btn:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group > .ccm-conversation-message-control-icon:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group:first-child > a:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group:not(.ccm-conversation-message-username) > a:hover, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group > a:hover,
.btn-group-vertical > .btn:hover,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical > .ccm-conversation-message-control-icon:hover,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group-vertical:first-child > a:hover,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group-vertical:not(.ccm-conversation-message-username) > a:hover,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group-vertical > a:hover {
  z-index: 1;
}
.btn-group > .btn:focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group > .ccm-conversation-message-control-icon:focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group:first-child > a:focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group:not(.ccm-conversation-message-username) > a:focus, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group > a:focus, .btn-group > .btn:active, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group > .ccm-conversation-message-control-icon:active, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group:first-child > a:active, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group:not(.ccm-conversation-message-username) > a:active, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group > a:active, .btn-group > .btn.active, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group > .active.ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group:first-child > a.active, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group:not(.ccm-conversation-message-username) > a.active, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group > a.active,
.btn-group-vertical > .btn:focus,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical > .ccm-conversation-message-control-icon:focus,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group-vertical:first-child > a:focus,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group-vertical:not(.ccm-conversation-message-username) > a:focus,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group-vertical > a:focus,
.btn-group-vertical > .btn:active,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical > .ccm-conversation-message-control-icon:active,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group-vertical:first-child > a:active,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group-vertical:not(.ccm-conversation-message-username) > a:active,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group-vertical > a:active,
.btn-group-vertical > .btn.active,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical > .active.ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group-vertical:first-child > a.active,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group-vertical:not(.ccm-conversation-message-username) > a.active,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group-vertical > a.active {
  z-index: 1;
}
.btn-group .btn + .btn, .btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon + .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group .ccm-conversation-message-control-icon + .btn, .btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group .btn + .ccm-conversation-message-control-icon, .btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group .ccm-conversation-message-control-icon + .ccm-conversation-message-control-icon, .btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a + .btn, .btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group ul > li:first-child > a + .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group ul > li:first-child > a + .ccm-conversation-message-control-icon, .btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > .btn + a, .btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > .ccm-conversation-message-control-icon + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group ul > li:first-child > .btn + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group ul > li:first-child > .ccm-conversation-message-control-icon + a, .btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group ul > li:first-child > a + a, .btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .btn, .btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group .ccm-conversation-message-controls .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .ccm-conversation-message-control-icon, .btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .btn + a, .btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .ccm-conversation-message-control-icon + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .btn + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group .ccm-conversation-message-controls .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .ccm-conversation-message-control-icon + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .ccm-conversation-message-control-icon + a, .btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + a, .btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a + .btn, .btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-username > a + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group .ccm-conversation-message-username > a + .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group .ccm-conversation-message-controls .ccm-conversation-message-username > a + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group .ccm-conversation-message-username > a + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group .ccm-conversation-message-controls ul > li.ccm-conversation-message-username:first-child > a + a, .btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > .btn + a, .btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-username > .ccm-conversation-message-control-icon + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group .ccm-conversation-message-username > .btn + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group .ccm-conversation-message-controls .ccm-conversation-message-username > .ccm-conversation-message-control-icon + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group .ccm-conversation-message-username > .ccm-conversation-message-control-icon + a, .btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group .ccm-conversation-message-username > a + a,
.btn-group .btn + .btn-group,
.btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon + .btn-group,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group .ccm-conversation-message-control-icon + .btn-group,
.btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a + .btn-group,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group ul > li:first-child > a + .btn-group,
.btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .btn-group,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .btn-group,
.btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a + .btn-group,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group .ccm-conversation-message-username > a + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group + .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group .btn-group + .ccm-conversation-message-control-icon,
.btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > .btn-group + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group ul > li:first-child > .btn-group + a,
.btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .btn-group + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .btn-group + a,
.btn-group .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > .btn-group + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group .ccm-conversation-message-username > .btn-group + a,
.btn-group .btn-group + .btn-group,
.btn-group-vertical .btn + .btn,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon + .btn,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical .ccm-conversation-message-control-icon + .btn,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn + .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical .btn + .ccm-conversation-message-control-icon,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon + .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical .ccm-conversation-message-control-icon + .ccm-conversation-message-control-icon,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a + .btn,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a + .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical ul > li:first-child > a + .btn,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical ul > li:first-child > a + .ccm-conversation-message-control-icon,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > .btn + a,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > .ccm-conversation-message-control-icon + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical ul > li:first-child > .btn + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical ul > li:first-child > .ccm-conversation-message-control-icon + a,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical ul > li:first-child > a + a,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .btn,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-vertical .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .btn,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-vertical .ccm-conversation-message-controls .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .ccm-conversation-message-control-icon,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .btn + a,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .ccm-conversation-message-control-icon + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-vertical .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .btn + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-vertical .ccm-conversation-message-controls .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .ccm-conversation-message-control-icon + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .ccm-conversation-message-control-icon + a,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-vertical .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + a,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a + .btn,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-username > a + .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-vertical .ccm-conversation-message-username > a + .btn,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-vertical .ccm-conversation-message-controls .ccm-conversation-message-username > a + .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical .ccm-conversation-message-username > a + .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-vertical .ccm-conversation-message-controls ul > li.ccm-conversation-message-username:first-child > a + a,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > .btn + a,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-username > .ccm-conversation-message-control-icon + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-vertical .ccm-conversation-message-username > .btn + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-vertical .ccm-conversation-message-controls .ccm-conversation-message-username > .ccm-conversation-message-control-icon + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical .ccm-conversation-message-username > .ccm-conversation-message-control-icon + a,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-vertical .ccm-conversation-message-username > a + a,
.btn-group-vertical .btn + .btn-group,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon + .btn-group,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical .ccm-conversation-message-control-icon + .btn-group,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a + .btn-group,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical ul > li:first-child > a + .btn-group,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .btn-group,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-vertical .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .btn-group,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a + .btn-group,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-vertical .ccm-conversation-message-username > a + .btn-group,
.btn-group-vertical .btn-group + .btn,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group + .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical .btn-group + .ccm-conversation-message-control-icon,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > .btn-group + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical ul > li:first-child > .btn-group + a,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .btn-group + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-vertical .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .btn-group + a,
.btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > .btn-group + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-vertical .ccm-conversation-message-username > .btn-group + a,
.btn-group-vertical .btn-group + .btn-group {
  margin-left: -1px;
}

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.btn-toolbar .input-group {
  width: auto;
}

.btn-group > .btn:first-child, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group > .ccm-conversation-message-control-icon:first-child, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group:first-child > a:first-child, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group:not(.ccm-conversation-message-username) > a:first-child, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group > a:first-child {
  margin-left: 0;
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle), .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group > .ccm-conversation-message-control-icon:not(:last-child):not(.dropdown-toggle), .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group:first-child > a:not(:last-child):not(.dropdown-toggle), .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group:not(.ccm-conversation-message-username) > a:not(:last-child):not(.dropdown-toggle), .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group > a:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) > .btn,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group > .btn-group:not(:last-child) > .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul.btn-group > li.btn-group:first-child:not(:last-child) > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline.btn-group > span.btn-group:not(.ccm-conversation-message-username):not(:last-child) > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group > .ccm-conversation-message-username.btn-group:not(:last-child) > a {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:not(:first-child), .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group > .ccm-conversation-message-control-icon:not(:first-child), .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group:first-child > a:not(:first-child), .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group:not(.ccm-conversation-message-username) > a:not(:first-child), .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group > a:not(:first-child),
.btn-group > .btn-group:not(:first-child) > .btn,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group > .btn-group:not(:first-child) > .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul.btn-group > li.btn-group:first-child:not(:first-child) > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline.btn-group > span.btn-group:not(.ccm-conversation-message-username):not(:first-child) > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group > .ccm-conversation-message-username.btn-group:not(:first-child) > a {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropright .dropdown-toggle-split::after {
  margin-left: 0;
}
.dropleft .dropdown-toggle-split::before {
  margin-right: 0;
}

.btn-sm + .dropdown-toggle-split, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon + .dropdown-toggle-split, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a + .dropdown-toggle-split, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group-sm > a + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-lg > .ccm-conversation-message-control-icon + .dropdown-toggle-split, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group-lg:first-child > a + .dropdown-toggle-split, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group-lg:not(.ccm-conversation-message-username) > a + .dropdown-toggle-split, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group-lg > a + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.btn-group-vertical .btn, .btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical .ccm-conversation-message-control-icon, .btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical ul > li:first-child > a, .btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-vertical .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a, .btn-group-vertical .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-vertical .ccm-conversation-message-username > a,
.btn-group-vertical .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn + .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical > .ccm-conversation-message-control-icon + .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical > .btn + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical > .ccm-conversation-message-control-icon + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group-vertical:first-child > a + .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group-vertical:first-child > a + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group-vertical:first-child > .btn + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group-vertical:first-child > .ccm-conversation-message-control-icon + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group-vertical:first-child > a + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group-vertical:not(.ccm-conversation-message-username) > a + .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-byline > span.btn-group-vertical:not(.ccm-conversation-message-username) > a + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group-vertical:not(.ccm-conversation-message-username) > .btn + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-byline > span.btn-group-vertical:not(.ccm-conversation-message-username) > .ccm-conversation-message-control-icon + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group-vertical:not(.ccm-conversation-message-username) > a + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group-vertical > a + .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-username.btn-group-vertical > a + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group-vertical > .btn + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-username.btn-group-vertical > .ccm-conversation-message-control-icon + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group-vertical > a + a,
.btn-group-vertical > .btn + .btn-group,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical > .ccm-conversation-message-control-icon + .btn-group,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group-vertical:first-child > a + .btn-group,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group-vertical:not(.ccm-conversation-message-username) > a + .btn-group,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group-vertical > a + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical > .btn-group + .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group-vertical:first-child > .btn-group + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group-vertical:not(.ccm-conversation-message-username) > .btn-group + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group-vertical > .btn-group + a,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0;
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical > .ccm-conversation-message-control-icon:not(:last-child):not(.dropdown-toggle), .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group-vertical:first-child > a:not(:last-child):not(.dropdown-toggle), .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group-vertical:not(.ccm-conversation-message-username) > a:not(:last-child):not(.dropdown-toggle), .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group-vertical > a:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical > .btn-group:not(:last-child) > .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul.btn-group-vertical > li.btn-group:first-child:not(:last-child) > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline.btn-group-vertical > span.btn-group:not(.ccm-conversation-message-username):not(:last-child) > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-vertical > .ccm-conversation-message-username.btn-group:not(:last-child) > a {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:not(:first-child), .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical > .ccm-conversation-message-control-icon:not(:first-child), .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group-vertical:first-child > a:not(:first-child), .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group-vertical:not(.ccm-conversation-message-username) > a:not(:first-child), .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group-vertical > a:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) > .btn,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-vertical > .btn-group:not(:first-child) > .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul.btn-group-vertical > li.btn-group:first-child:not(:first-child) > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline.btn-group-vertical > span.btn-group:not(.ccm-conversation-message-username):not(:first-child) > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-vertical > .ccm-conversation-message-username.btn-group:not(:first-child) > a {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.btn-group-toggle > .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-toggle > .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group-toggle:first-child > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group-toggle:not(.ccm-conversation-message-username) > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group-toggle > a,
.btn-group-toggle > .btn-group > .btn,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-toggle > .btn-group > .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul.btn-group-toggle > li.btn-group:first-child > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline.btn-group-toggle > span.btn-group:not(.ccm-conversation-message-username) > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-toggle > .ccm-conversation-message-username.btn-group > a {
  margin-bottom: 0;
}
.btn-group-toggle > .btn input[type=radio], .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-toggle > .ccm-conversation-message-control-icon input[type=radio], .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group-toggle:first-child > a input[type=radio], .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group-toggle:not(.ccm-conversation-message-username) > a input[type=radio], .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group-toggle > a input[type=radio],
.btn-group-toggle > .btn input[type=checkbox],
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn-group-toggle > .ccm-conversation-message-control-icon input[type=checkbox],
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.btn-group-toggle:first-child > a input[type=checkbox],
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.btn-group-toggle:not(.ccm-conversation-message-username) > a input[type=checkbox],
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.btn-group-toggle > a input[type=checkbox],
.btn-group-toggle > .btn-group > .btn input[type=radio],
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul.btn-group-toggle > li.btn-group:first-child > a input[type=radio],
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline.btn-group-toggle > span.btn-group:not(.ccm-conversation-message-username) > a input[type=radio],
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-toggle > .ccm-conversation-message-username.btn-group > a input[type=radio],
.btn-group-toggle > .btn-group > .btn input[type=checkbox],
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul.btn-group-toggle > li.btn-group:first-child > a input[type=checkbox],
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline.btn-group-toggle > span.btn-group:not(.ccm-conversation-message-username) > a input[type=checkbox],
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .btn-group-toggle > .ccm-conversation-message-username.btn-group > a input[type=checkbox] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .custom-select,
.input-group > .custom-file {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  margin-bottom: 0;
}
.input-group > .form-control + .form-control,
.input-group > .form-control + .custom-select,
.input-group > .form-control + .custom-file,
.input-group > .custom-select + .form-control,
.input-group > .custom-select + .custom-select,
.input-group > .custom-select + .custom-file,
.input-group > .custom-file + .form-control,
.input-group > .custom-file + .custom-select,
.input-group > .custom-file + .custom-file {
  margin-left: -1px;
}
.input-group > .form-control:focus,
.input-group > .custom-select:focus,
.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
  z-index: 3;
}
.input-group > .custom-file .custom-file-input:focus {
  z-index: 4;
}
.input-group > .form-control:not(:last-child),
.input-group > .custom-select:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > .form-control:not(:first-child),
.input-group > .custom-select:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .custom-file {
  display: flex;
  align-items: center;
}
.input-group > .custom-file:not(:last-child) .custom-file-label, .input-group > .custom-file:not(:last-child) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > .custom-file:not(:first-child) .custom-file-label {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group-prepend,
.input-group-append {
  display: flex;
}
.input-group-prepend .btn, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-prepend .ccm-conversation-message-control-icon, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-prepend ul > li:first-child > a, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-prepend .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-prepend .ccm-conversation-message-username > a,
.input-group-append .btn,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-append .ccm-conversation-message-control-icon,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-append ul > li:first-child > a,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-append .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-append .ccm-conversation-message-username > a {
  position: relative;
  z-index: 2;
}
.input-group-prepend .btn + .btn, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon + .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-prepend .ccm-conversation-message-control-icon + .btn, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-prepend .btn + .ccm-conversation-message-control-icon, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-prepend .ccm-conversation-message-control-icon + .ccm-conversation-message-control-icon, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a + .btn, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-prepend ul > li:first-child > a + .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-prepend ul > li:first-child > a + .ccm-conversation-message-control-icon, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > .btn + a, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > .ccm-conversation-message-control-icon + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-prepend ul > li:first-child > .btn + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-prepend ul > li:first-child > .ccm-conversation-message-control-icon + a, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-prepend ul > li:first-child > a + a, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .btn, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-prepend .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-prepend .ccm-conversation-message-controls .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-prepend .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .ccm-conversation-message-control-icon, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .btn + a, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .ccm-conversation-message-control-icon + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-prepend .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .btn + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-prepend .ccm-conversation-message-controls .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .ccm-conversation-message-control-icon + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-prepend .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .ccm-conversation-message-control-icon + a, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-prepend .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + a, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a + .btn, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-username > a + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-prepend .ccm-conversation-message-username > a + .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-prepend .ccm-conversation-message-controls .ccm-conversation-message-username > a + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-prepend .ccm-conversation-message-username > a + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-prepend .ccm-conversation-message-controls ul > li.ccm-conversation-message-username:first-child > a + a, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > .btn + a, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-username > .ccm-conversation-message-control-icon + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-prepend .ccm-conversation-message-username > .btn + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-prepend .ccm-conversation-message-controls .ccm-conversation-message-username > .ccm-conversation-message-control-icon + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-prepend .ccm-conversation-message-username > .ccm-conversation-message-control-icon + a, .input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-prepend .ccm-conversation-message-username > a + a,
.input-group-prepend .btn + .input-group-text,
.input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon + .input-group-text,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-prepend .ccm-conversation-message-control-icon + .input-group-text,
.input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a + .input-group-text,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-prepend ul > li:first-child > a + .input-group-text,
.input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .input-group-text,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-prepend .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .input-group-text,
.input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a + .input-group-text,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-prepend .ccm-conversation-message-username > a + .input-group-text,
.input-group-prepend .input-group-text + .input-group-text,
.input-group-prepend .input-group-text + .btn,
.input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-text + .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-prepend .input-group-text + .ccm-conversation-message-control-icon,
.input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > .input-group-text + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-prepend ul > li:first-child > .input-group-text + a,
.input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .input-group-text + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-prepend .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .input-group-text + a,
.input-group-prepend .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > .input-group-text + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-prepend .ccm-conversation-message-username > .input-group-text + a,
.input-group-append .btn + .btn,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon + .btn,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-append .ccm-conversation-message-control-icon + .btn,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn + .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-append .btn + .ccm-conversation-message-control-icon,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon + .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-append .ccm-conversation-message-control-icon + .ccm-conversation-message-control-icon,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a + .btn,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a + .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-append ul > li:first-child > a + .btn,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-append ul > li:first-child > a + .ccm-conversation-message-control-icon,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > .btn + a,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > .ccm-conversation-message-control-icon + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-append ul > li:first-child > .btn + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-append ul > li:first-child > .ccm-conversation-message-control-icon + a,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-append ul > li:first-child > a + a,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .btn,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-append .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .btn,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-append .ccm-conversation-message-controls .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-append .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .ccm-conversation-message-control-icon,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .btn + a,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .ccm-conversation-message-control-icon + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-append .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .btn + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-append .ccm-conversation-message-controls .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .ccm-conversation-message-control-icon + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-append .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .ccm-conversation-message-control-icon + a,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-append .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + a,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a + .btn,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-username > a + .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-append .ccm-conversation-message-username > a + .btn,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-append .ccm-conversation-message-controls .ccm-conversation-message-username > a + .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-append .ccm-conversation-message-username > a + .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-append .ccm-conversation-message-controls ul > li.ccm-conversation-message-username:first-child > a + a,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > .btn + a,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-username > .ccm-conversation-message-control-icon + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-append .ccm-conversation-message-username > .btn + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-append .ccm-conversation-message-controls .ccm-conversation-message-username > .ccm-conversation-message-control-icon + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-append .ccm-conversation-message-username > .ccm-conversation-message-control-icon + a,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-append .ccm-conversation-message-username > a + a,
.input-group-append .btn + .input-group-text,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon + .input-group-text,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-append .ccm-conversation-message-control-icon + .input-group-text,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a + .input-group-text,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-append ul > li:first-child > a + .input-group-text,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .input-group-text,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-append .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .input-group-text,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a + .input-group-text,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-append .ccm-conversation-message-username > a + .input-group-text,
.input-group-append .input-group-text + .input-group-text,
.input-group-append .input-group-text + .btn,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-text + .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-append .input-group-text + .ccm-conversation-message-control-icon,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > .input-group-text + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-append ul > li:first-child > .input-group-text + a,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .input-group-text + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-append .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .input-group-text + a,
.input-group-append .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > .input-group-text + a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-append .ccm-conversation-message-username > .input-group-text + a {
  margin-left: -1px;
}

.input-group-prepend {
  margin-right: -1px;
}

.input-group-append {
  margin-left: -1px;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 0.125rem;
}
.input-group-text input[type=radio],
.input-group-text input[type=checkbox] {
  margin-top: 0;
}

.input-group-lg > .form-control,
.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .btn,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-lg > .input-group-prepend > .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul.input-group-lg > li.input-group-prepend:first-child > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline.input-group-lg > span.input-group-prepend:not(.ccm-conversation-message-username) > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-lg > .ccm-conversation-message-username.input-group-prepend > a,
.input-group-lg > .input-group-append > .btn,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-lg > .input-group-append > .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul.input-group-lg > li.input-group-append:first-child > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline.input-group-lg > span.input-group-append:not(.ccm-conversation-message-username) > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-lg > .ccm-conversation-message-username.input-group-append > a {
  height: calc(2.875rem + 2px);
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.125rem;
}

.input-group-sm > .form-control,
.input-group-sm > .input-group-prepend > .input-group-text,
.input-group-sm > .input-group-append > .input-group-text,
.input-group-sm > .input-group-prepend > .btn,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-sm > .input-group-prepend > .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul.input-group-sm > li.input-group-prepend:first-child > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline.input-group-sm > span.input-group-prepend:not(.ccm-conversation-message-username) > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-sm > .ccm-conversation-message-username.input-group-prepend > a,
.input-group-sm > .input-group-append > .btn,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group-sm > .input-group-append > .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul.input-group-sm > li.input-group-append:first-child > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline.input-group-sm > span.input-group-append:not(.ccm-conversation-message-username) > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group-sm > .ccm-conversation-message-username.input-group-append > a {
  height: calc(1.8125rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.125rem;
}

.input-group > .input-group-prepend > .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group > .input-group-prepend > .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul.input-group > li.input-group-prepend:first-child > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline.input-group > span.input-group-prepend:not(.ccm-conversation-message-username) > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group > .ccm-conversation-message-username.input-group-prepend > a,
.input-group > .input-group-prepend > .input-group-text,
.input-group > .input-group-append:not(:last-child) > .btn,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group > .input-group-append:not(:last-child) > .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul.input-group > li.input-group-append:first-child:not(:last-child) > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline.input-group > span.input-group-append:not(.ccm-conversation-message-username):not(:last-child) > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group > .ccm-conversation-message-username.input-group-append:not(:last-child) > a,
.input-group > .input-group-append:not(:last-child) > .input-group-text,
.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group > .input-group-append:last-child > .ccm-conversation-message-control-icon:not(:last-child):not(.dropdown-toggle),
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul.input-group > li.input-group-append:first-child:last-child > a:not(:last-child):not(.dropdown-toggle),
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline.input-group > span.input-group-append:not(.ccm-conversation-message-username):last-child > a:not(:last-child):not(.dropdown-toggle),
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group > .ccm-conversation-message-username.input-group-append:last-child > a:not(:last-child):not(.dropdown-toggle),
.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group > .input-group-append > .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group > .input-group-append > .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul.input-group > li.input-group-append:first-child > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline.input-group > span.input-group-append:not(.ccm-conversation-message-username) > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group > .ccm-conversation-message-username.input-group-append > a,
.input-group > .input-group-append > .input-group-text,
.input-group > .input-group-prepend:not(:first-child) > .btn,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group > .input-group-prepend:not(:first-child) > .ccm-conversation-message-control-icon,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul.input-group > li.input-group-prepend:first-child:not(:first-child) > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline.input-group > span.input-group-prepend:not(.ccm-conversation-message-username):not(:first-child) > a,
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group > .ccm-conversation-message-username.input-group-prepend:not(:first-child) > a,
.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .input-group > .input-group-prepend:first-child > .ccm-conversation-message-control-icon:not(:first-child),
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul.input-group > li.input-group-prepend:first-child > a:not(:first-child),
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline.input-group > span.input-group-prepend:not(.ccm-conversation-message-username):first-child > a:not(:first-child),
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .input-group > .ccm-conversation-message-username.input-group-prepend:first-child > a:not(:first-child),
.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.custom-control {
  position: relative;
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5rem;
}

.custom-control-inline {
  display: inline-flex;
  margin-right: 1rem;
}

.custom-control-input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.custom-control-input:checked ~ .custom-control-label::before {
  color: #fff;
  background-color: #009c9e;
}
.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 1px #161616, 0 0 0 0.2rem rgba(0, 156, 158, 0.25);
}
.custom-control-input:active ~ .custom-control-label::before {
  color: #fff;
  background-color: #52fdff;
}
.custom-control-input:disabled ~ .custom-control-label {
  color: #6c757d;
}
.custom-control-input:disabled ~ .custom-control-label::before {
  background-color: #e9ecef;
}

.custom-control-label {
  position: relative;
  margin-bottom: 0;
}
.custom-control-label::before {
  position: absolute;
  top: 0.25rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  pointer-events: none;
  content: "";
  user-select: none;
  background-color: #dee2e6;
}
.custom-control-label::after {
  position: absolute;
  top: 0.25rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50% 50%;
}

.custom-checkbox .custom-control-label::before {
  border-radius: 0.125rem;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #009c9e;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  background-color: #009c9e;
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E");
}
.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(0, 156, 158, 0.5);
}
.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(0, 156, 158, 0.5);
}

.custom-radio .custom-control-label::before {
  border-radius: 50%;
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #009c9e;
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E");
}
.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(0, 156, 158, 0.5);
}

.custom-select {
  display: inline-block;
  width: 100%;
  height: calc(2.25rem + 2px);
  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
  line-height: 1.5;
  color: #495057;
  vertical-align: middle;
  background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
  background-size: 8px 10px;
  border: 1px solid #ced4da;
  border-radius: 0.125rem;
  appearance: none;
}
.custom-select:focus {
  border-color: #1ffcff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(31, 252, 255, 0.5);
}
.custom-select:focus::-ms-value {
  color: #495057;
  background-color: #fff;
}
.custom-select[multiple], .custom-select[size]:not([size="1"]) {
  height: auto;
  padding-right: 0.75rem;
  background-image: none;
}
.custom-select:disabled {
  color: #6c757d;
  background-color: #e9ecef;
}
.custom-select::-ms-expand {
  opacity: 0;
}

.custom-select-sm {
  height: calc(1.8125rem + 2px);
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 75%;
}

.custom-select-lg {
  height: calc(2.875rem + 2px);
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 125%;
}

.custom-file {
  position: relative;
  display: inline-block;
  width: 100%;
  height: calc(2.25rem + 2px);
  margin-bottom: 0;
}

.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(2.25rem + 2px);
  margin: 0;
  opacity: 0;
}
.custom-file-input:focus ~ .custom-file-label {
  border-color: #1ffcff;
  box-shadow: 0 0 0 0.2rem rgba(0, 156, 158, 0.25);
}
.custom-file-input:focus ~ .custom-file-label::after {
  border-color: #1ffcff;
}
.custom-file-input:disabled ~ .custom-file-label {
  background-color: #e9ecef;
}
.custom-file-input:lang(en) ~ .custom-file-label::after {
  content: "Browse";
}

.custom-file-label {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: calc(2.25rem + 2px);
  padding: 0.375rem 0.75rem;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  border: 1px solid #ced4da;
  border-radius: 0.125rem;
}
.custom-file-label::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: block;
  height: 2.25rem;
  padding: 0.375rem 0.75rem;
  line-height: 1.5;
  color: #495057;
  content: "Browse";
  background-color: #e9ecef;
  border-left: 1px solid #ced4da;
  border-radius: 0 0.125rem 0.125rem 0;
}

.custom-range {
  width: 100%;
  padding-left: 0;
  background-color: transparent;
  appearance: none;
}
.custom-range:focus {
  outline: none;
}
.custom-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #161616, 0 0 0 0.2rem rgba(0, 156, 158, 0.25);
}
.custom-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #161616, 0 0 0 0.2rem rgba(0, 156, 158, 0.25);
}
.custom-range:focus::-ms-thumb {
  box-shadow: 0 0 0 1px #161616, 0 0 0 0.2rem rgba(0, 156, 158, 0.25);
}
.custom-range::-moz-focus-outer {
  border: 0;
}
.custom-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  background-color: #009c9e;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media screen and (prefers-reduced-motion: reduce) {
  .custom-range::-webkit-slider-thumb {
    transition: none;
  }
}
.custom-range::-webkit-slider-thumb:active {
  background-color: #52fdff;
}
.custom-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}
.custom-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  background-color: #009c9e;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media screen and (prefers-reduced-motion: reduce) {
  .custom-range::-moz-range-thumb {
    transition: none;
  }
}
.custom-range::-moz-range-thumb:active {
  background-color: #52fdff;
}
.custom-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}
.custom-range::-ms-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: 0;
  margin-right: 0.2rem;
  margin-left: 0.2rem;
  background-color: #009c9e;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media screen and (prefers-reduced-motion: reduce) {
  .custom-range::-ms-thumb {
    transition: none;
  }
}
.custom-range::-ms-thumb:active {
  background-color: #52fdff;
}
.custom-range::-ms-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: transparent;
  border-color: transparent;
  border-width: 0.5rem;
}
.custom-range::-ms-fill-lower {
  background-color: #dee2e6;
  border-radius: 1rem;
}
.custom-range::-ms-fill-upper {
  margin-right: 15px;
  background-color: #dee2e6;
  border-radius: 1rem;
}

.custom-control-label::before,
.custom-file-label,
.custom-select {
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media screen and (prefers-reduced-motion: reduce) {
  .custom-control-label::before,
.custom-file-label,
.custom-select {
    transition: none;
  }
}

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

.nav-link {
  display: block;
  padding: 0.5rem 1rem;
}
.nav-link:hover, .nav-link:focus {
  text-decoration: none;
}
.nav-link.disabled {
  color: #6c757d;
}

.nav-tabs {
  border-bottom: 1px solid #232323;
}
.nav-tabs .nav-item {
  margin-bottom: -1px;
}
.nav-tabs .nav-link {
  border: 1px solid transparent;
  border-top-left-radius: 0.125rem;
  border-top-right-radius: 0.125rem;
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  border-color: #e9ecef #e9ecef #232323;
}
.nav-tabs .nav-link.disabled {
  color: #6c757d;
  background-color: transparent;
  border-color: transparent;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: #495057;
  background-color: #161616;
  border-color: #dee2e6 #dee2e6 #161616;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills .nav-link {
  border-radius: 0.125rem;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: rgba(255, 255, 255, 0.2);
  background-color: #009c9e;
}

.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}

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

.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1rem;
}
.navbar > .container,
.navbar > .container-fluid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.navbar-brand {
  display: inline-block;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  margin-right: 1rem;
  font-size: 1.25rem;
  line-height: inherit;
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
  text-decoration: none;
}

.navbar-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link {
  padding-right: 0;
  padding-left: 0;
}
.navbar-nav .dropdown-menu {
  position: static;
  float: none;
}

.navbar-text {
  display: inline-block;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center;
}

.navbar-toggler {
  padding: 0.25rem 0.75rem;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.125rem;
}
.navbar-toggler:hover, .navbar-toggler:focus {
  text-decoration: none;
}
.navbar-toggler:not(:disabled):not(.disabled) {
  cursor: pointer;
}

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  content: "";
  background: no-repeat center center;
  background-size: 100% 100%;
}

@media (max-width: 575.98px) {
  .navbar-expand-sm > .container,
.navbar-expand-sm > .container-fluid {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .navbar-expand-sm > .container,
.navbar-expand-sm > .container-fluid {
    flex-wrap: nowrap;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .navbar-expand-md > .container,
.navbar-expand-md > .container-fluid {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 768px) {
  .navbar-expand-md {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .navbar-expand-md > .container,
.navbar-expand-md > .container-fluid {
    flex-wrap: nowrap;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
}
@media (max-width: 991.98px) {
  .navbar-expand-lg > .container,
.navbar-expand-lg > .container-fluid {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .navbar-expand-lg > .container,
.navbar-expand-lg > .container-fluid {
    flex-wrap: nowrap;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
}
@media (max-width: 1199.98px) {
  .navbar-expand-xl > .container,
.navbar-expand-xl > .container-fluid {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .navbar-expand-xl > .container,
.navbar-expand-xl > .container-fluid {
    flex-wrap: nowrap;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
}
.navbar-expand {
  flex-flow: row nowrap;
  justify-content: flex-start;
}
.navbar-expand > .container,
.navbar-expand > .container-fluid {
  padding-right: 0;
  padding-left: 0;
}
.navbar-expand .navbar-nav {
  flex-direction: row;
}
.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}
.navbar-expand .navbar-nav .nav-link {
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}
.navbar-expand > .container,
.navbar-expand > .container-fluid {
  flex-wrap: nowrap;
}
.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}
.navbar-expand .navbar-toggler {
  display: none;
}

.navbar-light .navbar-brand {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-nav .nav-link {
  color: rgba(0, 0, 0, 0.5);
}
.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
  color: rgba(0, 0, 0, 0.7);
}
.navbar-light .navbar-nav .nav-link.disabled {
  color: rgba(0, 0, 0, 0.3);
}
.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .nav-link.active {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-toggler {
  color: rgba(0, 0, 0, 0.5);
  border-color: rgba(0, 0, 0, 0.1);
}
.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
.navbar-light .navbar-text {
  color: rgba(0, 0, 0, 0.5);
}
.navbar-light .navbar-text a {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {
  color: rgba(0, 0, 0, 0.9);
}

.navbar-dark .navbar-brand {
  color: #fff;
}
.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
  color: #fff;
}
.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.5);
}
.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
  color: rgba(255, 255, 255, 0.75);
}
.navbar-dark .navbar-nav .nav-link.disabled {
  color: rgba(255, 255, 255, 0.25);
}
.navbar-dark .navbar-nav .show > .nav-link,
.navbar-dark .navbar-nav .active > .nav-link,
.navbar-dark .navbar-nav .nav-link.show,
.navbar-dark .navbar-nav .nav-link.active {
  color: #fff;
}
.navbar-dark .navbar-toggler {
  color: rgba(255, 255, 255, 0.5);
  border-color: rgba(255, 255, 255, 0.1);
}
.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
.navbar-dark .navbar-text {
  color: rgba(255, 255, 255, 0.5);
}
.navbar-dark .navbar-text a {
  color: #fff;
}
.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {
  color: #fff;
}

.ccm-page .navbar .navbar-brand img {
  max-height: 50px;
}
.ccm-page .navbar:hover {
  background-color: rgba(22, 22, 22, 0.85) !important;
}
.ccm-page .navbar .navbar-nav {
  width: 100%;
  justify-content: right;
}
.ccm-page .navbar .navbar-nav .nav-item {
  padding: 0 1rem;
}
.ccm-page .navbar .navbar-nav .nav-item .nav-link {
  display: inline-block;
  color: #b6b6b6;
  font-size: 1.5rem;
  font-weight: 300;
  text-transform: uppercase;
  transition: all 0.2s ease-in-out;
  padding: 1rem 0;
}
@media (min-width: 768px) {
  .ccm-page .navbar .navbar-nav .nav-item .nav-link {
    font-size: 1rem;
  }
}
.ccm-page .navbar .navbar-nav .nav-item .nav-link:hover {
  color: #00696b;
}
.ccm-page .navbar .navbar-nav .dropdown .dropdown-menu .nav-item {
  padding: 0 1rem;
}
.ccm-page .navbar .navbar-nav .dropdown .dropdown-menu .nav-item .nav-link {
  font-size: 1.3rem;
}
@media (min-width: 768px) {
  .ccm-page .navbar .navbar-nav .dropdown .dropdown-menu .nav-item .nav-link {
    font-size: 0.8rem;
  }
}
.ccm-page .navbar .navbar-nav .dropdown .dropdown-menu .nav-item .nav-link.featured {
  font-weight: bold;
}
@media (max-width: 767.98px) {
  .ccm-page .navbar .navbar-nav .dropdown .dropdown-menu {
    background-color: transparent;
    border: none;
  }
}
.ccm-page .navbar .navbar-nav .dropdown.open .dropdown-menu {
  display: block;
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #232323;
  background-clip: border-box;
  border: 1px solid #232323;
  border-radius: 0.125rem;
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group:first-child .list-group-item:first-child {
  border-top-left-radius: 0.125rem;
  border-top-right-radius: 0.125rem;
}
.card > .list-group:last-child .list-group-item:last-child {
  border-bottom-right-radius: 0.125rem;
  border-bottom-left-radius: 0.125rem;
}

.card-body {
  flex: 1 1 auto;
  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-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid #232323;
}
.card-header:first-child {
  border-radius: calc(0.125rem - 1px) calc(0.125rem - 1px) 0 0;
}
.card-header + .list-group .list-group-item:first-child {
  border-top: 0;
}

.card-footer {
  padding: 0.75rem 1.25rem;
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 1px solid #232323;
}
.card-footer:last-child {
  border-radius: 0 0 calc(0.125rem - 1px) calc(0.125rem - 1px);
}

.card-header-tabs {
  margin-right: -0.625rem;
  margin-bottom: -0.75rem;
  margin-left: -0.625rem;
  border-bottom: 0;
}

.card-header-pills {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}

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

.card-img {
  width: 100%;
  border-radius: calc(0.125rem - 1px);
}

.card-img-top {
  width: 100%;
  border-top-left-radius: calc(0.125rem - 1px);
  border-top-right-radius: calc(0.125rem - 1px);
}

.card-img-bottom {
  width: 100%;
  border-bottom-right-radius: calc(0.125rem - 1px);
  border-bottom-left-radius: calc(0.125rem - 1px);
}

.card-deck {
  display: flex;
  flex-direction: column;
}
.card-deck .card {
  margin-bottom: 15px;
}
@media (min-width: 576px) {
  .card-deck {
    flex-flow: row wrap;
    margin-right: -15px;
    margin-left: -15px;
  }
  .card-deck .card {
    display: flex;
    flex: 1 0 0%;
    flex-direction: column;
    margin-right: 15px;
    margin-bottom: 0;
    margin-left: 15px;
  }
}

.card-group {
  display: flex;
  flex-direction: column;
}
.card-group > .card {
  margin-bottom: 15px;
}
@media (min-width: 576px) {
  .card-group {
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0%;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group > .card:first-child {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group > .card:first-child .card-img-top,
.card-group > .card:first-child .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:first-child .card-img-bottom,
.card-group > .card:first-child .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:last-child {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .card-group > .card:last-child .card-img-top,
.card-group > .card:last-child .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:last-child .card-img-bottom,
.card-group > .card:last-child .card-footer {
    border-bottom-left-radius: 0;
  }
  .card-group > .card:only-child {
    border-radius: 0.125rem;
  }
  .card-group > .card:only-child .card-img-top,
.card-group > .card:only-child .card-header {
    border-top-left-radius: 0.125rem;
    border-top-right-radius: 0.125rem;
  }
  .card-group > .card:only-child .card-img-bottom,
.card-group > .card:only-child .card-footer {
    border-bottom-right-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
  }
  .card-group > .card:not(:first-child):not(:last-child):not(:only-child) {
    border-radius: 0;
  }
  .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,
.card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,
.card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header,
.card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer {
    border-radius: 0;
  }
}

.card-columns .card {
  margin-bottom: 0.75rem;
}
@media (min-width: 576px) {
  .card-columns {
    column-count: 4;
    column-gap: 1.25rem;
    orphans: 1;
    widows: 1;
  }
  .card-columns .card {
    display: inline-block;
    width: 100%;
  }
}

.accordion .card:not(:first-of-type):not(:last-of-type) {
  border-bottom: 0;
  border-radius: 0;
}
.accordion .card:not(:first-of-type) .card-header:first-child {
  border-radius: 0;
}
.accordion .card:first-of-type {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.accordion .card:last-of-type {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.ccm-page .member-list:not(.cbp-ready) {
  opacity: 0;
}
.ccm-page .card.member .card-img {
  position: relative;
}
.ccm-page .card.member .card-img-overlay {
  padding: 0.75rem;
}
.ccm-page .card.member .card-img-overlay a {
  color: #b6b6b6;
  transition: color 1s;
  font-size: 1.2rem;
  text-decoration: none;
  padding: 0.375rem 0.3rem;
}
.ccm-page .card.member .card-img-overlay a:hover {
  color: #009c9e;
  text-decoration: none;
}
.ccm-page .card.member .card-body {
  text-align: center;
}
.ccm-page .card.member .card-body h3 {
  font-size: 1.25rem;
  font-weight: 1.25rem;
}
.ccm-page .card.member .card-body h4 {
  display: block;
  font-size: 0.8rem;
}
.ccm-page .card.member .card-body p {
  font-size: 0.875rem;
}

.ccm-page .card.package .card-header, .ccm-page .card.package .card-footer {
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.ccm-page .card.package:hover .card-header {
  background-color: #009c9e;
}
.ccm-page .card.package:hover .card-footer {
  background-color: #009c9e;
}
.ccm-page .card.package.active .card-header {
  background-color: #00696b;
}
.ccm-page .card.package.active .card-footer {
  background-color: #00696b;
}

.ccm-page .card.score .card-body i.fa {
  display: block;
  font-size: 4rem;
  text-align: center;
}
.ccm-page .card.score .card-body .rank {
  display: block;
  text-align: center;
}
.ccm-page .card.score .card-body .score {
  display: block;
  text-align: center;
  font-weight: bold;
  font-size: 3rem;
  color: #fff;
}

.ccm-page .card.tourney {
  margin-bottom: 1rem;
}
@media (max-width: 767.98px) {
  .ccm-page .card.tourney h3 {
    font-size: 1.2rem;
  }
  .ccm-page .card.tourney h4 {
    font-size: 1rem;
  }
}
.ccm-page .card.tourney .card-points {
  position: absolute;
  bottom: 2rem;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .ccm-page .card.tourney .card-points {
    font-size: 2rem;
  }
}
.ccm-page .card.tourney .card-button {
  position: absolute;
  bottom: 2rem;
  right: 2rem;
}

.ccm-page .card.home {
  padding: 0.5rem 1rem;
  background-color: rgba(255, 255, 255, 0.2);
}
.ccm-page .card.home.ccm-custom-style-container {
  height: 30rem;
}
.ccm-page .card.home.ccm-custom-style-container > p {
  margin: auto;
  margin-left: 0;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  list-style: none;
  background-color: transparent;
  border-radius: 0.125rem;
}

.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem;
}
.breadcrumb-item + .breadcrumb-item::before {
  display: inline-block;
  padding-right: 0.5rem;
  color: #6c757d;
  content: "/";
}
.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: underline;
}
.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: none;
}
.breadcrumb-item.active {
  color: #6c757d;
}

.pagination {
  display: flex;
  padding-left: 0;
  list-style: none;
  border-radius: 0.125rem;
}

.page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.25;
  color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(76, 76, 76, 0.1);
}
.page-link:hover {
  z-index: 2;
  color: #fff;
  text-decoration: none;
  background-color: rgba(255, 255, 255, 0.3);
  border-color: rgba(76, 76, 76, 0.2);
}
.page-link:focus {
  z-index: 2;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 156, 158, 0.25);
}
.page-link:not(:disabled):not(.disabled) {
  cursor: pointer;
}

.page-item:first-child .page-link {
  margin-left: 0;
  border-top-left-radius: 0.125rem;
  border-bottom-left-radius: 0.125rem;
}
.page-item:last-child .page-link {
  border-top-right-radius: 0.125rem;
  border-bottom-right-radius: 0.125rem;
}
.page-item.active .page-link {
  z-index: 1;
  color: #fff;
  background-color: #009c9e;
  border-color: #009c9e;
}
.page-item.disabled .page-link {
  color: #b6b6b6;
  pointer-events: none;
  cursor: auto;
  background-color: rgba(255, 255, 255, 0.05);
  border-color: rgba(76, 76, 76, 0.05);
}

.pagination-lg .page-link {
  padding: 0.75rem 1.5rem;
  font-size: 1.25rem;
  line-height: 1.5;
}
.pagination-lg .page-item:first-child .page-link {
  border-top-left-radius: 0.125rem;
  border-bottom-left-radius: 0.125rem;
}
.pagination-lg .page-item:last-child .page-link {
  border-top-right-radius: 0.125rem;
  border-bottom-right-radius: 0.125rem;
}

.pagination-sm .page-link {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
}
.pagination-sm .page-item:first-child .page-link {
  border-top-left-radius: 0.125rem;
  border-bottom-left-radius: 0.125rem;
}
.pagination-sm .page-item:last-child .page-link {
  border-top-right-radius: 0.125rem;
  border-bottom-right-radius: 0.125rem;
}

.badge {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.125rem;
}
.badge:empty {
  display: none;
}

.btn .badge, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon .badge, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a .badge, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a .badge, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a .badge {
  position: relative;
  top: -1px;
}

.badge-pill {
  padding-right: 0.6em;
  padding-left: 0.6em;
  border-radius: 10rem;
}

.badge-primary {
  color: #fff;
  background-color: #009c9e;
}
.badge-primary[href]:hover, .badge-primary[href]:focus {
  color: #fff;
  text-decoration: none;
  background-color: #00696b;
}

.badge-secondary {
  color: #fff;
  background-color: lightslategray;
}
.badge-secondary[href]:hover, .badge-secondary[href]:focus {
  color: #fff;
  text-decoration: none;
  background-color: #5f6f7e;
}

.badge-success {
  color: #fff;
  background-color: #3c763d;
}
.badge-success[href]:hover, .badge-success[href]:focus {
  color: #fff;
  text-decoration: none;
  background-color: #2b542c;
}

.badge-info {
  color: #fff;
  background-color: #31708f;
}
.badge-info[href]:hover, .badge-info[href]:focus {
  color: #fff;
  text-decoration: none;
  background-color: #245269;
}

.badge-warning {
  color: #fff;
  background-color: #8a6d3b;
}
.badge-warning[href]:hover, .badge-warning[href]:focus {
  color: #fff;
  text-decoration: none;
  background-color: #66512c;
}

.badge-danger {
  color: #fff;
  background-color: #a94442;
}
.badge-danger[href]:hover, .badge-danger[href]:focus {
  color: #fff;
  text-decoration: none;
  background-color: #843534;
}

.badge-light {
  color: #212529;
  background-color: #b6b6b6;
}
.badge-light[href]:hover, .badge-light[href]:focus {
  color: #212529;
  text-decoration: none;
  background-color: #9d9d9d;
}

.badge-dark {
  color: #fff;
  background-color: #161616;
}
.badge-dark[href]:hover, .badge-dark[href]:focus {
  color: #fff;
  text-decoration: none;
  background-color: black;
}

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

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

.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.125rem;
}

.alert-heading {
  color: inherit;
}

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

.alert-dismissible {
  padding-right: 4rem;
}
.alert-dismissible .close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.75rem 1.25rem;
  color: inherit;
}

.alert-primary {
  color: #005152;
  background-color: #ccebec;
  border-color: #b8e3e4;
}
.alert-primary hr {
  border-top-color: #a6dcdd;
}
.alert-primary .alert-link {
  color: #001f1f;
}

.alert-secondary {
  color: #3e4750;
  background-color: #e4e7eb;
  border-color: #d9dee2;
}
.alert-secondary hr {
  border-top-color: #cbd1d7;
}
.alert-secondary .alert-link {
  color: #282e33;
}

.alert-success {
  color: #1f3d20;
  background-color: #d8e4d8;
  border-color: #c8d9c9;
}
.alert-success hr {
  border-top-color: #b9cfba;
}
.alert-success .alert-link {
  color: #0e1b0e;
}

.alert-info {
  color: #193a4a;
  background-color: #d6e2e9;
  border-color: #c5d7e0;
}
.alert-info hr {
  border-top-color: #b4ccd7;
}
.alert-info .alert-link {
  color: #0c1c24;
}

.alert-warning {
  color: #48391f;
  background-color: #e8e2d8;
  border-color: #ded6c8;
}
.alert-warning hr {
  border-top-color: #d4cab8;
}
.alert-warning .alert-link {
  color: #241d10;
}

.alert-danger {
  color: #582322;
  background-color: #eedad9;
  border-color: #e7cbca;
}
.alert-danger hr {
  border-top-color: #dfbab8;
}
.alert-danger .alert-link {
  color: #331414;
}

.alert-light {
  color: #5f5f5f;
  background-color: #f0f0f0;
  border-color: #ebebeb;
}
.alert-light hr {
  border-top-color: #dedede;
}
.alert-light .alert-link {
  color: #464646;
}

.alert-dark {
  color: #0b0b0b;
  background-color: #d0d0d0;
  border-color: #bebebe;
}
.alert-dark hr {
  border-top-color: #b1b1b1;
}
.alert-dark .alert-link {
  color: black;
}

@keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  display: flex;
  height: 1rem;
  overflow: hidden;
  font-size: 0.75rem;
  background-color: #e9ecef;
  border-radius: 0.125rem;
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #009c9e;
  transition: width 0.6s ease;
}
@media screen and (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}

.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-bar-animated {
  animation: progress-bar-stripes 1s linear infinite;
}

.media {
  display: flex;
  align-items: flex-start;
}

.media-body {
  flex: 1;
}

.list-group {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
}

.list-group-item-action {
  width: 100%;
  color: #495057;
  text-align: inherit;
}
.list-group-item-action:hover, .list-group-item-action:focus {
  color: #495057;
  text-decoration: none;
  background-color: #f8f9fa;
}
.list-group-item-action:active {
  color: #b6b6b6;
  background-color: #e9ecef;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  margin-bottom: -1px;
  background-color: transparent;
  border: 1px solid #232323;
}
.list-group-item:first-child {
  border-top-left-radius: 0.125rem;
  border-top-right-radius: 0.125rem;
}
.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 0.125rem;
  border-bottom-left-radius: 0.125rem;
}
.list-group-item:hover, .list-group-item:focus {
  z-index: 1;
  text-decoration: none;
}
.list-group-item.disabled, .list-group-item:disabled {
  color: #6c757d;
  background-color: transparent;
}
.list-group-item.active {
  z-index: 2;
  color: #fff;
  background-color: #009c9e;
  border-color: #009c9e;
}

.list-group-flush .list-group-item {
  border-right: 0;
  border-left: 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;
}

.list-group-item-primary {
  color: #005152;
  background-color: #b8e3e4;
}
.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
  color: #005152;
  background-color: #a6dcdd;
}
.list-group-item-primary.list-group-item-action.active {
  color: #fff;
  background-color: #005152;
  border-color: #005152;
}

.list-group-item-secondary {
  color: #3e4750;
  background-color: #d9dee2;
}
.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
  color: #3e4750;
  background-color: #cbd1d7;
}
.list-group-item-secondary.list-group-item-action.active {
  color: #fff;
  background-color: #3e4750;
  border-color: #3e4750;
}

.list-group-item-success {
  color: #1f3d20;
  background-color: #c8d9c9;
}
.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
  color: #1f3d20;
  background-color: #b9cfba;
}
.list-group-item-success.list-group-item-action.active {
  color: #fff;
  background-color: #1f3d20;
  border-color: #1f3d20;
}

.list-group-item-info {
  color: #193a4a;
  background-color: #c5d7e0;
}
.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
  color: #193a4a;
  background-color: #b4ccd7;
}
.list-group-item-info.list-group-item-action.active {
  color: #fff;
  background-color: #193a4a;
  border-color: #193a4a;
}

.list-group-item-warning {
  color: #48391f;
  background-color: #ded6c8;
}
.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
  color: #48391f;
  background-color: #d4cab8;
}
.list-group-item-warning.list-group-item-action.active {
  color: #fff;
  background-color: #48391f;
  border-color: #48391f;
}

.list-group-item-danger {
  color: #582322;
  background-color: #e7cbca;
}
.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
  color: #582322;
  background-color: #dfbab8;
}
.list-group-item-danger.list-group-item-action.active {
  color: #fff;
  background-color: #582322;
  border-color: #582322;
}

.list-group-item-light {
  color: #5f5f5f;
  background-color: #ebebeb;
}
.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
  color: #5f5f5f;
  background-color: #dedede;
}
.list-group-item-light.list-group-item-action.active {
  color: #fff;
  background-color: #5f5f5f;
  border-color: #5f5f5f;
}

.list-group-item-dark {
  color: #0b0b0b;
  background-color: #bebebe;
}
.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
  color: #0b0b0b;
  background-color: #b1b1b1;
}
.list-group-item-dark.list-group-item-action.active {
  color: #fff;
  background-color: #0b0b0b;
  border-color: #0b0b0b;
}

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.5;
}
.close:not(:disabled):not(.disabled) {
  cursor: pointer;
}
.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
  color: #000;
  text-decoration: none;
  opacity: 0.75;
}

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

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

.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 820;
  display: none;
  overflow: hidden;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -25%);
}
@media screen and (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: translate(0, 0);
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - (0.5rem * 2));
}
.modal-dialog-centered::before {
  display: block;
  height: calc(100vh - (0.5rem * 2));
  content: "";
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #232323;
  background-clip: padding-box;
  border: 1px solid #232323;
  border-radius: 0.125rem;
  outline: 0;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 810;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: 0.7;
}

.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 5rem;
  border-bottom: 0 solid #232323;
  border-top-left-radius: 0.125rem;
  border-top-right-radius: 0.125rem;
}
.modal-header .close {
  padding: 5rem;
  margin: -5rem -5rem -5rem auto;
}

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

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 1rem;
}

.modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 1rem;
  border-top: 0 solid #232323;
}
.modal-footer > :not(:first-child) {
  margin-left: 0.25rem;
}
.modal-footer > :not(:last-child) {
  margin-right: 0.25rem;
}

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

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 600px;
    margin: 1.75rem auto;
  }
  .modal-dialog-centered {
    min-height: calc(100% - (1.75rem * 2));
  }
  .modal-dialog-centered::before {
    height: calc(100vh - (1.75rem * 2));
  }
  .modal-sm {
    max-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg {
    max-width: 600px;
  }
}
.ccm-page #modal .modal-dialog {
  max-width: 600px;
}
.ccm-page #modal .modal-dialog .modal-header {
  justify-content: center;
}
.ccm-page #modal .modal-dialog .modal-body {
  padding-top: 0;
}
.ccm-page #modal .modal-dialog .modal-body .member-image {
  margin-bottom: 2rem;
  /*margin-left: -17px;
  margin-right: -17px;*/
}

.ccm-page .ccm-block-calendar-wrapper.fc .fc-widget-header {
  border: none;
  font-size: 2.4rem;
  font-weight: 300;
  color: #009c9e;
}
.ccm-page .ccm-block-calendar-wrapper.fc .fc-week {
  min-height: 0;
}
.ccm-page .ccm-block-calendar-wrapper.fc .fc-body {
  border-style: hidden;
}
.ccm-page .ccm-block-calendar-wrapper.fc .fc-axis {
  border-right-style: hidden;
  border-bottom-style: hidden;
  border-top-style: hidden;
  color: #009c9e;
}
.ccm-page .ccm-block-calendar-wrapper.fc .fc-widget-content {
  border-color: rgba(255, 255, 255, 0.4);
}
.ccm-page .ccm-block-calendar-wrapper.fc .fc-divider {
  background: transparent;
}
.ccm-page .ccm-block-calendar-wrapper.fc .fc-scroller {
  overflow: auto !important;
  height: auto !important;
}
.ccm-page .ccm-block-calendar-wrapper.fc .fc-day-grid {
  display: none;
}
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message {
  border-top: rgba(182, 182, 182, 0.85) 1px solid;
  padding-top: 1rem;
  margin-top: 1rem;
}
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-avatar {
  border-radius: 0px;
}
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-body {
  padding: 15px 0;
}
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-admin-control {
  display: inline-block;
  transition: all 0.3s;
  opacity: 0;
}
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-social-share {
  display: inline-block;
  transition: all 0.3s;
  opacity: 0;
}
.ccm-page .ccm-conversation-wrapper .ccm-conversation-message:hover .ccm-conversation-social-share, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message:hover .ccm-conversation-message-admin-control {
  opacity: 1;
}

.tooltip {
  position: absolute;
  z-index: 840;
  display: block;
  margin: 0;
  font-family: Raleway, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: 0.9;
}
.tooltip .arrow {
  position: absolute;
  display: block;
  width: 0.8rem;
  height: 0.4rem;
}
.tooltip .arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-top, .bs-tooltip-auto[x-placement^=top] {
  padding: 0.4rem 0;
}
.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=top] .arrow {
  bottom: 0;
}
.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=top] .arrow::before {
  top: 0;
  border-width: 0.4rem 0.4rem 0;
  border-top-color: #000;
}

.bs-tooltip-right, .bs-tooltip-auto[x-placement^=right] {
  padding: 0 0.4rem;
}
.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=right] .arrow {
  left: 0;
  width: 0.4rem;
  height: 0.8rem;
}
.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=right] .arrow::before {
  right: 0;
  border-width: 0.4rem 0.4rem 0.4rem 0;
  border-right-color: #000;
}

.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=bottom] {
  padding: 0.4rem 0;
}
.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=bottom] .arrow {
  top: 0;
}
.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  bottom: 0;
  border-width: 0 0.4rem 0.4rem;
  border-bottom-color: #000;
}

.bs-tooltip-left, .bs-tooltip-auto[x-placement^=left] {
  padding: 0 0.4rem;
}
.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=left] .arrow {
  right: 0;
  width: 0.4rem;
  height: 0.8rem;
}
.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=left] .arrow::before {
  left: 0;
  border-width: 0.4rem 0 0.4rem 0.4rem;
  border-left-color: #000;
}

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

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 830;
  display: block;
  max-width: 276px;
  font-family: Raleway, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  background-color: rgba(22, 22, 22, 0.9);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.125rem;
}
.popover .arrow {
  position: absolute;
  display: block;
  width: 1rem;
  height: 0.5rem;
  margin: 0 0.125rem;
}
.popover .arrow::before, .popover .arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-popover-top, .bs-popover-auto[x-placement^=top] {
  margin-bottom: 0.5rem;
}
.bs-popover-top .arrow, .bs-popover-auto[x-placement^=top] .arrow {
  bottom: calc((0.5rem + 1px) * -1);
}
.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=top] .arrow::before,
.bs-popover-top .arrow::after,
.bs-popover-auto[x-placement^=top] .arrow::after {
  border-width: 0.5rem 0.5rem 0;
}
.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=top] .arrow::before {
  bottom: 0;
  border-top-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^=top] .arrow::after {
  bottom: 1px;
  border-top-color: rgba(22, 22, 22, 0.9);
}

.bs-popover-right, .bs-popover-auto[x-placement^=right] {
  margin-left: 0.5rem;
}
.bs-popover-right .arrow, .bs-popover-auto[x-placement^=right] .arrow {
  left: calc((0.5rem + 1px) * -1);
  width: 0.5rem;
  height: 1rem;
  margin: 0.125rem 0;
}
.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=right] .arrow::before,
.bs-popover-right .arrow::after,
.bs-popover-auto[x-placement^=right] .arrow::after {
  border-width: 0.5rem 0.5rem 0.5rem 0;
}
.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=right] .arrow::before {
  left: 0;
  border-right-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^=right] .arrow::after {
  left: 1px;
  border-right-color: rgba(22, 22, 22, 0.9);
}

.bs-popover-bottom, .bs-popover-auto[x-placement^=bottom] {
  margin-top: 0.5rem;
}
.bs-popover-bottom .arrow, .bs-popover-auto[x-placement^=bottom] .arrow {
  top: calc((0.5rem + 1px) * -1);
}
.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=bottom] .arrow::before,
.bs-popover-bottom .arrow::after,
.bs-popover-auto[x-placement^=bottom] .arrow::after {
  border-width: 0 0.5rem 0.5rem 0.5rem;
}
.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=bottom] .arrow::before {
  top: 0;
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^=bottom] .arrow::after {
  top: 1px;
  border-bottom-color: rgba(22, 22, 22, 0.9);
}
.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=bottom] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 1rem;
  margin-left: -0.5rem;
  content: "";
  border-bottom: 1px solid #161616;
}

.bs-popover-left, .bs-popover-auto[x-placement^=left] {
  margin-right: 0.5rem;
}
.bs-popover-left .arrow, .bs-popover-auto[x-placement^=left] .arrow {
  right: calc((0.5rem + 1px) * -1);
  width: 0.5rem;
  height: 1rem;
  margin: 0.125rem 0;
}
.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=left] .arrow::before,
.bs-popover-left .arrow::after,
.bs-popover-auto[x-placement^=left] .arrow::after {
  border-width: 0.5rem 0 0.5rem 0.5rem;
}
.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=left] .arrow::before {
  right: 0;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^=left] .arrow::after {
  right: 1px;
  border-left-color: rgba(22, 22, 22, 0.9);
}

.popover-header {
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  color: inherit;
  background-color: #161616;
  border-bottom: 1px solid #090909;
  border-top-left-radius: calc(0.125rem - 1px);
  border-top-right-radius: calc(0.125rem - 1px);
}
.popover-header:empty {
  display: none;
}

.popover-body {
  padding: 0.5rem 0.75rem;
  color: #b6b6b6;
}

.carousel {
  position: relative;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.carousel-item {
  position: relative;
  display: none;
  align-items: center;
  width: 100%;
  backface-visibility: hidden;
  perspective: 1000px;
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
  transition: transform 0.6s ease;
}
@media screen and (prefers-reduced-motion: reduce) {
  .carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
    transition: none;
  }
}

.carousel-item-next,
.carousel-item-prev {
  position: absolute;
  top: 0;
}

.carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right {
  transform: translateX(0);
}
@supports (transform-style: preserve-3d) {
  .carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right {
    transform: translate3d(0, 0, 0);
  }
}

.carousel-item-next,
.active.carousel-item-right {
  transform: translateX(100%);
}
@supports (transform-style: preserve-3d) {
  .carousel-item-next,
.active.carousel-item-right {
    transform: translate3d(100%, 0, 0);
  }
}

.carousel-item-prev,
.active.carousel-item-left {
  transform: translateX(-100%);
}
@supports (transform-style: preserve-3d) {
  .carousel-item-prev,
.active.carousel-item-left {
    transform: translate3d(-100%, 0, 0);
  }
}

.carousel-fade .carousel-item {
  opacity: 0;
  transition-duration: 0.6s;
  transition-property: opacity;
}
.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right {
  opacity: 1;
}
.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
  opacity: 0;
}
.carousel-fade .carousel-item-next,
.carousel-fade .carousel-item-prev,
.carousel-fade .carousel-item.active,
.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-prev {
  transform: translateX(0);
}
@supports (transform-style: preserve-3d) {
  .carousel-fade .carousel-item-next,
.carousel-fade .carousel-item-prev,
.carousel-fade .carousel-item.active,
.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-prev {
    transform: translate3d(0, 0, 0);
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  color: #fff;
  text-align: center;
  opacity: 0.5;
}
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
}

.carousel-control-next {
  right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: transparent no-repeat center center;
  background-size: 100% 100%;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E");
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E");
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 10px;
  left: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none;
}
.carousel-indicators li {
  position: relative;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.5);
}
.carousel-indicators li::before {
  position: absolute;
  top: -10px;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 10px;
  content: "";
}
.carousel-indicators li::after {
  position: absolute;
  bottom: -10px;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 10px;
  content: "";
}
.carousel-indicators .active {
  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;
}

.align-baseline {
  vertical-align: baseline !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

.bg-primary {
  background-color: #009c9e !important;
}

a.bg-primary:hover, a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
  background-color: #00696b !important;
}

.bg-secondary {
  background-color: lightslategray !important;
}

a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #5f6f7e !important;
}

.bg-success {
  background-color: #3c763d !important;
}

a.bg-success:hover, a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
  background-color: #2b542c !important;
}

.bg-info {
  background-color: #31708f !important;
}

a.bg-info:hover, a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
  background-color: #245269 !important;
}

.bg-warning {
  background-color: #8a6d3b !important;
}

a.bg-warning:hover, a.bg-warning:focus,
button.bg-warning:hover,
button.bg-warning:focus {
  background-color: #66512c !important;
}

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

a.bg-danger:hover, a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
  background-color: #843534 !important;
}

.bg-light {
  background-color: #b6b6b6 !important;
}

a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
  background-color: #9d9d9d !important;
}

.bg-dark {
  background-color: #161616 !important;
}

a.bg-dark:hover, a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
  background-color: black !important;
}

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

.bg-transparent {
  background-color: transparent !important;
}

.border {
  border: 1px solid #dee2e6 !important;
}

.border-top {
  border-top: 1px solid #dee2e6 !important;
}

.border-right {
  border-right: 1px solid #dee2e6 !important;
}

.border-bottom {
  border-bottom: 1px solid #dee2e6 !important;
}

.border-left {
  border-left: 1px solid #dee2e6 !important;
}

.border-0 {
  border: 0 !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-right-0 {
  border-right: 0 !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-left-0 {
  border-left: 0 !important;
}

.border-primary {
  border-color: #009c9e !important;
}

.border-secondary {
  border-color: lightslategray !important;
}

.border-success {
  border-color: #3c763d !important;
}

.border-info {
  border-color: #31708f !important;
}

.border-warning {
  border-color: #8a6d3b !important;
}

.border-danger {
  border-color: #a94442 !important;
}

.border-light {
  border-color: #b6b6b6 !important;
}

.border-dark {
  border-color: #161616 !important;
}

.border-white {
  border-color: #fff !important;
}

.rounded {
  border-radius: 0.125rem !important;
}

.rounded-top {
  border-top-left-radius: 0.125rem !important;
  border-top-right-radius: 0.125rem !important;
}

.rounded-right {
  border-top-right-radius: 0.125rem !important;
  border-bottom-right-radius: 0.125rem !important;
}

.rounded-bottom {
  border-bottom-right-radius: 0.125rem !important;
  border-bottom-left-radius: 0.125rem !important;
}

.rounded-left {
  border-top-left-radius: 0.125rem !important;
  border-bottom-left-radius: 0.125rem !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

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

.d-none {
  display: none !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
}
@media print {
  .d-print-none {
    display: none !important;
  }
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
}
.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}
.embed-responsive::before {
  display: block;
  content: "";
}
.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::before {
  padding-top: 42.8571428571%;
}

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

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

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

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
}
.float-left {
  float: left !important;
}

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

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

@media (min-width: 576px) {
  .float-sm-left {
    float: left !important;
  }
  .float-sm-right {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
}
@media (min-width: 768px) {
  .float-md-left {
    float: left !important;
  }
  .float-md-right {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
}
@media (min-width: 992px) {
  .float-lg-left {
    float: left !important;
  }
  .float-lg-right {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important;
  }
  .float-xl-right {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
}
.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 800;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 800;
}

@supports (position: sticky) {
  .sticky-top {
    position: sticky;
    top: 0;
    z-index: 790;
  }
}

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

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

.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.mh-100 {
  max-height: 100% !important;
}

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

.mt-0,
.my-0 {
  margin-top: 0 !important;
}

.mr-0,
.mx-0 {
  margin-right: 0 !important;
}

.mb-0,
.my-0 {
  margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
  margin-left: 0 !important;
}

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

.mt-1,
.my-1 {
  margin-top: 0.25rem !important;
}

.mr-1,
.mx-1 {
  margin-right: 0.25rem !important;
}

.mb-1,
.my-1 {
  margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1 {
  margin-left: 0.25rem !important;
}

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

.mt-2,
.my-2 {
  margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
  margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
  margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
  margin-left: 0.5rem !important;
}

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

.mt-3,
.my-3 {
  margin-top: 1rem !important;
}

.mr-3,
.mx-3 {
  margin-right: 1rem !important;
}

.mb-3,
.my-3 {
  margin-bottom: 1rem !important;
}

.ml-3,
.mx-3 {
  margin-left: 1rem !important;
}

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

.mt-4,
.my-4 {
  margin-top: 1.5rem !important;
}

.mr-4,
.mx-4 {
  margin-right: 1.5rem !important;
}

.mb-4,
.my-4 {
  margin-bottom: 1.5rem !important;
}

.ml-4,
.mx-4 {
  margin-left: 1.5rem !important;
}

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

.mt-5,
.my-5 {
  margin-top: 3rem !important;
}

.mr-5,
.mx-5 {
  margin-right: 3rem !important;
}

.mb-5,
.my-5 {
  margin-bottom: 3rem !important;
}

.ml-5,
.mx-5 {
  margin-left: 3rem !important;
}

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

.pt-0,
.py-0 {
  padding-top: 0 !important;
}

.pr-0,
.px-0 {
  padding-right: 0 !important;
}

.pb-0,
.py-0 {
  padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
  padding-left: 0 !important;
}

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

.pt-1,
.py-1 {
  padding-top: 0.25rem !important;
}

.pr-1,
.px-1 {
  padding-right: 0.25rem !important;
}

.pb-1,
.py-1 {
  padding-bottom: 0.25rem !important;
}

.pl-1,
.px-1 {
  padding-left: 0.25rem !important;
}

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

.pt-2,
.py-2 {
  padding-top: 0.5rem !important;
}

.pr-2,
.px-2 {
  padding-right: 0.5rem !important;
}

.pb-2,
.py-2 {
  padding-bottom: 0.5rem !important;
}

.pl-2,
.px-2 {
  padding-left: 0.5rem !important;
}

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

.pt-3,
.py-3 {
  padding-top: 1rem !important;
}

.pr-3,
.px-3 {
  padding-right: 1rem !important;
}

.pb-3,
.py-3 {
  padding-bottom: 1rem !important;
}

.pl-3,
.px-3 {
  padding-left: 1rem !important;
}

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

.pt-4,
.py-4 {
  padding-top: 1.5rem !important;
}

.pr-4,
.px-4 {
  padding-right: 1.5rem !important;
}

.pb-4,
.py-4 {
  padding-bottom: 1.5rem !important;
}

.pl-4,
.px-4 {
  padding-left: 1.5rem !important;
}

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

.pt-5,
.py-5 {
  padding-top: 3rem !important;
}

.pr-5,
.px-5 {
  padding-right: 3rem !important;
}

.pb-5,
.py-5 {
  padding-bottom: 3rem !important;
}

.pl-5,
.px-5 {
  padding-left: 3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mt-auto,
.my-auto {
  margin-top: auto !important;
}

.mr-auto,
.mx-auto {
  margin-right: auto !important;
}

.mb-auto,
.my-auto {
  margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
  margin-left: auto !important;
}

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .mt-sm-0,
.my-sm-0 {
    margin-top: 0 !important;
  }
  .mr-sm-0,
.mx-sm-0 {
    margin-right: 0 !important;
  }
  .mb-sm-0,
.my-sm-0 {
    margin-bottom: 0 !important;
  }
  .ml-sm-0,
.mx-sm-0 {
    margin-left: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .mt-sm-1,
.my-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mr-sm-1,
.mx-sm-1 {
    margin-right: 0.25rem !important;
  }
  .mb-sm-1,
.my-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-sm-1,
.mx-sm-1 {
    margin-left: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .mt-sm-2,
.my-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mr-sm-2,
.mx-sm-2 {
    margin-right: 0.5rem !important;
  }
  .mb-sm-2,
.my-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-sm-2,
.mx-sm-2 {
    margin-left: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .mt-sm-3,
.my-sm-3 {
    margin-top: 1rem !important;
  }
  .mr-sm-3,
.mx-sm-3 {
    margin-right: 1rem !important;
  }
  .mb-sm-3,
.my-sm-3 {
    margin-bottom: 1rem !important;
  }
  .ml-sm-3,
.mx-sm-3 {
    margin-left: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .mt-sm-4,
.my-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mr-sm-4,
.mx-sm-4 {
    margin-right: 1.5rem !important;
  }
  .mb-sm-4,
.my-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-sm-4,
.mx-sm-4 {
    margin-left: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .mt-sm-5,
.my-sm-5 {
    margin-top: 3rem !important;
  }
  .mr-sm-5,
.mx-sm-5 {
    margin-right: 3rem !important;
  }
  .mb-sm-5,
.my-sm-5 {
    margin-bottom: 3rem !important;
  }
  .ml-sm-5,
.mx-sm-5 {
    margin-left: 3rem !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .pt-sm-0,
.py-sm-0 {
    padding-top: 0 !important;
  }
  .pr-sm-0,
.px-sm-0 {
    padding-right: 0 !important;
  }
  .pb-sm-0,
.py-sm-0 {
    padding-bottom: 0 !important;
  }
  .pl-sm-0,
.px-sm-0 {
    padding-left: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .pt-sm-1,
.py-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pr-sm-1,
.px-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pb-sm-1,
.py-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-sm-1,
.px-sm-1 {
    padding-left: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .pt-sm-2,
.py-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pr-sm-2,
.px-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pb-sm-2,
.py-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-sm-2,
.px-sm-2 {
    padding-left: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .pt-sm-3,
.py-sm-3 {
    padding-top: 1rem !important;
  }
  .pr-sm-3,
.px-sm-3 {
    padding-right: 1rem !important;
  }
  .pb-sm-3,
.py-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pl-sm-3,
.px-sm-3 {
    padding-left: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .pt-sm-4,
.py-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pr-sm-4,
.px-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pb-sm-4,
.py-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-sm-4,
.px-sm-4 {
    padding-left: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .pt-sm-5,
.py-sm-5 {
    padding-top: 3rem !important;
  }
  .pr-sm-5,
.px-sm-5 {
    padding-right: 3rem !important;
  }
  .pb-sm-5,
.py-sm-5 {
    padding-bottom: 3rem !important;
  }
  .pl-sm-5,
.px-sm-5 {
    padding-left: 3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mt-sm-auto,
.my-sm-auto {
    margin-top: auto !important;
  }
  .mr-sm-auto,
.mx-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-auto,
.my-sm-auto {
    margin-bottom: auto !important;
  }
  .ml-sm-auto,
.mx-sm-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }
  .mt-md-0,
.my-md-0 {
    margin-top: 0 !important;
  }
  .mr-md-0,
.mx-md-0 {
    margin-right: 0 !important;
  }
  .mb-md-0,
.my-md-0 {
    margin-bottom: 0 !important;
  }
  .ml-md-0,
.mx-md-0 {
    margin-left: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .mt-md-1,
.my-md-1 {
    margin-top: 0.25rem !important;
  }
  .mr-md-1,
.mx-md-1 {
    margin-right: 0.25rem !important;
  }
  .mb-md-1,
.my-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-md-1,
.mx-md-1 {
    margin-left: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .mt-md-2,
.my-md-2 {
    margin-top: 0.5rem !important;
  }
  .mr-md-2,
.mx-md-2 {
    margin-right: 0.5rem !important;
  }
  .mb-md-2,
.my-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-md-2,
.mx-md-2 {
    margin-left: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .mt-md-3,
.my-md-3 {
    margin-top: 1rem !important;
  }
  .mr-md-3,
.mx-md-3 {
    margin-right: 1rem !important;
  }
  .mb-md-3,
.my-md-3 {
    margin-bottom: 1rem !important;
  }
  .ml-md-3,
.mx-md-3 {
    margin-left: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .mt-md-4,
.my-md-4 {
    margin-top: 1.5rem !important;
  }
  .mr-md-4,
.mx-md-4 {
    margin-right: 1.5rem !important;
  }
  .mb-md-4,
.my-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-md-4,
.mx-md-4 {
    margin-left: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .mt-md-5,
.my-md-5 {
    margin-top: 3rem !important;
  }
  .mr-md-5,
.mx-md-5 {
    margin-right: 3rem !important;
  }
  .mb-md-5,
.my-md-5 {
    margin-bottom: 3rem !important;
  }
  .ml-md-5,
.mx-md-5 {
    margin-left: 3rem !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .pt-md-0,
.py-md-0 {
    padding-top: 0 !important;
  }
  .pr-md-0,
.px-md-0 {
    padding-right: 0 !important;
  }
  .pb-md-0,
.py-md-0 {
    padding-bottom: 0 !important;
  }
  .pl-md-0,
.px-md-0 {
    padding-left: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .pt-md-1,
.py-md-1 {
    padding-top: 0.25rem !important;
  }
  .pr-md-1,
.px-md-1 {
    padding-right: 0.25rem !important;
  }
  .pb-md-1,
.py-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-md-1,
.px-md-1 {
    padding-left: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .pt-md-2,
.py-md-2 {
    padding-top: 0.5rem !important;
  }
  .pr-md-2,
.px-md-2 {
    padding-right: 0.5rem !important;
  }
  .pb-md-2,
.py-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-md-2,
.px-md-2 {
    padding-left: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .pt-md-3,
.py-md-3 {
    padding-top: 1rem !important;
  }
  .pr-md-3,
.px-md-3 {
    padding-right: 1rem !important;
  }
  .pb-md-3,
.py-md-3 {
    padding-bottom: 1rem !important;
  }
  .pl-md-3,
.px-md-3 {
    padding-left: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .pt-md-4,
.py-md-4 {
    padding-top: 1.5rem !important;
  }
  .pr-md-4,
.px-md-4 {
    padding-right: 1.5rem !important;
  }
  .pb-md-4,
.py-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-md-4,
.px-md-4 {
    padding-left: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .pt-md-5,
.py-md-5 {
    padding-top: 3rem !important;
  }
  .pr-md-5,
.px-md-5 {
    padding-right: 3rem !important;
  }
  .pb-md-5,
.py-md-5 {
    padding-bottom: 3rem !important;
  }
  .pl-md-5,
.px-md-5 {
    padding-left: 3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mt-md-auto,
.my-md-auto {
    margin-top: auto !important;
  }
  .mr-md-auto,
.mx-md-auto {
    margin-right: auto !important;
  }
  .mb-md-auto,
.my-md-auto {
    margin-bottom: auto !important;
  }
  .ml-md-auto,
.mx-md-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }
  .mt-lg-0,
.my-lg-0 {
    margin-top: 0 !important;
  }
  .mr-lg-0,
.mx-lg-0 {
    margin-right: 0 !important;
  }
  .mb-lg-0,
.my-lg-0 {
    margin-bottom: 0 !important;
  }
  .ml-lg-0,
.mx-lg-0 {
    margin-left: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .mt-lg-1,
.my-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mr-lg-1,
.mx-lg-1 {
    margin-right: 0.25rem !important;
  }
  .mb-lg-1,
.my-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-lg-1,
.mx-lg-1 {
    margin-left: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .mt-lg-2,
.my-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mr-lg-2,
.mx-lg-2 {
    margin-right: 0.5rem !important;
  }
  .mb-lg-2,
.my-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-lg-2,
.mx-lg-2 {
    margin-left: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .mt-lg-3,
.my-lg-3 {
    margin-top: 1rem !important;
  }
  .mr-lg-3,
.mx-lg-3 {
    margin-right: 1rem !important;
  }
  .mb-lg-3,
.my-lg-3 {
    margin-bottom: 1rem !important;
  }
  .ml-lg-3,
.mx-lg-3 {
    margin-left: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .mt-lg-4,
.my-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mr-lg-4,
.mx-lg-4 {
    margin-right: 1.5rem !important;
  }
  .mb-lg-4,
.my-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-lg-4,
.mx-lg-4 {
    margin-left: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .mt-lg-5,
.my-lg-5 {
    margin-top: 3rem !important;
  }
  .mr-lg-5,
.mx-lg-5 {
    margin-right: 3rem !important;
  }
  .mb-lg-5,
.my-lg-5 {
    margin-bottom: 3rem !important;
  }
  .ml-lg-5,
.mx-lg-5 {
    margin-left: 3rem !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .pt-lg-0,
.py-lg-0 {
    padding-top: 0 !important;
  }
  .pr-lg-0,
.px-lg-0 {
    padding-right: 0 !important;
  }
  .pb-lg-0,
.py-lg-0 {
    padding-bottom: 0 !important;
  }
  .pl-lg-0,
.px-lg-0 {
    padding-left: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .pt-lg-1,
.py-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pr-lg-1,
.px-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pb-lg-1,
.py-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-lg-1,
.px-lg-1 {
    padding-left: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .pt-lg-2,
.py-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pr-lg-2,
.px-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pb-lg-2,
.py-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-lg-2,
.px-lg-2 {
    padding-left: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .pt-lg-3,
.py-lg-3 {
    padding-top: 1rem !important;
  }
  .pr-lg-3,
.px-lg-3 {
    padding-right: 1rem !important;
  }
  .pb-lg-3,
.py-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pl-lg-3,
.px-lg-3 {
    padding-left: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .pt-lg-4,
.py-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pr-lg-4,
.px-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pb-lg-4,
.py-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-lg-4,
.px-lg-4 {
    padding-left: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .pt-lg-5,
.py-lg-5 {
    padding-top: 3rem !important;
  }
  .pr-lg-5,
.px-lg-5 {
    padding-right: 3rem !important;
  }
  .pb-lg-5,
.py-lg-5 {
    padding-bottom: 3rem !important;
  }
  .pl-lg-5,
.px-lg-5 {
    padding-left: 3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mt-lg-auto,
.my-lg-auto {
    margin-top: auto !important;
  }
  .mr-lg-auto,
.mx-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-auto,
.my-lg-auto {
    margin-bottom: auto !important;
  }
  .ml-lg-auto,
.mx-lg-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important;
  }
  .mt-xl-0,
.my-xl-0 {
    margin-top: 0 !important;
  }
  .mr-xl-0,
.mx-xl-0 {
    margin-right: 0 !important;
  }
  .mb-xl-0,
.my-xl-0 {
    margin-bottom: 0 !important;
  }
  .ml-xl-0,
.mx-xl-0 {
    margin-left: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .mt-xl-1,
.my-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mr-xl-1,
.mx-xl-1 {
    margin-right: 0.25rem !important;
  }
  .mb-xl-1,
.my-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-xl-1,
.mx-xl-1 {
    margin-left: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .mt-xl-2,
.my-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mr-xl-2,
.mx-xl-2 {
    margin-right: 0.5rem !important;
  }
  .mb-xl-2,
.my-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-xl-2,
.mx-xl-2 {
    margin-left: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .mt-xl-3,
.my-xl-3 {
    margin-top: 1rem !important;
  }
  .mr-xl-3,
.mx-xl-3 {
    margin-right: 1rem !important;
  }
  .mb-xl-3,
.my-xl-3 {
    margin-bottom: 1rem !important;
  }
  .ml-xl-3,
.mx-xl-3 {
    margin-left: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .mt-xl-4,
.my-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mr-xl-4,
.mx-xl-4 {
    margin-right: 1.5rem !important;
  }
  .mb-xl-4,
.my-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-xl-4,
.mx-xl-4 {
    margin-left: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .mt-xl-5,
.my-xl-5 {
    margin-top: 3rem !important;
  }
  .mr-xl-5,
.mx-xl-5 {
    margin-right: 3rem !important;
  }
  .mb-xl-5,
.my-xl-5 {
    margin-bottom: 3rem !important;
  }
  .ml-xl-5,
.mx-xl-5 {
    margin-left: 3rem !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .pt-xl-0,
.py-xl-0 {
    padding-top: 0 !important;
  }
  .pr-xl-0,
.px-xl-0 {
    padding-right: 0 !important;
  }
  .pb-xl-0,
.py-xl-0 {
    padding-bottom: 0 !important;
  }
  .pl-xl-0,
.px-xl-0 {
    padding-left: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .pt-xl-1,
.py-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pr-xl-1,
.px-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pb-xl-1,
.py-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-xl-1,
.px-xl-1 {
    padding-left: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .pt-xl-2,
.py-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pr-xl-2,
.px-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pb-xl-2,
.py-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-xl-2,
.px-xl-2 {
    padding-left: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .pt-xl-3,
.py-xl-3 {
    padding-top: 1rem !important;
  }
  .pr-xl-3,
.px-xl-3 {
    padding-right: 1rem !important;
  }
  .pb-xl-3,
.py-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pl-xl-3,
.px-xl-3 {
    padding-left: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .pt-xl-4,
.py-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pr-xl-4,
.px-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pb-xl-4,
.py-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-xl-4,
.px-xl-4 {
    padding-left: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .pt-xl-5,
.py-xl-5 {
    padding-top: 3rem !important;
  }
  .pr-xl-5,
.px-xl-5 {
    padding-right: 3rem !important;
  }
  .pb-xl-5,
.py-xl-5 {
    padding-bottom: 3rem !important;
  }
  .pl-xl-5,
.px-xl-5 {
    padding-left: 3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mt-xl-auto,
.my-xl-auto {
    margin-top: auto !important;
  }
  .mr-xl-auto,
.mx-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-auto,
.my-xl-auto {
    margin-bottom: auto !important;
  }
  .ml-xl-auto,
.mx-xl-auto {
    margin-left: auto !important;
  }
}
.text-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

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

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

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

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

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

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

@media (min-width: 576px) {
  .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-light {
  font-weight: 300 !important;
}

.font-weight-normal {
  font-weight: 400 !important;
}

.font-weight-bold {
  font-weight: 700 !important;
}

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

.text-white {
  color: #fff !important;
}

.text-primary {
  color: #009c9e !important;
}

a.text-primary:hover, a.text-primary:focus {
  color: #00696b !important;
}

.text-secondary {
  color: lightslategray !important;
}

a.text-secondary:hover, a.text-secondary:focus {
  color: #5f6f7e !important;
}

.text-success {
  color: #3c763d !important;
}

a.text-success:hover, a.text-success:focus {
  color: #2b542c !important;
}

.text-info {
  color: #31708f !important;
}

a.text-info:hover, a.text-info:focus {
  color: #245269 !important;
}

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

a.text-warning:hover, a.text-warning:focus {
  color: #66512c !important;
}

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

a.text-danger:hover, a.text-danger:focus {
  color: #843534 !important;
}

.text-light {
  color: #b6b6b6 !important;
}

a.text-light:hover, a.text-light:focus {
  color: #9d9d9d !important;
}

.text-dark {
  color: #161616 !important;
}

a.text-dark:hover, a.text-dark:focus {
  color: black !important;
}

.text-body {
  color: #b6b6b6 !important;
}

.text-muted, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline .ccm-conversation-message-date {
  color: #6c757d !important;
}

.text-black-50 {
  color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important;
}

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

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

@media print {
  *,
*::before,
*::after {
    text-shadow: none !important;
    box-shadow: none !important;
  }
  a:not(.btn) {
    text-decoration: underline;
  }
  abbr[title]::after {
    content: " (" attr(title) ")";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
blockquote {
    border: 1px solid #adb5bd;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
img {
    page-break-inside: avoid;
  }
  p,
h2,
h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
h3 {
    page-break-after: avoid;
  }
  @page {
    size: a3;
  }
  body {
    min-width: 992px !important;
  }
  .container {
    min-width: 992px !important;
  }
  .navbar {
    display: none;
  }
  .badge {
    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 #dee2e6 !important;
  }
  .table-dark {
    color: inherit;
  }
  .table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody + tbody {
    border-color: #dee2e6;
  }
  .table .thead-dark th {
    color: inherit;
    border-color: #dee2e6;
  }
}
.bg-light-transparent {
  background-color: rgba(182, 182, 182, 0.85) !important;
}

.bg-dark-transparent {
  background-color: rgba(22, 22, 22, 0.85) !important;
}

.bg-lighter {
  background-color: rgba(35, 35, 35, 0.75) !important;
}

.bg-xdark {
  background-color: rgba(0, 0, 0, 0.75) !important;
}

.bg-xxdark {
  background-color: rgba(0, 0, 0, 0.75) !important;
}

body.parallax .parallax,
body.parallax .parallax1,
body.parallax .parallax2,
body.parallax .parallax3,
body.parallax .parallax4,
body.parallax .parallax5,
body.parallax .parallax-1,
body.parallax .parallax-2,
body.parallax .parallax-3,
body.parallax .parallax-4,
body.parallax .parallax-5 {
  background-attachment: fixed;
  background-size: cover;
}

.ccm-page #page-header {
  min-height: 40vh;
  background-position-y: 50%;
  padding: 20vh 0 10vh 0;
}
.ccm-page #page-header h1 {
  text-transform: uppercase;
  font-weight: 200;
}
@media (max-width: 991.98px) {
  .ccm-page #page-header {
    padding: 10vh 0 5vh 0;
  }
  .ccm-page #page-header h1 {
    font-size: 2rem;
    margin-top: 60px;
  }
}

.ccm-page section.socialboxes a.box:hover .text:before {
  background-color: #009c9e;
}
.ccm-page section.socialboxes a.box .icon {
  width: 20%;
  height: 100%;
  line-height: 200px;
  background-color: rgba(0, 0, 0, 0.4);
  text-align: center;
  color: white;
  font-size: 31px;
  opacity: 0.5;
  position: relative;
  z-index: 2;
}
.ccm-page section.socialboxes a.box .icon .icon-discord {
  background: url(../images/discord_logo.png);
  background-size: 31px 31px;
  width: 31px;
  height: 31px;
}
.ccm-page section.socialboxes a.box .text {
  padding: 55px 15px;
  position: absolute;
  height: 100%;
  z-index: 1;
  width: 80%;
  right: 0;
}
.ccm-page section.socialboxes a.box .text p {
  font-size: 16px;
  color: #b0b0b0;
  position: relative;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
.ccm-page section.socialboxes a.box .text h3 {
  color: #c3c3c3;
  position: relative;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
.ccm-page section.socialboxes a.box .text .arrow {
  position: absolute;
  left: 0px;
  top: 50%;
  margin-top: -10px;
  content: "";
  border-bottom: 10px solid transparent;
  border-top: 10px solid transparent;
  border-left: 10px solid rgba(0, 0, 0, 0.4);
  opacity: 0.8;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
.ccm-page section.socialboxes a.box .text .arrow:before {
  position: absolute;
  left: 0px;
  top: 10px;
  content: "";
  width: 10px;
  height: 73px;
  background-color: transparent;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
.ccm-page section.socialboxes a.box .text .arrow:after {
  position: absolute;
  left: 0px;
  bottom: 10px;
  content: "";
  width: 10px;
  height: 73px;
  background-color: transparent;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
.ccm-page section.socialboxes a.box .text:before {
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  content: "";
  opacity: 0.2;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}

.ccm-page .timeline {
  list-style: none;
  padding: 20px 0 20px;
  position: relative;
}
.ccm-page .timeline:before {
  top: 0;
  bottom: 0;
  position: absolute;
  content: " ";
  width: 3px;
  background-color: #eeeeee;
  left: 50%;
  margin-left: -1.5px;
}
.ccm-page .timeline > li {
  margin-bottom: 20px;
  position: relative;
}
.ccm-page .timeline > li:before {
  content: " ";
  display: table;
}
.ccm-page .timeline > li:after {
  content: " ";
  display: table;
  clear: both;
}
.ccm-page .timeline > li:before {
  content: " ";
  display: table;
}
.ccm-page .timeline > li:after {
  content: " ";
  display: table;
  clear: both;
}
.ccm-page .timeline > li .timeline-panel {
  width: 46%;
  float: left;
  border: 1px solid #232323;
  background: #232323;
  border-radius: 2px;
  padding: 20px;
  position: relative;
}
.ccm-page .timeline > li .timeline-panel .timeline-icons i {
  font-size: 2rem;
  color: #b6b6b6;
}
.ccm-page .timeline > li .timeline-panel .timeline-icons .badge {
  top: -1.5rem;
  left: -0.8rem;
}
.ccm-page .timeline > li .timeline-panel:before {
  position: absolute;
  top: 26px;
  right: -15px;
  display: inline-block;
  border-top: 15px solid transparent;
  border-left: 15px solid #232323;
  border-right: 0 solid #232323;
  border-bottom: 15px solid transparent;
  content: " ";
}
.ccm-page .timeline > li .timeline-panel:after {
  position: absolute;
  top: 27px;
  right: -14px;
  display: inline-block;
  border-top: 14px solid transparent;
  border-left: 14px solid #232323;
  border-right: 0 solid #232323;
  border-bottom: 14px solid transparent;
  content: " ";
}
.ccm-page .timeline > li .timeline-badge {
  color: #fff;
  width: 50px;
  height: 50px;
  line-height: 50px;
  font-size: 1.4em;
  text-align: center;
  position: absolute;
  top: 16px;
  left: 50%;
  margin-left: -25px;
  background-color: #999999;
  z-index: 100;
  border-top-right-radius: 50%;
  border-top-left-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
}
.ccm-page .timeline > li.timeline-inverted .timeline-panel {
  float: right;
}
.ccm-page .timeline > li.timeline-inverted .timeline-panel:before {
  border-left-width: 0;
  border-right-width: 15px;
  left: -15px;
  right: auto;
}
.ccm-page .timeline > li.timeline-inverted .timeline-panel:after {
  border-left-width: 0;
  border-right-width: 14px;
  left: -14px;
  right: auto;
}
.ccm-page .timeline-badge.primary {
  background-color: #009c9e !important;
}
.ccm-page .timeline-badge.success {
  background-color: #3c763d !important;
}
.ccm-page .timeline-badge.warning {
  background-color: #8a6d3b !important;
}
.ccm-page .timeline-badge.danger {
  background-color: #a94442 !important;
}
.ccm-page .timeline-badge.info {
  background-color: #31708f !important;
}
.ccm-page .timeline-title {
  margin-top: 0;
  color: #b6b6b6;
}
.ccm-page .timeline-body > p, .ccm-page .timeline-body > ul {
  margin-bottom: 0;
}
.ccm-page .timeline-body > p + p {
  margin-top: 5px;
}

.ccm-page footer .big-footer {
  padding-top: 40px;
}
.ccm-page footer .big-footer .container > .row > div {
  padding-bottom: 40px;
}
.ccm-page footer .big-footer a {
  color: #8a8a8a;
  font-size: 0.875rem;
}
.ccm-page footer .big-footer p, .ccm-page footer .big-footer div {
  font-size: 0.875rem;
}
.ccm-page footer .big-footer h3 {
  font-size: 1.5rem;
}
.ccm-page footer .bottom-footer {
  padding: 14px 0 12px;
  border-top: 1px solid #2b2b2b;
  width: 100%;
  background-color: black;
}
.ccm-page footer .bottom-footer > div {
  padding: 0 10px;
}
.ccm-page footer .bottom-footer p {
  font-size: 11px;
  margin-top: 10px;
  margin-bottom: 0;
}
.ccm-page footer .bottom-footer a:hover {
  opacity: 0.7;
}
.ccm-page footer .bottom-footer a.social {
  width: 35px;
  height: 35px;
  display: inline-block;
  font-size: 14px;
  text-align: center;
  line-height: 35px;
  margin-left: 2px;
  border-radius: 3px;
}
.ccm-page footer .bottom-footer a.social:hover {
  opacity: 1;
  color: white;
  background-color: #2b2b2b;
}

/* Hide c5 Account Menu */
#ccm-account-menu-container {
  display: none;
}

/* Make sure c5 dialogs are visible */
html.ccm-panel-detail-open .ccm-panel-detail {
  display: block;
}

/* Move down content when toolbar is visible */
body.toolbar-visible {
  margin-top: 49px;
}

else {
  margin-top: 0px;
}

/* Make Dashboard panel look the way its supposed to be */
div.ccm-panel-content ul.nav > li, div.ccm-panel-content menu > li {
  width: 100%;
}

.ccm-page.ccm-page-template-home #home-header {
  padding: 0;
  height: 100vh;
  padding-top: 6rem;
}
@media (min-width: 768px) {
  .ccm-page.ccm-page-template-home #home-header {
    padding-top: 30vh;
  }
}
.ccm-page.ccm-page-template-home #home-header canvas#particle {
  position: absolute;
  top: 0;
  width: 98vw;
  height: 100vh;
}
.ccm-page.ccm-page-template-home #home-header h1 {
  font-size: 2rem;
  color: #fff;
}
.ccm-page.ccm-page-template-home #home-header h2 {
  font-size: 4.5rem;
}
.ccm-page.ccm-page-template-home #home-header h2 span {
  font-size: 2.2rem;
}
.ccm-page.ccm-page-template-home #home-header .btn-default, .ccm-page.ccm-page-template-home #home-header .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a, .ccm-page.ccm-page-template-home .ccm-conversation-wrapper .ccm-conversation-message #home-header .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a, .ccm-page.ccm-page-template-home #home-header .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon, .ccm-page.ccm-page-template-home .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls #home-header .ccm-conversation-message-control-icon {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.ccm-page.ccm-page-template-home #home-header #scroll-button-wrapper {
  position: absolute;
  bottom: 50px;
}
@media (max-width: 575.98px) {
  .ccm-page.ccm-page-template-home #home-header .col {
    flex-basis: inherit;
  }
  .ccm-page.ccm-page-template-home #home-header .col > a {
    white-space: normal;
  }
}
.ccm-page.ccm-page-template-home.toolbar-visible #home-header {
  height: calc(100vh - 49px);
}
.ccm-page.ccm-page-template-home.toolbar-visible #home-header canvas#particle {
  height: calc(100vh - 49px);
}

.ccm-page.ccm-page-template-lan .lan-participant-number {
  font-size: 6rem;
  display: block;
  color: #009c9e;
}

.ccm-page .lashboard-content {
  /***********************************/
  /* custom widgets classes (email widget, charts, etc). This file can be removed. */
  /***********************************/
  /***********************************/
  /**          EVENTS               **/
  /**********************************/
  /***********************************/
  /**          FEED                 **/
  /**********************************/
  /***********************************/
  /**          WIDGET               **/
  /**********************************/
  /***********************************/
  /**          FILEUPLOAD          **/
  /**********************************/
  /***********************************/
  /**         Search Result         **/
  /***********************************/
  /***********************************/
  /**          ERROR PAGE           **/
  /***********************************/
  /***********************************/
  /**            INVOICE            **/
  /***********************************/
  /***********************************/
  /**             Inbox             **/
  /***********************************/
  /***********************************/
  /**            LANDING            **/
  /***********************************/
  /***********************/
  /*    Notifications    */
  /***********************/
  /***********************************/
  /**          CHARTS               **/
  /**********************************/
  /* disable bootstrap 3 border-box for tooltips */
  /***********************************/
  /**          NEWS LIST           **/
  /**********************************/
  /**
   * Legacy .users-list. Will be removed in next release.
   */
  /***********************************/
  /**          LOGIN                **/
  /**********************************/
  /***********************************/
  /**          CHAT                 **/
  /**********************************/
  /***********************************/
  /**          STATS-ACTIVITY       **/
  /**********************************/
  /***********************************/
  /**           ICON LIST           **/
  /***********************************/
  /***********************************/
  /**      LIST GROUP SORTABLE      **/
  /***********************************/
  /**
   * Nestable
   */
  /**
   * Nestable Extras
   */
  /**
   * Nestable Draggable Handles
   */
}
.ccm-page .lashboard-content .external-event {
  margin: 15px 0;
  padding: 5px 10px;
  color: #fff;
  cursor: pointer;
  border-radius: 0px;
}
.ccm-page .lashboard-content .feed {
  height: 100%;
  position: relative;
}
.ccm-page .lashboard-content .feed .wrapper {
  position: relative;
}
.ccm-page .lashboard-content .feed .vertical-line {
  height: 100%;
  width: 2px;
  background: #fff;
  position: absolute;
  left: 13px;
}
.ccm-page .lashboard-content .feed-item {
  padding-right: 6px;
  height: 100%;
}
.ccm-page .lashboard-content .feed-item::after {
  display: block;
  clear: both;
  content: "";
}
.ccm-page .lashboard-content .feed-item .icon {
  position: relative;
  z-index: 1;
  background: #000;
  text-align: center;
  color: red;
  width: 28px;
  height: 28px;
  line-height: 28px;
  vertical-align: middle;
  border-radius: 20px;
  font-size: 16px;
}
.ccm-page .lashboard-content .feed-item .icon img {
  position: relative;
  top: -2px;
  width: 26px;
  height: 26px;
}
.ccm-page .lashboard-content .feed-item.feed-enter-active, .ccm-page .lashboard-content .feed-item.feed-leave-active {
  transition: all 1s;
}
.ccm-page .lashboard-content .feed-item.feed-enter, .ccm-page .lashboard-content .feed-item .feed-leave-to {
  opacity: 0;
  height: 0%;
  transform: translateX(30px);
}
.ccm-page .lashboard-content .feed-item + .feed-item {
  margin-top: 10px;
}
.ccm-page .lashboard-content .feed-item-body {
  padding-top: 3px;
  margin-left: 40px;
  vertical-align: bottom;
}
.ccm-page .lashboard-content .feed-item-body .time {
  font-size: 0.875rem;
  line-height: 1.5em;
  color: #6c757d;
}
.ccm-page .lashboard-content .widget {
  border-radius: 0px;
  padding: 1rem 1rem;
  color: #b6b6b6;
  background: rgba(35, 35, 35, 0.75) !important;
  margin-bottom: 1rem;
  position: relative;
}
.ccm-page .lashboard-content .widget.normal {
  height: 220px;
}
.ccm-page .lashboard-content .widget.large {
  height: 315px;
}
.ccm-page .lashboard-content .widget.large .body {
  height: 280px;
}
.ccm-page .lashboard-content .widget.xlarge {
  height: 445px;
}
.ccm-page .lashboard-content .widget.xlarge .body {
  height: 410px;
}
.ccm-page .lashboard-content .widget.xxlarge {
  height: 767px;
}
.ccm-page .lashboard-content .widget.xxlarge .body {
  height: 693px;
}
.ccm-page .lashboard-content .widget.tiny {
  height: 188px;
}
.ccm-page .lashboard-content .widget.tiny-x2 {
  height: 426px;
}
.ccm-page .lashboard-content .widget.transparent {
  background: transparent;
}
.ccm-page .lashboard-content .widget > header {
  position: relative;
  background: none;
  color: #fff;
}
.ccm-page .lashboard-content .widget > header h1, .ccm-page .lashboard-content .widget > header h2, .ccm-page .lashboard-content .widget > header h3, .ccm-page .lashboard-content .widget > header h4, .ccm-page .lashboard-content .widget > header h5 {
  margin: 0;
  line-height: 20px;
  font-weight: 600;
  color: inherit;
}
.ccm-page .lashboard-content .widget > header h1 small, .ccm-page .lashboard-content .widget > header h2 small, .ccm-page .lashboard-content .widget > header h3 small, .ccm-page .lashboard-content .widget > header h4 small, .ccm-page .lashboard-content .widget > header h5 small {
  text-transform: lowercase;
  color: #b6b6b6;
}
.ccm-page .lashboard-content .widget > header h4 {
  font-size: 1rem;
}
.ccm-page .lashboard-content .widget .body {
  margin-top: 10px;
}
.ccm-page .lashboard-content .widget > footer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 15px 0 0;
}
.ccm-page .lashboard-content .widget .actions {
  position: absolute;
  right: 0;
  top: 0;
}
.ccm-page .lashboard-content .widget .actions a {
  text-decoration: none;
}
.ccm-page .lashboard-content .widget .widget-table-overflow {
  margin: 0 -1rem -1rem;
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
}
.ccm-page .lashboard-content .widget .widget-table-overflow .table > thead > tr > th:first-child,
.ccm-page .lashboard-content .widget .widget-table-overflow .table > thead > tr > td:first-child,
.ccm-page .lashboard-content .widget .widget-table-overflow .table > tbody > tr > th:first-child,
.ccm-page .lashboard-content .widget .widget-table-overflow .table > tbody > tr > td:first-child,
.ccm-page .lashboard-content .widget .widget-table-overflow .table > tfoot > tr > th:first-child,
.ccm-page .lashboard-content .widget .widget-table-overflow .table > tfoot > tr > td:first-child {
  padding-left: 1rem;
}
.ccm-page .lashboard-content .widget .widget-table-overflow .table > thead > tr > th:last-child,
.ccm-page .lashboard-content .widget .widget-table-overflow .table > thead > tr > td:last-child,
.ccm-page .lashboard-content .widget .widget-table-overflow .table > tbody > tr > th:last-child,
.ccm-page .lashboard-content .widget .widget-table-overflow .table > tbody > tr > td:last-child,
.ccm-page .lashboard-content .widget .widget-table-overflow .table > tfoot > tr > th:last-child,
.ccm-page .lashboard-content .widget .widget-table-overflow .table > tfoot > tr > td:last-child {
  padding-right: 1rem;
}
.ccm-page .lashboard-content .widget-controls {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  font-size: 0.875rem;
  word-spacing: 1px;
}
.ccm-page .lashboard-content .widget-controls.left {
  left: 0;
  right: auto;
}
.ccm-page .lashboard-content .widget-controls > a, .ccm-page .lashboard-content .widget-controls > span {
  padding: 1px 4px;
  border-radius: 4px;
  color: white;
  transition: color 0.15s ease-in-out;
}
@media screen and (prefers-reduced-motion: reduce) {
  .ccm-page .lashboard-content .widget-controls > a, .ccm-page .lashboard-content .widget-controls > span {
    transition: none;
  }
}
.ccm-page .lashboard-content .widget-controls > a > .fa, .ccm-page .lashboard-content .widget-controls > span > .fa {
  vertical-align: middle;
}
.ccm-page .lashboard-content .widget-controls > a > .glyphicon, .ccm-page .lashboard-content .widget-controls > span > .glyphicon {
  vertical-align: -1px;
}
.ccm-page .lashboard-content .widget-controls > a:hover {
  color: #009c9e;
}
.ccm-page .lashboard-content .widget-controls .fa-refresh {
  position: relative;
  top: -1px;
}
.ccm-page .lashboard-content table.table thead .sorting,
.ccm-page .lashboard-content table.table thead .sorting_asc,
.ccm-page .lashboard-content table.table thead .sorting_desc,
.ccm-page .lashboard-content table.table thead .sorting_asc_disabled,
.ccm-page .lashboard-content table.table thead .sorting_desc_disabled {
  cursor: pointer;
  *cursor: hand;
}
.ccm-page .lashboard-content table.table thead .sorting {
  background: url("images/datatables/media/images/sort_both.png") no-repeat center right;
}
.ccm-page .lashboard-content table.table thead .sorting_asc {
  background: url("images/datatables/media/images/sort_asc.png") no-repeat center right;
}
.ccm-page .lashboard-content table.table thead .sorting_desc {
  background: url("images/datatables/media/images/sort_desc.png") no-repeat center right;
}
.ccm-page .lashboard-content table.table thead .sorting_asc_disabled {
  background: url("images/datatables/media/images/sort_asc_disabled.png") no-repeat center right;
}
.ccm-page .lashboard-content table.table thead .sorting_desc_disabled {
  background: url("images/datatables/media/images/sort_desc_disabled.png") no-repeat center right;
}
.ccm-page .lashboard-content .per-page-selector label {
  vertical-align: middle;
  line-height: 26px;
}
.ccm-page .lashboard-content .table-top-control {
  margin-bottom: 5px;
}
.ccm-page .lashboard-content .table-bottom-control {
  margin-top: 10px;
}
.ccm-page .lashboard-content .table-bottom-control .pagination {
  margin: 0;
}
.ccm-page .lashboard-content .fileupload-progress.fade.in .progress {
  margin-top: 20px;
  margin-bottom: 5px;
}
.ccm-page .lashboard-content .fileupload-progress.fade.in .progress-extended {
  margin-bottom: 10px;
}
.ccm-page .lashboard-content .fileupload-progress.fade .progress {
  margin: 0;
}
.ccm-page .lashboard-content .template-upload video {
  max-width: 200px;
}
.ccm-page .lashboard-content .dropzone {
  border: 2px dashed #343a40;
  margin-top: 10px;
  font-size: 40px;
  color: #343a40;
  line-height: 120px;
  padding-left: 7%;
  vertical-align: middle;
  border-radius: 0px;
}
.ccm-page .lashboard-content .dropzone::after {
  display: block;
  clear: both;
  content: "";
}
.ccm-page .lashboard-content .dropzone i {
  margin-top: 20px;
  padding-right: 10%;
}
.ccm-page .lashboard-content .search-result-categories > li > a {
  color: #b6b6b6;
  background-color: transparent;
  font-weight: 400;
}
.ccm-page .lashboard-content .search-result-categories > li > a:hover {
  color: #fff;
}
.ccm-page .lashboard-content .search-result-categories > li > a > .glyphicon {
  margin-right: 5px;
}
.ccm-page .lashboard-content .search-result-categories > li > a > .badge {
  float: right;
}
.ccm-page .lashboard-content .search-results-count {
  margin-top: 10px;
}
.ccm-page .lashboard-content .search-result-item {
  padding: 20px;
  background-color: #343a40;
  border-radius: 0px;
}
.ccm-page .lashboard-content .search-result-item::after {
  display: block;
  clear: both;
  content: "";
}
.ccm-page .lashboard-content .search-result-item .image-link {
  display: block;
  overflow: hidden;
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}
@media (min-width: 576px) {
  .ccm-page .lashboard-content .search-result-item .image-link {
    display: inline-block;
    margin: -20px 0 -20px -20px;
    float: left;
    width: 200px;
  }
}
@media (max-width: 767.98px) {
  .ccm-page .lashboard-content .search-result-item .image-link {
    max-height: 200px;
  }
}
.ccm-page .lashboard-content .search-result-item .image {
  max-width: 100%;
}
.ccm-page .lashboard-content .search-result-item .info {
  margin-top: 2px;
  font-size: 0.875rem;
  color: #6c757d;
}
.ccm-page .lashboard-content .search-result-item .description {
  color: #6c757d;
}
.ccm-page .lashboard-content .search-result-item + .search-result-item {
  margin-top: 20px;
}
@media (min-width: 576px) {
  .ccm-page .lashboard-content .search-result-item-body {
    margin-left: 200px;
  }
}
.ccm-page .lashboard-content .search-result-item-heading {
  font-weight: 400;
}
.ccm-page .lashboard-content .search-result-item-heading > a {
  color: #fff;
}
@media (min-width: 576px) {
  .ccm-page .lashboard-content .search-result-item-heading {
    margin: 0;
  }
}
.ccm-page .lashboard-content .pagination-search-result > li > a,
.ccm-page .lashboard-content .pagination-search-result > li > span {
  color: #b6b6b6;
}
.ccm-page .lashboard-content .pagination-search-result > li > a:hover, .ccm-page .lashboard-content .pagination-search-result > li > a:focus,
.ccm-page .lashboard-content .pagination-search-result > li > span:hover,
.ccm-page .lashboard-content .pagination-search-result > li > span:focus {
  background-color: rgba(52, 58, 64, 0.25);
  color: #fff;
}
.ccm-page .lashboard-content .pagination-search-result > .disabled > span,
.ccm-page .lashboard-content .pagination-search-result > .disabled > span:hover,
.ccm-page .lashboard-content .pagination-search-result > .disabled > span:focus,
.ccm-page .lashboard-content .pagination-search-result > .disabled > a,
.ccm-page .lashboard-content .pagination-search-result > .disabled > a:hover,
.ccm-page .lashboard-content .pagination-search-result > .disabled > a:focus {
  color: #ddd;
}
.ccm-page .lashboard-content .pagination-search-result > .active > a,
.ccm-page .lashboard-content .pagination-search-result > .active > a:hover,
.ccm-page .lashboard-content .pagination-search-result > .active > a:focus,
.ccm-page .lashboard-content .pagination-search-result > .active > span,
.ccm-page .lashboard-content .pagination-search-result > .active > span:hover,
.ccm-page .lashboard-content .pagination-search-result > .active > span:focus {
  background-color: rgba(52, 58, 64, 0.25);
  color: #fff;
}
.ccm-page .lashboard-content .error-container {
  padding-top: 5%;
  text-align: center;
}
.ccm-page .lashboard-content .error-container > .btn, .ccm-page .lashboard-content .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username.error-container > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .lashboard-content .ccm-conversation-message-username.error-container > a, .ccm-page .lashboard-content .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span.error-container:not(.ccm-conversation-message-username) > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .lashboard-content .ccm-conversation-message-byline > span.error-container:not(.ccm-conversation-message-username) > a, .ccm-page .lashboard-content .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li.error-container:first-child > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .lashboard-content ul > li.error-container:first-child > a, .ccm-page .lashboard-content .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .error-container > .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .lashboard-content .error-container > .ccm-conversation-message-control-icon {
  padding-left: 35px;
  padding-right: 35px;
}
.ccm-page .lashboard-content .error-code {
  font-size: 80px;
  font-weight: 200;
  color: #fff;
}
@media (min-width: 576px) {
  .ccm-page .lashboard-content .error-code {
    font-size: 180px;
  }
}
.ccm-page .lashboard-content .error-info {
  font-size: 20px;
}
.ccm-page .lashboard-content .error-help {
  font-size: 14px;
}
.ccm-page .lashboard-content .error-page .page-footer {
  position: absolute;
  bottom: 30px;
  left: 0;
  right: 0;
  width: 100%;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.8);
  text-align: center;
}
.ccm-page .lashboard-content .invoice-logo {
  width: 253px;
  height: 70px;
}
.ccm-page .lashboard-content .invoice-number {
  font-size: 1.5rem;
  margin-top: 15px;
}
.ccm-page .lashboard-content .invoice-number-info {
  color: #6c757d;
  font-size: 1.25rem;
}
.ccm-page .lashboard-content .invoice-info .details-title {
  color: #6c757d;
  margin: 0;
}
.ccm-page .lashboard-content .invoice-actions {
  margin-top: 1.5;
}
.ccm-page .lashboard-content .client-details {
  text-align: right;
}
.ccm-page .lashboard-content .nav-email-folders > li > a {
  color: #e9e9e9;
  font-weight: 400;
  background-color: transparent;
}
.ccm-page .lashboard-content .nav-email-folders > li > a:hover {
  background-color: rgba(182, 182, 182, 0.25);
  color: #b6b6b6;
}
.ccm-page .lashboard-content .nav-email-folders > li > a > .glyphicon {
  margin-right: 5px;
}
.ccm-page .lashboard-content .nav-email-folders > li > a > .fa-circle {
  margin-top: 3px;
}
.ccm-page .lashboard-content .nav-email-folders > li > a > .badge {
  background-color: #a94442;
  font-weight: 300;
}
.ccm-page .lashboard-content .nav-email-folders > li.active > a, .ccm-page .lashboard-content .nav-email-folders > li.active > a:hover, .ccm-page .lashboard-content .nav-email-folders > li.active > a:focus {
  background-color: rgba(182, 182, 182, 0.25);
  color: #b6b6b6;
  font-weight: 300;
}
.ccm-page .lashboard-content .nav-email-folders > li.active > a > .badge, .ccm-page .lashboard-content .nav-email-folders > li.active > a:hover > .badge, .ccm-page .lashboard-content .nav-email-folders > li.active > a:focus > .badge {
  color: #9d9d9d;
}
.ccm-page .lashboard-content .widget-email-count {
  display: inline-block;
  margin: 0;
  font-size: 0.875rem;
  color: #6c757d;
  line-height: 29px;
}
.ccm-page .lashboard-content .widget-email-count + .widget-email-pagination {
  margin-left: 10px;
  border-left: 1px solid 100;
  padding-left: 15px;
  border-radius: 0;
  vertical-align: -9px;
}
.ccm-page .lashboard-content .widget-email-pagination {
  margin: 0;
}
.ccm-page .lashboard-content .table-emails {
  margin-bottom: 0;
}
.ccm-page .lashboard-content .table-emails .name,
.ccm-page .lashboard-content .table-emails .subject,
.ccm-page .lashboard-content .table-emails .date {
  cursor: pointer;
}
.ccm-page .lashboard-content .table-emails .date {
  text-align: right;
  min-width: 65px;
}
.ccm-page .lashboard-content .table-emails .unread {
  font-weight: 300;
  color: #b6b6b6;
}
.ccm-page .lashboard-content .table-emails .favorite {
  text-align: center;
}
.ccm-page .lashboard-content .table-emails .starred {
  color: #6c757d;
  cursor: pointer;
  transition: color 0.2s;
}
@media screen and (prefers-reduced-motion: reduce) {
  .ccm-page .lashboard-content .table-emails .starred {
    transition: none;
  }
}
.ccm-page .lashboard-content .table-emails .starred:hover {
  color: #b6b6b6;
}
.ccm-page .lashboard-content .table-emails .starred .fa-star {
  color: #8a6d3b;
}
.widget-table-overflow .ccm-page .lashboard-content .table-emails td:first-child, .ccm-page .lashboard-content .table-emails th:first-child {
  padding-left: 1rem;
}
.widget-table-overflow .ccm-page .lashboard-content .table-emails td:last-child, .ccm-page .lashboard-content .table-emails th:last-child {
  padding-right: 1rem;
}
.ccm-page .lashboard-content .compose-view {
  margin: 1rem 1rem;
}
.ccm-page .lashboard-content .email-view {
  margin: 1rem 1rem;
}
.ccm-page .lashboard-content .email-view hr {
  margin: 5px 0;
}
.ccm-page .lashboard-content .email-view .email-body {
  margin-top: 1.5;
}
.ccm-page .lashboard-content .email-details img {
  width: 30px;
  height: 30px;
  float: left;
}
.ccm-page .lashboard-content .email-details-content::after {
  display: block;
  clear: both;
  content: "";
}
.ccm-page .lashboard-content .email-details-content .email {
  color: #6c757d;
  font-size: 0.875rem;
}
.ccm-page .lashboard-content .email-details-content .receiver {
  display: block;
  color: #6c757d;
  margin-top: -6px;
}
.ccm-page .lashboard-content .email-details-content .email-date {
  margin-right: 10px;
  line-height: 24px;
  vertical-align: middle;
}
.ccm-page .lashboard-content .email-attachments .attachment img {
  display: block;
}
.ccm-page .lashboard-content .email-attachments .attachment .title {
  margin: 0;
  font-weight: bold;
}
.ccm-page .lashboard-content .landing {
  padding-bottom: 40px;
}
.ccm-page .lashboard-content .landing .page-header {
  margin-left: 0;
  margin-right: 0;
}
.ccm-page .lashboard-content .landing .navbar-menu > li > a {
  line-height: 40px;
  padding: 0 10px;
  width: auto;
  font-size: 1.25rem;
}
.ccm-page .lashboard-content .landing .navbar-buttons {
  margin-right: 20px;
}
.ccm-page .lashboard-content .landing .navbar-buttons > li {
  float: left;
}
.ccm-page .lashboard-content .landing .navbar-buttons > li > a {
  margin: 7px 10px;
}
.ccm-page .lashboard-content .landing .logo {
  position: static;
}
.ccm-page .lashboard-content .landing .content {
  padding: 25px 0;
}
.ccm-page .lashboard-content .landing .lead {
  font-weight: normal;
}
.ccm-page .lashboard-content .landing .btn, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .lashboard-content .landing .ccm-conversation-message-username > a, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .lashboard-content .landing .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .lashboard-content .landing ul > li:first-child > a, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .lashboard-content .landing .ccm-conversation-message-control-icon {
  font-weight: normal;
}
.ccm-page .lashboard-content .landing .btn + .btn, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a + .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .lashboard-content .landing .ccm-conversation-message-username > a + .btn, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .lashboard-content .landing .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .btn, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a + .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .lashboard-content .landing ul > li:first-child > a + .btn, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon + .btn, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .lashboard-content .landing .ccm-conversation-message-control-icon + .btn, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > .btn + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .lashboard-content .landing .ccm-conversation-message-username > .btn + a, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .lashboard-content .landing .ccm-conversation-message-username > a + a, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-username > .ccm-conversation-message-control-icon + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .lashboard-content .landing .ccm-conversation-message-username > .ccm-conversation-message-control-icon + a, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .btn + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .lashboard-content .landing .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .btn + a, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .lashboard-content .landing .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + a, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .ccm-conversation-message-control-icon + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .lashboard-content .landing .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > .ccm-conversation-message-control-icon + a, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > .btn + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .lashboard-content .landing ul > li:first-child > .btn + a, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .lashboard-content .landing ul > li:first-child > a + a, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > .ccm-conversation-message-control-icon + a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .lashboard-content .landing ul > li:first-child > .ccm-conversation-message-control-icon + a, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .btn + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .lashboard-content .landing .btn + .ccm-conversation-message-control-icon, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-username > a + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .lashboard-content .landing .ccm-conversation-message-controls .ccm-conversation-message-username > a + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .lashboard-content .landing .ccm-conversation-message-username > a + .ccm-conversation-message-control-icon, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .lashboard-content .landing .ccm-conversation-message-controls .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .lashboard-content .landing .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a + .ccm-conversation-message-control-icon, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .lashboard-content .landing ul > li:first-child > a + .ccm-conversation-message-control-icon, .ccm-page .lashboard-content .landing .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon + .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .lashboard-content .landing .ccm-conversation-message-control-icon + .ccm-conversation-message-control-icon {
  margin-left: 10px;
}
.ccm-page .lashboard-content .landing .widget p {
  font-size: 1.25rem;
}
.ccm-page .lashboard-content .landing .widget-about {
  margin-top: 60px;
  padding: 20px;
}
.ccm-page .lashboard-content .landing .widget-about h2, .ccm-page .lashboard-content .landing .widget-about h4 {
  margin-top: 0;
  font-weight: bold;
}
.ccm-page .lashboard-content .landing .widget-about .preview {
  margin: 40px 0;
}
.ccm-page .lashboard-content .landing .widget-about .btn, .ccm-page .lashboard-content .landing .widget-about .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-username > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .lashboard-content .landing .widget-about .ccm-conversation-message-username > a, .ccm-page .lashboard-content .landing .widget-about .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .lashboard-content .landing .widget-about .ccm-conversation-message-byline > span:not(.ccm-conversation-message-username) > a, .ccm-page .lashboard-content .landing .widget-about .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls ul > li:first-child > a, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .lashboard-content .landing .widget-about ul > li:first-child > a, .ccm-page .lashboard-content .landing .widget-about .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .ccm-conversation-message-control-icon, .ccm-page .ccm-conversation-wrapper .ccm-conversation-message .ccm-conversation-message-controls .lashboard-content .landing .widget-about .ccm-conversation-message-control-icon {
  color: white;
}
.ccm-page .lashboard-content .landing .img-about {
  margin-top: 8px;
}
.ccm-page .lashboard-content .landing .features {
  margin-top: 60px;
}
.ccm-page .lashboard-content .landing .feature {
  text-align: center;
}
.ccm-page .lashboard-content .landing .feature .icon {
  display: inline-block;
  height: 60px;
  width: 60px;
  font-size: 40px;
  line-height: 60px;
  vertical-align: middle;
  border-radius: 50%;
}
.ccm-page .lashboard-content .landing .feature .icon > i {
  color: #ffffff;
}
.ccm-page .lashboard-content .landing .thanks {
  margin-top: 60px;
}
.ccm-page .lashboard-content .landing .back-to-top {
  color: #b6b6b6;
}
.ccm-page .lashboard-content .widget-white {
  background: #fff;
  color: #b6b6b6;
}
.ccm-page .lashboard-content .widget-white * {
  color: #b6b6b6;
}
.ccm-page .lashboard-content .carousel-landing {
  height: 450px;
  overflow: hidden;
}
.ccm-page .lashboard-content .carousel-landing img {
  max-width: 100%;
}
.ccm-page .lashboard-content .carousel-landing h1 {
  font-size: 45px;
  line-height: 1.1;
}
.ccm-page .lashboard-content .carousel-landing .item > .row > *:first-child {
  text-align: right;
}
.ccm-page .lashboard-content .carousel-landing .slide-one-header {
  margin-top: 80px;
}
.ccm-page .lashboard-content .carousel-landing .slide-two-header {
  margin-bottom: 40px;
}
.ccm-page .lashboard-content .carousel-landing .slide-three-header {
  margin-top: 100px;
  margin-bottom: 20px;
}
.ccm-page .lashboard-content .carousel-landing .btn-version-preview {
  margin-top: 20px;
}
@media (min-width: 480px) and (max-width: 768px) {
  .ccm-page .lashboard-content .carousel-landing .btn-version-preview {
    display: none;
  }
}
.ccm-page .lashboard-content .carousel-fade .carousel-inner > .item {
  transition: opacity 0.2s ease-in-out;
}
@media screen and (prefers-reduced-motion: reduce) {
  .ccm-page .lashboard-content .carousel-fade .carousel-inner > .item {
    transition: none;
  }
}
.ccm-page .lashboard-content .carousel-fade .carousel-inner > .next,
.ccm-page .lashboard-content .carousel-fade .carousel-inner > .prev {
  left: auto;
}
.ccm-page .lashboard-content .carousel-fade .carousel-inner > .next.left,
.ccm-page .lashboard-content .carousel-fade .carousel-inner > .prev.right {
  opacity: 1;
  left: auto;
}
.ccm-page .lashboard-content .carousel-fade .carousel-inner > .active.left,
.ccm-page .lashboard-content .carousel-fade .carousel-inner > .active.right,
.ccm-page .lashboard-content .carousel-fade .carousel-inner > .next,
.ccm-page .lashboard-content .carousel-fade .carousel-inner > .prev {
  opacity: 0;
  left: auto;
}
.ccm-page .lashboard-content .carousel-control-landing {
  opacity: 1;
  width: 2%;
  text-shadow: 0 0 8px rgba(255, 255, 255, 0.6);
}
@media (min-width: 768px) {
  .ccm-page .lashboard-content .carousel-control-landing .icon-prev,
.ccm-page .lashboard-content .carousel-control-landing .icon-next {
    font-size: 50px;
  }
}
.ccm-page .lashboard-content .carousel-control-landing.left {
  background: none;
}
.ccm-page .lashboard-content .carousel-control-landing.right {
  background: none;
}
.ccm-page .lashboard-content .location-selector {
  width: 100%;
  height: 220px;
  border: 1px dashed #000;
  background-color: #fff;
  position: relative;
}
.ccm-page .lashboard-content .location-selector .bit {
  background-color: #e6e6e6;
  transition: background-color 0.15s ease-in-out;
  cursor: pointer;
  position: absolute;
}
@media screen and (prefers-reduced-motion: reduce) {
  .ccm-page .lashboard-content .location-selector .bit {
    transition: none;
  }
}
.ccm-page .lashboard-content .location-selector .bit:hover {
  background-color: #d9d9d9;
}
.ccm-page .lashboard-content .location-selector .bit.top, .ccm-page .lashboard-content .location-selector .bit.bottom {
  height: 25%;
  width: 40%;
  margin: 0 30%;
}
.ccm-page .lashboard-content .location-selector .bit.top {
  top: 0;
}
.ccm-page .lashboard-content .location-selector .bit.bottom {
  bottom: 0;
}
.ccm-page .lashboard-content .location-selector .bit.right, .ccm-page .lashboard-content .location-selector .bit.left {
  height: 20%;
  width: 20%;
  margin-left: 0;
  margin-right: 0;
}
.ccm-page .lashboard-content .location-selector .bit.right {
  right: 0;
}
.ccm-page .lashboard-content .location-selector .bit.left {
  left: 0;
}
.ccm-page .lashboard-content .large .pie-chart {
  height: 212px;
}
.ccm-page .lashboard-content .xlarge .pie-chart {
  height: 298px;
}
.ccm-page .lashboard-content .pie-chart {
  position: relative;
}
.ccm-page .lashboard-content .pie-chart .total {
  text-align: center;
  position: absolute;
  left: 0;
  top: 50%;
}
.ccm-page .lashboard-content .pie-chart .visits {
  font-weight: 300;
  color: #fff;
  font-size: 1.25rem;
}
.ccm-page .lashboard-content .pie-chart-footer .controls {
  margin-top: 16px;
  width: 100%;
}
.ccm-page .lashboard-content .pie-chart-footer .control {
  background: #343a40;
  text-align: center;
  font-weight: normal;
  padding: 3px 2%;
  color: #fff;
  width: 20.625%;
  cursor: pointer;
  margin-left: 0.5%;
  float: left;
}
.ccm-page .lashboard-content .pie-chart-footer .control:first-child {
  border-bottom-left-radius: 0px;
  margin-left: 0;
}
.ccm-page .lashboard-content .pie-chart-footer .control:last-child {
  border-bottom-right-radius: 0px;
}
.ccm-page .lashboard-content .pie-chart-footer .control.disabled {
  border-top: 3px solid transparent !important;
}
.ccm-page .lashboard-content .pie-chart-footer .control .key {
  font-size: 0.875rem;
  font-weight: normal;
  margin: 0;
}
.ccm-page .lashboard-content .pie-chart-footer .control .value {
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 5px;
}
.ccm-page .lashboard-content .visits-chart {
  height: 200px;
}
.ccm-page .lashboard-content .visits-info {
  margin: 1rem -1rem -1rem;
  padding-top: 18px;
  padding-bottom: 3px;
  border: none;
  text-align: center;
}
.ccm-page .lashboard-content .visits-info .key {
  color: #fff;
}
.ccm-page .lashboard-content .visits-info .value {
  margin-top: 16px;
  margin-bottom: 16px;
  font-size: 1.25rem;
}
.ccm-page .lashboard-content .news-list.news-list-no-hover li:hover,
.ccm-page .lashboard-content .users-list.news-list-no-hover li:hover {
  background: none;
  cursor: default;
}
.ccm-page .lashboard-content .news-list.stretchable > li,
.ccm-page .lashboard-content .users-list.stretchable > li {
  height: auto;
}
.ccm-page .lashboard-content .news-list li,
.ccm-page .lashboard-content .users-list li {
  border-top: 1px solid #343a40;
  padding: 12px;
  margin: 0 -1rem;
  cursor: pointer;
  height: 25px;
  transition: background-color 0.2s ease-out;
}
@media screen and (prefers-reduced-motion: reduce) {
  .ccm-page .lashboard-content .news-list li,
.ccm-page .lashboard-content .users-list li {
    transition: none;
  }
}
.ccm-page .lashboard-content .news-list li:hover,
.ccm-page .lashboard-content .users-list li:hover {
  background: #343a40;
}
.ccm-page .lashboard-content .news-list li:last-child,
.ccm-page .lashboard-content .users-list li:last-child {
  margin-bottom: -1rem;
}
.ccm-page .lashboard-content .news-list img,
.ccm-page .lashboard-content .news-list .icon,
.ccm-page .lashboard-content .users-list img,
.ccm-page .lashboard-content .users-list .icon {
  float: left;
  height: 30px;
  width: 30px;
}
.ccm-page .lashboard-content .news-list .icon,
.ccm-page .lashboard-content .users-list .icon {
  line-height: 30px;
  border-radius: 50%;
  text-align: center;
  font-size: 32px;
}
.ccm-page .lashboard-content .news-list .news-item-info,
.ccm-page .lashboard-content .users-list .news-item-info {
  margin-left: 62px; /*50 + 12px padding*/
}
.ccm-page .lashboard-content .news-list .name, .ccm-page .lashboard-content .news-list .time, .ccm-page .lashboard-content .news-list .position,
.ccm-page .lashboard-content .users-list .name,
.ccm-page .lashboard-content .users-list .time,
.ccm-page .lashboard-content .users-list .position {
  line-height: 16px;
}
.ccm-page .lashboard-content .news-list h4.name,
.ccm-page .lashboard-content .users-list h4.name {
  text-transform: none;
}
.ccm-page .lashboard-content .news-list .name,
.ccm-page .lashboard-content .users-list .name {
  margin: 0;
  text-transform: uppercase;
}
.ccm-page .lashboard-content .news-list .name a,
.ccm-page .lashboard-content .users-list .name a {
  text-decoration: none;
}
.ccm-page .lashboard-content .news-list .name a:hover,
.ccm-page .lashboard-content .users-list .name a:hover {
  color: #009c9e;
}
.ccm-page .lashboard-content .news-list p,
.ccm-page .lashboard-content .users-list p {
  margin-top: 5px;
  font-size: 90%;
  line-height: 1.4;
}
.ccm-page .lashboard-content .news-list .time,
.ccm-page .lashboard-content .users-list .time {
  font-size: 0.875rem;
  color: #6c757d;
}
.ccm-page .lashboard-content .news-list .options,
.ccm-page .lashboard-content .users-list .options {
  margin-top: 5px;
}
.ccm-page .lashboard-content .news-list .comment,
.ccm-page .lashboard-content .users-list .comment {
  font-size: 0.875rem;
  color: #b6b6b6;
  line-height: 1.3em;
}
.ccm-page .lashboard-content .users-list-group img {
  width: 40px;
  height: 40px;
  float: left;
  margin-right: 10px;
}
.ccm-page .lashboard-content .users-list-group .fa-circle {
  margin-top: 14px;
}
.ccm-page .lashboard-content .single-widget-container {
  left: 0;
  top: 50%;
  margin-top: -192.5px;
  position: absolute;
  width: 100%;
}
.ccm-page .lashboard-content .single-widget-container .widget {
  margin: 0 auto;
}
.ccm-page .lashboard-content .login-widget, .ccm-page .lashboard-content .registration-widget {
  width: 350px;
  padding-bottom: 0;
}
.ccm-page .lashboard-content .login-widget header, .ccm-page .lashboard-content .registration-widget header {
  margin: 15px 0 25px 0;
}
.ccm-page .lashboard-content .login-widget .form-control, .ccm-page .lashboard-content .registration-widget .form-control {
  font-size: 1rem;
}
.ccm-page .lashboard-content .login-widget .input-group-addon, .ccm-page .lashboard-content .registration-widget .input-group-addon {
  padding: 8px 7px;
}
.ccm-page .lashboard-content .login-widget .input-group-addon i, .ccm-page .lashboard-content .login-widget .input-group-addon i:before, .ccm-page .lashboard-content .login-widget .input-group-addon i:after, .ccm-page .lashboard-content .registration-widget .input-group-addon i, .ccm-page .lashboard-content .registration-widget .input-group-addon i:before, .ccm-page .lashboard-content .registration-widget .input-group-addon i:after {
  width: 20px;
  margin: 0;
}
.ccm-page .lashboard-content .login-widget .form-actions, .ccm-page .lashboard-content .registration-widget .form-actions {
  margin: 0 -1rem;
  padding: 20px 15px 0 15px;
}
.ccm-page .lashboard-content .login-widget .form-actions .small-circle, .ccm-page .lashboard-content .registration-widget .form-actions .small-circle {
  display: inline-block;
  width: 20px;
  height: 20px;
  line-height: 20px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.2);
}
.ccm-page .lashboard-content .login-widget .form-actions .small-circle i, .ccm-page .lashboard-content .registration-widget .form-actions .small-circle i {
  position: relative;
  left: 1px;
}
.ccm-page .lashboard-content .login-widget .form-actions .forgot, .ccm-page .lashboard-content .registration-widget .form-actions .forgot {
  display: block;
  text-align: center;
  color: #fff;
  padding: 15px 0;
}
.ccm-page .lashboard-content .login-widget footer, .ccm-page .lashboard-content .registration-widget footer {
  margin: 0 -1rem;
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
  overflow: hidden;
  position: static;
}
.ccm-page .lashboard-content .login-widget .facebook-login, .ccm-page .lashboard-content .registration-widget .facebook-login {
  height: 30px;
  background: steelblue;
  text-align: center;
  padding-top: 10px;
}
.ccm-page .lashboard-content .login-widget .facebook-login a, .ccm-page .lashboard-content .registration-widget .facebook-login a {
  color: #fff;
  display: block;
  text-shadow: none;
  text-decoration: none;
}
.ccm-page .lashboard-content .chat {
  height: 100%;
}
.ccm-page .lashboard-content .chat-messages {
  padding-right: 15px;
}
.ccm-page .lashboard-content .chat-footer {
  height: 40px;
  padding-top: 10px;
}
.ccm-page .lashboard-content .chat-footer input {
  margin-bottom: 0;
}
.ccm-page .lashboard-content .chat-message:nth-child(even) > .sender {
  float: left;
}
.ccm-page .lashboard-content .chat-message:nth-child(odd) {
  /*> .chat-message-body {
    margin-left: 0;
    margin-right: 63px;
    border-left: none;
    border-right: 2px solid darken($widget-bg, 10%);

    .arrow{
      left: auto;
      right: -7px;

      border-right: none;
      border-left: 5px solid darken($widget-bg, 10%);
    }

    .sender, .text{
      text-align: right;
    }
  }*/
}
.ccm-page .lashboard-content .chat-message:nth-child(odd) > .sender {
  float: left;
}
.ccm-page .lashboard-content .chat-message::after {
  display: block;
  clear: both;
  content: "";
}
.ccm-page .lashboard-content .chat-message .icon {
  position: relative;
  z-index: 1;
  text-align: center;
  width: 53px;
  height: 53px;
  line-height: 53px;
  vertical-align: middle;
  border-radius: 53px;
}
.ccm-page .lashboard-content .chat-message .icon img {
  position: relative;
  top: -2px;
  width: 50px;
  height: 50px;
}
.ccm-page .lashboard-content .chat-message .time {
  font-size: 0.875rem;
  line-height: 1.5em;
  color: #6c757d;
  display: inline;
}
.ccm-page .lashboard-content .chat-message + .chat-message {
  margin-top: 10px;
}
.ccm-page .lashboard-content .chat-message-body {
  margin-left: 63px;
  padding: 8px 10px;
  background: rgba(52, 58, 64, 0.3);
  position: relative;
  border-left: 2px solid #1d2124;
  border-radius: 0px;
}
.ccm-page .lashboard-content .chat-message-body.on-left {
  margin-left: 0;
  margin-right: 63px;
  border-left: none;
  border-right: 2px solid #1d2124;
}
.ccm-page .lashboard-content .chat-message-body.on-left .arrow {
  left: auto;
  right: -7px;
  border-right: none;
  border-left: 5px solid #1d2124;
}
.ccm-page .lashboard-content .chat-message-body.on-left .sender, .ccm-page .lashboard-content .chat-message-body.on-left .text {
  text-align: right;
}
.ccm-page .lashboard-content .chat-message-body .arrow {
  display: block;
  position: absolute;
  top: 21px;
  left: -7px;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-right: 5px solid #1d2124;
}
.ccm-page .lashboard-content .overall-stats li {
  margin-top: 12px;
}
.ccm-page .lashboard-content .overall-stats .key {
  line-height: 18px;
  margin-left: 5px;
}
.ccm-page .lashboard-content .overall-stats .icon {
  text-align: center;
}
.ccm-page .lashboard-content .overall-stats .value {
  text-align: right;
}
.ccm-page .lashboard-content .server-stats {
  margin-top: -3px;
  margin-bottom: 2px;
}
.ccm-page .lashboard-content .server-stats li {
  margin-bottom: 10px;
}
.ccm-page .lashboard-content .server-stats li:last-child {
  margin-bottom: 0;
}
.ccm-page .lashboard-content .server-stats .progress {
  margin-bottom: 0;
}
.ccm-page .lashboard-content .icon-list {
  margin-top: 1.5;
}
.ccm-page .lashboard-content .icon-list-item {
  height: 32px;
  font-size: 14px;
  line-height: 32px;
}
.ccm-page .lashboard-content .icon-list-item > a {
  color: #b6b6b6;
  text-decoration: none;
}
.ccm-page .lashboard-content .icon-list-item .glyphicon,
.ccm-page .lashboard-content .icon-list-item .fa {
  width: 32px;
  margin-right: 10px;
}
.ccm-page .lashboard-content .icon-list-item:hover .glyphicon,
.ccm-page .lashboard-content .icon-list-item:hover .fa {
  font-size: 28px;
}
.ccm-page .lashboard-content .icon-list-item:hover .fa {
  vertical-align: -5px;
}
.ccm-page .lashboard-content .icon-list-item:hover .glyphicon {
  vertical-align: -6px;
}
.ccm-page .lashboard-content .list-group-sortable > .list-group-item {
  margin-bottom: 0;
  border-radius: 0px;
}
.ccm-page .lashboard-content .list-group-sortable > .list-group-item + .list-group-item {
  margin-top: 0.75;
}
.ccm-page .lashboard-content .list-group-sortable > .list-group-item-placeholder {
  border: 1px dashed #d0d0d0;
  background-color: rgba(182, 182, 182, 0.25);
}
.ccm-page .lashboard-content .list-group-sortable:last-of-type > .list-group-item:last-child {
  border-bottom: 1px solid solid 1px #b6b6b6;
}
.ccm-page .lashboard-content .dd {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  max-width: 600px;
  list-style: none;
  font-size: 13px;
  line-height: 20px;
}
.ccm-page .lashboard-content .dd-list {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ccm-page .lashboard-content .dd-list .dd-list {
  padding-left: 30px;
}
.ccm-page .lashboard-content .dd-collapsed .dd-list {
  display: none;
}
.ccm-page .lashboard-content .dd-item,
.ccm-page .lashboard-content .dd-empty,
.ccm-page .lashboard-content .dd-placeholder {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  min-height: 20px;
  font-size: 13px;
  line-height: 20px;
}
.ccm-page .lashboard-content .dd-handle {
  display: block;
  height: 30px;
  margin: 5px 0;
  padding: 5px 10px;
  color: #b6b6b6;
  text-decoration: none;
  background: #343a40;
  border-radius: 0px;
}
.ccm-page .lashboard-content .dd-item > button {
  display: block;
  position: relative;
  cursor: pointer;
  float: left;
  width: 25px;
  height: 20px;
  margin: 5px 0;
  padding: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  border: 0;
  background: transparent;
  font-size: 12px;
  line-height: 1;
  text-align: center;
  font-weight: bold;
  color: #b6b6b6;
}
.ccm-page .lashboard-content .dd-item > button:before {
  content: "+";
  display: block;
  position: absolute;
  width: 100%;
  text-align: center;
  text-indent: 0;
}
.ccm-page .lashboard-content .dd-item > button[data-action=collapse]:before {
  content: "-";
}
.ccm-page .lashboard-content .dd-placeholder,
.ccm-page .lashboard-content .dd-empty {
  margin: 5px 0;
  padding: 0;
  min-height: 30px;
  background: rgba(182, 182, 182, 0.2);
  border: 1px dashed rgba(255, 255, 255, 0.6);
  box-sizing: border-box;
  -moz-box-sizing: border-box;
}
.ccm-page .lashboard-content .dd-empty {
  border: 1px dashed rgba(255, 255, 255, 0.6);
  border-radius: 0px;
  min-height: 100px;
  background-size: 60px 60px;
  background-position: 0 0, 30px 30px;
  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.75) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.75) 75%, rgba(255, 255, 255, 0.75)), -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.75) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.75) 75%, rgba(255, 255, 255, 0.75));
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.75) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 75%, rgba(255, 255, 255, 0.75) 75%, rgba(255, 255, 255, 0.75)), linear-gradient(45deg, rgba(255, 255, 255, 0.75) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 75%, rgba(255, 255, 255, 0.75) 75%, rgba(255, 255, 255, 0.75));
}
.ccm-page .lashboard-content .dd-dragel {
  position: absolute;
  pointer-events: none;
  z-index: 9999;
}
.ccm-page .lashboard-content .dd-dragel > .dd-item .dd-handle {
  margin-top: 0;
}
.ccm-page .lashboard-content .dd-dragel .dd-handle {
  -webkit-box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1);
}
.ccm-page .lashboard-content .nestable-lists {
  display: block;
  clear: both;
  padding: 30px 0;
  width: 100%;
  border: 0;
  border-top: 2px solid #ddd;
  border-bottom: 2px solid #ddd;
}
@media (min-width: 576px) {
  .ccm-page .lashboard-content .dd + .dd {
    margin-left: 2%;
  }
}
.ccm-page .lashboard-content .dd-hover > .dd-handle {
  background: #2ea8e5 !important;
}
.ccm-page .lashboard-content .dd3-content {
  display: block;
  height: 30px;
  margin: 5px 0;
  padding: 5px 10px 5px 40px;
  color: #333;
  text-decoration: none;
  font-weight: bold;
  border: 1px solid #ccc;
  background: #fafafa;
  background: -webkit-linear-gradient(top, #fafafa 0%, #eee 100%);
  background: -moz-linear-gradient(top, #fafafa 0%, #eee 100%);
  background: linear-gradient(top, #fafafa 0%, #eee 100%);
  -webkit-border-radius: 3px;
  border-radius: 3px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
}
.ccm-page .lashboard-content .dd3-content:hover {
  color: #2ea8e5;
  background: #fff;
}
.ccm-page .lashboard-content .dd-dragel > .dd3-item > .dd3-content {
  margin: 0;
}
.ccm-page .lashboard-content .dd3-item > button {
  margin-left: 30px;
}
.ccm-page .lashboard-content .dd3-handle {
  position: absolute;
  margin: 0;
  left: 0;
  top: 0;
  cursor: pointer;
  width: 30px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  border: 1px solid #aaa;
  background: #ddd;
  background: -webkit-linear-gradient(top, #ddd 0%, #bbb 100%);
  background: -moz-linear-gradient(top, #ddd 0%, #bbb 100%);
  background: linear-gradient(top, #ddd 0%, #bbb 100%);
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ccm-page .lashboard-content .dd3-handle:before {
  content: "≡";
  display: block;
  position: absolute;
  left: 0;
  top: 3px;
  width: 100%;
  text-align: center;
  text-indent: 0;
  color: #fff;
  font-size: 20px;
  font-weight: normal;
}
.ccm-page .lashboard-content .dd3-handle:hover {
  background: #ddd;
}

.ccm-page .lashboard-content #page-header {
  min-height: auto;
  background-position-y: 50%;
  padding: 105px 0 0.5rem 0;
}
.ccm-page .lashboard-content #upcomingEvents {
  overflow: hidden;
}
.ccm-page .lashboard-content .widget.xxlarge {
  height: 888px;
}

.ccm-page.ccm-bar-payment-sp .fullscreen {
  position: fixed;
  height: 100vh;
  width: 100vw;
  top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 999999;
}
.ccm-page.ccm-bar-payment-sp .fullscreen .fa {
  font-size: 20rem;
  color: #fff;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRoZW1lLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9fcm9vdC5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvX3JlYm9vdC5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsImF0b21zL19jb250YWluZXJzLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJhdG9tcy9fdHlwb2dyYXBoeS5zY3NzIiwiYXRvbXMvX2FuaW1hdGlvbnMuc2NzcyIsImF0b21zL19pbWFnZXMuc2NzcyIsIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL19pbWFnZXMuc2NzcyIsIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwibW9sZWN1bGVzL19saXN0LnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9fY29kZS5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvX2dyaWQuc2NzcyIsIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvX3RhYmxlcy5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL19mb3Jtcy5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbnMuc2NzcyIsIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwibW9sZWN1bGVzL19idXR0b25zLnNjc3MiLCJtb2xlY3VsZXMvX2JveGVzLnNjc3MiLCJtb2xlY3VsZXMvX3BhZ2Vsb2FkZXIuc2NzcyIsIm1vbGVjdWxlcy9fc3BvbnNvcnMtc2xpZGVyLnNjc3MiLCJtb2xlY3VsZXMvX3Byb2dyZXNzLWJhci5zY3NzIiwibW9sZWN1bGVzL19uYXYuc2NzcyIsIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL190cmFuc2l0aW9ucy5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL19jdXN0b20tZm9ybXMuc2NzcyIsIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL19uYXZiYXIuc2NzcyIsIm9yZ2FuaXNtcy9fbmF2YmFyLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9fY2FyZC5zY3NzIiwibW9sZWN1bGVzL19tZW1iZXItY2FyZC5zY3NzIiwibW9sZWN1bGVzL19wYWNrYWdlLWNhcmQuc2NzcyIsIm1vbGVjdWxlcy9fc2NvcmUtY2FyZC5zY3NzIiwibW9sZWN1bGVzL190b3VybmV5LWNhcmQuc2NzcyIsIm1vbGVjdWxlcy9faG9tZS1jYXJkLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvX3BhZ2luYXRpb24uc2NzcyIsIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9fanVtYm90cm9uLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9fYWxlcnQuc2NzcyIsIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL19wcm9ncmVzcy5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvX21lZGlhLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9fY2xvc2Uuc2NzcyIsIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL19tb2RhbC5zY3NzIiwib3JnYW5pc21zL19tb2RhbC5zY3NzIiwib3JnYW5pc21zL190aW1ldGFibGUuc2NzcyIsIm9yZ2FuaXNtcy9fY29udmVyc2F0aW9uLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9fdG9vbHRpcC5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9fcG9wb3Zlci5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvX2Nhcm91c2VsLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FsaWduLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19iYWNrZ3JvdW5kLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2JvcmRlcnMuc2NzcyIsIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZGlzcGxheS5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19lbWJlZC5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbGV4LnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Zsb2F0LnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zsb2F0LnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3Bvc2l0aW9uLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NjcmVlbnJlYWRlcnMuc2NzcyIsIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zaGFkb3dzLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NpemluZy5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3RleHQuc2NzcyIsIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL19wcmludC5zY3NzIiwiYXRvbXMvX2JhY2tncm91bmRzLnNjc3MiLCJvcmdhbmlzbXMvX3BhZ2UtaGVhZGVyLnNjc3MiLCJvcmdhbmlzbXMvX3NvY2lhbGJveGVzLnNjc3MiLCJvcmdhbmlzbXMvX3RpbWVsaW5lLnNjc3MiLCJvcmdhbmlzbXMvX2Zvb3Rlci5zY3NzIiwiX2M1Zml4LnNjc3MiLCJ0ZW1wbGF0ZXMvX2hvbWUuc2NzcyIsInRlbXBsYXRlcy9fbGFuLnNjc3MiLCJvcmdhbmlzbXMvX3dpZGdldHMuc2NzcyIsInRlbXBsYXRlcy9fbGFzaGJvYXJkLnNjc3MiLCJ0ZW1wbGF0ZXMvX2Jhcl9wYXltZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0VBR0k7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFB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RTtJQUdFOztFQUdGO0lBRUU7OztBQUlKO0VBQ0U7SUFHRTs7RUFHRjtJQUVFOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0FBRUE7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtJQUVFO0lBQ0E7O0VBR0Y7SUFLRTtJQUNBOztFQUdGO0lBSUU7SUFDQTs7O0FBSUo7RUFDRTtJQUVFO0lBQ0E7O0VBR0Y7SUFLRTtJQUNBOztFQUdGO0lBSUU7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFFRTtJQUNBOztFQUdGO0lBSUU7SUFDQTs7RUFHRjtJQUdFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUVFO0lBQ0E7O0VBR0Y7SUFJRTtJQUNBOztFQUdGO0lBR0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7QUFFQTtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtJQUdFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0lBR0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtJQU1FO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFNRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0lBS0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTtJQUtFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtJQUtFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7SUFLRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFLRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0lBS0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBS0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTtJQUtFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFFRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBOztFQUdGO0lBRUU7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUVFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFFRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTtJQUNBOztFQUdGO0lBRUU7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUVFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUVBO0lBRUE7SUFDQTs7RUFHRjtJQUNFO0lBRUE7SUFFQTtJQUNBOztFQUdGO0lBQ0U7SUFFQTtJQUVBO0lBQ0E7O0VBR0Y7SUFDRTtJQUVBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBRUE7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFFQTtJQUVBO0lBQ0E7O0VBR0Y7SUFDRTtJQUVBO0lBRUE7SUFDQTs7RUFHRjtJQUNFO0lBRUE7SUFFQTtJQUNBOztFQUdGO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtBQUVBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7QUFFQTtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUVFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBRUU7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFD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QnREWCxjeEJzRFc7O0F3Qm5EYjtFQUdFO0VBQ0Esa0JBbEMrSTtFQXNDL0ksY0F0Q3lMOztBQXdDekw7RUFLSTs7O0FEWU47RUN4REE7RUZBRSxrQnRCZ0ZXO0V3QjlFYixjeEI4RWE7O0FDMUViO0V1QkFFO0VGTkEsa0JFRDJEO0VBUzNELGNBVHFHOztBQVl2RztFQU1JOztBQUtKO0VBRUU7RUFDQSxrQnhCdURXO0V3QnREWCxjeEJzRFc7O0F3Qm5EYjtFQUdFO0VBQ0Esa0JBbEMrSTtFQXNDL0ksY0F0Q3lMOztBQXdDekw7RUFLSTs7O0FEWU47RUN4REE7RUZBRSxrQnRCZ0ZXO0V3QjlFYixjeEI4RWE7O0FDMUViO0V1QkFFO0VGTkEsa0JFRDJEO0VBUzNELGNBVHFHOztBQVl2RztFQU1JOztBQUtKO0VBRUU7RUFDQSxrQnhCdURXO0V3QnREWCxjeEJzRFc7O0F3Qm5EYjtFQUdFO0VBQ0Esa0JBbEMrSTtFQXNDL0ksY0F0Q3lMOztBQXdDekw7RUFLSTs7O0FEWU47RUN4REE7RUZBRSxrQnRCZ0ZXO0V3QjlFYixjeEI4RWE7O0FDMUViO0V1QkFFO0VGTkEsa0JFRDJEO0VBUzNELGNBVHFHOztBQVl2RztFQU1JOztBQUtKO0VBRUU7RUFDQSxrQnhCdURXO0V3QnREWCxjeEJzRFc7O0F3Qm5EYjtFQUdFO0VBQ0Esa0JBbEMrSTtFQXNDL0ksY0F0Q3lMOztBQXdDekw7RUFLSTs7O0FEa0JOO0VDWEEsT3hCNkJhO0V3QjVCYjtFQUNBO0VBQ0EsY3hCMEJhOztBd0J4QmI7RUFDRSxPQVBnRDtFQVFoRCxrQnhCc0JXO0V3QnJCWCxjeEJxQlc7O0F3QmxCYjtFQUVFOztBQUdGO0VBRUUsT3hCV1c7RXdCVlg7O0FBR0Y7RUFHRTtFQUNBLGtCeEJHVztFd0JGWCxjeEJFVzs7QXdCQVg7RUFLSTs7O0FEdkJOO0VDWEEsT3hCNkJhO0V3QjVCYjtFQUNBO0VBQ0EsY3hCMEJhOztBd0J4QmI7RUFDRSxPQVBnRDtFQVFoRCxrQnhCc0JXO0V3QnJCWCxjeEJxQlc7O0F3QmxCYjtFQUVFOztBQUdGO0VBRUUsT3hCV1c7RXdCVlg7O0FBR0Y7RUFHRTtFQUNBLGtCeEJHVztFd0JGWCxjeEJFVzs7QXdCQVg7RUFLSTs7O0FEdkJOO0VDWEEsT3hCNkJhO0V3QjVCYjtFQUNBO0VBQ0EsY3hCMEJhOztBd0J4QmI7RUFDRSxPQVBnRDtFQVFoRCxrQnhCc0JXO0V3QnJCWCxjeEJxQlc7O0F3QmxCYjtFQUVFOztBQUdGO0VBRUUsT3hCV1c7RXdCVlg7O0FBR0Y7RUFHRTtFQUNBLGtCeEJHVztFd0JGWCxjeEJFVzs7QXdCQVg7RUFLSTs7O0FEdkJOO0VDWEEsT3hCNkJhO0V3QjVCYjtFQUNBO0VBQ0EsY3hCMEJhOztBd0J4QmI7RUFDRSxPQVBnRDtFQVFoRCxrQnhCc0JXO0V3QnJCWCxjeEJxQlc7O0F3QmxCYjtFQUVFOztBQUdGO0VBRUUsT3hCV1c7RXdCVlg7O0FBR0Y7RUFHRTtFQUNBLGtCeEJHVztFd0JGWCxjeEJFVzs7QXdCQVg7RUFLSTs7O0FEdkJOO0VDWEEsT3hCNkJhO0V3QjVCYjtFQUNBO0VBQ0EsY3hCMEJhOztBd0J4QmI7RUFDRSxPQVBnRDtFQVFoRCxrQnhCc0JXO0V3QnJCWCxjeEJxQlc7O0F3QmxCYjtFQUVFOztBQUdGO0VBRUUsT3hCV1c7RXdCVlg7O0FBR0Y7RUFHRTtFQUNBLGtCeEJHVztFd0JGWCxjeEJFVzs7QXdCQVg7RUFLSTs7O0FEdkJOO0VDWEEsT3hCNkJhO0V3QjVCYjtFQUNBO0VBQ0EsY3hCMEJhOztBd0J4QmI7RUFDRSxPQVBnRDtFQVFoRCxrQnhCc0JXO0V3QnJCWCxjeEJxQlc7O0F3QmxCYjtFQUVFOztBQUdGO0VBRUUsT3hCV1c7RXdCVlg7O0FBR0Y7RUFHRTtFQUNBLGtCeEJHVztFd0JGWCxjeEJFVzs7QXdCQVg7RUFLSTs7O0FEdkJOO0VDWEEsT3hCNkJhO0V3QjVCYjtFQUNBO0VBQ0EsY3hCMEJhOztBd0J4QmI7RUFDRSxPQVBnRDtFQVFoRCxrQnhCc0JXO0V3QnJCWCxjeEJxQlc7O0F3QmxCYjtFQUVFOztBQUdGO0VBRUUsT3hCV1c7RXdCVlg7O0FBR0Y7RUFHRTtFQUNBLGtCeEJHVztF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LHdCeUI0STBCO0V6QjNJMUIsMkJ5QjJJMEI7OztBQ2xLOUI7RUFDRTtFQUNBO0VBQ0E7RUFDQSxjckMrY3NDOzs7QXFDNWN4QztFQUNFO0VBQ0EsY3JDMmNzQzs7O0FxQ3hjeEM7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRSxPckNqQk87RXNCSlAsa0J0Qm1FWTs7QXFDekNkO0VBRUUsWXJDMGM0Qzs7QXFDdmM5QztFQUNFLE9yQzVCTztFcUM2QlAsa0JyQ3djNEM7O0FxQ25jNUM7RUFDRSxPckM3Qks7O0FxQytCTDtFQUNFLGtCckNwQ0c7OztBcUM4Q1g7RUFDRTtFQUNBOztBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPckMyWm9DO0VxQzFacEMsUXJDMFpvQztFcUN6WnBDO0VBQ0E7RUFDQTtFQUNBLGtCckM1RE87O0FxQ2lFVDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT3JDNFlvQztFcUMzWXBDLFFyQzJZb0M7RXFDMVlwQztFQUNBO0VBQ0E7RUFDQSxpQnJDeVlvQzs7O0FxQy9YdEM7RTFCOUZFLGVYbU8wQjs7QXFDaEkxQjtFZmpHQSxrQnRCbUVZOztBcUNpQ1o7RUFDRSxrQnJDd1kwQzs7QXFDblk1QztFZjFHQSxrQnRCbUVZOztBcUMyQ1o7RUFDRSxrQnJDa1lnRDs7QXFDN1hsRDtFQUNFLGtCckM4VzBDOztBcUM1VzVDO0VBQ0Usa0JyQzJXMEM7OztBcUNqVzlDO0VBQ0UsZXJDaVg0Qzs7QXFDN1c1QztFZnZJQSxrQnRCbUVZOztBcUN1RVo7RUFDRSxrQnJDMFcwQzs7QXFDclc1QztFQUNFLGtCckNrVjBDOzs7QXFDdFVoRDtFQUNFO0VBQ0E7RUFDQSxRckMyUnNDO0VxQzFSdEM7RUFDQSxhckNvRzRCO0VxQ25HNUIsT3JDeEpTO0VxQ3lKVDtFQUNBO0VBQ0EsaUJyQzBWa0M7RXFDelZsQztFQUVFLGVyQ3dEMEI7RXFDbkQ1Qjs7QUFFQTtFQUNFLGNyQytQb0M7RXFDOVBwQztFQUlFLFlyQ29WOEI7O0FxQ2pWaEM7RUFNRSxPckNwTEs7RXFDcUxMLGtCckM1TEs7O0FxQ2dNVDtFQUVFO0VBQ0EsZXJDaVRnQztFcUNoVGhDOztBQUdGO0VBQ0UsT3JDbE1PO0VxQ21NUCxrQnJDdk1POztBcUMyTVQ7RUFDRTs7O0FBSUo7RUFDRSxRckN1T3NDO0VxQ3RPdEMsYXJDK1JrQztFcUM5UmxDLGdCckM4UmtDO0VxQzdSbEMsV3JDa1RrQzs7O0FxQy9TcEM7RUFDRSxRckNtT3NDO0VxQ2xPdEMsYXJDd1JrQztFcUN2UmxDLGdCckN1UmtDO0VxQ3RSbEMsV3JDOFNrQzs7O0FxQ3RTcEM7RUFDRTtFQUNBO0VBQ0E7RUFDQSxRckM4TXNDO0VxQzdNdEM7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsUXJDc01zQztFcUNyTXRDO0VBQ0E7O0FBRUE7RUFDRSxjckNzTG9DO0VxQ3JMcEMsWXJDc0cwQjs7QXFDcEcxQjtFQUNFLGNyQ2tMa0M7O0FxQzlLdEM7RUFDRSxrQnJDN1BPOztBcUNpUVA7RUFDRSxTckM0U2E7OztBcUN2U25CO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFFyQ3dLc0M7RXFDdkt0QztFQUNBLGFyQ2Y0QjtFcUNnQjVCLE9yQzNRUztFcUM0UVQsa0JyQ25SUztFcUNvUlQ7RTFCMVJFLGVYbU8wQjs7QXFDMkQ1QjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFFyQ3VKb0M7RXFDdEpwQztFQUNBLGFyQy9CMEI7RXFDZ0MxQixPckMzUk87RXFDNFJQO0VmdlNBLGtCdEJNTztFcUNtU1A7RTFCM1NBLGUwQjRTdUI7OztBQVUzQjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBSUE7RUFBMEIsWXJDZ09lOztBcUMvTnpDO0VBQTBCLFlyQytOZTs7QXFDOU56QztFQUEwQixZckM4TmU7O0FxQzNOM0M7RUFDRTs7QUFHRjtFQUNFLE9yQ2dOeUM7RXFDL016QyxRckMrTXlDO0VxQzlNekM7RWYzVUEsa0J0Qm1FWTtFcUMwUVosUXJDK015QztFVzloQnpDLGVYK2hCeUM7RW9COWhCdkMsWWlCaVZGO0VBQ0E7O0FqQjlVRjtFaUJxVUE7SWpCcFVFOzs7QWlCK1VBO0VmblZBLGtCdEJpaUJ5Qzs7QXFDek0zQztFQUNFLE9yQ3lMZ0M7RXFDeExoQyxRckN5TGdDO0VxQ3hMaEM7RUFDQSxRckN3TGdDO0VxQ3ZMaEMsa0JyQ3RWTztFcUN1VlA7RTFCaFdBLGVYd2hCZ0M7O0FxQ25MbEM7RUFDRSxPckNxTHlDO0VxQ3BMekMsUXJDb0x5QztFc0J6aEJ6QyxrQnRCbUVZO0VxQ29TWixRckNxTHlDO0VXOWhCekMsZVgraEJ5QztFb0I5aEJ2QyxZaUIyV0Y7RUFDQTs7QWpCeFdGO0VpQmdXQTtJakIvVkU7OztBaUJ5V0E7RWY3V0Esa0J0QmlpQnlDOztBcUMvSzNDO0VBQ0UsT3JDK0pnQztFcUM5SmhDLFFyQytKZ0M7RXFDOUpoQztFQUNBLFFyQzhKZ0M7RXFDN0poQyxrQnJDaFhPO0VxQ2lYUDtFMUIxWEEsZVh3aEJnQzs7QXFDekpsQztFQUNFLE9yQzJKeUM7RXFDMUp6QyxRckMwSnlDO0VxQ3pKekM7RUFDQSxjckNsQzBCO0VxQ21DMUIsYXJDbkMwQjtFc0IvVjFCLGtCdEJtRVk7RXFDaVVaLFFyQ3dKeUM7RVc5aEJ6QyxlWCtoQnlDO0VvQjloQnZDLFlpQndZRjtFQUNBOztBakJyWUY7RWlCMFhBO0lqQnpYRTs7O0FpQnNZQTtFZjFZQSxrQnRCaWlCeUM7O0FxQ2xKM0M7RUFDRSxPckNrSWdDO0VxQ2pJaEMsUXJDa0lnQztFcUNqSWhDO0VBQ0EsUXJDaUlnQztFcUNoSWhDO0VBQ0E7RUFDQTs7QUFJRjtFQUNFLGtCckNwWk87RVdUUCxlWHdoQmdDOztBcUN2SGxDO0VBQ0U7RUFDQSxrQnJDMVpPO0VXVFAsZVh3aEJnQzs7O0FxQ2hIcEM7QUFBQTtBQUFBO0VqQnZhTSxZaUIwYUo7O0FqQnRhQTtFaUJtYUY7QUFBQTtBQUFBO0lqQmxhSTs7OztBa0JMSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7QXJDQ0E7RXFDRUU7O0FBSUY7RUFDRSxPdENQTzs7O0FzQ2VYO0VBQ0U7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0Uz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T00sT3ZDOGE0Qjs7O0F1Q3RhbEM7RUFDRSxPdkNqUE87O0FDTVQ7RXNDOE9JLE92Q3BQSzs7QXVDeVBQO0VBQ0UsT3ZDbVo4Qjs7QUN2b0JsQztFc0N1UE0sT3ZDaVo0Qjs7QXVDOVk5QjtFQUNFLE92QytZNEI7O0F1QzNZaEM7QUFBQTtBQUFBO0FBQUE7RUFJRSxPdkN6UUs7O0F1QzZRVDtFQUNFLE92QytYZ0M7RXVDOVhoQyxjdkNtWWdDOztBdUNoWWxDO0VBQ0Usa0J2QzhYZ0M7O0F1QzNYbEM7RUFDRSxPdkNzWGdDOztBdUNyWGhDO0VBQ0UsT3ZDelJLOztBQ01UO0VzQ3NSTSxPdkM1Ukc7OztBd0NMTDtFQUNFOztBQUdKO0VBQ0U7O0FBRUY7RUFDRTtFQUNBOztBQUNBO0VBQ0U7O0FBQ0E7RUFDRTtFQUNBLE94QzRETTtFd0MzRE47RUFJQSxheEMrT29CO0V3QzlPcEI7RUFDQSxZeEMwTm9CO0V3Q3pOcEI7O0FuQ2lDTjtFbUMzQ0k7SUFLSTs7O0FBTUY7RUFDRTs7QUFPRjtFQUNFOztBQUNBO0VBQ0U7O0FuQ3FCVjtFbUN0QlE7SUFHSTs7O0FBRUY7RUFDRTs7QW5DNkJaO0VtQ3RDSTtJQWNJO0lBQ0E7OztBQUlGO0VBQ0U7OztBQ25EWjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQnpDeXNCa0M7RXlDeHNCbEM7RUFDQTtFOUJSRSxlWG1PMEI7O0F5Q3hONUI7RUFDRTtFQUNBOztBQUlBO0U5QlhBLHdCWDZOMEI7RVc1TjFCLHlCWDROMEI7O0F5QzVNMUI7RTlCSEEsNEJYK00wQjtFVzlNMUIsMkJYOE0wQjs7O0F5Q3RNOUI7RUFHRTtFQUNBLFN6Q3dxQmtDOzs7QXlDcnFCcEM7RUFDRSxlekNtcUJrQzs7O0F5Q2hxQnBDO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0F4Q3RDQTtFd0MyQ0U7O0FBR0Y7RUFDRSxhekNrcEJnQzs7O0F5QzFvQnBDO0VBQ0U7RUFDQTtFQUNBLGtCekM0b0JrQztFeUMzb0JsQzs7QUFFQTtFOUJyRUUsZThCc0V1Qjs7QUFJdkI7RUFDRTs7O0FBS047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Z0RTUDtFQUNBLGtCaERvcUJnQztFZ0RucUJoQyxjaERvcUJnQzs7QWdEanFCbEM7RUFDRTtFQUNBLFNoRDJwQmdDO0VnRDFwQmhDLFloRDRVMEI7O0FnRHhVNUI7RUFDRTs7O0FBTUE7RUFDRTtFckNSRix3Qlh3TTBCO0VXdk0xQiwyQlh1TTBCOztBZ0QzTDFCO0VyQzNCQSx5QlhzTjBCO0VXck4xQiw0QlhxTjBCOztBZ0R0TDVCO0VBQ0U7RUFDQSxPaER6Q087RWdEMENQLGtCaERxQlk7RWdEcEJaLGNoRG9CWTs7QWdEakJkO0VBQ0UsT2hEc0JZO0VnRHJCWjtFQUVBO0VBQ0Esa0JoRG1vQmdDO0VnRGxvQmhDLGNoRG1vQmdDOzs7QWlEOXJCbEM7RUFDRTtFQUNBLFdqRCtQMEI7RWlEOVAxQixhakQyTjBCOztBaUR0TnhCO0V0Q29CRix3Qlh5TTBCO0VXeE0xQiwyQlh3TTBCOztBaUR4TnhCO0V0Q0NGLHlCWHVOMEI7RVd0TjFCLDRCWHNOMEI7OztBaURyTzVCO0VBQ0U7RUFDQSxXakRnUTBCO0VpRC9QMUIsYWpENE4wQjs7QWlEdk54QjtFdENvQkYsd0JYME0wQjtFV3pNMUIsMkJYeU0wQjs7QWlEek54QjtFdENDRix5Qlh3TjBCO0VXdk4xQiw0Qlh1TjBCOzs7QWtEcE85QjtFQUNFO0VBQ0E7RUFDQSxXbERvd0JrQztFa0Rud0JsQyxhbERnUTRCO0VrRC9QNUI7RUFDQTtFQUNBO0VBQ0E7RXZDVEUsZVhtTzBCOztBa0R0TjVCO0VBQ0U7OztBQUtKO0VBQ0U7RUFDQTs7O0FBT0Y7RUFDRSxlbERpdkJrQztFa0RodkJsQyxjbERndkJrQztFVzl3QmhDLGVYaXhCZ0M7OztBa0QxdUJsQztFQzFDQTtFQUNBLGtCbkRvRmE7O0FDdEViO0VrRFZJO0VBQ0E7RUFDQTs7O0FEbUNKO0VDMUNBO0VBQ0Esa0JuRG9GYTs7QUN0RWI7RWtEVkk7RUFDQTtFQUNBOzs7QURtQ0o7RUMxQ0E7RUFDQSxrQm5Eb0ZhOztBQ3RFYjtFa0RWSTtFQUNBO0VBQ0E7OztBRG1DSjtFQzFDQTtFQUNBLGtCbkRvRmE7O0FDdEViO0VrRFZJO0VBQ0E7RUFDQTs7O0FEbUNKO0VDMUNBO0VBQ0Esa0JuRG9GYTs7QUN0RWI7RWtEVkk7RUFDQTtFQUNBOzs7QURtQ0o7RUMxQ0E7RUFDQSxrQm5Eb0ZhOztBQ3RFYjtFa0RWSTtFQUNBO0VBQ0E7OztBRG1DSjtFQzFDQTtFQUNBLGtCbkRvRmE7O0FDdEViO0VrRFZJO0VBQ0E7RUFDQTs7O0FEbUNKO0VDMUNBO0VBQ0Esa0JuRG9GYTs7QUN0RWI7RWtEVkk7RUFDQTtFQUNBOzs7QUNSTjtFQUNFO0VBQ0EsZXBEb3NCa0M7RW9EbnNCbEMsa0JwRFNTO0VXUlAsZVhvTzBCOztBSzVLMUI7RStDNURKO0lBT0k7Ozs7QUFJSjtFQUNFO0VBQ0E7RXpDVEUsZXlDVXFCOzs7QUNWekI7RUFDRTtFQUNBO0VBQ0EsZXJEdXpCa0M7RXFEdHpCbEM7RTFDSkUsZVhtTzBCOzs7QXFEMU45QjtFQUVFOzs7QUFJRjtFQUNFLGFyRHFQNEI7OztBcUQ3TzlCO0VBQ0U7O0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFVRjtFQzlDQSxPRCtDcUg7RS9CMUNuSCxrQitCMEN1QjtFQzdDekIsY0Q2Q3FFOztBQzNDckU7RUFDRTs7QUFHRjtFQUNFOzs7QURxQ0Y7RUM5Q0EsT0QrQ3FIO0UvQjFDbkgsa0IrQjBDdUI7RUM3Q3pCLGNENkNxRTs7QUMzQ3JFO0VBQ0U7O0FBR0Y7RUFDRTs7O0FEcUNGO0VDOUNBLE9EK0NxSDtFL0IxQ25ILGtCK0IwQ3VCO0VDN0N6QixjRDZDcUU7O0FDM0NyRTtFQUNFOztBQUdGO0VBQ0U7OztBRHFDRjtFQzlDQSxPRCtDcUg7RS9CMUNuSCxrQitCMEN1QjtFQzdDekIsY0Q2Q3FFOztBQzNDckU7RUFDRTs7QUFHRjtFQUNFOzs7QURxQ0Y7RUM5Q0EsT0QrQ3FIO0UvQjFDbkgsa0IrQjBDdUI7RUM3Q3pCLGNENkNxRTs7QUMzQ3JFO0VBQ0U7O0FBR0Y7RUFDRTs7O0FEcUNGO0VDOUNBLE9EK0NxSDtFL0IxQ25ILGtCK0IwQ3VCO0VDN0N6QixjRDZDcUU7O0FDM0NyRTtFQUNFOztBQUdGO0VBQ0U7OztBRHFDRjtFQzlDQSxPRCtDcUg7RS9CMUNuSCxrQitCMEN1QjtFQzdDekIsY0Q2Q3FFOztBQzNDckU7RUFDRTs7QUFHRjtFQUNFOzs7QURxQ0Y7RUM5Q0EsT0QrQ3FIO0UvQjFDbkgsa0IrQjBDdUI7RUM3Q3pCLGNENkNxRTs7QUMzQ3JFO0VBQ0U7O0FBR0Y7RUFDRTs7O0FDVko7RUFDRTtJQUFPOztFQUNQO0lBQUs7OztBQUdQO0VBQ0U7RUFDQSxRdkRtMEJrQztFdURsMEJsQztFQUNBLFd2RGswQmtDO0V1RGowQmxDLGtCdkRFUztFV1JQLGVYbU8wQjs7O0F1RHhOOUI7RUFDRTtFQUNBO0VBQ0E7RUFDQSxPdkRUUztFdURVVDtFQUNBO0VBQ0Esa0J2RDB6QmtDO0VvQjMwQjlCLFltQ2tCSjs7QW5DZEE7RW1DTUY7SW5DTEk7Ozs7QW1DZ0JKO0VqQ2lCRTtFaUNmQTs7O0FBR0Y7RUFDRTs7O0FDaENGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FDRkY7RUFDRTtFQUNBO0VBR0E7RUFDQTs7O0FBU0Y7RUFDRTtFQUNBLE96REpTO0V5REtUOztBeEROQTtFd0RVRSxPekRUTztFeURVUDtFQUNBLGtCekRqQk87O0F5RG9CVDtFQUNFLE96RCtDWTtFeUQ5Q1osa0J6RHJCTzs7O0F5RDhCWDtFQUNFO0VBQ0E7RUFDQTtFQUVBO0VBQ0Esa0J6RHN5QmtDO0V5RHJ5QmxDOztBQUVBO0U5Q3pDRSx3Qlg2TjBCO0VXNU4xQix5Qlg0TjBCOztBeURoTDVCO0VBQ0U7RTlDaENBLDRCWCtNMEI7RVc5TTFCLDJCWDhNMEI7O0FDdk41QjtFd0Q2Q0U7RUFDQTs7QUFHRjtFQUVFLE96RG5ETztFeURvRFAsa0J6RGt4QmdDOztBeUQ5d0JsQztFQUNFO0VBQ0EsT3pEaEVPO0V5RGlFUCxrQnpERlk7RXlER1osY3pESFk7OztBeURjZDtFQUNFO0VBQ0E7RTlDckZBLGU4Q3NGdUI7O0FBSXZCO0VBQ0U7O0FBS0Y7RUFDRTs7O0FDbEdKO0VBQ0UsT0Q2R3NFO0VDNUd0RSxrQkQ0R3VDOztBeERqR3pDO0V5RFBNLE9Ed0drRTtFQ3ZHbEU7O0FBR0Y7RUFDRSxPMURKRztFMERLSCxrQkRrR2tFO0VDakdsRSxjRGlHa0U7OztBQzlHeEU7RUFDRSxPRDZHc0U7RUM1R3RFLGtCRDRHdUM7O0F4RGpHekM7RXlEUE0sT0R3R2tFO0VDdkdsRTs7QUFHRjtFQUNFLE8xREpHO0UwREtILGtCRGtHa0U7RUNqR2xFLGNEaUdrRTs7O0FDOUd4RTtFQUNFLE9ENkdzRTtFQzVHdEUsa0JENEd1Qzs7QXhEakd6QztFeURQTSxPRHdHa0U7RUN2R2xFOztBQUdGO0VBQ0UsTzFESkc7RTBES0gsa0JEa0drRTtFQ2pHbEUsY0RpR2tFOzs7QUM5R3hFO0VBQ0UsT0Q2R3NFO0VDNUd0RSxrQkQ0R3VDOztBeERqR3pDO0V5RFBNLE9Ed0drRTtFQ3ZHbEU7O0FBR0Y7RUFDRSxPMURKRztFMERLSCxrQkRrR2tFO0VDakdsRSxjRGlHa0U7OztBQzlHeEU7RUFDRSxPRDZHc0U7RUM1R3RFLGtCRDRHdUM7O0F4RGpHekM7RXlEUE0sT0R3R2tFO0VDdkdsRTs7QUFHRjtFQUNFLE8xREpHO0UwREtILGtCRGtHa0U7RUNqR2xFLGNEaUdrRTs7O0FDOUd4RTtFQUNFLE9ENkdzRTtFQzVHdEUsa0JENEd1Qzs7QXhEakd6QztFeURQTSxPRHdHa0U7RUN2R2xFOztBQUdGO0VBQ0UsTzFESkc7RTBES0gsa0JEa0drRTtFQ2pHbEUsY0RpR2tFOzs7QUM5R3hFO0VBQ0UsT0Q2R3NFO0VDNUd0RSxrQkQ0R3VDOztBeERqR3pDO0V5RFBNLE9Ed0drRTtFQ3ZHbEU7O0FBR0Y7RUFDRSxPMURKRztFMERLSCxrQkRrR2tFO0VDakdsRSxjRGlHa0U7OztBQzlHeEU7RUFDRSxPRDZHc0U7RUM1R3RFLGtCRDRHdUM7O0F4RGpHekM7RXlEUE0sT0R3R2tFO0VDdkdsRTs7QUFHRjtFQUNFLE8xREpHO0UwREtILGtCRGtHa0U7RUNqR2xFLGNEaUdrRTs7O0FFakgxRTtFQUNFO0VBQ0EsVzNEbTZCa0M7RTJEbDZCbEMsYTNEc1E0QjtFMkRyUTVCO0VBQ0EsTzNEZVM7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RUFDQSxPaEVwR1M7RWdFcUdUO0VBQ0Esa0JoRTVGUztFV2hCUCxlWG1PMEI7OztBa0V2TzlCO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsU2xFeW1Ca0M7RWtFeG1CbEM7RUFDQSxXbEU4dUJrQztFaUVudkJsQyxhakU2UDRCO0VpRTNQNUI7RUFDQSxhakVvUTRCO0VpRW5RNUIsYWpFdVE0QjtFaUV0UTVCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VDTEEsV2xFMlA0QjtFa0V6UDVCO0VBQ0Esa0JsRXN1QmtDO0VrRXJ1QmxDO0VBQ0E7RXZEWEUsZVhvTzBCOztBa0VyTjVCO0VBQ0U7RUFDQTtFQUNBLE9sRTZ1QmdDO0VrRTV1QmhDLFFsRTZ1QmdDO0VrRTV1QmhDOztBQUVBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS047RUFDRSxlbEU4dEJrQzs7QWtFNXRCbEM7RUFDRTs7QUFHRjtBQUFBO0FBQUE7RUFFRTs7QUFHRjtFQUNFO0VBQ0Esa0JsRW90QmdDOztBa0VqdEJsQztFQUNFLFFsRTZLMEI7RWtFNUsxQixrQmxFMnJCZ0M7OztBa0V2ckJwQztFQUNFLGFsRXVzQmtDOztBa0Vyc0JsQztFQUNFO0VBQ0EsT2xFbXNCZ0M7RWtFbHNCaEMsUWxFaXNCZ0M7RWtFaHNCaEM7O0FBR0Y7QUFBQTtBQUFBO0VBRUU7O0FBR0Y7RUFDRTtFQUNBLG9CbEUwckJnQzs7QWtFdnJCbEM7RUFDRSxNbEVtSjBCO0VrRWxKMUIsb0JsRWlxQmdDOzs7QWtFN3BCcEM7RUFDRSxZbEU2cUJrQzs7QWtFM3FCbEM7RUFDRTs7QUFHRjtBQUFBO0FBQUE7RUFFRTs7QUFHRjtFQUNFO0VBQ0EscUJsRW1xQmdDOztBa0VocUJsQztFQUNFLEtsRTRIMEI7RWtFM0gxQixxQmxFMG9CZ0M7O0FrRXRvQmxDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPbEVpcEJnQztFa0VocEJoQztFQUNBO0VBQ0E7OztBQUlKO0VBQ0UsY2xFMG9Ca0M7O0FrRXhvQmxDO0VBQ0U7RUFDQSxPbEVzb0Jn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QUFBQTtFQUVFOzs7QUFmRjtFQUFnQzs7O0FBQ2hDO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBZkY7RUFBZ0M7OztBQUNoQztBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQWZGO0VBQWdDOzs7QUFDaEM7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFmRjtFQUFnQzs7O0FBQ2hDO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBZkY7RUFBZ0M7OztBQUNoQztBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQWZGO0VBQWdDOzs7QUFDaEM7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFmRjtFQUFnQzs7O0FBQ2hDO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBZkY7RUFBZ0M7OztBQUNoQztBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQU1OO0VBQW1COzs7QUFDbkI7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QTlFYUY7RThFakRJO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQU1OO0lBQW1COztFQUNuQjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7OztBOUVhRjtFOEVqREk7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBTU47SUFBbUI7O0VBQ25CO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7O0E5RWFGO0U4RWpESTtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFNTjtJQUFtQjs7RUFDbkI7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOzs7QTlFYUY7RThFakRJO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztB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O0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDakdSO0VBQ0U7RUFDQTtFQUNBOztBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBQ0E7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLFk5RjJxQjRCO0U4RjFxQjVCO0VBQ0E7RUFDQTs7QUFFRTtFQUNFO0VBQ0EsTzlGZ0NJOztBOEY5Qk47RUFDRTtFQUNBOztBQUdKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBT047RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUlKO0VBQ0U7RUFDQSxPOUZ0RFk7O0E4RjBEWjtFQUNFOztBQUVGO0VBQ0U7OztBQzNJRjtFQUNFOztBQUNBO0VBQ0U7O0FBRUY7RUFDRTtFQUNBLFcvRjRQc0I7O0ErRjFQeEI7RUFDRSxXL0Z5UHNCOztBK0Z2UHhCO0VBQ0U7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O0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0EsZUFya0RpQjtFQXNrRGpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBT0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QTlGM2pEQTtFOEYrakRBO0lBQ0U7OztBQUtKO0VBQ0U7O0FBT0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7OztBQ3hzREY7RUFDRTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOzs7QUNYRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNFO0VBQ0EiLCJmaWxlIjoidGhlbWUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXHJcbiAqIEJvb3RzdHJhcCB2NC4xLjMgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pXHJcbiAqIENvcHlyaWdodCAyMDExLTIwMTggVGhlIEJvb3RzdHJhcCBBdXRob3JzXHJcbiAqIENvcHlyaWdodCAyMDExLTIwMTggVHdpdHRlciwgSW5jLlxyXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKVxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9mdW5jdGlvbnNcIjtcclxuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9yb290XCI7XHJcbkBpbXBvcnQgXCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9yZWJvb3RcIjtcclxuQGltcG9ydCBcIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL3R5cGVcIjtcclxuQGltcG9ydCBcImF0b21zL2NvbnRhaW5lcnNcIjtcclxuQGltcG9ydCBcImF0b21zL3R5cG9ncmFwaHlcIjtcclxuQGltcG9ydCBcImF0b21zL2FuaW1hdGlvbnNcIjtcclxuQGltcG9ydCBcImF0b21zL2ltYWdlc1wiO1xyXG5AaW1wb3J0IFwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvaW1hZ2VzXCI7XHJcbkBpbXBvcnQgXCJtb2xlY3VsZXMvbGlzdFwiO1xyXG5AaW1wb3J0IFwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvY29kZVwiO1xyXG5AaW1wb3J0IFwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvZ3JpZFwiO1xyXG5AaW1wb3J0IFwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvdGFibGVzXCI7XHJcbkBpbXBvcnQgXCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9mb3Jtc1wiO1xyXG5AaW1wb3J0IFwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvYnV0dG9uc1wiO1xyXG5AaW1wb3J0IFwibW9sZWN1bGVzL2J1dHRvbnNcIjtcclxuQGltcG9ydCBcIm1vbGVjdWxlcy9ib3hlc1wiO1xyXG5AaW1wb3J0IFwibW9sZWN1bGVzL3BhZ2Vsb2FkZXJcIjtcclxuQGltcG9ydCBcIm1vbGVjdWxlcy9zcG9uc29ycy1zbGlkZXJcIjtcclxuQGltcG9ydCBcIm1vbGVjdWxlcy9wcm9ncmVzcy1iYXJcIjtcclxuQGltcG9ydCBcIm1vbGVjdWxlcy9fbmF2XCI7XHJcbkBpbXBvcnQgXCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy90cmFuc2l0aW9uc1wiO1xyXG5AaW1wb3J0IFwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvZHJvcGRvd25cIjtcclxuQGltcG9ydCBcIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL2J1dHRvbi1ncm91cFwiO1xyXG5AaW1wb3J0IFwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvaW5wdXQtZ3JvdXBcIjtcclxuQGltcG9ydCBcIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL2N1c3RvbS1mb3Jtc1wiO1xyXG5AaW1wb3J0IFwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvbmF2XCI7XHJcbkBpbXBvcnQgXCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9uYXZiYXJcIjtcclxuQGltcG9ydCBcIm9yZ2FuaXNtcy9uYXZiYXJcIjtcclxuQGltcG9ydCBcIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL2NhcmRcIjtcclxuQGltcG9ydCBcIm1vbGVjdWxlcy9tZW1iZXItY2FyZFwiO1xyXG5AaW1wb3J0IFwibW9sZWN1bGVzL3BhY2thZ2UtY2FyZFwiO1xyXG5AaW1wb3J0IFwibW9sZWN1bGVzL3Njb3JlLWNhcmRcIjtcclxuQGltcG9ydCBcIm1vbGVjdWxlcy90b3VybmV5LWNhcmRcIjtcclxuQGltcG9ydCBcIm1vbGVjdWxlcy9ob21lLWNhcmRcIjtcclxuQGltcG9ydCBcIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL2JyZWFkY3J1bWJcIjtcclxuQGltcG9ydCBcIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL3BhZ2luYXRpb25cIjtcclxuQGltcG9ydCBcIm1vbGVjdWxlcy9wYWdpbmF0aW9uXCI7XHJcbkBpbXBvcnQgXCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9iYWRnZVwiO1xyXG5AaW1wb3J0IFwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvanVtYm90cm9uXCI7XHJcbkBpbXBvcnQgXCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9hbGVydFwiO1xyXG5AaW1wb3J0IFwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvcHJvZ3Jlc3NcIjtcclxuQGltcG9ydCBcIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL21lZGlhXCI7XHJcbkBpbXBvcnQgXCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9saXN0LWdyb3VwXCI7XHJcbkBpbXBvcnQgXCIuLi8zcmRwYXJ0eS9ib290c3RyYXAvc2Nzcy9jbG9zZVwiO1xyXG5AaW1wb3J0IFwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvbW9kYWxcIjtcclxuQGltcG9ydCBcIm9yZ2FuaXNtcy9tb2RhbFwiO1xyXG5AaW1wb3J0IFwib3JnYW5pc21zL3RpbWV0YWJsZVwiO1xyXG5AaW1wb3J0IFwib3JnYW5pc21zL2NvbnZlcnNhdGlvblwiO1xyXG5AaW1wb3J0IFwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvdG9vbHRpcFwiO1xyXG5AaW1wb3J0IFwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvcG9wb3ZlclwiO1xyXG5AaW1wb3J0IFwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvY2Fyb3VzZWxcIjtcclxuQGltcG9ydCBcIi4uLzNyZHBhcnR5L2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllc1wiO1xyXG5AaW1wb3J0IFwiLi4vM3JkcGFydHkvYm9vdHN0cmFwL3Njc3MvcHJpbnRcIjtcclxuQGltcG9ydCBcImF0b21zL2JhY2tncm91bmRzXCI7XHJcblxyXG5AaW1wb3J0IFwib3JnYW5pc21zL3BhZ2UtaGVhZGVyXCI7XHJcbkBpbXBvcnQgXCJvcmdhbmlzbXMvc29jaWFsYm94ZXNcIjtcclxuQGltcG9ydCBcIm9yZ2FuaXNtcy90aW1lbGluZVwiO1xyXG5AaW1wb3J0IFwib3JnYW5pc21zL2Zvb3RlclwiO1xyXG5cclxuQGltcG9ydCBcImM1Zml4XCI7XHJcblxyXG5AaW1wb3J0IFwidGVtcGxhdGVzL2hvbWVcIjtcclxuQGltcG9ydCBcInRlbXBsYXRlcy9sYW5cIjtcclxuQGltcG9ydCBcInRlbXBsYXRlcy9sYXNoYm9hcmRcIjtcclxuQGltcG9ydCBcInRlbXBsYXRlcy9iYXJfcGF5bWVudFwiOyIsIjpyb290IHtcclxuICAvLyBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cclxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcclxuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XHJcbiAgfVxyXG5cclxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcclxuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XHJcbiAgfVxyXG5cclxuICBAZWFjaCAkYnAsICR2YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XHJcbiAgICAtLWJyZWFrcG9pbnQtI3skYnB9OiAjeyR2YWx1ZX07XHJcbiAgfVxyXG5cclxuICAvLyBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXHJcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzIzODMjaXNzdWVjb21tZW50LTMzNjM0OTE3MlxyXG4gIC0tZm9udC1mYW1pbHktc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XHJcbiAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XHJcbn1cclxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgYXQtcnVsZS1uby12ZW5kb3ItcHJlZml4LCBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxyXG5cclxuLy8gUmVib290XHJcbi8vXHJcbi8vIE5vcm1hbGl6YXRpb24gb2YgSFRNTCBlbGVtZW50cywgbWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyB0byByZW1vdmVcclxuLy8gc3R5bGVzIHRhcmdldGluZyBpcnJlbGV2YW50IGJyb3dzZXJzIHdoaWxlIGFwcGx5aW5nIG5ldyBzdHlsZXMuXHJcbi8vXHJcbi8vIE5vcm1hbGl6ZSBpcyBsaWNlbnNlZCBNSVQuIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcclxuXHJcblxyXG4vLyBEb2N1bWVudFxyXG4vL1xyXG4vLyAxLiBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxyXG4vLyAyLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzLlxyXG4vLyAzLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXHJcbi8vIDQuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxyXG4vLyA1LiBTZXR0aW5nIEB2aWV3cG9ydCBjYXVzZXMgc2Nyb2xsYmFycyB0byBvdmVybGFwIGNvbnRlbnQgaW4gSUUxMSBhbmQgRWRnZSwgc29cclxuLy8gICAgd2UgZm9yY2UgYSBub24tb3ZlcmxhcHBpbmcsIG5vbi1hdXRvLWhpZGluZyBzY3JvbGxiYXIgdG8gY291bnRlcmFjdC5cclxuLy8gNi4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXHJcblxyXG4qLFxyXG4qOjpiZWZvcmUsXHJcbio6OmFmdGVyIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXHJcbn1cclxuXHJcbmh0bWwge1xyXG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAyXHJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDNcclxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDRcclxuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxyXG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyOyAvLyA1XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKCRibGFjaywgMCk7IC8vIDZcclxufVxyXG5cclxuLy8gSUUxMCsgZG9lc24ndCBob25vciBgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCI+YCBpbiBzb21lIGNhc2VzLlxyXG5AYXQtcm9vdCB7XHJcbiAgQC1tcy12aWV3cG9ydCB7XHJcbiAgICB3aWR0aDogZGV2aWNlLXdpZHRoO1xyXG4gIH1cclxufVxyXG5cclxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXHJcbi8vIFNoaW0gZm9yIFwibmV3XCIgSFRNTDUgc3RydWN0dXJhbCBlbGVtZW50cyB0byBkaXNwbGF5IGNvcnJlY3RseSAoSUUxMCwgb2xkZXIgYnJvd3NlcnMpXHJcbmFydGljbGUsIGFzaWRlLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG5hdiwgc2VjdGlvbiB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcclxuXHJcbi8vIEJvZHlcclxuLy9cclxuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxyXG4vLyAyLiBBcyBhIGJlc3QgcHJhY3RpY2UsIGFwcGx5IGEgZGVmYXVsdCBgYmFja2dyb3VuZC1jb2xvcmAuXHJcbi8vIDMuIFNldCBhbiBleHBsaWNpdCBpbml0aWFsIHRleHQtYWxpZ24gdmFsdWUgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgdXNlIHRoZVxyXG4vLyAgICB0aGUgYGluaGVyaXRgIHZhbHVlIG9uIHRoaW5ncyBsaWtlIGA8dGg+YCBlbGVtZW50cy5cclxuXHJcbmJvZHkge1xyXG4gIG1hcmdpbjogMDsgLy8gMVxyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcclxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcclxuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XHJcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xyXG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcclxuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAzXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7IC8vIDJcclxufVxyXG5cclxuLy8gU3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmUgb24gZWxlbWVudHMgdGhhdCBjYW5ub3QgYmUgYWNjZXNzZWQgdmlhIGtleWJvYXJkLlxyXG4vLyBUaGlzIHByZXZlbnRzIGFuIHVud2FudGVkIGZvY3VzIG91dGxpbmUgZnJvbSBhcHBlYXJpbmcgYXJvdW5kIGVsZW1lbnRzIHRoYXRcclxuLy8gbWlnaHQgc3RpbGwgcmVzcG9uZCB0byBwb2ludGVyIGV2ZW50cy5cclxuLy9cclxuLy8gQ3JlZGl0OiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9iYXNlXHJcblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzIHtcclxuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4vLyBDb250ZW50IGdyb3VwaW5nXHJcbi8vXHJcbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXHJcbi8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxyXG5cclxuaHIge1xyXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXHJcbiAgaGVpZ2h0OiAwOyAvLyAxXHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcclxufVxyXG5cclxuXHJcbi8vXHJcbi8vIFR5cG9ncmFwaHlcclxuLy9cclxuXHJcbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXHJcbi8vXHJcbi8vIEJ5IGRlZmF1bHQsIGA8aDE+YC1gPGg2PmAgYWxsIHJlY2VpdmUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gV2UgbnVrZSB0aGUgdG9wXHJcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cclxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXHJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gIG1hcmdpbi10b3A6IDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XHJcbn1cclxuLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcclxuXHJcbi8vIFJlc2V0IG1hcmdpbnMgb24gcGFyYWdyYXBoc1xyXG4vL1xyXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXHJcbi8vIGJvdHRvbSBtYXJnaW4gdG8gdXNlIGByZW1gIHVuaXRzIGluc3RlYWQgb2YgYGVtYC5cclxucCB7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbn1cclxuXHJcbi8vIEFiYnJldmlhdGlvbnNcclxuLy9cclxuLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxyXG4vLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxyXG4vLyAzLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXHJcbi8vIDQuIER1cGxpY2F0ZSBiZWhhdmlvciB0byB0aGUgZGF0YS0qIGF0dHJpYnV0ZSBmb3Igb3VyIHRvb2x0aXAgcGx1Z2luXHJcblxyXG5hYmJyW3RpdGxlXSxcclxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7IC8vIDRcclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxyXG4gIGN1cnNvcjogaGVscDsgLy8gM1xyXG4gIGJvcmRlci1ib3R0b206IDA7IC8vIDFcclxufVxyXG5cclxuYWRkcmVzcyB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbn1cclxuXHJcbm9sLFxyXG51bCxcclxuZGwge1xyXG4gIG1hcmdpbi10b3A6IDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxufVxyXG5cclxub2wgb2wsXHJcbnVsIHVsLFxyXG5vbCB1bCxcclxudWwgb2wge1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbmR0IHtcclxuICBmb250LXdlaWdodDogJGR0LWZvbnQtd2VpZ2h0O1xyXG59XHJcblxyXG5kZCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XHJcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XHJcbn1cclxuXHJcbmJsb2NrcXVvdGUge1xyXG4gIG1hcmdpbjogMCAwIDFyZW07XHJcbn1cclxuXHJcbmRmbiB7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy1cclxufVxyXG5cclxuLy8gc3R5bGVsaW50LWRpc2FibGUgZm9udC13ZWlnaHQtbm90YXRpb25cclxuYixcclxuc3Ryb25nIHtcclxuICBmb250LXdlaWdodDogYm9sZGVyOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXHJcbn1cclxuLy8gc3R5bGVsaW50LWVuYWJsZSBmb250LXdlaWdodC1ub3RhdGlvblxyXG5cclxuc21hbGwge1xyXG4gIGZvbnQtc2l6ZTogODAlOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vyc1xyXG59XHJcblxyXG4vL1xyXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cclxuLy8gYWxsIGJyb3dzZXJzLlxyXG4vL1xyXG5cclxuc3ViLFxyXG5zdXAge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBmb250LXNpemU6IDc1JTtcclxuICBsaW5lLWhlaWdodDogMDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbnN1YiB7IGJvdHRvbTogLS4yNWVtOyB9XHJcbnN1cCB7IHRvcDogLS41ZW07IH1cclxuXHJcblxyXG4vL1xyXG4vLyBMaW5rc1xyXG4vL1xyXG5cclxuYSB7XHJcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxyXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8vIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cclxuXHJcbiAgQGluY2x1ZGUgaG92ZXIge1xyXG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpXHJcbi8vIHdoaWNoIGhhdmUgbm90IGJlZW4gbWFkZSBleHBsaWNpdGx5IGtleWJvYXJkLWZvY3VzYWJsZSAod2l0aG91dCB0YWJpbmRleCkuXHJcbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XHJcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxyXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTQwMlxyXG5cclxuYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSkge1xyXG4gIGNvbG9yOiBpbmhlcml0O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy9cclxuLy8gQ29kZVxyXG4vL1xyXG5cclxucHJlLFxyXG5jb2RlLFxyXG5rYmQsXHJcbnNhbXAge1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4gIGZvbnQtc2l6ZTogMWVtOyAvLyBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbn1cclxuXHJcbnByZSB7XHJcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXHJcbiAgbWFyZ2luLXRvcDogMDtcclxuICAvLyBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xyXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgLy8gRG9uJ3QgYWxsb3cgY29udGVudCB0byBicmVhayBvdXRzaWRlXHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgLy8gV2UgaGF2ZSBAdmlld3BvcnQgc2V0IHdoaWNoIGNhdXNlcyBzY3JvbGxiYXJzIHRvIG92ZXJsYXAgY29udGVudCBpbiBJRTExIGFuZCBFZGdlLCBzb1xyXG4gIC8vIHdlIGZvcmNlIGEgbm9uLW92ZXJsYXBwaW5nLCBub24tYXV0by1oaWRpbmcgc2Nyb2xsYmFyIHRvIGNvdW50ZXJhY3QuXHJcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XHJcbn1cclxuXHJcblxyXG4vL1xyXG4vLyBGaWd1cmVzXHJcbi8vXHJcblxyXG5maWd1cmUge1xyXG4gIC8vIEFwcGx5IGEgY29uc2lzdGVudCBtYXJnaW4gc3RyYXRlZ3kgKG1hdGNoZXMgb3VyIHR5cGUgc3R5bGVzKS5cclxuICBtYXJnaW46IDAgMCAxcmVtO1xyXG59XHJcblxyXG5cclxuLy9cclxuLy8gSW1hZ2VzIGFuZCBjb250ZW50XHJcbi8vXHJcblxyXG5pbWcge1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cclxufVxyXG5cclxuc3ZnIHtcclxuICAvLyBXb3JrYXJvdW5kIGZvciB0aGUgU1ZHIG92ZXJmbG93IGJ1ZyBpbiBJRTEwLzExIGlzIHN0aWxsIHJlcXVpcmVkLlxyXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI2ODc4XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG5cclxuLy9cclxuLy8gVGFibGVzXHJcbi8vXHJcblxyXG50YWJsZSB7XHJcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xyXG59XHJcblxyXG5jYXB0aW9uIHtcclxuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZztcclxuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcclxuICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcclxufVxyXG5cclxudGgge1xyXG4gIC8vIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgZnJvbSB0aGUgYDxib2R5PmAsIG9yIHRoZVxyXG4gIC8vIGNsb3Nlc3QgcGFyZW50IHdpdGggYSBzZXQgYHRleHQtYWxpZ25gLlxyXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XHJcbn1cclxuXHJcblxyXG4vL1xyXG4vLyBGb3Jtc1xyXG4vL1xyXG5cclxubGFiZWwge1xyXG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1hcmdpbi1ib3R0b206ICRsYWJlbC1tYXJnaW4tYm90dG9tO1xyXG59XHJcblxyXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXHJcbi8vXHJcbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xyXG5idXR0b24ge1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbn1cclxuXHJcbi8vIFdvcmsgYXJvdW5kIGEgRmlyZWZveC9JRSBidWcgd2hlcmUgdGhlIHRyYW5zcGFyZW50IGBidXR0b25gIGJhY2tncm91bmRcclxuLy8gcmVzdWx0cyBpbiBhIGxvc3Mgb2YgdGhlIGRlZmF1bHQgYGJ1dHRvbmAgZm9jdXMgc3R5bGVzLlxyXG4vL1xyXG4vLyBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2Jhc2UvXHJcbmJ1dHRvbjpmb2N1cyB7XHJcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcclxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XHJcbn1cclxuXHJcbmlucHV0LFxyXG5idXR0b24sXHJcbnNlbGVjdCxcclxub3B0Z3JvdXAsXHJcbnRleHRhcmVhIHtcclxuICBtYXJnaW46IDA7IC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxyXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxufVxyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCB7XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2VcclxufVxyXG5cclxuYnV0dG9uLFxyXG5zZWxlY3Qge1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3hcclxufVxyXG5cclxuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXHJcbi8vICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cclxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuYnV0dG9uLFxyXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXHJcblt0eXBlPVwicmVzZXRcIl0sXHJcblt0eXBlPVwic3VibWl0XCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxyXG59XHJcblxyXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJvcmRlci1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLVxyXG4gIHBhZGRpbmc6IDA7IC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC1cclxufVxyXG5cclxuXHJcbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxyXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcclxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxyXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xyXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCBhcHBlYXJhbmNlIG9mIHRlbXBvcmFsIGlucHV0cyB0byBhdm9pZCBhIE1vYmlsZSBTYWZhcmlcclxuICAvLyBidWcgd2hlcmUgc2V0dGluZyBhIGN1c3RvbSBsaW5lLWhlaWdodCBwcmV2ZW50cyB0ZXh0IGZyb20gYmVpbmcgdmVydGljYWxseVxyXG4gIC8vIGNlbnRlcmVkIHdpdGhpbiB0aGUgaW5wdXQuXHJcbiAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzk4NDhcclxuICAvLyBhbmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTI2NlxyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbGlzdGJveDtcclxufVxyXG5cclxudGV4dGFyZWEge1xyXG4gIG92ZXJmbG93OiBhdXRvOyAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxyXG4gIC8vIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cclxuICByZXNpemU6IHZlcnRpY2FsO1xyXG59XHJcblxyXG5maWVsZHNldCB7XHJcbiAgLy8gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcclxuICAvLyB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cclxuICAvLyBTbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBmaWVsZHNldHMgYmVoYXZlIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXHJcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcclxuICAvLyBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXHJcbiAgbWluLXdpZHRoOiAwO1xyXG4gIC8vIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGJvcmRlcjogMDtcclxufVxyXG5cclxuLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cclxuLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxyXG5sZWdlbmQge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogMTAwJTsgLy8gMVxyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XHJcbiAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDJcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXHJcbn1cclxuXHJcbnByb2dyZXNzIHtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXHJcbn1cclxuXHJcbi8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cclxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcblt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAvLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXHJcbiAgLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XHJcbiAgLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxyXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXHJcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxuLy9cclxuLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cclxuLy9cclxuXHJcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxyXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG4vL1xyXG4vLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxyXG4vLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXHJcbi8vXHJcblxyXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcclxuICBmb250OiBpbmhlcml0OyAvLyAyXHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcclxufVxyXG5cclxuLy9cclxuLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXHJcbi8vXHJcblxyXG5vdXRwdXQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuc3VtbWFyeSB7XHJcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbnRlbXBsYXRlIHtcclxuICBkaXNwbGF5OiBub25lOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRVxyXG59XHJcblxyXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlIChmcm9tIFB1cmVDU1MpLlxyXG4vLyBOZWVkZWQgZm9yIHByb3BlciBkaXNwbGF5IGluIElFIDEwLS5cclxuW2hpZGRlbl0ge1xyXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4iLCIvLyBWYXJpYWJsZXNcclxuLy9cclxuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXHJcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxyXG5cclxuXHJcbi8vXHJcbi8vIENvbG9yIHN5c3RlbVxyXG4vL1xyXG5cclxuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xyXG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XHJcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcclxuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xyXG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XHJcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcclxuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xyXG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XHJcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcclxuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xyXG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XHJcblxyXG4kZ3JheXM6ICgpICFkZWZhdWx0O1xyXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxyXG4kZ3JheXM6IG1hcC1tZXJnZShcclxuICAoXHJcbiAgICBcIjEwMFwiOiAkZ3JheS0xMDAsXHJcbiAgICBcIjIwMFwiOiAkZ3JheS0yMDAsXHJcbiAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXHJcbiAgICBcIjQwMFwiOiAkZ3JheS00MDAsXHJcbiAgICBcIjUwMFwiOiAkZ3JheS01MDAsXHJcbiAgICBcIjYwMFwiOiAkZ3JheS02MDAsXHJcbiAgICBcIjcwMFwiOiAkZ3JheS03MDAsXHJcbiAgICBcIjgwMFwiOiAkZ3JheS04MDAsXHJcbiAgICBcIjkwMFwiOiAkZ3JheS05MDBcclxuICApLFxyXG4gICRncmF5c1xyXG4pO1xyXG5cclxuXHJcbiRibHVlOiAgICBzdGVlbGJsdWUgIWRlZmF1bHQ7XHJcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xyXG4kcHVycGxlOiAgbWVkaXVtcHVycGxlICFkZWZhdWx0O1xyXG4kcGluazogICAgbGlnaHRjb3JhbCAhZGVmYXVsdDtcclxuJHJlZDogICAgICNlNTQzNDMgIWRlZmF1bHQ7XHJcbiRvcmFuZ2U6ICAjZmZhODAwICFkZWZhdWx0O1xyXG4keWVsbG93OiAgZ29sZCAhZGVmYXVsdDtcclxuJGdyZWVuOiAgIGxpbWVncmVlbiAhZGVmYXVsdDtcclxuJHRlYWw6ICAgIGRhcmt0dXJxdW9pc2UgIWRlZmF1bHQ7XHJcbiRjeWFuOiAgICAjMTdhMmI4ICFkZWZhdWx0O1xyXG5cclxuXHJcbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xyXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxyXG4kY29sb3JzOiBtYXAtbWVyZ2UoXHJcbiAgKFxyXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxyXG4gICAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXHJcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcclxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcclxuICAgIFwicmVkXCI6ICAgICAgICAkcmVkLFxyXG4gICAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXHJcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcclxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXHJcbiAgICBcInRlYWxcIjogICAgICAgJHRlYWwsXHJcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXHJcbiAgICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxyXG4gICAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcclxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDAsXHJcbiAgKSxcclxuICAkY29sb3JzXHJcbik7XHJcblxyXG4kcHJpbWFyeTogICAgICAgZGFya2VuKCR0ZWFsLCAxMCUpICFkZWZhdWx0O1xyXG4kc2Vjb25kYXJ5OiAgICAgbGlnaHRzbGF0ZWdyYXkgIWRlZmF1bHQ7XHJcbiRzdWNjZXNzOiAgICAgICAjM2M3NjNkICFkZWZhdWx0O1xyXG4kaW5mbzogICAgICAgICAgIzMxNzA4ZiAhZGVmYXVsdDtcclxuJHdhcm5pbmc6ICAgICAgICM4YTZkM2IgIWRlZmF1bHQ7XHJcbiRkYW5nZXI6ICAgICAgICAjYTk0NDQyICFkZWZhdWx0O1xyXG4kbGlnaHQ6ICAgICAgICAgI2I2YjZiNiAhZGVmYXVsdDtcclxuJGRhcms6ICAgICAgICAgICMxNjE2MTYgIWRlZmF1bHQ7XHJcbiRsaWdodC10cmFuc3BhcmVudDogcmdiYSgxODIsIDE4MiwgMTgyLCAwLjg1KSAhZGVmYXVsdDtcclxuJGRhcmstdHJhbnNwYXJlbnQ6IHJnYmEoMjIsIDIyLCAyMiwgMC44NSkgIWltcG9ydGFudDtcclxuXHJcbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xyXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxyXG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoXHJcbiAgKFxyXG4gICAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxyXG4gICAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXHJcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXHJcbiAgICBcImluZm9cIjogICAgICAgJGluZm8sXHJcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXHJcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcclxuICAgIFwibGlnaHRcIjogICAgICAkbGlnaHQsXHJcbiAgICBcImRhcmtcIjogICAgICAgJGRhcmssXHJcblxyXG4gICksXHJcbiAgJHRoZW1lLWNvbG9yc1xyXG4pO1xyXG5cclxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xyXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6ICAgICAgOCUgIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cclxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MCAhZGVmYXVsdDtcclxuXHJcbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxyXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xyXG4keWlxLXRleHQtbGlnaHQ6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8gT3B0aW9uc1xyXG4vL1xyXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXHJcblxyXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XHJcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcclxuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xyXG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogIGZhbHNlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkLCBubyBsb25nZXIgYWZmZWN0cyBhbnkgY29tcGlsZWQgQ1NTXHJcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICB0cnVlICFkZWZhdWx0O1xyXG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBTcGFjaW5nXHJcbi8vXHJcbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2VcclxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxyXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxyXG5cclxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcclxuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xyXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxyXG4kc3BhY2VyczogbWFwLW1lcmdlKFxyXG4gIChcclxuICAgIDA6IDAsXHJcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXHJcbiAgICAyOiAoJHNwYWNlciAqIC41KSxcclxuICAgIDM6ICRzcGFjZXIsXHJcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXHJcbiAgICA1OiAoJHNwYWNlciAqIDMpXHJcbiAgKSxcclxuICAkc3BhY2Vyc1xyXG4pO1xyXG5cclxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxyXG4kc2l6ZXM6ICgpICFkZWZhdWx0O1xyXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxyXG4kc2l6ZXM6IG1hcC1tZXJnZShcclxuICAoXHJcbiAgICAyNTogMjUlLFxyXG4gICAgNTA6IDUwJSxcclxuICAgIDc1OiA3NSUsXHJcbiAgICAxMDA6IDEwMCUsXHJcbiAgICBhdXRvOiBhdXRvXHJcbiAgKSxcclxuICAkc2l6ZXNcclxuKTtcclxuXHJcbi8vIEJvZHlcclxuLy9cclxuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxyXG5cclxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICRkYXJrICFkZWZhdWx0O1xyXG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGxpZ2h0ICFkZWZhdWx0O1xyXG5cclxuLy8gTGlua3NcclxuLy9cclxuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxyXG5cclxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICRwcmltYXJ5ICFkZWZhdWx0O1xyXG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcclxuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcclxuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgIG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4vLyBQYXJhZ3JhcGhzXHJcbi8vXHJcbi8vIFN0eWxlIHAgZWxlbWVudC5cclxuXHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gR3JpZCBicmVha3BvaW50c1xyXG4vL1xyXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcclxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxyXG5cclxuJGdyaWQtYnJlYWtwb2ludHM6IChcclxuICB4czogMCxcclxuICBzbTogNTc2cHgsXHJcbiAgbWQ6IDc2OHB4LFxyXG4gIGxnOiA5OTJweCxcclxuICB4bDogMTIwMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcclxuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cyk7XHJcblxyXG5cclxuLy8gR3JpZCBjb250YWluZXJzXHJcbi8vXHJcbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXHJcblxyXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcclxuICBzbTogNTQwcHgsXHJcbiAgbWQ6IDcyMHB4LFxyXG4gIGxnOiA5NjBweCxcclxuICB4bDogMTE0MHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xyXG5cclxuXHJcbi8vIEdyaWQgY29sdW1uc1xyXG4vL1xyXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cclxuXHJcbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xyXG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gQ29tcG9uZW50c1xyXG4vL1xyXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXHJcblxyXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XHJcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcclxuXHJcbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcclxuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xyXG5cclxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcclxuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcclxuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xyXG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XHJcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcclxuXHJcbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcclxuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XHJcblxyXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xyXG5cclxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcclxuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcclxuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBGb250c1xyXG4vL1xyXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cclxuXHJcbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxyXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICBSYWxld2F5LCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XHJcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xyXG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxyXG5cclxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXHJcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcclxuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIC44NzUpICFkZWZhdWx0O1xyXG5cclxuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xyXG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XHJcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcclxuXHJcbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1saWdodCAhZGVmYXVsdDtcclxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xyXG5cclxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogNC41ICFkZWZhdWx0O1xyXG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XHJcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XHJcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcclxuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcclxuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xyXG5cclxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcclxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcclxuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgMTAwICFkZWZhdWx0O1xyXG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XHJcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XHJcblxyXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0O1xyXG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICA1LjVyZW0gIWRlZmF1bHQ7XHJcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcclxuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgICAgICAgMy41cmVtICFkZWZhdWx0O1xyXG5cclxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xyXG4kZGlzcGxheTItd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XHJcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcclxuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xyXG4kZGlzcGxheS1saW5lLWhlaWdodDogICAgICAgICAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcblxyXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XHJcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcclxuXHJcbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcclxuXHJcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcclxuXHJcbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcclxuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xyXG5cclxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcclxuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcclxuXHJcbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4yZW0gIWRlZmF1bHQ7XHJcblxyXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuXHJcbiRrYmQtYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XHJcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG5cclxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xyXG5cclxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBUYWJsZXNcclxuLy9cclxuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxyXG5cclxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xyXG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgICAgICAuM3JlbSAhZGVmYXVsdDtcclxuXHJcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcclxuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xyXG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICAkdGFibGUtaG92ZXItYmcgIWRlZmF1bHQ7XHJcblxyXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xyXG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XHJcblxyXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XHJcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcclxuXHJcbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcclxuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XHJcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcclxuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgbGlnaHRlbigkZ3JheS05MDAsIDcuNSUpICFkZWZhdWx0O1xyXG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcclxuXHJcbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcclxuXHJcbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xyXG5cclxuLy8gQnV0dG9ucyArIEZvcm1zXHJcbi8vXHJcbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgIC4ycmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBCdXR0b25zXHJcbi8vXHJcbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxyXG5cclxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XHJcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xyXG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XHJcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xyXG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XHJcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xyXG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XHJcblxyXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xyXG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xyXG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XHJcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcclxuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcclxuXHJcbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcclxuXHJcbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xyXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XHJcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xyXG5cclxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIEZvcm1zXHJcblxyXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcclxuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XHJcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcclxuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcclxuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xyXG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcclxuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcclxuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xyXG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xyXG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xyXG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcclxuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcclxuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XHJcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xyXG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQpICsgKCRpbnB1dC1idG4tcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lcn0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtaGVpZ2h0LWlubmVyLXNtOiAgICAgICAgICAgICAgICAgKCRmb250LXNpemUtc20gKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAqIDIpICFkZWZhdWx0O1xyXG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItc219ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWhlaWdodC1pbm5lci1sZzogICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWxnICogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZykgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgKiAyKSAhZGVmYXVsdDtcclxuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLWxnfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xyXG5cclxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjogICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xyXG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XHJcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14OiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xyXG4kZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg6ICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XHJcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XHJcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XHJcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICA1MCUgNTAlICFkZWZhdWx0O1xyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3c6ICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XHJcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3c6ICAgbm9uZSAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgIG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjYgMi45NzQgNy4yNSA4IDIuMTkzeicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XHJcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvciAhZGVmYXVsdDtcclxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlOiAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA0JyUzRSUzQ3BhdGggc3Ryb2tlPScjeyRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3J9JyBkPSdNMCAyaDQnLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcclxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiAgbm9uZSAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNFJTNDY2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQ6ICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAxcmVtICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcclxuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xyXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNSclM0UlM0NwYXRoIGZpbGw9JyN7JGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aDogICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aCByZ2JhKCRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvciwgLjUpICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgNzUlICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgMTI1JSAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZyAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xyXG4kY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xyXG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xyXG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXHJcbiRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyICFkZWZhdWx0O1xyXG4kY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XHJcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xyXG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcclxuJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xyXG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XHJcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xyXG4kY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogICAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XHJcbiRjdXN0b20tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRjdXN0b20tZmlsZS1jb2xvciAhZGVmYXVsdDtcclxuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xyXG4kY3VzdG9tLWZpbGUtdGV4dDogKFxyXG4gIGVuOiBcIkJyb3dzZVwiXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gRm9ybSB2YWxpZGF0aW9uXHJcbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcclxuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpICFkZWZhdWx0O1xyXG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICB0aGVtZS1jb2xvcihcImRhbmdlclwiKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBEcm9wZG93bnNcclxuLy9cclxuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxyXG5cclxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKDIyLCAyMiwgMjIsIDAuODUpICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcclxuXHJcbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRncmF5LTkwMCwgNSUpICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XHJcblxyXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XHJcblxyXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XHJcblxyXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XHJcbi8vXHJcbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xyXG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXHJcblxyXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICA3ODAgIWRlZmF1bHQ7XHJcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDc5MCAhZGVmYXVsdDtcclxuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgODAwICFkZWZhdWx0O1xyXG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICA4MTAgIWRlZmF1bHQ7XHJcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDgyMCAhZGVmYXVsdDtcclxuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgODMwICFkZWZhdWx0O1xyXG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICA4NDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBOYXZzXHJcblxyXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcclxuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xyXG5cclxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgbGlnaHRlbigkZGFyaywgNSUpICFkZWZhdWx0O1xyXG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xyXG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XHJcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xyXG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcclxuXHJcbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDAuMikgIWRlZmF1bHQ7XHJcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRwcmltYXJ5ICFkZWZhdWx0O1xyXG5cclxuJG5hdi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xyXG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAoJHNwYWNlciAvIDIpICFkZWZhdWx0O1xyXG5cclxuLy8gTmF2YmFyXHJcblxyXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xyXG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xyXG5cclxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xyXG5cclxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcclxuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXHJcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcclxuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcclxuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgLyAyICFkZWZhdWx0O1xyXG5cclxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xyXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XHJcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XHJcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xyXG5cclxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcclxuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KSAhZGVmYXVsdDtcclxuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcclxuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcclxuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XHJcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBQYWdpbmF0aW9uXHJcblxyXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcclxuXHJcbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjEpICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKDc2LDc2LDc2LDAuMSkgIWRlZmF1bHQ7XHJcblxyXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XHJcblxyXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC4zKSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgcmdiYSg3Niw3Niw3NiwwLjIpICFkZWZhdWx0O1xyXG5cclxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XHJcblxyXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjA1KSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgcmdiYSg3Niw3Niw3NiwwLjA1KSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBKdW1ib3Ryb25cclxuXHJcbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XHJcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBDYXJkc1xyXG5cclxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xyXG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xyXG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xyXG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgbGlnaHRlbigkZGFyaywgNSUpICFkZWZhdWx0O1xyXG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBjYWxjKCN7JGNhcmQtYm9yZGVyLXJhZGl1c30gLSAjeyRjYXJkLWJvcmRlci13aWR0aH0pICFkZWZhdWx0O1xyXG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcclxuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZGFyaywgNSUpICFkZWZhdWx0O1xyXG5cclxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSAhZGVmYXVsdDtcclxuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xyXG5cclxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgICAgICAgICAgNCAhZGVmYXVsdDtcclxuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcclxuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gVG9vbHRpcHNcclxuXHJcbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XHJcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcclxuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XHJcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xyXG5cclxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBQb3BvdmVyc1xyXG5cclxuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcclxuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgyMiwgMjIsIDIyLCAwLjkpICFkZWZhdWx0O1xyXG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcclxuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcclxuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcclxuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XHJcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XHJcblxyXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICAkZGFyayAhZGVmYXVsdDtcclxuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xyXG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xyXG5cclxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XHJcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XHJcblxyXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xyXG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XHJcblxyXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBCYWRnZXNcclxuXHJcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcclxuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XHJcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xyXG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNGVtICFkZWZhdWx0O1xyXG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgICAgICAgIC42ZW0gIWRlZmF1bHQ7XHJcbi8vIFVzZSBhIGhpZ2hlciB0aGFuIG5vcm1hbCB2YWx1ZSB0byBlbnN1cmUgY29tcGxldGVseSByb3VuZGVkIGVkZ2VzIHdoZW5cclxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxyXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBNb2RhbHNcclxuXHJcbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxyXG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xyXG5cclxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcclxuXHJcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGRhcmssIDUlKSAhZGVmYXVsdDs7XHJcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIGxpZ2h0ZW4oJGRhcmssIDUlKSAhZGVmYXVsdDs7XHJcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XHJcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xyXG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcclxuXHJcbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcclxuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjcgIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIGxpZ2h0ZW4oJGRhcmssIDUlKSAhZGVmYXVsdDtcclxuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgIDAgIWRlZmF1bHQ7XHJcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgIDAgIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgIDVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICA2MDBweCAhZGVmYXVsdDtcclxuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XHJcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xyXG5cclxuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBBbGVydHNcclxuLy9cclxuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXHJcblxyXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XHJcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XHJcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XHJcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcclxuXHJcbiRhbGVydC1iZy1sZXZlbDogICAgICAgICAgICAgICAgICAgIC0xMCAhZGVmYXVsdDtcclxuJGFsZXJ0LWJvcmRlci1sZXZlbDogICAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XHJcbiRhbGVydC1jb2xvci1sZXZlbDogICAgICAgICAgICAgICAgIDYgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gUHJvZ3Jlc3MgYmFyc1xyXG5cclxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcclxuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIC43NSkgIWRlZmF1bHQ7XHJcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcclxuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcclxuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XHJcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcclxuJHByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XHJcblxyXG4vLyBMaXN0IGdyb3VwXHJcblxyXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudDtcclxuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGNhcmQtYm9yZGVyLWNvbG9yO1xyXG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xyXG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkY2FyZC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xyXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xyXG5cclxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xyXG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcclxuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XHJcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcclxuXHJcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcclxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XHJcblxyXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XHJcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xyXG5cclxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xyXG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcclxuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcclxuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xyXG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBGaWd1cmVzXHJcblxyXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCUgIWRlZmF1bHQ7XHJcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBCcmVhZGNydW1ic1xyXG5cclxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcclxuXHJcbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIENhcm91c2VsXHJcblxyXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcclxuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgLjUgIWRlZmF1bHQ7XHJcblxyXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xyXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAzcHggIWRlZmF1bHQ7XHJcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgIDNweCAhZGVmYXVsdDtcclxuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xyXG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAyMHB4ICFkZWZhdWx0O1xyXG5cclxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNS0yLjUtMi41IDIuNS0yLjUtMS41LTEuNXonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcclxuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjUgMi41IDIuNS0yLjUgMi41IDEuNSAxLjUgNC00LTQtNHonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcclxuXHJcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuNnMgZWFzZSAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcclxuXHJcblxyXG4vLyBDbG9zZVxyXG5cclxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xyXG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xyXG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAwIDFweCAwICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vIENvZGVcclxuXHJcbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgIDg3LjUlICFkZWZhdWx0O1xyXG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcclxuXHJcbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xyXG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcclxuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xyXG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcclxuXHJcbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xyXG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAgICAgICAzNDBweCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBQcmludGluZ1xyXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICAgICAgICAgICAgICBhMyAhZGVmYXVsdDtcclxuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcclxuIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cclxuLy9cclxuLy8gT3JpZ2luYWxseSBhZGRlZCBkdXJpbmcgb3VyIGFscGhhcyBhbmQgbWFpbnRhaW5lZCBkdXJpbmcgYmV0YXMsIHRoaXMgbWl4aW4gd2FzXHJcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXHJcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cclxuLy9cclxuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cclxuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxyXG4vL1xyXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxyXG5cclxuQG1peGluIGhvdmVyIHtcclxuICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5cclxuQG1peGluIGhvdmVyLWZvY3VzIHtcclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMge1xyXG4gICYsXHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzLFxyXG4gICY6YWN0aXZlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxyXG5cclxuLy9cclxuLy8gSGVhZGluZ3NcclxuLy9cclxuXHJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXHJcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xyXG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xyXG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XHJcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcclxuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xyXG4gIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XHJcbn1cclxuXHJcbmgxLCAuaDEgeyBmb250LXNpemU6ICRoMS1mb250LXNpemU7IH1cclxuaDIsIC5oMiB7IGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTsgfVxyXG5oMywgLmgzIHsgZm9udC1zaXplOiAkaDMtZm9udC1zaXplOyB9XHJcbmg0LCAuaDQgeyBmb250LXNpemU6ICRoNC1mb250LXNpemU7IH1cclxuaDUsIC5oNSB7IGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTsgfVxyXG5oNiwgLmg2IHsgZm9udC1zaXplOiAkaDYtZm9udC1zaXplOyB9XHJcblxyXG4ubGVhZCB7XHJcbiAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XHJcbiAgZm9udC13ZWlnaHQ6ICRsZWFkLWZvbnQtd2VpZ2h0O1xyXG59XHJcblxyXG4vLyBUeXBlIGRpc3BsYXkgY2xhc3Nlc1xyXG4uZGlzcGxheS0xIHtcclxuICBmb250LXNpemU6ICRkaXNwbGF5MS1zaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTEtd2VpZ2h0O1xyXG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcclxufVxyXG4uZGlzcGxheS0yIHtcclxuICBmb250LXNpemU6ICRkaXNwbGF5Mi1zaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTItd2VpZ2h0O1xyXG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcclxufVxyXG4uZGlzcGxheS0zIHtcclxuICBmb250LXNpemU6ICRkaXNwbGF5My1zaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTMtd2VpZ2h0O1xyXG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcclxufVxyXG4uZGlzcGxheS00IHtcclxuICBmb250LXNpemU6ICRkaXNwbGF5NC1zaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTQtd2VpZ2h0O1xyXG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcclxufVxyXG5cclxuXHJcbi8vXHJcbi8vIEhvcml6b250YWwgcnVsZXNcclxuLy9cclxuXHJcbmhyIHtcclxuICBtYXJnaW4tdG9wOiAkaHItbWFyZ2luLXk7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGhyLW1hcmdpbi15O1xyXG4gIGJvcmRlcjogMDtcclxuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XHJcbn1cclxuXHJcblxyXG4vL1xyXG4vLyBFbXBoYXNpc1xyXG4vL1xyXG5cclxuc21hbGwsXHJcbi5zbWFsbCB7XHJcbiAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG59XHJcblxyXG5tYXJrLFxyXG4ubWFyayB7XHJcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFyay1iZztcclxufVxyXG5cclxuXHJcbi8vXHJcbi8vIExpc3RzXHJcbi8vXHJcblxyXG4ubGlzdC11bnN0eWxlZCB7XHJcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZDtcclxufVxyXG5cclxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcclxuLmxpc3QtaW5saW5lIHtcclxuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xyXG59XHJcbi5saXN0LWlubGluZS1pdGVtIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vXHJcbi8vIE1pc2NcclxuLy9cclxuXHJcbi8vIEJ1aWxkcyBvbiBgYWJicmBcclxuLmluaXRpYWxpc20ge1xyXG4gIGZvbnQtc2l6ZTogOTAlO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbi8vIEJsb2NrcXVvdGVzXHJcbi5ibG9ja3F1b3RlIHtcclxuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xyXG4gIGZvbnQtc2l6ZTogJGJsb2NrcXVvdGUtZm9udC1zaXplO1xyXG59XHJcblxyXG4uYmxvY2txdW90ZS1mb290ZXIge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogODAlOyAvLyBiYWNrIHRvIGRlZmF1bHQgZm9udC1zaXplXHJcbiAgY29sb3I6ICRibG9ja3F1b3RlLXNtYWxsLWNvbG9yO1xyXG5cclxuICAmOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXDIwMTQgXFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcclxuICB9XHJcbn1cclxuIiwiLy8gTGlzdHNcclxuXHJcbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxyXG5AbWl4aW4gbGlzdC11bnN0eWxlZCB7XHJcbiAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuIiwiLmNjbS1wYWdlIG1haW4ge1xyXG4gIHNlY3Rpb246bm90KCNwYWdlLWhlYWRlcikge1xyXG4gICAgPiBkaXY6ZW1wdHk6bm90KC5nb29nbGVNYXBDYW52YXMpIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgID4gZGl2Om5vdCg6ZW1wdHkpIHtcclxuICAgICAgJjpub3QoLnJvdyl7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5uYXJyb3ctY29udGVudCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhzKSB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMHJlbTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuICAgICAgcGFkZGluZzogMCAwcmVtO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICBwYWRkaW5nOiAwIDVyZW07XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMTZyZW07XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cclxuLy9cclxuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxyXG4vL1xyXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXHJcbi8vXHJcbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cclxuXHJcbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxyXG4vLyAgICBtZFxyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIG1kXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXHJcbi8vICAgIG1kXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XHJcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XHJcbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XHJcbn1cclxuXHJcbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIDU3NnB4XHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XHJcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xyXG59XHJcblxyXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxyXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxyXG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxyXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XHJcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cclxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIDc2Ny45OHB4XHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDJweCwgbnVsbCk7XHJcbn1cclxuXHJcbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXHJcbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxyXG4vL1xyXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcclxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgXCItc21cIlxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XHJcbn1cclxuXHJcbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICBAaWYgJG1pbiB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gIEBpZiAkbWF4IHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcclxuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XHJcblxyXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXHJcbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuXHJcbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi51cHBlcmNhc2Uge1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuLmJvbGQge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbi53aGl0ZSB7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxufVxyXG4uZ29sZHtcclxuICBjb2xvcjogZ29sZDtcclxufVxyXG4uc2lsdmVye1xyXG4gIGNvbG9yOiBzaWx2ZXI7XHJcbn1cclxuLmJyb256ZXtcclxuICBjb2xvcjogI2NkN2YzMjtcclxufVxyXG4udGl0bGUge1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7XHJcbiAgJjphZnRlcntcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgYm90dG9tOiAtMjVweDtcclxuICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgfVxyXG59XHJcbi5zdWJ0aXRsZSB7XHJcbiAgZm9udC1mYW1pbHk6IFBhY2lmaWNvO1xyXG4gIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcclxufVxyXG4uc3VjY2VzcyB7XHJcbiAgY29sb3I6ICRzdWNjZXNzO1xyXG59XHJcbi5kYW5nZXIge1xyXG4gIGNvbG9yOiAkZGFuZ2VyO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8qIVxyXG4gKiBhbmltYXRlLmNzcyAtaHR0cDovL2RhbmVkZW4ubWUvYW5pbWF0ZVxyXG4gKiBWZXJzaW9uIC0gMy43LjBcclxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIC0gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggRGFuaWVsIEVkZW5cclxuICovXHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcclxuICBmcm9tLFxyXG4gIDIwJSxcclxuICA1MyUsXHJcbiAgODAlLFxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICA0MCUsXHJcbiAgNDMlIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIDcwJSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XHJcbiAgfVxyXG5cclxuICA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYm91bmNlIHtcclxuICBmcm9tLFxyXG4gIDIwJSxcclxuICA1MyUsXHJcbiAgODAlLFxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICA0MCUsXHJcbiAgNDMlIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIDcwJSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XHJcbiAgfVxyXG5cclxuICA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5ib3VuY2Uge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcclxuICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2gge1xyXG4gIGZyb20sXHJcbiAgNTAlLFxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICAyNSUsXHJcbiAgNzUlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZsYXNoIHtcclxuICBmcm9tLFxyXG4gIDUwJSxcclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgMjUlLFxyXG4gIDc1JSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLmZsYXNoIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcclxuICBhbmltYXRpb24tbmFtZTogZmxhc2g7XHJcbn1cclxuXHJcbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gIH1cclxuXHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gIH1cclxuXHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG4ucHVsc2Uge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgfVxyXG5cclxuICAzMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XHJcbiAgfVxyXG5cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XHJcbiAgfVxyXG5cclxuICA1MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XHJcbiAgfVxyXG5cclxuICA2NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XHJcbiAgfVxyXG5cclxuICA3NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICB9XHJcblxyXG4gIDMwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcclxuICB9XHJcblxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcclxuICB9XHJcblxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcclxuICB9XHJcblxyXG4gIDY1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcclxuICB9XHJcblxyXG4gIDc1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuLnJ1YmJlckJhbmQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZSB7XHJcbiAgZnJvbSxcclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgMTAlLFxyXG4gIDMwJSxcclxuICA1MCUsXHJcbiAgNzAlLFxyXG4gIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICAyMCUsXHJcbiAgNDAlLFxyXG4gIDYwJSxcclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2hha2Uge1xyXG4gIGZyb20sXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDEwJSxcclxuICAzMCUsXHJcbiAgNTAlLFxyXG4gIDcwJSxcclxuICA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgMjAlLFxyXG4gIDQwJSxcclxuICA2MCUsXHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uc2hha2Uge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGhlYWRTaGFrZSB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgfVxyXG5cclxuICA2LjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xyXG4gIH1cclxuXHJcbiAgMTguNSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcclxuICB9XHJcblxyXG4gIDMxLjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xyXG4gIH1cclxuXHJcbiAgNDMuNSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcclxuICB9XHJcblxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgaGVhZFNoYWtlIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICB9XHJcblxyXG4gIDYuNSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XHJcbiAgfVxyXG5cclxuICAxOC41JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xyXG4gIH1cclxuXHJcbiAgMzEuNSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XHJcbiAgfVxyXG5cclxuICA0My41JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xyXG4gIH1cclxuXHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gIH1cclxufVxyXG5cclxuLmhlYWRTaGFrZSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGhlYWRTaGFrZTtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nIHtcclxuICAyMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xyXG4gIH1cclxuXHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XHJcbiAgfVxyXG5cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc3dpbmcge1xyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XHJcbiAgfVxyXG5cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcclxuICB9XHJcblxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xyXG4gIH1cclxufVxyXG5cclxuLnN3aW5nIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZztcclxuICBhbmltYXRpb24tbmFtZTogc3dpbmc7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gIH1cclxuXHJcbiAgMTAlLFxyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xyXG4gIH1cclxuXHJcbiAgMzAlLFxyXG4gIDUwJSxcclxuICA3MCUsXHJcbiAgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xyXG4gIH1cclxuXHJcbiAgNDAlLFxyXG4gIDYwJSxcclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyB0YWRhIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gIH1cclxuXHJcbiAgMTAlLFxyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xyXG4gIH1cclxuXHJcbiAgMzAlLFxyXG4gIDUwJSxcclxuICA3MCUsXHJcbiAgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xyXG4gIH1cclxuXHJcbiAgNDAlLFxyXG4gIDYwJSxcclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuLnRhZGEge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7XHJcbn1cclxuXHJcbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgMTUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcclxuICB9XHJcblxyXG4gIDMwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcclxuICB9XHJcblxyXG4gIDQ1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XHJcbiAgfVxyXG5cclxuICA3NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHdvYmJsZSB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgMTUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcclxuICB9XHJcblxyXG4gIDMwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcclxuICB9XHJcblxyXG4gIDQ1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XHJcbiAgfVxyXG5cclxuICA3NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4ud29iYmxlIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGplbGxvIHtcclxuICBmcm9tLFxyXG4gIDExLjElLFxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICAyMi4yJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcclxuICB9XHJcblxyXG4gIDMzLjMlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XHJcbiAgfVxyXG5cclxuICA0NC40JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XHJcbiAgfVxyXG5cclxuICA1NS41JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XHJcbiAgfVxyXG5cclxuICA2Ni42JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcclxuICB9XHJcblxyXG4gIDc3LjclIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xyXG4gIH1cclxuXHJcbiAgODguOCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgamVsbG8ge1xyXG4gIGZyb20sXHJcbiAgMTEuMSUsXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDIyLjIlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xyXG4gIH1cclxuXHJcbiAgMzMuMyUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcclxuICB9XHJcblxyXG4gIDQ0LjQlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcclxuICB9XHJcblxyXG4gIDU1LjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcclxuICB9XHJcblxyXG4gIDY2LjYlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xyXG4gIH1cclxuXHJcbiAgNzcuNyUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XHJcbiAgfVxyXG5cclxuICA4OC44JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xyXG4gIH1cclxufVxyXG5cclxuLmplbGxvIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqZWxsbztcclxuICBhbmltYXRpb24tbmFtZTogamVsbG87XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGVhcnRCZWF0IHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gIH1cclxuXHJcbiAgMTQlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xyXG4gIH1cclxuXHJcbiAgMjglIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgfVxyXG5cclxuICA0MiUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XHJcbiAgfVxyXG5cclxuICA3MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgaGVhcnRCZWF0IHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gIH1cclxuXHJcbiAgMTQlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xyXG4gIH1cclxuXHJcbiAgMjglIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgfVxyXG5cclxuICA0MiUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XHJcbiAgfVxyXG5cclxuICA3MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICB9XHJcbn1cclxuXHJcbi5oZWFydEJlYXQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhlYXJ0QmVhdDtcclxuICBhbmltYXRpb24tbmFtZTogaGVhcnRCZWF0O1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjNzO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMS4zcztcclxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xyXG4gIGZyb20sXHJcbiAgMjAlLFxyXG4gIDQwJSxcclxuICA2MCUsXHJcbiAgODAlLFxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcclxuICB9XHJcblxyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcclxuICB9XHJcblxyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcclxuICB9XHJcblxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XHJcbiAgfVxyXG5cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJvdW5jZUluIHtcclxuICBmcm9tLFxyXG4gIDIwJSxcclxuICA0MCUsXHJcbiAgNjAlLFxyXG4gIDgwJSxcclxuICB0byB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XHJcbiAgfVxyXG5cclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XHJcbiAgfVxyXG5cclxuICAyMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XHJcbiAgfVxyXG5cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xyXG4gIH1cclxuXHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuLmJvdW5jZUluIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcclxuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xyXG4gIGZyb20sXHJcbiAgNjAlLFxyXG4gIDc1JSxcclxuICA5MCUsXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xyXG4gIH1cclxuXHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XHJcbiAgfVxyXG5cclxuICA3NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcclxuICBmcm9tLFxyXG4gIDYwJSxcclxuICA3NSUsXHJcbiAgOTAlLFxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcclxuICB9XHJcblxyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xyXG4gIH1cclxuXHJcbiAgNzUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uYm91bmNlSW5Eb3duIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XHJcbiAgZnJvbSxcclxuICA2MCUsXHJcbiAgNzUlLFxyXG4gIDkwJSxcclxuICB0byB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XHJcbiAgfVxyXG5cclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDc1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xyXG4gIGZyb20sXHJcbiAgNjAlLFxyXG4gIDc1JSxcclxuICA5MCUsXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xyXG4gIH1cclxuXHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICA3NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5ib3VuY2VJbkxlZnQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcclxuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XHJcbiAgZnJvbSxcclxuICA2MCUsXHJcbiAgNzUlLFxyXG4gIDkwJSxcclxuICB0byB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XHJcbiAgfVxyXG5cclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgNzUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xyXG4gIGZyb20sXHJcbiAgNjAlLFxyXG4gIDc1JSxcclxuICA5MCUsXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xyXG4gIH1cclxuXHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDc1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmJvdW5jZUluUmlnaHQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHtcclxuICBmcm9tLFxyXG4gIDYwJSxcclxuICA3NSUsXHJcbiAgOTAlLFxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcclxuICB9XHJcblxyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XHJcbiAgfVxyXG5cclxuICA3NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XHJcbiAgZnJvbSxcclxuICA2MCUsXHJcbiAgNzUlLFxyXG4gIDkwJSxcclxuICB0byB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XHJcbiAgfVxyXG5cclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgNzUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XHJcbiAgfVxyXG5cclxuICA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uYm91bmNlSW5VcCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcclxuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7XHJcbiAgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xyXG4gIH1cclxuXHJcbiAgNTAlLFxyXG4gIDU1JSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dCB7XHJcbiAgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xyXG4gIH1cclxuXHJcbiAgNTAlLFxyXG4gIDU1JSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XHJcbiAgfVxyXG59XHJcblxyXG4uYm91bmNlT3V0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgNDAlLFxyXG4gIDQ1JSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcclxuICAyMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIDQwJSxcclxuICA0NSUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5ib3VuY2VPdXREb3duIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XHJcbiAgMjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xyXG4gIDIwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmJvdW5jZU91dExlZnQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XHJcbiAgMjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcclxuICAyMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5ib3VuY2VPdXRSaWdodCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XHJcbiAgfVxyXG5cclxuICA0MCUsXHJcbiAgNDUlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcclxuICAyMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgNDAlLFxyXG4gIDQ1JSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmJvdW5jZU91dFVwIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcclxuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbi5mYWRlSW4ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVJbkRvd24ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5mYWRlSW5Eb3duQmlnIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVJbkxlZnQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5mYWRlSW5MZWZ0QmlnIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5mYWRlSW5SaWdodCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVJblJpZ2h0QmlnIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcclxuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVJblVwIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZUluVXBCaWcge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZU91dCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXREb3duIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXREb3duQmlnIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcclxuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dExlZnQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZU91dExlZnQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXRMZWZ0QmlnIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcclxuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXRSaWdodCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZU91dFJpZ2h0QmlnIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXRVcCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXRVcEJpZyB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxyXG4gICAgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIH1cclxuXHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcclxuICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcclxuICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIH1cclxuXHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcclxuICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcclxuICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICB9XHJcblxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcclxuICAgIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxyXG4gICAgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApXHJcbiAgICByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmbGlwIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxyXG4gICAgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIH1cclxuXHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcclxuICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcclxuICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIH1cclxuXHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcclxuICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcclxuICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICB9XHJcblxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcclxuICAgIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxyXG4gICAgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApXHJcbiAgICByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gIH1cclxufVxyXG5cclxuLmFuaW1hdGVkLmZsaXAge1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXA7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG5cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmbGlwSW5YIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG5cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gIH1cclxufVxyXG5cclxuLmZsaXBJblgge1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWSB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmxpcEluWSB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICB9XHJcbn1cclxuXHJcbi5mbGlwSW5ZIHtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWTtcclxuICBhbmltYXRpb24tbmFtZTogZmxpcEluWTtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICB9XHJcblxyXG4gIDMwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmxpcE91dFgge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gIH1cclxuXHJcbiAgMzAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLmZsaXBPdXRYIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcclxuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gIH1cclxuXHJcbiAgMzAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmbGlwT3V0WSB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgfVxyXG5cclxuICAzMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uZmxpcE91dFkge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcclxuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4ubGlnaHRTcGVlZEluIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcclxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbi5saWdodFNwZWVkT3V0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLnJvdGF0ZUluIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcclxuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW47XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLnJvdGF0ZUluRG93bkxlZnQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLnJvdGF0ZUluRG93blJpZ2h0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcclxuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbi5yb3RhdGVJblVwTGVmdCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbi5yb3RhdGVJblVwUmlnaHQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcclxuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVPdXQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4ucm90YXRlT3V0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbi5yb3RhdGVPdXREb3duTGVmdCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4ucm90YXRlT3V0RG93blJpZ2h0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbi5yb3RhdGVPdXRVcExlZnQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcclxuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLnJvdGF0ZU91dFVwUmlnaHQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBoaW5nZSB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gIH1cclxuXHJcbiAgMjAlLFxyXG4gIDYwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgfVxyXG5cclxuICA0MCUsXHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBoaW5nZSB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gIH1cclxuXHJcbiAgMjAlLFxyXG4gIDYwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgfVxyXG5cclxuICA0MCUsXHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLmhpbmdlIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcclxuICBhbmltYXRpb24tbmFtZTogaGluZ2U7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBqYWNrSW5UaGVCb3gge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XHJcbiAgfVxyXG5cclxuICA1MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcclxuICB9XHJcblxyXG4gIDcwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgamFja0luVGhlQm94IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xyXG4gIH1cclxuXHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XHJcbiAgfVxyXG5cclxuICA3MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgfVxyXG59XHJcblxyXG4uamFja0luVGhlQm94IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqYWNrSW5UaGVCb3g7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGphY2tJblRoZUJveDtcclxufVxyXG5cclxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm9sbEluIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5yb2xsSW4ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcclxuICBhbmltYXRpb24tbmFtZTogcm9sbEluO1xyXG59XHJcblxyXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb2xsT3V0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvbGxPdXQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcclxuICB9XHJcbn1cclxuXHJcbi5yb2xsT3V0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcclxuICB9XHJcblxyXG4gIDUwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyB6b29tSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xyXG4gIH1cclxuXHJcbiAgNTAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4uem9vbUluIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW47XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkRvd24ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgem9vbUluRG93biB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuLnpvb21JbkRvd24ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5MZWZ0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHpvb21JbkxlZnQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbi56b29tSW5MZWZ0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluUmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgem9vbUluUmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbi56b29tSW5SaWdodCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluVXAge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgem9vbUluVXAge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbi56b29tSW5VcCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluVXA7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgNTAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHpvb21PdXQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDUwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLnpvb21PdXQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0RG93biB7XHJcbiAgNDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHpvb21PdXREb3duIHtcclxuICA0MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbi56b29tT3V0RG93biB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dERvd247XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dExlZnQge1xyXG4gIDQwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcclxuICA0MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xyXG4gIH1cclxufVxyXG5cclxuLnpvb21PdXRMZWZ0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcclxuICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0UmlnaHQge1xyXG4gIDQwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcclxuICA0MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4uem9vbU91dFJpZ2h0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRVcCB7XHJcbiAgNDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHpvb21PdXRVcCB7XHJcbiAgNDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG4uem9vbU91dFVwIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5zbGlkZUluRG93biB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLnNsaWRlSW5MZWZ0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLnNsaWRlSW5SaWdodCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluVXAge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLnNsaWRlSW5VcCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblVwO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd24ge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5zbGlkZU91dERvd24ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLnNsaWRlT3V0TGVmdCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLnNsaWRlT3V0UmlnaHQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5zbGlkZU91dFVwIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMganVtcCB7XHJcblxyXG4gIDAlLCAyMCUsIDgwJSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICB9XHJcblxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBqdW1wIHtcclxuXHJcbiAgMCUsIDIwJSwgODAlLCAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gIH1cclxuXHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7XHJcbiAgfVxyXG59XHJcblxyXG4uanVtcCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb246IGp1bXAgMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XHJcbiAgYW5pbWF0aW9uOiBqdW1wIDJzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4uYW5pbWF0ZWQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG59XHJcblxyXG4uYW5pbWF0ZWQuaW5maW5pdGUge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcbn1cclxuXHJcbi5hbmltYXRlZC5kZWxheS0xIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMXM7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAxcztcclxufVxyXG5cclxuLmFuaW1hdGVkLmRlbGF5LTIge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjJzO1xyXG4gIGFuaW1hdGlvbi1kZWxheTogMS4ycztcclxufVxyXG5cclxuLmFuaW1hdGVkLmRlbGF5LTMge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjRzO1xyXG4gIGFuaW1hdGlvbi1kZWxheTogMS40cztcclxufVxyXG5cclxuLmFuaW1hdGVkLmRlbGF5LTQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjZzO1xyXG4gIGFuaW1hdGlvbi1kZWxheTogMS42cztcclxufVxyXG5cclxuLmFuaW1hdGVkLmRlbGF5LTUge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjhzO1xyXG4gIGFuaW1hdGlvbi1kZWxheTogMS44cztcclxufVxyXG5cclxuLmFuaW1hdGVkLmZhc3Qge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiA4MDBtcztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDgwMG1zO1xyXG59XHJcblxyXG4uYW5pbWF0ZWQuZmFzdGVyIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcclxufVxyXG5cclxuLmFuaW1hdGVkLnNsb3cge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xyXG59XHJcblxyXG4uYW5pbWF0ZWQuc2xvd2VyIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzcztcclxufVxyXG5cclxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uKSB7XHJcbiAgLmFuaW1hdGVkIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiB1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgYW5pbWF0aW9uOiB1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIi5pbWctY2lyY2xlIHtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbn0iLCIvLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcclxuLy9cclxuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxyXG4vLyBXZSBwcmV2aW91c2x5IHRyaWVkIHRoZSBcImltYWdlcyBhcmUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0XCIgYXBwcm9hY2ggaW4gQm9vdHN0cmFwIHYyLFxyXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcclxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXHJcbi8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTgxNzhcclxuLmltZy1mbHVpZCB7XHJcbiAgQGluY2x1ZGUgaW1nLWZsdWlkO1xyXG59XHJcblxyXG5cclxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xyXG4uaW1nLXRodW1ibmFpbCB7XHJcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XHJcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlci13aWR0aCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjtcclxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XHJcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xyXG5cclxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcclxuICBAaW5jbHVkZSBpbWctZmx1aWQ7XHJcbn1cclxuXHJcbi8vXHJcbi8vIEZpZ3VyZXNcclxuLy9cclxuXHJcbi5maWd1cmUge1xyXG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5maWd1cmUtaW1nIHtcclxuICBtYXJnaW4tYm90dG9tOiAoJHNwYWNlciAvIDIpO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcblxyXG4uZmlndXJlLWNhcHRpb24ge1xyXG4gIGZvbnQtc2l6ZTogJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTtcclxuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xyXG59XHJcbiIsIi8vIEltYWdlIE1peGluc1xyXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2VcclxuLy8gLSBSZXRpbmEgaW1hZ2VcclxuXHJcblxyXG4vLyBSZXNwb25zaXZlIGltYWdlXHJcbi8vXHJcbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXHJcblxyXG5AbWl4aW4gaW1nLWZsdWlkIHtcclxuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxyXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcblxyXG4vLyBSZXRpbmEgaW1hZ2VcclxuLy9cclxuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLlxyXG5cclxuLy8gc3R5bGVsaW50LWRpc2FibGUgaW5kZW50YXRpb24sIG1lZGlhLXF1ZXJ5LWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxyXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0xeCk7XHJcblxyXG4gIC8vIEF1dG9wcmVmaXhlciB0YWtlcyBjYXJlIG9mIGFkZGluZyAtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gYW5kIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8sXHJcbiAgLy8gYnV0IGRvZXNuJ3QgY29udmVydCBkcHB4PT5kcGkuXHJcbiAgLy8gVGhlcmUncyBubyBzdWNoIHRoaW5nIGFzIHVucHJlZml4ZWQgbWluLWRldmljZS1waXhlbC1yYXRpbyBzaW5jZSBpdCdzIG5vbnN0YW5kYXJkLlxyXG4gIC8vIENvbXBhdGliaWxpdHkgaW5mbzogaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAvLyBJRTktMTEgZG9uJ3Qgc3VwcG9ydCBkcHB4XHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHsgLy8gU3RhbmRhcmRpemVkXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcclxuICB9XHJcbn1cclxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xyXG5cclxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcclxuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xyXG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xyXG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xyXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XHJcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcclxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcclxuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gIH1cclxufVxyXG4iLCJvbCwgdWwge1xyXG5cclxuICAmLmFycm93IHtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBsaSB7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjMyMzIzO1xyXG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzO1xyXG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgICAgYSB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgIGNvbG9yOiAjOTU5NDk0O1xyXG4gICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xyXG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyMzIzO1xyXG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAzcHg7XHJcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDNweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYubm8tYnVsbGV0cyB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIH1cclxufVxyXG5vbCB7XHJcbiAgbGkge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDZweDtcclxuICAgICY6Om1hcmtlciB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgICBmb250LXdlaWdodDogMTAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG51bCB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nLWxlZnQ6IDA7XHJcbn0iLCIvLyBJbmxpbmUgY29kZVxyXG5jb2RlIHtcclxuICBmb250LXNpemU6ICRjb2RlLWZvbnQtc2l6ZTtcclxuICBjb2xvcjogJGNvZGUtY29sb3I7XHJcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuXHJcbiAgLy8gU3RyZWFtbGluZSB0aGUgc3R5bGUgd2hlbiBpbnNpZGUgYW5jaG9ycyB0byBhdm9pZCBicm9rZW4gdW5kZXJsaW5lIGFuZCBtb3JlXHJcbiAgYSA+ICYge1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBVc2VyIGlucHV0IHR5cGljYWxseSBlbnRlcmVkIHZpYSBrZXlib2FyZFxyXG5rYmQge1xyXG4gIHBhZGRpbmc6ICRrYmQtcGFkZGluZy15ICRrYmQtcGFkZGluZy14O1xyXG4gIGZvbnQtc2l6ZTogJGtiZC1mb250LXNpemU7XHJcbiAgY29sb3I6ICRrYmQtY29sb3I7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGtiZC1iZztcclxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtKTtcclxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XHJcblxyXG4gIGtiZCB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgZm9udC1zaXplOiAxMDAlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0O1xyXG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEJsb2NrcyBvZiBjb2RlXHJcbnByZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgZm9udC1zaXplOiAkY29kZS1mb250LXNpemU7XHJcbiAgY29sb3I6ICRwcmUtY29sb3I7XHJcblxyXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXHJcbiAgY29kZSB7XHJcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcclxuICB9XHJcbn1cclxuXHJcbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXHJcbi5wcmUtc2Nyb2xsYWJsZSB7XHJcbiAgbWF4LWhlaWdodDogJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ7XHJcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG59XHJcbiIsIi8vIENvbnRhaW5lciB3aWR0aHNcclxuLy9cclxuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxyXG5cclxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcclxuICAuY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XHJcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBGbHVpZCBjb250YWluZXJcclxuLy9cclxuLy8gVXRpbGl6ZXMgdGhlIG1peGluIG1lYW50IGZvciBmaXhlZCB3aWR0aCBjb250YWluZXJzLCBidXQgd2l0aCAxMDAlIHdpZHRoIGZvclxyXG4vLyBmbHVpZCwgZnVsbCB3aWR0aCBsYXlvdXRzLlxyXG5cclxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcclxuICAuY29udGFpbmVyLWZsdWlkIHtcclxuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBSb3dcclxuLy9cclxuLy8gUm93cyBjb250YWluIGFuZCBjbGVhciB0aGUgZmxvYXRzIG9mIHlvdXIgY29sdW1ucy5cclxuXHJcbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XHJcbiAgLnJvdyB7XHJcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xyXG4gIC8vIGZyb20gYWxsIGltbWVkaWF0ZSBjaGlsZHJlbiBjb2x1bW5zICh0byBwcmV2ZW50IHJ1bmF3YXkgc3R5bGUgaW5oZXJpdGFuY2UpLlxyXG4gIC5uby1ndXR0ZXJzIHtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG5cclxuICAgID4gLmNvbCxcclxuICAgID4gW2NsYXNzKj1cImNvbC1cIl0ge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBDb2x1bW5zXHJcbi8vXHJcbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcclxuXHJcbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XHJcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcclxufVxyXG4iLCIvLy8gR3JpZCBzeXN0ZW1cclxuLy9cclxuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxyXG5cclxuQG1peGluIG1ha2UtY29udGFpbmVyKCkge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcclxuICBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbn1cclxuXHJcblxyXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XHJcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWFrZS1yb3coKSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgbWFyZ2luLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIpO1xyXG4gIG1hcmdpbi1sZWZ0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIpO1xyXG59XHJcblxyXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoKSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcclxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXHJcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2xsYXBzaW5nXHJcbiAgcGFkZGluZy1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xyXG4gIHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xyXG59XHJcblxyXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XHJcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XHJcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XHJcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXHJcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXHJcbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xyXG59XHJcblxyXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xyXG4gICRudW06ICRzaXplIC8gJGNvbHVtbnM7XHJcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XHJcbn1cclxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxyXG4vL1xyXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cclxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cclxuXHJcbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xyXG4gICVncmlkLWNvbHVtbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAoJGd1dHRlciAvIDIpO1xyXG4gIH1cclxuXHJcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XHJcblxyXG4gICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xyXG4gICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcclxuICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbCN7JGluZml4fSxcclxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XHJcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xyXG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xyXG4gICAgICAuY29sI3skaW5maXh9IHtcclxuICAgICAgICBmbGV4LWJhc2lzOiAwO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcclxuICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcclxuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAub3JkZXIjeyRpbmZpeH0tZmlyc3QgeyBvcmRlcjogLTE7IH1cclxuXHJcbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxyXG5cclxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XHJcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxyXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcclxuICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxyXG4gICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvL1xyXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcclxuLy9cclxuXHJcbi50YWJsZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7IC8vIFJlc2V0IGZvciBuZXN0aW5nIHdpdGhpbiBwYXJlbnRzIHdpdGggYGJhY2tncm91bmQtY29sb3JgLlxyXG5cclxuICB0aCxcclxuICB0ZCB7XHJcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcclxuICB9XHJcblxyXG4gIHRoZWFkIHRoIHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XHJcbiAgICBib3JkZXItYm90dG9tOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XHJcbiAgfVxyXG5cclxuICB0Ym9keSArIHRib2R5IHtcclxuICAgIGJvcmRlci10b3A6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcclxuICB9XHJcblxyXG4gIC50YWJsZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vL1xyXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXHJcbi8vXHJcblxyXG4udGFibGUtc20ge1xyXG4gIHRoLFxyXG4gIHRkIHtcclxuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctc207XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gQm9yZGVyIHZlcnNpb25zXHJcbi8vXHJcbi8vIEFkZCBvciByZW1vdmUgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXHJcblxyXG4udGFibGUtYm9yZGVyZWQge1xyXG4gIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xyXG5cclxuICB0aCxcclxuICB0ZCB7XHJcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcclxuICB9XHJcblxyXG4gIHRoZWFkIHtcclxuICAgIHRoLFxyXG4gICAgdGQge1xyXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnRhYmxlLWJvcmRlcmxlc3Mge1xyXG4gIHRoLFxyXG4gIHRkLFxyXG4gIHRoZWFkIHRoLFxyXG4gIHRib2R5ICsgdGJvZHkge1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8gWmVicmEtc3RyaXBpbmdcclxuLy9cclxuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcclxuXHJcbi50YWJsZS1zdHJpcGVkIHtcclxuICB0Ym9keSB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWFjY2VudC1iZztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBIb3ZlciBlZmZlY3RcclxuLy9cclxuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xyXG5cclxuLnRhYmxlLWhvdmVyIHtcclxuICB0Ym9keSB0ciB7XHJcbiAgICBAaW5jbHVkZSBob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1ob3Zlci1iZztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xyXG4vL1xyXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxyXG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxyXG5cclxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XHJcbiAgQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIC05KSk7XHJcbn1cclxuXHJcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGFjdGl2ZSwgJHRhYmxlLWFjdGl2ZS1iZyk7XHJcblxyXG5cclxuLy8gRGFyayBzdHlsZXNcclxuLy9cclxuLy8gU2FtZSB0YWJsZSBtYXJrdXAsIGJ1dCBpbnZlcnRlZCBjb2xvciBzY2hlbWU6IGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cclxuXHJcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXHJcbi50YWJsZSB7XHJcbiAgLnRoZWFkLWRhcmsge1xyXG4gICAgdGgge1xyXG4gICAgICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xyXG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC50aGVhZC1saWdodCB7XHJcbiAgICB0aCB7XHJcbiAgICAgIGNvbG9yOiAkdGFibGUtaGVhZC1jb2xvcjtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmc7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi50YWJsZS1kYXJrIHtcclxuICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYmc7XHJcblxyXG4gIHRoLFxyXG4gIHRkLFxyXG4gIHRoZWFkIHRoIHtcclxuICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgJi50YWJsZS1ib3JkZXJlZCB7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgfVxyXG5cclxuICAmLnRhYmxlLXN0cmlwZWQge1xyXG4gICAgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWFjY2VudC1iZztcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYudGFibGUtaG92ZXIge1xyXG4gICAgdGJvZHkgdHIge1xyXG4gICAgICBAaW5jbHVkZSBob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstaG92ZXItYmc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xyXG4vL1xyXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC50YWJsZS1yZXNwb25zaXZlLSpgIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBzY3JlZW5cclxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXHJcblxyXG4udGFibGUtcmVzcG9uc2l2ZSB7XHJcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcclxuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xyXG5cclxuICAgICYjeyRpbmZpeH0ge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICAgICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwMDU3XHJcblxyXG4gICAgICAgIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlciBvbiBob3Jpem9udGFsIHNjcm9sbCBkdWUgdG8gdXNlIG9mIGBkaXNwbGF5OiBibG9jaztgXHJcbiAgICAgICAgPiAudGFibGUtYm9yZGVyZWQge1xyXG4gICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBUYWJsZXNcclxuXHJcbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XHJcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcclxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxyXG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xyXG4gICAgJixcclxuICAgID4gdGgsXHJcbiAgICA+IHRkIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXHJcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXHJcbiAgLnRhYmxlLWhvdmVyIHtcclxuICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcclxuXHJcbiAgICAudGFibGUtI3skc3RhdGV9IHtcclxuICAgICAgQGluY2x1ZGUgaG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xyXG5cclxuICAgICAgICA+IHRkLFxyXG4gICAgICAgID4gdGgge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxyXG5cclxuLy9cclxuLy8gVGV4dHVhbCBmb3JtIGNvbnRyb2xzXHJcbi8vXHJcblxyXG4uZm9ybS1jb250cm9sIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XHJcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xyXG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XHJcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcclxuXHJcbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxyXG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xyXG4gICAgLy8gTWFudWFsbHkgdXNlIHRoZSBpZi9lbHNlIGluc3RlYWQgb2YgdGhlIG1peGluIHRvIGFjY291bnQgZm9yIGlPUyBvdmVycmlkZVxyXG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAvLyBPdGhlcndpc2UgdW5kbyB0aGUgaU9TIGRlZmF1bHRcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcclxuXHJcbiAgLy8gVW5zdHlsZSB0aGUgY2FyZXQgb24gYDxzZWxlY3Q+YHMgaW4gSUUxMCsuXHJcbiAgJjo6LW1zLWV4cGFuZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogMDtcclxuICB9XHJcblxyXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cclxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXMoKTtcclxuXHJcbiAgLy8gUGxhY2Vob2xkZXJcclxuICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xyXG4gICAgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjYuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcclxuICAvL1xyXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXHJcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcclxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXHJcbiAgJjpkaXNhYmxlZCxcclxuICAmW3JlYWRvbmx5XSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XHJcbiAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xyXG4gICY6Zm9jdXM6Oi1tcy12YWx1ZSB7XHJcbiAgICAvLyBTdXBwcmVzcyB0aGUgbmVzdGVkIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXHJcbiAgICAvLyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRleHQgd2hlbiB0aGUgKHN0aWxsIGNsb3NlZCkgPHNlbGVjdD4gcmVjZWl2ZXMgZm9jdXNcclxuICAgIC8vIGluIElFIGFuZCAodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKSBFZGdlLCBhcyBpdCBsb29rcyBiYWQgYW5kIGNhbm5vdCBiZSBtYWRlIHRvXHJcbiAgICAvLyBtYXRjaCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgbmF0aXZlIHdpZGdldC5cclxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxyXG4gICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcclxuICB9XHJcbn1cclxuXHJcbi8vIE1ha2UgZmlsZSBpbnB1dHMgYmV0dGVyIG1hdGNoIHRleHQgaW5wdXRzIGJ5IGZvcmNpbmcgdGhlbSB0byBuZXcgbGluZXMuXHJcbi5mb3JtLWNvbnRyb2wtZmlsZSxcclxuLmZvcm0tY29udHJvbC1yYW5nZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcblxyXG4vL1xyXG4vLyBMYWJlbHNcclxuLy9cclxuXHJcbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxhYmVsIChvciBsZWdlbmQpXHJcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cclxuLmNvbC1mb3JtLWxhYmVsIHtcclxuICBwYWRkaW5nLXRvcDogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXl9ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XHJcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skaW5wdXQtcGFkZGluZy15fSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xyXG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPi88bGVnZW5kPmAgZGVmYXVsdFxyXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxyXG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XHJcbn1cclxuXHJcbi5jb2wtZm9ybS1sYWJlbC1sZyB7XHJcbiAgcGFkZGluZy10b3A6IGNhbGMoI3skaW5wdXQtcGFkZGluZy15LWxnfSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xyXG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteS1sZ30gKyAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTtcclxuICBmb250LXNpemU6ICRmb250LXNpemUtbGc7XHJcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcclxufVxyXG5cclxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcclxuICBwYWRkaW5nLXRvcDogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXktc219ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XHJcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skaW5wdXQtcGFkZGluZy15LXNtfSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcclxuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xyXG59XHJcblxyXG5cclxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxyXG4vL1xyXG4vLyBBcHBseSBjbGFzcyB0byBhIHJlYWRvbmx5IGlucHV0IHRvIG1ha2UgaXQgYXBwZWFyIGxpa2UgcmVndWxhciBwbGFpblxyXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcclxuXHJcbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nLXRvcDogJGlucHV0LXBhZGRpbmcteTtcclxuICBwYWRkaW5nLWJvdHRvbTogJGlucHV0LXBhZGRpbmcteTtcclxuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcclxuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xyXG4gIGNvbG9yOiAkaW5wdXQtcGxhaW50ZXh0LWNvbG9yO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoIDA7XHJcblxyXG4gICYuZm9ybS1jb250cm9sLXNtLFxyXG4gICYuZm9ybS1jb250cm9sLWxnIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xyXG4vL1xyXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxyXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxyXG4vL1xyXG4vLyBSZXBlYXRlZCBpbiBgX2lucHV0X2dyb3VwLnNjc3NgIHRvIGF2b2lkIFNhc3MgZXh0ZW5kIGlzc3Vlcy5cclxuXHJcbi5mb3JtLWNvbnRyb2wtc20ge1xyXG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcclxuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XHJcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xyXG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XHJcbn1cclxuXHJcbi5mb3JtLWNvbnRyb2wtbGcge1xyXG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcclxuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XHJcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xyXG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XHJcbn1cclxuXHJcbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcclxuc2VsZWN0LmZvcm0tY29udHJvbCB7XHJcbiAgJltzaXplXSxcclxuICAmW211bHRpcGxlXSB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG4vLyBzdHlsZWxpbnQtZW5hYmxlIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcclxuXHJcbi8vIEZvcm0gZ3JvdXBzXHJcbi8vXHJcbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3JcclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cclxuXHJcbi5mb3JtLWdyb3VwIHtcclxuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xyXG59XHJcblxyXG4uZm9ybS10ZXh0IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XHJcbn1cclxuXHJcblxyXG4vLyBGb3JtIGdyaWRcclxuLy9cclxuLy8gU3BlY2lhbCByZXBsYWNlbWVudCBmb3Igb3VyIGdyaWQgc3lzdGVtJ3MgYC5yb3dgIGZvciB0aWdodGVyIGZvcm0gbGF5b3V0cy5cclxuXHJcbi5mb3JtLXJvdyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xyXG5cclxuICA+IC5jb2wsXHJcbiAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3NcclxuLy9cclxuLy8gSW5kZW50IHRoZSBsYWJlbHMgdG8gcG9zaXRpb24gcmFkaW9zL2NoZWNrYm94ZXMgYXMgaGFuZ2luZyBjb250cm9scy5cclxuXHJcbi5mb3JtLWNoZWNrIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XHJcbn1cclxuXHJcbi5mb3JtLWNoZWNrLWlucHV0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbWFyZ2luLXRvcDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk7XHJcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XHJcblxyXG4gICY6ZGlzYWJsZWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XHJcbiAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XHJcbiAgfVxyXG59XHJcblxyXG4uZm9ybS1jaGVjay1sYWJlbCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgYm90dG9tIG1hcmdpblxyXG59XHJcblxyXG4uZm9ybS1jaGVjay1pbmxpbmUge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBPdmVycmlkZSBiYXNlIC5mb3JtLWNoZWNrXHJcbiAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg7XHJcblxyXG4gIC8vIFVuZG8gLmZvcm0tY2hlY2staW5wdXQgZGVmYXVsdHMgYW5kIGFkZCBzb21lIGBtYXJnaW4tcmlnaHRgLlxyXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcclxuICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBGb3JtIHZhbGlkYXRpb25cclxuLy9cclxuLy8gUHJvdmlkZSBmZWVkYmFjayB0byB1c2VycyB3aGVuIGZvcm0gZmllbGQgdmFsdWVzIGFyZSB2YWxpZCBvciBpbnZhbGlkLiBXb3Jrc1xyXG4vLyBwcmltYXJpbHkgZm9yIGNsaWVudC1zaWRlIHZhbGlkYXRpb24gdmlhIHNjb3BlZCBgOmludmFsaWRgIGFuZCBgOnZhbGlkYFxyXG4vLyBwc2V1ZG8tY2xhc3NlcyBidXQgYWxzbyBpbmNsdWRlcyBgLmlzLWludmFsaWRgIGFuZCBgLmlzLXZhbGlkYCBjbGFzc2VzIGZvclxyXG4vLyBzZXJ2ZXIgc2lkZSB2YWxpZGF0aW9uLlxyXG5cclxuQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlKFwidmFsaWRcIiwgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IpO1xyXG5AaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUoXCJpbnZhbGlkXCIsICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IpO1xyXG5cclxuLy8gSW5saW5lIGZvcm1zXHJcbi8vXHJcbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxyXG4vLyBmb3JtcyBiZWdpbiBzdGFja2VkIG9uIGV4dHJhIHNtYWxsIChtb2JpbGUpIGRldmljZXMgYW5kIHRoZW4gZ28gaW5saW5lIHdoZW5cclxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cclxuLy9cclxuLy8gUmVxdWlyZXMgd3JhcHBpbmcgaW5wdXRzIGFuZCBsYWJlbHMgd2l0aCBgLmZvcm0tZ3JvdXBgIGZvciBwcm9wZXIgZGlzcGxheSBvZlxyXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxyXG5cclxuLmZvcm0taW5saW5lIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gUHJldmVudCBzaG9ydGVyIGVsZW1lbnRzIGZyb20gZ3Jvd2luZyB0byBzYW1lIGhlaWdodCBhcyBvdGhlcnMgKGUuZy4sIHNtYWxsIGJ1dHRvbnMgZ3Jvd2luZyB0byBub3JtYWwgc2l6ZWQgYnV0dG9uIGhlaWdodClcclxuXHJcbiAgLy8gQmVjYXVzZSB3ZSB1c2UgZmxleCwgdGhlIGluaXRpYWwgc2l6aW5nIG9mIGNoZWNrYm94ZXMgaXMgY29sbGFwc2VkIGFuZFxyXG4gIC8vIGRvZXNuJ3Qgb2NjdXB5IHRoZSBmdWxsLXdpZHRoICh3aGljaCBpcyB3aGF0IHdlIHdhbnQgZm9yIHhzIGdyaWQgdGllciksXHJcbiAgLy8gc28gd2UgZm9yY2UgdGhhdCBoZXJlLlxyXG4gIC5mb3JtLWNoZWNrIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xyXG4gICAgbGFiZWwge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcclxuICAgIC5mb3JtLWdyb3VwIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQWxsb3cgZm9sa3MgdG8gKm5vdCogdXNlIGAuZm9ybS1ncm91cGBcclxuICAgIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHdpZHRoOiBhdXRvOyAvLyBQcmV2ZW50IGxhYmVscyBmcm9tIHN0YWNraW5nIGFib3ZlIGlucHV0cyBpbiBgLmZvcm0tZ3JvdXBgXHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXHJcbiAgICAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAuaW5wdXQtZ3JvdXAsXHJcbiAgICAuY3VzdG9tLXNlbGVjdCB7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxyXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXHJcbiAgICAuZm9ybS1jaGVjayB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgfVxyXG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jdXN0b20tY29udHJvbCB7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcclxuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XHJcbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcclxuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcclxuICAgIHRyYW5zaXRpb246IG5vbmU7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxyXG4vL1xyXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxyXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3JgIHZhcmlhYmxlLlxyXG4vL1xyXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2VcclxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cclxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xyXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXHJcbi8vXHJcbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxyXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCkge1xyXG4gICY6Zm9jdXMge1xyXG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcclxuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XHJcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcclxuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IpIHtcclxuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XHJcbiAgICBmb250LXNpemU6ICRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgei1pbmRleDogNTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcclxuICAgIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmcteSAkdG9vbHRpcC1wYWRkaW5nLXg7XHJcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcclxuICAgIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xyXG4gICAgY29sb3I6IGNvbG9yLXlpcSgkY29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICR0b29sdGlwLW9wYWNpdHkpO1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcclxuICB9XHJcblxyXG4gIC5mb3JtLWNvbnRyb2wsXHJcbiAgLmN1c3RvbS1zZWxlY3Qge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXHJcbiAgICAmLmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG5cclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXHJcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvcm0tY29udHJvbC1maWxlIHtcclxuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxyXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xyXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXHJcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvcm0tY2hlY2staW5wdXQge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXHJcbiAgICAmLmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcclxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXHJcbiAgICAmLmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3IsIDI1JSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXHJcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpjaGVja2VkIHtcclxuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKGxpZ2h0ZW4oJGNvbG9yLCAxMCUpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRib2R5LWJnLCAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBjdXN0b20gZmlsZVxyXG4gIC5jdXN0b20tZmlsZS1pbnB1dCB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcclxuICAgICYuaXMtI3skc3RhdGV9IHtcclxuICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG5cclxuICAgICAgICAmOjphZnRlciB7IGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXHJcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBHcmFkaWVudHNcclxuXHJcbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcclxuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XHJcbi8vXHJcbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXHJcbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuXHJcbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cclxuLy9cclxuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cclxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XHJcbn1cclxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXHJcblxyXG4vL1xyXG4vLyBCYXNlIHN0eWxlc1xyXG4vL1xyXG5cclxuLmJ0biB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgYm9yZGVyOiAkYnRuLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteSwgJGJ0bi1wYWRkaW5nLXgsICRmb250LXNpemUtYmFzZSwgJGJ0bi1saW5lLWhlaWdodCwgJGJ0bi1ib3JkZXItcmFkaXVzKTtcclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XHJcblxyXG4gIC8vIFNoYXJlIGhvdmVyIGFuZCBmb2N1cyBzdHlsZXNcclxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzLFxyXG4gICYuZm9jdXMge1xyXG4gICAgb3V0bGluZTogMDtcclxuICAgIGJveC1zaGFkb3c6ICRidG4tZm9jdXMtYm94LXNoYWRvdztcclxuICB9XHJcblxyXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxyXG4gICYuZGlzYWJsZWQsXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBvcGFjaXR5OiAkYnRuLWRpc2FibGVkLW9wYWNpdHk7XHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xyXG4gIH1cclxuXHJcbiAgLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIC5idG4gZWxlbWVudHNcclxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxyXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcclxuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1mb2N1cy1ib3gtc2hhZG93LCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXHJcbmEuYnRuLmRpc2FibGVkLFxyXG5maWVsZHNldDpkaXNhYmxlZCBhLmJ0biB7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcblxyXG4vL1xyXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xyXG4vL1xyXG5cclxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XHJcbiAgLmJ0bi0jeyRjb2xvcn0ge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJHZhbHVlLCAkdmFsdWUpO1xyXG4gIH1cclxufVxyXG5cclxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XHJcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XHJcbiAgICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCR2YWx1ZSk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy9cclxuLy8gTGluayBidXR0b25zXHJcbi8vXHJcblxyXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xyXG4uYnRuLWxpbmsge1xyXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4gIGNvbG9yOiAkbGluay1jb2xvcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgQGluY2x1ZGUgaG92ZXIge1xyXG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuXHJcbiAgJjpmb2N1cyxcclxuICAmLmZvY3VzIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gIH1cclxuXHJcbiAgJjpkaXNhYmxlZCxcclxuICAmLmRpc2FibGVkIHtcclxuICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXHJcbn1cclxuXHJcblxyXG4vL1xyXG4vLyBCdXR0b24gU2l6ZXNcclxuLy9cclxuXHJcbi5idG4tbGcge1xyXG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJGJ0bi1saW5lLWhlaWdodC1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcclxufVxyXG5cclxuLmJ0bi1zbSB7XHJcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktc20sICRidG4tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkYnRuLWxpbmUtaGVpZ2h0LXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xyXG59XHJcblxyXG5cclxuLy9cclxuLy8gQmxvY2sgYnV0dG9uXHJcbi8vXHJcblxyXG4uYnRuLWJsb2NrIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xyXG4gICsgLmJ0bi1ibG9jayB7XHJcbiAgICBtYXJnaW4tdG9wOiAkYnRuLWJsb2NrLXNwYWNpbmcteTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xyXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxyXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXHJcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xyXG4gICYuYnRuLWJsb2NrIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG4iLCIvLyBCdXR0b24gdmFyaWFudHNcclxuLy9cclxuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxyXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcclxuXHJcbkBtaXhpbiBidXR0b24tdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNy41JSksICRob3Zlci1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMCUpLCAkYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKSwgJGFjdGl2ZS1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMi41JSkpIHtcclxuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XHJcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xyXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcclxuXHJcbiAgQGluY2x1ZGUgaG92ZXIge1xyXG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XHJcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XHJcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzLFxyXG4gICYuZm9jdXMge1xyXG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxyXG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XHJcbiAgICAgIGJveC1zaGFkb3c6ICRidG4tYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRib3JkZXIsIC41KTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXHJcbiAgJi5kaXNhYmxlZCxcclxuICAmOmRpc2FibGVkIHtcclxuICAgIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XHJcbiAgfVxyXG5cclxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcclxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcclxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcclxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgZm9yIHRoZSBwcmVzc2VkL2FjdGl2ZSBzdGF0ZVxyXG4gICAgfVxyXG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxyXG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcclxuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3IsICRjb2xvci1ob3ZlcjogY29sb3IteWlxKCRjb2xvciksICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLCAkYWN0aXZlLWJvcmRlcjogJGNvbG9yKSB7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XHJcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xyXG4gIH1cclxuXHJcbiAgJjpmb2N1cyxcclxuICAmLmZvY3VzIHtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcclxuICB9XHJcblxyXG4gICYuZGlzYWJsZWQsXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG5cclxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcclxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcclxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcclxuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcclxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcclxuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gQnV0dG9uIHNpemVzXHJcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XHJcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG4gIC8vIE1hbnVhbGx5IGRlY2xhcmUgdG8gcHJvdmlkZSBhbiBvdmVycmlkZSB0byB0aGUgYnJvd3NlciBkZWZhdWx0XHJcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICB9IEBlbHNlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgfVxyXG59XHJcbiIsIi5idG4ge1xyXG4gICYuYnRuLWRlZmF1bHQge1xyXG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjIpO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgIH1cclxuICB9XHJcbiAgJi5idG4tb3V0bGluZS1kZWZhdWx0IHtcclxuICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoNzYsNzYsNzYsMC4xKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5O1xyXG4gICAgfVxyXG4gIH1cclxuICAmLmJ0bi10cmFuc3BhcmVudCB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNzYsNzYsNzYsMC4xKTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNzYsNzYsNzYsMC4yKTtcclxuICAgIH1cclxuICB9XHJcbiAgJi5idG4tb3V0bGluZS10cmFuc3BhcmVudCB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoNzYsNzYsNzYsMC4xKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDc2LDc2LDc2LDAuMyk7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuYnRuLXJvdW5kIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XHJcbiAgfVxyXG59IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKiogICAgICAgICAgQk9YRVMgICAgICAgICAgICAgICAqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiRib3JkZXItcmFkaXVzLWJhc2U6IDBweDtcclxuJHdpZGdldC1tYjogJHNwYWNlcjtcclxuJHdpZGdldC1jb2xvcjogJGJvZHktY29sb3I7XHJcblxyXG4vKmJveGVzKi9cclxuLmNjbS1wYWdlIG1haW4gLmJveHtcclxuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG4gIHBhZGRpbmc6IDVweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbWFyZ2luLWJvdHRvbTogJHdpZGdldC1tYjtcclxuICBiYWNrZ3JvdW5kOiBsaWdodGVuKHJnYmEoMjIsIDIyLCAyMiwgMC43NSksIDUlKSAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAkd2lkZ2V0LWNvbG9yO1xyXG4gIG1pbi1oZWlnaHQ6IDEwNXB4O1xyXG4gIC5kZXNjcmlwdGlvbntcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDEwcHggLTVweDtcclxuICB9XHJcblxyXG4gIC5pY29uLCAuYmlnLXRleHR7XHJcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgZm9udC1zaXplOiAzNnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XHJcbiAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICB9XHJcbn0iLCIuY2NtLXBhZ2Uge1xyXG4gICNwYWdlbG9hZGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgei1pbmRleDogOTk5OTk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyaztcclxuICB9XHJcblxyXG4gIC5zcGlubmVyIHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgd2lkdGg6IDcwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIG1hcmdpbi10b3A6IC05cHg7XHJcbiAgICAuYm91bmNlMSB7XHJcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC4zMnM7XHJcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogLTAuMzJzO1xyXG4gICAgfVxyXG4gICAgLmJvdW5jZTIge1xyXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuMTZzO1xyXG4gICAgICBhbmltYXRpb24tZGVsYXk6IC0wLjE2cztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zcGlubmVyIGRpdiB7XHJcbiAgICB3aWR0aDogMThweDtcclxuICAgIGhlaWdodDogMThweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1jb2xvcjtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbWFyZ2luLXRvcDogOXB4O1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNrLXRocmVlQm91bmNlRGVsYXkgMS40cyBpbmZpbml0ZSBlYXNlLWluLW91dDtcclxuICAgIGFuaW1hdGlvbjogc2stdGhyZWVCb3VuY2VEZWxheSAxLjRzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xyXG4gICAgLyogUHJldmVudCBmaXJzdCBmcmFtZSBmcm9tIGZsaWNrZXJpbmcgd2hlbiBhbmltYXRpb24gc3RhcnRzICovXHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzay10aHJlZUJvdW5jZURlbGF5IHtcclxuXHJcbiAgMCUsIDgwJSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gIH1cclxuXHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuQGtleWZyYW1lcyBzay10aHJlZUJvdW5jZURlbGF5IHtcclxuXHJcbiAgMCUsIDgwJSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gIH1cclxuXHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgfVxyXG5cclxufSIsIi5jY20tcGFnZSB7XHJcbiAgI3Nwb25zb3JzLXNsaWRlciB7XHJcbiAgICBtYXJnaW46IDNyZW0gMDtcclxuICAgIC5zcG9uc29yLWl0ZW0ge1xyXG4gICAgICBvcGFjaXR5OiAwLjc7XHJcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XHJcbiAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xyXG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzO1xyXG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjRzO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cztcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDAlKTtcclxuICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwJSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIuY2NtLXBhZ2Uge1xyXG4gIC5wcm9ncmVzcyB7XHJcbiAgICBoZWlnaHQ6IDIzcHg7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGJveC1zaGFkb3c6aW5zZXQgMHB4IDBweCAwcHggMXB4ICNlZWVlZWU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmOWY5Zjk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIG1hcmdpbjogNHJlbSAwIDFyZW0gMDtcclxuICAgIC5wcm9ncmVzcy1iYXIge1xyXG4gICAgICAmOmFmdGVye1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBib3JkZXItbGVmdDogMTJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDEycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMTJweCBzb2xpZDtcclxuICAgICAgICBjb250ZW50OicnO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6LTMycHg7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiBkYXJrZW4oJHByaW1hcnksIDEwJSk7XHJcbiAgICAgIH1cclxuICAgICAgc3BhbntcclxuICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcclxuICAgICAgICBmb250LXNpemU6MTlweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiAtNDBweDtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgY29sb3I6IGRhcmtlbigkcHJpbWFyeSwgMTAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi5jY20tcGFnZSB7XHJcbiAgLm5hdi10YWJzIHtcclxuICAgIG1hcmdpbi10b3A6IDJyZW07XHJcbiAgICAubmF2LWl0ZW0ge1xyXG4gICAgICAubmF2LWxpbmsge1xyXG4gICAgICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAuOHJlbTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICYuYXJyb3dSaWdodCB7XHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDEycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMTJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMTJweCBzb2xpZCA7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMzVweDtcclxuICAgICAgICAgICAgdG9wOiA2cHg7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4yKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHByaW1hcnksIDEwJSk7XHJcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCBkYXJrZW4oJHByaW1hcnksIDEwJSk7XHJcbiAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICBjb2xvcjogZGFya2VuKCRwcmltYXJ5LCAxMCUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyOm5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAkcHJpbWFyeTtcclxuICAgICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAubmF2LWxpbmsge1xyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcclxuXHJcbi5mYWRlIHtcclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xyXG5cclxuICAmOm5vdCguc2hvdykge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbi5jb2xsYXBzZSB7XHJcbiAgJjpub3QoLnNob3cpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uY29sbGFwc2luZyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGhlaWdodDogMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xyXG59XHJcbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxyXG4uZHJvcHVwLFxyXG4uZHJvcHJpZ2h0LFxyXG4uZHJvcGRvd24sXHJcbi5kcm9wbGVmdCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uZHJvcGRvd24tdG9nZ2xlIHtcclxuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxyXG4gIEBpbmNsdWRlIGNhcmV0O1xyXG59XHJcblxyXG4vLyBUaGUgZHJvcGRvd24gbWVudVxyXG4uZHJvcGRvd24tbWVudSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMTAwJTtcclxuICBsZWZ0OiAwO1xyXG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XHJcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcclxuICBmbG9hdDogbGVmdDtcclxuICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XHJcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmcteSAwO1xyXG4gIG1hcmdpbjogJGRyb3Bkb3duLXNwYWNlciAwIDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcclxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTsgLy8gUmVkZWNsYXJlIGJlY2F1c2UgbmVzdGluZyBjYW4gY2F1c2UgaW5oZXJpdGFuY2UgaXNzdWVzXHJcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iZztcclxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xyXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMpO1xyXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGRyb3Bkb3duLWJveC1zaGFkb3cpO1xyXG59XHJcblxyXG4uZHJvcGRvd24tbWVudS1yaWdodCB7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgbGVmdDogYXV0bztcclxufVxyXG5cclxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXHJcbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldC5cclxuLmRyb3B1cCB7XHJcbiAgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgdG9wOiBhdXRvO1xyXG4gICAgYm90dG9tOiAxMDAlO1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206ICRkcm9wZG93bi1zcGFjZXI7XHJcbiAgfVxyXG5cclxuICAuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIEBpbmNsdWRlIGNhcmV0KHVwKTtcclxuICB9XHJcbn1cclxuXHJcbi5kcm9wcmlnaHQge1xyXG4gIC5kcm9wZG93bi1tZW51IHtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgbGVmdDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICBtYXJnaW4tbGVmdDogJGRyb3Bkb3duLXNwYWNlcjtcclxuICB9XHJcblxyXG4gIC5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgQGluY2x1ZGUgY2FyZXQocmlnaHQpO1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5kcm9wbGVmdCB7XHJcbiAgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDEwMCU7XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi1yaWdodDogJGRyb3Bkb3duLXNwYWNlcjtcclxuICB9XHJcblxyXG4gIC5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgQGluY2x1ZGUgY2FyZXQobGVmdCk7XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIFdoZW4gZW5hYmxlZCBQb3BwZXIuanMsIHJlc2V0IGJhc2ljIGRyb3Bkb3duIHBvc2l0aW9uXHJcbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcclxuLmRyb3Bkb3duLW1lbnUge1xyXG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdLFxyXG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0sXHJcbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0sXHJcbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcclxuICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgYm90dG9tOiBhdXRvO1xyXG4gIH1cclxufVxyXG4vLyBzdHlsZWxpbnQtZW5hYmxlIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcclxuXHJcbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXHJcbi5kcm9wZG93bi1kaXZpZGVyIHtcclxuICBAaW5jbHVkZSBuYXYtZGl2aWRlcigkZHJvcGRvd24tZGl2aWRlci1iZyk7XHJcbn1cclxuXHJcbi8vIExpbmtzLCBidXR0b25zLCBhbmQgbW9yZSB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcclxuLy9cclxuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2BcclxuLmRyb3Bkb3duLWl0ZW0ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcclxuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xyXG4gIGNsZWFyOiBib3RoO1xyXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcclxuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRm9yIGA8YnV0dG9uPmBzXHJcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcclxuXHJcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstaG92ZXItYmcpO1xyXG4gIH1cclxuXHJcbiAgJi5hY3RpdmUsXHJcbiAgJjphY3RpdmUge1xyXG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyk7XHJcbiAgfVxyXG5cclxuICAmLmRpc2FibGVkLFxyXG4gICY6ZGlzYWJsZWQge1xyXG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcclxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZHJvcGRvd24tbWVudS5zaG93IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXHJcbi5kcm9wZG93bi1oZWFkZXIge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xyXG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXHJcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xyXG4gIGNvbG9yOiAkZHJvcGRvd24taGVhZGVyLWNvbG9yO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcclxufVxyXG5cclxuLy8gRHJvcGRvd24gdGV4dFxyXG4uZHJvcGRvd24taXRlbS10ZXh0IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xyXG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcclxufVxyXG4iLCJAbWl4aW4gY2FyZXQtZG93biB7XHJcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xyXG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1ib3R0b206IDA7XHJcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuQG1peGluIGNhcmV0LXVwIHtcclxuICBib3JkZXItdG9wOiAwO1xyXG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcclxuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG5AbWl4aW4gY2FyZXQtcmlnaHQge1xyXG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQ7XHJcbn1cclxuXHJcbkBtaXhpbiBjYXJldC1sZWZ0IHtcclxuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG5AbWl4aW4gY2FyZXQoJGRpcmVjdGlvbjogZG93bikge1xyXG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB3aWR0aDogMDtcclxuICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmV0LXdpZHRoICogLjg1O1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXdpZHRoICogLjg1O1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcclxuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duO1xyXG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xyXG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwO1xyXG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xyXG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZXQtd2lkdGggKiAuODU7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC13aWR0aCAqIC44NTtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmVtcHR5OjphZnRlciB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXHJcbi8vXHJcbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xyXG5cclxuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogJG5hdi1kaXZpZGVyLWNvbG9yLCAkbWFyZ2luLXk6ICRuYXYtZGl2aWRlci1tYXJnaW4teSkge1xyXG4gIGhlaWdodDogMDtcclxuICBtYXJnaW46ICRtYXJnaW4teSAwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcclxufVxyXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcclxuXHJcbi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxyXG4uYnRuLWdyb3VwLFxyXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcclxuXHJcbiAgPiAuYnRuIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGZsZXg6IDAgMSBhdXRvO1xyXG5cclxuICAgIC8vIEJyaW5nIHRoZSBob3ZlciwgZm9jdXNlZCwgYW5kIFwiYWN0aXZlXCIgYnV0dG9ucyB0byB0aGUgZnJvbnQgdG8gb3ZlcmxheVxyXG4gICAgLy8gdGhlIGJvcmRlcnMgcHJvcGVybHlcclxuICAgIEBpbmNsdWRlIGhvdmVyIHtcclxuICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxuICAgICY6Zm9jdXMsXHJcbiAgICAmOmFjdGl2ZSxcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcclxuICAuYnRuICsgLmJ0bixcclxuICAuYnRuICsgLmJ0bi1ncm91cCxcclxuICAuYnRuLWdyb3VwICsgLmJ0bixcclxuICAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7XHJcbiAgICBtYXJnaW4tbGVmdDogLSRidG4tYm9yZGVyLXdpZHRoO1xyXG4gIH1cclxufVxyXG5cclxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxyXG4uYnRuLXRvb2xiYXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuXHJcbiAgLmlucHV0LWdyb3VwIHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gIH1cclxufVxyXG5cclxuLmJ0bi1ncm91cCB7XHJcbiAgPiAuYnRuOmZpcnN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXHJcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxyXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xyXG4gIH1cclxuXHJcbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxyXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xyXG4gIH1cclxufVxyXG5cclxuLy8gU2l6aW5nXHJcbi8vXHJcbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXIgbWFuaXB1bGF0aW9uLlxyXG5cclxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cclxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyBAZXh0ZW5kIC5idG4tbGc7IH1cclxuXHJcblxyXG4vL1xyXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXHJcbi8vXHJcblxyXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcclxuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcclxuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xyXG5cclxuICAmOjphZnRlcixcclxuICAuZHJvcHVwICY6OmFmdGVyLFxyXG4gIC5kcm9wcmlnaHQgJjo6YWZ0ZXIge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgfVxyXG5cclxuICAuZHJvcGxlZnQgJjo6YmVmb3JlIHtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICB9XHJcbn1cclxuXHJcbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcclxuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcclxuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xyXG59XHJcblxyXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XHJcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XHJcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcclxufVxyXG5cclxuXHJcbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxyXG4vLyBTZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXHJcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcclxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xyXG5cclxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXHJcbiAgJi5idG4tbGluayB7XHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vXHJcbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcclxuLy9cclxuXHJcbi5idG4tZ3JvdXAtdmVydGljYWwge1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gIC5idG4sXHJcbiAgLmJ0bi1ncm91cCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gID4gLmJ0biArIC5idG4sXHJcbiAgPiAuYnRuICsgLmJ0bi1ncm91cCxcclxuICA+IC5idG4tZ3JvdXAgKyAuYnRuLFxyXG4gID4gLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xyXG4gICAgbWFyZ2luLXRvcDogLSRidG4tYm9yZGVyLXdpZHRoO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgfVxyXG5cclxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcclxuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXHJcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xyXG4gIH1cclxuXHJcbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxyXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gQ2hlY2tib3ggYW5kIHJhZGlvIG9wdGlvbnNcclxuLy9cclxuLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUgYnJvd3NlcidzIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFjaywgcG93ZXJlZCBieSB0aGVcclxuLy8gYHJlcXVpcmVkYCBhdHRyaWJ1dGUsIHdlIGhhdmUgdG8gXCJoaWRlXCIgdGhlIGlucHV0cyB2aWEgYGNsaXBgLiBXZSBjYW5ub3QgdXNlXHJcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cclxuLy8gU2ltcGx5IHZpc3VhbGx5IGhpZGluZyB0aGUgaW5wdXRzIHZpYSBgb3BhY2l0eWAgd291bGQgbGVhdmUgdGhlbSBjbGlja2FibGUgaW5cclxuLy8gY2VydGFpbiBjYXNlcyB3aGljaCBpcyBwcmV2ZW50ZWQgYnkgdXNpbmcgYGNsaXBgIGFuZCBgcG9pbnRlci1ldmVudHNgLlxyXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxyXG4vL1xyXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTI3OTQgYW5kXHJcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxyXG5cclxuLmJ0bi1ncm91cC10b2dnbGUge1xyXG4gID4gLmJ0bixcclxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIHZhbHVlXHJcblxyXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXHJcblxyXG4vL1xyXG4vLyBCYXNlIHN0eWxlc1xyXG4vL1xyXG5cclxuLmlucHV0LWdyb3VwIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7IC8vIEZvciBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2tcclxuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgPiAuZm9ybS1jb250cm9sLFxyXG4gID4gLmN1c3RvbS1zZWxlY3QsXHJcbiAgPiAuY3VzdG9tLWZpbGUge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBGb3IgZm9jdXMgc3RhdGUncyB6LWluZGV4XHJcbiAgICBmbGV4OiAxIDEgYXV0bztcclxuICAgIC8vIEFkZCB3aWR0aCAxJSBhbmQgZmxleC1iYXNpcyBhdXRvIHRvIGVuc3VyZSB0aGF0IGJ1dHRvbiB3aWxsIG5vdCB3cmFwIG91dFxyXG4gICAgLy8gdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRSBFZGdlKyBhbmQgRmlyZWZveC4gQ2hyb21lIGRvZXMgbm90IHJlcXVpcmUgdGhpcy5cclxuICAgIHdpZHRoOiAxJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG4gICAgKyAuZm9ybS1jb250cm9sLFxyXG4gICAgKyAuY3VzdG9tLXNlbGVjdCxcclxuICAgICsgLmN1c3RvbS1maWxlIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcclxuICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXHJcbiAgPiAuY3VzdG9tLXNlbGVjdDpmb2N1cyxcclxuICA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xyXG4gICAgei1pbmRleDogMztcclxuICB9XHJcblxyXG4gIC8vIEJyaW5nIHRoZSBjdXN0b20gZmlsZSBpbnB1dCBhYm92ZSB0aGUgbGFiZWxcclxuICA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMge1xyXG4gICAgei1pbmRleDogNDtcclxuICB9XHJcblxyXG4gID4gLmZvcm0tY29udHJvbCxcclxuICA+IC5jdXN0b20tc2VsZWN0IHtcclxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7IEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7IH1cclxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cclxuICB9XHJcblxyXG4gIC8vIEN1c3RvbSBmaWxlIGlucHV0cyBoYXZlIG1vcmUgY29tcGxleCBtYXJrdXAsIHRodXMgcmVxdWlyaW5nIGRpZmZlcmVudFxyXG4gIC8vIGJvcmRlci1yYWRpdXMgb3ZlcnJpZGVzLlxyXG4gID4gLmN1c3RvbS1maWxlIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXHJcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7IEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7IH1cclxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kXHJcbi8vXHJcbi8vIFdoaWxlIGl0IHJlcXVpcmVzIG9uZSBleHRyYSBsYXllciBvZiBIVE1MIGZvciBlYWNoLCBkZWRpY2F0ZWQgcHJlcGVuZCBhbmRcclxuLy8gYXBwZW5kIGVsZW1lbnRzIGFsbG93IHVzIHRvIDEpIGJlIGxlc3MgY2xldmVyLCAyKSBzaW1wbGlmeSBvdXIgc2VsZWN0b3JzLCBhbmRcclxuLy8gMykgc3VwcG9ydCBIVE1MNSBmb3JtIHZhbGlkYXRpb24uXHJcblxyXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCxcclxuLmlucHV0LWdyb3VwLWFwcGVuZCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgLy8gRW5zdXJlIGJ1dHRvbnMgYXJlIGFsd2F5cyBhYm92ZSBpbnB1dHMgZm9yIG1vcmUgdmlzdWFsbHkgcGxlYXNpbmcgYm9yZGVycy5cclxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXHJcbiAgLy8gYXMgb3VyIGlucHV0cy5cclxuICAuYnRuIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgfVxyXG5cclxuICAuYnRuICsgLmJ0bixcclxuICAuYnRuICsgLmlucHV0LWdyb3VwLXRleHQsXHJcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcclxuICAuaW5wdXQtZ3JvdXAtdGV4dCArIC5idG4ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xyXG4gIH1cclxufVxyXG5cclxuLmlucHV0LWdyb3VwLXByZXBlbmQgeyBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XHJcbi5pbnB1dC1ncm91cC1hcHBlbmQgeyBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7IH1cclxuXHJcblxyXG4vLyBUZXh0dWFsIGFkZG9uc1xyXG4vL1xyXG4vLyBTZXJ2ZXMgYXMgYSBjYXRjaC1hbGwgZWxlbWVudCBmb3IgYW55IHRleHQgb3IgcmFkaW8vY2hlY2tib3ggaW5wdXQgeW91IHdpc2hcclxuLy8gdG8gcHJlcGVuZCBvciBhcHBlbmQgdG8gYW4gaW5wdXQuXHJcblxyXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcclxuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBBbGxvdyB1c2Ugb2YgPGxhYmVsPiBlbGVtZW50cyBieSBvdmVycmlkaW5nIG91ciBkZWZhdWx0IG1hcmdpbi1ib3R0b21cclxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTsgLy8gTWF0Y2ggaW5wdXRzXHJcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcclxuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcclxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcclxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuXHJcbiAgLy8gTnVrZSBkZWZhdWx0IG1hcmdpbnMgZnJvbSBjaGVja2JveGVzIGFuZCByYWRpb3MgdG8gdmVydGljYWxseSBjZW50ZXIgd2l0aGluLlxyXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcclxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBTaXppbmdcclxuLy9cclxuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxyXG4vLyBtYW5pcHVsYXRpb24uXHJcblxyXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxyXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxyXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXHJcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcclxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xyXG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcclxuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XHJcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xyXG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XHJcbn1cclxuXHJcbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXHJcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXHJcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcclxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxyXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XHJcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xyXG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcclxuICBmb250LXNpemU6ICRmb250LXNpemUtc207XHJcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcclxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcclxufVxyXG5cclxuXHJcbi8vIFByZXBlbmQgYW5kIGFwcGVuZCByb3VuZGVkIGNvcm5lcnNcclxuLy9cclxuLy8gVGhlc2UgcnVsZXNldHMgbXVzdCBjb21lIGFmdGVyIHRoZSBzaXppbmcgb25lcyB0byBwcm9wZXJseSBvdmVycmlkZSBzbSBhbmQgbGdcclxuLy8gYm9yZGVyLXJhZGl1cyB2YWx1ZXMgd2hlbiBleHRlbmRpbmcuIFRoZXkncmUgbW9yZSBzcGVjaWZpYyB0aGFuIHdlJ2QgbGlrZVxyXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cclxuXHJcblxyXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXHJcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXHJcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4sXHJcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxyXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxyXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmxhc3QtY2hpbGQpIHtcclxuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xyXG59XHJcblxyXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0bixcclxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxyXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sXHJcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXHJcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcclxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xyXG59XHJcbiIsIi8vIEVtYmVkZGVkIGljb25zIGZyb20gT3BlbiBJY29uaWMuXHJcbi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBhbmQgY29weXJpZ2h0IDIwMTQgV2F5YnVyeS5cclxuLy8gaHR0cHM6Ly91c2VpY29uaWMuY29tL29wZW5cclxuXHJcblxyXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3NcclxuLy9cclxuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cclxuXHJcbi5jdXN0b20tY29udHJvbCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1pbi1oZWlnaHQ6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSk7XHJcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyO1xyXG59XHJcblxyXG4uY3VzdG9tLWNvbnRyb2wtaW5saW5lIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tY29udHJvbC1zcGFjZXIteDtcclxufVxyXG5cclxuLmN1c3RvbS1jb250cm9sLWlucHV0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogLTE7IC8vIFB1dCB0aGUgaW5wdXQgYmVoaW5kIHRoZSBsYWJlbCBzbyBpdCBkb2Vzbid0IG92ZXJsYXkgdGV4dFxyXG4gIG9wYWNpdHk6IDA7XHJcblxyXG4gICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I7XHJcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcpO1xyXG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdyk7XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgLy8gdGhlIG1peGluIGlzIG5vdCB1c2VkIGhlcmUgdG8gbWFrZSBzdXJlIHRoZXJlIGlzIGZlZWRiYWNrXHJcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xyXG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93KTtcclxuICB9XHJcblxyXG4gICY6ZGlzYWJsZWQge1xyXG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xyXG4gICAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yO1xyXG5cclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBDdXN0b20gY29udHJvbCBpbmRpY2F0b3JzXHJcbi8vXHJcbi8vIEJ1aWxkIHRoZSBjdXN0b20gY29udHJvbHMgb3V0IG9mIHBzZXVkby1lbGVtZW50cy5cclxuXHJcbi5jdXN0b20tY29udHJvbC1sYWJlbCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG4gIC8vIEJhY2tncm91bmQtY29sb3IgYW5kICh3aGVuIGVuYWJsZWQpIGdyYWRpZW50XHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyKTtcclxuICAgIGxlZnQ6IC0kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xyXG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc7XHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdyk7XHJcbiAgfVxyXG5cclxuICAvLyBGb3JlZ3JvdW5kIChpY29uKVxyXG4gICY6OmFmdGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyKTtcclxuICAgIGxlZnQ6IC0kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xyXG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBDaGVja2JveGVzXHJcbi8vXHJcbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciBjaGVja2JveGVzLlxyXG5cclxuLmN1c3RvbS1jaGVja2JveCB7XHJcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzKTtcclxuICB9XHJcblxyXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyk7XHJcbiAgICB9XHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcpO1xyXG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdyk7XHJcbiAgICB9XHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XHJcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcclxuICAgIH1cclxuICAgICY6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gUmFkaW9zXHJcbi8vXHJcbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciByYWRpb3MuXHJcblxyXG4uY3VzdG9tLXJhZGlvIHtcclxuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xyXG4gIH1cclxuXHJcbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnKTtcclxuICAgIH1cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcclxuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIFNlbGVjdFxyXG4vL1xyXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXHJcbi8vIGh0dHBzOi8vcHJpbWVyLmdpdGh1Yi5pby8uXHJcbi8vXHJcblxyXG4uY3VzdG9tLXNlbGVjdCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0O1xyXG4gIHBhZGRpbmc6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XHJcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0O1xyXG4gIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1jb2xvcjtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJnICRjdXN0b20tc2VsZWN0LWluZGljYXRvciBuby1yZXBlYXQgcmlnaHQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLXNpemU6ICRjdXN0b20tc2VsZWN0LWJnLXNpemU7XHJcbiAgYm9yZGVyOiAkY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xyXG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1cztcclxuICB9IEBlbHNlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdyk7XHJcbiAgYXBwZWFyYW5jZTogbm9uZTtcclxuXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcclxuICAgICAgYm94LXNoYWRvdzogJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdywgJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdztcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93O1xyXG4gICAgfVxyXG5cclxuICAgICY6Oi1tcy12YWx1ZSB7XHJcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXHJcbiAgICAgIC8vIHN1cHByZXNzIHRoZSBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xyXG4gICAgICAvLyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRleHQgd2hlbiB0aGUgKHN0aWxsIGNsb3NlZCkgPHNlbGVjdD4gcmVjZWl2ZXMgZm9jdXNcclxuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXHJcbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxyXG4gICAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmW211bHRpcGxlXSxcclxuICAmW3NpemVdOm5vdChbc2l6ZT1cIjFcIl0pIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAmOmRpc2FibGVkIHtcclxuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnO1xyXG4gIH1cclxuXHJcbiAgLy8gSGlkZXMgdGhlIGRlZmF1bHQgY2FyZXQgaW4gSUUxMVxyXG4gICY6Oi1tcy1leHBhbmQge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbi5jdXN0b20tc2VsZWN0LXNtIHtcclxuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTtcclxuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15O1xyXG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk7XHJcbiAgZm9udC1zaXplOiAkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc207XHJcbn1cclxuXHJcbi5jdXN0b20tc2VsZWN0LWxnIHtcclxuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcclxuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15O1xyXG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk7XHJcbiAgZm9udC1zaXplOiAkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc7XHJcbn1cclxuXHJcblxyXG4vLyBGaWxlXHJcbi8vXHJcbi8vIEN1c3RvbSBmaWxlIGlucHV0LlxyXG5cclxuLmN1c3RvbS1maWxlIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4uY3VzdG9tLWZpbGUtaW5wdXQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAyO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcclxuICBtYXJnaW46IDA7XHJcbiAgb3BhY2l0eTogMDtcclxuXHJcbiAgJjpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I7XHJcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdztcclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6ZGlzYWJsZWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnO1xyXG4gIH1cclxuXHJcbiAgQGVhY2ggJGxhbmcsICR2YWx1ZSBpbiAkY3VzdG9tLWZpbGUtdGV4dCB7XHJcbiAgICAmOmxhbmcoI3skbGFuZ30pIH4gLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICR2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jdXN0b20tZmlsZS1sYWJlbCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHotaW5kZXg6IDE7XHJcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xyXG4gIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcclxuICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xyXG4gIGNvbG9yOiAkY3VzdG9tLWZpbGUtY29sb3I7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWJnO1xyXG4gIGJvcmRlcjogJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yO1xyXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMpO1xyXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1maWxlLWJveC1zaGFkb3cpO1xyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHotaW5kZXg6IDM7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjtcclxuICAgIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XHJcbiAgICBjb2xvcjogJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjtcclxuICAgIGNvbnRlbnQ6IFwiQnJvd3NlXCI7XHJcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWZpbGUtYnV0dG9uLWJnKTtcclxuICAgIGJvcmRlci1sZWZ0OiAkY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBSYW5nZVxyXG4vL1xyXG4vLyBTdHlsZSByYW5nZSBpbnB1dHMgdGhlIHNhbWUgYWNyb3NzIGJyb3dzZXJzLiBWZW5kb3Itc3BlY2lmaWMgcnVsZXMgZm9yIHBzZXVkb1xyXG4vLyBlbGVtZW50cyBjYW5ub3QgYmUgbWl4ZWQuIEFzIHN1Y2gsIHRoZXJlIGFyZSBubyBzaGFyZWQgc3R5bGVzIGZvciBmb2N1cyBvclxyXG4vLyBhY3RpdmUgc3RhdGVzIG9uIHByZWZpeGVkIHNlbGVjdG9ycy5cclxuXHJcbi5jdXN0b20tcmFuZ2Uge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gRmlyZWZveCBzcGVjaWZpY1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGFwcGVhcmFuY2U6IG5vbmU7XHJcblxyXG4gICY6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuXHJcbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBhZmZlY3QuXHJcbiAgICAvLyBObyBib3gtc2hhZG93KCkgbWl4aW4gZm9yIGZvY3VzIGFjY2Vzc2liaWxpdHkuXHJcbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxyXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cclxuICAgICY6Oi1tcy10aHVtYiAgICAgICAgICAgIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XHJcbiAgfVxyXG5cclxuICAmOjotbW96LWZvY3VzLW91dGVyIHtcclxuICAgIGJvcmRlcjogMDtcclxuICB9XHJcblxyXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcclxuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xyXG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcclxuICAgIG1hcmdpbi10b3A6ICgoJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQgLSAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCkgLyAyKTsgLy8gV2Via2l0IHNwZWNpZmljXHJcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcclxuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG5cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xyXG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xyXG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyAvLyBXaHk/XHJcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XHJcbiAgfVxyXG5cclxuICAmOjotbW96LXJhbmdlLXRodW1iIHtcclxuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xyXG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcclxuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xyXG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcclxuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcblxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOjotbW96LXJhbmdlLXRyYWNrIHtcclxuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xyXG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcclxuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRmlyZWZveCBzcGVjaWZpYz9cclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcclxuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcclxuICB9XHJcblxyXG4gICY6Oi1tcy10aHVtYiB7XHJcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcclxuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XHJcbiAgICBtYXJnaW4tdG9wOiAwOyAvLyBFZGdlIHNwZWNpZmljXHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgLy8gV29ya2Fyb3VuZCB0aGF0IG92ZXJmbG93ZWQgYm94LXNoYWRvdyBpcyBoaWRkZW4uXHJcbiAgICBtYXJnaW4tbGVmdDogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOyAgLy8gV29ya2Fyb3VuZCB0aGF0IG92ZXJmbG93ZWQgYm94LXNoYWRvdyBpcyBoaWRkZW4uXHJcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcclxuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG5cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjo6LW1zLXRyYWNrIHtcclxuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xyXG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcclxuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItd2lkdGg6ICgkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCAqIC41KTtcclxuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcclxuICB9XHJcblxyXG4gICY6Oi1tcy1maWxsLWxvd2VyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XHJcbiAgfVxyXG5cclxuICAmOjotbXMtZmlsbC11cHBlciB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IC8vIGFyYml0cmFyeT9cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XHJcbiAgfVxyXG59XHJcblxyXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuLmN1c3RvbS1maWxlLWxhYmVsLFxyXG4uY3VzdG9tLXNlbGVjdCB7XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xyXG59XHJcbiIsIi8vIEJhc2UgY2xhc3NcclxuLy9cclxuLy8gS2lja3N0YXJ0IGFueSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB3aXRoIGEgc2V0IG9mIHN0eWxlIHJlc2V0cy4gV29ya3Mgd2l0aFxyXG4vLyBgPG5hdj5gcyBvciBgPHVsPmBzLlxyXG5cclxuLm5hdiB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuLm5hdi1saW5rIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZy15ICRuYXYtbGluay1wYWRkaW5nLXg7XHJcblxyXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHRcclxuICAmLmRpc2FibGVkIHtcclxuICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG4vL1xyXG4vLyBUYWJzXHJcbi8vXHJcblxyXG4ubmF2LXRhYnMge1xyXG4gIGJvcmRlci1ib3R0b206ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgJG5hdi10YWJzLWJvcmRlci1jb2xvcjtcclxuXHJcbiAgLm5hdi1pdGVtIHtcclxuICAgIG1hcmdpbi1ib3R0b206IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xyXG4gIH1cclxuXHJcbiAgLm5hdi1saW5rIHtcclxuICAgIGJvcmRlcjogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRuYXYtdGFicy1ib3JkZXItcmFkaXVzKTtcclxuXHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICYuZGlzYWJsZWQge1xyXG4gICAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5uYXYtbGluay5hY3RpdmUsXHJcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcclxuICAgIGNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XHJcbiAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XHJcbiAgfVxyXG5cclxuICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcclxuICAgIG1hcmdpbi10b3A6IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xyXG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcclxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vXHJcbi8vIFBpbGxzXHJcbi8vXHJcblxyXG4ubmF2LXBpbGxzIHtcclxuICAubmF2LWxpbmsge1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xyXG4gIH1cclxuXHJcbiAgLm5hdi1saW5rLmFjdGl2ZSxcclxuICAuc2hvdyA+IC5uYXYtbGluayB7XHJcbiAgICBjb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy9cclxuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXHJcbi8vXHJcblxyXG4ubmF2LWZpbGwge1xyXG4gIC5uYXYtaXRlbSB7XHJcbiAgICBmbGV4OiAxIDEgYXV0bztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbi5uYXYtanVzdGlmaWVkIHtcclxuICAubmF2LWl0ZW0ge1xyXG4gICAgZmxleC1iYXNpczogMDtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBUYWJiYWJsZSB0YWJzXHJcbi8vXHJcbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxyXG5cclxuLnRhYi1jb250ZW50IHtcclxuICA+IC50YWItcGFuZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICA+IC5hY3RpdmUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG59XHJcbiIsIi8vIENvbnRlbnRzXHJcbi8vXHJcbi8vIE5hdmJhclxyXG4vLyBOYXZiYXIgYnJhbmRcclxuLy8gTmF2YmFyIG5hdlxyXG4vLyBOYXZiYXIgdGV4dFxyXG4vLyBOYXZiYXIgZGl2aWRlclxyXG4vLyBSZXNwb25zaXZlIG5hdmJhclxyXG4vLyBOYXZiYXIgcG9zaXRpb25cclxuLy8gTmF2YmFyIHRoZW1lc1xyXG5cclxuXHJcbi8vIE5hdmJhclxyXG4vL1xyXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxyXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cclxuXHJcbi5uYXZiYXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gYWxsb3cgdXMgdG8gZG8gdGhlIGxpbmUgYnJlYWsgZm9yIGNvbGxhcHNpbmcgY29udGVudFxyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBzcGFjZSBvdXQgYnJhbmQgZnJvbSBsb2dvXHJcbiAgcGFkZGluZzogJG5hdmJhci1wYWRkaW5nLXkgJG5hdmJhci1wYWRkaW5nLXg7XHJcblxyXG4gIC8vIEJlY2F1c2UgZmxleCBwcm9wZXJ0aWVzIGFyZW4ndCBpbmhlcml0ZWQsIHdlIG5lZWQgdG8gcmVkZWNsYXJlIHRoZXNlIGZpcnN0XHJcbiAgLy8gZmV3IHByb3BlcnRpZXMgc28gdGhhdCBjb250ZW50IG5lc3RlZCB3aXRoaW4gYmVoYXZlIHByb3Blcmx5LlxyXG4gID4gLmNvbnRhaW5lcixcclxuICA+IC5jb250YWluZXItZmx1aWQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gTmF2YmFyIGJyYW5kXHJcbi8vXHJcbi8vIFVzZWQgZm9yIGJyYW5kLCBwcm9qZWN0LCBvciBzaXRlIG5hbWVzLlxyXG5cclxuLm5hdmJhci1icmFuZCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBhZGRpbmctdG9wOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcclxuICBwYWRkaW5nLWJvdHRvbTogJG5hdmJhci1icmFuZC1wYWRkaW5nLXk7XHJcbiAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmcteDtcclxuICBmb250LXNpemU6ICRuYXZiYXItYnJhbmQtZm9udC1zaXplO1xyXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBOYXZiYXIgbmF2XHJcbi8vXHJcbi8vIEN1c3RvbSBuYXZiYXIgbmF2aWdhdGlvbiAoZG9lc24ndCByZXF1aXJlIGAubmF2YCwgYnV0IGRvZXMgbWFrZSB1c2Ugb2YgYC5uYXYtbGlua2ApLlxyXG5cclxuLm5hdmJhci1uYXYge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gY2Fubm90IHVzZSBgaW5oZXJpdGAgdG8gZ2V0IHRoZSBgLm5hdmJhcmBzIHZhbHVlXHJcbiAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuXHJcbiAgLm5hdi1saW5rIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgfVxyXG5cclxuICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gTmF2YmFyIHRleHRcclxuLy9cclxuLy9cclxuXHJcbi5uYXZiYXItdGV4dCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBhZGRpbmctdG9wOiAkbmF2LWxpbmstcGFkZGluZy15O1xyXG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xyXG59XHJcblxyXG5cclxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcclxuLy9cclxuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXHJcbi8vIFBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlIEJvb3RzdHJhcCBKYXZhU2NyaXB0IHBsdWdpbi5cclxuXHJcbi8vIFdoZW4gY29sbGFwc2VkLCBwcmV2ZW50IHRoZSB0b2dnbGVhYmxlIG5hdmJhciBjb250ZW50cyBmcm9tIGFwcGVhcmluZyBpblxyXG4vLyB0aGUgZGVmYXVsdCBmbGV4Ym94IHJvdyBvcmllbnRhdGlvbi4gUmVxdWlyZXMgdGhlIHVzZSBvZiBgZmxleC13cmFwOiB3cmFwYFxyXG4vLyBvbiB0aGUgYC5uYXZiYXJgIHBhcmVudC5cclxuLm5hdmJhci1jb2xsYXBzZSB7XHJcbiAgZmxleC1iYXNpczogMTAwJTtcclxuICBmbGV4LWdyb3c6IDE7XHJcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcclxuICAvLyBwcm9wZXJseSB2ZXJ0aWNhbGx5LiBDYW4gYmUgZWFzaWx5IG92ZXJyaWRkZW4gd2l0aCBmbGV4IHV0aWxpdGllcy5cclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4vLyBCdXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBuYXZiYXIgd2hlbiBpbiBpdHMgY29sbGFwc2VkIHN0YXRlXHJcbi5uYXZiYXItdG9nZ2xlciB7XHJcbiAgcGFkZGluZzogJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteSAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14O1xyXG4gIGZvbnQtc2l6ZTogJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXHJcbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcclxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKTtcclxuXHJcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxuXHJcbiAgLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIC5uYXZiYXItdG9nZ2xlciBlbGVtZW50c1xyXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxufVxyXG5cclxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxyXG4vLyBvciBpbWFnZSBmaWxlIGFzIG5lZWRlZC5cclxuLm5hdmJhci10b2dnbGVyLWljb24ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMS41ZW07XHJcbiAgaGVpZ2h0OiAxLjVlbTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcbn1cclxuXHJcbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLm5hdmJhci1leHBhbmQtKmAgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciBjb25maWd1cmluZ1xyXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXHJcbi5uYXZiYXItZXhwYW5kIHtcclxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xyXG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XHJcblxyXG4gICAgJiN7JGluZml4fSB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xyXG4gICAgICAgID4gLmNvbnRhaW5lcixcclxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcclxuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cclxuICAgICAgICAubmF2YmFyLW5hdiB7XHJcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cclxuICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5uYXYtbGluayB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gRm9yIG5lc3RpbmcgY29udGFpbmVycywgaGF2ZSB0byByZWRlY2xhcmUgZm9yIGFsaWdubWVudCBwdXJwb3Nlc1xyXG4gICAgICAgID4gLmNvbnRhaW5lcixcclxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xyXG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgIC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XHJcblxyXG4gICAgICAgICAgLy8gQ2hhbmdlcyBmbGV4LWJhc2VzIHRvIGF1dG8gYmVjYXVzZSBvZiBhbiBJRTEwIGJ1Z1xyXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIE5hdmJhciB0aGVtZXNcclxuLy9cclxuLy8gU3R5bGVzIGZvciBzd2l0Y2hpbmcgYmV0d2VlbiBuYXZiYXJzIHdpdGggbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kLlxyXG5cclxuLy8gRGFyayBsaW5rcyBhZ2FpbnN0IGEgbGlnaHQgYmFja2dyb3VuZFxyXG4ubmF2YmFyLWxpZ2h0IHtcclxuICAubmF2YmFyLWJyYW5kIHtcclxuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcclxuXHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5uYXZiYXItbmF2IHtcclxuICAgIC5uYXYtbGluayB7XHJcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xyXG5cclxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zaG93ID4gLm5hdi1saW5rLFxyXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcclxuICAgIC5uYXYtbGluay5zaG93LFxyXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XHJcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5uYXZiYXItdG9nZ2xlciB7XHJcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcclxuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjtcclxuICB9XHJcblxyXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnO1xyXG4gIH1cclxuXHJcbiAgLm5hdmJhci10ZXh0IHtcclxuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xyXG4gICAgYSB7XHJcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIFdoaXRlIGxpbmtzIGFnYWluc3QgYSBkYXJrIGJhY2tncm91bmRcclxuLm5hdmJhci1kYXJrIHtcclxuICAubmF2YmFyLWJyYW5kIHtcclxuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubmF2YmFyLW5hdiB7XHJcbiAgICAubmF2LWxpbmsge1xyXG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xyXG5cclxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstaG92ZXItY29sb3I7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2hvdyA+IC5uYXYtbGluayxcclxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXHJcbiAgICAubmF2LWxpbmsuc2hvdyxcclxuICAgIC5uYXYtbGluay5hY3RpdmUge1xyXG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5uYXZiYXItdG9nZ2xlciB7XHJcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I7XHJcbiAgfVxyXG5cclxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnO1xyXG4gIH1cclxuXHJcbiAgLm5hdmJhci10ZXh0IHtcclxuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XHJcblxyXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmNjbS1wYWdlIHtcclxuICAubmF2YmFyIHtcclxuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMiwgMjIsIDIyLCAwLjQpICFpbXBvcnRhbnQ7XHJcbiAgICAvL3RyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XHJcbiAgICAubmF2YmFyLWJyYW5kIHtcclxuICAgICAgaW1nIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhvdmVye1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCAyMiwgMjIsIDAuODUpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAubmF2YmFyLW5hdiB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0O1xyXG4gICAgICAubmF2LWl0ZW0ge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgJG5hdmJhci1wYWRkaW5nLXg7XHJcbiAgICAgICAgLm5hdi1saW5rIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMS41O1xyXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSAqIDE7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XHJcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcclxuICAgICAgICAgIHBhZGRpbmc6ICRuYXZiYXItcGFkZGluZy15IDA7XHJcbiAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICBjb2xvcjogZGFya2VuKCRwcmltYXJ5LCAxMCUpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmRyb3Bkb3duIHtcclxuICAgICAgICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgICAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwICRuYXZiYXItcGFkZGluZy14O1xyXG4gICAgICAgICAgICAubmF2LWxpbmsge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMS4zO1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMC44O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAmLmZlYXR1cmVkIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYub3BlbiB7XHJcbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcbn0iLCIvL1xyXG4vLyBCYXNlIHN0eWxlc1xyXG4vL1xyXG5cclxuLmNhcmQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgbWluLXdpZHRoOiAwO1xyXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1iZztcclxuICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XHJcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xyXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XHJcblxyXG4gID4gaHIge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgfVxyXG5cclxuICA+IC5saXN0LWdyb3VwOmZpcnN0LWNoaWxkIHtcclxuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xyXG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gID4gLmxpc3QtZ3JvdXA6bGFzdC1jaGlsZCB7XHJcbiAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xyXG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jYXJkLWJvZHkge1xyXG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBmb3IgZGVja3MgYW5kIGdyb3VwcyBzbyB0aGF0IGNhcmQgYmxvY2tzIHRha2UgdXBcclxuICAvLyBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlLCBlbnN1cmluZyBmb290ZXJzIGFyZSBhbGlnbmVkIHRvIHRoZSBib3R0b20uXHJcbiAgZmxleDogMSAxIGF1dG87XHJcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XHJcbn1cclxuXHJcbi5jYXJkLXRpdGxlIHtcclxuICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTtcclxufVxyXG5cclxuLmNhcmQtc3VidGl0bGUge1xyXG4gIG1hcmdpbi10b3A6IC0oJGNhcmQtc3BhY2VyLXkgLyAyKTtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5jYXJkLWxpbmsge1xyXG4gIEBpbmNsdWRlIGhvdmVyIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcblxyXG4gICsgLmNhcmQtbGluayB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGNhcmQtc3BhY2VyLXg7XHJcbiAgfVxyXG59XHJcblxyXG4vL1xyXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcclxuLy9cclxuXHJcbi5jYXJkLWhlYWRlciB7XHJcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlcyB0aGUgZGVmYXVsdCBtYXJnaW4tYm90dG9tIG9mIDxoTj5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XHJcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcclxuXHJcbiAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAwIDApO1xyXG4gIH1cclxuXHJcbiAgKyAubGlzdC1ncm91cCB7XHJcbiAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcclxuICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jYXJkLWZvb3RlciB7XHJcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xyXG4gIGJvcmRlci10b3A6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XHJcblxyXG4gICY6bGFzdC1jaGlsZCB7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vXHJcbi8vIEhlYWRlciBuYXZzXHJcbi8vXHJcblxyXG4uY2FyZC1oZWFkZXItdGFicyB7XHJcbiAgbWFyZ2luLXJpZ2h0OiAtKCRjYXJkLXNwYWNlci14IC8gMik7XHJcbiAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLXNwYWNlci15O1xyXG4gIG1hcmdpbi1sZWZ0OiAtKCRjYXJkLXNwYWNlci14IC8gMik7XHJcbiAgYm9yZGVyLWJvdHRvbTogMDtcclxufVxyXG5cclxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcclxuICBtYXJnaW4tcmlnaHQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcclxuICBtYXJnaW4tbGVmdDogLSgkY2FyZC1zcGFjZXIteCAvIDIpO1xyXG59XHJcblxyXG4vLyBDYXJkIGltYWdlXHJcbi5jYXJkLWltZy1vdmVybGF5IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHBhZGRpbmc6ICRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc7XHJcbn1cclxuXHJcbi5jYXJkLWltZyB7XHJcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcclxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xyXG59XHJcblxyXG4vLyBDYXJkIGltYWdlIGNhcHNcclxuLmNhcmQtaW1nLXRvcCB7XHJcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcclxuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcclxufVxyXG5cclxuLmNhcmQtaW1nLWJvdHRvbSB7XHJcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcclxuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcclxufVxyXG5cclxuXHJcbi8vIENhcmQgZGVja1xyXG5cclxuLmNhcmQtZGVjayB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAuY2FyZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1kZWNrLW1hcmdpbjtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcclxuICAgIG1hcmdpbi1sZWZ0OiAtJGNhcmQtZGVjay1tYXJnaW47XHJcblxyXG4gICAgLmNhcmQge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcclxuICAgICAgZmxleDogMSAwIDAlO1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJkLWRlY2stbWFyZ2luO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgZGVmYXVsdFxyXG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmQtZGVjay1tYXJnaW47XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy9cclxuLy8gQ2FyZCBncm91cHNcclxuLy9cclxuXHJcbi5jYXJkLWdyb3VwIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcclxuICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxyXG4gID4gLmNhcmQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZ3JvdXAtbWFyZ2luO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xyXG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcclxuICAgIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcclxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXHJcbiAgICA+IC5jYXJkIHtcclxuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XHJcbiAgICAgIGZsZXg6IDEgMCAwJTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICAgICsgLmNhcmQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXHJcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcclxuXHJcbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxyXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxyXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xyXG5cclxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXHJcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcclxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcclxuXHJcbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxyXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxyXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xyXG5cclxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXHJcbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxyXG4gICAgICAgICAgLmNhcmQtaGVhZGVyLFxyXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vL1xyXG4vLyBDb2x1bW5zXHJcbi8vXHJcblxyXG4uY2FyZC1jb2x1bW5zIHtcclxuICAuY2FyZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1jb2x1bW5zLW1hcmdpbjtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuICAgIGNvbHVtbi1jb3VudDogJGNhcmQtY29sdW1ucy1jb3VudDtcclxuICAgIGNvbHVtbi1nYXA6ICRjYXJkLWNvbHVtbnMtZ2FwO1xyXG4gICAgb3JwaGFuczogMTtcclxuICAgIHdpZG93czogMTtcclxuXHJcbiAgICAuY2FyZCB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gRG9uJ3QgbGV0IHRoZW0gdmVydGljYWxseSBzcGFuIG11bHRpcGxlIGNvbHVtbnNcclxuICAgICAgd2lkdGg6IDEwMCU7IC8vIERvbid0IGxldCB0aGVpciB3aWR0aCBjaGFuZ2VcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vL1xyXG4vLyBBY2NvcmRpb25cclxuLy9cclxuXHJcbi5hY2NvcmRpb24ge1xyXG4gIC5jYXJkOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KDpsYXN0LW9mLXR5cGUpIHtcclxuICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIH1cclxuXHJcbiAgLmNhcmQ6bm90KDpmaXJzdC1vZi10eXBlKSB7XHJcbiAgICAuY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNhcmQ6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xyXG4gIH1cclxuXHJcbiAgLmNhcmQ6bGFzdC1vZi10eXBlIHtcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcclxuICB9XHJcbn1cclxuIiwiLmNjbS1wYWdlIHtcclxuICAubWVtYmVyLWxpc3R7XHJcbiAgICAvL3RyYW5zaXRpb246ICR0cmFuc2l0aW9uLWZhZGU7XHJcbiAgICAmOm5vdCguY2JwLXJlYWR5KXtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIC5jYnAtaXRlbSB7XHJcbiAgICAgIC8vdHJhbnNpdGlvbjogYWxsIDFzO1xyXG4gICAgfVxyXG4gIH1cclxuICAuY2FyZC5tZW1iZXIge1xyXG4gICAgLy90cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xyXG4gICAgLmNhcmQtaW1nIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG4gICAgLmNhcmQtaW1nLW92ZXJsYXkge1xyXG4gICAgICBwYWRkaW5nOiAwLjc1cmVtO1xyXG4gICAgICBhIHtcclxuICAgICAgICBjb2xvcjogJGxpZ2h0O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDFzO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAwLjM3NXJlbSAwLjNyZW07XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2FyZC1ib2R5e1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSAqIDEuMjU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXNpemUtbGc7XHJcbiAgICAgIH1cclxuICAgICAgaDQge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMC44O1xyXG4gICAgICB9XHJcbiAgICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbn0iLCIuY2NtLXBhZ2Uge1xyXG4gIC5jYXJkLnBhY2thZ2Uge1xyXG4gICAgLmNhcmQtaGVhZGVyLCAuY2FyZC1mb290ZXIge1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC5jYXJkLWhlYWRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgIH1cclxuICAgICAgLmNhcmQtZm9vdGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAuY2FyZC1oZWFkZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkcHJpbWFyeSwgMTAlKTtcclxuICAgICAgfVxyXG4gICAgICAuY2FyZC1mb290ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkcHJpbWFyeSwgMTAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi5jY20tcGFnZSB7XHJcbiAgLmNhcmQuc2NvcmUge1xyXG4gICAgLmNhcmQtYm9keXtcclxuICAgICAgaS5mYSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiA0cmVtO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgICAucmFuayB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICAgIC5zY29yZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMztcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLmNjbS1wYWdlIHtcclxuICAuY2FyZC50b3VybmV5IHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSl7XHJcbiAgICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgfVxyXG4gICAgICBoNCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNhcmQtaW1nLXRvcCB7XHJcblxyXG4gICAgfVxyXG4gICAgLmNhcmQtcG9pbnRzIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3R0b206IDJyZW07XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpe1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcmQtYnV0dG9uIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3R0b206IDJyZW07XHJcbiAgICAgIHJpZ2h0OiAycmVtO1xyXG4gICAgfVxyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcclxuICB9XHJcbn0iLCIuY2NtLXBhZ2Uge1xyXG4gIC5jYXJkLmhvbWUge1xyXG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XHJcbiAgICAmLmNjbS1jdXN0b20tc3R5bGUtY29udGFpbmVyIHtcclxuICAgICAgaGVpZ2h0OiAzMHJlbTtcclxuICAgICAgPiBwIHtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIuYnJlYWRjcnVtYiB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgcGFkZGluZzogJGJyZWFkY3J1bWItcGFkZGluZy15ICRicmVhZGNydW1iLXBhZGRpbmcteDtcclxuICBtYXJnaW4tYm90dG9tOiAkYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWFkY3J1bWItYmc7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzKTtcclxufVxyXG5cclxuLmJyZWFkY3J1bWItaXRlbSB7XHJcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxyXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIFN1cHByZXNzIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3IgaW4gbW9kZXJuIGJyb3dzZXJzXHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcclxuICAgICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XHJcbiAgICAgIGNvbnRlbnQ6ICRicmVhZGNydW1iLWRpdmlkZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJRTktMTEgaGFjayB0byBwcm9wZXJseSBoYW5kbGUgaHlwZXJsaW5rIHVuZGVybGluZXMgZm9yIGJyZWFkY3J1bWJzIGJ1aWx0XHJcbiAgLy8gd2l0aG91dCBgPHVsPmBzLiBUaGUgYDo6YmVmb3JlYCBwc2V1ZG8tZWxlbWVudCBnZW5lcmF0ZXMgYW4gZWxlbWVudFxyXG4gIC8vICp3aXRoaW4qIHRoZSAuYnJlYWRjcnVtYi1pdGVtIGFuZCB0aGVyZWJ5IGluaGVyaXRzIHRoZSBgdGV4dC1kZWNvcmF0aW9uYC5cclxuICAvL1xyXG4gIC8vIFRvIHRyaWNrIElFIGludG8gc3VwcHJlc3NpbmcgdGhlIHVuZGVybGluZSwgd2UgZ2l2ZSB0aGUgcHNldWRvLWVsZW1lbnQgYW5cclxuICAvLyB1bmRlcmxpbmUgYW5kIHRoZW4gaW1tZWRpYXRlbHkgcmVtb3ZlIGl0LlxyXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIH1cclxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xyXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcblxyXG4gICYuYWN0aXZlIHtcclxuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XHJcbiAgfVxyXG59XHJcbiIsIi5wYWdpbmF0aW9uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcclxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XHJcbn1cclxuXHJcbi5wYWdlLWxpbmsge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xyXG4gIG1hcmdpbi1sZWZ0OiAtJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoO1xyXG4gIGxpbmUtaGVpZ2h0OiAkcGFnaW5hdGlvbi1saW5lLWhlaWdodDtcclxuICBjb2xvcjogJHBhZ2luYXRpb24tY29sb3I7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYmc7XHJcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taG92ZXItY29sb3I7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcclxuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgJjpmb2N1cyB7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcclxuICAgIGJveC1zaGFkb3c6ICRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c7XHJcbiAgfVxyXG5cclxuICAvLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgLnBhZ2UtbGluayBlbGVtZW50c1xyXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxufVxyXG5cclxuLnBhZ2UtaXRlbSB7XHJcbiAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAucGFnZS1saW5rIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gICY6bGFzdC1jaGlsZCB7XHJcbiAgICAucGFnZS1saW5rIHtcclxuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmFjdGl2ZSAucGFnZS1saW5rIHtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcclxuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgLy8gT3BpbmlvbmF0ZWQ6IHJlbW92ZSB0aGUgXCJoYW5kXCIgY3Vyc29yIHNldCBwcmV2aW91c2x5IGZvciAucGFnZS1saW5rXHJcbiAgICBjdXJzb3I6IGF1dG87XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcclxuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vXHJcbi8vIFNpemluZ1xyXG4vL1xyXG5cclxuLnBhZ2luYXRpb24tbGcge1xyXG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcsICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJGxpbmUtaGVpZ2h0LWxnLCAkYm9yZGVyLXJhZGl1cy1sZyk7XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9uLXNtIHtcclxuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LXNtLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRsaW5lLWhlaWdodC1zbSwgJGJvcmRlci1yYWRpdXMtc20pO1xyXG59XHJcbiIsIi8vIFBhZ2luYXRpb25cclxuXHJcbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xyXG4gIC5wYWdlLWxpbmsge1xyXG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcclxuICB9XHJcblxyXG4gIC5wYWdlLWl0ZW0ge1xyXG4gICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIC5wYWdlLWxpbmsge1xyXG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgIC5wYWdlLWxpbmsge1xyXG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEJhc2UgY2xhc3NcclxuLy9cclxuLy8gUmVxdWlyZXMgb25lIG9mIHRoZSBjb250ZXh0dWFsLCBjb2xvciBtb2RpZmllciBjbGFzc2VzIGZvciBgY29sb3JgIGFuZFxyXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXHJcblxyXG4uYmFkZ2Uge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZy15ICRiYWRnZS1wYWRkaW5nLXg7XHJcbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLWJvcmRlci1yYWRpdXMpO1xyXG5cclxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxyXG4gICY6ZW1wdHkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcclxuLmJ0biAuYmFkZ2Uge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0b3A6IC0xcHg7XHJcbn1cclxuXHJcbi8vIFBpbGwgYmFkZ2VzXHJcbi8vXHJcbi8vIE1ha2UgdGhlbSBleHRyYSByb3VuZGVkIHdpdGggYSBtb2RpZmllciB0byByZXBsYWNlIHYzJ3MgYmFkZ2VzLlxyXG5cclxuLmJhZGdlLXBpbGwge1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcclxuICBwYWRkaW5nLWxlZnQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcclxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXMpO1xyXG59XHJcblxyXG4vLyBDb2xvcnNcclxuLy9cclxuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgYmFkZ2VzIGdldCBkYXJrZXIgb24gOmhvdmVyKS5cclxuXHJcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xyXG4gIC5iYWRnZS0jeyRjb2xvcn0ge1xyXG4gICAgQGluY2x1ZGUgYmFkZ2UtdmFyaWFudCgkdmFsdWUpO1xyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gYmFkZ2UtdmFyaWFudCgkYmcpIHtcclxuICBjb2xvcjogY29sb3IteWlxKCRiZyk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xyXG5cclxuICAmW2hyZWZdIHtcclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmcsIDEwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5qdW1ib3Ryb24ge1xyXG4gIHBhZGRpbmc6ICRqdW1ib3Ryb24tcGFkZGluZyAoJGp1bWJvdHJvbi1wYWRkaW5nIC8gMik7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGp1bWJvdHJvbi1wYWRkaW5nO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRqdW1ib3Ryb24tYmc7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuICAgIHBhZGRpbmc6ICgkanVtYm90cm9uLXBhZGRpbmcgKiAyKSAkanVtYm90cm9uLXBhZGRpbmc7XHJcbiAgfVxyXG59XHJcblxyXG4uanVtYm90cm9uLWZsdWlkIHtcclxuICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gIHBhZGRpbmctbGVmdDogMDtcclxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xyXG59XHJcbiIsIi8vXHJcbi8vIEJhc2Ugc3R5bGVzXHJcbi8vXHJcblxyXG4uYWxlcnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LW1hcmdpbi1ib3R0b207XHJcbiAgYm9yZGVyOiAkYWxlcnQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGFsZXJ0LWJvcmRlci1yYWRpdXMpO1xyXG59XHJcblxyXG4vLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xyXG4uYWxlcnQtaGVhZGluZyB7XHJcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxyXG4gIGNvbG9yOiBpbmhlcml0O1xyXG59XHJcblxyXG4vLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xyXG4uYWxlcnQtbGluayB7XHJcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xyXG59XHJcblxyXG5cclxuLy8gRGlzbWlzc2libGUgYWxlcnRzXHJcbi8vXHJcbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxyXG5cclxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcclxuICBwYWRkaW5nLXJpZ2h0OiAoJGNsb3NlLWZvbnQtc2l6ZSArICRhbGVydC1wYWRkaW5nLXggKiAyKTtcclxuXHJcbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cclxuICAuY2xvc2Uge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBBbHRlcm5hdGUgc3R5bGVzXHJcbi8vXHJcbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXHJcblxyXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcclxuICAuYWxlcnQtI3skY29sb3J9IHtcclxuICAgIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQodGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYmctbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1ib3JkZXItbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1jb2xvci1sZXZlbCkpO1xyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XHJcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xyXG5cclxuICBociB7XHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xyXG4gIH1cclxuXHJcbiAgLmFsZXJ0LWxpbmsge1xyXG4gICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XHJcbiAgfVxyXG59XHJcbiIsIkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xyXG4gIGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcHJvZ3Jlc3MtaGVpZ2h0IDA7IH1cclxuICB0byB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxyXG59XHJcblxyXG4ucHJvZ3Jlc3Mge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGZvcmNlIHJvdW5kZWQgY29ybmVycyBieSBjcm9wcGluZyBpdFxyXG4gIGZvbnQtc2l6ZTogJHByb2dyZXNzLWZvbnQtc2l6ZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XHJcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkcHJvZ3Jlc3MtYm94LXNoYWRvdyk7XHJcbn1cclxuXHJcbi5wcm9ncmVzcy1iYXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBjb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJnO1xyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcclxufVxyXG5cclxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcclxuICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCk7XHJcbiAgYmFja2dyb3VuZC1zaXplOiAkcHJvZ3Jlc3MtaGVpZ2h0ICRwcm9ncmVzcy1oZWlnaHQ7XHJcbn1cclxuXHJcbi5wcm9ncmVzcy1iYXItYW5pbWF0ZWQge1xyXG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nO1xyXG59XHJcbiIsIi5tZWRpYSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxufVxyXG5cclxuLm1lZGlhLWJvZHkge1xyXG4gIGZsZXg6IDE7XHJcbn1cclxuIiwiLy8gQmFzZSBjbGFzc1xyXG4vL1xyXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxyXG5cclxuLmxpc3QtZ3JvdXAge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxyXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcblxyXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXHJcbi8vXHJcbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxyXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxyXG5cclxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xyXG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXHJcbiAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjtcclxuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgaW5oZXJpdClcclxuXHJcbiAgLy8gSG92ZXIgc3RhdGVcclxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtaG92ZXItYmc7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZSB7XHJcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXHJcbi8vXHJcbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cclxuXHJcbi5saXN0LWdyb3VwLWl0ZW0ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwYWRkaW5nOiAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteSAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDtcclxuICAvLyBQbGFjZSB0aGUgYm9yZGVyIG9uIHRoZSBsaXN0IGl0ZW1zIGFuZCBuZWdhdGl2ZSBtYXJnaW4gdXAgZm9yIGJldHRlciBzdHlsaW5nXHJcbiAgbWFyZ2luLWJvdHRvbTogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1iZztcclxuICBib3JkZXI6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1ncm91cC1ib3JkZXItY29sb3I7XHJcblxyXG4gICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XHJcbiAgfVxyXG5cclxuICAmOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgei1pbmRleDogMTsgLy8gUGxhY2UgaG92ZXIvYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcblxyXG4gICYuZGlzYWJsZWQsXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcclxuICB9XHJcblxyXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXHJcbiAgJi5hY3RpdmUge1xyXG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcclxuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYmc7XHJcbiAgICBib3JkZXItY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gRmx1c2ggbGlzdCBpdGVtc1xyXG4vL1xyXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XHJcbi8vIHVzZWZ1bCB3aXRoaW4gb3RoZXIgY29tcG9uZW50cyAoZS5nLiwgY2FyZHMpLlxyXG5cclxuLmxpc3QtZ3JvdXAtZmx1c2gge1xyXG4gIC5saXN0LWdyb3VwLWl0ZW0ge1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xyXG4gIH1cclxuXHJcbiAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcclxuICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6bGFzdC1jaGlsZCB7XHJcbiAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIENvbnRleHR1YWwgdmFyaWFudHNcclxuLy9cclxuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cclxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cclxuXHJcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xyXG4gIEBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAtOSksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgNikpO1xyXG59XHJcbiIsIi8vIExpc3QgR3JvdXBzXHJcblxyXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XHJcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG5cclxuICAgICYubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XHJcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmNsb3NlIHtcclxuICBmbG9hdDogcmlnaHQ7XHJcbiAgZm9udC1zaXplOiAkY2xvc2UtZm9udC1zaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgY29sb3I6ICRjbG9zZS1jb2xvcjtcclxuICB0ZXh0LXNoYWRvdzogJGNsb3NlLXRleHQtc2hhZG93O1xyXG4gIG9wYWNpdHk6IC41O1xyXG5cclxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcclxuXHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgb3BhY2l0eTogLjc1O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIE9waW5pb25hdGVkOiBhZGQgXCJoYW5kXCIgY3Vyc29yIHRvIG5vbi1kaXNhYmxlZCAuY2xvc2UgZWxlbWVudHNcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cclxuLy8gaU9TIHJlcXVpcmVzIHRoZSBidXR0b24gZWxlbWVudCBpbnN0ZWFkIG9mIGFuIGFuY2hvciB0YWcuXHJcbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxyXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcclxuXHJcbi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXgsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxyXG5idXR0b24uY2xvc2Uge1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG4vLyBzdHlsZWxpbnQtZW5hYmxlXHJcbiIsIi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcclxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXHJcbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxyXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzdHVmZlxyXG5cclxuXHJcbi5tb2RhbC1vcGVuIHtcclxuICAvLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAubW9kYWwge1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICB9XHJcbn1cclxuXHJcbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxyXG4ubW9kYWwge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcclxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cclxuICBvdXRsaW5lOiAwO1xyXG4gIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXHJcbiAgLy8gZ25hcmx5IGlPUyBTYWZhcmkgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzQyXHJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxyXG59XHJcblxyXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcclxuLm1vZGFsLWRpYWxvZyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW47XHJcbiAgLy8gYWxsb3cgY2xpY2tzIHRvIHBhc3MgdGhyb3VnaCBmb3IgY3VzdG9tIGNsaWNrIGhhbmRsaW5nIHRvIGNsb3NlIG1vZGFsXHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXHJcbiAgLm1vZGFsLmZhZGUgJiB7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRtb2RhbC10cmFuc2l0aW9uKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpO1xyXG4gIH1cclxuICAubW9kYWwuc2hvdyAmIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtICgjeyRtb2RhbC1kaWFsb2ctbWFyZ2lufSAqIDIpKTtcclxuXHJcbiAgLy8gRW5zdXJlIGBtb2RhbC1kaWFsb2ctY2VudGVyZWRgIGV4dGVuZHMgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSB2aWV3IChJRTEwLzExKVxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jazsgLy8gSUUxMFxyXG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gKCN7JG1vZGFsLWRpYWxvZy1tYXJnaW59ICogMikpO1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICB9XHJcbn1cclxuXHJcbi8vIEFjdHVhbCBtb2RhbFxyXG4ubW9kYWwtY29udGVudCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICB3aWR0aDogMTAwJTsgLy8gRW5zdXJlIGAubW9kYWwtY29udGVudGAgZXh0ZW5kcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgcGFyZW50IGAubW9kYWwtZGlhbG9nYFxyXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xyXG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xyXG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbiAgYm9yZGVyOiAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xyXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzKTtcclxuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxyXG4gIG91dGxpbmU6IDA7XHJcbn1cclxuXHJcbi8vIE1vZGFsIGJhY2tncm91bmRcclxuLm1vZGFsLWJhY2tkcm9wIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmFja2Ryb3A7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWJhY2tkcm9wLWJnO1xyXG5cclxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxyXG4gICYuZmFkZSB7IG9wYWNpdHk6IDA7IH1cclxuICAmLnNob3cgeyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxyXG59XHJcblxyXG4vLyBNb2RhbCBoZWFkZXJcclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXHJcbi5tb2RhbC1oZWFkZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC8vIHNvIHRoZSBjbG9zZSBidG4gYWx3YXlzIHN0YXlzIG9uIHRoZSB1cHBlciByaWdodCBjb3JuZXJcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIFB1dCBtb2RhbCBoZWFkZXIgZWxlbWVudHMgKHRpdGxlIGFuZCBkaXNtaXNzKSBvbiBvcHBvc2l0ZSBlbmRzXHJcbiAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xyXG4gIGJvcmRlci1ib3R0b206ICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xyXG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xyXG5cclxuICAuY2xvc2Uge1xyXG4gICAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xyXG4gICAgLy8gYXV0byBvbiB0aGUgbGVmdCBmb3JjZSBpY29uIHRvIHRoZSByaWdodCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gLm1vZGFsLXRpdGxlXHJcbiAgICBtYXJnaW46ICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nKSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZykgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcpIGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcclxuLm1vZGFsLXRpdGxlIHtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XHJcbn1cclxuXHJcbi8vIE1vZGFsIGJvZHlcclxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxyXG4ubW9kYWwtYm9keSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxyXG4gIC8vIHdoZW4gc2hvdWxkIHRoZXJlIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cclxuICBmbGV4OiAxIDEgYXV0bztcclxuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcclxufVxyXG5cclxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcclxuLm1vZGFsLWZvb3RlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xyXG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xyXG4gIGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xyXG5cclxuICAvLyBFYXNpbHkgcGxhY2UgbWFyZ2luIGJldHdlZW4gZm9vdGVyIGVsZW1lbnRzXHJcbiAgPiA6bm90KDpmaXJzdC1jaGlsZCkgeyBtYXJnaW4tbGVmdDogLjI1cmVtOyB9XHJcbiAgPiA6bm90KDpsYXN0LWNoaWxkKSB7IG1hcmdpbi1yaWdodDogLjI1cmVtOyB9XHJcbn1cclxuXHJcbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxyXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IC05OTk5cHg7XHJcbiAgd2lkdGg6IDUwcHg7XHJcbiAgaGVpZ2h0OiA1MHB4O1xyXG4gIG92ZXJmbG93OiBzY3JvbGw7XHJcbn1cclxuXHJcbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xyXG4gIC5tb2RhbC1kaWFsb2cge1xyXG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbWQ7XHJcbiAgICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgYXV0bztcclxuICB9XHJcblxyXG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xyXG4gICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gKCN7JG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cH0gKiAyKSk7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gKCN7JG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cH0gKiAyKSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgLm1vZGFsLWNvbnRlbnQge1xyXG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwKTtcclxuICB9XHJcblxyXG4gIC5tb2RhbC1zbSB7IG1heC13aWR0aDogJG1vZGFsLXNtOyB9XHJcblxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgLm1vZGFsLWxnIHsgbWF4LXdpZHRoOiAkbW9kYWwtbGc7IH1cclxufVxyXG4iLCIuY2NtLXBhZ2UgI21vZGFsIHtcclxuICAubW9kYWwtZGlhbG9nIHtcclxuICAgIG1heC13aWR0aDogNjAwcHg7XHJcbiAgICAubW9kYWwtaGVhZGVyIHtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAubW9kYWwtYm9keSB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAubWVtYmVyLWltYWdlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gICAgICAgIC8qbWFyZ2luLWxlZnQ6IC0xN3B4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogLTE3cHg7Ki9cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi5jY20tcGFnZSB7XHJcbiAgLmNjbS1ibG9jay1jYWxlbmRhci13cmFwcGVyLmZjIHtcclxuICAgIC5mYy13aWRnZXQtaGVhZGVyIHtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBmb250LXNpemU6IDIuNHJlbTtcclxuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgfVxyXG4gICAgLmZjLXdlZWsge1xyXG4gICAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgfVxyXG4gICAgLmZjLWJvZHkge1xyXG4gICAgICBib3JkZXItc3R5bGU6IGhpZGRlbjtcclxuICAgIH1cclxuICAgIC5mYy1heGlze1xyXG4gICAgICBib3JkZXItcmlnaHQtc3R5bGU6IGhpZGRlbjtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogaGlkZGVuO1xyXG4gICAgICBib3JkZXItdG9wLXN0eWxlOiBoaWRkZW47XHJcbiAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgIH1cclxuXHJcbiAgICAuZmMtd2lkZ2V0LWNvbnRlbnQge1xyXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KVxyXG4gICAgfVxyXG5cclxuICAgIC5mYy1kaXZpZGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbiAgICAuZmMtc2Nyb2xsZXIge1xyXG4gICAgICBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5mYy1kYXktZ3JpZCB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICB0ZCB7XHJcbiAgICAgIC8vYm9yZGVyLXN0eWxlOiBoaWRkZW47XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLmNjbS1wYWdlIC5jY20tY29udmVyc2F0aW9uLXdyYXBwZXIge1xyXG4gIC5jY20tY29udmVyc2F0aW9uLW1lc3NhZ2Uge1xyXG4gICAgYm9yZGVyLXRvcDogJGxpZ2h0LXRyYW5zcGFyZW50IDFweCBzb2xpZDtcclxuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xyXG4gICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICAgIC5jY20tY29udmVyc2F0aW9uLW1lc3NhZ2UtdXNlcm5hbWUgPiBhIHtcclxuICAgICAgQGV4dGVuZCAuYnRuO1xyXG4gICAgICBAZXh0ZW5kIC5idG4tb3V0bGluZS1wcmltYXJ5O1xyXG4gICAgICBAZXh0ZW5kIC5idG4tcm91bmQ7XHJcbiAgICB9XHJcbiAgICAuY2NtLWNvbnZlcnNhdGlvbi1tZXNzYWdlLWJ5bGluZSA+IHNwYW46bm90KC5jY20tY29udmVyc2F0aW9uLW1lc3NhZ2UtdXNlcm5hbWUpID4gYSB7XHJcbiAgICAgIEBleHRlbmQgLmJ0bjtcclxuICAgICAgQGV4dGVuZCAuYnRuLWRlZmF1bHQ7XHJcbiAgICAgIEBleHRlbmQgLmJ0bi1zbTtcclxuICAgIH1cclxuICAgIC5jY20tY29udmVyc2F0aW9uLW1lc3NhZ2UtYnlsaW5lIHtcclxuICAgICAgLmNjbS1jb252ZXJzYXRpb24tbWVzc2FnZS1kYXRlIHtcclxuICAgICAgICBAZXh0ZW5kIC50ZXh0LW11dGVkO1xyXG4gICAgICAgIEBleHRlbmQgLnNtYWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2NtLWNvbnZlcnNhdGlvbi1hdmF0YXIge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgICB9XHJcbiAgICAuY2NtLWNvbnZlcnNhdGlvbi1tZXNzYWdlLWJvZHkge1xyXG4gICAgICBAZXh0ZW5kIC5ibG9ja3F1b3RlO1xyXG4gICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmNjbS1jb252ZXJzYXRpb24tbWVzc2FnZS1jb250cm9scyB7XHJcbiAgICAgIHVsID4gbGk6Zmlyc3QtY2hpbGQgPiBhIHtcclxuICAgICAgICBAZXh0ZW5kIC5idG47XHJcbiAgICAgICAgQGV4dGVuZCAuYnRuLXByaW1hcnk7XHJcbiAgICAgICAgQGV4dGVuZCAuYnRuLXNtXHJcbiAgICAgIH1cclxuICAgICAgLmNjbS1jb252ZXJzYXRpb24tbWVzc2FnZS1jb250cm9sLWljb24ge1xyXG4gICAgICAgIEBleHRlbmQgLmJ0bjtcclxuICAgICAgICBAZXh0ZW5kIC5idG4tZGVmYXVsdDtcclxuICAgICAgICBAZXh0ZW5kIC5idG4tc207XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jY20tY29udmVyc2F0aW9uLW1lc3NhZ2UtYWRtaW4tY29udHJvbCB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICAuY2NtLWNvbnZlcnNhdGlvbi1zb2NpYWwtc2hhcmUge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC5jY20tY29udmVyc2F0aW9uLXNvY2lhbC1zaGFyZSwgLmNjbS1jb252ZXJzYXRpb24tbWVzc2FnZS1hZG1pbi1jb250cm9sIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLy8gQmFzZSBjbGFzc1xyXG4udG9vbHRpcCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW46ICR0b29sdGlwLW1hcmdpbjtcclxuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXHJcbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cclxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XHJcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XHJcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHRvb2x0aXAncyBib3VuZHNcclxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgb3BhY2l0eTogMDtcclxuXHJcbiAgJi5zaG93IHsgb3BhY2l0eTogJHRvb2x0aXAtb3BhY2l0eTsgfVxyXG5cclxuICAuYXJyb3cge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LWhlaWdodDtcclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYnMtdG9vbHRpcC10b3Age1xyXG4gIHBhZGRpbmc6ICR0b29sdGlwLWFycm93LWhlaWdodCAwO1xyXG5cclxuICAuYXJyb3cge1xyXG4gICAgYm90dG9tOiAwO1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMDtcclxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYnMtdG9vbHRpcC1yaWdodCB7XHJcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XHJcblxyXG4gIC5hcnJvdyB7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcclxuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDA7XHJcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYnMtdG9vbHRpcC1ib3R0b20ge1xyXG4gIHBhZGRpbmc6ICR0b29sdGlwLWFycm93LWhlaWdodCAwO1xyXG5cclxuICAuYXJyb3cge1xyXG4gICAgdG9wOiAwO1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodDtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYnMtdG9vbHRpcC1sZWZ0IHtcclxuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcclxuXHJcbiAgLmFycm93IHtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcclxuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodDtcclxuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJzLXRvb2x0aXAtYXV0byB7XHJcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xyXG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XHJcbiAgfVxyXG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xyXG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1yaWdodDtcclxuICB9XHJcbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xyXG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XHJcbiAgfVxyXG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XHJcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWxlZnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XHJcbi50b29sdGlwLWlubmVyIHtcclxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcclxuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nLXkgJHRvb2x0aXAtcGFkZGluZy14O1xyXG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmc7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcclxufVxyXG4iLCJAbWl4aW4gcmVzZXQtdGV4dCB7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xyXG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcclxuICB0ZXh0LWFsaWduOiBzdGFydDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1ibG9jay1uby1kdXBsaWNhdGUtcHJvcGVydGllc1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xyXG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcclxuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gIGxpbmUtYnJlYWs6IGF1dG87XHJcbn1cclxuIiwiLnBvcG92ZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB6LWluZGV4OiAkemluZGV4LXBvcG92ZXI7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XHJcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxyXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXHJcbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xyXG4gIGZvbnQtc2l6ZTogJHBvcG92ZXItZm9udC1zaXplO1xyXG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSBwb3BvdmVyJ3MgYm91bmRzXHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWJnO1xyXG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xyXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHBvcG92ZXItYm9yZGVyLXJhZGl1cyk7XHJcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkcG9wb3Zlci1ib3gtc2hhZG93KTtcclxuXHJcbiAgLmFycm93IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xyXG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XHJcbiAgICBtYXJnaW46IDAgJGJvcmRlci1yYWRpdXMtbGc7XHJcblxyXG4gICAgJjo6YmVmb3JlLFxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJzLXBvcG92ZXItdG9wIHtcclxuICBtYXJnaW4tYm90dG9tOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XHJcblxyXG4gIC5hcnJvdyB7XHJcbiAgICBib3R0b206IGNhbGMoKCN7JHBvcG92ZXItYXJyb3ctaGVpZ2h0fSArICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofSkgKiAtMSk7XHJcbiAgfVxyXG5cclxuICAuYXJyb3c6OmJlZm9yZSxcclxuICAuYXJyb3c6OmFmdGVyIHtcclxuICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XHJcbiAgfVxyXG5cclxuICAuYXJyb3c6OmJlZm9yZSB7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcclxuICB9XHJcblxyXG4gIC5hcnJvdzo6YWZ0ZXIge1xyXG4gICAgYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi5icy1wb3BvdmVyLXJpZ2h0IHtcclxuICBtYXJnaW4tbGVmdDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xyXG5cclxuICAuYXJyb3cge1xyXG4gICAgbGVmdDogY2FsYygoI3skcG9wb3Zlci1hcnJvdy1oZWlnaHR9ICsgI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAqIC0xKTtcclxuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XHJcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xyXG4gICAgbWFyZ2luOiAkYm9yZGVyLXJhZGl1cy1sZyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXHJcbiAgfVxyXG5cclxuICAuYXJyb3c6OmJlZm9yZSxcclxuICAuYXJyb3c6OmFmdGVyIHtcclxuICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XHJcbiAgfVxyXG5cclxuICAuYXJyb3c6OmJlZm9yZSB7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcclxuICB9XHJcblxyXG4gIC5hcnJvdzo6YWZ0ZXIge1xyXG4gICAgbGVmdDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xyXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi5icy1wb3BvdmVyLWJvdHRvbSB7XHJcbiAgbWFyZ2luLXRvcDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xyXG5cclxuICAuYXJyb3cge1xyXG4gICAgdG9wOiBjYWxjKCgjeyRwb3BvdmVyLWFycm93LWhlaWdodH0gKyAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pICogLTEpO1xyXG4gIH1cclxuXHJcbiAgLmFycm93OjpiZWZvcmUsXHJcbiAgLmFycm93OjphZnRlciB7XHJcbiAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpO1xyXG4gIH1cclxuXHJcbiAgLmFycm93OjpiZWZvcmUge1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XHJcbiAgfVxyXG5cclxuICAuYXJyb3c6OmFmdGVyIHtcclxuICAgIHRvcDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XHJcbiAgfVxyXG5cclxuICAvLyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBwb3BvdmVyLWhlYWRlcidzIGJvcmRlciBqdXN0IGJlbG93IHRoZSBhcnJvd1xyXG4gIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xyXG4gICAgbWFyZ2luLWxlZnQ6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIC0yKTtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItaGVhZGVyLWJnO1xyXG4gIH1cclxufVxyXG5cclxuLmJzLXBvcG92ZXItbGVmdCB7XHJcbiAgbWFyZ2luLXJpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XHJcblxyXG4gIC5hcnJvdyB7XHJcbiAgICByaWdodDogY2FsYygoI3skcG9wb3Zlci1hcnJvdy1oZWlnaHR9ICsgI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAqIC0xKTtcclxuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XHJcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xyXG4gICAgbWFyZ2luOiAkYm9yZGVyLXJhZGl1cy1sZyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXHJcbiAgfVxyXG5cclxuICAuYXJyb3c6OmJlZm9yZSxcclxuICAuYXJyb3c6OmFmdGVyIHtcclxuICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XHJcbiAgfVxyXG5cclxuICAuYXJyb3c6OmJlZm9yZSB7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcclxuICB9XHJcblxyXG4gIC5hcnJvdzo6YWZ0ZXIge1xyXG4gICAgcmlnaHQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcclxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi5icy1wb3BvdmVyLWF1dG8ge1xyXG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcclxuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItdG9wO1xyXG4gIH1cclxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcclxuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItcmlnaHQ7XHJcbiAgfVxyXG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcclxuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItYm90dG9tO1xyXG4gIH1cclxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xyXG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1sZWZ0O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xyXG4ucG9wb3Zlci1oZWFkZXIge1xyXG4gIHBhZGRpbmc6ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDtcclxuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIFJlYm9vdFxyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xyXG4gIGNvbG9yOiAkcG9wb3Zlci1oZWFkZXItY29sb3I7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItaGVhZGVyLWJnO1xyXG4gIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCBkYXJrZW4oJHBvcG92ZXItaGVhZGVyLWJnLCA1JSk7XHJcbiAgJG9mZnNldC1ib3JkZXItd2lkdGg6IGNhbGMoI3skYm9yZGVyLXJhZGl1cy1sZ30gLSAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pO1xyXG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRvZmZzZXQtYm9yZGVyLXdpZHRoKTtcclxuXHJcbiAgJjplbXB0eSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLnBvcG92ZXItYm9keSB7XHJcbiAgcGFkZGluZzogJHBvcG92ZXItYm9keS1wYWRkaW5nLXkgJHBvcG92ZXItYm9keS1wYWRkaW5nLXg7XHJcbiAgY29sb3I6ICRwb3BvdmVyLWJvZHktY29sb3I7XHJcbn1cclxuIiwiLy8gTm90ZXMgb24gdGhlIGNsYXNzZXM6XHJcbi8vXHJcbi8vIDEuIFRoZSAuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXHJcbi8vICAgIHRoZSBhY3RpdmUgc2xpZGUgaXMgaGVhZGluZy5cclxuLy8gMi4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtIGlzIHRoZSBjdXJyZW50IHNsaWRlLlxyXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHRoZSBjdXJyZW50XHJcbi8vICAgIHNsaWRlIGluIGl0cyBpbi10cmFuc2l0aW9uIHN0YXRlLiBPbmx5IG9uZSBvZiB0aGVzZSBvY2N1cnMgYXQgYSB0aW1lLlxyXG4vLyA0LiAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0XHJcbi8vICAgIGlzIHRoZSB1cGNvbWluZyBzbGlkZSBpbiB0cmFuc2l0aW9uLlxyXG5cclxuLmNhcm91c2VsIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5jYXJvdXNlbC1pbm5lciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5jYXJvdXNlbC1pdGVtIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBwZXJzcGVjdGl2ZTogMTAwMHB4O1xyXG59XHJcblxyXG4uY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXHJcbi5jYXJvdXNlbC1pdGVtLW5leHQsXHJcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLXRyYW5zaXRpb24pO1xyXG59XHJcblxyXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxyXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG59XHJcblxyXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcclxuLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcblxyXG4gIEBzdXBwb3J0cyAodHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCkge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5jYXJvdXNlbC1pdGVtLW5leHQsXHJcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG5cclxuICBAc3VwcG9ydHMgKHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QpIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uY2Fyb3VzZWwtaXRlbS1wcmV2LFxyXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCB7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuXHJcbiAgQHN1cHBvcnRzICh0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vL1xyXG4vLyBBbHRlcm5hdGUgdHJhbnNpdGlvbnNcclxuLy9cclxuXHJcbi5jYXJvdXNlbC1mYWRlIHtcclxuICAuY2Fyb3VzZWwtaXRlbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjZzO1xyXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcclxuICB9XHJcblxyXG4gIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcclxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcclxuICAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxyXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgLmNhcm91c2VsLWl0ZW0tbmV4dCxcclxuICAuY2Fyb3VzZWwtaXRlbS1wcmV2LFxyXG4gIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcclxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcclxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcHJldiB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcblxyXG4gICAgQHN1cHBvcnRzICh0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy9cclxuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XHJcbi8vXHJcblxyXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxyXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICAvLyBVc2UgZmxleCBmb3IgYWxpZ25tZW50ICgxLTMpXHJcbiAgZGlzcGxheTogZmxleDsgLy8gMS4gYWxsb3cgZmxleCBzdHlsZXNcclxuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyAzLiBob3Jpem9udGFsbHkgY2VudGVyIGNvbnRlbnRzXHJcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xyXG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTtcclxuICAvLyBXZSBjYW4ndCBoYXZlIGEgdHJhbnNpdGlvbiBoZXJlIGJlY2F1c2UgV2ViS2l0IGNhbmNlbHMgdGhlIGNhcm91c2VsXHJcbiAgLy8gYW5pbWF0aW9uIGlmIHlvdSB0cmlwIHRoaXMgd2hpbGUgaW4gdGhlIG1pZGRsZSBvZiBhbm90aGVyIGFuaW1hdGlvbi5cclxuXHJcbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcclxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgb3BhY2l0eTogLjk7XHJcbiAgfVxyXG59XHJcbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xyXG4gIGxlZnQ6IDA7XHJcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XHJcbiAgfVxyXG59XHJcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xyXG4gIHJpZ2h0OiAwO1xyXG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEljb25zIGZvciB3aXRoaW5cclxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxyXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcclxuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcbn1cclxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAkY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc7XHJcbn1cclxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAkY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc7XHJcbn1cclxuXHJcblxyXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwc1xyXG4vL1xyXG4vLyBBZGQgYW4gb3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXHJcbi8vIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXHJcblxyXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMTBweDtcclxuICBsZWZ0OiAwO1xyXG4gIHotaW5kZXg6IDE1O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBvdmVycmlkZSA8b2w+IGRlZmF1bHRcclxuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcclxuICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xyXG4gIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG5cclxuICBsaSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmbGV4OiAwIDEgYXV0bztcclxuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoO1xyXG4gICAgaGVpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDtcclxuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XHJcbiAgICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XHJcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZywgLjUpO1xyXG5cclxuICAgIC8vIFVzZSBwc2V1ZG8gY2xhc3NlcyB0byBpbmNyZWFzZSB0aGUgaGl0IGFyZWEgYnkgMTBweCBvbiB0b3AgYW5kIGJvdHRvbS5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAtMTBweDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgfVxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogLTEwcHg7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcclxuLy9cclxuLy9cclxuXHJcbi5jYXJvdXNlbC1jYXB0aW9uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6ICgoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDIpO1xyXG4gIGJvdHRvbTogMjBweDtcclxuICBsZWZ0OiAoKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgLyAyKTtcclxuICB6LWluZGV4OiAxMDtcclxuICBwYWRkaW5nLXRvcDogMjBweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxyXG5cclxuLmFsaWduLWJhc2VsaW5lICAgIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH0gLy8gQnJvd3NlciBkZWZhdWx0XHJcbi5hbGlnbi10b3AgICAgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxyXG4uYWxpZ24tbWlkZGxlICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cclxuLmFsaWduLWJvdHRvbSAgICAgIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XHJcbi5hbGlnbi10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50OyB9XHJcbi5hbGlnbi10ZXh0LXRvcCAgICB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcCAhaW1wb3J0YW50OyB9XHJcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxyXG5cclxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xyXG5cclxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcbiAgYSN7JHBhcmVudH0sXHJcbiAgYnV0dG9uI3skcGFyZW50fSB7XHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBiZy1ncmFkaWVudC12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxyXG5cclxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XHJcbiAgQGluY2x1ZGUgYmctdmFyaWFudChcIi5iZy0jeyRjb2xvcn1cIiwgJHZhbHVlKTtcclxufVxyXG5cclxuQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcclxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcclxuICAgIEBpbmNsdWRlIGJnLWdyYWRpZW50LXZhcmlhbnQoXCIuYmctZ3JhZGllbnQtI3skY29sb3J9XCIsICR2YWx1ZSk7XHJcbiAgfVxyXG59XHJcblxyXG4uYmctd2hpdGUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYmctdHJhbnNwYXJlbnQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XHJcblxyXG4vL1xyXG4vLyBCb3JkZXJcclxuLy9cclxuXHJcbi5ib3JkZXIgICAgICAgICB7IGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cclxuLmJvcmRlci10b3AgICAgIHsgYm9yZGVyLXRvcDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cclxuLmJvcmRlci1yaWdodCAgIHsgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxyXG4uYm9yZGVyLWJvdHRvbSAgeyBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxyXG4uYm9yZGVyLWxlZnQgICAgeyBib3JkZXItbGVmdDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5ib3JkZXItMCAgICAgICAgeyBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxyXG4uYm9yZGVyLXRvcC0wICAgIHsgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50OyB9XHJcbi5ib3JkZXItcmlnaHQtMCAgeyBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxyXG4uYm9yZGVyLWJvdHRvbS0wIHsgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XHJcbi5ib3JkZXItbGVmdC0wICAgeyBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50OyB9XHJcblxyXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcclxuICAuYm9yZGVyLSN7JGNvbG9yfSB7XHJcbiAgICBib3JkZXItY29sb3I6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLmJvcmRlci13aGl0ZSB7XHJcbiAgYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy9cclxuLy8gQm9yZGVyLXJhZGl1c1xyXG4vL1xyXG5cclxuLnJvdW5kZWQge1xyXG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XHJcbn1cclxuLnJvdW5kZWQtdG9wIHtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xyXG59XHJcbi5yb3VuZGVkLXJpZ2h0IHtcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcclxufVxyXG4ucm91bmRlZC1ib3R0b20ge1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XHJcbn1cclxuLnJvdW5kZWQtbGVmdCB7XHJcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucm91bmRlZC1jaXJjbGUge1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucm91bmRlZC0wIHtcclxuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiQG1peGluIGNsZWFyZml4KCkge1xyXG4gICY6OmFmdGVyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gIH1cclxufVxyXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcclxuXHJcbi8vXHJcbi8vIFV0aWxpdGllcyBmb3IgY29tbW9uIGBkaXNwbGF5YCB2YWx1ZXNcclxuLy9cclxuXHJcbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xyXG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XHJcblxyXG4gICAgLmQjeyRpbmZpeH0tbm9uZSAgICAgICAgIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcbiAgICAuZCN7JGluZml4fS1pbmxpbmUgICAgICAgeyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxyXG4gICAgLmQjeyRpbmZpeH0taW5saW5lLWJsb2NrIHsgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cclxuICAgIC5kI3skaW5maXh9LWJsb2NrICAgICAgICB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cclxuICAgIC5kI3skaW5maXh9LXRhYmxlICAgICAgICB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cclxuICAgIC5kI3skaW5maXh9LXRhYmxlLXJvdyAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XHJcbiAgICAuZCN7JGluZml4fS10YWJsZS1jZWxsICAgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cclxuICAgIC5kI3skaW5maXh9LWZsZXggICAgICAgICB7IGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxyXG4gICAgLmQjeyRpbmZpeH0taW5saW5lLWZsZXggIHsgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vXHJcbi8vIFV0aWxpdGllcyBmb3IgdG9nZ2xpbmcgYGRpc3BsYXlgIGluIHByaW50XHJcbi8vXHJcblxyXG5AbWVkaWEgcHJpbnQge1xyXG4gIC5kLXByaW50LW5vbmUgICAgICAgICB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxyXG4gIC5kLXByaW50LWlubGluZSAgICAgICB7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XHJcbiAgLmQtcHJpbnQtaW5saW5lLWJsb2NrIHsgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cclxuICAuZC1wcmludC1ibG9jayAgICAgICAgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XHJcbiAgLmQtcHJpbnQtdGFibGUgICAgICAgIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxyXG4gIC5kLXByaW50LXRhYmxlLXJvdyAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XHJcbiAgLmQtcHJpbnQtdGFibGUtY2VsbCAgIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XHJcbiAgLmQtcHJpbnQtZmxleCAgICAgICAgIHsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XHJcbiAgLmQtcHJpbnQtaW5saW5lLWZsZXggIHsgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfVxyXG59XHJcbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxyXG5cclxuLmVtYmVkLXJlc3BvbnNpdmUge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgfVxyXG5cclxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxyXG4gIGlmcmFtZSxcclxuICBlbWJlZCxcclxuICBvYmplY3QsXHJcbiAgdmlkZW8ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLmVtYmVkLXJlc3BvbnNpdmUtMjFieTkge1xyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSg5IC8gMjEpO1xyXG4gIH1cclxufVxyXG5cclxuLmVtYmVkLXJlc3BvbnNpdmUtMTZieTkge1xyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSg5IC8gMTYpO1xyXG4gIH1cclxufVxyXG5cclxuLmVtYmVkLXJlc3BvbnNpdmUtNGJ5MyB7XHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDMgLyA0KTtcclxuICB9XHJcbn1cclxuXHJcbi5lbWJlZC1yZXNwb25zaXZlLTFieTEge1xyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgxIC8gMSk7XHJcbiAgfVxyXG59XHJcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxyXG5cclxuLy8gRmxleCB2YXJpYXRpb25cclxuLy9cclxuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgYWRkaXRpb25hbCBmbGV4IGFsaWdubWVudCBvcHRpb25zLlxyXG5cclxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XHJcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcclxuXHJcbiAgICAuZmxleCN7JGluZml4fS1yb3cgICAgICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxyXG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cclxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cclxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxyXG4gICAgLmZsZXgjeyRpbmZpeH0tbm93cmFwICAgICAgIHsgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsgfVxyXG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcC1yZXZlcnNlIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxyXG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxyXG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0wICAgICAgIHsgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7IH1cclxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMSAgICAgICB7IGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XHJcbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XHJcbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMSAgICAgeyBmbGV4LXNocmluazogMSAhaW1wb3J0YW50OyB9XHJcblxyXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cclxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxyXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxyXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cclxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XHJcbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsgfVxyXG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XHJcbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxyXG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxyXG5cclxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cclxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XHJcbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cclxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cclxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxyXG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxyXG5cclxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWF1dG8gICAgIHsgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OyB9XHJcbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxyXG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XHJcbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OyB9XHJcbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cclxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XHJcbiAgfVxyXG59XHJcbiIsIkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xyXG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XHJcblxyXG4gICAgLmZsb2F0I3skaW5maXh9LWxlZnQgIHsgQGluY2x1ZGUgZmxvYXQtbGVmdDsgfVxyXG4gICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgQGluY2x1ZGUgZmxvYXQtcmlnaHQ7IH1cclxuICAgIC5mbG9hdCN7JGluZml4fS1ub25lICB7IEBpbmNsdWRlIGZsb2F0LW5vbmU7IH1cclxuICB9XHJcbn1cclxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XHJcblxyXG5AbWl4aW4gZmxvYXQtbGVmdCB7XHJcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcclxufVxyXG5AbWl4aW4gZmxvYXQtcmlnaHQge1xyXG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xyXG59XHJcbkBtaXhpbiBmbG9hdC1ub25lIHtcclxuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxyXG5cclxuLy8gQ29tbW9uIHZhbHVlc1xyXG5cclxuLy8gU2FzcyBsaXN0IG5vdCBpbiB2YXJpYWJsZXMgc2luY2UgaXQncyBub3QgaW50ZW5kZWQgZm9yIGN1c3RvbWl6YXRpb24uXHJcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XHJcbiRwb3NpdGlvbnM6IHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5O1xyXG5cclxuQGVhY2ggJHBvc2l0aW9uIGluICRwb3NpdGlvbnMge1xyXG4gIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0geyBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7IH1cclxufVxyXG5cclxuLy8gU2hvcnRoYW5kXHJcblxyXG4uZml4ZWQtdG9wIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcclxufVxyXG5cclxuLmZpeGVkLWJvdHRvbSB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XHJcbn1cclxuXHJcbi5zdGlja3ktdG9wIHtcclxuICBAc3VwcG9ydHMgKHBvc2l0aW9uOiBzdGlja3kpIHtcclxuICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcclxuICB9XHJcbn1cclxuIiwiLy9cclxuLy8gU2NyZWVucmVhZGVyc1xyXG4vL1xyXG5cclxuLnNyLW9ubHkge1xyXG4gIEBpbmNsdWRlIHNyLW9ubHkoKTtcclxufVxyXG5cclxuLnNyLW9ubHktZm9jdXNhYmxlIHtcclxuICBAaW5jbHVkZSBzci1vbmx5LWZvY3VzYWJsZSgpO1xyXG59XHJcbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXHJcbi8vXHJcbi8vIFNlZTogaHR0cHM6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudC9cclxuLy8gU2VlOiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cclxuXHJcbkBtaXhpbiBzci1vbmx5IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDFweDtcclxuICBoZWlnaHQ6IDFweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIGJvcmRlcjogMDtcclxufVxyXG5cclxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXHJcbi8vXHJcbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcclxuLy9cclxuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxyXG5cclxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlIHtcclxuICAmOmFjdGl2ZSxcclxuICAmOmZvY3VzIHtcclxuICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgY2xpcDogYXV0bztcclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgfVxyXG59XHJcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxyXG5cclxuLnNoYWRvdy1zbSB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LXNtICFpbXBvcnRhbnQ7IH1cclxuLnNoYWRvdyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93ICFpbXBvcnRhbnQ7IH1cclxuLnNoYWRvdy1sZyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnICFpbXBvcnRhbnQ7IH1cclxuLnNoYWRvdy1ub25lIHsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XHJcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxyXG5cclxuLy8gV2lkdGggYW5kIGhlaWdodFxyXG5cclxuQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKHdpZHRoOiB3LCBoZWlnaHQ6IGgpIHtcclxuICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc2l6ZXMge1xyXG4gICAgLiN7JGFiYnJldn0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XHJcbiAgfVxyXG59XHJcblxyXG4ubXctMTAwIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cclxuLm1oLTEwMCB7IG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxyXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcclxuXHJcbi8vIE1hcmdpbiBhbmQgUGFkZGluZ1xyXG5cclxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XHJcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcclxuXHJcbiAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XHJcbiAgICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcclxuXHJcbiAgICAgICAgLiN7JGFiYnJldn0jeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XHJcbiAgICAgICAgLiN7JGFiYnJldn10I3skaW5maXh9LSN7JHNpemV9LFxyXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XHJcbiAgICAgICAgICAjeyRwcm9wfS10b3A6ICRsZW5ndGggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLiN7JGFiYnJldn1yI3skaW5maXh9LSN7JHNpemV9LFxyXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XHJcbiAgICAgICAgICAjeyRwcm9wfS1yaWdodDogJGxlbmd0aCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXHJcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcclxuICAgICAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuI3skYWJicmV2fWwjeyRpbmZpeH0tI3skc2l6ZX0sXHJcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcclxuICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXHJcbiAgICAubSN7JGluZml4fS1hdXRvIHsgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH1cclxuICAgIC5tdCN7JGluZml4fS1hdXRvLFxyXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xyXG4gICAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAubXIjeyRpbmZpeH0tYXV0byxcclxuICAgIC5teCN7JGluZml4fS1hdXRvIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAubWIjeyRpbmZpeH0tYXV0byxcclxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLm1sI3skaW5maXh9LWF1dG8sXHJcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxyXG5cclxuLy9cclxuLy8gVGV4dFxyXG4vL1xyXG5cclxuLnRleHQtbW9ub3NwYWNlIHsgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7IH1cclxuXHJcbi8vIEFsaWdubWVudFxyXG5cclxuLnRleHQtanVzdGlmeSAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtbm93cmFwICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtdHJ1bmNhdGUgeyBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlOyB9XHJcblxyXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxyXG5cclxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XHJcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcclxuXHJcbiAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cclxuICAgIC50ZXh0I3skaW5maXh9LXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cclxuICAgIC50ZXh0I3skaW5maXh9LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBUcmFuc2Zvcm1hdGlvblxyXG5cclxuLnRleHQtbG93ZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxyXG4udGV4dC11cHBlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XHJcbi50ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XHJcblxyXG4vLyBXZWlnaHQgYW5kIGl0YWxpY3NcclxuXHJcbi5mb250LXdlaWdodC1saWdodCAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cclxuLmZvbnQtd2VpZ2h0LW5vcm1hbCB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFpbXBvcnRhbnQ7IH1cclxuLmZvbnQtd2VpZ2h0LWJvbGQgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhaW1wb3J0YW50OyB9XHJcbi5mb250LWl0YWxpYyAgICAgICAgeyBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDsgfVxyXG5cclxuLy8gQ29udGV4dHVhbCBjb2xvcnNcclxuXHJcbi50ZXh0LXdoaXRlIHsgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyB9XHJcblxyXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcclxuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoXCIudGV4dC0jeyRjb2xvcn1cIiwgJHZhbHVlKTtcclxufVxyXG5cclxuLnRleHQtYm9keSB7IGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50OyB9XHJcbi50ZXh0LW11dGVkIHsgY29sb3I6ICR0ZXh0LW11dGVkICFpbXBvcnRhbnQ7IH1cclxuXHJcbi50ZXh0LWJsYWNrLTUwIHsgY29sb3I6IHJnYmEoJGJsYWNrLCAuNSkgIWltcG9ydGFudDsgfVxyXG4udGV4dC13aGl0ZS01MCB7IGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjUpICFpbXBvcnRhbnQ7IH1cclxuXHJcbi8vIE1pc2NcclxuXHJcbi50ZXh0LWhpZGUge1xyXG4gIEBpbmNsdWRlIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xyXG59XHJcbiIsIi8vIFRleHQgdHJ1bmNhdGVcclxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xyXG5cclxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxyXG5cclxuLy8gVHlwb2dyYXBoeVxyXG5cclxuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcbiAgYSN7JHBhcmVudH0ge1xyXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcclxuQG1peGluIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XHJcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxyXG4gIGZvbnQ6IDAvMCBhO1xyXG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IDA7XHJcblxyXG4gIEBpZiAoJGlnbm9yZS13YXJuaW5nICE9IHRydWUpIHtcclxuICAgIEB3YXJuIFwiVGhlIGB0ZXh0LWhpZGUoKWAgbWl4aW4gaGFzIGJlZW4gZGVwcmVjYXRlZCBhcyBvZiB2NC4xLjAuIEl0IHdpbGwgYmUgcmVtb3ZlZCBlbnRpcmVseSBpbiB2NS5cIjtcclxuICB9XHJcbn1cclxuIiwiLy9cclxuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcclxuLy9cclxuXHJcbi52aXNpYmxlIHtcclxuICBAaW5jbHVkZSBpbnZpc2libGUodmlzaWJsZSk7XHJcbn1cclxuXHJcbi5pbnZpc2libGUge1xyXG4gIEBpbmNsdWRlIGludmlzaWJsZShoaWRkZW4pO1xyXG59XHJcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxyXG5cclxuLy8gVmlzaWJpbGl0eVxyXG5cclxuQG1peGluIGludmlzaWJsZSgkdmlzaWJpbGl0eSkge1xyXG4gIHZpc2liaWxpdHk6ICR2aXNpYmlsaXR5ICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcclxuXHJcbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzc1xyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gUHJpbnQgc3R5bGVzLlxyXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcclxuLy8gaHR0cHM6Ly93d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuQGlmICRlbmFibGUtcHJpbnQtc3R5bGVzIHtcclxuICBAbWVkaWEgcHJpbnQge1xyXG4gICAgKixcclxuICAgICo6OmJlZm9yZSxcclxuICAgICo6OmFmdGVyIHtcclxuICAgICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IG91dCBgY29sb3JgIGFuZCBgYmFja2dyb3VuZGBcclxuICAgICAgLy9jb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXJcclxuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgLy9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICY6bm90KC5idG4pIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxyXG4gICAgLy9hW2hyZWZdOjphZnRlciB7XHJcbiAgICAvLyAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XHJcbiAgICAvL31cclxuXHJcbiAgICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XHJcbiAgICAvL1xyXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcclxuICAgIC8vIG9yIHVzZSB0aGUgYGphdmFzY3JpcHQ6YCBwc2V1ZG8gcHJvdG9jb2xcclxuICAgIC8vXHJcblxyXG4gICAgLy9hW2hyZWZePVwiI1wiXTo6YWZ0ZXIsXHJcbiAgICAvL2FbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xyXG4gICAgLy8gY29udGVudDogXCJcIjtcclxuICAgIC8vfVxyXG5cclxuICAgIHByZSB7XHJcbiAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgcHJlLFxyXG4gICAgYmxvY2txdW90ZSB7XHJcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkZ3JheS01MDA7ICAgLy8gQm9vdHN0cmFwIGN1c3RvbSBjb2RlOyB1c2luZyBgJGJvcmRlci13aWR0aGAgaW5zdGVhZCBvZiAxcHhcclxuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gICAgfVxyXG5cclxuICAgIC8vXHJcbiAgICAvLyBQcmludGluZyBUYWJsZXM6XHJcbiAgICAvLyBodHRwOi8vY3NzLWRpc2N1c3MuaW5jdXRpby5jb20vd2lraS9QcmludGluZ19UYWJsZXNcclxuICAgIC8vXHJcblxyXG4gICAgdGhlYWQge1xyXG4gICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XHJcbiAgICB9XHJcblxyXG4gICAgdHIsXHJcbiAgICBpbWcge1xyXG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcCxcclxuICAgIGgyLFxyXG4gICAgaDMge1xyXG4gICAgICBvcnBoYW5zOiAzO1xyXG4gICAgICB3aWRvd3M6IDM7XHJcbiAgICB9XHJcblxyXG4gICAgaDIsXHJcbiAgICBoMyB7XHJcbiAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIHN0YXJ0XHJcblxyXG4gICAgLy8gU3BlY2lmeSBhIHNpemUgYW5kIG1pbi13aWR0aCB0byBtYWtlIHByaW50aW5nIGNsb3NlciBhY3Jvc3MgYnJvd3NlcnMuXHJcbiAgICAvLyBXZSBkb24ndCBzZXQgbWFyZ2luIGhlcmUgYmVjYXVzZSBpdCBicmVha3MgYHNpemVgIGluIENocm9tZS4gV2UgYWxzb1xyXG4gICAgLy8gZG9uJ3QgdXNlIGAhaW1wb3J0YW50YCBvbiBgc2l6ZWAgYXMgaXQgYnJlYWtzIGluIENocm9tZS5cclxuICAgIEBwYWdlIHtcclxuICAgICAgc2l6ZTogJHByaW50LXBhZ2Utc2l6ZTtcclxuICAgIH1cclxuICAgIGJvZHkge1xyXG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmNvbnRhaW5lciB7XHJcbiAgICAgIG1pbi13aWR0aDogJHByaW50LWJvZHktbWluLXdpZHRoICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQm9vdHN0cmFwIGNvbXBvbmVudHNcclxuICAgIC5uYXZiYXIge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgLmJhZGdlIHtcclxuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRibGFjaztcclxuICAgIH1cclxuXHJcbiAgICAudGFibGUge1xyXG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICB0ZCxcclxuICAgICAgdGgge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcclxuICAgICAgdGgsXHJcbiAgICAgIHRkIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS0zMDAgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50YWJsZS1kYXJrIHtcclxuICAgICAgY29sb3I6IGluaGVyaXQ7XHJcblxyXG4gICAgICB0aCxcclxuICAgICAgdGQsXHJcbiAgICAgIHRoZWFkIHRoLFxyXG4gICAgICB0Ym9keSArIHRib2R5IHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGFibGUgLnRoZWFkLWRhcmsgdGgge1xyXG4gICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIGVuZFxyXG4gIH1cclxufVxyXG4iLCJcclxuLmJnLWxpZ2h0LXRyYW5zcGFyZW50IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4MiwgMTgyLCAxODIsIDAuODUpICFpbXBvcnRhbnQ7XHJcbn1cclxuLmJnLWRhcmstdHJhbnNwYXJlbnQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIsIDIyLCAyMiwgMC44NSkgIWltcG9ydGFudDtcclxufVxyXG4uYmctbGlnaHRlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihyZ2JhKDIyLCAyMiwgMjIsIDAuNzUpLCA1JSkgIWltcG9ydGFudDtcclxufVxyXG4uYmcteGRhcmsge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihyZ2JhKDIyLCAyMiwgMjIsIDAuNzUpLCAxMCUpICFpbXBvcnRhbnQ7XHJcbn1cclxuLmJnLXh4ZGFyayB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKHJnYmEoMjIsIDIyLCAyMiwgMC43NSksIDIwJSkgIWltcG9ydGFudDtcclxufVxyXG5cclxuYm9keS5wYXJhbGxheCAucGFyYWxsYXgsXHJcbmJvZHkucGFyYWxsYXggLnBhcmFsbGF4MSxcclxuYm9keS5wYXJhbGxheCAucGFyYWxsYXgyLFxyXG5ib2R5LnBhcmFsbGF4IC5wYXJhbGxheDMsXHJcbmJvZHkucGFyYWxsYXggLnBhcmFsbGF4NCxcclxuYm9keS5wYXJhbGxheCAucGFyYWxsYXg1LFxyXG5ib2R5LnBhcmFsbGF4IC5wYXJhbGxheC0xLFxyXG5ib2R5LnBhcmFsbGF4IC5wYXJhbGxheC0yLFxyXG5ib2R5LnBhcmFsbGF4IC5wYXJhbGxheC0zLFxyXG5ib2R5LnBhcmFsbGF4IC5wYXJhbGxheC00LFxyXG5ib2R5LnBhcmFsbGF4IC5wYXJhbGxheC01e1xyXG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOmNvdmVyO1xyXG59IiwiLmNjbS1wYWdlIHtcclxuICAjcGFnZS1oZWFkZXIge1xyXG4gICAgbWluLWhlaWdodDogNDB2aDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogNTAlO1xyXG4gICAgcGFkZGluZzogMjB2aCAwIDEwdmggMDtcclxuICAgIGgxIHtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcclxuXHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgICAgcGFkZGluZzogMTB2aCAwIDV2aCAwO1xyXG4gICAgICBoMSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKiAyO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIuY2NtLXBhZ2Uge1xyXG4gIHNlY3Rpb24uc29jaWFsYm94ZXMge1xyXG4gICAgYS5ib3gge1xyXG4gICAgICAmOmhvdmVye1xyXG4gICAgICAgIC50ZXh0e1xyXG4gICAgICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuaWNvbiB7XHJcbiAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzFweDtcclxuICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAuaWNvbi1kaXNjb3JkIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZGlzY29yZF9sb2dvLnBuZyk7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDMxcHggMzFweDtcclxuICAgICAgICAgIHdpZHRoOiAzMXB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiAzMXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAudGV4dHtcclxuICAgICAgICBwYWRkaW5nOiA1NXB4IDE1cHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICBjb2xvcjogI2IwYjBiMDtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgIGNvbG9yOiAjYzNjM2MzO1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFycm93IHtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIGxlZnQ6IDBweDtcclxuICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICBib3JkZXItdG9wOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG4gICAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgICAgICAgICY6YmVmb3Jle1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDBweDtcclxuICAgICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNzNweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMHB4O1xyXG4gICAgICAgICAgICBib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA3M3B4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgb3BhY2l0eTogMC4yO1xyXG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmNjbS1wYWdlIHtcclxuICAudGltZWxpbmUge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDIwcHggMCAyMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBjb250ZW50OiBcIiBcIjtcclxuICAgICAgd2lkdGg6IDNweDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICBtYXJnaW4tbGVmdDogLTEuNXB4O1xyXG4gICAgfVxyXG4gICAgPiBsaSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICB9XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICB9XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIiBcIjtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgfVxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIiBcIjtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgfVxyXG4gICAgICAudGltZWxpbmUtcGFuZWwge1xyXG4gICAgICAgIHdpZHRoOiA0NiU7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjYXJkLWJnO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAudGltZWxpbmUtaWNvbnMge1xyXG4gICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgICAgICAgICAgY29sb3I6ICRib2R5LWNvbG9yO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLmJhZGdlIHtcclxuICAgICAgICAgICAgdG9wOiAtMS41cmVtO1xyXG4gICAgICAgICAgICBsZWZ0OiAtMC44cmVtO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDI2cHg7XHJcbiAgICAgICAgICByaWdodDogLTE1cHg7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICBib3JkZXItdG9wOiAxNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDE1cHggc29saWQgJGNhcmQtYmc7XHJcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDAgc29saWQgJGNhcmQtYmc7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgY29udGVudDogXCIgXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiAyN3B4O1xyXG4gICAgICAgICAgcmlnaHQ6IC0xNHB4O1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgYm9yZGVyLXRvcDogMTRweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxNHB4IHNvbGlkICRjYXJkLWJnO1xyXG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwIHNvbGlkICRjYXJkLWJnO1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMTRweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAudGltZWxpbmUtYmFkZ2Uge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcclxuICAgICAgICBmb250LXNpemU6IDEuNGVtO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAxNnB4O1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTI1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTk5OTtcclxuICAgICAgICB6LWluZGV4OiAxMDA7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDUwJTtcclxuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDUwJTtcclxuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1MCU7XHJcbiAgICAgIH1cclxuICAgICAgJi50aW1lbGluZS1pbnZlcnRlZCAudGltZWxpbmUtcGFuZWwge1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcclxuICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMTVweDtcclxuICAgICAgICAgIGxlZnQ6IC0xNXB4O1xyXG4gICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XHJcbiAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDE0cHg7XHJcbiAgICAgICAgICBsZWZ0OiAtMTRweDtcclxuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRpbWVsaW5lLWJhZGdlIHtcclxuICAgICYucHJpbWFyeSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VjY2VzcyAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi53YXJuaW5nIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdhcm5pbmcgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYuZGFuZ2VyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhbmdlciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi5pbmZvIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGluZm8gIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC50aW1lbGluZS10aXRsZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLnRpbWVsaW5lLWJvZHkgPiB7XHJcbiAgICBwLCB1bCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICBwICsgcCB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgIH1cclxuICB9XHJcbn0iLCIuY2NtLXBhZ2Uge1xyXG4gIGZvb3RlciB7XHJcbiAgICAuYmlnLWZvb3RlciB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xyXG4gICAgICAuY29udGFpbmVyID4gLnJvdyA+IGRpdiB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbiAgICAgIH1cclxuICAgICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICM4YThhOGE7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xyXG4gICAgICB9XHJcbiAgICAgIHAsIGRpdntcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XHJcbiAgICAgIH1cclxuICAgICAgaDMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuYm90dG9tLWZvb3RlciB7XHJcbiAgICAgIHBhZGRpbmc6IDE0cHggMCAxMnB4O1xyXG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzJiMmIyYjtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkZGFyaywgNjAlKTtcclxuICAgICAgPiBkaXYge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgfVxyXG4gICAgICBwIHtcclxuICAgICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICB9XHJcbiAgICAgIGEge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgb3BhY2l0eTogLjc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGEuc29jaWFsIHtcclxuICAgICAgICB3aWR0aDogMzVweDtcclxuICAgICAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJiMmIyYjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLyogSGlkZSBjNSBBY2NvdW50IE1lbnUgKi9cclxuI2NjbS1hY2NvdW50LW1lbnUtY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi8qIE1ha2Ugc3VyZSBjNSBkaWFsb2dzIGFyZSB2aXNpYmxlICovXHJcbmh0bWwuY2NtLXBhbmVsLWRldGFpbC1vcGVue1xyXG4gIC5jY20tcGFuZWwtZGV0YWlsIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG4vKiBNb3ZlIGRvd24gY29udGVudCB3aGVuIHRvb2xiYXIgaXMgdmlzaWJsZSAqL1xyXG5ib2R5LnRvb2xiYXItdmlzaWJsZSB7XHJcbiAgbWFyZ2luLXRvcDogNDlweDtcclxufSBlbHNlIHtcclxuICBtYXJnaW4tdG9wOiAwcHg7XHJcbn1cclxuLyogTWFrZSBEYXNoYm9hcmQgcGFuZWwgbG9vayB0aGUgd2F5IGl0cyBzdXBwb3NlZCB0byBiZSAqL1xyXG5kaXYuY2NtLXBhbmVsLWNvbnRlbnQgdWwubmF2ID4gbGksIGRpdi5jY20tcGFuZWwtY29udGVudCBtZW51ID4gbGkge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59IiwiLmNjbS1wYWdlLmNjbS1wYWdlLXRlbXBsYXRlLWhvbWUge1xyXG4gICNob21lLWhlYWRlciB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIHBhZGRpbmctdG9wOiA2cmVtO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICBwYWRkaW5nLXRvcDogMzB2aDtcclxuICAgIH1cclxuICAgIGNhbnZhcyNwYXJ0aWNsZSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICB3aWR0aDogOTh2dztcclxuICAgICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIH1cclxuICAgIGgxIHtcclxuICAgICAgZm9udC1zaXplOiAkaDMtZm9udC1zaXplO1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICBmb250LXNpemU6ICRoMS1mb250LXNpemU7XHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMi4yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnRuLWRlZmF1bHQge1xyXG4gICAgICBtYXJnaW4tdG9wOiAkc3BhY2VyLzI7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZXIvMjtcclxuICAgIH1cclxuICAgICNzY3JvbGwtYnV0dG9uLXdyYXBwZXIge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogNTBweDtcclxuICAgIH1cclxuICAgIC8vIEZpeCBmb3IgbWFraW5nIGhvbWUgYnV0dG9uIGNvbnRlbnRzIGJyZWFrIGNvcnJlY3RseSBvbiBzbVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XHJcbiAgICAgIC5jb2wge1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IGluaGVyaXQ7XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLnRvb2xiYXItdmlzaWJsZSB7XHJcbiAgICAjaG9tZS1oZWFkZXIge1xyXG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA0OXB4KTtcclxuICAgICAgY2FudmFzI3BhcnRpY2xlIHtcclxuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA0OXB4KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi5jY20tcGFnZS5jY20tcGFnZS10ZW1wbGF0ZS1sYW4ge1xyXG4gIC5sYW4tcGFydGljaXBhbnQtbnVtYmVyIHtcclxuICAgIGZvbnQtc2l6ZTogNnJlbTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gIH1cclxuXHJcbn0iLCIkZm9udC1zaXplLW1pbmk6ICRmb250LXNpemUtc207XHJcbiRmb250LXNpemUtc21hbGw6ICRmb250LXNpemUtc207XHJcbiRmb250LXNpemUtbGFyZ2U6ICRmb250LXNpemUtbGc7XHJcbiRmb250LXNpemUtbGFyZ2VyOiAkZm9udC1zaXplLWxnO1xyXG4kZm9udC13ZWlnaHQtdGhpbjogMjAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaS1ib2xkOiAzMDA7XHJcbiRsaW5lLWhlaWdodC1jb21wdXRlZDogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiR0ZXh0LWNvbG9yOiAkYm9keS1jb2xvcjtcclxuJHNoYWRvdy1jb2xvcjogJGdyYXktNjAwO1xyXG4kYm94LXNpemluZzogaW5saW5lLWJveDtcclxuJGJnLWFkZGl0aW9uOiAkZ3JheS04MDA7XHJcblxyXG4kYnJhbmQtZGFuZ2VyOiAkZGFuZ2VyO1xyXG4kYnJhbmQtd2FybmluZzogJHdhcm5pbmc7XHJcbiRicmFuZC1pbmZvOiAkaW5mbztcclxuJGJyYW5kLXN1Y2Nlc3M6ICRzdWNjZXNzO1xyXG4kYm9yZGVyLXJhZGl1cy1iYXNlOiAwcHg7XHJcbiRsaWJzLWNvbXBpbGVkLWZvbGRlcjogJ2ltYWdlcyc7XHJcbiRkcm9wem9uZS1jb2xvcjogJGdyYXktODAwO1xyXG5cclxuJGdyYXk6ICRib2R5LWNvbG9yO1xyXG4kZ3JheS1saWdodDogbGlnaHRlbigkZ3JheSwgMTAlKTtcclxuJGdyYXktbGlnaHRlcjogbGlnaHRlbigkZ3JheS1saWdodCwgMTAlKTtcclxuJGdyYXktZGFyazogZGFya2VuKCRncmF5LCAxMCUpO1xyXG4kZ3JheS1zZW1pLWxpZ2h0ZXI6IDEwMDtcclxuXHJcbiRmZWVkLWl0ZW0tbGluZS1jb2xvcjogI2ZmZjtcclxuJGZlZWQtaXRlbS1iZzogIzAwMDtcclxuJGZlZWQtaXRlbS1jb2xvcjogcmVkO1xyXG5cclxuJHdpZGdldC1jb2xvcjogJGJvZHktY29sb3I7XHJcbiR3aWRnZXQtYmc6ICRncmF5LTgwMDtcclxuJHdpZGdldC1oZWFkZXItY29sb3I6ICR3aGl0ZTtcclxuJHdpZGdldC1oZWFkZXItc21hbGxzLWNvbG9yOiAkYm9keS1jb2xvcjtcclxuJHdpZGdldC1iZy1jb21tb246ICRib2R5LWNvbG9yO1xyXG4kd2lkZ2V0LXBhZGRpbmctaG9yaXpvbnRhbDogMXJlbTtcclxuJHdpZGdldC1wYWRkaW5nLXZlcnRpY2FsOiAxcmVtO1xyXG4kd2lkZ2V0LXBhZGRpbmc6ICR3aWRnZXQtcGFkZGluZy1ob3Jpem9udGFsICR3aWRnZXQtcGFkZGluZy12ZXJ0aWNhbDtcclxuJHdpZGdldC1jb250cm9scy1jb2xvcjogd2hpdGU7XHJcbiR3aWRnZXQtY29udHJvbHMtaG92ZXItY29sb3I6ICRwcmltYXJ5O1xyXG4kd2lkZ2V0LW1iOiAkc3BhY2VyO1xyXG5cclxuJGxvY2F0aW9uLXNlbGVjdG9yLWJvcmRlci1jb2xvcjogIzAwMDtcclxuJGxvY2F0aW9uLXNlbGVjdG9yLWJnOiAjZmZmO1xyXG5cclxuJGxpc3QtZ3JvdXAtYm9yZGVyOiBzb2xpZCAxcHggJGdyYXk7XHJcblxyXG4uY2NtLXBhZ2UgLmxhc2hib2FyZC1jb250ZW50IHtcclxuXHJcblxyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuICAvKiBjdXN0b20gd2lkZ2V0cyBjbGFzc2VzIChlbWFpbCB3aWRnZXQsIGNoYXJ0cywgZXRjKS4gVGhpcyBmaWxlIGNhbiBiZSByZW1vdmVkLiAqL1xyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4gIC8qKiAgICAgICAgICBFVkVOVFMgICAgICAgICAgICAgICAqKi9cclxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbiAgLmV4dGVybmFsLWV2ZW50IHtcclxuICAgIG1hcmdpbjogMTVweCAwO1xyXG4gICAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4gIC8qKiAgICAgICAgICBGRUVEICAgICAgICAgICAgICAgICAqKi9cclxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbiAgLmZlZWR7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAvL292ZXJmbG93LXk6IGF1dG87XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgLndyYXBwZXJ7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAudmVydGljYWwtbGluZXtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB3aWR0aDogMnB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkZmVlZC1pdGVtLWxpbmUtY29sb3I7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogMTNweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mZWVkLWl0ZW17XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcclxuICAgIC5pY29ue1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRmZWVkLWl0ZW0tYmc7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgY29sb3I6ICRmZWVkLWl0ZW0tY29sb3I7XHJcbiAgICAgIHdpZHRoOiAyOHB4O1xyXG4gICAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcblxyXG4gICAgICBpbWd7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogLTJweDtcclxuICAgICAgICB3aWR0aDogMjZweDtcclxuICAgICAgICBoZWlnaHQ6IDI2cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgICYuZmVlZC1lbnRlci1hY3RpdmUsICYuZmVlZC1sZWF2ZS1hY3RpdmV7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAxcztcclxuICAgIH1cclxuICAgICYuZmVlZC1lbnRlciwgLmZlZWQtbGVhdmUtdG8gLyogLmxpc3QtbGVhdmUtYWN0aXZlIGJlbG93IHZlcnNpb24gMi4xLjggKi8ge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICBoZWlnaHQ6IDAlO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZmVlZC1pdGVtICsgLmZlZWQtaXRlbXtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgfVxyXG5cclxuICAuZmVlZC1pdGVtLWJvZHl7XHJcbiAgICBwYWRkaW5nLXRvcDogM3B4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG5cclxuICAgIC50aW1le1xyXG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcclxuICAgICAgY29sb3I6ICR0ZXh0LW11dGVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuICAvKiogICAgICAgICAgV0lER0VUICAgICAgICAgICAgICAgKiovXHJcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cclxuICAud2lkZ2V0e1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcclxuICAgIC8vQGluY2x1ZGUgYm94LXNpemluZyhjb250ZW50LWJveCk7XHJcbiAgICBwYWRkaW5nOiAkd2lkZ2V0LXBhZGRpbmc7XHJcbiAgICBjb2xvcjogJHdpZGdldC1jb2xvcjtcclxuICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4ocmdiYSgyMiwgMjIsIDIyLCAwLjc1KSwgNSUpICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkd2lkZ2V0LW1iO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHJcbiAgICAvL3dpZGdldCBzaXplc1xyXG4gICAgJi5ub3JtYWx7XHJcbiAgICAgIGhlaWdodDogMjIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5sYXJnZXtcclxuICAgICAgaGVpZ2h0OiAzMTVweDtcclxuXHJcbiAgICAgIC5ib2R5e1xyXG4gICAgICAgIGhlaWdodDogMjgwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnhsYXJnZXtcclxuICAgICAgaGVpZ2h0OiA0NDVweDtcclxuXHJcbiAgICAgIC5ib2R5e1xyXG4gICAgICAgIGhlaWdodDogNDEwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnh4bGFyZ2V7XHJcbiAgICAgIGhlaWdodDogNzY3cHg7XHJcblxyXG4gICAgICAuYm9keXtcclxuICAgICAgICBoZWlnaHQ6IDY5M3B4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi50aW55e1xyXG4gICAgICBoZWlnaHQ6IDE4OHB4O1xyXG4gICAgfVxyXG5cclxuICAgICYudGlueS14MntcclxuICAgICAgaGVpZ2h0OiA0MjZweDtcclxuICAgIH1cclxuXHJcbiAgICAmLnRyYW5zcGFyZW50e1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcclxuICAgIH1cclxuXHJcbiAgICAmID4gaGVhZGVye1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgIGNvbG9yOiAkd2lkZ2V0LWhlYWRlci1jb2xvcjtcclxuXHJcbiAgICAgIGgxLGgyLGgzLGg0LGg1e1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG5cclxuICAgICAgICBzbWFsbHtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XHJcbiAgICAgICAgICBjb2xvcjogJHdpZGdldC1oZWFkZXItc21hbGxzLWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaDR7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYm9keXtcclxuICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAmID4gZm9vdGVye1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIG1hcmdpbjogMTVweCAwIDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmFjdGlvbnN7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgYXtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAud2lkZ2V0LXRhYmxlLW92ZXJmbG93e1xyXG4gICAgICBtYXJnaW46IDAgKC0kd2lkZ2V0LXBhZGRpbmctaG9yaXpvbnRhbCkgKC0kd2lkZ2V0LXBhZGRpbmctdmVydGljYWwpO1xyXG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcclxuXHJcbiAgICAgIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcclxuICAgICAgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLFxyXG4gICAgICAudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXHJcbiAgICAgIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCxcclxuICAgICAgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLFxyXG4gICAgICAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAkd2lkZ2V0LXBhZGRpbmctaG9yaXpvbnRhbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkd2lkZ2V0LXBhZGRpbmctaG9yaXpvbnRhbDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC53aWRnZXQtY29udHJvbHN7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XHJcbiAgICB3b3JkLXNwYWNpbmc6IDFweDtcclxuXHJcbiAgICAmLmxlZnR7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgID4gYSwgPiBzcGFue1xyXG4gICAgICBwYWRkaW5nOiAxcHggNHB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgIGNvbG9yOiAkd2lkZ2V0LWNvbnRyb2xzLWNvbG9yO1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQpO1xyXG5cclxuICAgICAgPiAuZmF7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgPiAuZ2x5cGhpY29ue1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAtMXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiBhOmhvdmVye1xyXG4gICAgICBjb2xvcjogJHdpZGdldC1jb250cm9scy1ob3Zlci1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAuZmEtcmVmcmVzaHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB0b3A6IC0xcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvL2pRdWVyeSBEYXRhVGFibGVzXHJcblxyXG4gIHRhYmxlLnRhYmxlIHRoZWFkIC5zb3J0aW5nLFxyXG4gIHRhYmxlLnRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzYyxcclxuICB0YWJsZS50YWJsZSB0aGVhZCAuc29ydGluZ19kZXNjLFxyXG4gIHRhYmxlLnRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzY19kaXNhYmxlZCxcclxuICB0YWJsZS50YWJsZSB0aGVhZCAuc29ydGluZ19kZXNjX2Rpc2FibGVkIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICpjdXJzb3I6IGhhbmQ7XHJcbiAgfVxyXG5cclxuICB0YWJsZS50YWJsZSB0aGVhZCAuc29ydGluZyB7IGJhY2tncm91bmQ6IHVybCgnI3skbGlicy1jb21waWxlZC1mb2xkZXJ9L2RhdGF0YWJsZXMvbWVkaWEvaW1hZ2VzL3NvcnRfYm90aC5wbmcnKSBuby1yZXBlYXQgY2VudGVyIHJpZ2h0OyB9XHJcbiAgdGFibGUudGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjIHsgYmFja2dyb3VuZDogdXJsKCcjeyRsaWJzLWNvbXBpbGVkLWZvbGRlcn0vZGF0YXRhYmxlcy9tZWRpYS9pbWFnZXMvc29ydF9hc2MucG5nJykgbm8tcmVwZWF0IGNlbnRlciByaWdodDsgfVxyXG4gIHRhYmxlLnRhYmxlIHRoZWFkIC5zb3J0aW5nX2Rlc2MgeyBiYWNrZ3JvdW5kOiB1cmwoJyN7JGxpYnMtY29tcGlsZWQtZm9sZGVyfS9kYXRhdGFibGVzL21lZGlhL2ltYWdlcy9zb3J0X2Rlc2MucG5nJykgbm8tcmVwZWF0IGNlbnRlciByaWdodDsgfVxyXG5cclxuICB0YWJsZS50YWJsZSB0aGVhZCAuc29ydGluZ19hc2NfZGlzYWJsZWQgeyBiYWNrZ3JvdW5kOiB1cmwoJyN7JGxpYnMtY29tcGlsZWQtZm9sZGVyfS9kYXRhdGFibGVzL21lZGlhL2ltYWdlcy9zb3J0X2FzY19kaXNhYmxlZC5wbmcnKSBuby1yZXBlYXQgY2VudGVyIHJpZ2h0OyB9XHJcbiAgdGFibGUudGFibGUgdGhlYWQgLnNvcnRpbmdfZGVzY19kaXNhYmxlZCB7IGJhY2tncm91bmQ6IHVybCgnI3skbGlicy1jb21waWxlZC1mb2xkZXJ9L2RhdGF0YWJsZXMvbWVkaWEvaW1hZ2VzL3NvcnRfZGVzY19kaXNhYmxlZC5wbmcnKSBuby1yZXBlYXQgY2VudGVyIHJpZ2h0OyB9XHJcblxyXG4gIC5wZXItcGFnZS1zZWxlY3RvciBsYWJlbHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBsaW5lLWhlaWdodDogMjZweDtcclxuICB9XHJcblxyXG4gIC50YWJsZS10b3AtY29udHJvbHtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICB9XHJcblxyXG4gIC50YWJsZS1ib3R0b20tY29udHJvbHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAucGFnaW5hdGlvbntcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuICAvKiogICAgICAgICAgRklMRVVQTE9BRCAgICAgICAgICAqKi9cclxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbiAgLmZpbGV1cGxvYWQtcHJvZ3Jlc3MuZmFkZXtcclxuXHJcbiAgICAmLmlue1xyXG4gICAgICAucHJvZ3Jlc3N7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5wcm9ncmVzcy1leHRlbmRlZHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnByb2dyZXNze1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudGVtcGxhdGUtdXBsb2FkIHZpZGVve1xyXG4gICAgbWF4LXdpZHRoOiAyMDBweDtcclxuICB9XHJcblxyXG4gIC5kcm9wem9uZXtcclxuICAgIGJvcmRlcjogMnB4IGRhc2hlZCAkZHJvcHpvbmUtY29sb3I7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgY29sb3I6ICRkcm9wem9uZS1jb2xvcjtcclxuICAgIGxpbmUtaGVpZ2h0OiAxMjBweDtcclxuICAgIHBhZGRpbmctbGVmdDogNyU7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcclxuXHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHJcbiAgICBpe1xyXG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgLyoqICAgICAgICAgU2VhcmNoIFJlc3VsdCAgICAgICAgICoqL1xyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbiAgLnNlYXJjaC1yZXN1bHQtY2F0ZWdvcmllc3tcclxuICAgID4gbGkgPiBhIHtcclxuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbiAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgID4gLmdseXBoaWNvbntcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgPiAuYmFkZ2V7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2VhcmNoLXJlc3VsdHMtY291bnR7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLnNlYXJjaC1yZXN1bHQtaXRlbXtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2lkZ2V0LWJnO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XHJcblxyXG4gICAgLmltYWdlLWxpbmt7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogLTIwcHggMCAtMjBweCAtMjBweDtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2V7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAuaW5mb3tcclxuICAgICAgbWFyZ2luLXRvcDogMnB4O1xyXG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XHJcbiAgICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcclxuICAgIH1cclxuXHJcbiAgICAuZGVzY3JpcHRpb257XHJcbiAgICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcclxuICAgIH1cclxuXHJcbiAgICArIC5zZWFyY2gtcmVzdWx0LWl0ZW17XHJcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2VhcmNoLXJlc3VsdC1pdGVtLWJvZHl7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMDBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zZWFyY2gtcmVzdWx0LWl0ZW0taGVhZGluZ3tcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG5cclxuICAgID4gYSB7XHJcbiAgICAgIGNvbG9yOiAkd2lkZ2V0LWhlYWRlci1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wYWdpbmF0aW9uLXNlYXJjaC1yZXN1bHR7XHJcbiAgICA+IGxpID4gYSxcclxuICAgID4gbGkgPiBzcGFue1xyXG4gICAgICBjb2xvcjogJHRleHQtY29sb3I7XHJcblxyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmOmZvY3Vze1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdpZGdldC1iZywgLjI1KTtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiAuZGlzYWJsZWQgPiBzcGFuLFxyXG4gICAgPiAuZGlzYWJsZWQgPiBzcGFuOmhvdmVyLFxyXG4gICAgPiAuZGlzYWJsZWQgPiBzcGFuOmZvY3VzLFxyXG4gICAgPiAuZGlzYWJsZWQgPiBhLFxyXG4gICAgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLFxyXG4gICAgPiAuZGlzYWJsZWQgPiBhOmZvY3Vze1xyXG4gICAgICBjb2xvcjogI2RkZDtcclxuICAgIH1cclxuXHJcbiAgICA+IC5hY3RpdmUgPiBhLFxyXG4gICAgPiAuYWN0aXZlID4gYTpob3ZlcixcclxuICAgID4gLmFjdGl2ZSA+IGE6Zm9jdXMsXHJcbiAgICA+IC5hY3RpdmUgPiBzcGFuLFxyXG4gICAgPiAuYWN0aXZlID4gc3Bhbjpob3ZlcixcclxuICAgID4gLmFjdGl2ZSA+IHNwYW46Zm9jdXN7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdpZGdldC1iZywgLjI1KTtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuICAvKiogICAgICAgICAgRVJST1IgUEFHRSAgICAgICAgICAgKiovXHJcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuICAvLy5lcnJvci1wYWdle1xyXG4gIC8vICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1zZW1pLWxpZ2h0ZXI7XHJcbiAgLy99XHJcblxyXG4gIC5lcnJvci1jb250YWluZXJ7XHJcbiAgICBwYWRkaW5nLXRvcDogNSU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgPiAuYnRue1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZXJyb3ItY29kZXtcclxuICAgIGZvbnQtc2l6ZTogODBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtdGhpbjtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTgwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZXJyb3ItaW5mb3tcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICB9XHJcblxyXG4gIC5lcnJvci1oZWxwe1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gIH1cclxuXHJcbiAgLmVycm9yLXBhZ2UgLnBhZ2UtZm9vdGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMzBweDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xyXG4gICAgY29sb3I6IHJnYmEoJHdoaXRlLCAuOCk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgLyoqICAgICAgICAgICAgSU5WT0lDRSAgICAgICAgICAgICoqL1xyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbiAgLmludm9pY2UtbG9nb3tcclxuICAgIHdpZHRoOiAyNTNweDtcclxuICAgIGhlaWdodDogNzBweDtcclxuICB9XHJcblxyXG4gIC5pbnZvaWNlLW51bWJlcntcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMS41O1xyXG4gICAgbWFyZ2luLXRvcDogMTVweDtcclxuICB9XHJcblxyXG4gIC5pbnZvaWNlLW51bWJlci1pbmZve1xyXG4gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlcjtcclxuICB9XHJcblxyXG4gIC5pbnZvaWNlLWluZm97XHJcbiAgICAuZGV0YWlscy10aXRsZXtcclxuICAgICAgY29sb3I6ICR0ZXh0LW11dGVkO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaW52b2ljZS1hY3Rpb25ze1xyXG4gICAgbWFyZ2luLXRvcDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xyXG4gIH1cclxuXHJcbiAgLmNsaWVudC1kZXRhaWxze1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgfVxyXG5cclxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgLyoqICAgICAgICAgICAgIEluYm94ICAgICAgICAgICAgICoqL1xyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG4gIC5uYXYtZW1haWwtZm9sZGVyc3tcclxuICAgID4gbGkgPiBhIHtcclxuICAgICAgY29sb3I6ICRncmF5LWxpZ2h0ZXI7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgJjpob3ZlcntcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aWRnZXQtYmctY29tbW9uLCAuMjUpO1xyXG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgPiAuZ2x5cGhpY29ue1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICA+IC5mYS1jaXJjbGV7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICA+IC5iYWRnZXtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtZGFuZ2VyO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiBsaS5hY3RpdmUgPiBhe1xyXG4gICAgICAmLFxyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aWRnZXQtYmctY29tbW9uLCAuMjUpO1xyXG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcclxuXHJcbiAgICAgICAgPiAuYmFkZ2V7XHJcbiAgICAgICAgICBjb2xvcjogJGdyYXktZGFya1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLndpZGdldC1lbWFpbC1jb3VudHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcclxuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xyXG5cclxuICAgICsgLndpZGdldC1lbWFpbC1wYWdpbmF0aW9ue1xyXG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZ3JheS1zZW1pLWxpZ2h0ZXI7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgdmVydGljYWwtYWxpZ246IC05cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAud2lkZ2V0LWVtYWlsLXBhZ2luYXRpb257XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG5cclxuICAudGFibGUtZW1haWxze1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICAubmFtZSxcclxuICAgIC5zdWJqZWN0LFxyXG4gICAgLmRhdGV7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAuZGF0ZXtcclxuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgIG1pbi13aWR0aDogNjVweDtcclxuICAgIH1cclxuXHJcbiAgICAudW5yZWFke1xyXG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcclxuICAgICAgY29sb3I6ICR3aWRnZXQtY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgLmZhdm9yaXRle1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnN0YXJyZWR7XHJcbiAgICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIC4ycyk7XHJcbiAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZmEtc3RhcntcclxuICAgICAgICBjb2xvcjogJGJyYW5kLXdhcm5pbmc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAud2lkZ2V0LXRhYmxlLW92ZXJmbG93ICYgdGQsdGh7XHJcbiAgICAgICY6Zmlyc3QtY2hpbGR7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkd2lkZ2V0LXBhZGRpbmctaG9yaXpvbnRhbDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpsYXN0LWNoaWxke1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICR3aWRnZXQtcGFkZGluZy1ob3Jpem9udGFsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY29tcG9zZS12aWV3e1xyXG4gICAgbWFyZ2luOiAkd2lkZ2V0LXBhZGRpbmctdmVydGljYWwgJHdpZGdldC1wYWRkaW5nLWhvcml6b250YWw7XHJcbiAgfVxyXG5cclxuICAuZW1haWwtdmlld3tcclxuICAgIG1hcmdpbjogJHdpZGdldC1wYWRkaW5nLXZlcnRpY2FsICR3aWRnZXQtcGFkZGluZy1ob3Jpem9udGFsO1xyXG4gICAgaHJ7XHJcbiAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmVtYWlsLWJvZHl7XHJcbiAgICAgIG1hcmdpbi10b3A6ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5lbWFpbC1kZXRhaWxzIGltZ3tcclxuICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgfVxyXG5cclxuICAuZW1haWwtZGV0YWlscy1jb250ZW50e1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcclxuXHJcbiAgICAuZW1haWx7XHJcbiAgICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcclxuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1pbmk7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlY2VpdmVye1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgY29sb3I6ICR0ZXh0LW11dGVkO1xyXG4gICAgICBtYXJnaW4tdG9wOiAtNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5lbWFpbC1kYXRle1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmVtYWlsLWF0dGFjaG1lbnRze1xyXG4gICAgLmF0dGFjaG1lbnR7XHJcbiAgICAgIGltZ3tcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG5cclxuICAgICAgLnRpdGxle1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuICAvKiogICAgICAgICAgICBMQU5ESU5HICAgICAgICAgICAgKiovXHJcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuICAubGFuZGluZ3tcclxuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gICAgLnBhZ2UtaGVhZGVye1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItbWVudSA+IGxpe1xyXG4gICAgICA+IGF7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItYnV0dG9uc3tcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICA+IGxpe1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgID4gYXtcclxuICAgICAgICAgIG1hcmdpbjogN3B4IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ297XHJcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRlbnR7XHJcbiAgICAgIHBhZGRpbmc6IDI1cHggMDtcclxuICAgIH1cclxuXHJcbiAgICAubGVhZHtcclxuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIH1cclxuXHJcbiAgICAuYnRue1xyXG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG5cclxuICAgICAgKyAuYnRue1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLndpZGdldCBwe1xyXG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2VyO1xyXG4gICAgfVxyXG5cclxuICAgIC53aWRnZXQtYWJvdXR7XHJcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcblxyXG4gICAgICBoMiwgaDR7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnByZXZpZXd7XHJcbiAgICAgICAgbWFyZ2luOiA0MHB4IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5idG57XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmltZy1hYm91dHtcclxuICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5mZWF0dXJlc3tcclxuICAgICAgbWFyZ2luLXRvcDogNjBweDtcclxuICAgIH1cclxuXHJcbiAgICAuZmVhdHVyZXtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgLmljb257XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgPiBpe1xyXG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRoYW5rc3tcclxuICAgICAgbWFyZ2luLXRvcDogNjBweDtcclxuICAgIH1cclxuXHJcbiAgICAuYmFjay10by10b3B7XHJcbiAgICAgIGNvbG9yOiAkdGV4dC1jb2xvclxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLndpZGdldC13aGl0ZXtcclxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgIGNvbG9yOiAkZ3JheTtcclxuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAtMXB4IDFweCAkc2hhZG93LWNvbG9yLCAwIDFweCAxcHggJHNoYWRvdy1jb2xvcik7XHJcblxyXG4gICAgKntcclxuICAgICAgY29sb3I6ICRncmF5O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNhcm91c2VsLWxhbmRpbmd7XHJcbiAgICBoZWlnaHQ6IDQ1MHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICBpbWd7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICBoMXtcclxuICAgICAgZm9udC1zaXplOiA0NXB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMS4xO1xyXG4gICAgfVxyXG5cclxuICAgIC5pdGVtID4gLnJvdyA+ICo6Zmlyc3QtY2hpbGR7XHJcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGlkZS1vbmUtaGVhZGVye1xyXG4gICAgICBtYXJnaW4tdG9wOiA4MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGlkZS10d28taGVhZGVye1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGlkZS10aHJlZS1oZWFkZXJ7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5idG4tdmVyc2lvbi1wcmV2aWV3e1xyXG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jYXJvdXNlbC1mYWRle1xyXG4gICAgLmNhcm91c2VsLWlubmVye1xyXG4gICAgICA+IC5pdGVte1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA+IC5uZXh0LFxyXG4gICAgICA+IC5wcmV2IHtcclxuICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICAgID4gLm5leHQubGVmdCxcclxuICAgICAgPiAucHJldi5yaWdodCB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA+IC5hY3RpdmUubGVmdCxcclxuICAgICAgPiAuYWN0aXZlLnJpZ2h0LFxyXG4gICAgICA+IC5uZXh0LFxyXG4gICAgICA+IC5wcmV2e1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNhcm91c2VsLWNvbnRyb2wtbGFuZGluZyB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgd2lkdGg6IDIlO1xyXG4gICAgLy9mb250LXNpemU6IDUwcHg7XHJcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDhweCByZ2JhKDI1NSwyNTUsMjU1LCAuNik7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICAuaWNvbi1wcmV2LFxyXG4gICAgICAuaWNvbi1uZXh0IHtcclxuICAgICAgICBmb250LXNpemU6IDUwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgJi5sZWZ0IHtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIH1cclxuICAgICYucmlnaHQge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKi9cclxuICAvKiAgICBOb3RpZmljYXRpb25zICAgICovXHJcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuICAubG9jYXRpb24tc2VsZWN0b3Ige1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDIyMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggZGFzaGVkICRsb2NhdGlvbi1zZWxlY3Rvci1ib3JkZXItY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbG9jYXRpb24tc2VsZWN0b3ItYmc7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuICAubG9jYXRpb24tc2VsZWN0b3IgLmJpdCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGxvY2F0aW9uLXNlbGVjdG9yLWJnLCAxMCUpO1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQpO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XHJcbiAgLmxvY2F0aW9uLXNlbGVjdG9yIC5iaXQ6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRsb2NhdGlvbi1zZWxlY3Rvci1iZywgMTUlKTs7IH1cclxuICAubG9jYXRpb24tc2VsZWN0b3IgLmJpdC50b3AsIC5sb2NhdGlvbi1zZWxlY3RvciAuYml0LmJvdHRvbSB7XHJcbiAgICBoZWlnaHQ6IDI1JTtcclxuICAgIHdpZHRoOiA0MCU7XHJcbiAgICBtYXJnaW46IDAgMzAlOyB9XHJcbiAgLmxvY2F0aW9uLXNlbGVjdG9yIC5iaXQudG9wIHtcclxuICAgIHRvcDogMDsgfVxyXG4gIC5sb2NhdGlvbi1zZWxlY3RvciAuYml0LmJvdHRvbSB7XHJcbiAgICBib3R0b206IDA7IH1cclxuICAubG9jYXRpb24tc2VsZWN0b3IgLmJpdC5yaWdodCwgLmxvY2F0aW9uLXNlbGVjdG9yIC5iaXQubGVmdCB7XHJcbiAgICBoZWlnaHQ6IDIwJTtcclxuICAgIHdpZHRoOiAyMCU7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIG1hcmdpbi1yaWdodDogMDsgfVxyXG4gIC5sb2NhdGlvbi1zZWxlY3RvciAuYml0LnJpZ2h0IHtcclxuICAgIHJpZ2h0OiAwOyB9XHJcbiAgLmxvY2F0aW9uLXNlbGVjdG9yIC5iaXQubGVmdCB7XHJcbiAgICBsZWZ0OiAwOyB9XHJcblxyXG5cclxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgLyoqICAgICAgICAgIENIQVJUUyAgICAgICAgICAgICAgICoqL1xyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHJcbiAgLmxhcmdlIC5waWUtY2hhcnR7XHJcbiAgICBoZWlnaHQ6IDIxMnB4O1xyXG4gIH1cclxuXHJcbiAgLnhsYXJnZSAucGllLWNoYXJ0e1xyXG4gICAgaGVpZ2h0OiAyOThweDtcclxuICB9XHJcblxyXG4gIC5waWUtY2hhcnR7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgLnRvdGFse1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICB9XHJcblxyXG4gICAgLnZpc2l0c3tcclxuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1iYXNlO1xyXG4gICAgICBjb2xvcjogJHdpZGdldC1oZWFkZXItY29sb3I7XHJcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5waWUtY2hhcnQtZm9vdGVye1xyXG5cclxuICAgIC5jb250cm9sc3tcclxuICAgICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRyb2x7XHJcbiAgICAgIC8vQGluY2x1ZGUgYm94LXNpemluZyhjb250ZW50LWJveCk7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRiZy1hZGRpdGlvbjtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICBwYWRkaW5nOiAzcHggMiU7XHJcbiAgICAgIGNvbG9yOiAkd2lkZ2V0LWhlYWRlci1jb2xvcjtcclxuICAgICAgd2lkdGg6IDIwLjYyNSU7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgLy9AaW5jbHVkZSB1c2VyLXNlbGVjdChub25lKTtcclxuXHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjUlO1xyXG5cclxuICAgICAgZmxvYXQ6bGVmdDtcclxuXHJcbiAgICAgICY6Zmlyc3QtY2hpbGR7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpsYXN0LWNoaWxke1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmRpc2FibGVke1xyXG4gICAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAua2V5e1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnZhbHVle1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC52aXNpdHMtY2hhcnR7XHJcbiAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gIH1cclxuXHJcbiAgLnZpc2l0cy1pbmZve1xyXG4gICAgbWFyZ2luOiAkd2lkZ2V0LXBhZGRpbmctdmVydGljYWwgKC0kd2lkZ2V0LXBhZGRpbmctaG9yaXpvbnRhbCkgKC0kd2lkZ2V0LXBhZGRpbmctdmVydGljYWwpO1xyXG4gICAgcGFkZGluZy10b3A6IDE4cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIC5rZXl7XHJcbiAgICAgIGNvbG9yOiAkd2lkZ2V0LWhlYWRlci1jb2xvclxyXG4gICAgfVxyXG5cclxuICAgIC52YWx1ZXtcclxuICAgICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogZGlzYWJsZSBib290c3RyYXAgMyBib3JkZXItYm94IGZvciB0b29sdGlwcyAqL1xyXG4gIC5qcXN0b29sdGlwe1xyXG4gICAgJiwgKntcclxuICAgICAgLy9AaW5jbHVkZSBib3gtc2l6aW5nKGNvbnRlbnQtYm94KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuICAvKiogICAgICAgICAgTkVXUyBMSVNUICAgICAgICAgICAqKi9cclxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuICAvKipcclxuICAgKiBMZWdhY3kgLnVzZXJzLWxpc3QuIFdpbGwgYmUgcmVtb3ZlZCBpbiBuZXh0IHJlbGVhc2UuXHJcbiAgICovXHJcblxyXG4gIC5uZXdzLWxpc3QsXHJcbiAgLnVzZXJzLWxpc3R7XHJcblxyXG4gICAgJi5uZXdzLWxpc3Qtbm8taG92ZXIgbGk6aG92ZXJ7XHJcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIH1cclxuXHJcbiAgICAmLnN0cmV0Y2hhYmxlID4gbGl7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICBsaXtcclxuICAgICAgLy9AaW5jbHVkZSBib3gtc2l6aW5nKGNvbnRlbnQtYm94KTtcclxuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRiZy1hZGRpdGlvbjtcclxuICAgICAgcGFkZGluZzogMTJweDtcclxuICAgICAgbWFyZ2luOiAwICgtJHdpZGdldC1wYWRkaW5nLWhvcml6b250YWwpO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLW91dCk7XHJcblxyXG4gICAgICAmOmhvdmVye1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRiZy1hZGRpdGlvbjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpsYXN0LWNoaWxke1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0kd2lkZ2V0LXBhZGRpbmctdmVydGljYWw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbWcsXHJcbiAgICAuaWNvbntcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmljb257XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgZm9udC1zaXplOiAzMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5uZXdzLWl0ZW0taW5mb3tcclxuICAgICAgbWFyZ2luLWxlZnQ6IDYycHg7IC8qNTAgKyAxMnB4IHBhZGRpbmcqL1xyXG4gICAgfVxyXG5cclxuICAgIC5uYW1lLCAudGltZSwgLnBvc2l0aW9ue1xyXG4gICAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICAgIH1cclxuXHJcbiAgICBoNC5uYW1le1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAubmFtZXtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgYXtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwe1xyXG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogOTAlO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS40O1xyXG4gICAgfVxyXG5cclxuICAgIC50aW1le1xyXG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XHJcbiAgICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcclxuICAgIH1cclxuXHJcbiAgICAub3B0aW9uc3tcclxuICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb21tZW50e1xyXG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XHJcbiAgICAgIGNvbG9yOiAkd2lkZ2V0LWNvbG9yO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS4zZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudXNlcnMtbGlzdC1ncm91cHtcclxuICAgIGltZ3tcclxuICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAuZmEtY2lyY2xle1xyXG4gICAgICBtYXJnaW4tdG9wOiAxNHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuICAvKiogICAgICAgICAgTE9HSU4gICAgICAgICAgICAgICAgKiovXHJcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4gIC5zaW5nbGUtd2lkZ2V0LWNvbnRhaW5lciB7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBtYXJnaW4tdG9wOiAtKDM4NXB4IC8gMik7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAud2lkZ2V0IHtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubG9naW4td2lkZ2V0LCAucmVnaXN0cmF0aW9uLXdpZGdldCB7XHJcbiAgICB3aWR0aDogMzUwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuXHJcbiAgICBoZWFkZXIge1xyXG4gICAgICBtYXJnaW46IDE1cHggMCAyNXB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0tY29udHJvbHtcclxuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLmlucHV0LWdyb3VwLWFkZG9ue1xyXG4gICAgICBwYWRkaW5nOiA4cHggN3B4O1xyXG4gICAgICBpe1xyXG4gICAgICAgICYsICY6YmVmb3JlLCAmOmFmdGVye1xyXG4gICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0tYWN0aW9ucyB7XHJcbiAgICAgIG1hcmdpbjogMCAoLSR3aWRnZXQtcGFkZGluZy1ob3Jpem9udGFsKTtcclxuICAgICAgcGFkZGluZzogMjBweCAxNXB4IDAgMTVweDtcclxuXHJcbiAgICAgIC5zbWFsbC1jaXJjbGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjIpO1xyXG5cclxuICAgICAgICBpe1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgbGVmdDogMXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuZm9yZ290IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6ICR3aWRnZXQtaGVhZGVyLWNvbG9yO1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGZvb3RlcntcclxuICAgICAgbWFyZ2luOiAwICgtJHdpZGdldC1wYWRkaW5nLWhvcml6b250YWwpO1xyXG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgIH1cclxuXHJcbiAgICAuZmFjZWJvb2stbG9naW4ge1xyXG4gICAgICAvL0BpbmNsdWRlIGJveC1zaXppbmcoY29udGVudC1ib3gpO1xyXG4gICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgLyoqICAgICAgICAgIENIQVQgICAgICAgICAgICAgICAgICoqL1xyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuICAuY2hhdCB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG4gIC5jaGF0LW1lc3NhZ2Vze1xyXG4gICAgcGFkZGluZy1yaWdodDogMTVweDsgLy9zb21lIHNwYWNlIGZvciBzY3JvbGxcclxuXHJcbiAgfVxyXG5cclxuICAuY2hhdC1mb290ZXJ7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAvL0BpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgIGlucHV0e1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNoYXQtbWVzc2FnZXtcclxuICAgICY6bnRoLWNoaWxkKGV2ZW4pe1xyXG4gICAgICA+IC5zZW5kZXIge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOm50aC1jaGlsZChvZGQpe1xyXG4gICAgICA+IC5zZW5kZXIge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICB9XHJcbiAgICAgIC8qPiAuY2hhdC1tZXNzYWdlLWJvZHkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNjNweDtcclxuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCBkYXJrZW4oJHdpZGdldC1iZywgMTAlKTtcclxuXHJcbiAgICAgICAgLmFycm93e1xyXG4gICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgIHJpZ2h0OiAtN3B4O1xyXG5cclxuICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgZGFya2VuKCR3aWRnZXQtYmcsIDEwJSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2VuZGVyLCAudGV4dHtcclxuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgfSovXHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIC5pY29ue1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgd2lkdGg6IDUzcHg7XHJcbiAgICAgIGhlaWdodDogNTNweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDUzcHg7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUzcHg7XHJcblxyXG4gICAgICBpbWd7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogLTJweDtcclxuICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGltZXtcclxuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS41ZW07XHJcbiAgICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcclxuICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNoYXQtbWVzc2FnZSArIC5jaGF0LW1lc3NhZ2V7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLmNoYXQtbWVzc2FnZS1ib2R5e1xyXG4gICAgbWFyZ2luLWxlZnQ6IDYzcHg7XHJcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoNTIsNTgsNjQsMC4zKTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgZGFya2VuKCR3aWRnZXQtYmcsIDEwJSk7XHJcblxyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcclxuXHJcbiAgICAmLm9uLWxlZnR7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDYzcHg7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xyXG4gICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCBkYXJrZW4oJHdpZGdldC1iZywgMTAlKTtcclxuXHJcbiAgICAgIC5hcnJvd3tcclxuICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgIHJpZ2h0OiAtN3B4O1xyXG5cclxuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCBkYXJrZW4oJHdpZGdldC1iZywgMTAlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnNlbmRlciwgLnRleHR7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYXJyb3d7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMjFweDtcclxuICAgICAgbGVmdDogLTdweDtcclxuICAgICAgd2lkdGg6IDA7XHJcbiAgICAgIGhlaWdodDogMDtcclxuXHJcbiAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCBkYXJrZW4oJHdpZGdldC1iZywgMTAlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuICAvKiogICAgICAgICAgU1RBVFMtQUNUSVZJVFkgICAgICAgKiovXHJcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4gIC5vdmVyYWxsLXN0YXRze1xyXG5cclxuICAgIGxpe1xyXG4gICAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5rZXl7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5pY29ue1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnZhbHVle1xyXG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAuc2VydmVyLXN0YXRze1xyXG4gICAgbWFyZ2luLXRvcDogLTNweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDJweDtcclxuICAgIGxpe1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAmOmxhc3QtY2hpbGR7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wcm9ncmVzc3tcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuICAvKiogICAgICAgICAgIElDT04gTElTVCAgICAgICAgICAgKiovXHJcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuICAuaWNvbi1saXN0e1xyXG4gICAgbWFyZ2luLXRvcDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xyXG4gIH1cclxuXHJcbiAgLmljb24tbGlzdC1pdGVte1xyXG4gICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XHJcbiAgICA+IGF7XHJcbiAgICAgIGNvbG9yOiAkd2lkZ2V0LWNvbG9yO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC5nbHlwaGljb24sXHJcbiAgICAuZmF7XHJcbiAgICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlcntcclxuICAgICAgLmdseXBoaWNvbixcclxuICAgICAgLmZhe1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmZhe1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAtNXB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZ2x5cGhpY29ue1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAtNnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgLyoqICAgICAgTElTVCBHUk9VUCBTT1JUQUJMRSAgICAgICoqL1xyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbiAgLmxpc3QtZ3JvdXAtc29ydGFibGV7XHJcbiAgICA+IC5saXN0LWdyb3VwLWl0ZW17XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XHJcblxyXG4gICAgICArIC5saXN0LWdyb3VwLWl0ZW17XHJcbiAgICAgICAgbWFyZ2luLXRvcDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkLzI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+IC5saXN0LWdyb3VwLWl0ZW0tcGxhY2Vob2xkZXJ7XHJcbiAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCAkZ3JheS1saWdodDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkd2lkZ2V0LWJnLWNvbW1vbiwgLjI1KTtcclxuICAgIH1cclxuXHJcbiAgICAmOmxhc3Qtb2YtdHlwZSA+IC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaXN0LWdyb3VwLWJvcmRlcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE5lc3RhYmxlXHJcbiAgICovXHJcblxyXG4gIC5kZCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgLmRkLWxpc3Qge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICB9XHJcblxyXG4gIC5kZC1saXN0IC5kZC1saXN0IHtcclxuICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICB9XHJcblxyXG4gIC5kZC1jb2xsYXBzZWQgLmRkLWxpc3Qge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC5kZC1pdGVtLFxyXG4gIC5kZC1lbXB0eSxcclxuICAuZGQtcGxhY2Vob2xkZXIge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWluLWhlaWdodDogMjBweDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgLmRkLWhhbmRsZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogMzBweDtcclxuICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgIGNvbG9yOiAkd2lkZ2V0LWNvbG9yO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogJHdpZGdldC1iZztcclxuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XHJcblxyXG4gICAgLy9AaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xyXG4gIH1cclxuXHJcbiAgLmRkLWl0ZW0gPiBidXR0b24ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgbWFyZ2luOiA1cHggMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgY29sb3I6ICR3aWRnZXQtY29sb3I7XHJcbiAgfVxyXG5cclxuICAuZGQtaXRlbSA+IGJ1dHRvbjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJysnO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtaW5kZW50OiAwO1xyXG4gIH1cclxuXHJcbiAgLmRkLWl0ZW0gPiBidXR0b25bZGF0YS1hY3Rpb249XCJjb2xsYXBzZVwiXTpiZWZvcmUge1xyXG4gICAgY29udGVudDogJy0nO1xyXG4gIH1cclxuXHJcbiAgLmRkLXBsYWNlaG9sZGVyLFxyXG4gIC5kZC1lbXB0eSB7XHJcbiAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1pbi1oZWlnaHQ6IDMwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aWRnZXQtYmctY29tbW9uLCAuMik7XHJcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSh3aGl0ZSwgLjYpO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICB9XHJcblxyXG4gIC5kZC1lbXB0eSB7XHJcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSh3aGl0ZSwgLjYpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiA2MHB4IDYwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAsIDMwcHggMzBweDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwyNTUsMjU1LC43NSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDc1JSwgcmdiYSgyNTUsMjU1LDI1NSwuNzUpIDc1JSwgcmdiYSgyNTUsMjU1LDI1NSwuNzUpKSwtbW96LWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsMjU1LDI1NSwuNzUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA3NSUsIHJnYmEoMjU1LDI1NSwyNTUsLjc1KSA3NSUsIHJnYmEoMjU1LDI1NSwyNTUsLjc1KSk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LDI1NSwyNTUsLjc1KSAyNSUscmdiYSgwLCAwLCAwLCAwKSAyNSUscmdiYSgwLCAwLCAwLCAwKSA3NSUscmdiYSgyNTUsMjU1LDI1NSwuNzUpIDc1JSxyZ2JhKDI1NSwyNTUsMjU1LC43NSkpLGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsMjU1LDI1NSwuNzUpIDI1JSxyZ2JhKDAsIDAsIDAsIDApIDI1JSxyZ2JhKDAsIDAsIDAsIDApIDc1JSxyZ2JhKDI1NSwyNTUsMjU1LC43NSkgNzUlLHJnYmEoMjU1LDI1NSwyNTUsLjc1KSk7XHJcbiAgfVxyXG5cclxuICAuZGQtZHJhZ2VsIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgei1pbmRleDogOTk5OTtcclxuICB9XHJcblxyXG4gIC5kZC1kcmFnZWwgPiAuZGQtaXRlbSAuZGQtaGFuZGxlIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgfVxyXG5cclxuICAuZGQtZHJhZ2VsIC5kZC1oYW5kbGUge1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAycHggNHB4IDZweCAwIHJnYmEoMCwgMCwgMCwgLjEpO1xyXG4gICAgYm94LXNoYWRvdzogMnB4IDRweCA2cHggMCByZ2JhKDAsIDAsIDAsIC4xKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE5lc3RhYmxlIEV4dHJhc1xyXG4gICAqL1xyXG5cclxuICAubmVzdGFibGUtbGlzdHMge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIHBhZGRpbmc6IDMwcHggMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNkZGQ7XHJcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RkZDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuICAgIC5kZCArIC5kZCB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAyJTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAuZGQtaG92ZXIgPiAuZGQtaGFuZGxlIHtcclxuICAgIGJhY2tncm91bmQ6ICMyZWE4ZTUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE5lc3RhYmxlIERyYWdnYWJsZSBIYW5kbGVzXHJcbiAgICovXHJcblxyXG4gIC5kZDMtY29udGVudCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogMzBweDtcclxuICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweCA1cHggNDBweDtcclxuICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgYmFja2dyb3VuZDogI2ZhZmFmYTtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZhZmFmYSAwJSwgI2VlZSAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZhZmFmYSAwJSwgI2VlZSAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0b3AsICNmYWZhZmEgMCUsICNlZWUgMTAwJSk7XHJcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgfVxyXG5cclxuICAuZGQzLWNvbnRlbnQ6aG92ZXIge1xyXG4gICAgY29sb3I6ICMyZWE4ZTU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIH1cclxuXHJcbiAgLmRkLWRyYWdlbCA+IC5kZDMtaXRlbSA+IC5kZDMtY29udGVudCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG5cclxuICAuZGQzLWl0ZW0gPiBidXR0b24ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XHJcbiAgfVxyXG5cclxuICAuZGQzLWhhbmRsZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcclxuICAgIGJhY2tncm91bmQ6ICNkZGQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNkZGQgMCUsICNiYmIgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNkZGQgMCUsICNiYmIgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG9wLCAjZGRkIDAlLCAjYmJiIDEwMCUpO1xyXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcclxuICB9XHJcblxyXG4gIC5kZDMtaGFuZGxlOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAn4omhJztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogM3B4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LWluZGVudDogMDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICB9XHJcblxyXG4gIC5kZDMtaGFuZGxlOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNkZGQ7XHJcbiAgfVxyXG5cclxuXHJcbn0iLCJAaW1wb3J0IFwiLi4vb3JnYW5pc21zL3dpZGdldHNcIjtcclxuXHJcbi5jY20tcGFnZSAubGFzaGJvYXJkLWNvbnRlbnQge1xyXG4gICNwYWdlLWhlYWRlciB7XHJcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiA1MCU7XHJcbiAgICBwYWRkaW5nOiAxMDVweCAwIDAuNXJlbSAwO1xyXG4gIH1cclxuICAjdXBjb21pbmdFdmVudHMge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcbiAgLndpZGdldC54eGxhcmdlIHtcclxuICAgIGhlaWdodDogODg4cHg7XHJcbiAgfVxyXG59IiwiLmNjbS1wYWdlLmNjbS1iYXItcGF5bWVudC1zcCB7XG4gIC5mdWxsc2NyZWVuIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHotaW5kZXg6IDk5OTk5OTtcbiAgICAuZmEge1xuICAgICAgZm9udC1zaXplOiAyMHJlbTs7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbn0iXX0= */
