@charset "UTF-8";
/*
	Theme Name: Proven Men
	Description: Child theme of Genesis, by <a href="http://cgd.io">Clif Griffin Development Inc</a>.
	Author: Clif Griffin Development Inc.
	Author URI: http://cgd.io

	Template: genesis
*/
@import url(assets/components/normalize.css/normalize.css);
.button a,
.static-button,
.read-more .button {
  appearance: none;
  background-color: #c9282d;
  border: 0;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 1em;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  line-height: 1;
  margin: 0 5px 15px 0;
  padding: 1em 3em;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 300ms ease;
  user-select: none;
  vertical-align: middle;
  white-space: nowrap; }
  .button a:before,
  .static-button:before,
  .read-more .button:before {
    content: '';
    border-left: 1px solid #c9282d;
    border-bottom: 1px solid #c9282d;
    padding: 5px;
    position: absolute;
    transition: all 300ms ease;
    top: 5px;
    left: -5px;
    right: 5px;
    bottom: -5px; }
    .mejs-inner .button a:before, .mejs-inner
    .static-button:before, .mejs-inner
    .read-more .button:before {
      display: none; }
  .button a:hover, .button a:focus,
  .static-button:hover,
  .static-button:focus,
  .read-more .button:hover,
  .read-more .button:focus {
    background-color: #9d1304;
    color: #fff; }
    .button a:hover:before, .button a:focus:before,
    .static-button:hover:before,
    .static-button:focus:before,
    .read-more .button:hover:before,
    .read-more .button:focus:before {
      border-left: 1px solid #9d1304;
      border-bottom: 1px solid #9d1304;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0; }
  .button a:disabled,
  .static-button:disabled,
  .read-more .button:disabled {
    cursor: not-allowed;
    opacity: 0.5; }
    .button a:disabled:hover,
    .static-button:disabled:hover,
    .read-more .button:disabled:hover {
      background-color: #c9282d; }
  .button a.dark,
  .static-button.dark,
  .read-more .button.dark {
    background-color: #444;
    color: #fff; }
    .button a.dark:before,
    .static-button.dark:before,
    .read-more .button.dark:before {
      border-left: 1px solid #444;
      border-bottom: 1px solid #444; }
    .button a.dark:hover, .button a.dark:focus,
    .static-button.dark:hover,
    .static-button.dark:focus,
    .read-more .button.dark:hover,
    .read-more .button.dark:focus {
      background-color: #222;
      color: #fff; }
      .button a.dark:hover:before, .button a.dark:focus:before,
      .static-button.dark:hover:before,
      .static-button.dark:focus:before,
      .read-more .button.dark:hover:before,
      .read-more .button.dark:focus:before {
        border-left: 1px solid #222;
        border-bottom: 1px solid #222; }
  .button a.light,
  .static-button.light,
  .read-more .button.light {
    background-color: white;
    color: #222; }
    .button a.light:before,
    .static-button.light:before,
    .read-more .button.light:before {
      content: '';
      border-left: 1px solid #fff;
      border-bottom: 1px solid #fff;
      padding: 5px;
      position: absolute;
      transition: all 300ms ease;
      top: 0;
      left: -5px;
      right: 0;
      bottom: -5px; }
    .button a.light:hover, .button a.light:focus,
    .static-button.light:hover,
    .static-button.light:focus,
    .read-more .button.light:hover,
    .read-more .button.light:focus {
      background-color: #f9f9f9;
      color: #222; }
      .button a.light:hover:before, .button a.light:focus:before,
      .static-button.light:hover:before,
      .static-button.light:focus:before,
      .read-more .button.light:hover:before,
      .read-more .button.light:focus:before {
        border-left: 1px solid #f9f9f9;
        border-bottom: 1px solid #f9f9f9;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0; }
  .button a.small,
  .static-button.small,
  .read-more .button.small {
    font-size: 14px;
    padding: 0.75em 1.5em; }
    .button a.small:before,
    .static-button.small:before,
    .read-more .button.small:before {
      display: none; }

.black-button a {
  background-color: #222;
  color: white;
  display: block;
  font-weight: 100;
  padding: 0.75em 1.5em;
  text-align: center;
  text-transform: uppercase;
  transition: background-color 300ms ease; }
  .black-button a:hover {
    background-color: #3c3c3c;
    color: white; }

.white-button a {
  background-color: white;
  color: #c9282d;
  display: inline-block;
  font-weight: 100;
  padding: 0.375em;
  text-transform: uppercase;
  transition: background-color 300ms ease; }
  .white-button a:hover {
    background-color: #e6e6e6;
    color: #c9282d; }

.button.no-border :before,
button.no-border :before {
  display: none !important; }

.full-width {
  width: 100%; }
  .full-width a {
    width: 100%;
    text-align: center; }

.button {
  display: inline-block; }

fieldset {
  background-color: transparent;
  border: 0;
  margin: 0;
  padding: 0; }

legend {
  font-weight: 600;
  margin-bottom: 0.375em;
  padding: 0; }

label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.375em; }
  .page-template-landing .has-form-background ._row span label {
    display: inline-block; }

input,
select {
  display: block;
  font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 1em; }

input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"], textarea,
select[multiple] {
  background-color: #fff;
  border: 1px solid #f9f9f9;
  border-color: #c7c7c7;
  border-radius: 3px;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
  font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 1em;
  margin-bottom: 0.75em;
  padding: 0.5em;
  transition: border-color 150ms ease;
  width: 100%; }
  input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="email"]:hover, input[type="month"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="time"]:hover, input[type="url"]:hover, input[type="week"]:hover, textarea:hover,
  select[multiple]:hover {
    border-color: #959595; }
  input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="week"]:focus, textarea:focus,
  select[multiple]:focus {
    border-color: #c9282d;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(180, 36, 40, 0.7);
    outline: none; }
  input[type="color"]:disabled, input[type="date"]:disabled, input[type="datetime"]:disabled, input[type="datetime-local"]:disabled, input[type="email"]:disabled, input[type="month"]:disabled, input[type="number"]:disabled, input[type="password"]:disabled, input[type="search"]:disabled, input[type="tel"]:disabled, input[type="text"]:disabled, input[type="time"]:disabled, input[type="url"]:disabled, input[type="week"]:disabled, textarea:disabled,
  select[multiple]:disabled {
    background-color: #f2f2f2;
    cursor: not-allowed; }
    input[type="color"]:disabled:hover, input[type="date"]:disabled:hover, input[type="datetime"]:disabled:hover, input[type="datetime-local"]:disabled:hover, input[type="email"]:disabled:hover, input[type="month"]:disabled:hover, input[type="number"]:disabled:hover, input[type="password"]:disabled:hover, input[type="search"]:disabled:hover, input[type="tel"]:disabled:hover, input[type="text"]:disabled:hover, input[type="time"]:disabled:hover, input[type="url"]:disabled:hover, input[type="week"]:disabled:hover, textarea:disabled:hover,
    select[multiple]:disabled:hover {
      border: 1px solid #f9f9f9; }

textarea {
  resize: vertical; }

[type="search"] {
  appearance: none; }

[type="checkbox"],
[type="radio"] {
  display: inline;
  margin-right: 0.375em; }

[type="file"] {
  margin-bottom: 0.75em;
  width: 100%; }

select {
  margin-bottom: 1.5em;
  max-width: 100%;
  width: auto; }

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

dl {
  margin-bottom: 0.75em; }
  dl dt {
    font-weight: 600;
    margin-top: 0.75em; }
  dl dd {
    margin: 0; }

.check-list ul li,
.check-list ol li {
  margin-left: 2.5em;
  padding-bottom: 0.75em;
  position: relative; }
  .check-list ul li:before,
  .check-list ol li:before {
    content: "";
    background-image: url("assets/icons/check-mark.png");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
    height: 22px;
    width: 22px;
    left: -30px;
    position: absolute; }

table {
  border-collapse: collapse;
  margin: 0.75em 0;
  table-layout: fixed;
  width: 100%; }

th {
  border-bottom: 1px solid #bbbbbb;
  font-weight: 600;
  padding: 0.75em 0;
  text-align: left; }

td {
  border-bottom: 1px solid #f9f9f9;
  padding: 0.75em 0; }

tr,
td,
th {
  vertical-align: middle; }

body {
  color: #222;
  font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 0.875em;
  line-height: 1.5; }
  @media only screen and (min-width: 800px) {
    body {
      font-size: 1em; } }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Oswald", "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 1em;
  line-height: 1.2;
  margin: 0 0 0.75em;
  text-transform: uppercase; }

h1 {
  font-size: 3em; }

h2 {
  font-size: 2.25em; }

h3 {
  font-size: 1.875em; }

h4 {
  font-size: 1.625em; }

h5 {
  font-size: 1.375em; }

h6 {
  font-size: 1.125em; }

.mega-header {
  font-size: 42px; }
  @media only screen and (min-width: 900px) {
    .mega-header {
      font-size: 60px; } }

p {
  margin: 0 0 1.5em; }

a {
  color: #c9282d;
  text-decoration: none;
  transition: color 150ms ease; }
  a:active, a:focus, a:hover {
    color: #9d1304;
    outline: none; }

a.static-button {
  color: white; }
  a.static-button:active, a.static-button:focus, a.static-button:hover {
    color: white; }

hr {
  border-bottom: 1px solid #f9f9f9;
  border-left: 0;
  border-right: 0;
  border-top: 0;
  border-color: #c9282d;
  margin: 1.5em 0; }

img,
picture {
  margin: 0;
  max-width: 100%; }

.body-font {
  font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; }

.capitalized {
  text-transform: capitalize; }

.light {
  font-weight: 300; }

.uppercase {
  text-transform: uppercase; }

html {
  box-sizing: border-box; }

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

/* ## Site Containers
--------------------------------------------- */
.wrap {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 1.5em; }
  .wrap::after {
    clear: both;
    content: "";
    display: table; }
  @media only screen and (min-width: 1440px) {
    .wrap {
      padding: 0; } }

.error404 .site-inner {
  padding: 5em 0; }

/* ## Column Widths and Positions
--------------------------------------------- */
.content,
.sidebar-primary,
.full-width .content {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 100%;
  margin-right: 0; }
  .content:last-child,
  .sidebar-primary:last-child,
  .full-width .content:last-child {
    margin-right: 0; }

@media screen and (min-width: 800px) {
  .content-sidebar .content-sidebar-wrap,
  .sidebar-content .content-sidebar-wrap,
  .full-width-content .content-sidebar-wrap {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 100%;
    margin-right: 0; }
    .content-sidebar .content-sidebar-wrap:last-child,
    .sidebar-content .content-sidebar-wrap:last-child,
    .full-width-content .content-sidebar-wrap:last-child {
      margin-right: 0; }
  .full-width-content .content-sidebar-wrap .content {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 100%; }
    .full-width-content .content-sidebar-wrap .content:last-child {
      margin-right: 0; }
  .content-sidebar .content-sidebar-wrap .content {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 74.41059%; }
    .content-sidebar .content-sidebar-wrap .content:last-child {
      margin-right: 0; }
  .content-sidebar .content-sidebar-wrap .sidebar-primary {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 23.23176%;
    margin-right: 0; }
    .content-sidebar .content-sidebar-wrap .sidebar-primary:last-child {
      margin-right: 0; }
  .sidebar-content .content-sidebar-wrap .content {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 74.41059%;
    margin-right: 0;
    float: right; }
    .sidebar-content .content-sidebar-wrap .content:last-child {
      margin-right: 0; }
  .sidebar-content .content-sidebar-wrap .sidebar-primary {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 23.23176%; }
    .sidebar-content .content-sidebar-wrap .sidebar-primary:last-child {
      margin-right: 0; }
    .sidebar-content .content-sidebar-wrap .sidebar-primary:last-child {
      margin-right: 2.35765%; }
  .content-sidebar-sidebar .content-sidebar-wrap,
  .sidebar-sidebar-content .content-sidebar-wrap,
  .sidebar-content-sidebar .content-sidebar-wrap {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 74.41059%; }
    .content-sidebar-sidebar .content-sidebar-wrap:last-child,
    .sidebar-sidebar-content .content-sidebar-wrap:last-child,
    .sidebar-content-sidebar .content-sidebar-wrap:last-child {
      margin-right: 0; }
    .content-sidebar-sidebar .content-sidebar-wrap .content,
    .sidebar-sidebar-content .content-sidebar-wrap .content,
    .sidebar-content-sidebar .content-sidebar-wrap .content {
      float: left;
      display: block;
      margin-right: 3.16844%;
      width: 65.61052%; }
      .content-sidebar-sidebar .content-sidebar-wrap .content:last-child,
      .sidebar-sidebar-content .content-sidebar-wrap .content:last-child,
      .sidebar-content-sidebar .content-sidebar-wrap .content:last-child {
        margin-right: 0; }
    .content-sidebar-sidebar .content-sidebar-wrap .sidebar-primary,
    .sidebar-sidebar-content .content-sidebar-wrap .sidebar-primary,
    .sidebar-content-sidebar .content-sidebar-wrap .sidebar-primary {
      float: left;
      display: block;
      margin-right: 3.16844%;
      width: 31.22104%;
      margin-right: 0; }
      .content-sidebar-sidebar .content-sidebar-wrap .sidebar-primary:last-child,
      .sidebar-sidebar-content .content-sidebar-wrap .sidebar-primary:last-child,
      .sidebar-content-sidebar .content-sidebar-wrap .sidebar-primary:last-child {
        margin-right: 0; }
  .content-sidebar-sidebar .sidebar-secondary {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 23.23176%;
    margin-right: 0; }
    .content-sidebar-sidebar .sidebar-secondary:last-child {
      margin-right: 0; }
  .sidebar-sidebar-content .content-sidebar-wrap {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 74.41059%;
    margin-right: 0;
    float: right; }
    .sidebar-sidebar-content .content-sidebar-wrap:last-child {
      margin-right: 0; }
    .sidebar-sidebar-content .content-sidebar-wrap .sidebar-primary {
      float: left;
      display: block;
      margin-right: 3.16844%;
      width: 31.22104%; }
      .sidebar-sidebar-content .content-sidebar-wrap .sidebar-primary:last-child {
        margin-right: 0; }
      .sidebar-sidebar-content .content-sidebar-wrap .sidebar-primary:last-child {
        margin-right: 2.35765%; }
    .sidebar-sidebar-content .content-sidebar-wrap .content {
      float: left;
      display: block;
      margin-right: 3.16844%;
      width: 65.61052%;
      margin-right: 0;
      float: right; }
      .sidebar-sidebar-content .content-sidebar-wrap .content:last-child {
        margin-right: 0; }
  .sidebar-sidebar-content .sidebar-secondary {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 23.23176%; }
    .sidebar-sidebar-content .sidebar-secondary:last-child {
      margin-right: 0; }
    .sidebar-sidebar-content .sidebar-secondary:first-child {
      margin-right: 2.35765%; }
  .sidebar-content-sidebar .content-sidebar-wrap {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 74.41059%;
    margin-right: 0;
    float: right; }
    .sidebar-content-sidebar .content-sidebar-wrap:last-child {
      margin-right: 0; }
    .sidebar-content-sidebar .content-sidebar-wrap .content {
      float: left;
      display: block;
      margin-right: 3.16844%;
      width: 65.61052%; }
      .sidebar-content-sidebar .content-sidebar-wrap .content:last-child {
        margin-right: 0; }
    .sidebar-content-sidebar .content-sidebar-wrap .sidebar-primary {
      float: left;
      display: block;
      margin-right: 3.16844%;
      width: 31.22104%;
      margin-right: 0; }
      .sidebar-content-sidebar .content-sidebar-wrap .sidebar-primary:last-child {
        margin-right: 0; }
  .sidebar-content-sidebar .sidebar-secondary {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 23.23176%; }
    .sidebar-content-sidebar .sidebar-secondary:last-child {
      margin-right: 0; }
    .sidebar-content-sidebar .sidebar-secondary:first-child {
      margin-right: 2.35765%; } }

/**
* Avatar!!!!
*/
.avatar {
  float: left; }

.alignleft .avatar,
.author-box .avatar {
  margin-right: 24px; }

.alignright .avatar {
  margin-left: 24px; }

.comment .avatar {
  margin: 0 16px 24px 0; }

/**
* Media
*/
.mejs-container {
  margin-bottom: 1.5em; }

a.aligncenter img {
  display: block;
  margin: 0 auto; }

a.alignnone {
  display: inline-block; }

.alignleft {
  float: left;
  text-align: left; }

.alignright {
  float: right;
  text-align: right; }

a.alignleft,
a.alignnone,
a.alignright {
  max-width: 100%; }

img.centered,
.aligncenter {
  display: block;
  margin: 0 auto 3em; }

img.alignnone,
.alignnone {
  margin-bottom: 1.5em; }

a.alignleft,
img.alignleft,
.wp-caption.alignleft {
  margin: 0 3em 3em 0; }

a.alignright,
img.alignright,
.wp-caption.alignright {
  margin: 0 0 3em 3em; }

.wp-caption-text {
  font-size: 1em;
  text-align: center; }

.entry-content p.wp-caption-text {
  margin-bottom: 0; }

/**
* Objects
*/
embed,
iframe,
img,
object,
video,
.wp-caption {
  max-width: 100%; }

img {
  height: auto; }

.featured-content img,
.gallery img {
  width: auto; }

/**
* Site Title
*/
.site-title a,
.site-title a:hover {
  color: #444; }

.header-image .site-title > a {
  background: url(assets/images/logo.png) no-repeat left;
  background-size: contain;
  float: left;
  min-height: 79px;
  width: 50%; }
  @media screen and (min-width: 600px) {
    .header-image .site-title > a {
      background-size: contain;
      width: 30%; } }
  @media screen and (min-width: 800px) {
    .header-image .site-title > a {
      background-size: 90%;
      width: 100%; } }

/**
* Widget
*/
.widget {
  word-wrap: break-word; }

.widget li li {
  border: none;
  margin: 0 0 0 3em;
  padding: 0; }

.widget_calendar table {
  width: 100%; }

.widget_calendar td,
.widget_calendar th {
  text-align: center; }

/**
* Entry Content
*/
.entry-content ol,
.entry-content ul {
  margin-bottom: 28px;
  margin-left: 40px; }

.entry-content ol > li {
  list-style-type: disc; }

.entry-content ul > li {
  list-style-type: none; }
  .entry-content ul > li:before {
    color: #c9282d;
    content: "•";
    position: relative;
    left: -7px;
    font-size: 18px;
    margin-left: -7px; }

.entry-content ol ol,
.entry-content ul ul {
  margin-bottom: 0; }

.entry-content code {
  background-color: #333;
  color: #ddd; }

/**
* Entry Meta
*/
p.entry-meta {
  font-size: 1em;
  margin-bottom: 0; }

.entry-header .entry-meta {
  margin-bottom: 1.5em; }

.entry-footer .entry-meta {
  border-top: 1px solid #f9f9f9;
  padding-top: 1.5em; }

.entry-categories,
.entry-tags {
  display: block; }

.entry-comments-link::before {
  content: "\2014";
  margin: 0 1.5em 0 0.75em; }

/**
* Gallery
*
* We aren't going to use Neat for this gallery due to the possible number of gallery columns
* that don't easily break into 12.
*
*/
.gallery {
  overflow: hidden; }

.gallery-item {
  float: left;
  margin: 0 0 28px;
  text-align: center; }

.gallery-columns-2 .gallery-item {
  width: 50%; }

.gallery-columns-3 .gallery-item {
  width: 33%; }

.gallery-columns-4 .gallery-item {
  width: 25%; }

.gallery-columns-5 .gallery-item {
  width: 20%; }

.gallery-columns-6 .gallery-item {
  width: 16.6666%; }

.gallery-columns-7 .gallery-item {
  width: 14.2857%; }

.gallery-columns-8 .gallery-item {
  width: 12.5%; }

.gallery-columns-9 .gallery-item {
  width: 11.1111%; }

.gallery img {
  border: 1px solid #444;
  height: auto;
  padding: 4px; }

.gallery img:hover {
  border: 1px solid #d4d4d4; }

/**
 * Components
 */
.site-header {
  background-color: #fff;
  position: relative;
  margin-top: -6px; }
  .site-header .wrap {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto; }
    .site-header .wrap::after {
      clear: both;
      content: "";
      display: table; }

/**
 * Title Area
 */
.title-area {
  overflow: auto;
  width: 100%; }
  @media screen and (min-width: 800px) {
    .title-area {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 23.23176%; }
      .title-area:last-child {
        margin-right: 0; } }

.nav-primary {
  display: none; }
  @media screen and (min-width: 800px) {
    .nav-primary {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 74.41059%;
      margin-right: 0; }
      .nav-primary:last-child {
        margin-right: 0; } }

.site-description,
.site-title {
  margin-bottom: 0; }

.header-image .site-description,
.header-image .site-title {
  display: block;
  text-indent: -9999px; }

.mobile-menu-icon {
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  right: 30px; }
  @media screen and (min-width: 800px) {
    .mobile-menu-icon {
      display: none; } }

.modaal-close:before {
  border-left: 0px;
  border-bottom: 0px;
  padding: 0px;
  right: 0px;
  bottom: 0px; }

.modaal-close:hover:before {
  top: 14px;
  left: 23px; }

.just-red-nav .red-bar-logo {
  width: 100px;
  height: 26px;
  background-image: url("assets/images/pm-logo.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left;
  display: block;
  position: absolute;
  left: 1.5em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%); }

.just-red-nav #mobile-menu .icon-close-container {
  top: 6px; }

.account-menu-wrap {
  background-color: #c9282d;
  display: none;
  width: 100%;
  padding: 0.75em 0; }
  @media screen and (min-width: 800px) {
    .account-menu-wrap {
      display: inline-block; } }
  .account-menu-wrap .wrap {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 0px;
    position: relative; }
    .account-menu-wrap .wrap::after {
      clear: both;
      content: "";
      display: table; }
  .account-menu-wrap #menu-account-nav {
    visibility: hidden; }
    @media screen and (min-width: 800px) {
      .account-menu-wrap #menu-account-nav {
        visibility: visible; } }
  .account-menu-wrap li {
    float: right;
    padding-left: 1.5em;
    position: relative; }
    .account-menu-wrap li:before {
      content: "";
      background-color: white;
      width: 1px;
      height: 14px;
      position: absolute;
      left: 0px;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%); }
    .account-menu-wrap li:last-of-type:before {
      display: none; }
    .account-menu-wrap li a {
      color: white;
      padding: 0.75em 1.875em;
      text-transform: uppercase;
      font-family: "Oswald", "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
      font-size: 1em;
      position: relative; }
      .account-menu-wrap li a:hover {
        color: white; }
      .account-menu-wrap li a .sub-menu {
        display: none; }
  .account-menu-wrap li.menu-item-has-children {
    position: relative; }
    .account-menu-wrap li.menu-item-has-children:hover .sub-menu {
      visibility: visible; }
  .account-menu-wrap .sub-menu {
    background-color: #c9282d;
    left: 0;
    list-style: none;
    margin: 11px 0px 0px;
    opacity: 1;
    padding-bottom: 10px;
    position: absolute;
    text-align: left;
    text-transform: none;
    visibility: hidden;
    width: 200px;
    z-index: 280; }
    .account-menu-wrap .sub-menu.edge {
      left: auto;
      right: 0; }
    .account-menu-wrap .sub-menu li {
      border-left: 0px;
      clear: both;
      float: left;
      padding-left: 0px;
      width: 100%; }
      .account-menu-wrap .sub-menu li:before {
        display: none; }
      .account-menu-wrap .sub-menu li.dark-red a {
        background-color: #9d1304;
        font-size: 0.75em;
        font-weight: 700;
        opacity: 1;
        text-transform: uppercase; }
      .account-menu-wrap .sub-menu li a {
        display: block;
        padding: 0.375rem 1.5rem;
        width: 100%;
        width: auto;
        text-transform: capitalize;
        font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
        font-size: 0.875em;
        opacity: 0.5; }
        .account-menu-wrap .sub-menu li a:before {
          display: none; }
        .account-menu-wrap .sub-menu li a:hover {
          opacity: 1; }

.account-menu-portal a,
.account-menu-store a {
  position: relative;
  text-transform: uppercase;
  font-family: "Oswald", "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 1em; }
  .account-menu-portal a:before,
  .account-menu-store a:before {
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    background-image: url("assets/icons/padlock.svg");
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    height: 15px;
    left: 4px;
    position: absolute;
    top: 50%;
    width: 15px; }

.account-menu-portal:hover a:before,
.account-menu-store:hover a:before {
  opacity: 1; }

.account-menu-portal .sub-menu a,
.account-menu-store .sub-menu a {
  text-transform: capitalize;
  font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 0.875em; }
  .account-menu-portal .sub-menu a:before,
  .account-menu-store .sub-menu a:before {
    display: none; }

.account-menu-portal a:before {
  background-image: url("assets/icons/portal-icon.png"); }

.account-menu-store a:before {
  background-image: url("assets/icons/store-icon.png"); }

.account-menu-store .sub-menu {
  min-width: 202px; }
  .account-menu-store .sub-menu li:nth-child(1),
  .account-menu-store .sub-menu li:nth-child(2) {
    clear: none;
    display: inline-block;
    float: left;
    width: 50%; }
    .account-menu-store .sub-menu li:nth-child(1) a,
    .account-menu-store .sub-menu li:nth-child(2) a {
      text-transform: uppercase; }
  .account-menu-store .sub-menu li:nth-child(2) {
    position: relative; }
    .account-menu-store .sub-menu li:nth-child(2) a:before {
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%);
      background-color: white;
      content: "";
      display: block !important;
      height: 14px;
      position: absolute;
      right: 0px;
      top: 50%;
      width: 1px; }

.mobile-menu .menu-account-nav-container {
  background-color: #c9282d;
  display: inline-block;
  width: 100%; }
  .mobile-menu .menu-account-nav-container .account-menu-portal,
  .mobile-menu .menu-account-nav-container .account-menu-store {
    background-color: #a12024; }
    .mobile-menu .menu-account-nav-container .account-menu-portal.menu-item-has-children:after,
    .mobile-menu .menu-account-nav-container .account-menu-store.menu-item-has-children:after {
      top: 12px !important; }
    .mobile-menu .menu-account-nav-container .account-menu-portal a,
    .mobile-menu .menu-account-nav-container .account-menu-store a {
      padding-left: 45px !important; }
      .mobile-menu .menu-account-nav-container .account-menu-portal a:before,
      .mobile-menu .menu-account-nav-container .account-menu-store a:before {
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
        background-repeat: no-repeat;
        background-size: cover;
        content: "";
        height: 15px;
        left: 20px;
        position: absolute;
        top: 50%;
        width: 15px; }
    .mobile-menu .menu-account-nav-container .account-menu-portal .sub-menu li,
    .mobile-menu .menu-account-nav-container .account-menu-store .sub-menu li {
      width: 100% !important; }
      .mobile-menu .menu-account-nav-container .account-menu-portal .sub-menu li a,
      .mobile-menu .menu-account-nav-container .account-menu-store .sub-menu li a {
        background-color: #c9282d;
        display: inline-block;
        width: 100% !important;
        padding: 8px 20px !important;
        margin: 0px;
        font-size: 0.875em; }
      .mobile-menu .menu-account-nav-container .account-menu-portal .sub-menu li:last-of-type a,
      .mobile-menu .menu-account-nav-container .account-menu-store .sub-menu li:last-of-type a {
        padding-bottom: 16px !important; }
      .mobile-menu .menu-account-nav-container .account-menu-portal .sub-menu li.mobile-red a,
      .mobile-menu .menu-account-nav-container .account-menu-store .sub-menu li.mobile-red a {
        background-color: #b52428;
        text-transform: uppercase;
        font-size: 0.75em; }
  .mobile-menu .menu-account-nav-container .account-menu-store li:nth-child(1),
  .mobile-menu .menu-account-nav-container .account-menu-store li:nth-child(2) {
    clear: none;
    display: inline-block;
    float: left;
    width: auto !important; }
    .mobile-menu .menu-account-nav-container .account-menu-store li:nth-child(1) a,
    .mobile-menu .menu-account-nav-container .account-menu-store li:nth-child(2) a {
      background-color: #b52428;
      font-size: 0.75em; }
  .mobile-menu .menu-account-nav-container .account-menu-store li:nth-child(2) {
    position: relative; }
    .mobile-menu .menu-account-nav-container .account-menu-store li:nth-child(2) a:before {
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%);
      background-color: white;
      content: "";
      display: block !important;
      height: 14px;
      position: absolute;
      left: 0px;
      top: 50%;
      width: 1px; }
    .mobile-menu .menu-account-nav-container .account-menu-store li:nth-child(2) a:after {
      content: '';
      display: block;
      position: absolute;
      width: 200%;
      height: 100%;
      top: 0;
      right: -200%;
      background-color: #b52428; }

.mobile-portal-trigger {
  position: relative; }
  @media screen and (min-width: 800px) {
    .mobile-portal-trigger {
      display: none; } }
  .mobile-portal-trigger:before {
    background-color: #e8a3a5;
    border-bottom: 1px solid white;
    color: white;
    content: 'PORTAL MENU';
    display: inline-block;
    font-family: "Oswald", "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    font-size: 18px;
    font-weight: 100;
    padding: 1.5em;
    text-align: left;
    text-transform: uppercase;
    transition: background-color 300ms ease;
    width: 100%; }
  .mobile-portal-trigger:after {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    background-image: url("assets/icons/play-button.svg");
    background-repeat: no-repeat;
    background-size: cover;
    content: '';
    height: 28px;
    opacity: 0.7;
    position: absolute;
    right: 1.5em;
    top: 26px;
    transition: all 300ms ease;
    width: 24px; }
  .mobile-portal-trigger:hover::before {
    background-color: #d1484c;
    cursor: pointer; }
  .mobile-portal-trigger:hover::after {
    cursor: pointer;
    opacity: 1; }
  .mobile-portal-trigger.is-open:after {
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg); }

.mobile-portal-menu-wrap #menu-portal-menu {
  display: none; }

.mobile-portal-menu-wrap li {
  background-color: #e8a3a5;
  border-bottom: 1px solid white;
  text-align: left;
  transition: background-color 300ms ease; }
  .mobile-portal-menu-wrap li a {
    color: white;
    display: block;
    font-family: "Oswald", "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    font-size: 1.125em;
    font-weight: 100;
    padding: 1.5em;
    text-transform: uppercase; }
  .mobile-portal-menu-wrap li.current-menu-item, .mobile-portal-menu-wrap li:hover {
    background-color: #d1484c; }
  .mobile-portal-menu-wrap li.coming-soon {
    display: none; }

.mobile-portal-menu-wrap .sub-menu {
  display: none; }

@media screen and (min-width: 800px) {
  .mobile-portal-menu-wrap {
    display: none; } }

.portal-menu-wrap {
  display: none; }
  .portal-menu-wrap .sub-menu {
    display: none; }
  @media screen and (min-width: 800px) {
    .portal-menu-wrap {
      display: table;
      table-layout: fixed;
      width: 100%; }
      .portal-menu-wrap .menu {
        display: table-row;
        margin: 0;
        padding: 0; }
        .portal-menu-wrap .menu li {
          background-color: #e8a3a5;
          border-bottom: 0px;
          border-left: 1px solid white;
          display: table-cell;
          list-style: none;
          text-align: center;
          transition: background-color 300ms ease;
          vertical-align: middle; }
          .portal-menu-wrap .menu li a {
            color: white;
            display: block;
            font-family: "Oswald", "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
            font-size: 1.625em;
            font-weight: 100;
            padding: 1.5em 0.1875em;
            text-transform: uppercase; }
          .portal-menu-wrap .menu li.current-menu-item, .portal-menu-wrap .menu li:hover {
            background-color: #d1484c; }
          .portal-menu-wrap .menu li.current-menu-item {
            position: relative; }
            .portal-menu-wrap .menu li.current-menu-item:after {
              background-color: #d1484c;
              bottom: -5px;
              content: '';
              height: 2px;
              left: 2.5%;
              position: absolute;
              width: 95%; }
            .portal-menu-wrap .menu li.current-menu-item:before {
              -webkit-transform: translateX(-50%);
              -moz-transform: translateX(-50%);
              -ms-transform: translateX(-50%);
              -o-transform: translateX(-50%);
              transform: translateX(-50%);
              border-left: 10px solid transparent;
              border-right: 10px solid transparent;
              border-top: 10px solid #d1484c;
              bottom: -14px;
              content: '';
              display: block;
              height: 0;
              left: 50%;
              position: absolute;
              width: 0; }
          .portal-menu-wrap .menu li:first-of-type {
            border-left: 1px solid #e8a3a5; }
          .portal-menu-wrap .menu li.coming-soon {
            background-color: #a7a7a7;
            position: relative; }
            .portal-menu-wrap .menu li.coming-soon a {
              pointer-events: none;
              color: #d4d4d4; }
            .portal-menu-wrap .menu li.coming-soon:after, .portal-menu-wrap .menu li.coming-soon:before {
              -webkit-transform: translateX(-50%);
              -moz-transform: translateX(-50%);
              -ms-transform: translateX(-50%);
              -o-transform: translateX(-50%);
              transform: translateX(-50%);
              color: white;
              position: absolute;
              display: block;
              left: 50%; }
            .portal-menu-wrap .menu li.coming-soon:before {
              content: 'COMING';
              top: 1.125em; }
            .portal-menu-wrap .menu li.coming-soon:after {
              bottom: 1.125em;
              content: 'SOON'; } }

.genesis-nav-menu {
  clear: both;
  font-size: 0.875em;
  line-height: 1.5;
  width: 100%; }

.genesis-nav-menu > .first > a {
  padding-left: 0; }

.genesis-nav-menu > .last > a {
  padding-right: 0; }

.genesis-nav-menu > .right {
  color: white;
  float: right;
  list-style-type: none;
  padding: 3em 0; }

.genesis-nav-menu > .right > a {
  display: inline;
  padding: 0; }

.genesis-nav-menu > .rss > a {
  margin-left: 48px; }

.genesis-nav-menu > .search {
  padding: 1.5em 0 0; }

.site-header .genesis-nav-menu li li {
  margin-left: 0; }

.nav-primary {
  text-align: right; }

.nav-primary .genesis-nav-menu a {
  color: #9ca3ae; }

.nav-primary .genesis-nav-menu .sub-menu a {
  color: #444; }

.nav-primary .genesis-nav-menu a:hover,
.nav-primary .genesis-nav-menu .current-menu-item > a,
.nav-primary .genesis-nav-menu .sub-menu .current-menu-item > a:hover {
  color: #c9282d; }

/**
* Menu Items
*/
.genesis-nav-menu .menu-item {
  display: inline-block;
  position: relative;
  text-align: left;
  text-transform: uppercase; }

.genesis-nav-menu a {
  color: #444;
  display: block;
  padding: 2.175em 1.5em; }

.nav-primary .menu-item:last-child a {
  color: white;
  background: #9ca3ae;
  font-family: "Oswald", "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-weight: 700;
  transition: background-color 150ms ease; }
  .nav-primary .menu-item:last-child a:hover {
    background: #c9282d; }

.genesis-nav-menu a:hover,
.genesis-nav-menu .current-menu-item > a,
.genesis-nav-menu .sub-menu .current-menu-item > a:hover {
  color: #c9282d; }

.nav-primary ul.sub-menu {
  width: 200px;
  position: absolute;
  left: 0;
  list-style: none;
  text-align: left;
  text-transform: none;
  margin: 20px 0 0 0;
  padding: 10px 0 0 0;
  z-index: 280;
  visibility: hidden;
  opacity: 0;
  filter: alpha(opacity=0);
  -webkit-transition: all .3s ease-in-out;
  -moz-transition: all .3s ease-in-out;
  -o-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out; }

.nav-primary .menu-item:hover ul.sub-menu {
  margin: 0;
  visibility: visible;
  opacity: 1;
  filter: alpha(opacity=100); }

.nav-primary ul.sub-menu .menu-item {
  background: #fff;
  clear: both;
  padding: 0;
  margin: 0;
  width: 100%;
  border-left: 1px solid #f5f5f5;
  border-right: 1px solid #f5f5f5; }
  .nav-primary ul.sub-menu .menu-item a {
    padding: 1.5em 1.5em 0.5em 1.5em; }
  .nav-primary ul.sub-menu .menu-item:last-child a {
    background: none;
    color: #222;
    font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    font-weight: normal;
    padding-bottom: 1.5em; }
    .nav-primary ul.sub-menu .menu-item:last-child a:hover {
      color: #c9282d; }

.just-red-nav header {
  display: none; }

.just-red-nav .page-banner {
  margin-top: -6px; }

.just-red-nav .account-menu-wrap {
  display: inline-block !important; }

.page-banner {
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
  min-height: 300px;
  position: relative; }
  @media screen and (min-width: 800px) {
    .page-banner {
      min-height: 450px; } }
  .page-banner.small-height {
    min-height: 260px; }
    @media screen and (min-width: 800px) {
      .page-banner.small-height {
        min-height: 260px; } }
  .page-banner.medium-height {
    min-height: 360px; }
    @media screen and (min-width: 800px) {
      .page-banner.medium-height {
        min-height: 360px; } }

.page-banner .page-title {
  color: white;
  font-size: 3.75em;
  margin-bottom: 0; }

.page-banner .page-pre-title {
  color: white;
  font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 1.875em;
  font-weight: 100;
  margin-bottom: 0; }

.page-banner .title-content {
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  text-align: center;
  top: 50%;
  width: 100%; }

.page-banner .page-sub-title {
  color: white;
  font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 1.875em;
  font-weight: 100;
  margin-bottom: 0; }

.page-section {
  padding: 3em 1.5em; }
  @media screen and (min-width: 800px) {
    .page-section {
      padding: 5em 0; } }
  .page-section.video, .page-section.cta {
    padding: 0; }
  .page-section.stories {
    background: #f9f9f9; }

.page-section-title {
  margin-bottom: 1.5em;
  text-align: center; }

.video {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 580px;
  min-height: 580px;
  position: relative;
  overflow: hidden; }

.video-content {
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  color: white;
  display: none;
  position: absolute;
  text-align: center;
  top: 50%;
  width: 100%; }
  .hide-trial .video-content {
    display: block; }
  @media screen and (min-width: 800px) {
    .video-content {
      display: block; } }
  .video-content h1 {
    font-size: 72px;
    margin-bottom: 20px; }

.video-container {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20000;
  background: #000;
  display: none; }

.video .video-container .video-element {
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100vw;
  height: 100vh;
  position: absolute;
  top: 50%;
  left: 50%; }

.video-close {
  position: absolute;
  top: 1vh;
  right: 2vw;
  cursor: pointer; }
  .admin-bar .video-close {
    top: 5vh; }
  .video-close svg {
    fill: white; }

.autoplay-video {
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  z-index: -1; }

.trial {
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  transition: all 1s ease;
  background: rgba(0, 0, 0, 0.7);
  bottom: 0;
  max-width: 450px;
  padding: 1.5em;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0; }
  @media screen and (min-width: 600px) {
    .trial {
      padding: 3em; } }
  .trial .trial-title,
  .trial .trial-desc,
  .trial small {
    color: white; }
  .trial .trial-desc {
    font-size: 18px;
    font-weight: 300;
    margin-bottom: 1.5em; }
    @media screen and (min-width: 600px) {
      .trial .trial-desc {
        font-size: 22px; } }
  .trial input[type="text"],
  .trial input[type="email"] {
    background: none;
    border-radius: 0;
    color: white;
    padding: 10px; }
    .trial input[type="text"]::-webkit-input-placeholder,
    .trial input[type="email"]::-webkit-input-placeholder {
      text-transform: uppercase;
      color: #bbb; }
    .trial input[type="text"]::-moz-placeholder,
    .trial input[type="email"]::-moz-placeholder {
      text-transform: uppercase;
      color: #bbb; }
    .trial input[type="text"]:-moz-placeholder,
    .trial input[type="email"]:-moz-placeholder {
      text-transform: uppercase;
      color: #bbb; }
    .trial input[type="text"]:-ms-input-placeholder,
    .trial input[type="email"]:-ms-input-placeholder {
      text-transform: uppercase;
      color: #bbb; }
  .trial input[type="radio"] {
    margin-top: 0 !important; }
  .trial small {
    display: block;
    margin-bottom: 1.5em; }
  .trial input[type="submit"] {
    display: block;
    width: 100%; }
  .trial .gfield label {
    display: none !important; }
  .trial .gform_wrapper input[type="color"], .trial input[type="date"], .trial input[type="datetime"], .trial input[type="datetime-local"], .trial input[type="email"], .trial input[type="month"], .trial input[type="number"], .trial input[type="password"], .trial input[type="search"], .trial input[type="tel"], .trial input[type="text"], .trial input[type="time"], .trial input[type="url"], .trial input[type="week"], .trial textarea {
    border: 1px solid #f9f9f9;
    border-color: #fff;
    box-sizing: border-box;
    font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    font-size: 1em;
    margin-bottom: 0.75em;
    padding: 0.5em !important;
    transition: border-color 150ms ease;
    width: 100% !important; }
  .trial .gform_wrapper {
    margin: 0; }
    .trial .gform_wrapper .gfield_checkbox li label {
      color: #fff; }
    .trial .gform_wrapper .gfield_radio li {
      margin-bottom: 8px !important; }
      .trial .gform_wrapper .gfield_radio li label {
        color: #fff;
        display: inline !important; }
  .trial .gform_wrapper .gform_footer {
    padding: 0; }
  .trial .gform_footer input[type="submit"].button {
    background-color: white;
    color: black; }
  .trial .gform_wrapper li.gfield.gfield_error {
    border: none;
    background: none;
    width: 100%;
    padding: 0;
    margin-top: 16px !important; }
  .trial .gform_wrapper div.validation_error {
    display: none;
    border: none;
    color: red;
    font-size: 15px;
    padding: 0;
    text-align: center; }
  .trial .gform_wrapper .validation_message {
    color: red;
    padding-top: 5px !important; }
  .trial .gfield_error .ginput_container {
    margin: 0 !important;
    max-width: 100% !important; }
    .trial .gfield_error .ginput_container input[type="color"], .trial .gfield_error .ginput_container input[type="date"], .trial .gfield_error .ginput_container input[type="datetime"], .trial .gfield_error .ginput_container input[type="datetime-local"], .trial .gfield_error .ginput_container input[type="email"], .trial .gfield_error .ginput_container input[type="month"], .trial .gfield_error .ginput_container input[type="number"], .trial .gfield_error .ginput_container input[type="password"], .trial .gfield_error .ginput_container input[type="search"], .trial .gfield_error .ginput_container input[type="tel"], .trial .gfield_error .ginput_container input[type="text"], .trial .gfield_error .ginput_container input[type="time"], .trial .gfield_error .ginput_container input[type="url"], .trial .gfield_error .ginput_container input[type="week"], .trial .gfield_error .ginput_container textarea {
      border-color: red !important; }
  @media screen and (min-width: 800px) {
    .trial.is-hidden {
      right: -450px; } }

.features .wrap .feature {
  height: 150px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50%;
  color: #fff;
  position: relative;
  display: block;
  margin-bottom: 2.4%; }
  @media screen and (min-width: 600px) {
    .features .wrap .feature {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .features .wrap .feature:last-child {
        margin-right: 0; }
      .features .wrap .feature:nth-child(2) {
        margin-right: 0; } }
  @media screen and (min-width: 800px) {
    .features .wrap .feature {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 23.23176%;
      margin-bottom: 0; }
      .features .wrap .feature:last-child {
        margin-right: 0; }
      .features .wrap .feature:nth-child(2) {
        margin-right: 2.35765%; }
      .features .wrap .feature:nth-child(2+1) {
        clear: none; } }
  .features .wrap .feature:after {
    content: "";
    background: #000;
    opacity: 0.4;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transition: all 0.3s ease; }
  @media screen and (min-width: 600px) {
    .features .wrap .feature:hover:after {
      background: #c9282d;
      opacity: 0.8; } }
  .features .wrap .feature .feature-content {
    position: absolute;
    bottom: 10%;
    left: 5%;
    width: 90%;
    z-index: 99;
    text-align: center; }
    .features .wrap .feature .feature-content .feature-title {
      display: block;
      font-family: "Oswald", "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
      font-size: 24px;
      line-height: 1.2em;
      font-weight: 400; }

.page-template-default .content {
  margin-top: 5em; }

.entry-content ul, ol {
  list-style-position: inside;
  margin-bottom: 1.5em; }

.entry-content ul li,
.content ul li {
  list-style-type: none;
  margin-left: 20px;
  position: relative;
  margin-bottom: 10px; }

.entry-content ul > li > ul li,
.content ul > li > ul li {
  margin-top: 10px; }
  .entry-content ul > li > ul li:before,
  .content ul > li > ul li:before {
    content: '';
    position: absolute;
    width: 6px;
    height: 6px;
    background: #c9282d;
    top: 8px;
    left: -20px;
    border-radius: 50%; }

.entry-content ul > li:before,
.content ul > li:before {
  content: '';
  position: absolute;
  width: 8px;
  height: 8px;
  background: #c9282d;
  top: 8px;
  left: -20px;
  border-radius: 50%; }

.entry-content ul > li:last-child,
.content ul > li:last-child {
  margin-bottom: 0; }

.entry-content .ul-dots-right ul li,
.content .ul-dots-right ul li {
  margin-left: 0;
  margin-right: 20px;
  text-align: right; }

.entry-content .ul-dots-right ul > li > ul li:before,
.content .ul-dots-right ul > li > ul li:before {
  right: -20px;
  left: auto; }

.entry-content .ul-dots-right ul > li:before,
.content .ul-dots-right ul > li:before {
  left: auto;
  right: -20px; }

.sidebar {
  font-size: 1em;
  margin-top: 5em; }

.sidebar li {
  padding-bottom: 0.75em; }

.sidebar p:last-child,
.sidebar ul > li:last-child {
  margin-bottom: 0; }

.sidebar .widget {
  background-color: white;
  border: 1px solid #f9f9f9;
  border-color: #d4d4d4;
  margin-bottom: 3em;
  padding: 1.5em; }
  .sidebar .widget.widget_social_links {
    border: none;
    padding: 0;
    text-align: center; }

.sidebar .widget .widget-title {
  border-bottom: 1px solid #f9f9f9;
  border-color: #d4d4d4;
  padding-bottom: 0.75em;
  text-align: center; }

.widget_newsletter_widget {
  text-align: center; }
  .widget_newsletter_widget .button {
    padding: 15px 38px; }

.woocommerce .sidebar {
  display: none; }

blockquote {
  border-left: 5px solid #c9282d;
  color: #c9282d; }

.comment-respond,
.entry-comments,
.entry-pings {
  background-color: white;
  margin-bottom: 2em; }

.comment-respond,
.entry-pings {
  padding: 2em 2em 1em; }

.entry-comments {
  padding: 2em; }

.comment-header {
  font-size: 1em; }

li.comment {
  background-color: #e6e6e6;
  border: 1px solid #f9f9f9;
  border-right: none; }

.comment-content {
  clear: both; }

.comment-list li {
  margin-top: 1em;
  padding: 2em; }
  .comment-list li li {
    margin-right: -2em; }

.comment-respond input[type="email"],
.comment-respond input[type="text"],
.comment-respond input[type="url"] {
  width: 50%; }

.comment-respond label {
  display: block;
  margin-right: 1em; }

.entry-comments .comment-author {
  margin-bottom: 0; }

.entry-pings .reply {
  display: none; }

.form-allowed-tags {
  background-color: #e6e6e6;
  font-size: 1em;
  padding: 2em; }

.pagination {
  clear: both;
  margin: 3em 0; }
  @media screen and (min-width: 800px) {
    .pagination {
      padding: 0 1.5em; } }

.adjacent-entry-pagination {
  margin-bottom: 0; }

.archive-pagination li {
  display: inline; }
  .archive-pagination li a {
    border: 1px solid #f9f9f9;
    border-color: #d4d4d4;
    cursor: pointer;
    display: inline-block;
    font-size: 1em;
    padding: 5px 10px; }
    .archive-pagination li a:hover {
      backgroud-color: #c9282d; }
  .archive-pagination li.active a {
    background-color: #c9282d;
    color: white; }

.call-to-action {
  position: relative; }
  .call-to-action .bg {
    opacity: 0.8;
    position: absolute;
    width: 100%;
    height: 100%; }
  .call-to-action .border {
    position: absolute;
    width: calc(100% - 60px);
    height: calc(100% - 60px);
    pointer-events: none;
    top: 50%;
    left: 50%;
    z-index: 2000;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  .call-to-action .wrap {
    padding: 3em 1.5em;
    position: relative;
    z-index: 100; }
    @media screen and (min-width: 800px) {
      .call-to-action .wrap {
        padding-bottom: 4em;
        padding-top: 4em; } }
  .call-to-action.footer-cta .wrap {
    padding: 3em 1.5em; }
    @media screen and (min-width: 800px) {
      .call-to-action.footer-cta .wrap {
        padding: 8em 0; } }
  .call-to-action .cta-content *:not(a),
  .call-to-action .cta-content *:not(button) {
    color: #fff; }
  .call-to-action .cta-content *:last-child {
    margin-bottom: 0; }
  .call-to-action .cta-content .strikethrough {
    color: #c9282d;
    text-decoration: line-through; }
  .call-to-action .cta-content.has-table {
    display: table;
    width: 100%; }
  .call-to-action .cta-content .cell {
    display: table-cell;
    vertical-align: middle; }
  .call-to-action .cta-content .img-left, .call-to-action .cta-content .img-right {
    width: 25%; }
  .call-to-action .cta-content .text-right, .call-to-action .cta-content .text-left {
    width: 75%; }
  .call-to-action .cta-content .text-right {
    padding-left: 20px; }
  .call-to-action .cta-content .text-left {
    padding-right: 20px; }
  .call-to-action .cta-content hr {
    border: 2px solid white;
    display: block;
    margin: 0 auto;
    max-width: 80px; }

.single-post .call-to-action {
  margin: 1.5em 0; }

.single-post .call-to-action .wrap {
  padding: 60px;
  box-sizing: border-box;
  width: 100%; }

.footer-widgets {
  background: #c9282d;
  border-bottom: 3px solid rgba(255, 255, 255, 0.2);
  overflow: auto;
  margin-bottom: 1.5em;
  padding: 3em 0 1.5em 0; }
  .footer-widgets a {
    color: rgba(255, 255, 255, 0.7); }
    .footer-widgets a:hover {
      color: #fff; }

.social-link svg {
  background: rgba(255, 255, 255, 0.7);
  fill: #c9282d;
  height: 35px;
  padding: 5px;
  transition: background-color 150ms ease;
  width: 35px; }
  .social-link svg:hover {
    background: #fff; }
  .widget_social_links .social-link svg {
    background: rgba(0, 0, 0, 0.8);
    fill: white; }
    .widget_social_links .social-link svg:hover {
      background: #c9282d; }

.footer-widgets .menu .menu-item {
  display: block; }
  @media screen and (min-width: 600px) {
    .footer-widgets .menu .menu-item {
      display: inline; } }
  .footer-widgets .menu .menu-item a {
    padding: 0.75em 0; }
    @media screen and (min-width: 600px) {
      .footer-widgets .menu .menu-item a {
        padding: 0.75em; } }
    .footer-widgets .menu .menu-item a:hover {
      color: #fff; }
  .footer-widgets .menu .menu-item:first-child a {
    padding-left: 0; }
  .footer-widgets .menu .menu-item:last-child a {
    padding-right: 0; }

.site-footer {
  background-color: #c9282d;
  color: rgba(255, 255, 255, 0.5);
  font-size: 14px;
  line-height: 1.5;
  padding: 0;
  text-align: center; }
  @media screen and (min-width: 800px) {
    .site-footer {
      padding: 1.5em 0; } }
  .site-footer a {
    color: rgba(255, 255, 255, 0.5);
    font-weight: 700; }
    .site-footer a:hover {
      color: #fff; }

.footer-left,
.footer-right,
.footer-widgets-1,
.footer-widgets-2 {
  display: block;
  text-align: left; }
  @media screen and (min-width: 800px) {
    .footer-left,
    .footer-right,
    .footer-widgets-1,
    .footer-widgets-2 {
      float: left;
      text-align: left;
      width: 50%; } }

.footer-right,
.footer-widgets-2 {
  margin-top: 1.5em; }
  @media screen and (min-width: 800px) {
    .footer-right,
    .footer-widgets-2 {
      margin-top: 0;
      text-align: right; } }

.footer-creds {
  overflow: auto;
  padding-bottom: 3em; }

.has-overlay {
  position: relative; }

.has-overlay:before {
  content: "";
  background: #c9282d;
  height: 100%;
  opacity: 0.6;
  width: 100%; }

.tml-profile {
  margin-bottom: 3em; }
  .tml-profile th {
    border-bottom: 0px;
    padding-bottom: 0px; }
  .tml-profile td {
    padding: 0px; }

.tml-login,
.tml-resetpass {
  margin-bottom: 3em; }

.tml .tml-action-links li:before {
  display: none; }

.pmpro-levels .content,
.pmpro-checkout .content,
.pmpro-billing .content,
.pmpro-confirmation .content,
.pmpro-account .content {
  margin-bottom: 3em; }

.move-left .mobile-show.mobile-menu-icon {
  display: none; }

.logged-in.admin-bar #mobile-menu {
  top: 32px; }
  @media (max-width: 782px) {
    .logged-in.admin-bar #mobile-menu {
      top: 46px; } }

#mobile-menu .icon-close-container {
  background-color: rgba(201, 40, 45, 0.5);
  left: -28px;
  top: 20px; }

#mobile-menu li a {
  margin-bottom: 0px;
  padding: 16px 20px;
  font-weight: inherit; }

#mobile-menu li.menu-item-has-children:after {
  right: 20px;
  top: 16px; }

#mobile-menu li.menu-item-has-children.active {
  padding-bottom: 0px; }

#mobile-menu.move-in {
  overflow: initial !important; }

#mobile-menu.mobile-menu {
  padding: 0px; }

#mobile-menu .sub-menu {
  padding-left: 0px; }
  #mobile-menu .sub-menu li {
    width: 100%; }
    #mobile-menu .sub-menu li a {
      padding: 7px 20px;
      width: 100%;
      display: inline-block; }

.store-cta-pop-up {
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  display: none; }

.store-cta-pop-up-dark-bg {
  background-color: #444;
  bottom: 0;
  left: 0;
  opacity: 0.7;
  position: absolute;
  right: 0;
  top: 0; }

.store-cta-pop-up-inner {
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  left: 50%;
  min-height: 300px;
  position: absolute;
  top: 50%;
  width: 400px;
  z-index: 10000; }
  @media (max-width: 400px) {
    .store-cta-pop-up-inner {
      width: 90%; } }
  .store-cta-pop-up-inner .store-cta-pop-inner-red-overlay {
    background-color: #c9282d;
    bottom: 0;
    left: 0;
    opacity: 0.7;
    position: absolute;
    right: 0;
    top: 0; }

.store-cta-pop-up-close {
  background-color: white;
  border-radius: 50%;
  color: black;
  height: 25px;
  position: absolute;
  right: -10px;
  top: -10px;
  width: 25px;
  transition: opacity 300ms ease;
  z-index: 10000; }
  .store-cta-pop-up-close:after {
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    content: "X";
    left: 50%;
    line-height: 1;
    position: absolute;
    top: 50%; }
  .store-cta-pop-up-close:hover {
    opacity: 0.8;
    cursor: pointer; }

.store-cta-pop-up-inner-content {
  border: 2px solid white;
  bottom: 15px;
  left: 15px;
  position: absolute;
  right: 15px;
  top: 15px;
  z-index: 100000; }

.store-cta-pop-up-inner-content-insides {
  bottom: 1.5em;
  display: block;
  left: 15px;
  position: absolute;
  right: 15px;
  text-align: center;
  z-index: 1000000; }
  .store-cta-pop-up-inner-content-insides p {
    color: white;
    font-size: 22px;
    font-weight: 100; }

.store-cta-pop-up-btn a {
  background-color: white;
  display: inline-block;
  margin-bottom: 0.75em;
  padding: 15px 20px;
  position: relative; }
  .store-cta-pop-up-btn a:after {
    border: 1px solid #c9282d;
    bottom: 5px;
    content: "";
    left: 5px;
    opacity: 1;
    position: absolute;
    right: 5px;
    top: 5px;
    transition: opacity 300ms ease; }
  .store-cta-pop-up-btn a:hover {
    color: #c9282d; }
    .store-cta-pop-up-btn a:hover:after {
      opacity: 0; }

/**
 * Sections
 */
#flexible-section-repeater .informational-cta-section {
  position: relative;
  background: #f9f9f9; }
  #flexible-section-repeater .informational-cta-section.page-flexible-section {
    margin-bottom: 0; }
  #flexible-section-repeater .informational-cta-section .wrap {
    position: static; }
  #flexible-section-repeater .informational-cta-section .item {
    width: 100%; }
    @media screen and (min-width: 800px) {
      #flexible-section-repeater .informational-cta-section .item {
        width: 50%; } }
    #flexible-section-repeater .informational-cta-section .item.content {
      padding: 3em 0; }
      @media screen and (min-width: 800px) {
        #flexible-section-repeater .informational-cta-section .item.content {
          float: left;
          display: block;
          margin-right: 2.35765%;
          width: 48.82117%; }
          #flexible-section-repeater .informational-cta-section .item.content:last-child {
            margin-right: 0; } }
      @media screen and (min-width: 800px) {
        #flexible-section-repeater .informational-cta-section .item.content.right {
          margin-left: 51.17883%;
          padding-left: 3em; } }
    #flexible-section-repeater .informational-cta-section .item.image {
      display: none;
      position: absolute;
      width: 50%;
      height: 100%; }
      @media screen and (min-width: 800px) {
        #flexible-section-repeater .informational-cta-section .item.image {
          display: block; } }
      #flexible-section-repeater .informational-cta-section .item.image.left {
        left: 50%; }
      #flexible-section-repeater .informational-cta-section .item.image.right {
        right: 50%; }
      #flexible-section-repeater .informational-cta-section .item.image .bg {
        position: absolute;
        width: 100%;
        height: 100%;
        background-position: center;
        background-repeat: no-repeat; }

#flexible-section-repeater .sixty-fourty {
  padding: 3em 0;
  position: relative; }
  #flexible-section-repeater .sixty-fourty.page-flexible-section {
    margin-bottom: 0; }

@media screen and (min-width: 800px) {
  #flexible-section-repeater .sixty-fourty .item.content {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 57.35098%; }
    #flexible-section-repeater .sixty-fourty .item.content:last-child {
      margin-right: 0; } }

#flexible-section-repeater .sixty-fourty .item.image {
  display: none; }
  @media screen and (min-width: 800px) {
    #flexible-section-repeater .sixty-fourty .item.image {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 40.29137%;
      margin-right: 0; }
      #flexible-section-repeater .sixty-fourty .item.image:last-child {
        margin-right: 0; } }
  #flexible-section-repeater .sixty-fourty .item.image img {
    display: block;
    margin: 0 auto;
    width: 100%; }

.accordion-page .wrap.content:first-child {
  padding-bottom: 40px; }

.accordion-page .wrap.content:last-child {
  padding-top: 0; }

.accordion-page .wrap.no-content:first-child {
  padding: 0; }

.single-product .accordion-row {
  margin-bottom: 8px !important; }

.single-product .accordion-title {
  background-color: #a7a7a7 !important; }

.accordion-block {
  box-sizing: border-box; }
  .accordion-block .title {
    font-weight: 700;
    text-transform: uppercase; }
  .accordion-block .accordion-row {
    margin-bottom: 15px; }
    .accordion-block .accordion-row:last-child {
      margin-bottom: 0; }
    .accordion-block .accordion-row .accordion-title {
      padding: 10px 20px;
      background: #d4d4d4;
      color: #fff;
      text-transform: uppercase;
      position: relative;
      font-weight: 700;
      cursor: pointer;
      border: 1px solid #f9f9f9;
      -webkit-transition: 150ms ease;
      -moz-transition: 150ms ease;
      transition: 150ms ease; }
      .accordion-block .accordion-row .accordion-title svg {
        position: absolute;
        top: 50%;
        right: 15px;
        width: 30px;
        height: 30px;
        cursor: pointer;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
        -webkit-transition: 150ms ease;
        -moz-transition: 150ms ease;
        transition: 150ms ease; }
        .accordion-block .accordion-row .accordion-title svg path, .accordion-block .accordion-row .accordion-title svg polygon {
          fill: #fff; }
      .accordion-block .accordion-row .accordion-title:hover {
        border: 1px solid transparent;
        background: #c9282d; }
      .accordion-block .accordion-row .accordion-title.active {
        border: 1px solid transparent;
        background: #c9282d; }
        .accordion-block .accordion-row .accordion-title.active svg {
          -webkit-transform: translateY(-50%) rotate(45deg);
          -moz-transform: translateY(-50%) rotate(45deg);
          -ms-transform: translateY(-50%) rotate(45deg);
          -o-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg); }
    .accordion-block .accordion-row .accordion-info {
      display: none;
      color: #686868;
      padding: 20px 20px 5px 20px;
      box-sizing: border-box; }
      .accordion-block .accordion-row .accordion-info *:last-child {
        margin-bottom: 0; }
      .accordion-block .accordion-row .accordion-info ul {
        margin-top: 10px; }
        .accordion-block .accordion-row .accordion-info ul li {
          list-style-type: none;
          margin-left: 20px;
          position: relative;
          margin-bottom: 10px; }
        .accordion-block .accordion-row .accordion-info ul > li > ul li {
          margin-top: 10px; }
          .accordion-block .accordion-row .accordion-info ul > li > ul li:before {
            content: '';
            position: absolute;
            width: 6px;
            height: 6px;
            background: #c9282d;
            top: 8px;
            left: -20px;
            border-radius: 50%; }
        .accordion-block .accordion-row .accordion-info ul > li:before {
          content: '';
          position: absolute;
          width: 8px;
          height: 8px;
          background: #c9282d;
          top: 8px;
          left: -20px;
          border-radius: 50%; }
        .accordion-block .accordion-row .accordion-info ul > li:last-child {
          margin-bottom: 0; }
      .accordion-block .accordion-row .accordion-info .ul-dots-right ul li {
        margin-left: 0;
        margin-right: 20px;
        text-align: right; }
      .accordion-block .accordion-row .accordion-info .ul-dots-right ul > li > ul li:before {
        right: -20px;
        left: auto; }
      .accordion-block .accordion-row .accordion-info .ul-dots-right ul > li:before {
        left: auto;
        right: -20px; }
    .accordion-block .accordion-row:first-child {
      padding-top: 0; }
    .accordion-block .accordion-row:last-child {
      padding-bottom: 0;
      border-bottom: none; }

#flexible-section-repeater .content-section .content *:last-child,
#flexible-section-repeater .content-section .l-content *:last-child,
#flexible-section-repeater .content-section .r-content *:last-child {
  margin-bottom: 0; }

#flexible-section-repeater .content-section .l-content,
#flexible-section-repeater .content-section .r-content {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 100%; }
  #flexible-section-repeater .content-section .l-content:last-child,
  #flexible-section-repeater .content-section .r-content:last-child {
    margin-right: 0; }

#flexible-section-repeater .content-section .l-content {
  margin-bottom: 3em; }
  @media screen and (min-width: 800px) {
    #flexible-section-repeater .content-section .l-content {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%;
      margin-bottom: 0; }
      #flexible-section-repeater .content-section .l-content:last-child {
        margin-right: 0; } }

@media screen and (min-width: 800px) {
  #flexible-section-repeater .content-section .r-content {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 48.82117%;
    margin-right: 0; }
    #flexible-section-repeater .content-section .r-content:last-child {
      margin-right: 0; } }

.tile-blocks {
  overflow: auto; }
  @media screen and (min-width: 800px) {
    .tile-blocks {
      display: -webkit-box;
      display: -moz-box;
      display: box;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -moz-box-orient: horizontal;
      box-orient: horizontal;
      -webkit-box-direction: normal;
      -moz-box-direction: normal;
      box-direction: normal;
      -webkit-flex-direction: row;
      -moz-flex-direction: row;
      flex-direction: row;
      -ms-flex-direction: row; } }

.tile-block {
  padding: 4.5em 3em;
  position: relative; }
  @media screen and (min-width: 800px) {
    .tile-block {
      -webkit-box-flex: 1;
      -moz-box-flex: 1;
      box-flex: 1;
      -webkit-flex: 1;
      -moz-flex: 1;
      -ms-flex: 1;
      flex: 1;
      min-height: 300px; } }
  .tile-block.has-red-overlay:after {
    background-color: #c9282d;
    content: '';
    bottom: 0;
    left: 0;
    opacity: 0.6;
    position: absolute;
    right: 0;
    top: 0;
    transition: opacity 150ms ease;
    z-index: 10; }
  .tile-block.has-bg {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
  .tile-block .tile-block-header,
  .tile-block .tile-block-excerpt,
  .tile-block .tile-block-footer {
    position: relative;
    z-index: 100; }

.tile-block.has-bg .tile-block-title,
.tile-block.has-bg .tile-block-excerpt p,
.tile-block.has-bg .tile-block-footer a {
  color: white; }

.tile-block-title {
  font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; }

.tile-block-footer a {
  font-weight: 700; }
  .tile-block-footer a:hover {
    color: #fff; }

.page-flexible-section.page-section-stories {
  background: #f9f9f9;
  padding-top: 3em;
  padding-bottom: 3em; }
  @media screen and (min-width: 800px) {
    .page-flexible-section.page-section-stories {
      padding-top: 5em;
      padding-bottom: 5em; } }
  .page-flexible-section.page-section-stories.two-posts .stories {
    display: block;
    margin: 0 auto;
    width: 66.66667%; }
    .page-flexible-section.page-section-stories.two-posts .stories .story {
      width: 50%; }
  .page-flexible-section.page-section-stories.four-posts .stories {
    display: block;
    margin: 0 auto;
    width: 100%; }
    .page-flexible-section.page-section-stories.four-posts .stories .story {
      width: 25%; }

.page-flexible-section.icon-blurb-section {
  background-color: #f9f9f9; }

.page-flexible-section .blurb-title {
  font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-weight: 700;
  font-size: 1.5em; }

.page-flexible-section .blurb {
  text-align: center;
  margin-bottom: 3em; }
  @media screen and (min-width: 600px) {
    .page-flexible-section .blurb {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 23.23176%;
      margin-bottom: 0; }
      .page-flexible-section .blurb:last-child {
        margin-right: 0; } }

.page-flexible-section .blurb-icon {
  background-color: #c9282d;
  border-radius: 50%;
  height: 125px;
  margin: 0 auto 1.5em;
  position: relative;
  width: 125px; }
  .page-flexible-section .blurb-icon img {
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    height: 50px;
    left: 50%;
    position: absolute;
    top: 50%;
    width: 50px; }

.page-flexible-section .blurb-content {
  text-align: center; }

.page-flexible-section.pricing-section .page-section-title,
.page-flexible-section.pricing-section .right-title {
  font-weight: 500; }

.page-flexible-section.pricing-section .right-title {
  font-size: 1.875em;
  margin-bottom: 1.5em; }

@media screen and (min-width: 600px) {
  .page-flexible-section.pricing-section .left-side {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 40.29137%; }
    .page-flexible-section.pricing-section .left-side:last-child {
      margin-right: 0; } }

@media screen and (min-width: 600px) {
  .page-flexible-section.pricing-section .right-side {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 57.35098%; }
    .page-flexible-section.pricing-section .right-side:last-child {
      margin-right: 0; } }

.page-flexible-section.pricing-section .right-coming-soon {
  background-color: #c9282d;
  color: white;
  font-size: 1.875em;
  line-height: 1.1;
  margin-top: 1.5em;
  max-width: 500px;
  opacity: 0.5;
  padding: 1.5em;
  text-transform: uppercase; }

.start-box {
  background-color: #f9f9f9;
  text-align: center; }
  @media screen and (min-width: 600px) {
    .start-box {
      max-width: 400px; } }
  .start-box .start-top {
    background-color: #c9282d; }
    .start-box .start-top h3 {
      color: white;
      font-size: 1.5em;
      font-weight: 500;
      padding: 0.75em;
      margin-bottom: 0; }
  .start-box .start-bottom {
    padding: 1.5em; }
  .start-box .start-norm-price .price,
  .start-box .start-reduced-price .price {
    color: #222;
    font-size: 3em; }
  .start-box .start-norm-price .price-period,
  .start-box .start-reduced-price .price-period {
    font-size: 1.125em; }
  .start-box .start-norm-price {
    border-bottom: 5px solid #d5d5d5;
    margin-bottom: 0.75em;
    padding-bottom: 0.75em; }
    .start-box .start-norm-price .price,
    .start-box .start-norm-price .price-period {
      color: #d5d5d5; }
    .start-box .start-norm-price .slashed .inner-slash {
      position: relative; }
      .start-box .start-norm-price .slashed .inner-slash:after {
        content: "";
        width: 100%;
        height: 3px;
        background-color: #c9282d;
        position: absolute;
        left: 0;
        top: 0;
        -webkit-transform: rotate(12deg);
        -moz-transform: rotate(12deg);
        -ms-transform: rotate(12deg);
        -o-transform: rotate(12deg);
        transform: rotate(12deg); }
  .start-box .start-blurb {
    margin-top: 1.5em;
    margin-bottom: 3em;
    text-align: left; }

.fifty-form-cta-section {
  /** AC Form Styles **/
  /** Error Styles **/ }
  .fifty-form-cta-section .sixcol {
    width: 48.5%;
    margin-left: 3%;
    float: left;
    position: relative; }
  .fifty-form-cta-section .sixcol:first-child {
    margin-left: 0; }
  .fifty-form-cta-section .content {
    margin-bottom: 3em !important; }
  .fifty-form-cta-section .has-form-background {
    background: #000;
    padding: 3em;
    box-sizing: border-box;
    color: #fff; }
  .fifty-form-cta-section .has-form-background .form-background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    opacity: 0.5;
    display: block; }
  .fifty-form-cta-section .form-background {
    display: none; }
  .fifty-form-cta-section .has-form-background form {
    border-top: 4px solid #fff; }
  .fifty-form-cta-section form {
    width: 100%;
    border-top: 4px solid #c9282d;
    padding-top: 20px;
    position: relative;
    z-index: 200; }
  .fifty-form-cta-section ._form-title {
    font-size: 1.2em;
    font-weight: bold; }
  .fifty-form-cta-section ._form_element {
    margin-bottom: 1.5em;
    position: relative; }
  .fifty-form-cta-section ._form-label {
    font-weight: bold;
    padding-bottom: 0.5em;
    display: block; }
  .fifty-form-cta-section input[type="text"], .fifty-form-cta-section textarea, .fifty-form-cta-section select {
    width: 100%;
    padding: 15px;
    border: 1px solid #aaa;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box; }
  .fifty-form-cta-section .has-form-background input[type="text"], .fifty-form-cta-section .has-form-background textarea, .fifty-form-cta-section .has-form-background select {
    border: 1px solid transparent; }
  .fifty-form-cta-section input[type="text"]._has_error, .fifty-form-cta-section textarea._has_error, .fifty-form-cta-section select._has_error {
    border: 1px solid #f37c7b !important; }
  .fifty-form-cta-section select {
    width: 100%;
    height: 40px;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box; }
  .fifty-form-cta-section .has-form-background button {
    background: #fff;
    color: #333;
    border-color: #fff; }
  .fifty-form-cta-section button {
    background: #c9282d;
    color: #fff;
    font-size: 100%;
    font-weight: bold;
    padding: 15px 36px;
    /*border-radius: 100px;*/
    border: 2px solid #c9282d;
    text-transform: uppercase;
    cursor: pointer;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    transition: all 0.5s ease; }
  .fifty-form-cta-section button:before {
    display: none !important; }
  .fifty-form-cta-section .has-form-background button:hover {
    color: #fff; }
  .fifty-form-cta-section button:hover {
    background: none;
    color: #c9282d; }
  .fifty-form-cta-section ._form-branding {
    display: none; }
  .fifty-form-cta-section ._error {
    display: block;
    position: absolute;
    font-size: 13px;
    z-index: 10000001; }
  .fifty-form-cta-section ._error._above {
    padding-bottom: 4px;
    top: -17px;
    right: 0; }
  .fifty-form-cta-section ._error._below {
    padding-top: 4px;
    top: 100%;
    right: 0; }
  .fifty-form-cta-section ._error._above ._error-arrow {
    bottom: 0;
    right: 15px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #f37c7b; }
  .fifty-form-cta-section ._error._below ._error-arrow {
    top: 0;
    right: 15px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid #f37c7b; }
  .fifty-form-cta-section ._error-inner {
    padding: 8px 12px;
    background-color: #f37c7b;
    font-size: 13px;
    font-family: arial, sans-serif;
    color: #fff;
    text-align: center;
    text-decoration: none;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px; }
  .fifty-form-cta-section ._error-inner._form_error {
    margin-bottom: 5px;
    position: absolute;
    text-align: left; }
  .fifty-form-cta-section ._button-wrapper ._error-inner._form_error {
    position: static; }
  .fifty-form-cta-section ._error-inner._no_arrow {
    margin-bottom: 10px; }
  .fifty-form-cta-section ._error-arrow {
    position: absolute;
    width: 0;
    height: 0; }
  .fifty-form-cta-section ._error-html {
    margin-bottom: 10px; }
  @media (max-width: 800px) {
    .fifty-form-cta-section .sixcol {
      width: 100%;
      margin: 0; } }

.juicerFeedSection {
  background: #c9282d; }
  .juicerFeedSection .sectionHeader {
    padding: 3em 0; }
    .juicerFeedSection .sectionHeader * {
      color: #fff; }
    .juicerFeedSection .sectionHeader h2:before {
      background: #fff; }
    .juicerFeedSection .sectionHeader *:last-child {
      margin-bottom: 0; }
  .juicerFeedSection li:before {
    display: none; }
  .juicerFeedSection .juicer-feed.slider .slick-prev {
    top: 30%; }
    .juicerFeedSection .juicer-feed.slider .slick-prev:before {
      display: block; }
  .juicerFeedSection .juicer-feed.slider .slick-next {
    top: 30%; }
    .juicerFeedSection .juicer-feed.slider .slick-next:before {
      display: block; }

#flexible-section-repeater .page-flexible-section.has-top-padding {
  padding-top: 3em; }

#flexible-section-repeater .page-flexible-section.has-bot-padding {
  padding-bottom: 3em; }

@media screen and (min-width: 800px) {
  #flexible-section-repeater .page-flexible-section.has-top-padding {
    padding-top: 5em; }
  #flexible-section-repeater .page-flexible-section.has-bot-padding {
    padding-bottom: 5em; } }

/**
 * Pages
 */
.mobile-bg {
  display: block;
  height: 580px;
  background-size: cover;
  background-position: center; }
  @media screen and (min-width: 800px) {
    .mobile-bg {
      display: none; } }

.autoplay-video {
  display: none; }
  @media screen and (min-width: 800px) {
    .autoplay-video {
      display: block;
      width: 100%; } }

.joel-story {
  background: #f9f9f9;
  overflow: auto;
  padding: 0; }
  @media screen and (min-width: 800px) {
    .joel-story {
      position: relative;
      height: 500px; } }

.joel-image,
.joel-content {
  display: block; }

.joel-image {
  display: none;
  min-height: 461px;
  width: 33.33333%;
  height: 100%;
  position: relative; }
  @media screen and (min-width: 800px) {
    .joel-image {
      display: block;
      position: absolute;
      left: 0px;
      height: 100%;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center top; } }

.joel-content {
  padding: 3em 1.5em; }
  @media screen and (min-width: 600px) {
    .joel-content {
      padding: 2em 1.5em; } }
  @media screen and (min-width: 800px) {
    .joel-content {
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%);
      left: 35.83333%;
      padding-left: 1.5em;
      position: absolute;
      top: 50%;
      width: 64.16667%; } }

.joel-story.no-image {
  height: auto;
  text-align: center; }
  @media screen and (min-width: 800px) {
    .joel-story.no-image .joel-content {
      -webkit-transform: translateY(0);
      -moz-transform: translateY(0);
      -ms-transform: translateY(0);
      -o-transform: translateY(0);
      transform: translateY(0);
      left: 0;
      padding: 8em 1.5em;
      position: relative;
      top: 0;
      width: 100%;
      max-width: 1080px;
      margin: 0 auto; } }
  .joel-story.no-image .joel-content .joel-content-wrap {
    max-width: 100%; }

.joel-content-wrap {
  max-width: 780px; }
  .joel-content-wrap .button {
    margin-top: 1.5em; }

.stories .story {
  margin-bottom: 3em;
  padding: 0 1.5em;
  text-align: center;
  border: none; }
  .stories .story .story-image {
    border-radius: 50%;
    margin-bottom: 0.75em;
    display: inline-block; }
  @media screen and (min-width: 800px) {
    .stories .story {
      border-right: 1px solid #f9f9f9;
      border-color: #d4d4d4;
      display: block;
      float: left;
      margin-bottom: 1.5em;
      width: 33.33333%; }
      .stories .story:last-child {
        border: none; } }
  .stories .story .story-title {
    font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    font-size: 1.5em;
    font-weight: 700; }

.slick-slider .slick-dots {
  position: absolute;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  left: 50%;
  bottom: 0px;
  text-align: center;
  width: auto;
  z-index: 50;
  margin: 0 !important;
  padding: 0; }
  .slick-slider .slick-dots > li {
    display: inline-block;
    width: 15px;
    height: 15px;
    background-color: transparent;
    border: 2px solid #c9282d;
    border-radius: 50%;
    margin-left: 6px;
    margin-bottom: 0 !important; }
    .slick-slider .slick-dots > li:first-of-type {
      margin-left: 0px; }
    .slick-slider .slick-dots > li.slick-active {
      background-color: #c9282d; }
    .slick-slider .slick-dots > li:before {
      display: none; }
    .slick-slider .slick-dots > li:hover {
      cursor: pointer; }
  .slick-slider .slick-dots > li button {
    display: none !important; }

.study .wrap {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto; }
  .study .wrap::after {
    clear: both;
    content: "";
    display: table; }

.study-header {
  margin-bottom: 0.75em; }

.study-info {
  margin-bottom: 1.5em; }
  @media screen and (min-width: 800px) {
    .study-info {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 57.35098%;
      margin-bottom: 0; }
      .study-info:last-child {
        margin-right: 0; } }
  .study-info .study-title {
    margin-bottom: 0; }
  .study-info .study-subtitle {
    font-size: 24px;
    font-weight: 100;
    text-transform: uppercase;
    margin-bottom: 0; }

.study-image {
  display: none; }
  @media screen and (min-width: 800px) {
    .study-image {
      display: block;
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 40.29137%;
      margin-right: 0; }
      .study-image:last-child {
        margin-right: 0; } }
  .study-image img {
    width: 100%; }

.study-footer {
  margin-top: 1.5em; }

.blog .content,
.single .content {
  margin-bottom: 5em;
  margin-top: 5em; }
  .blog .content article.post,
  .single .content article.post {
    margin-bottom: 3em; }
    @media screen and (min-width: 800px) {
      .blog .content article.post,
      .single .content article.post {
        padding: 1.5em 0; } }
    .blog .content article.post:first-child,
    .single .content article.post:first-child {
      padding-top: 0; }

.entry-title {
  color: #222;
  margin-bottom: 10px; }
  .entry-title a {
    color: #222; }
    .entry-title a:hover {
      color: #c9282d; }

.entry-meta {
  padding-top: 10px; }

.archive.post-type-archive .study-wrap,
.archive.woocommerce .study-wrap {
  width: 100%;
  margin-bottom: 1.5em; }
  @media screen and (min-width: 600px) {
    .archive.post-type-archive .study-wrap,
    .archive.woocommerce .study-wrap {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .archive.post-type-archive .study-wrap:last-child,
      .archive.woocommerce .study-wrap:last-child {
        margin-right: 0; }
      .archive.post-type-archive .study-wrap:nth-child(2n),
      .archive.woocommerce .study-wrap:nth-child(2n) {
        margin-right: 0; }
      .archive.post-type-archive .study-wrap:nth-child(2n+1),
      .archive.woocommerce .study-wrap:nth-child(2n+1) {
        clear: left; } }
  @media screen and (min-width: 800px) {
    .archive.post-type-archive .study-wrap,
    .archive.woocommerce .study-wrap {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 23.23176%; }
      .archive.post-type-archive .study-wrap:last-child,
      .archive.woocommerce .study-wrap:last-child {
        margin-right: 0; }
      .archive.post-type-archive .study-wrap:nth-child(2n),
      .archive.woocommerce .study-wrap:nth-child(2n) {
        margin-right: 2.35765%; }
      .archive.post-type-archive .study-wrap:nth-child(2n+1),
      .archive.woocommerce .study-wrap:nth-child(2n+1) {
        clear: none; }
      .archive.post-type-archive .study-wrap:nth-child(4n),
      .archive.woocommerce .study-wrap:nth-child(4n) {
        margin-right: 0; }
      .archive.post-type-archive .study-wrap:nth-child(4n+1),
      .archive.woocommerce .study-wrap:nth-child(4n+1) {
        clear: left; } }

.archive.post-type-archive .study,
.archive.woocommerce .study {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  min-height: 225px;
  position: relative; }
  .archive.post-type-archive .study .study-slide-link,
  .archive.woocommerce .study .study-slide-link {
    height: 100%;
    position: absolute;
    transition: all 300ms ease !important;
    width: 100%; }
    .archive.post-type-archive .study .study-slide-link:hover,
    .archive.woocommerce .study .study-slide-link:hover {
      background-color: rgba(201, 40, 45, 0.6); }
      .archive.post-type-archive .study .study-slide-link:hover .hover-arrow,
      .archive.woocommerce .study .study-slide-link:hover .hover-arrow {
        visibility: visible; }
      .archive.post-type-archive .study .study-slide-link:hover:before,
      .archive.woocommerce .study .study-slide-link:hover:before {
        content: '';
        border-left: 1px solid #c9282d;
        border-bottom: 1px solid #c9282d;
        padding: 5px;
        position: absolute;
        transition: all 300ms ease;
        top: 5px;
        left: -5px;
        right: 5px;
        bottom: -5px; }
  .archive.post-type-archive .study .study-content,
  .archive.woocommerce .study .study-content {
    position: absolute;
    text-align: center;
    bottom: 1.5em;
    left: 0.75em;
    right: 0.75em; }
    .archive.post-type-archive .study .study-content .hover-arrow,
    .archive.woocommerce .study .study-content .hover-arrow {
      border-radius: 50%;
      border: 2px solid white;
      height: 40px;
      margin: 0 auto 2.625em;
      position: relative;
      transition: all 300ms ease !important;
      visibility: hidden;
      width: 40px; }
      .archive.post-type-archive .study .study-content .hover-arrow svg,
      .archive.woocommerce .study .study-content .hover-arrow svg {
        position: absolute;
        left: 50%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
      .archive.post-type-archive .study .study-content .hover-arrow .cls-1,
      .archive.woocommerce .study .study-content .hover-arrow .cls-1 {
        fill: white; }
    .archive.post-type-archive .study .study-content .study-title,
    .archive.woocommerce .study .study-content .study-title {
      color: white;
      margin-bottom: 0;
      text-transform: uppercase; }
    .archive.post-type-archive .study .study-content .study-title,
    .archive.woocommerce .study .study-content .study-title {
      font-size: 1.25em; }

.archive .content {
  margin-bottom: 5em;
  margin-top: 5em; }
  .archive .content article.post {
    margin-bottom: 3em; }
    @media screen and (min-width: 800px) {
      .archive .content article.post {
        padding: 1.5em 0; } }
    .archive .content article.post:first-child {
      padding-top: 0; }

._form-content input {
  color: #444; }

.entry-content ul.tml-action-links > li:before {
  content: ""; }

.team-members {
  padding: 5em 0; }

.team-member {
  margin-bottom: 1.5em;
  text-align: center; }
  @media screen and (min-width: 800px) {
    .team-member {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%; }
      .team-member:last-child {
        margin-right: 0; }
      .team-member:nth-child(3n) {
        margin-right: 0; }
      .team-member:nth-child(3n+1) {
        clear: left; } }
  .team-member img {
    border: 3px solid #f9f9f9;
    margin-bottom: 10px; }
  .team-member h4,
  .team-member p {
    margin: 0; }
  .team-member .button {
    margin-top: 10px; }

.single-team-member {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto; }
  .single-team-member::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (min-width: 800px) {
    .single-team-member .team-image {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%; }
      .single-team-member .team-image:last-child {
        margin-right: 0; } }
  .single-team-member .team-image img {
    border: 3px solid #f9f9f9; }
  @media screen and (min-width: 800px) {
    .single-team-member .team-info {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 65.88078%;
      margin-right: 0; }
      .single-team-member .team-info:last-child {
        margin-right: 0; } }
  .single-team-member .team-phone,
  .single-team-member .team-email {
    margin-bottom: 10px; }
    .single-team-member .team-phone label,
    .single-team-member .team-email label {
      margin-bottom: 0; }

.single-study .vid-section-title {
  font-size: 3em; }

.single-study .vid-section-sub-title {
  font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 1.5em;
  font-weight: 100; }

.single-study .content {
  margin: 0; }

.single-study .summary-video {
  margin-top: 3em; }
  .single-study .summary-video .wistia-video-wrap {
    margin: 0 auto;
    max-width: 815px; }

.single-study .lower-part {
  display: inline-block;
  margin-top: 1.5em; }
  @media screen and (min-width: 800px) {
    .single-study .lower-part {
      margin: 4.5em 0; } }

@media screen and (min-width: 800px) {
  .single-study .left-column {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 65.88078%; }
    .single-study .left-column:last-child {
      margin-right: 0; } }

@media screen and (min-width: 800px) {
  .single-study .left-column .inner-left {
    max-width: 90%; } }

@media screen and (min-width: 800px) {
  .single-study .right-column {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 31.76157%; }
    .single-study .right-column:last-child {
      margin-right: 0; } }

.single-study .group-video {
  position: relative; }
  .single-study .group-video img {
    display: block; }
  @media screen and (min-width: 600px) {
    .single-study .group-video {
      float: right;
      margin-bottom: 0.75em;
      margin-left: 0.75em;
      width: 275px;
      max-width: 50%; } }
  .single-study .group-video:before {
    content: '';
    border-left: 1px solid #c9282d;
    border-bottom: 1px solid #c9282d;
    padding: 5px;
    position: absolute;
    top: 5px;
    left: -5px;
    right: 5px;
    bottom: -5px;
    transition: all 300ms ease !important; }
  .single-study .group-video:hover .overlink {
    opacity: 0.9; }
  .single-study .group-video:hover:before {
    border-left: 1px solid #9d1304;
    border-bottom: 1px solid #9d1304;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
  .single-study .group-video .overlink {
    background-color: rgba(201, 40, 45, 0.4);
    bottom: 0;
    content: '';
    font-size: 20px;
    left: 0;
    position: absolute;
    right: 0;
    text-align: center;
    text-transform: uppercase;
    top: 0;
    transition: all 300ms ease !important; }
    .single-study .group-video .overlink .link-text {
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      color: white;
      left: 50%;
      padding: 0.75em;
      position: absolute;
      text-align: center;
      top: 50%;
      width: 90%; }
  .single-study .group-video .play-wrap {
    border-radius: 50%;
    border: 2px solid white;
    height: 45px;
    margin: 0 auto;
    position: relative;
    width: 45px; }
  .single-study .group-video .play-button {
    transition: all 300ms ease; }
    .single-study .group-video .play-button svg {
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      height: 20px;
      left: 55%;
      position: absolute;
      top: 50%;
      width: 20px; }

.single-study .summary {
  margin-bottom: 3em;
  margin-top: 1.5em; }

.single-study .info-link {
  padding: 3em;
  background-color: #f9f9f9; }

.single-study .checklist {
  background: #d1484c;
  margin-bottom: 3em;
  margin-top: 3em;
  padding-top: 3em;
  padding: 3em; }
  @media screen and (min-width: 800px) {
    .single-study .checklist {
      margin-top: 1em; } }
  @media screen and (min-width: 800px) {
    .single-study .checklist.has-video-above {
      margin-top: -9em;
      padding-top: 10em; } }
  .single-study .checklist .vid-section-title,
  .single-study .checklist .vid-section-sub-title {
    color: white; }
  .single-study .checklist .vid-section-title {
    margin-bottom: 0.625rem;
    line-height: 1; }
  .single-study .checklist .check-item {
    border-bottom: 2px solid #c9282d;
    padding: 0.75em 0; }
    .single-study .checklist .check-item:last-of-type {
      border-bottom: 0px; }
  .single-study .checklist .item {
    color: white;
    display: inline-block;
    font-size: 0.875em;
    margin-left: 40px;
    min-height: 40px;
    position: relative; }
    @media screen and (min-width: 600px) {
      .single-study .checklist .item {
        padding-top: 10px; } }
    @media screen and (min-width: 800px) {
      .single-study .checklist .item {
        padding-top: 0; } }
    .single-study .checklist .item:before {
      border: 2px solid white;
      content: "";
      display: inline-block;
      height: 30px;
      margin-left: -40px;
      position: absolute;
      top: 5px;
      width: 30px; }
  .single-study .checklist .print-single-study {
    color: white;
    display: inline-block;
    font-size: 1.25em;
    margin-top: 1.875rem;
    text-transform: uppercase; }
    .single-study .checklist .print-single-study:hover {
      cursor: pointer;
      text-decoration-color: white;
      text-decoration: underline; }

.single-study .resources {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat; }
  .single-study .resources .vid-section-title {
    color: white;
    padding: 1.5em 0;
    text-align: center; }

.single-study .resource {
  background-color: rgba(201, 40, 45, 0.6);
  margin-bottom: 1.5em;
  padding: 1.5em;
  position: relative;
  transition: background-color 300ms ease; }
  @media screen and (min-width: 600px) {
    .single-study .resource {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%; }
      .single-study .resource:last-child {
        margin-right: 0; }
      .single-study .resource:nth-child(3n) {
        margin-right: 0; }
      .single-study .resource:nth-child(3n+1) {
        clear: left; } }
  .single-study .resource:hover {
    background-color: #c9282d; }
    .single-study .resource:hover .unhovered {
      visibility: hidden; }
    .single-study .resource:hover .hovered {
      visibility: visible; }
  .single-study .resource .unhovered {
    text-align: center;
    transition: background-color 300ms ease; }
    .single-study .resource .unhovered .download-icon img {
      height: 60px;
      margin: 3em 0;
      width: auto; }
  .single-study .resource .hovered {
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 1.5em;
    position: absolute;
    right: 1.5em;
    top: 50%;
    transition: background-color 300ms ease;
    visibility: hidden; }
    .single-study .resource .hovered p {
      margin-top: 0.75em;
      margin-bottom: 0.75em; }
  .single-study .resource .white-button a {
    font-size: 0.875em; }
  .single-study .resource .resource-title,
  .single-study .resource p {
    color: white;
    margin-bottom: 0; }
  .single-study .resource .resource-title {
    font-weight: 100;
    font-size: 1.625em;
    font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; }

.single-study .resources-wrapper {
  display: inline-block;
  margin-bottom: 3em;
  width: 100%; }

.portal-section {
  padding: 1.5em 0; }

.page-template-template-church-portal .site-inner {
  margin: 3em 0; }

.portal-section .portal-studies-wrap,
.portal-section .portal-tech-wrap,
.portal-section .portal-blog-posts-wrap,
.portal-section .portal-blog-podcast-wrap {
  position: relative; }
  .portal-section .portal-studies-wrap .left-arrow,
  .portal-section .portal-studies-wrap .right-arrow,
  .portal-section .portal-tech-wrap .left-arrow,
  .portal-section .portal-tech-wrap .right-arrow,
  .portal-section .portal-blog-posts-wrap .left-arrow,
  .portal-section .portal-blog-posts-wrap .right-arrow,
  .portal-section .portal-blog-podcast-wrap .left-arrow,
  .portal-section .portal-blog-podcast-wrap .right-arrow {
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    transform: translate(0, -50%);
    visibility: hidden; }
    @media (min-width: 1200px) {
      .portal-section .portal-studies-wrap .left-arrow,
      .portal-section .portal-studies-wrap .right-arrow,
      .portal-section .portal-tech-wrap .left-arrow,
      .portal-section .portal-tech-wrap .right-arrow,
      .portal-section .portal-blog-posts-wrap .left-arrow,
      .portal-section .portal-blog-posts-wrap .right-arrow,
      .portal-section .portal-blog-podcast-wrap .left-arrow,
      .portal-section .portal-blog-podcast-wrap .right-arrow {
        visibility: visible; } }
    .portal-section .portal-studies-wrap .left-arrow svg polyline,
    .portal-section .portal-studies-wrap .right-arrow svg polyline,
    .portal-section .portal-tech-wrap .left-arrow svg polyline,
    .portal-section .portal-tech-wrap .right-arrow svg polyline,
    .portal-section .portal-blog-posts-wrap .left-arrow svg polyline,
    .portal-section .portal-blog-posts-wrap .right-arrow svg polyline,
    .portal-section .portal-blog-podcast-wrap .left-arrow svg polyline,
    .portal-section .portal-blog-podcast-wrap .right-arrow svg polyline {
      stroke: #c9282d; }
    .portal-section .portal-studies-wrap .left-arrow:hover,
    .portal-section .portal-studies-wrap .right-arrow:hover,
    .portal-section .portal-tech-wrap .left-arrow:hover,
    .portal-section .portal-tech-wrap .right-arrow:hover,
    .portal-section .portal-blog-posts-wrap .left-arrow:hover,
    .portal-section .portal-blog-posts-wrap .right-arrow:hover,
    .portal-section .portal-blog-podcast-wrap .left-arrow:hover,
    .portal-section .portal-blog-podcast-wrap .right-arrow:hover {
      cursor: pointer; }
  .portal-section .portal-studies-wrap .left-arrow,
  .portal-section .portal-tech-wrap .left-arrow,
  .portal-section .portal-blog-posts-wrap .left-arrow,
  .portal-section .portal-blog-podcast-wrap .left-arrow {
    left: -65px; }
    .portal-section .portal-studies-wrap .left-arrow svg,
    .portal-section .portal-tech-wrap .left-arrow svg,
    .portal-section .portal-blog-posts-wrap .left-arrow svg,
    .portal-section .portal-blog-podcast-wrap .left-arrow svg {
      -webkit-transform: rotate(180deg);
      -moz-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
      -o-transform: rotate(180deg);
      transform: rotate(180deg); }
    @media screen and (min-width: 600px) {
      .portal-section .portal-studies-wrap .left-arrow,
      .portal-section .portal-tech-wrap .left-arrow,
      .portal-section .portal-blog-posts-wrap .left-arrow,
      .portal-section .portal-blog-podcast-wrap .left-arrow {
        left: -45px; } }
  .portal-section .portal-studies-wrap .right-arrow,
  .portal-section .portal-tech-wrap .right-arrow,
  .portal-section .portal-blog-posts-wrap .right-arrow,
  .portal-section .portal-blog-podcast-wrap .right-arrow {
    right: -65px; }
    @media screen and (min-width: 600px) {
      .portal-section .portal-studies-wrap .right-arrow,
      .portal-section .portal-tech-wrap .right-arrow,
      .portal-section .portal-blog-posts-wrap .right-arrow,
      .portal-section .portal-blog-podcast-wrap .right-arrow {
        right: -45px; } }

.portal-section.studies-slider-section,
.portal-section.tech-slider-section {
  /* the slides */
  /* the parent */ }
  .portal-section.studies-slider-section .study-slide,
  .portal-section.studies-slider-section .tech-slide,
  .portal-section.tech-slider-section .study-slide,
  .portal-section.tech-slider-section .tech-slide {
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 225px; }
  .portal-section.studies-slider-section .slick-slide,
  .portal-section.tech-slider-section .slick-slide {
    margin: 0 0.75em; }
  .portal-section.studies-slider-section .slick-list,
  .portal-section.tech-slider-section .slick-list {
    margin: -0.75em; }
  .portal-section.studies-slider-section .slick-dots,
  .portal-section.tech-slider-section .slick-dots {
    bottom: -3em; }
    .portal-section.studies-slider-section .slick-dots li,
    .portal-section.tech-slider-section .slick-dots li {
      margin: 0; }
    .portal-section.studies-slider-section .slick-dots button:before,
    .portal-section.tech-slider-section .slick-dots button:before {
      display: none; }
    .portal-section.studies-slider-section .slick-dots button,
    .portal-section.tech-slider-section .slick-dots button {
      background: #d4d4d4;
      border-radius: 50%;
      height: 5px;
      width: 5px; }
    .portal-section.studies-slider-section .slick-dots .slick-active button,
    .portal-section.tech-slider-section .slick-dots .slick-active button {
      background: #c9282d; }

.portal-section.studies-slider-section .study-slide {
  position: relative; }
  .portal-section.studies-slider-section .study-slide .study-slide-link {
    height: 100%;
    position: absolute;
    transition: all 300ms ease !important;
    width: 100%; }
    .portal-section.studies-slider-section .study-slide .study-slide-link:hover {
      background-color: rgba(201, 40, 45, 0.6); }
      .portal-section.studies-slider-section .study-slide .study-slide-link:hover .hover-arrow {
        visibility: visible; }
  .portal-section.studies-slider-section .study-slide .study-slide-content {
    position: absolute;
    text-align: center;
    bottom: 1.5em;
    left: 0.75em;
    right: 0.75em; }
    .portal-section.studies-slider-section .study-slide .study-slide-content .hover-arrow {
      border-radius: 50%;
      border: 2px solid white;
      height: 40px;
      margin: 0 auto 2.625em;
      position: relative;
      transition: all 300ms ease !important;
      visibility: hidden;
      width: 40px; }
      .portal-section.studies-slider-section .study-slide .study-slide-content .hover-arrow svg {
        position: absolute;
        left: 50%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
      .portal-section.studies-slider-section .study-slide .study-slide-content .hover-arrow .cls-1 {
        fill: white; }
    .portal-section.studies-slider-section .study-slide .study-slide-content .slide-title {
      color: white;
      margin-bottom: 0;
      text-transform: uppercase; }
    .portal-section.studies-slider-section .study-slide .study-slide-content .slide-title {
      font-size: 1.25em; }

.portal-section.tech-slider-section .tech-slide {
  position: relative; }
  .portal-section.tech-slider-section .tech-slide .tech-slide-link {
    height: 100%;
    position: absolute;
    transition: all 300ms ease !important;
    width: 100%;
    color: white; }
    .portal-section.tech-slider-section .tech-slide .tech-slide-link:hover {
      background-color: rgba(201, 40, 45, 0.6); }
      .portal-section.tech-slider-section .tech-slide .tech-slide-link:hover .unhovered {
        display: none; }
      .portal-section.tech-slider-section .tech-slide .tech-slide-link:hover .hovered {
        display: block; }
  .portal-section.tech-slider-section .tech-slide .slide-title,
  .portal-section.tech-slider-section .tech-slide .slide-blurb {
    color: white;
    margin-bottom: 0; }
  .portal-section.tech-slider-section .tech-slide .unhovered,
  .portal-section.tech-slider-section .tech-slide .hovered {
    text-align: center; }
  .portal-section.tech-slider-section .tech-slide .unhovered {
    position: absolute;
    width: 100%;
    padding: 0.75em;
    bottom: 1.5em; }
  .portal-section.tech-slider-section .tech-slide .hovered {
    display: none;
    position: absolute;
    padding: 0.75em;
    top: 50%;
    left: 50%;
    width: 100%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
    .portal-section.tech-slider-section .tech-slide .hovered p {
      margin-bottom: 0px; }

.portal-resource .coming-soon {
  background-color: #a7a7a7; }
  .portal-resource .coming-soon h3 {
    color: white;
    font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    font-size: 1.875em;
    font-weight: 400;
    margin-bottom: 0;
    padding: 1.125em; }

.portal-resource .fifty-resource {
  background-size: cover;
  background-repeat: no-repeat;
  margin-bottom: 1.5em;
  min-height: 325px;
  position: relative; }
  @media screen and (min-width: 600px) {
    .portal-resource .fifty-resource {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .portal-resource .fifty-resource:last-child {
        margin-right: 0; }
      .portal-resource .fifty-resource:nth-child(2n) {
        margin-right: 0; }
      .portal-resource .fifty-resource:nth-child(2n+1) {
        clear: left; } }
  .portal-resource .fifty-resource .resource-content {
    position: absolute;
    bottom: 1.5em;
    left: 1.5em;
    right: 1.5em; }
  .portal-resource .fifty-resource .resource-pretext,
  .portal-resource .fifty-resource .resource-title {
    margin-bottom: 0;
    color: white; }
  .portal-resource .fifty-resource .resource-pretext {
    font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    font-size: 1.125em;
    font-weight: 100; }
  .portal-resource .fifty-resource .resource-title {
    font-size: 2.5em; }
  .portal-resource .fifty-resource .resource {
    height: 100%;
    position: absolute;
    transition: all 300ms ease !important;
    width: 100%; }
  .portal-resource .fifty-resource .coming-content {
    visibility: hidden; }
  .portal-resource .fifty-resource.avaliable .resource {
    background-color: rgba(201, 40, 45, 0.7); }
  .portal-resource .fifty-resource.avaliable:hover .resource {
    background-color: rgba(201, 40, 45, 0.8); }
  .portal-resource .fifty-resource.coming .coming-content {
    background-color: rgba(167, 167, 167, 0.7);
    height: 100%;
    position: absolute;
    visibility: visible !important;
    width: 100%; }
    .portal-resource .fifty-resource.coming .coming-content h4 {
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      color: white;
      font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
      font-size: 2.5em;
      left: 50%;
      position: absolute;
      text-align: center;
      top: 50%;
      width: 100%; }

.dash-template .site-inner {
  margin-top: 4.5em;
  margin-bottom: 3em; }

.dash-template .dash-header {
  display: inline-block;
  margin-bottom: 1.5em;
  width: 100%; }
  .dash-template .dash-header .dash-sub-title {
    margin-bottom: 0; }
  .dash-template .dash-header .left {
    width: 100%; }
    @media screen and (min-width: 600px) {
      .dash-template .dash-header .left {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 48.82117%; }
        .dash-template .dash-header .left:last-child {
          margin-right: 0; } }
  .dash-template .dash-header .right {
    width: 100%;
    display: none; }
    @media screen and (min-width: 600px) {
      .dash-template .dash-header .right {
        display: inline-block;
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 48.82117%;
        margin-right: 0; }
        .dash-template .dash-header .right:last-child {
          margin-right: 0; }
        .dash-template .dash-header .right .button {
          float: right; }
          .dash-template .dash-header .right .button a {
            margin-bottom: 0; } }

.dash-template .dash-leaders, .dash-template .dash-members {
  clear: both; }
  .dash-template .dash-leaders .first,
  .dash-template .dash-leaders .second, .dash-template .dash-members .first,
  .dash-template .dash-members .second {
    margin-bottom: 0.75em; }
    @media screen and (min-width: 800px) {
      .dash-template .dash-leaders .first,
      .dash-template .dash-leaders .second, .dash-template .dash-members .first,
      .dash-template .dash-members .second {
        width: 37.5%;
        float: left;
        margin-bottom: 0px; }
        .dash-template .dash-leaders .first input,
        .dash-template .dash-leaders .second input, .dash-template .dash-members .first input,
        .dash-template .dash-members .second input {
          width: 90% !important; } }
    .dash-template .dash-leaders .first input,
    .dash-template .dash-leaders .second input, .dash-template .dash-members .first input,
    .dash-template .dash-members .second input {
      background-color: #eeeeee;
      border-bottom: 2px solid white !important;
      border: none;
      font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
      font-weight: 100;
      width: 100%;
      padding: 0.1875em; }
      .dash-template .dash-leaders .first input:hover, .dash-template .dash-leaders .first input:focus,
      .dash-template .dash-leaders .second input:hover,
      .dash-template .dash-leaders .second input:focus, .dash-template .dash-members .first input:hover, .dash-template .dash-members .first input:focus,
      .dash-template .dash-members .second input:hover,
      .dash-template .dash-members .second input:focus {
        outline: none; }
    .dash-template .dash-leaders .first label,
    .dash-template .dash-leaders .second label, .dash-template .dash-members .first label,
    .dash-template .dash-members .second label {
      font-family: "Oswald", "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
      font-weight: 400; }
  .dash-template .dash-leaders .third, .dash-template .dash-members .third {
    text-align: center; }
    @media screen and (min-width: 800px) {
      .dash-template .dash-leaders .third, .dash-template .dash-members .third {
        width: 25%;
        float: left; } }
    .dash-template .dash-leaders .third .third-content, .dash-template .dash-members .third .third-content {
      width: 100%; }

.dash-template .gray-box {
  padding: 1.5em;
  margin-bottom: 0.375em; }
  .dash-template .gray-box:last-of-type {
    margin-bottom: 0; }
  @media screen and (min-width: 800px) {
    .dash-template .gray-box {
      padding: 1.5em 0 1.5em 3em; } }

.dash-template .dash-footer {
  margin-top: 0.75em; }
  .dash-template .dash-footer a {
    margin-bottom: 0; }

.circle-svg-btn {
  display: inline-block;
  margin-right: 0.75em;
  width: auto;
  transition: background-color 300ms ease; }
  .circle-svg-btn .svg-wrap {
    background-color: #474747;
    border-radius: 50%;
    height: 30px;
    margin: 0 auto 0.375em;
    position: relative;
    width: 30px; }
    .circle-svg-btn .svg-wrap svg {
      fill: white;
      width: 15px;
      height: 15px;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }
  .circle-svg-btn .button-text {
    text-transform: uppercase;
    font-size: 0.875em;
    font-family: "Oswald", "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    color: #222; }
  .circle-svg-btn:hover {
    opacity: 0.8; }
  .circle-svg-btn.revoke-button {
    opacity: 0.6;
    transition: background-color 300ms ease; }
    .circle-svg-btn.revoke-button:hover {
      opacity: 1.0; }
  .circle-svg-btn.pending-button {
    pointer-events: none;
    cursor: default;
    opacity: 0.6; }

.add-leader-button, .add-member-button {
  position: relative; }
  @media screen and (min-width: 800px) {
    .add-leader-button, .add-member-button {
      margin-top: 4px; } }
  .add-leader-button input[type='button'], .add-member-button input[type='button'] {
    margin-bottom: 0 !important;
    margin-right: 0 !important;
    width: 100%; }
  .add-leader-button .plus-svg-outer-wrap, .add-member-button .plus-svg-outer-wrap {
    position: absolute;
    left: 0.75em;
    top: 6px;
    pointer-events: none; }
    @media screen and (min-width: 800px) {
      .add-leader-button .plus-svg-outer-wrap, .add-member-button .plus-svg-outer-wrap {
        top: 8px; } }
  .add-leader-button .plus-svg-wrap, .add-member-button .plus-svg-wrap {
    background-color: white;
    border-radius: 50%;
    height: 30px;
    margin: 0 auto;
    position: relative;
    width: 30px;
    z-index: 10;
    transition: background-color 300ms ease; }
    .add-leader-button .plus-svg-wrap svg, .add-member-button .plus-svg-wrap svg {
      fill: #c9282d;
      width: 15px;
      height: 15px;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      transition: background-color 300ms ease; }
  .add-leader-button:hover .plus-svg-wrap, .add-member-button:hover .plus-svg-wrap {
    background-color: #e6e6e6; }

.glm-add-leader, .glm-add-member {
  position: relative; }

.glm-status-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(255, 165, 0, 0);
  z-index: 11;
  display: none; }
  .glm-status-overlay[data-glm-status="processing"] {
    background: rgba(255, 165, 0, 0.8); }
  .glm-status-overlay[data-glm-status="error"] {
    background: rgba(255, 0, 0, 0.8); }
  .glm-status-overlay .status {
    font-size: 1.5em;
    color: #fff;
    display: block;
    width: calc(100% - 40px);
    text-transform: uppercase;
    font-weight: 700;
    position: absolute;
    top: 50%;
    left: 50%;
    text-align: center;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }

#glm-add-leader-clone,
#glm-add-member-clone {
  display: none; }

.glm-revoke-leader-action,
.glm-revoke-member-action {
  display: inline-block;
  cursor: pointer; }

.glm-leader-hide,
.glm-member-hide {
  display: none; }

.gray-box {
  background-color: #eeeeee;
  display: inline-block;
  width: 100%; }

.single-study.single-video-resource .left-column {
  width: 100%;
  float: none; }
  @media screen and (min-width: 800px) {
    .single-study.single-video-resource .left-column .inner-left {
      max-width: 100%; } }

.single-study.single-video-resource .lower-part {
  display: block;
  margin-bottom: 0px; }

#group-connect-sections .studies-slider-section,
#group-connect-sections .tech-slider-section,
#group-connect-sections .juicer-section {
  padding: 0;
  margin-top: 5em;
  margin-bottom: 5em; }

#group-connect-sections .juicer-section button {
  -webkit-transform: translate(0);
  -ms-transform: translate(0);
  transform: translate(0); }
  #group-connect-sections .juicer-section button:before {
    border: none;
    padding: 0;
    position: relative;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0; }

/**
 * WOO Stuff
 */
#add_payment_method .wc-proceed-to-checkout a.checkout-button, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button,
.single_add_to_cart_button, .woocommerce #payment #place_order, .woocommerce-page #payment #place_order, .woocommerce-page .woocommerce input.button {
  appearance: none;
  background-color: #c9282d !important;
  border-radius: 0 !important;
  border: 0;
  color: #fff !important;
  cursor: pointer;
  display: inline-block;
  font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif !important;
  font-size: 1em !important;
  -webkit-font-smoothing: antialiased;
  font-weight: 500 !important;
  line-height: 1 !important;
  margin: 0 5px 15px 0 !important;
  padding: 1em 3em !important;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 300ms ease;
  user-select: none;
  vertical-align: middle;
  white-space: nowrap; }
  #add_payment_method .wc-proceed-to-checkout a.checkout-button:before, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:before, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button:before,
  .single_add_to_cart_button:before, .woocommerce #payment #place_order:before, .woocommerce-page #payment #place_order:before, .woocommerce-page .woocommerce input.button:before {
    content: '';
    border-left: 1px solid #c9282d;
    border-bottom: 1px solid #c9282d;
    padding: 5px;
    position: absolute;
    transition: all 300ms ease;
    top: 5px;
    left: -5px;
    right: 5px;
    bottom: -5px; }
  #add_payment_method .wc-proceed-to-checkout a.checkout-button:hover, #add_payment_method .wc-proceed-to-checkout a.checkout-button:focus, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button:hover, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button:focus,
  .single_add_to_cart_button:hover,
  .single_add_to_cart_button:focus, .woocommerce #payment #place_order:hover, .woocommerce #payment #place_order:focus, .woocommerce-page #payment #place_order:hover, .woocommerce-page #payment #place_order:focus, .woocommerce-page .woocommerce input.button:hover, .woocommerce-page .woocommerce input.button:focus {
    background-color: #9d1304 !important;
    color: #fff; }
    #add_payment_method .wc-proceed-to-checkout a.checkout-button:hover:before, #add_payment_method .wc-proceed-to-checkout a.checkout-button:focus:before, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover:before, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus:before, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button:hover:before, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button:focus:before,
    .single_add_to_cart_button:hover:before,
    .single_add_to_cart_button:focus:before, .woocommerce #payment #place_order:hover:before, .woocommerce #payment #place_order:focus:before, .woocommerce-page #payment #place_order:hover:before, .woocommerce-page #payment #place_order:focus:before, .woocommerce-page .woocommerce input.button:hover:before, .woocommerce-page .woocommerce input.button:focus:before {
      border-left: 1px solid #9d1304;
      border-bottom: 1px solid #9d1304;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0; }
  #add_payment_method .wc-proceed-to-checkout a.checkout-button:disabled, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:disabled, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button:disabled,
  .single_add_to_cart_button:disabled, .woocommerce #payment #place_order:disabled, .woocommerce-page #payment #place_order:disabled, .woocommerce-page .woocommerce input.button:disabled {
    cursor: not-allowed;
    opacity: 0.5; }
    #add_payment_method .wc-proceed-to-checkout a.checkout-button:disabled:hover, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:disabled:hover, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button:disabled:hover,
    .single_add_to_cart_button:disabled:hover, .woocommerce #payment #place_order:disabled:hover, .woocommerce-page #payment #place_order:disabled:hover, .woocommerce-page .woocommerce input.button:disabled:hover {
      background-color: #c9282d; }
  #add_payment_method .wc-proceed-to-checkout a.checkout-button.dark, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button.dark, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button.dark,
  .single_add_to_cart_button.dark, .woocommerce #payment #place_order.dark, .woocommerce-page #payment #place_order.dark, .woocommerce-page .woocommerce input.button.dark {
    background-color: #444;
    color: #fff; }
    #add_payment_method .wc-proceed-to-checkout a.checkout-button.dark:before, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button.dark:before, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button.dark:before,
    .single_add_to_cart_button.dark:before, .woocommerce #payment #place_order.dark:before, .woocommerce-page #payment #place_order.dark:before, .woocommerce-page .woocommerce input.button.dark:before {
      border-left: 1px solid #444;
      border-bottom: 1px solid #444; }
    #add_payment_method .wc-proceed-to-checkout a.checkout-button.dark:hover, #add_payment_method .wc-proceed-to-checkout a.checkout-button.dark:focus, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button.dark:hover, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button.dark:focus, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button.dark:hover, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button.dark:focus,
    .single_add_to_cart_button.dark:hover,
    .single_add_to_cart_button.dark:focus, .woocommerce #payment #place_order.dark:hover, .woocommerce #payment #place_order.dark:focus, .woocommerce-page #payment #place_order.dark:hover, .woocommerce-page #payment #place_order.dark:focus, .woocommerce-page .woocommerce input.button.dark:hover, .woocommerce-page .woocommerce input.button.dark:focus {
      background-color: #222;
      color: #fff; }
      #add_payment_method .wc-proceed-to-checkout a.checkout-button.dark:hover:before, #add_payment_method .wc-proceed-to-checkout a.checkout-button.dark:focus:before, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button.dark:hover:before, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button.dark:focus:before, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button.dark:hover:before, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button.dark:focus:before,
      .single_add_to_cart_button.dark:hover:before,
      .single_add_to_cart_button.dark:focus:before, .woocommerce #payment #place_order.dark:hover:before, .woocommerce #payment #place_order.dark:focus:before, .woocommerce-page #payment #place_order.dark:hover:before, .woocommerce-page #payment #place_order.dark:focus:before, .woocommerce-page .woocommerce input.button.dark:hover:before, .woocommerce-page .woocommerce input.button.dark:focus:before {
        border-left: 1px solid #222;
        border-bottom: 1px solid #222; }
  #add_payment_method .wc-proceed-to-checkout a.checkout-button.light, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button.light, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button.light,
  .single_add_to_cart_button.light, .woocommerce #payment #place_order.light, .woocommerce-page #payment #place_order.light, .woocommerce-page .woocommerce input.button.light {
    background-color: white;
    color: #222; }
    #add_payment_method .wc-proceed-to-checkout a.checkout-button.light:before, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button.light:before, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button.light:before,
    .single_add_to_cart_button.light:before, .woocommerce #payment #place_order.light:before, .woocommerce-page #payment #place_order.light:before, .woocommerce-page .woocommerce input.button.light:before {
      content: '';
      border-left: 1px solid #fff;
      border-bottom: 1px solid #fff;
      padding: 5px;
      position: absolute;
      transition: all 300ms ease;
      top: 0;
      left: -5px;
      right: 0;
      bottom: -5px; }
    #add_payment_method .wc-proceed-to-checkout a.checkout-button.light:hover, #add_payment_method .wc-proceed-to-checkout a.checkout-button.light:focus, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button.light:hover, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button.light:focus, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button.light:hover, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button.light:focus,
    .single_add_to_cart_button.light:hover,
    .single_add_to_cart_button.light:focus, .woocommerce #payment #place_order.light:hover, .woocommerce #payment #place_order.light:focus, .woocommerce-page #payment #place_order.light:hover, .woocommerce-page #payment #place_order.light:focus, .woocommerce-page .woocommerce input.button.light:hover, .woocommerce-page .woocommerce input.button.light:focus {
      background-color: #f9f9f9;
      color: #222; }
      #add_payment_method .wc-proceed-to-checkout a.checkout-button.light:hover:before, #add_payment_method .wc-proceed-to-checkout a.checkout-button.light:focus:before, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button.light:hover:before, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button.light:focus:before, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button.light:hover:before, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button.light:focus:before,
      .single_add_to_cart_button.light:hover:before,
      .single_add_to_cart_button.light:focus:before, .woocommerce #payment #place_order.light:hover:before, .woocommerce #payment #place_order.light:focus:before, .woocommerce-page #payment #place_order.light:hover:before, .woocommerce-page #payment #place_order.light:focus:before, .woocommerce-page .woocommerce input.button.light:hover:before, .woocommerce-page .woocommerce input.button.light:focus:before {
        border-left: 1px solid #f9f9f9;
        border-bottom: 1px solid #f9f9f9;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0; }
  #add_payment_method .wc-proceed-to-checkout a.checkout-button.small, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button.small, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button.small,
  .single_add_to_cart_button.small, .woocommerce #payment #place_order.small, .woocommerce-page #payment #place_order.small, .woocommerce-page .woocommerce input.button.small {
    font-size: 14px;
    padding: 0.75em 1.5em; }
    #add_payment_method .wc-proceed-to-checkout a.checkout-button.small:before, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button.small:before, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button.small:before,
    .single_add_to_cart_button.small:before, .woocommerce #payment #place_order.small:before, .woocommerce-page #payment #place_order.small:before, .woocommerce-page .woocommerce input.button.small:before {
      display: none; }

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  width: 100%; }

.woo-category-section {
  display: block;
  clear: both;
  margin-bottom: 4.5em; }

.woo-category-slider-wrapper {
  position: relative;
  /* the slides */
  /* the parent */ }
  .woo-category-slider-wrapper .left-arrow,
  .woo-category-slider-wrapper .right-arrow {
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    transform: translate(0, -50%);
    visibility: hidden; }
    @media (min-width: 1200px) {
      .woo-category-slider-wrapper .left-arrow,
      .woo-category-slider-wrapper .right-arrow {
        visibility: visible; } }
    .woo-category-slider-wrapper .left-arrow svg polyline,
    .woo-category-slider-wrapper .right-arrow svg polyline {
      stroke: #c9282d; }
    .woo-category-slider-wrapper .left-arrow:hover,
    .woo-category-slider-wrapper .right-arrow:hover {
      cursor: pointer; }
  .woo-category-slider-wrapper .left-arrow {
    left: -65px; }
    .woo-category-slider-wrapper .left-arrow svg {
      -webkit-transform: rotate(180deg);
      -moz-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
      -o-transform: rotate(180deg);
      transform: rotate(180deg); }
    @media screen and (min-width: 600px) {
      .woo-category-slider-wrapper .left-arrow {
        left: -45px; } }
  .woo-category-slider-wrapper .right-arrow {
    right: -65px; }
    @media screen and (min-width: 600px) {
      .woo-category-slider-wrapper .right-arrow {
        right: -45px; } }
  .woo-category-slider-wrapper .category-slide {
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 225px;
    position: relative; }
    .woo-category-slider-wrapper .category-slide .category-slide-link {
      height: 100%;
      position: absolute;
      transition: all 300ms ease !important;
      width: 100%; }
      .woo-category-slider-wrapper .category-slide .category-slide-link:hover {
        background-color: rgba(201, 40, 45, 0.6); }
        .woo-category-slider-wrapper .category-slide .category-slide-link:hover .hover-arrow {
          visibility: visible; }
    .woo-category-slider-wrapper .category-slide .slide-content {
      position: absolute;
      text-align: center;
      bottom: 1.5em;
      left: 0.75em;
      right: 0.75em; }
      .woo-category-slider-wrapper .category-slide .slide-content .hover-arrow {
        border-radius: 50%;
        border: 2px solid white;
        height: 40px;
        margin: 0 auto 1.5em;
        position: relative;
        transition: all 300ms ease !important;
        visibility: hidden;
        width: 40px; }
        .woo-category-slider-wrapper .category-slide .slide-content .hover-arrow svg {
          position: absolute;
          left: 50%;
          top: 50%;
          -webkit-transform: translate(-50%, -50%);
          -moz-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
          -o-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
        .woo-category-slider-wrapper .category-slide .slide-content .hover-arrow .cls-1 {
          fill: white; }
      .woo-category-slider-wrapper .category-slide .slide-content .slide-title {
        color: white;
        margin-bottom: 0;
        text-transform: uppercase;
        font-size: 1.25em; }
    .woo-category-slider-wrapper .category-slide .coming-soon {
      background-color: rgba(34, 34, 34, 0.5);
      height: 100%;
      position: absolute;
      width: 100%; }
      .woo-category-slider-wrapper .category-slide .coming-soon .coming-soon-content {
        bottom: 3.75em;
        color: white;
        left: 0.75em;
        text-transform: uppercase;
        position: absolute;
        right: 0.75em;
        text-align: center;
        font-size: 1em;
        font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
        font-weight: 100; }
  .woo-category-slider-wrapper .slick-slide {
    margin: 0 0.75em; }
  .woo-category-slider-wrapper .slick-list {
    margin: -0.75em; }
  .woo-category-slider-wrapper .slick-dots {
    bottom: -3em; }
    .woo-category-slider-wrapper .slick-dots li {
      margin: 0; }
    .woo-category-slider-wrapper .slick-dots button:before {
      display: none; }
    .woo-category-slider-wrapper .slick-dots button {
      background: #d4d4d4;
      border-radius: 50%;
      height: 5px;
      width: 5px; }
    .woo-category-slider-wrapper .slick-dots .slick-active button {
      background: #c9282d; }

.woocommerce .site-inner {
  margin-top: 4.5em; }

.woocommerce li:before {
  display: none; }

.woocommerce.archive .headline-title {
  font-size: 2.75em; }

.woocommerce.archive .category-intro {
  margin-bottom: 3em; }

.woocommerce.archive .products {
  margin-bottom: 3em; }

.woocommerce.archive .product-title {
  font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 1.875em;
  line-height: 1;
  margin-bottom: 0; }

.woocommerce.archive .woocommerce-Price-amount {
  color: #c9282d;
  font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 2.5em;
  font-weight: 100;
  line-height: 1; }

.woocommerce.archive .the-price {
  margin-bottom: 0.75em;
  color: #a7a7a7 !important; }
  .woocommerce.archive .the-price ins {
    text-decoration: none; }
  .woocommerce.archive .the-price del .woocommerce-Price-amount {
    color: #a7a7a7;
    text-decoration-color: #a7a7a7; }

.woocommerce.archive .product-excerpt p {
  margin-bottom: 0.75em; }

.woocommerce.archive .product-link {
  margin-top: 0.75em; }

.woocommerce.archive .proven-product {
  position: relative; }
  .woocommerce.archive .proven-product .product-image {
    display: block;
    min-height: 280px;
    background-repeat: no-repeat;
    background-size: cover; }
  .woocommerce.archive .proven-product .product-details {
    display: inline-block;
    margin: 1.5em 0 3em; }
  @media screen and (min-width: 600px) {
    .woocommerce.archive .proven-product .product-image,
    .woocommerce.archive .proven-product .product-details {
      width: 50%; }
    .woocommerce.archive .proven-product .product-image {
      position: absolute;
      display: block;
      height: 100%; }
    .woocommerce.archive .proven-product .product-details {
      margin-top: 0;
      margin-bottom: 0;
      padding: 3em; }
    .woocommerce.archive .proven-product:nth-child(even) .product-image {
      left: 50%; }
      .woocommerce.archive .proven-product:nth-child(even) .product-image .onsale {
        left: auto !important;
        right: 0 !important; }
    .woocommerce.archive .proven-product:nth-child(even) .product-details {
      padding-left: 0; }
    .woocommerce.archive .proven-product:nth-child(odd) .product-image {
      right: 50%; }
    .woocommerce.archive .proven-product:nth-child(odd) .product-details {
      padding-right: 0;
      margin-left: 50%; } }

.woocommerce.archive .study-content {
  width: 100%;
  height: 100%;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important; }
  .woocommerce.archive .study-content .hover-arrow {
    position: absolute !important;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }

.woocommerce.archive .archive-item-footer {
  display: inline-block;
  margin-top: 0.375em; }

.woocommerce.archive .archive-item-title {
  display: inline-block;
  float: left;
  text-transform: uppercase; }

.woocommerce.archive .archive-item-price {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  background-color: #c9282d;
  color: white;
  padding: 0.25rem; }

.woocommerce-checkout li:before {
  display: none !important; }

.woocommerce-checkout .content {
  margin: 3.75em 0; }

.woocommerce-checkout #order_review_heading {
  margin-top: 0.75em; }

.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address {
  padding-left: 30px;
  position: relative; }
  .woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address label {
    margin-bottom: 0px; }
  .woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address #ship-to-different-address-checkbox {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0px; }

.woocommerce span.onsale {
  background-color: #c9282d !important;
  top: 0 !important;
  left: 0 !important;
  border-radius: 0 !important;
  padding: 0px !important; }

.single-product div.summary {
  margin-bottom: 4.5em; }

@media screen and (min-width: 769px) {
  .single-product .images {
    width: 40% !important; } }

@media screen and (min-width: 769px) {
  .single-product .entry-summary {
    width: 60% !important;
    padding-left: 1.5em; } }

.single-product .product_title.entry-title {
  font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 2.25em;
  margin-bottom: 0; }

.single-product div.product p.price,
.single-product div.product span.price {
  color: #a7a7a7 !important; }

.single-product .price {
  line-height: 1;
  margin-bottom: 0.75em; }
  .single-product .price .woocommerce-Price-amount {
    font-family: "Lato", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    font-weight: 100;
    font-size: 2em;
    color: #c9282d; }
  .single-product .price ins {
    text-decoration: none; }
  .single-product .price del .woocommerce-Price-amount {
    color: #a7a7a7;
    text-decoration-color: #a7a7a7; }

.single-product .description {
  margin-bottom: 0.75em; }
  .single-product .description p {
    margin-bottom: 0.75em; }

.single-product form.cart {
  margin-bottom: 0 !important; }

.single-product .single_add_to_cart_button {
  float: right !important; }
  @media (max-width: 500px) {
    .single-product .single_add_to_cart_button {
      margin-top: 0.75em !important; } }
  @media (min-width: 800px) and (max-width: 840px) {
    .single-product .single_add_to_cart_button {
      margin-top: 0.75em !important; } }

.single-product .quantity {
  background-color: #eeeeee !important;
  position: relative !important;
  width: 230px !important; }
  @media (max-width: 500px) {
    .single-product .quantity {
      width: 100% !important; } }
  @media (min-width: 800px) and (max-width: 840px) {
    .single-product .quantity {
      width: 100% !important; } }
  .single-product .quantity input[type=number]::-webkit-inner-spin-button,
  .single-product .quantity input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none; }
  .single-product .quantity:before {
    content: 'QUANTITY:';
    position: absolute;
    left: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%); }

.single-product .quantity input[type="number"] {
  height: 42px !important;
  background-color: #eeeeee !important;
  border: none !important;
  box-shadow: none !important;
  margin-left: 95px !important; }

.single-product .minus,
.single-product .plus {
  background-color: #dddddd !important;
  border-radius: 0px !important;
  border: none !important;
  color: white !important;
  font-size: 24px !important;
  height: 42px !important;
  width: 42px !important;
  transition: background-color 300ms ease; }
  .single-product .minus:hover,
  .single-product .plus:hover {
    background-color: #aaaaaa !important; }

.single-product .minus {
  right: 44px !important; }

.single-product .woocommerce-tabs {
  margin-top: 0.75em; }

.single-product .speakers {
  margin-top: 3em; }
  .single-product .speakers .speaker {
    margin-bottom: 30px; }
    @media screen and (min-width: 600px) {
      .single-product .speakers .speaker {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 48.82117%; }
        .single-product .speakers .speaker:last-child {
          margin-right: 0; }
        .single-product .speakers .speaker:nth-child(3n) {
          margin-right: 0; }
        .single-product .speakers .speaker:nth-child(3n+1) {
          clear: left; } }
    .single-product .speakers .speaker .headshot {
      margin-bottom: 1em; }
    .single-product .speakers .speaker h5 {
      margin-bottom: 0.2em; }
    .single-product .speakers .speaker .speaker-title {
      font-weight: bold;
      margin-bottom: 1em; }
    .single-product .speakers .speaker .speaker-des {
      font-size: 0.875em; }

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  margin: 0px; }

.woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-cart .woocommerce-page .cart-collaterals .cart_totals {
  width: 100% !important; }

@media screen and (min-width: 600px) {
  .woocommerce-cart .coupon #coupon_code {
    min-width: 200px; } }

@media screen and (min-width: 800px) {
  .woocommerce-cart .coupon #coupon_code {
    padding: 7.5px; } }

.woocommerce-cart .content {
  margin: 3.75em 0; }

.woocommerce-cart .cart-collaterals {
  margin-top: 1.5em; }

.woocommerce-account .entry-header {
  display: none; }

.woocommerce-account .content {
  margin-bottom: 3em; }

.woocommerce-page.woocommerce-account .woocommerce form.login {
  border: none !important;
  padding: 0px !important;
  max-width: 320px; }

.woocommerce .discount-share {
  background-color: #c9282d;
  color: white;
  display: block;
  width: 100%;
  padding-top: 1.5em;
  padding-bottom: 1.5em; }
  @media screen and (min-width: 800px) {
    .woocommerce .discount-share {
      padding: 0px; } }
  .woocommerce .discount-share .wrap {
    position: relative; }
  @media screen and (min-width: 800px) {
    .woocommerce .discount-share .glm-left-content,
    .woocommerce .discount-share .glm-right-content {
      float: left;
      width: 50%; } }
  .woocommerce .discount-share .glm-left-content {
    margin-bottom: 1.5em; }
    @media screen and (min-width: 800px) {
      .woocommerce .discount-share .glm-left-content {
        padding-right: 1.5em;
        margin-top: 1.5em; } }
    .woocommerce .discount-share .glm-left-content h2 {
      font-weight: 500;
      margin-bottom: 0px; }
    .woocommerce .discount-share .glm-left-content p {
      margin-bottom: 0px;
      opacity: 0.5;
      text-transform: capitalize; }
  .woocommerce .discount-share .glm-right-content #glm-email-coupon-input {
    background-color: #c9282d;
    border-color: white;
    border-radius: 0px;
    border-width: 2px;
    color: white;
    display: inline-block;
    float: left;
    font-weight: 100;
    height: 50px;
    margin: 0px;
    width: 100%; }
    .woocommerce .discount-share .glm-right-content #glm-email-coupon-input::-webkit-input-placeholder {
      color: white;
      text-transform: capitalize; }
    .woocommerce .discount-share .glm-right-content #glm-email-coupon-input::-moz-placeholder {
      color: white;
      text-transform: capitalize; }
    .woocommerce .discount-share .glm-right-content #glm-email-coupon-input:-moz-placeholder {
      color: white;
      text-transform: capitalize; }
    .woocommerce .discount-share .glm-right-content #glm-email-coupon-input:-ms-input-placeholder {
      color: white;
      text-transform: capitalize; }
  .woocommerce .discount-share .glm-right-content #glm-email-coupon-submit {
    background-color: white;
    color: #222;
    display: inline-block;
    float: left;
    margin: 0px;
    padding: 0px;
    width: 100%;
    height: 50px; }
  @media screen and (min-width: 600px) {
    .woocommerce .discount-share .glm-right-content #glm-email-coupon-input {
      border-right: 0px;
      width: 70%; }
    .woocommerce .discount-share .glm-right-content #glm-email-coupon-submit {
      width: 30%; } }
  @media screen and (min-width: 800px) {
    .woocommerce .discount-share .glm-right-content {
      position: absolute;
      right: 0px;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%); } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL19ib3VyYm9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvc2V0dGluZ3MvX3ByZWZpeGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvc2V0dGluZ3MvX3B4LXRvLWVtLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvc2V0dGluZ3MvX2Fzc2V0LXBpcGVsaW5lLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19hc3NpZ24taW5wdXRzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19jb250YWlucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fY29udGFpbnMtZmFsc3kuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2lzLWxlbmd0aC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9faXMtbGlnaHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2lzLW51bWJlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9faXMtc2l6ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcHgtdG8tZW0uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3B4LXRvLXJlbS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fc2hhZGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3N0cmlwLXVuaXRzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL190aW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL190cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3VucGFjay5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fbW9kdWxhci1zY2FsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2NvbnZlcnQtdW5pdHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19kaXJlY3Rpb25hbC12YWx1ZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19mb250LXNvdXJjZS1kZWNsYXJhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19saW5lYXItYW5nbGUtcGFyc2VyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fbGluZWFyLWdyYWRpZW50LXBhcnNlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JhZGlhbC1hcmctcGFyc2VyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19yYWRpYWwtZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fcmVuZGVyLWdyYWRpZW50cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3NoYXBlLXNpemUtc3RyaXBwZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19zdHItdG8tbnVtLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYW5pbWF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYXBwZWFyYW5jZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2JhY2tmYWNlLXZpc2liaWxpdHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19iYWNrZ3JvdW5kLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYmFja2dyb3VuZC1pbWFnZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2JvcmRlci1pbWFnZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2NhbGMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19jb2x1bW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fZmlsdGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fZmxleC1ib3guc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19mb250LWZhY2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19mb250LWZlYXR1cmUtc2V0dGluZ3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19oaWRwaS1tZWRpYS1xdWVyeS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2h5cGhlbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19pbWFnZS1yZW5kZXJpbmcuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19rZXlmcmFtZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19saW5lYXItZ3JhZGllbnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19wZXJzcGVjdGl2ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3BsYWNlaG9sZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fcmFkaWFsLWdyYWRpZW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fc2VsZWN0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fdGV4dC1kZWNvcmF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fdHJhbnNmb3JtLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3VzZXItc2VsZWN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19ib3JkZXItY29sb3Iuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2JvcmRlci1zdHlsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fYm9yZGVyLXdpZHRoLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19idXR0b25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fZWxsaXBzaXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2ZvbnQtc3RhY2tzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19oaWRlLXRleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX21hcmdpbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fcGFkZGluZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fcG9zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19yZXRpbmEtaW1hZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3NpemUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3RleHQtaW5wdXRzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL190aW1pbmctZnVuY3Rpb25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL190cmlhbmdsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fd29yZC13cmFwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvX2JvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZy5zY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwiYmFzZS9fdmFyaWFibGVzLnNjc3MiLCJiYXNlL19ncmlkLXNldHRpbmdzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1uZWF0L25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9fbmVhdC1oZWxwZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1uZWF0L25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3ByaXZhdGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLW5lYXQvbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fbmV3LWJyZWFrcG9pbnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLW5lYXQvbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1uZWF0L25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9zZXR0aW5ncy9fdmlzdWFsLWdyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLW5lYXQvbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19kaXNhYmxlLXdhcm5pbmdzLnNjc3MiLCJiYXNlL19idXR0b25zLnNjc3MiLCJiYXNlL19mb3Jtcy5zY3NzIiwiYmFzZS9fbGlzdHMuc2NzcyIsImJhc2UvX3RhYmxlcy5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtbmVhdC9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvX25lYXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLW5lYXQvbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3ByaXZhdGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLW5lYXQvbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX2JveC1zaXppbmcuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLW5lYXQvbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX29tZWdhLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1uZWF0L25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19vdXRlci1jb250YWluZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLW5lYXQvbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3NwYW4tY29sdW1ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtbmVhdC9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fcm93LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1uZWF0L25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19zaGlmdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtbmVhdC9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fcGFkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1uZWF0L25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19maWxsLXBhcmVudC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtbmVhdC9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fbWVkaWEuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLW5lYXQvbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3RvLWRlcHJlY2F0ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtbmVhdC9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fdmlzdWFsLWdyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLW5lYXQvbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX2Rpc3BsYXktY29udGV4dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtbmVhdC9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fZGlyZWN0aW9uLWNvbnRleHQuc2NzcyIsIl9zY2FmZm9sZC5zY3NzIiwiX2RlZmF1bHRzLnNjc3MiLCJjb21wb25lbnRzL19zaXRlLWhlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fbW9kYWFsLnNjc3MiLCJjb21wb25lbnRzL19uYXYtYWNjb3VudC5zY3NzIiwiY29tcG9uZW50cy9fbmF2LXBvcnRhbC5zY3NzIiwiY29tcG9uZW50cy9fbmF2LnNjc3MiLCJjb21wb25lbnRzL19wYWdlLWJhbm5lci5zY3NzIiwiY29tcG9uZW50cy9fcGFnZS1zZWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL192aWRlby5zY3NzIiwiY29tcG9uZW50cy9fdHJpYWwuc2NzcyIsImNvbXBvbmVudHMvX2ZlYXR1cmVzLnNjc3MiLCJjb21wb25lbnRzL19jb250ZW50LnNjc3MiLCJjb21wb25lbnRzL19zaWRlYmFyLnNjc3MiLCJjb21wb25lbnRzL19ibG9ja3F1b3RlLnNjc3MiLCJjb21wb25lbnRzL19jb21tZW50cy5zY3NzIiwiY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fY2FsbC10by1hY3Rpb25zLnNjc3MiLCJjb21wb25lbnRzL19zaXRlLWZvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fb3ZlcmxheS5zY3NzIiwiY29tcG9uZW50cy9fdGhlbWUtbXktbG9naW4uc2NzcyIsImNvbXBvbmVudHMvX3BtcC5zY3NzIiwiY29tcG9uZW50cy9fbW9iaWxlLW1lbnUuc2NzcyIsImNvbXBvbmVudHMvX3N0b3JlLXBvcC11cC5zY3NzIiwic2VjdGlvbnMvX3NlY3Rpb25zLnNjc3MiLCJzZWN0aW9ucy9fZmlmdHktZmlmdHkuc2NzcyIsInNlY3Rpb25zL19zaXh0eS1mb3VydHkuc2NzcyIsInNlY3Rpb25zL19hY2NvcmRpb24uc2NzcyIsInNlY3Rpb25zL19jb250ZW50LnNjc3MiLCJzZWN0aW9ucy9fdGlsZXMuc2NzcyIsInNlY3Rpb25zL19ibG9nLnNjc3MiLCJzZWN0aW9ucy9faWNvbi1ibHVyYnMuc2NzcyIsInNlY3Rpb25zL19wcmljaW5nLXNlY3Rpb24uc2NzcyIsInNlY3Rpb25zL19maWZ0eS1mb3JtLnNjc3MiLCJzZWN0aW9ucy9fanVpY2VyLnNjc3MiLCJwYWdlcy9faG9tZS5zY3NzIiwicGFnZXMvX2Jsb2cuc2NzcyIsInBhZ2VzL19hcmNoaXZlLXN0dWR5LnNjc3MiLCJwYWdlcy9fYXJjaGl2ZS5zY3NzIiwicGFnZXMvX2NvbnRhY3Quc2NzcyIsInBhZ2VzL19tZW1iZXJzaGlwLnNjc3MiLCJwYWdlcy9fdGVhbS5zY3NzIiwicGFnZXMvX3N0dWR5LnNjc3MiLCJwYWdlcy9fcG9ydGFsLXJlc291cmNlcy5zY3NzIiwicGFnZXMvX2NodXJjaC1kYXNoYm9hcmQuc2NzcyIsInBhZ2VzL192aWRlby1yZXNvdXJjZS5zY3NzIiwicGFnZXMvX2dyb3VwLWNvbm5lY3Quc2NzcyIsIndvby9fd29vLWJ1dHRvbnMuc2NzcyIsIndvby9fd29vLWNhdGVnb3J5LXNsaWRlci5zY3NzIiwid29vL193b28tc2hvcC5zY3NzIiwid29vL193b28tY2F0ZWdvcnkuc2NzcyIsIndvby9fd29vLWNoZWNrb3V0LnNjc3MiLCJ3b28vX3dvby1zaW5nbGUuc2NzcyIsIndvby9fd29vLWNhcnQuc2NzcyIsIndvby9fd29vLWFjY291bnQuc2NzcyIsIndvby9fd29vLWdsbS1zaGFyZS1jb3Vwb24uc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuXHRUaGVtZSBOYW1lOiBQcm92ZW4gTWVuXG5cdERlc2NyaXB0aW9uOiBDaGlsZCB0aGVtZSBvZiBHZW5lc2lzLCBieSA8YSBocmVmPVwiaHR0cDovL2NnZC5pb1wiPkNsaWYgR3JpZmZpbiBEZXZlbG9wbWVudCBJbmM8L2E+LlxuXHRBdXRob3I6IENsaWYgR3JpZmZpbiBEZXZlbG9wbWVudCBJbmMuXG5cdEF1dGhvciBVUkk6IGh0dHA6Ly9jZ2QuaW9cblxuXHRUZW1wbGF0ZTogZ2VuZXNpc1xuKi9cbkBpbXBvcnQgXCJhc3NldHMvY29tcG9uZW50cy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3NcIjtcblxuQGltcG9ydCBcImJvdXJib25cIjtcbkBpbXBvcnQgXCJiYXNlL2Jhc2VcIjtcbkBpbXBvcnQgXCJuZWF0XCI7XG5cbkBpbXBvcnQgXCJzY2FmZm9sZFwiO1xuQGltcG9ydCBcImRlZmF1bHRzXCI7XG5cbi8qKlxuICogQ29tcG9uZW50c1xuICovXG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL3NpdGUtaGVhZGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9tb2RhYWxcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25hdi1hY2NvdW50XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9uYXYtcG9ydGFsXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9uYXZcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BhZ2UtYmFubmVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wYWdlLXNlY3Rpb25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3ZpZGVvXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90cmlhbFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZmVhdHVyZXNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbnRlbnRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NpZGViYXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Jsb2NrcXVvdGVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbW1lbnRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jYWxsLXRvLWFjdGlvbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NpdGUtZm9vdGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9vdmVybGF5XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90aGVtZS1teS1sb2dpblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcG1wXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9tb2JpbGUtbWVudVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc3RvcmUtcG9wLXVwXCI7XG5cbi8qKlxuICogU2VjdGlvbnNcbiAqL1xuQGltcG9ydCBcInNlY3Rpb25zL3NlY3Rpb25zXCI7XG5cbi8qKlxuICogUGFnZXNcbiAqL1xuXG5AaW1wb3J0IFwicGFnZXMvaG9tZVwiO1xuQGltcG9ydCBcInBhZ2VzL2Jsb2dcIjtcbkBpbXBvcnQgXCJwYWdlcy9hcmNoaXZlLXN0dWR5XCI7XG5AaW1wb3J0IFwicGFnZXMvYXJjaGl2ZVwiO1xuQGltcG9ydCBcInBhZ2VzL2NvbnRhY3RcIjtcbkBpbXBvcnQgXCJwYWdlcy9tZW1iZXJzaGlwXCI7XG5AaW1wb3J0IFwicGFnZXMvdGVhbVwiO1xuQGltcG9ydCBcInBhZ2VzL3N0dWR5XCI7XG5AaW1wb3J0IFwicGFnZXMvcG9ydGFsLXJlc291cmNlc1wiO1xuQGltcG9ydCBcInBhZ2VzL2NodXJjaC1kYXNoYm9hcmRcIjtcbkBpbXBvcnQgXCJwYWdlcy92aWRlby1yZXNvdXJjZVwiO1xuQGltcG9ydCBcInBhZ2VzL2dyb3VwLWNvbm5lY3RcIjtcblxuLyoqXG4gKiBXT08gU3R1ZmZcbiAqL1xuXG5AaW1wb3J0IFwid29vL3dvby1idXR0b25zXCI7XG5AaW1wb3J0IFwid29vL3dvby1jYXRlZ29yeS1zbGlkZXJcIjtcbkBpbXBvcnQgXCJ3b28vd29vLXNob3BcIjtcbkBpbXBvcnQgXCJ3b28vd29vLWNhdGVnb3J5XCI7XG5AaW1wb3J0IFwid29vL3dvby1jaGVja291dFwiO1xuQGltcG9ydCBcIndvby93b28tc2luZ2xlXCI7XG5AaW1wb3J0IFwid29vL3dvby1jYXJ0XCI7XG5AaW1wb3J0IFwid29vL3dvby1hY2NvdW50XCI7XG5AaW1wb3J0IFwid29vL3dvby1nbG0tc2hhcmUtY291cG9uXCI7XG4iLCIvLyBCb3VyYm9uIDQuMi4zXG4vLyBodHRwOi8vYm91cmJvbi5pb1xuLy8gQ29weXJpZ2h0IDIwMTEtMjAxNSB0aG91Z2h0Ym90LCBpbmMuXG4vLyBNSVQgTGljZW5zZVxuXG5AaW1wb3J0IFwic2V0dGluZ3MvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9weC10by1lbVwiO1xuQGltcG9ydCBcInNldHRpbmdzL2Fzc2V0LXBpcGVsaW5lXCI7XG5cbkBpbXBvcnQgXCJmdW5jdGlvbnMvYXNzaWduLWlucHV0c1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb250YWluc1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb250YWlucy1mYWxzeVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1sZW5ndGhcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGlnaHRcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbnVtYmVyXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLXNpemVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tcmVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3NoYWRlXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3N0cmlwLXVuaXRzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RpbnRcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3VucGFja1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9tb2R1bGFyLXNjYWxlXCI7XG5cbkBpbXBvcnQgXCJoZWxwZXJzL2NvbnZlcnQtdW5pdHNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2RpcmVjdGlvbmFsLXZhbHVlc1wiO1xuQGltcG9ydCBcImhlbHBlcnMvZm9udC1zb3VyY2UtZGVjbGFyYXRpb25cIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1hbmdsZS1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1ncmFkaWVudC1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtYXJnLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1ncmFkaWVudC1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JlbmRlci1ncmFkaWVudHNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3NoYXBlLXNpemUtc3RyaXBwZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3N0ci10by1udW1cIjtcblxuQGltcG9ydCBcImNzczMvYW5pbWF0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy9hcHBlYXJhbmNlXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZmFjZS12aXNpYmlsaXR5XCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLWltYWdlXCI7XG5AaW1wb3J0IFwiY3NzMy9ib3JkZXItaW1hZ2VcIjtcbkBpbXBvcnQgXCJjc3MzL2NhbGNcIjtcbkBpbXBvcnQgXCJjc3MzL2NvbHVtbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2ZpbHRlclwiO1xuQGltcG9ydCBcImNzczMvZmxleC1ib3hcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmFjZVwiO1xuQGltcG9ydCBcImNzczMvZm9udC1mZWF0dXJlLXNldHRpbmdzXCI7XG5AaW1wb3J0IFwiY3NzMy9oaWRwaS1tZWRpYS1xdWVyeVwiO1xuQGltcG9ydCBcImNzczMvaHlwaGVuc1wiO1xuQGltcG9ydCBcImNzczMvaW1hZ2UtcmVuZGVyaW5nXCI7XG5AaW1wb3J0IFwiY3NzMy9rZXlmcmFtZXNcIjtcbkBpbXBvcnQgXCJjc3MzL2xpbmVhci1ncmFkaWVudFwiO1xuQGltcG9ydCBcImNzczMvcGVyc3BlY3RpdmVcIjtcbkBpbXBvcnQgXCJjc3MzL3BsYWNlaG9sZGVyXCI7XG5AaW1wb3J0IFwiY3NzMy9yYWRpYWwtZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3NlbGVjdGlvblwiO1xuQGltcG9ydCBcImNzczMvdGV4dC1kZWNvcmF0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2Zvcm1cIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zaXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3VzZXItc2VsZWN0XCI7XG5cbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLWNvbG9yXCI7XG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXN0eWxlXCI7XG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci13aWR0aFwiO1xuQGltcG9ydCBcImFkZG9ucy9idXR0b25zXCI7XG5AaW1wb3J0IFwiYWRkb25zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwiYWRkb25zL2VsbGlwc2lzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2ZvbnQtc3RhY2tzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2hpZGUtdGV4dFwiO1xuQGltcG9ydCBcImFkZG9ucy9tYXJnaW5cIjtcbkBpbXBvcnQgXCJhZGRvbnMvcGFkZGluZ1wiO1xuQGltcG9ydCBcImFkZG9ucy9wb3NpdGlvblwiO1xuQGltcG9ydCBcImFkZG9ucy9wcmVmaXhlclwiO1xuQGltcG9ydCBcImFkZG9ucy9yZXRpbmEtaW1hZ2VcIjtcbkBpbXBvcnQgXCJhZGRvbnMvc2l6ZVwiO1xuQGltcG9ydCBcImFkZG9ucy90ZXh0LWlucHV0c1wiO1xuQGltcG9ydCBcImFkZG9ucy90aW1pbmctZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiYWRkb25zL3RyaWFuZ2xlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3dvcmQtd3JhcFwiO1xuXG5AaW1wb3J0IFwiYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nXCI7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBvciBkaXNhYmxlIHZlbmRvciBwcmVmaXhlc1xuXG4kcHJlZml4LWZvci13ZWJraXQ6ICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1tb3ppbGxhOiAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1taWNyb3NvZnQ6IHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1vcGVyYTogICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1zcGVjOiAgICAgIHRydWUgIWRlZmF1bHQ7XG4iLCIkZW0tYmFzZTogMTZweCAhZGVmYXVsdDtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgZ2xvYmFsIHNldHRpbmcgdG8gZW5hYmxlIG9yIGRpc2FibGUgdGhlIGAkYXNzZXQtcGlwZWxpbmVgIHZhcmlhYmxlIGZvciBhbGwgZnVuY3Rpb25zIHRoYXQgYWNjZXB0IGl0LlxuLy8vXG4vLy8gQHR5cGUgQm9vbFxuXG4kYXNzZXQtcGlwZWxpbmU6IGZhbHNlICFkZWZhdWx0O1xuIiwiQGZ1bmN0aW9uIGFzc2lnbi1pbnB1dHMoJGlucHV0cywgJHBzZXVkbzogbnVsbCkge1xuICAkbGlzdDogKCk7XG5cbiAgQGVhY2ggJGlucHV0IGluICRpbnB1dHMge1xuICAgICRpbnB1dDogdW5xdW90ZSgkaW5wdXQpO1xuICAgICRpbnB1dDogaWYoJHBzZXVkbywgJGlucHV0ICsgXCI6XCIgKyAkcHNldWRvLCAkaW5wdXQpO1xuICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRpbnB1dCwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkbGlzdDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBpZiBhIGxpc3QgY29udGFpbnMgYSB2YWx1ZShzKS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdFxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHVlc1xuLy8vICAgQSBzaW5nbGUgdmFsdWUgb3IgbGlzdCBvZiB2YWx1ZXMgdG8gY2hlY2sgZm9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBjb250YWlucygkbGlzdCwgJHZhbHVlKVxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cblxuQGZ1bmN0aW9uIGNvbnRhaW5zKCRsaXN0LCAkdmFsdWVzLi4uKSB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgdHlwZS1vZihpbmRleCgkbGlzdCwgJHZhbHVlKSkgIT0gXCJudW1iZXJcIiB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBpZiBhIGxpc3QgZG9lcyBub3QgY29udGFpbnMgYSB2YWx1ZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdFxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG5cbkBmdW5jdGlvbiBjb250YWlucy1mYWxzeSgkbGlzdCkge1xuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgQGlmIG5vdCAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBmYWxzZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1MgbGVuZ3RoLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZVxuXG5AZnVuY3Rpb24gaXMtbGVuZ3RoKCR2YWx1ZSkge1xuICBAcmV0dXJuIHR5cGUtb2YoJHZhbHVlKSAhPSBcIm51bGxcIiBhbmQgKHN0ci1zbGljZSgkdmFsdWUgKyBcIlwiLCAxLCA0KSA9PSBcImNhbGNcIlxuICAgICAgIG9yIGluZGV4KGF1dG8gaW5oZXJpdCBpbml0aWFsIDAsICR2YWx1ZSlcbiAgICAgICBvciAodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIgYW5kIG5vdCh1bml0bGVzcygkdmFsdWUpKSkpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvZ3JhbWF0aWNhbGx5IGRldGVybWluZXMgd2hldGhlciBhIGNvbG9yIGlzIGxpZ2h0IG9yIGRhcmsuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vcm9ib3RzLnRob3VnaHRib3QuY29tL2Nsb3Nlci1sb29rLWNvbG9yLWxpZ2h0bmVzc1xuLy8vXG4vLy8gQHBhcmFtIHtDb2xvciAoSGV4KX0gJGNvbG9yXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIGlzLWxpZ2h0KCRjb2xvcilcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG5cbkBmdW5jdGlvbiBpcy1saWdodCgkaGV4LWNvbG9yKSB7XG4gICQtbG9jYWwtcmVkOiByZWQocmdiYSgkaGV4LWNvbG9yLCAxKSk7XG4gICQtbG9jYWwtZ3JlZW46IGdyZWVuKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWJsdWU6IGJsdWUocmdiYSgkaGV4LWNvbG9yLCAxKSk7XG4gICQtbG9jYWwtbGlnaHRuZXNzOiAoJC1sb2NhbC1yZWQgKiAwLjIxMjYgKyAkLWxvY2FsLWdyZWVuICogMC43MTUyICsgJC1sb2NhbC1ibHVlICogMC4wNzIyKSAvIDI1NTtcblxuICBAcmV0dXJuICQtbG9jYWwtbGlnaHRuZXNzID4gMC42O1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIG51bWJlci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWVcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnNcblxuQGZ1bmN0aW9uIGlzLW51bWJlcigkdmFsdWUpIHtcbiAgQHJldHVybiBjb250YWlucyhcIjBcIiBcIjFcIiBcIjJcIiBcIjNcIiBcIjRcIiBcIjVcIiBcIjZcIiBcIjdcIiBcIjhcIiBcIjlcIiAwIDEgMiAzIDQgNSA2IDcgOCA5LCAkdmFsdWUpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIENTUyBzaXplLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWluc1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gaXMtbGVuZ3RoXG5cbkBmdW5jdGlvbiBpcy1zaXplKCR2YWx1ZSkge1xuICBAcmV0dXJuIGlzLWxlbmd0aCgkdmFsdWUpXG4gICAgICAgICAgb3IgY29udGFpbnMoXCJmaWxsXCIgXCJmaXQtY29udGVudFwiIFwibWluLWNvbnRlbnRcIiBcIm1heC1jb250ZW50XCIsICR2YWx1ZSk7XG59XG4iLCIvLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgZW0oMTIpIHdoZW4gdGhlIHBhcmVudCBpcyAxNnB4XG4vLyBpZiB0aGUgcGFyZW50IGlzIGFub3RoZXIgdmFsdWUgc2F5IDI0cHggd3JpdGUgZW0oMTIsIDI0KVxuXG5AZnVuY3Rpb24gZW0oJHB4dmFsLCAkYmFzZTogJGVtLWJhc2UpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMWVtO1xufVxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gcmVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSByZW0oMTIpXG4vLyBBc3N1bWVzICRlbS1iYXNlIGlzIHRoZSBmb250LXNpemUgb2YgPGh0bWw+XG5cbkBmdW5jdGlvbiByZW0oJHB4dmFsKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG5cbiAgJGJhc2U6ICRlbS1iYXNlO1xuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxcmVtO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWl4ZXMgYSBjb2xvciB3aXRoIGJsYWNrLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoUGVyY2VudGFnZSl9ICRwZXJjZW50XG4vLy8gICBUaGUgYW1vdW50IG9mIGJsYWNrIHRvIGJlIG1peGVkIGluLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCNmZmJiNTIsIDYwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjRhMjA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmV0dXJuIHtDb2xvcn1cblxuQGZ1bmN0aW9uIHNoYWRlKCRjb2xvciwgJHBlcmNlbnQpIHtcbiAgQHJldHVybiBtaXgoIzAwMCwgJGNvbG9yLCAkcGVyY2VudCk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTdHJpcHMgdGhlIHVuaXQgZnJvbSBhIG51bWJlci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIChXaXRoIFVuaXQpfSAkdmFsdWVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgJGRpbWVuc2lvbjogc3RyaXAtdW5pdHMoMTBlbSk7XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAkZGltZW5zaW9uOiAxMDtcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlciAoVW5pdGxlc3MpfVxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJHZhbHVlKSB7XG4gIEByZXR1cm4gKCR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSkpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWl4ZXMgYSBjb2xvciB3aXRoIHdoaXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoUGVyY2VudGFnZSl9ICRwZXJjZW50XG4vLy8gICBUaGUgYW1vdW50IG9mIHdoaXRlIHRvIGJlIG1peGVkIGluLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHRpbnQoIzZlY2FhNiwgNDAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E4ZGZjOTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXR1cm4ge0NvbG9yfVxuXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50KSB7XG4gIEByZXR1cm4gbWl4KCNmZmYsICRjb2xvciwgJHBlcmNlbnQpO1xufVxuIiwiLy8gUmV0dXJuIHZlbmRvci1wcmVmaXhlZCBwcm9wZXJ0eSBuYW1lcyBpZiBhcHByb3ByaWF0ZVxuLy8gRXhhbXBsZTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygodHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZCksIG1veikgLT4gLW1vei10cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcHMsICR2ZW5kb3I6IGZhbHNlKSB7XG4gICRuZXctcHJvcHM6ICgpO1xuXG4gIEBlYWNoICRwcm9wIGluICRwcm9wcyB7XG4gICAgJG5ldy1wcm9wczogYXBwZW5kKCRuZXctcHJvcHMsIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvciksIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1wcm9wcztcbn1cblxuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvcjogZmFsc2UpIHtcbiAgLy8gcHV0IG90aGVyIHByb3BlcnRpZXMgdGhhdCBuZWVkIHRvIGJlIHByZWZpeGVkIGhlcmUgYXN3ZWxsXG4gIEBpZiAkdmVuZG9yIGFuZCAkcHJvcCA9PSB0cmFuc2Zvcm0ge1xuICAgIEByZXR1cm4gdW5xdW90ZSgnLScrJHZlbmRvcisnLScrJHByb3ApO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRwcm9wO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDb252ZXJ0cyBzaG9ydGhhbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvcnRoYW5kXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luOiB1bnBhY2soMWVtIDJlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbjogMWVtIDJlbSAxZW0gMmVtO1xuLy8vICAgfVxuXG5AZnVuY3Rpb24gdW5wYWNrKCRzaG9ydGhhbmQpIHtcbiAgQGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAxIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMiB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMik7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDMge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMykgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRzaG9ydGhhbmQ7XG4gIH1cbn1cbiIsIi8vIFNjYWxpbmcgVmFyaWFibGVzXG4kZ29sZGVuOiAgICAgICAgICAgMS42MTg7XG4kbWlub3Itc2Vjb25kOiAgICAgMS4wNjc7XG4kbWFqb3Itc2Vjb25kOiAgICAgMS4xMjU7XG4kbWlub3ItdGhpcmQ6ICAgICAgMS4yO1xuJG1ham9yLXRoaXJkOiAgICAgIDEuMjU7XG4kcGVyZmVjdC1mb3VydGg6ICAgMS4zMzM7XG4kYXVnbWVudGVkLWZvdXJ0aDogMS40MTQ7XG4kcGVyZmVjdC1maWZ0aDogICAgMS41O1xuJG1pbm9yLXNpeHRoOiAgICAgIDEuNjtcbiRtYWpvci1zaXh0aDogICAgICAxLjY2NztcbiRtaW5vci1zZXZlbnRoOiAgICAxLjc3ODtcbiRtYWpvci1zZXZlbnRoOiAgICAxLjg3NTtcbiRvY3RhdmU6ICAgICAgICAgICAyO1xuJG1ham9yLXRlbnRoOiAgICAgIDIuNTtcbiRtYWpvci1lbGV2ZW50aDogICAyLjY2NztcbiRtYWpvci10d2VsZnRoOiAgICAzO1xuJGRvdWJsZS1vY3RhdmU6ICAgIDQ7XG5cbiRtb2R1bGFyLXNjYWxlLXJhdGlvOiAkcGVyZmVjdC1mb3VydGggIWRlZmF1bHQ7XG4kbW9kdWxhci1zY2FsZS1iYXNlOiBlbSgkZW0tYmFzZSkgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZTogJG1vZHVsYXItc2NhbGUtYmFzZSwgJHJhdGlvOiAkbW9kdWxhci1zY2FsZS1yYXRpbykge1xuICAkdjE6IG50aCgkdmFsdWUsIDEpO1xuICAkdjI6IG50aCgkdmFsdWUsIGxlbmd0aCgkdmFsdWUpKTtcbiAgJHZhbHVlOiAkdjE7XG5cbiAgLy8gc2NhbGUgJHYyIHRvIGp1c3QgYWJvdmUgJHYxXG4gIEB3aGlsZSAkdjIgPiAkdjEge1xuICAgICR2MjogKCR2MiAvICRyYXRpbyk7IC8vIHdpbGwgYmUgb2ZmLWJ5LTFcbiAgfVxuICBAd2hpbGUgJHYyIDwgJHYxIHtcbiAgICAkdjI6ICgkdjIgKiAkcmF0aW8pOyAvLyB3aWxsIGZpeCBvZmYtYnktMVxuICB9XG5cbiAgLy8gY2hlY2sgQUZURVIgc2NhbGluZyAkdjIgdG8gcHJldmVudCBkb3VibGUtY291bnRpbmcgY29ybmVyLWNhc2VcbiAgJGRvdWJsZS1zdHJhbmRlZDogJHYyID4gJHYxO1xuXG4gIEBpZiAkaW5jcmVtZW50ID4gMCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkaW5jcmVtZW50IHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxICogJHJhdGlvKSA+ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgKiAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAqICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkaW5jcmVtZW50IDwgMCB7XG4gICAgLy8gYWRqdXN0ICR2MiB0byBqdXN0IGJlbG93ICR2MVxuICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIHtcbiAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tICRpbmNyZW1lbnQgdGhyb3VnaCAtMSB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAvICRyYXRpbykgPCAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgLyAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3Igc3RyLXRvLW51bSBmbi5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfY29udmVydC11bml0cygkbnVtYmVyLCAkdW5pdCkge1xuICAkc3RyaW5nczogXCJweFwiLCBcImNtXCIsIFwibW1cIiwgXCIlXCIsIFwiY2hcIiwgXCJwaWNhXCIsIFwiaW5cIiwgXCJlbVwiLCBcInJlbVwiLCBcInB0XCIsIFwicGNcIiwgXCJleFwiLCBcInZ3XCIsIFwidmhcIiwgXCJ2bWluXCIsIFwidm1heFwiLCBcImRlZ1wiLCBcInJhZFwiLCBcImdyYWRcIiwgXCJ0dXJuXCI7XG4gICR1bml0czogICAxcHgsIDFjbSwgMW1tLCAxJSwgMWNoLCAxcGljYSwgMWluLCAxZW0sIDFyZW0sIDFwdCwgMXBjLCAxZXgsIDF2dywgMXZoLCAxdm1pbiwgMXZtYXgsIDFkZWcsIDFyYWQsIDFncmFkLCAxdHVybjtcbiAgJGluZGV4OiBpbmRleCgkc3RyaW5ncywgJHVuaXQpO1xuXG4gIEBpZiBub3QgJGluZGV4IHtcbiAgICBAd2FybiBcIlVua25vd24gdW5pdCBgI3skdW5pdH1gLlwiO1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkbnVtYmVyKSAhPSBcIm51bWJlclwiIHtcbiAgICBAd2FybiBcImAjeyRudW1iZXJ9IGlzIG5vdCBhIG51bWJlcmBcIjtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgQHJldHVybiAkbnVtYmVyICogbnRoKCR1bml0cywgJGluZGV4KTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIERpcmVjdGlvbmFsLXByb3BlcnR5IG1peGlucyBhcmUgc2hvcnRoYW5kcyBmb3Igd3JpdGluZyBwcm9wZXJ0aWVzIGxpa2UgdGhlIGZvbGxvd2luZ1xuLy8vXG4vLy8gQGlnbm9yZSBZb3UgY2FuIGFsc28gdXNlIGBmYWxzZWAgaW5zdGVhZCBvZiBgbnVsbGAuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGRpcmVjdGlvbmFsIHZhbHVlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkb3R0ZWQgbnVsbCk7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDAgMTBweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbi8vLyAgICAgYm9yZGVyLXRvcC1zdHlsZTogZG90dGVkO1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuLy8vICAgICBtYXJnaW4tbGVmdDogMDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWlucy1mYWxzeVxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH1cblxuQGZ1bmN0aW9uIGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscykge1xuICAkb3V0cHV0OiBudWxsO1xuXG4gICRhOiBudGgoJHZhbHMsIDEpO1xuICAkYjogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIDIpKTtcbiAgJGM6IGlmKGxlbmd0aCgkdmFscykgPCAzLCAkYSwgbnRoKCR2YWxzLCAzKSk7XG4gICRkOiBpZihsZW5ndGgoJHZhbHMpIDwgMiwgJGEsIG50aCgkdmFscywgaWYobGVuZ3RoKCR2YWxzKSA8IDQsIDIsIDQpKSk7XG5cbiAgQGlmICRhID09IDAgeyAkYTogMDsgfVxuICBAaWYgJGIgPT0gMCB7ICRiOiAwOyB9XG4gIEBpZiAkYyA9PSAwIHsgJGM6IDA7IH1cbiAgQGlmICRkID09IDAgeyAkZDogMDsgfVxuXG4gIEBpZiAkYSA9PSAkYiBhbmQgJGEgPT0gJGMgYW5kICRhID09ICRkIHsgJG91dHB1dDogJGE7ICAgICAgICAgIH1cbiAgQGVsc2UgaWYgJGEgPT0gJGMgYW5kICRiID09ICRkICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYjsgICAgICAgfVxuICBAZWxzZSBpZiAkYiA9PSAkZCAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjOyAgICB9XG4gIEBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJGEgJGIgJGMgJGQ7IH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBPdXRwdXQgZGlyZWN0aW9uYWwgcHJvcGVydGllcywgZm9yIGluc3RhbmNlIGBtYXJnaW5gLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByZVxuLy8vICAgUHJlZml4IHRvIHVzZVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3VmXG4vLy8gICBTdWZmaXggdG8gdXNlXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiB2YWx1ZXNcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29sbGFwc2UtZGlyZWN0aW9uYWxzXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWlucy1mYWxzeVxuXG5AbWl4aW4gZGlyZWN0aW9uYWwtcHJvcGVydHkoJHByZSwgJHN1ZiwgJHZhbHMpIHtcbiAgLy8gUHJvcGVydHkgTmFtZXNcbiAgJHRvcDogICAgJHByZSArIFwiLXRvcFwiICAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGJvdHRvbTogJHByZSArIFwiLWJvdHRvbVwiICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGxlZnQ6ICAgJHByZSArIFwiLWxlZnRcIiAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJHJpZ2h0OiAgJHByZSArIFwiLXJpZ2h0XCIgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGFsbDogICAgJHByZSArICAgICAgICAgICAgIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG5cbiAgJHZhbHM6IGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscyk7XG5cbiAgQGlmIGNvbnRhaW5zLWZhbHN5KCR2YWxzKSB7XG4gICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyR0b3B9OiBudGgoJHZhbHMsIDEpOyB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAxIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDEpOyB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAyKTsgfVxuICAgIH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDIge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDEpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gMyB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSA0IHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgNCkgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDQpOyB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAjeyRhbGx9OiAkdmFscztcbiAgfVxufVxuIiwiLy8gVXNlZCBmb3IgY3JlYXRpbmcgdGhlIHNvdXJjZSBzdHJpbmcgZm9yIGZvbnRzIHVzaW5nIEBmb250LWZhY2Vcbi8vIFJlZmVyZW5jZTogaHR0cDovL2dvby5nbC9SdTFiS1BcblxuQGZ1bmN0aW9uIGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgIEByZXR1cm4gZm9udC11cmw7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsO1xuICB9XG59XG5cbkBmdW5jdGlvbiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHMsXG4gICRmb250LXVybCkge1xuXG4gICRzcmM6ICgpO1xuXG4gICRmb3JtYXRzLW1hcDogKFxuICAgIGVvdDogICBcIiN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeFwiIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgIHdvZmYyOiBcIiN7JGZpbGUtcGF0aH0ud29mZjJcIiBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB3b2ZmOiAgXCIjeyRmaWxlLXBhdGh9LndvZmZcIiBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHR0ZjogICBcIiN7JGZpbGUtcGF0aH0udHRmXCIgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgc3ZnOiAgIFwiI3skZmlsZS1wYXRofS5zdmcjI3skZm9udC1mYW1pbHl9XCIgZm9ybWF0KFwic3ZnXCIpXG4gICk7XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkZm9ybWF0cy1tYXAge1xuICAgIEBpZiBjb250YWlucygkZmlsZS1mb3JtYXRzLCAka2V5KSB7XG4gICAgICAkZmlsZS1wYXRoOiBudGgoJHZhbHVlcywgMSk7XG4gICAgICAkZm9udC1mb3JtYXQ6IG50aCgkdmFsdWVzLCAyKTtcblxuICAgICAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIGZvbnQtdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCB1cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3JjO1xufVxuIiwiQGZ1bmN0aW9uIF9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC10eXBlLCAkZ3JhZGllbnQtcG9zaXRpb25zKSB7XG4gIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyKVxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IHJhZGlhbClcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEByZXR1cm4gJGdyYWRpZW50LXBvc2l0aW9ucztcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpIHtcbiAgJG9mZnNldDogbnVsbDtcbiAgJHVuaXQtc2hvcnQ6ICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDIsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdW5pdC1sb25nOiAgIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgQGlmICgkdW5pdC1sb25nID09IFwiZ3JhZFwiKSBvclxuICAgICAgKCR1bml0LWxvbmcgPT0gXCJ0dXJuXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1sb25nID09IFwiZ3JhZFwiLCAtMTAwZ3JhZCAqIDMsIC0wLjc1dHVybik7XG4gIH1cblxuICBAZWxzZSBpZiAoJHVuaXQtc2hvcnQgPT0gXCJkZWdcIikgb3JcbiAgICAgICAgICAgKCR1bml0LXNob3J0ID09IFwicmFkXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1zaG9ydCA9PSBcImRlZ1wiLCAtOTAgKiAzLCAxLjZyYWQpO1xuICB9XG5cbiAgQGlmICRvZmZzZXQge1xuICAgICRudW06IF9zdHItdG8tbnVtKCRmaXJzdC12YWwpO1xuXG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICgkb2Zmc2V0IC0gJG51bSkgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxufVxuIiwiQGZ1bmN0aW9uIF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAwLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRoYXMtbXVsdGlwbGUtdmFsczogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiIFwiKTtcbiAgJGhhcy1zaW5nbGUtcG9zaXRpb246IHVucXVvdGUoX3Bvc2l0aW9uLWZsaXBwZXIoJGZpcnN0LXZhbCkgKyBcIlwiKTtcbiAgJGhhcy1hbmdsZTogaXMtbnVtYmVyKHN0ci1zbGljZSgkZmlyc3QtdmFsLCAwLCAwKSk7XG5cbiAgQGlmICRoYXMtbXVsdGlwbGUtdmFscyB7XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1zaW5nbGUtcG9zaXRpb24gIT0gXCJcIiB7XG4gICAgJHBvczogdW5xdW90ZSgkaGFzLXNpbmdsZS1wb3NpdGlvbiArIFwiXCIpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1hbmdsZSB7XG4gICAgLy8gUm90YXRlIGRlZ3JlZSBmb3Igd2Via2l0XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcykge1xuICAkdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkc3BlYzogbnVsbDtcbiAgJGRlZ3JlZTogbnVsbDtcbiAgJHNpZGU6IG51bGw7XG4gICRjb3JuZXI6IG51bGw7XG4gICRsZW5ndGg6IGxlbmd0aCgkcG9zKTtcbiAgLy8gUGFyc2UgU2lkZSBhbmQgY29ybmVyIHBvc2l0aW9uc1xuICBAaWYgKCRsZW5ndGggPiAxKSB7XG4gICAgQGlmIG50aCgkcG9zLCAxKSA9PSBcInRvXCIgeyAvLyBOZXdlciBzeW50YXhcbiAgICAgICRzaWRlOiBudGgoJHBvcywgMik7XG5cbiAgICAgIEBpZiAkbGVuZ3RoID09IDIgeyAvLyBlZy4gdG8gdG9wXG4gICAgICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRhYmlsaXR5XG4gICAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDMgeyAvLyBlZy4gdG8gdG9wIGxlZnRcbiAgICAgICAgJGNvcm5lcjogbnRoKCRwb3MsIDMpO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDIgeyAvLyBPbGRlciBzeW50YXggKFwidG9wIGxlZnRcIilcbiAgICAgICRzaWRlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMSkpO1xuICAgICAgJGNvcm5lcjogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcbiAgICB9XG5cbiAgICBAaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIGxlZnRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIHJpZ2h0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgJHNwZWM6IHRvICRzaWRlICRjb3JuZXI7XG4gIH1cbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAxIHtcbiAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0YWJpbGl0eVxuICAgIEBpZiAkdHlwZSA9PSBzdHJpbmcge1xuICAgICAgJGRlZ3JlZTogJHBvcztcbiAgICAgICRzcGVjOiB0byBfcG9zaXRpb24tZmxpcHBlcigkcG9zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGRlZ3JlZTogLTI3MCAtICRwb3M7IC8vcm90YXRlIHRoZSBncmFkaWVudCBvcHBvc2l0ZSBmcm9tIHNwZWNcbiAgICAgICRzcGVjOiAkcG9zO1xuICAgIH1cbiAgfVxuICAkZGVncmVlOiB1bnF1b3RlKCRkZWdyZWUgKyBcIixcIik7XG4gICRzcGVjOiAgIHVucXVvdGUoJHNwZWMgKyBcIixcIik7XG4gIEByZXR1cm4gJGRlZ3JlZSAkc3BlYztcbn1cblxuQGZ1bmN0aW9uIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpIHtcbiAgQHJldHVybiBpZigkcG9zID09IGxlZnQsIHJpZ2h0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSByaWdodCwgbGVmdCwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gdG9wLCBib3R0b20sIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IGJvdHRvbSwgdG9wLCBudWxsKTtcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscykge1xuICAkdmFsLTE6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAwLCAkaGFzLW11bHRpcGxlLXZhbHMgLSAxICk7XG4gICR2YWwtMjogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRoYXMtbXVsdGlwbGUtdmFscyArIDEsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdmFsLTM6IG51bGw7XG4gICRoYXMtdmFsLTM6IHN0ci1pbmRleCgkdmFsLTIsIFwiIFwiKTtcblxuICBAaWYgJGhhcy12YWwtMyB7XG4gICAgJHZhbC0zOiBzdHItc2xpY2UoJHZhbC0yLCAkaGFzLXZhbC0zICsgMSwgc3RyLWxlbmd0aCgkdmFsLTIpKTtcbiAgICAkdmFsLTI6IHN0ci1zbGljZSgkdmFsLTIsIDAsICRoYXMtdmFsLTMgLSAxKTtcbiAgfVxuXG4gICRwb3M6IF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMSkgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0yKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTMpO1xuICAkcG9zOiB1bnF1b3RlKCRwb3MgKyBcIlwiKTtcblxuICAvLyBVc2Ugb2xkIHNwZWMgZm9yIHdlYmtpdFxuICBAaWYgJHZhbC0xID09IFwidG9cIiB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjb2RlIHVwIHRvIHNwZWNcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG59XG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1hcmctcGFyc2VyKCRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZSkge1xuICBAZWFjaCAkdmFsdWUgaW4gJGcxLCAkZzIge1xuICAgICRmaXJzdC12YWw6IG50aCgkdmFsdWUsIDEpO1xuICAgICRwb3MtdHlwZTogIHR5cGUtb2YoJGZpcnN0LXZhbCk7XG4gICAgJHNwZWMtYXQtaW5kZXg6IG51bGw7XG5cbiAgICAvLyBEZXRlcm1pbmUgaWYgc3BlYyB3YXMgcGFzc2VkIHRvIG1peGluXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBsaXN0IHtcbiAgICAgICRzcGVjLWF0LWluZGV4OiBpZihpbmRleCgkdmFsdWUsIGF0KSwgaW5kZXgoJHZhbHVlLCBhdCksIGZhbHNlKTtcbiAgICB9XG4gICAgQGlmICRzcGVjLWF0LWluZGV4IHtcbiAgICAgIEBpZiAkc3BlYy1hdC1pbmRleCA+IDEge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkc3BlYy1hdC1pbmRleCAtIDEpIHtcbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHNoYXBlLXNpemUgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHNwZWMtYXQtaW5kZXggPT0gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJGcxOiBudWxsO1xuICAgIH1cblxuICAgIC8vIElmIG5vdCBzcGVjIGNhbGN1bGF0ZSBjb3JyZWN0IHZhbHVlc1xuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAoJHBvcy10eXBlICE9IGNvbG9yKSBvciAoJGZpcnN0LXZhbCAhPSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAgICAgQGlmICgkcG9zLXR5cGUgPT0gbnVtYmVyKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNlbnRlclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInRvcFwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInJpZ2h0XCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiYm90dG9tXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwibGVmdFwiKSB7XG5cbiAgICAgICAgICAkcG9zOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHBvcyA9PSAkZzEge1xuICAgICAgICAgICAgJGcxOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmXG4gICAgICAgICAgICgkZmlyc3QtdmFsID09IFwiZWxsaXBzZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNpcmNsZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImZhcnRoZXN0LWNvcm5lclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvbnRhaW5cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb3ZlclwiKSB7XG5cbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHZhbHVlO1xuXG4gICAgICAgICAgQGlmICR2YWx1ZSA9PSAkZzEge1xuICAgICAgICAgICAgJGcxOiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICR2YWx1ZSA9PSAkZzIge1xuICAgICAgICAgICAgJGcyOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAcmV0dXJuICRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZTtcbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvcykge1xuICAkc2hhcGUtc2l6ZTogbnRoKCRncmFkaWVudC1wb3MsIDEpO1xuICAkcG9zOiAgICAgICAgbnRoKCRncmFkaWVudC1wb3MsIDIpO1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgJHByZS1zcGVjOiB1bnF1b3RlKGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpKVxuICAgICAgICAgICAgIHVucXVvdGUoaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sXCIsIG51bGwpKTtcbiAgJHBvcy1zcGVjOiBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XG5cbiAgJHNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyRwb3Mtc3BlY31cIjtcblxuICAvLyBBZGQgY29tbWFcbiAgQGlmICgkc3BlYyAhPSBcIiAgXCIpIHtcbiAgICAkc3BlYzogXCIjeyRzcGVjfSxcIjtcbiAgfVxuXG4gIEByZXR1cm4gJHByZS1zcGVjICRzcGVjO1xufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAwLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRpcy1zcGVjLXN5bnRheDogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiYXRcIik7XG5cbiAgQGlmICRpcy1zcGVjLXN5bnRheCBhbmQgJGlzLXNwZWMtc3ludGF4ID4gMSB7XG4gICAgJGtleXdvcmQ6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaXMtc3BlYy1zeW50YXggLSAyKTtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICAgJHBvczogYXBwZW5kKCRwb3MsICRrZXl3b3JkLCBjb21tYSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRpcy1zcGVjLXN5bnRheCA9PSAxIHtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmIHN0ci1pbmRleCgkaW1hZ2UsIFwiY292ZXJcIikgb3Igc3RyLWluZGV4KCRpbWFnZSwgXCJjb250YWluXCIpIHtcbiAgICBAd2FybiBcIlJhZGlhbC1ncmFkaWVudCBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIGNvbmZvcm0gdG8gbGF0ZXN0IHNwZWMuXCI7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IG51bGwsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQHJldHVybiAkZ3JhZGllbnRzO1xufVxuIiwiLy8gVXNlciBmb3IgbGluZWFyIGFuZCByYWRpYWwgZ3JhZGllbnRzIHdpdGhpbiBiYWNrZ3JvdW5kLWltYWdlIG9yIGJvcmRlci1pbWFnZSBwcm9wZXJ0aWVzXG5cbkBmdW5jdGlvbiBfcmVuZGVyLWdyYWRpZW50cygkZ3JhZGllbnQtcG9zaXRpb25zLCAkZ3JhZGllbnRzLCAkZ3JhZGllbnQtdHlwZSwgJHZlbmRvcjogZmFsc2UpIHtcbiAgJHByZS1zcGVjOiBudWxsO1xuICAkc3BlYzogbnVsbDtcbiAgJHZlbmRvci1ncmFkaWVudHM6IG51bGw7XG4gIEBpZiAkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIge1xuICAgIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zIHtcbiAgICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xuICAgICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IHJhZGlhbCB7XG4gICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XG4gICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XG4gIH1cblxuICBAaWYgJHZlbmRvciB7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IC0jeyR2ZW5kb3J9LSN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHByZS1zcGVjfSAkZ3JhZGllbnRzKTtcbiAgfVxuICBAZWxzZSBpZiAkdmVuZG9yID09IGZhbHNlIHtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogXCIjeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRzcGVjfSAjeyRncmFkaWVudHN9KVwiO1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiB1bnF1b3RlKCR2ZW5kb3ItZ3JhZGllbnRzKTtcbiAgfVxuICBAcmV0dXJuICR2ZW5kb3ItZ3JhZGllbnRzO1xufVxuIiwiQGZ1bmN0aW9uIF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKSB7XG4gICRzaGFwZS1zaXplLXNwZWM6IG51bGw7XG4gIEBlYWNoICR2YWx1ZSBpbiAkc2hhcGUtc2l6ZSB7XG4gICAgQGlmICgkdmFsdWUgPT0gXCJjb3ZlclwiKSBvciAoJHZhbHVlID09IFwiY29udGFpblwiKSB7XG4gICAgICAkdmFsdWU6IG51bGw7XG4gICAgfVxuICAgICRzaGFwZS1zaXplLXNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyR2YWx1ZX1cIjtcbiAgfVxuICBAcmV0dXJuICRzaGFwZS1zaXplLXNwZWM7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIGxpbmVhci9yYWRpYWwtZ3JhZGllbnQtcGFyc2Vycy5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfc3RyLXRvLW51bSgkc3RyaW5nKSB7XG4gIC8vIE1hdHJpY2VzXG4gICRzdHJpbmdzOiBcIjBcIiBcIjFcIiBcIjJcIiBcIjNcIiBcIjRcIiBcIjVcIiBcIjZcIiBcIjdcIiBcIjhcIiBcIjlcIjtcbiAgJG51bWJlcnM6ICAwICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA5O1xuXG4gIC8vIFJlc3VsdFxuICAkcmVzdWx0OiAwO1xuICAkZGl2aWRlcjogMDtcbiAgJG1pbnVzOiBmYWxzZTtcblxuICAvLyBMb29waW5nIHRocm91Z2ggYWxsIGNoYXJhY3RlcnNcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCRzdHJpbmcpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcbiAgICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkY2hhcmFjdGVyKTtcblxuICAgIEBpZiAkY2hhcmFjdGVyID09IFwiLVwiIHtcbiAgICAgICRtaW51czogdHJ1ZTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkY2hhcmFjdGVyID09IFwiLlwiIHtcbiAgICAgICRkaXZpZGVyOiAxO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiBub3QgJGluZGV4IHtcbiAgICAgICAgJHJlc3VsdDogaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xuICAgICAgICBAcmV0dXJuIF9jb252ZXJ0LXVuaXRzKCRyZXN1bHQsIHN0ci1zbGljZSgkc3RyaW5nLCAkaSkpO1xuICAgICAgfVxuXG4gICAgICAkbnVtYmVyOiBudGgoJG51bWJlcnMsICRpbmRleCk7XG5cbiAgICAgIEBpZiAkZGl2aWRlciA9PSAwIHtcbiAgICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIE1vdmUgdGhlIGRlY2ltYWwgZG90IHRvIHRoZSBsZWZ0XG4gICAgICAgICRkaXZpZGVyOiAkZGl2aWRlciAqIDEwO1xuICAgICAgICAkbnVtYmVyOiAkbnVtYmVyIC8gJGRpdmlkZXI7XG4gICAgICB9XG5cbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAkbnVtYmVyO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcbn1cbiIsIi8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtYW5pbWF0aW9ucy8jdGhlLWFuaW1hdGlvbi1uYW1lLXByb3BlcnR5LVxuLy8gRWFjaCBvZiB0aGVzZSBtaXhpbnMgc3VwcG9ydCBjb21tYSBzZXBhcmF0ZWQgbGlzdHMgb2YgdmFsdWVzLCB3aGljaCBhbGxvd3MgZGlmZmVyZW50IHRyYW5zaXRpb25zIGZvciBpbmRpdmlkdWFsIHByb3BlcnRpZXMgdG8gYmUgZGVzY3JpYmVkIGluIGEgc2luZ2xlIHN0eWxlIHJ1bGUuIEVhY2ggdmFsdWUgaW4gdGhlIGxpc3QgY29ycmVzcG9uZHMgdG8gdGhlIHZhbHVlIGF0IHRoYXQgc2FtZSBwb3NpdGlvbiBpbiB0aGUgb3RoZXIgcHJvcGVydGllcy5cblxuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9ucy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24sICRhbmltYXRpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUoJG5hbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCAkbmFtZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCR2YWx1ZXMuLi4pIHtcbiAgLy8gaW5maW5pdGUgfCA8bnVtYmVyPlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCAkdmFsdWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9ucy4uLikge1xuICAvLyBub3JtYWwgfCBhbHRlcm5hdGVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRpcmVjdGlvbiwgJGRpcmVjdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tcGxheS1zdGF0ZSgkc3RhdGVzLi4uKSB7XG4gIC8vIHJ1bm5pbmcgfCBwYXVzZWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSgkbW9kZXMuLi4pIHtcbiAgLy8gbm9uZSB8IGZvcndhcmRzIHwgYmFja3dhcmRzIHwgYm90aFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZmlsbC1tb2RlLCAkbW9kZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gYXBwZWFyYW5jZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYXBwZWFyYW5jZSwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLCJAbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihiYWNrZmFjZS12aXNpYmlsaXR5LCAkdmlzaWJpbGl0eSwgd2Via2l0IHNwZWMpO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZCBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmRzIHVzaW5nIHNob3J0aGFuZFxuLy8gbm90YXRpb24uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kcy4uLikge1xuICAkd2Via2l0LWJhY2tncm91bmRzOiAoKTtcbiAgJHNwZWMtYmFja2dyb3VuZHM6ICgpO1xuXG4gIEBlYWNoICRiYWNrZ3JvdW5kIGluICRiYWNrZ3JvdW5kcyB7XG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkYmFja2dyb3VuZC10eXBlOiB0eXBlLW9mKCRiYWNrZ3JvdW5kKTtcblxuICAgIEBpZiAkYmFja2dyb3VuZC10eXBlID09IHN0cmluZyBvciAkYmFja2dyb3VuZC10eXBlID09IGxpc3Qge1xuICAgICAgJGJhY2tncm91bmQtc3RyOiBpZigkYmFja2dyb3VuZC10eXBlID09IGxpc3QsIG50aCgkYmFja2dyb3VuZCwgMSksICRiYWNrZ3JvdW5kKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDAsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDAsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRiYWNrZ3JvdW5kfVwiKTtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICR3ZWJraXQtYmFja2dyb3VuZHM6IGFwcGVuZCgkd2Via2l0LWJhY2tncm91bmRzLCAkd2Via2l0LWJhY2tncm91bmQsIGNvbW1hKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kczogICBhcHBlbmQoJHNwZWMtYmFja2dyb3VuZHMsICAgJHNwZWMtYmFja2dyb3VuZCwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kOiAkd2Via2l0LWJhY2tncm91bmRzO1xuICBiYWNrZ3JvdW5kOiAkc3BlYy1iYWNrZ3JvdW5kcztcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tncm91bmQtaW1hZ2UgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoXG4vLyBncmFkaWVudHMsIG9yIGZvciBzdHJpbmdpbmcgbXVsdGlwbGUgZ3JhZGllbnRzIHRvZ2V0aGVyLlxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuXG5AbWl4aW4gYmFja2dyb3VuZC1pbWFnZSgkaW1hZ2VzLi4uKSB7XG4gICR3ZWJraXQtaW1hZ2VzOiAoKTtcbiAgJHNwZWMtaW1hZ2VzOiAoKTtcblxuICBAZWFjaCAkaW1hZ2UgaW4gJGltYWdlcyB7XG4gICAgJHdlYmtpdC1pbWFnZTogKCk7XG4gICAgJHNwZWMtaW1hZ2U6ICgpO1xuXG4gICAgQGlmICh0eXBlLW9mKCRpbWFnZSkgPT0gc3RyaW5nKSB7XG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRpbWFnZSwgMCwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRpbWFnZSwgMCwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogJGltYWdlO1xuICAgICAgICAkc3BlYy1pbWFnZTogICAkaW1hZ2U7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xuICAgICAgICAkd2Via2l0LWltYWdlOiAgbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkd2Via2l0LWltYWdlczogYXBwZW5kKCR3ZWJraXQtaW1hZ2VzLCAkd2Via2l0LWltYWdlLCBjb21tYSk7XG4gICAgJHNwZWMtaW1hZ2VzOiAgIGFwcGVuZCgkc3BlYy1pbWFnZXMsICAgJHNwZWMtaW1hZ2UsICAgY29tbWEpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogJHdlYmtpdC1pbWFnZXM7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRzcGVjLWltYWdlcztcbn1cbiIsIkBtaXhpbiBib3JkZXItaW1hZ2UoJGJvcmRlcnMuLi4pIHtcbiAgJHdlYmtpdC1ib3JkZXJzOiAoKTtcbiAgJHNwZWMtYm9yZGVyczogKCk7XG5cbiAgQGVhY2ggJGJvcmRlciBpbiAkYm9yZGVycyB7XG4gICAgJHdlYmtpdC1ib3JkZXI6ICgpO1xuICAgICRzcGVjLWJvcmRlcjogKCk7XG4gICAgJGJvcmRlci10eXBlOiB0eXBlLW9mKCRib3JkZXIpO1xuXG4gICAgQGlmICRib3JkZXItdHlwZSA9PSBzdHJpbmcgb3IgbGlzdCB7XG4gICAgICAkYm9yZGVyLXN0cjogaWYoJGJvcmRlci10eXBlID09IGxpc3QsIG50aCgkYm9yZGVyLCAxKSwgJGJvcmRlcik7XG5cbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGJvcmRlci1zdHIsIDAsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMCwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1ib3JkZXJzOiBhcHBlbmQoJHdlYmtpdC1ib3JkZXJzLCAkd2Via2l0LWJvcmRlciwgY29tbWEpO1xuICAgICRzcGVjLWJvcmRlcnM6ICAgYXBwZW5kKCRzcGVjLWJvcmRlcnMsICAgJHNwZWMtYm9yZGVyLCAgIGNvbW1hKTtcbiAgfVxuXG4gIC13ZWJraXQtYm9yZGVyLWltYWdlOiAkd2Via2l0LWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLWltYWdlOiAkc3BlYy1ib3JkZXJzO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbi8vRXhhbXBsZXM6XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikgMjAgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIHN0cmV0Y2gpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIDIwIDMwIDQwIDUwIHN0cmV0Y2ggcm91bmQpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHJhZGlhbC1ncmFkaWVudCh0b3AsIGNvdmVyLCBvcmFuZ2UsIHllbGxvdywgb3JhbmdlKSk7XG4iLCJAbWl4aW4gY2FsYygkcHJvcGVydHksICR2YWx1ZSkge1xuICAjeyRwcm9wZXJ0eX06IC13ZWJraXQtY2FsYygjeyR2YWx1ZX0pO1xuICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skdmFsdWV9KTtcbn1cbiIsIkBtaXhpbiBjb2x1bW5zKCRhcmc6IGF1dG8pIHtcbiAgLy8gPGNvbHVtbi1jb3VudD4gfHwgPGNvbHVtbi13aWR0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1ucywgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkaW50OiBhdXRvKSB7XG4gIC8vIGF1dG8gfHwgaW50ZWdlclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tY291bnQsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCRsZW5ndGg6IG5vcm1hbCkge1xuICAvLyBub3JtYWwgfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1nYXAsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZmlsbCgkYXJnOiBhdXRvKSB7XG4gIC8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1maWxsLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUoJGFyZykge1xuICAvLyA8Ym9yZGVyLXdpZHRoPiB8fCA8Ym9yZGVyLXN0eWxlPiB8fCA8Y29sb3I+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtY29sb3IoJGNvbG9yKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLWNvbG9yLCAkY29sb3IsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS1zdHlsZSgkc3R5bGU6IG5vbmUpIHtcbiAgLy8gbm9uZSB8IGhpZGRlbiB8IGRhc2hlZCB8IGRvdHRlZCB8IGRvdWJsZSB8IGdyb292ZSB8IGluc2V0IHwgaW5zZXQgfCBvdXRzZXQgfCByaWRnZSB8IHNvbGlkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCAoJHdpZHRoOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXdpZHRoLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tc3BhbigkYXJnOiBub25lKSB7XG4gIC8vIG5vbmUgfHwgYWxsXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1zcGFuLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXdpZHRoKCRsZW5ndGg6IGF1dG8pIHtcbiAgLy8gYXV0byB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXdpZHRoLCAkbGVuZ3RoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIGZpbHRlcigkZnVuY3Rpb246IG5vbmUpIHtcbiAgLy8gPGZpbHRlci1mdW5jdGlvbj4gWzxmaWx0ZXItZnVuY3Rpb25dKiB8IG5vbmVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmlsdGVyLCAkZnVuY3Rpb24sIHdlYmtpdCBzcGVjKTtcbn1cbiIsIi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuXG4vLyBDdXN0b20gc2hvcnRoYW5kIG5vdGF0aW9uIGZvciBmbGV4Ym94XG5AbWl4aW4gYm94KCRvcmllbnQ6IGlubGluZS1heGlzLCAkcGFjazogc3RhcnQsICRhbGlnbjogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBkaXNwbGF5LWJveDtcbiAgQGluY2x1ZGUgYm94LW9yaWVudCgkb3JpZW50KTtcbiAgQGluY2x1ZGUgYm94LXBhY2soJHBhY2spO1xuICBAaW5jbHVkZSBib3gtYWxpZ24oJGFsaWduKTtcbn1cblxuQG1peGluIGRpc3BsYXktYm94IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gSUUgMTBcbiAgZGlzcGxheTogYm94O1xufVxuXG5AbWl4aW4gYm94LW9yaWVudCgkb3JpZW50OiBpbmxpbmUtYXhpcykge1xuLy8gaG9yaXpvbnRhbHx2ZXJ0aWNhbHxpbmxpbmUtYXhpc3xibG9jay1heGlzfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJG9yaWVudCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1wYWNrKCRwYWNrOiBzdGFydCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxqdXN0aWZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkcGFjaywgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcGFjazogJHBhY2s7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtYWxpZ24oJGFsaWduOiBzdHJldGNoKSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGJhc2VsaW5lfHN0cmV0Y2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWxpZ24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWFsaWduOiAkYWxpZ247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZGlyZWN0aW9uKCRkaXJlY3Rpb246IG5vcm1hbCkge1xuLy8gbm9ybWFsfHJldmVyc2V8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtbGluZXMoJGxpbmVzOiBzaW5nbGUpIHtcbi8vIHNpbmdsZXxtdWx0aXBsZVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRsaW5lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50OyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWZsZXgoJHZhbHVlOiAwKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4OiAkdmFsdWU7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcbi8vIFVuaWZpZWQgYXR0cmlidXRlcyBmb3IgMjAwOSwgMjAxMSwgYW5kIDIwMTIgZmxhdm91cnMuXG5cbi8vIDIwMDkgLSBkaXNwbGF5IChib3ggfCBpbmxpbmUtYm94KVxuLy8gMjAxMSAtIGRpc3BsYXkgKGZsZXhib3ggfCBpbmxpbmUtZmxleGJveClcbi8vIDIwMTIgLSBkaXNwbGF5IChmbGV4IHwgaW5saW5lLWZsZXgpXG5AbWl4aW4gZGlzcGxheSgkdmFsdWUpIHtcbi8vIGZsZXggfCBpbmxpbmUtZmxleFxuICBAaWYgJHZhbHVlID09IFwiZmxleFwiIHtcbiAgICAvLyAyMDA5XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgZGlzcGxheTogYm94O1xuXG4gICAgLy8gMjAxMlxuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIDIwMTEgKElFIDEwKVxuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiaW5saW5lLWZsZXhcIiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYm94O1xuXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfSBAZWxzZSB7XG4gICAgZGlzcGxheTogJHZhbHVlO1xuICB9XG59XG5cbi8vIDIwMDkgLSBib3gtZmxleCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4IChkZWNpbWFsIHwgd2lkdGggZGVjaW1hbClcbi8vIDIwMTIgLSBmbGV4IChpbnRlZ2VyIGludGVnZXIgd2lkdGgpXG5AbWl4aW4gZmxleCgkdmFsdWUpIHtcblxuICAvLyBHcmFiIGZsZXgtZ3JvdyBmb3Igb2xkZXIgYnJvd3NlcnMuXG4gICRmbGV4LWdyb3c6IG50aCgkdmFsdWUsIDEpO1xuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICRmbGV4LWdyb3csIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApLCAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmllbnQgKCBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMpXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSlcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICR2YWx1ZS0yMDA5OiAkdmFsdWU7XG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gICRkaXJlY3Rpb246IG5vcm1hbDtcblxuICBAaWYgJHZhbHVlID09IHJvdyB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwicm93LXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gY29sdW1uIHtcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiY29sdW1uLXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICR2YWx1ZS0yMDA5LCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1kaXJlY3Rpb24sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtbGluZXMgKHNpbmdsZSB8IG11bHRpcGxlKVxuLy8gMjAxMSAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZTogbm93cmFwKSB7XG4gIC8vIEFsdCB2YWx1ZXNcbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IG5vd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogc2luZ2xlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSB3cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJ3cmFwLXJldmVyc2VcIiB7XG4gICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XG4gIH1cblxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtd3JhcCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDExIC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDEyIC0gZmxleC1mbG93IChmbGV4LWRpcmVjdGlvbiB8fCBmbGV4LXdyYXApXG5AbWl4aW4gZmxleC1mbG93KCR2YWx1ZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWZsb3csICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmRpbmFsLWdyb3VwIChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXgtb3JkZXIgKGludGVnZXIpXG4vLyAyMDEyIC0gb3JkZXIgKGludGVnZXIpXG5AbWl4aW4gb3JkZXIoJGludDogMCkge1xuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIob3JkZXIsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50O1xufVxuXG4vLyAyMDEyIC0gZmxleC1ncm93IChudW1iZXIpXG5AbWl4aW4gZmxleC1ncm93KCRudW1iZXI6IDApIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1ncm93LCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wb3NpdGl2ZTogJG51bWJlcjtcbn1cblxuLy8gMjAxMiAtIGZsZXgtc2hyaW5rIChudW1iZXIpXG5AbWl4aW4gZmxleC1zaHJpbmsoJG51bWJlcjogMSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXNocmluaywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtbmVnYXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LWJhc2lzIChudW1iZXIpXG5AbWl4aW4gZmxleC1iYXNpcygkd2lkdGg6IGF1dG8pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1iYXNpcywgJHdpZHRoLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogJHdpZHRoO1xufVxuXG4vLyAyMDA5IC0gYm94LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTEgLSBmbGV4LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTIgLSBqdXN0aWZ5LWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQpXG5AbWl4aW4ganVzdGlmeS1jb250ZW50KCR2YWx1ZTogZmxleC1zdGFydCkge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZW5kO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgJGFsdC12YWx1ZToganVzdGlmeTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihqdXN0aWZ5LWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1wYWNrOiAkYWx0LXZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTEgLSBmbGV4LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1pdGVtcyAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWl0ZW1zKCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcblxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWl0ZW1zLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtYWxpZ246ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWl0ZW0tYWxpZ24gKGF1dG8gfCBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1zZWxmIChhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLXNlbGYsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogJHZhbHVlLTIwMTE7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWxpbmUtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5IHwgZGlzdHJpYnV0ZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24tY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZCB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24tY29udGVudCgkdmFsdWU6IHN0cmV0Y2gpIHtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICR2YWx1ZS0yMDExOiBqdXN0aWZ5O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZS0yMDExO1xufVxuIiwiQG1peGluIGZvbnQtZmFjZShcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkd2VpZ2h0OiBub3JtYWwsXG4gICRzdHlsZTogbm9ybWFsLFxuICAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0czogZW90IHdvZmYyIHdvZmYgdHRmIHN2Zykge1xuXG4gICRmb250LXVybC1wcmVmaXg6IGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSk7XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBzcmM6IGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAgICAgJGZvbnQtZmFtaWx5LFxuICAgICAgJGZpbGUtcGF0aCxcbiAgICAgICRhc3NldC1waXBlbGluZSxcbiAgICAgICRmaWxlLWZvcm1hdHMsXG4gICAgICAkZm9udC11cmwtcHJlZml4XG4gICAgKTtcbiAgfVxufVxuIiwiQG1peGluIGZvbnQtZmVhdHVyZS1zZXR0aW5ncygkc2V0dGluZ3MuLi4pIHtcbiAgQGlmIGxlbmd0aCgkc2V0dGluZ3MpID09IDAgeyAkc2V0dGluZ3M6IG5vbmU7IH1cbiAgQGluY2x1ZGUgcHJlZml4ZXIoZm9udC1mZWF0dXJlLXNldHRpbmdzLCAkc2V0dGluZ3MsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLCIvLyBIaURQSSBtaXhpbi4gRGVmYXVsdCB2YWx1ZSBzZXQgdG8gMS4zIHRvIHRhcmdldCBHb29nbGUgTmV4dXMgNyAoaHR0cDovL2JqYW5nby5jb20vYXJ0aWNsZXMvbWluLWRldmljZS1waXhlbC1yYXRpby8pXG5AbWl4aW4gaGlkcGkoJHJhdGlvOiAxLjMpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IHJvdW5kKCRyYXRpbyAqIDk2ZHBpKSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICRyYXRpbyAqIDFkcHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBtaXhpbiBoeXBoZW5zKCRoeXBoZW5hdGlvbjogbm9uZSkge1xuICAvLyBub25lIHwgbWFudWFsIHwgYXV0b1xuICBAaW5jbHVkZSBwcmVmaXhlcihoeXBoZW5zLCAkaHlwaGVuYXRpb24sIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLCJAbWl4aW4gaW1hZ2UtcmVuZGVyaW5nICgkbW9kZTphdXRvKSB7XG5cbiAgQGlmICgkbW9kZSA9PSBjcmlzcC1lZGdlcykge1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IG5lYXJlc3QtbmVpZ2hib3I7IC8vIElFOCtcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtby1jcmlzcC1lZGdlcztcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC13ZWJraXQtb3B0aW1pemUtY29udHJhc3Q7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlcztcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBpbWFnZS1yZW5kZXJpbmc6ICRtb2RlO1xuICB9XG59XG4iLCIvLyBBZGRzIGtleWZyYW1lcyBibG9ja3MgZm9yIHN1cHBvcnRlZCBwcmVmaXhlcywgcmVtb3ZpbmcgcmVkdW5kYW50IHByZWZpeGVzIGluIHRoZSBibG9jaydzIGNvbnRlbnRcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0OiAgICAkcHJlZml4LWZvci13ZWJraXQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGE6ICAgJHByZWZpeC1mb3ItbW96aWxsYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0OiAkcHJlZml4LWZvci1taWNyb3NvZnQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhOiAgICAgJHByZWZpeC1mb3Itb3BlcmE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWM6ICAgICAgJHByZWZpeC1mb3Itc3BlYztcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0IHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3Itd2Via2l0OiB0cnVlICFnbG9iYWw7XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3ItbW96aWxsYTogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6ICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdCAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhICAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMgICAgICAhZ2xvYmFsO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjIHtcbiAgICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGxpbmVhci1ncmFkaWVudCgkcG9zLCAkZzEsICRnMjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGczOiBudWxsLCAkZzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNTogbnVsbCwgJGc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzc6IG51bGwsICRnODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc5OiBudWxsLCAkZzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcbiAgLy8gRGV0ZWN0IHdoYXQgdHlwZSBvZiB2YWx1ZSBleGlzdHMgaW4gJHBvc1xuICAkcG9zLXR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHBvcy1zcGVjOiBudWxsO1xuICAkcG9zLWRlZ3JlZTogbnVsbDtcblxuICAvLyBJZiAkcG9zIGlzIG1pc3NpbmcgZnJvbSBtaXhpbiwgcmVhc3NpZ24gdmFycyBhbmQgYWRkIGRlZmF1bHQgcG9zaXRpb25cbiAgQGlmICgkcG9zLXR5cGUgPT0gY29sb3IpIG9yIChudGgoJHBvcywgMSkgPT0gXCJ0cmFuc3BhcmVudFwiKSAge1xuICAgICRnMTA6ICRnOTsgJGc5OiAkZzg7ICRnODogJGc3OyAkZzc6ICRnNjsgJGc2OiAkZzU7XG4gICAgJGc1OiAkZzQ7ICRnNDogJGczOyAkZzM6ICRnMjsgJGcyOiAkZzE7ICRnMTogJHBvcztcbiAgICAkcG9zOiBudWxsO1xuICB9XG5cbiAgQGlmICRwb3Mge1xuICAgICRwb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkcG9zKTtcbiAgICAkcG9zLWRlZ3JlZTogbnRoKCRwb3NpdGlvbnMsIDEpO1xuICAgICRwb3Mtc3BlYzogICBudGgoJHBvc2l0aW9ucywgMik7XG4gIH1cblxuICAkZnVsbDogJGcxLCAkZzIsICRnMywgJGc0LCAkZzUsICRnNiwgJGc3LCAkZzgsICRnOSwgJGcxMDtcblxuICAvLyBTZXQgJGcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRnMSwgMSk7XG5cbiAgLy8gSWYgJGZhbGxiYWNrIGlzIGEgY29sb3IgdXNlIHRoYXQgY29sb3IgYXMgdGhlIGZhbGxiYWNrIGNvbG9yXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkcG9zLWRlZ3JlZSAkZnVsbCk7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWVcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcImxpbmVhci1ncmFkaWVudCgjeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLCJAbWl4aW4gcGVyc3BlY3RpdmUoJGRlcHRoOiBub25lKSB7XG4gIC8vIG5vbmUgfCA8bGVuZ3RoPlxuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZSwgJGRlcHRoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCR2YWx1ZTogNTAlIDUwJSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZS1vcmlnaW4sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICRwbGFjZWhvbGRlcnM6IFwiOi13ZWJraXQtaW5wdXRcIiBcIjotbW96XCIgXCItbW96XCIgXCItbXMtaW5wdXRcIjtcbiAgQGVhY2ggJHBsYWNlaG9sZGVyIGluICRwbGFjZWhvbGRlcnMge1xuICAgICY6I3skcGxhY2Vob2xkZXJ9LXBsYWNlaG9sZGVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVxdWlyZXMgU2FzcyAzLjErXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRnMSwgJGcyLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzM6IG51bGwsICRnNDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc1OiBudWxsLCAkZzY6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNzogbnVsbCwgJGc4OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzk6IG51bGwsICRnMTA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRwb3M6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRzaGFwZS1zaXplOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcblxuICAkZGF0YTogX3JhZGlhbC1hcmctcGFyc2VyKCRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZSk7XG4gICRnMTogIG50aCgkZGF0YSwgMSk7XG4gICRnMjogIG50aCgkZGF0YSwgMik7XG4gICRwb3M6IG50aCgkZGF0YSwgMyk7XG4gICRzaGFwZS1zaXplOiBudGgoJGRhdGEsIDQpO1xuXG4gICRmdWxsOiAkZzEsICRnMiwgJGczLCAkZzQsICRnNSwgJGc2LCAkZzcsICRnOCwgJGc5LCAkZzEwO1xuXG4gIC8vIFN0cmlwIGRlcHJlY2F0ZWQgY292ZXIvY29udGFpbiBmb3Igc3BlY1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxuICAkZmlyc3QtY29sb3I6IG50aCgkZnVsbCwgMSk7XG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRmaXJzdC1jb2xvciwgMSk7XG5cbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XG4gIH1cblxuICAvLyBBZGQgQ29tbWFzIGFuZCBzcGFjZXNcbiAgJHNoYXBlLXNpemU6IGlmKCRzaGFwZS1zaXplLCBcIiN7JHNoYXBlLXNpemV9LCBcIiwgbnVsbCk7XG4gICRwb3M6ICAgICAgICBpZigkcG9zLCBcIiN7JHBvc30sIFwiLCBudWxsKTtcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcbiAgJHNoYXBlLXNpemUtc3BlYzogaWYoKCRzaGFwZS1zaXplLXNwZWMgIT0gXCIgXCIpIGFuZCAoJHBvcyA9PSBudWxsKSwgXCIjeyRzaGFwZS1zaXplLXNwZWN9LCBcIiwgXCIjeyRzaGFwZS1zaXplLXNwZWN9IFwiKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAgJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCh1bnF1b3RlKCN7JHBvc30jeyRzaGFwZS1zaXplfSN7JGZ1bGx9KSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVucXVvdGUoXCJyYWRpYWwtZ3JhZGllbnQoI3skc2hhcGUtc2l6ZS1zcGVjfSN7JHBvcy1zcGVjfSN7JGZ1bGx9KVwiKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBPdXRwdXRzIHRoZSBzcGVjIGFuZCBwcmVmaXhlZCB2ZXJzaW9ucyBvZiB0aGUgYDo6c2VsZWN0aW9uYCBwc2V1ZG8tZWxlbWVudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0Jvb2x9ICRjdXJyZW50LXNlbGVjdG9yIFtmYWxzZV1cclxuLy8vICAgSWYgc2V0IHRvIGB0cnVlYCwgaXQgdGFrZXMgdGhlIGN1cnJlbnQgZWxlbWVudCBpbnRvIGNvbnNpZGVyYXRpb24uXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBzZWxlY3Rpb24odHJ1ZSkge1xyXG4vLy8gICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgICB9XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50OjotbW96LXNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLmVsZW1lbnQ6OnNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG5cclxuQG1peGluIHNlbGVjdGlvbigkY3VycmVudC1zZWxlY3RvcjogZmFsc2UpIHtcclxuICBAaWYgJGN1cnJlbnQtc2VsZWN0b3Ige1xyXG4gICAgJjo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAmOjpzZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIDo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICA6OnNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCR2YWx1ZSkge1xuLy8gPHRleHQtZGVjb3JhdGlvbi1saW5lPiB8fCA8dGV4dC1kZWNvcmF0aW9uLXN0eWxlPiB8fCA8dGV4dC1kZWNvcmF0aW9uLWNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24sICR2YWx1ZSwgbW96KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1saW5lKCRsaW5lOiBub25lKSB7XG4vLyBub25lIHx8IHVuZGVybGluZSB8fCBvdmVybGluZSB8fCBsaW5lLXRocm91Z2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWxpbmUsICRsaW5lLCBtb3opO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLXN0eWxlKCRzdHlsZTogc29saWQpIHtcbi8vIHNvbGlkIHx8IGRvdWJsZSB8fCBkb3R0ZWQgfHwgZGFzaGVkIHx8IHdhdnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLXN0eWxlLCAkc3R5bGUsIG1veiB3ZWJraXQpO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWNvbG9yKCRjb2xvcjogY3VycmVudENvbG9yKSB7XG4vLyBjdXJyZW50Q29sb3IgfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tY29sb3IsICRjb2xvciwgbW96KTtcbn1cbiIsIkBtaXhpbiB0cmFuc2Zvcm0oJHByb3BlcnR5OiBub25lKSB7XG4gIC8vIG5vbmUgfCA8dHJhbnNmb3JtLWZ1bmN0aW9uPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sICRwcm9wZXJ0eSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXhlczogNTAlKSB7XG4gIC8vIHgtYXhpcyAtIGxlZnQgfCBjZW50ZXIgfCByaWdodCAgfCBsZW5ndGggfCAlXG4gIC8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXG4gIC8vIHotYXhpcyAtICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSgkc3R5bGU6IGZsYXQpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsIi8vIFNob3J0aGFuZCBtaXhpbi4gU3VwcG9ydHMgbXVsdGlwbGUgcGFyZW50aGVzZXMtZGVsaW1pbmF0ZWQgdmFsdWVzIGZvciBlYWNoIHZhcmlhYmxlLlxuLy8gRXhhbXBsZTogQGluY2x1ZGUgdHJhbnNpdGlvbiAoYWxsIDJzIGVhc2UtaW4tb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24gKG9wYWNpdHkgMXMgZWFzZS1pbiAycywgd2lkdGggMnMgZWFzZS1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eSAodHJhbnNmb3JtLCBvcGFjaXR5KTtcblxuQG1peGluIHRyYW5zaXRpb24oJHByb3BlcnRpZXMuLi4pIHtcbiAgLy8gRml4IGZvciB2ZW5kb3ItcHJlZml4IHRyYW5zZm9ybSBwcm9wZXJ0eVxuICAkbmVlZHMtcHJlZml4ZXM6IGZhbHNlO1xuICAkd2Via2l0OiAoKTtcbiAgJG1vejogKCk7XG4gICRzcGVjOiAoKTtcblxuICAvLyBDcmVhdGUgbGlzdHMgZm9yIHZlbmRvci1wcmVmaXhlZCB0cmFuc2Zvcm1cbiAgQGVhY2ggJGxpc3QgaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiBudGgoJGxpc3QsIDEpID09IFwidHJhbnNmb3JtXCIge1xuICAgICAgJG5lZWRzLXByZWZpeGVzOiB0cnVlO1xuICAgICAgJGxpc3QxOiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MjogLW1vei10cmFuc2Zvcm07XG4gICAgICAkbGlzdDM6ICgpO1xuXG4gICAgICBAZWFjaCAkdmFyIGluICRsaXN0IHtcbiAgICAgICAgJGxpc3QzOiBqb2luKCRsaXN0MywgJHZhcik7XG5cbiAgICAgICAgQGlmICR2YXIgIT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAgICAgJGxpc3QxOiBqb2luKCRsaXN0MSwgJHZhcik7XG4gICAgICAgICAgJGxpc3QyOiBqb2luKCRsaXN0MiwgJHZhcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0MSk7XG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QyKTtcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdDMpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0LCBjb21tYSk7XG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdCwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVlZHMtcHJlZml4ZXMge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHdlYmtpdDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246ICRtb3o7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkc3BlYztcbiAgfSBAZWxzZSB7XG4gICAgQGlmIGxlbmd0aCgkcHJvcGVydGllcykgPj0gMSB7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRwcm9wZXJ0aWVzOiBhbGwgMC4xNXMgZWFzZS1vdXQgMHM7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHByb3BlcnRpZXMuLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIndlYmtpdFwiKTtcbiAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIm1velwiKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBmYWxzZSk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoKVxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gdXNlci1zZWxlY3QoJHZhbHVlOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItY29sb3JgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1jb2xvcigjYTYwYjU1ICM3NmNkOWMgbnVsbCAjZThhZTFhKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNlOGFlMWE7XG4vLy8gICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzc2Y2Q5Yztcbi8vLyAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2E2MGI1NTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1jb2xvcmBcblxuQG1peGluIGJvcmRlci1jb2xvcigkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIGNvbG9yLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItcmFkaXVzYCBvbiBib3RoIGNvcm5lcnMgb24gdGhlIHNpZGUgb2YgYSBib3guXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJhZGlpXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudC1vbmUge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyg1cHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudC10d28ge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoM3B4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50LW9uZSB7XG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbi8vLyAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQtdHdvIHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuLy8vICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItcmFkaXVzYFxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1zdHlsZWAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRhc2hlZCBudWxsIHNvbGlkKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRhc2hlZDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1zdHlsZWBcblxuQG1peGluIGJvcmRlci1zdHlsZSgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItd2lkdGhgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci13aWR0aCgxZW0gbnVsbCAyMHB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjBweDtcbi8vLyAgICAgYm9yZGVyLXRvcC13aWR0aDogMWVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLXdpZHRoYFxuXG5AbWl4aW4gYm9yZGVyLXdpZHRoKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgd2lkdGgsICR2YWxzLi4uKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCBidXR0b25zLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTogYCN7JGFsbC1idXR0b25zfWAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICN7JGFsbC1idXR0b25zfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWZvY3VzfSxcbi8vLyAgICN7JGFsbC1idXR0b25zLWhvdmVyfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWFjdGl2ZX0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgYnV0dG9uLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBidXR0b246Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyxcbi8vLyAgIGJ1dHRvbjpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgYnV0dG9uOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06YWN0aXZlIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIGFzc2lnbi1pbnB1dHNcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vL1xuLy8vIEB0b2RvIFJlbW92ZSBkb3VibGUgYXNzaWduZWQgdmFyaWFibGVzIChMaW5lcyA1OeKAkzYyKSBpbiB2NS4wLjBcblxuJGJ1dHRvbnMtbGlzdDogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcblxuJGFsbC1idXR0b25zOiAgICAgICAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0KTtcbiRhbGwtYnV0dG9ucy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgYWN0aXZlKTtcbiRhbGwtYnV0dG9ucy1mb2N1czogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgZm9jdXMpO1xuJGFsbC1idXR0b25zLWhvdmVyOiAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBob3Zlcik7XG5cbiRhbGwtYnV0dG9uLWlucHV0czogICAgICAgICRhbGwtYnV0dG9ucztcbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6ICRhbGwtYnV0dG9ucy1hY3RpdmU7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtZm9jdXM6ICAkYWxsLWJ1dHRvbnMtZm9jdXM7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6ICAkYWxsLWJ1dHRvbnMtaG92ZXI7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBpbmNsdWRlIGEgY2xlYXJmaXggZm9yIGNvbnRhaW5pbmcgZmxvYXRzLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL2Nzc21vam8uY29tL2xhdGVzdF9uZXdfY2xlYXJmaXhfc29fZmFyL1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQ6OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4vLy8gICAgIGRpc3BsYXk6IHRhYmxlO1xuLy8vICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gVHJ1bmNhdGVzIHRleHQgYW5kIGFkZHMgYW4gZWxsaXBzaXMgdG8gcmVwcmVzZW50IG92ZXJmbG93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMTAwJV1cbi8vLyAgIE1heC13aWR0aCBmb3IgdGhlIHN0cmluZyB0byByZXNwZWN0IGJlZm9yZSBiZWluZyB0cnVuY2F0ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBlbGxpcHNpcztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbi8vLyAgIH1cblxuQG1peGluIGVsbGlwc2lzKCR3aWR0aDogMTAwJSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW9yZ2lhIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRnZW9yZ2lhOiBcIkdlb3JnaWFcIiwgXCJDYW1icmlhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiVGltZXNcIiwgc2VyaWY7XG5cbi8vLyBIZWx2ZXRpY2EgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJGhlbHZldGljYTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIlJvYm90b1wiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG5cbi8vLyBMdWNpZGEgR3JhbmRlIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRsdWNpZGEtZ3JhbmRlOiBcIkx1Y2lkYSBHcmFuZGVcIiwgXCJUYWhvbWFcIiwgXCJWZXJkYW5hXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcblxuLy8vIE1vbm9zcGFjZSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kbW9ub3NwYWNlOiBcIkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ub1wiLCBcIkNvbnNvbGFzXCIsIFwiQ291cmllclwiLCBtb25vc3BhY2U7XG5cbi8vLyBWZXJkYW5hIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiR2ZXJkYW5hOiBcIlZlcmRhbmFcIiwgXCJHZW5ldmFcIiwgc2Fucy1zZXJpZjtcbiIsIi8vLyBIaWRlcyB0aGUgdGV4dCBpbiBhbiBlbGVtZW50LCBjb21tb25seSB1c2VkIHRvIHNob3cgYW4gaW1hZ2UuIFNvbWUgZWxlbWVudHMgd2lsbCBuZWVkIGJsb2NrLWxldmVsIHN0eWxlcyBhcHBsaWVkLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3plbGRtYW4uY29tLzIwMTIvMDMvMDEvcmVwbGFjaW5nLXRoZS05OTk5cHgtaGFjay1uZXctaW1hZ2UtcmVwbGFjZW1lbnRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBoaWRlLXRleHQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtaW5kZW50OiAxMDElO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHRvZG8gUmVtb3ZlIGhlaWdodCBhcmd1bWVudCBpbiB2NS4wLjBcblxuQG1peGluIGhpZGUtdGV4dCgkaGVpZ2h0OiBudWxsKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAxMDElO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiAkaGVpZ2h0IHtcbiAgICBAd2FybiBcIlRoZSBgaGlkZS10ZXh0YCBtaXhpbiBoYXMgY2hhbmdlZCBhbmQgbm8gbG9uZ2VyIHJlcXVpcmVzIGEgaGVpZ2h0LiBUaGUgaGVpZ2h0IGFyZ3VtZW50IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2VwdGVkIGluIHY1LjAuMFwiO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBtYXJnaW5gIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDEwcHggM2VtIDIwdmgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAzZW07XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAyMHZoO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBtYXJnaW5gXG5cbkBtaXhpbiBtYXJnaW4oJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkobWFyZ2luLCBmYWxzZSwgJHZhbHMuLi4pO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgcGFkZGluZ2Agb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcGFkZGluZygxMnZoIG51bGwgMTBweCA1JSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuLy8vICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xuLy8vICAgICBwYWRkaW5nLXRvcDogMTJ2aDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYHBhZGRpbmdgXG5cbkBtaXhpbiBwYWRkaW5nKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KHBhZGRpbmcsIGZhbHNlLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3Igc2V0dGluZyBhbiBlbGVtZW504oCZcyBwb3NpdGlvbi4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtQb3NpdGlvbn0gJHBvc2l0aW9uIFtyZWxhdGl2ZV1cbi8vLyAgIEEgQ1NTIHBvc2l0aW9uIHZhbHVlXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRjb29yZGluYXRlcyBbbnVsbCBudWxsIG51bGwgbnVsbF1cbi8vLyAgIExpc3Qgb2YgdmFsdWVzIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgNC12YWx1ZSBzeW50YXggZm9yIHRoZSBlZGdlcyBvZiBhIGJveFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbGVmdDogMTBlbTtcbi8vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8vICAgICB0b3A6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gdW5wYWNrXG5cbkBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb246IHJlbGF0aXZlLCAkY29vcmRpbmF0ZXM6IG51bGwgbnVsbCBudWxsIG51bGwpIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSBsaXN0IHtcbiAgICAkY29vcmRpbmF0ZXM6ICRwb3NpdGlvbjtcbiAgICAkcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJGNvb3JkaW5hdGVzOiB1bnBhY2soJGNvb3JkaW5hdGVzKTtcblxuICAkb2Zmc2V0czogKFxuICAgIHRvcDogICAgbnRoKCRjb29yZGluYXRlcywgMSksXG4gICAgcmlnaHQ6ICBudGgoJGNvb3JkaW5hdGVzLCAyKSxcbiAgICBib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpLFxuICAgIGxlZnQ6ICAgbnRoKCRjb29yZGluYXRlcywgNClcbiAgKTtcblxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBlYWNoICRvZmZzZXQsICR2YWx1ZSBpbiAkb2Zmc2V0cyB7XG4gICAgQGlmIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICN7JG9mZnNldH06ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgbWl4aW4gZm9yIGdlbmVyYXRpbmcgdmVuZG9yIHByZWZpeGVzIG9uIG5vbi1zdGFuZGFyZGl6ZWQgcHJvcGVydGllcy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcbi8vLyAgIFByb3BlcnR5IHRvIHByZWZpeFxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWVcbi8vLyAgIFZhbHVlIHRvIHVzZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcHJlZml4ZXNcbi8vLyAgIFByZWZpeGVzIHRvIGRlZmluZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsIDEwcHgsIHdlYmtpdCBtcyBzcGVjKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXdlYmtpdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbW96aWxsYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbWljcm9zb2Z0XG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1vcGVyYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itc3BlY1xuXG5AbWl4aW4gcHJlZml4ZXIoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtcyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbWljcm9zb2Z0IHtcbiAgICAgICAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSAge1xuICAgICAgQHdhcm4gXCJVbnJlY29nbml6ZWQgcHJlZml4OiAjeyRwcmVmaXh9XCI7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCkge1xuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgZmFsc2UgIWdsb2JhbDtcbn1cbiIsIkBtaXhpbiByZXRpbmEtaW1hZ2UoJGZpbGVuYW1lLCAkYmFja2dyb3VuZC1zaXplLCAkZXh0ZW5zaW9uOiBwbmcsICRyZXRpbmEtZmlsZW5hbWU6IG51bGwsICRyZXRpbmEtc3VmZml4OiBfMngsICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lKSB7XG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICB1cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGhpZHBpIHtcbiAgICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcbiAgICAgIEBpZiAkcmV0aW5hLWZpbGVuYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skcmV0aW5hLWZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmaWxlbmFtZX0jeyRyZXRpbmEtc3VmZml4fS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGJhY2tncm91bmQtc2l6ZTogJGJhY2tncm91bmQtc2l6ZTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU2V0cyB0aGUgYHdpZHRoYCBhbmQgYGhlaWdodGAgb2YgdGhlIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaXplXG4vLy8gICBBIGxpc3Qgb2YgYXQgbW9zdCAyIHNpemUgdmFsdWVzLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIHZhbHVlIGluIGAkc2l6ZWAgaXQgaXMgdXNlZCBmb3IgYm90aCB3aWR0aCBhbmQgaGVpZ2h0LiBBbGwgdW5pdHMgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKDJlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoYXV0byAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcbi8vLyAgICAgd2lkdGg6IDJlbTtcbi8vLyAgICAgaGVpZ2h0OiAyZW07XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiBhdXRvO1xuLy8vICAgICBoZWlnaHQ6IDEwZW07XG4vLy8gICB9XG4vLy9cbi8vLyBAdG9kbyBSZWZhY3RvciBpbiA1LjAuMCB0byB1c2UgYSBjb21tYS1zZXBhcmF0ZWQgYXJndW1lbnRcblxuQG1peGluIHNpemUoJHZhbHVlKSB7XG4gICR3aWR0aDogbnRoKCR2YWx1ZSwgMSk7XG4gICRoZWlnaHQ6ICR3aWR0aDtcblxuICBAaWYgbGVuZ3RoKCR2YWx1ZSkgPiAxIHtcbiAgICAkaGVpZ2h0OiBudGgoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCRoZWlnaHQpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JGhlaWdodH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkaGVpZ2h0YCBwYXJhbWV0ZXIgaW4gdGhlIGBzaXplYCBtaXhpbi5cIjtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCR3aWR0aCkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JHdpZHRofWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCR3aWR0aGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCB0ZXh0LWJhc2VkIGlucHV0cy4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6IGAjeyRhbGwtdGV4dC1pbnB1dHN9YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1mb2N1c30sXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtaG92ZXJ9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWFjdGl2ZX0ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuLy8vICAgdGV4dGFyZWEge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMsXG4vLy8gICB0ZXh0YXJlYTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTpob3Zlcixcbi8vLyAgIHRleHRhcmVhOmhvdmVyIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTphY3RpdmUsXG4vLy8gICB0ZXh0YXJlYTphY3RpdmUge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUgYXNzaWduLWlucHV0c1xuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kdGV4dC1pbnB1dHMtbGlzdDogJ2lucHV0W3R5cGU9XCJjb2xvclwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRlXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImVtYWlsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm1vbnRoXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm51bWJlclwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJwYXNzd29yZFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzZWFyY2hcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGVsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRleHRcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGltZVwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ1cmxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwid2Vla1wiXScsXG4gICAgICAgICAgICAgICAgICAgJ3RleHRhcmVhJztcblxuJGFsbC10ZXh0LWlucHV0czogICAgICAgIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QpO1xuJGFsbC10ZXh0LWlucHV0cy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGFjdGl2ZSk7XG4kYWxsLXRleHQtaW5wdXRzLWZvY3VzOiAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgZm9jdXMpO1xuJGFsbC10ZXh0LWlucHV0cy1ob3ZlcjogIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGhvdmVyKTtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENTUyBjdWJpYy1iZXppZXIgdGltaW5nIGZ1bmN0aW9ucy4gVGltaW5nIGZ1bmN0aW9ucyBjb3VydGVzeSBvZiBqcXVlcnkuZWFzaWUgKGdpdGh1Yi5jb20vamF1a2lhL2Vhc2llKVxuLy8vXG4vLy8gVGltaW5nIGZ1bmN0aW9ucyBhcmUgdGhlIHNhbWUgYXMgZGVtb2VkIGhlcmU6IGh0dHA6Ly9qcXVlcnl1aS5jb20vcmVzb3VyY2VzL2RlbW9zL2VmZmVjdC9lYXNpbmcuaHRtbFxuLy8vXG4vLy8gQHR5cGUgY3ViaWMtYmV6aWVyXG5cbiRlYXNlLWluLXF1YWQ6ICAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wODUsIDAuNjgwLCAwLjUzMCk7XG4kZWFzZS1pbi1jdWJpYzogICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuJGVhc2UtaW4tcXVhcnQ6ICAgICBjdWJpYy1iZXppZXIoMC44OTUsICAwLjAzMCwgMC42ODUsIDAuMjIwKTtcbiRlYXNlLWluLXF1aW50OiAgICAgY3ViaWMtYmV6aWVyKDAuNzU1LCAgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4kZWFzZS1pbi1zaW5lOiAgICAgIGN1YmljLWJlemllcigwLjQ3MCwgIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xuJGVhc2UtaW4tZXhwbzogICAgICBjdWJpYy1iZXppZXIoMC45NTAsICAwLjA1MCwgMC43OTUsIDAuMDM1KTtcbiRlYXNlLWluLWNpcmM6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XG4kZWFzZS1pbi1iYWNrOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xuXG4kZWFzZS1vdXQtcXVhZDogICAgIGN1YmljLWJlemllcigwLjI1MCwgIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xuJGVhc2Utb3V0LWN1YmljOiAgICBjdWJpYy1iZXppZXIoMC4yMTUsICAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWFydDogICAgY3ViaWMtYmV6aWVyKDAuMTY1LCAgMC44NDAsIDAuNDQwLCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVpbnQ6ICAgIGN1YmljLWJlemllcigwLjIzMCwgIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xuJGVhc2Utb3V0LXNpbmU6ICAgICBjdWJpYy1iZXppZXIoMC4zOTAsICAwLjU3NSwgMC41NjUsIDEuMDAwKTtcbiRlYXNlLW91dC1leHBvOiAgICAgY3ViaWMtYmV6aWVyKDAuMTkwLCAgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtY2lyYzogICAgIGN1YmljLWJlemllcigwLjA3NSwgIDAuODIwLCAwLjE2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWJhY2s6ICAgICBjdWJpYy1iZXppZXIoMC4xNzUsICAwLjg4NSwgMC4zMjAsIDEuMjc1KTtcblxuJGVhc2UtaW4tb3V0LXF1YWQ6ICBjdWJpYy1iZXppZXIoMC40NTUsICAwLjAzMCwgMC41MTUsIDAuOTU1KTtcbiRlYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKDAuNjQ1LCAgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVhcnQ6IGN1YmljLWJlemllcigwLjc3MCwgIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1aW50OiBjdWJpYy1iZXppZXIoMC44NjAsICAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1zaW5lOiAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XG4kZWFzZS1pbi1vdXQtZXhwbzogIGN1YmljLWJlemllcigxLjAwMCwgIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LWNpcmM6ICBjdWJpYy1iZXppZXIoMC43ODUsICAwLjEzNSwgMC4xNTAsIDAuODYwKTtcbiRlYXNlLWluLW91dC1iYWNrOiAgY3ViaWMtYmV6aWVyKDAuNjgwLCAtMC41NTAsIDAuMjY1LCAxLjU1MCk7XG4iLCJAbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IGlmKGxlbmd0aCgkY29sb3IpID09IDIsIG50aCgkY29sb3IsIDIpLCB0cmFuc3BhcmVudCk7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG5cbiAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSBvciAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcbiAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSB1cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdXAtbGVmdCkge1xuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cC1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAtbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0KSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24tcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1kb3duKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGNoYW5nZSB0aGUgYHdvcmQtd3JhcGAgcHJvcGVydHkuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdyYXAgW2JyZWFrLXdvcmRdXG4vLy8gICBWYWx1ZSBmb3IgdGhlIGB3b3JkLWJyZWFrYCBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLndyYXBwZXIge1xuLy8vICAgICBAaW5jbHVkZSB3b3JkLXdyYXAoYnJlYWstd29yZCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAud3JhcHBlciB7XG4vLy8gICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4vLy8gICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbi8vLyAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuLy8vICAgfVxuXG5AbWl4aW4gd29yZC13cmFwKCR3cmFwOiBicmVhay13b3JkKSB7XG4gIG92ZXJmbG93LXdyYXA6ICR3cmFwO1xuICB3b3JkLXdyYXA6ICR3cmFwO1xuXG4gIEBpZiAkd3JhcCA9PSBicmVhay13b3JkIHtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIH0gQGVsc2Uge1xuICAgIHdvcmQtYnJlYWs6ICR3cmFwO1xuICB9XG59XG4iLCIvLyBUaGUgZm9sbG93aW5nIGZlYXR1cmVzIGhhdmUgYmVlbiBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgTUFKT1IgdmVyc2lvbiByZWxlYXNlXG5cbkBtaXhpbiBpbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQHdhcm4gXCJUaGUgaW5saW5lLWJsb2NrIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQG1peGluIGJ1dHRvbiAoJHN0eWxlOiBzaW1wbGUsICRiYXNlLWNvbG9yOiAjNDI5NGYwLCAkdGV4dC1zaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IHN0cmluZyBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBudW1iZXIge1xuICAgICRwYWRkaW5nOiAkdGV4dC1zaXplO1xuICAgICR0ZXh0LXNpemU6ICRiYXNlLWNvbG9yO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IGNvbG9yIHtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICRzdHlsZTtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSBpbmhlcml0IHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICRiYXNlLWNvbG9yO1xuICAgICR0ZXh0LXNpemU6ICRzdHlsZTtcbiAgICAkYmFzZS1jb2xvcjogIzQyOTRmMDtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSAjNDI5NGYwIHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gIEB3YXJuIFwiVGhlIGJ1dHRvbiBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbi8vIFNlbGVjdG9yIFN0eWxlIEJ1dHRvblxuQG1peGluIGJ1dHRvbnN0eWxlKCR0eXBlLCAkYi1jb2xvciwgJHQtc2l6ZSwgJHBhZCkge1xuICAvLyBHcmF5c2NhbGUgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAaWYgJHR5cGUgPT0gc2hpbnkgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBwaWxsIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBmbGF0IGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIC8vIENvbG9yZWQgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT0gc2hpbnkge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBwaWxsIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBmbGF0IHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cbn1cblxuLy8gU2ltcGxlIEJ1dHRvblxuQG1peGluIHNpbXBsZSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC04JSwgICRsaWdodG5lc3M6ICAxNSUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTExJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgMTUlLCAkbGlnaHRuZXNzOiAtMTglKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgJHRleHQtc2hhZG93O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC03JSwgJGxpZ2h0bmVzczogIDUlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDglLCAkbGlnaHRuZXNzOiAtMTQlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA5JSwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDclLCAkbGlnaHRuZXNzOiAtMTclKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICB9XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZSwgaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gU2hpbnkgQnV0dG9uXG5AbWl4aW4gc2hpbnkoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTE3LCAkZ3JlZW46IC0xMTEsICRibHVlOiAtODEpO1xuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTI2LCAkZ3JlZW46IC0xMjcsICRibHVlOiAtMTIyKTtcbiAgJGZvdXJ0aC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTc5LCAgJGdyZWVuOiAtNzAsICAkYmx1ZTogLTQ2KTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogIDM3LCAgJGdyZWVuOiAgMjksICAkYmx1ZTogIDEyKTtcbiAgJHNlY29uZC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTU2LCAgJGdyZWVuOiAtNTAsICAkYmx1ZTogLTMzKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTE0MCwgJGdyZWVuOiAtMTQxLCAkYmx1ZTogLTExNCk7XG4gICR0aGlyZC1zdG9wOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgICRncmVlbjogLTc1LCAgJGJsdWU6IC00OCk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAkZm91cnRoLXN0b3A6ICAgZ3JheXNjYWxlKCRmb3VydGgtc3RvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc2Vjb25kLXN0b3A6ICAgZ3JheXNjYWxlKCRzZWNvbmQtc3RvcCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICAgICR0aGlyZC1zdG9wOiAgICBncmF5c2NhbGUoJHRoaXJkLXN0b3ApO1xuICB9XG5cbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGJhc2UtY29sb3IgMCUsICRzZWNvbmQtc3RvcCA1MCUsICR0aGlyZC1zdG9wIDUwJSwgJGZvdXJ0aC1zdG9wIDEwMCUpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRmaXJzdC1zdG9wLWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTMsICRncmVlbjogLTE1LCAkYmx1ZTogLTE4KTtcbiAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTY2LCAkZ3JlZW46IC02MiwgJGJsdWU6IC01MSk7XG4gICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC05MywgJGdyZWVuOiAtODUsICRibHVlOiAtNjYpO1xuICAgICRmb3VydGgtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICRncmVlbjogLTgwLCAkYmx1ZTogLTYzKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJGZpcnN0LXN0b3AtaG92ZXIpO1xuICAgICAgJHNlY29uZC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJHNlY29uZC1zdG9wLWhvdmVyKTtcbiAgICAgICR0aGlyZC1zdG9wLWhvdmVyOiAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wLWhvdmVyKTtcbiAgICAgICRmb3VydGgtc3RvcC1ob3ZlcjogZ3JheXNjYWxlKCRmb3VydGgtc3RvcC1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGZpcnN0LXN0b3AtaG92ZXIgIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWNvbmQtc3RvcC1ob3ZlciA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXJkLXN0b3AtaG92ZXIgIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm91cnRoLXN0b3AtaG92ZXIgMTAwJSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMTEsICRncmVlbjogLTExNiwgJGJsdWU6IC0xMjIpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICB9XG5cbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMjBweCAwICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIFBpbGwgQnV0dG9uXG5AbWl4aW4gcGlsbCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXItYm90dG9tOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTExJSwgJGxpZ2h0bmVzczogLTI2JSk7XG4gICRib3JkZXItc2lkZXM6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA0LCAkc2F0dXJhdGlvbjogLTIxJSwgJGxpZ2h0bmVzczogLTIxJSk7XG4gICRib3JkZXItdG9wOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTMwJSwgJGxpZ2h0bmVzczogLTE1JSk7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTElLCAgJGxpZ2h0bmVzczogIDclKTtcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTQlLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDUsICRzYXR1cmF0aW9uOiAtMTklLCAkbGlnaHRuZXNzOiAtMTUlKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAkYm9yZGVyLXNpZGVzOiAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xuICAgICRib3JkZXItdG9wOiAgICBncmF5c2NhbGUoJGJvcmRlci10b3ApO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlci10b3AgJGJvcmRlci1zaWRlcyAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGlnaHRuZXNzOiAtNC41JSk7XG4gICAgJGJvcmRlci1ib3R0b206ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTMuNSUsICRsaWdodG5lc3M6IC0zMiUpO1xuICAgICRib3JkZXItc2lkZXM6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA0LCAkc2F0dXJhdGlvbjogLTIlLCAgICAkbGlnaHRuZXNzOiAtMjclKTtcbiAgICAkYm9yZGVyLXRvcDogICAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xNyUsICAgJGxpZ2h0bmVzczogLTIxJSk7XG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICRzYXR1cmF0aW9uOiAtMSUsICAgICRsaWdodG5lc3M6ICAzJSk7XG4gICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtNCUsICAgICRsaWdodG5lc3M6IC0xNS41JSk7XG4gICAgJHRleHQtc2hhZG93LWhvdmVyOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDUsICRzYXR1cmF0aW9uOiAtNSUsICAgICRsaWdodG5lc3M6IC0yMiUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICAgICRib3JkZXItYm90dG9tOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICAgJGJvcmRlci1zaWRlczogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcbiAgICAgICRib3JkZXItdG9wOiAgICAgICAgICBncmF5c2NhbGUoJGJvcmRlci10b3ApO1xuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcbiAgICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuICAgICAgJHRleHQtc2hhZG93LWhvdmVyOiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3ctaG92ZXIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcblxuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDQsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0xMCUpO1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA2LCAgJHNhdHVyYXRpb246IC0yLjUlLCAkbGlnaHRuZXNzOiAtMzAlKTtcbiAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogMTEsICRzYXR1cmF0aW9uOiAgNiUsICAgJGxpZ2h0bmVzczogLTMxJSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDksICAkc2F0dXJhdGlvbjogIDIlLCAgICRsaWdodG5lc3M6IC0yMS41JSk7XG4gICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDUsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0yMS41JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgZ3JheXNjYWxlKCRhY3RpdmUtY29sb3IpO1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20tYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IDNweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIEZsYXQgQnV0dG9uXG5AbWl4aW4gZmxhdCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKXtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNCUsICRsaWdodG5lc3M6IDUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWFjdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gRmxleGlibGUgZ3JpZFxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ncmlkIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuLy8gRmxleGlibGUgZ3V0dGVyXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ndXR0ZXIgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xuICBAcmV0dXJuICRuICogJGd3LWNvbHVtbiArICgkbiAtIDEpICogJGd3LWd1dHRlcjtcblxuICBAd2FybiBcIlRoZSBncmlkLXdpZHRoIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQGZ1bmN0aW9uIGdvbGRlbi1yYXRpbygkdmFsdWUsICRpbmNyZW1lbnQpIHtcbiAgQHJldHVybiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZSwgJHJhdGlvOiAkZ29sZGVuKTtcblxuICBAd2FybiBcIlRoZSBnb2xkZW4tcmF0aW8gZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gUGxlYXNlIHVzZSB0aGUgbW9kdWxhci1zY2FsZSBmdW5jdGlvbiwgaW5zdGVhZC5cIjtcbn1cblxuQG1peGluIGJveC1zaXppbmcoJGJveCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtc2l6aW5nLCAkYm94LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIEB3YXJuIFwiVGhlIGJveC1zaXppbmcgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gVGhpcyBwcm9wZXJ0eSBjYW4gbm93IGJlIHVzZWQgdW4tcHJlZml4ZWQuXCI7XG59XG4iLCIvLyBCaXR0ZXJzIDEuMi4wXG4vLyBodHRwOi8vYml0dGVycy5ib3VyYm9uLmlvXG4vLyBDb3B5cmlnaHQgMjAxMy0yMDE1IHRob3VnaHRib3QsIGluYy5cbi8vIE1JVCBMaWNlbnNlXG5cbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcblxuLy8gTmVhdCBTZXR0aW5ncyAtLSB1bmNvbW1lbnQgaWYgdXNpbmcgTmVhdCAtLSBtdXN0IGJlIGltcG9ydGVkIGJlZm9yZSBOZWF0XG5AaW1wb3J0IFwiZ3JpZC1zZXR0aW5nc1wiO1xuXG5AaW1wb3J0IFwiYnV0dG9uc1wiO1xuQGltcG9ydCBcImZvcm1zXCI7XG5AaW1wb3J0IFwibGlzdHNcIjtcbkBpbXBvcnQgXCJ0YWJsZXNcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG4iLCIvLyBUeXBvZ3JhcGh5XG4kYmFzZS1mb250LWZhbWlseTogJ0xhdG8nLCAkaGVsdmV0aWNhO1xuJGhlYWRpbmctZm9udC1mYW1pbHk6ICdPc3dhbGQnLCAkYmFzZS1mb250LWZhbWlseTtcblxuLy8gRm9udCBTaXplc1xuJGJhc2UtZm9udC1zaXplOiAxZW07XG5cbi8vIExpbmUgaGVpZ2h0XG4kYmFzZS1saW5lLWhlaWdodDogMS41O1xuJGhlYWRpbmctbGluZS1oZWlnaHQ6IDEuMjtcblxuLy8gT3RoZXIgU2l6ZXNcbiRiYXNlLWJvcmRlci1yYWRpdXM6IDNweDtcbiRiYXNlLXNwYWNpbmc6ICRiYXNlLWxpbmUtaGVpZ2h0ICogMWVtO1xuJHNtYWxsLXNwYWNpbmc6ICRiYXNlLXNwYWNpbmcgLyAyO1xuJGxhcmdlLXNwYWNpbmc6IDVlbTtcbiRiYXNlLXotaW5kZXg6IDA7XG5cbi8vIENvbG9yc1xuJGRhcmstcmVkOiAjOWQxMzA0O1xuJHJlZDogI2M5MjgyZDtcbiRsaWdodC1yZWQ6ICNkMTQ4NGM7XG4kYmxhY2s6ICMyMjI7XG4kZGFyay1ncmF5OiAjNDQ0O1xuJG5hdi1ncmF5OiAjOWNhM2FlO1xuJG1lZGl1bS1ncmF5OiAjZDRkNGQ0O1xuJGRhcmtpc2gtZ3JheTogI2E3YTdhNztcbiRsaWdodC1ncmF5OiAjZjlmOWY5O1xuJGRhc2gtZ3JheTogI2VlZWVlZTtcbiRuYXYtZGFyay1yZWQ6ICNhMTIwMjQ7XG4kbmF2LW1lZC1yZWQ6ICNiNTI0Mjg7XG5cblxuLy8gRm9udCBDb2xvcnNcbiRiYXNlLWZvbnQtY29sb3I6ICRibGFjaztcbiRhY3Rpb24tY29sb3I6ICRyZWQ7XG5cbi8vIEZvbnQgU2l6ZXNcbiRoMS1mb250LXNpemU6IGVtKDQ4KTtcbiRoMi1mb250LXNpemU6IGVtKDM2KTtcbiRoMy1mb250LXNpemU6IGVtKDMwKTtcbiRoNC1mb250LXNpemU6IGVtKDI2KTtcbiRoNS1mb250LXNpemU6IGVtKDIyKTtcbiRoNi1mb250LXNpemU6IGVtKDE4KTtcblxuLy8gQm9yZGVyXG4kYmFzZS1ib3JkZXItY29sb3I6ICRsaWdodC1ncmF5O1xuJGJhc2UtYm9yZGVyOiAxcHggc29saWQgJGJhc2UtYm9yZGVyLWNvbG9yO1xuXG4vLyBCYWNrZ3JvdW5kIENvbG9yc1xuJGJhc2UtYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiRzZWNvbmRhcnktYmFja2dyb3VuZC1jb2xvcjogdGludCgkYmFzZS1ib3JkZXItY29sb3IsIDc1JSk7XG5cbi8vIEZvcm1zXG4kZm9ybS1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAzcHggcmdiYSgjMDAwLCAwLjA2KTtcbiRmb3JtLWJveC1zaGFkb3ctZm9jdXM6ICRmb3JtLWJveC1zaGFkb3csIDAgMCA1cHggYWRqdXN0LWNvbG9yKCRhY3Rpb24tY29sb3IsICRsaWdodG5lc3M6IC01JSwgJGFscGhhOiAtMC4zKTtcblxuLy8gQW5pbWF0aW9uc1xuJGJhc2UtZHVyYXRpb246IDE1MG1zO1xuJGJhc2UtdGltaW5nOiBlYXNlO1xuXG5AbWl4aW4gYmctaW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8vIE9tZWdhIHJlc2V0IGlzIHVzZWZ1bCBmb3IgdGltZXMgd2hlbiB5b3UgZ28gZnJvbSBvbmUgXCJzcGFuIGNvbHVtblwiIHNldHRpbmcgdG8gYW5vdGhlci4gSWYgeW91IGdvIGZyb20gMyB0byAyIGNvbHVtbnMgeW91J2xsIGxpa2VseSBuZWVkIHRvIHJlc2V0IDNuLiBBbmQgdGhlbiB3aGVuIHlvdSBnbyBmcm9tIDIgdG8gMyB5b3UnZCBsaWtlbHkgbmVlZCB0byByZXNldCAybi5cbkBtaXhpbiBvbWVnYS1yZXNldCggJG50aCApIHtcbiAmOm50aC1jaGlsZCgjeyRudGh9KSB7IG1hcmdpbi1yaWdodDogZmxleC1ndXR0ZXIoKTsgfVxuICY6bnRoLWNoaWxkKCN7JG50aH0rMSkgeyBjbGVhcjogbm9uZSB9XG59XG4iLCJAaW1wb3J0IFwibmVhdC1oZWxwZXJzXCI7XG5cbi8vIE5lYXQgT3ZlcnJpZGVzXG4vLyAkY29sdW1uOiA5MHB4O1xuLy8gJGd1dHRlcjogMzBweDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJG1heC13aWR0aDogMTIwMHB4O1xuXG4vLyBOZWF0IEJyZWFrcG9pbnRzXG4kbWVkaXVtLXNjcmVlbjogNjAwcHg7XG4kbGFyZ2Utc2NyZWVuOiA4MDBweDtcblxuJG1lZGl1bS1zY3JlZW4tdXA6IG5ldy1icmVha3BvaW50KG1pbi13aWR0aCAkbWVkaXVtLXNjcmVlbiAxMik7XG4kbGFyZ2Utc2NyZWVuLXVwOiBuZXctYnJlYWtwb2ludChtaW4td2lkdGggJGxhcmdlLXNjcmVlbiAxMik7XG5cbiR3b28tbGFyZ2UtdXA6IG5ldy1icmVha3BvaW50KG1pbi13aWR0aCA3NjlweCAxMik7XG4iLCIvLyBGdW5jdGlvbnNcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHJpdmF0ZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9uZXctYnJlYWtwb2ludFwiO1xuXG4vLyBTZXR0aW5nc1xuQGltcG9ydCBcInNldHRpbmdzL2dyaWRcIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy92aXN1YWwtZ3JpZFwiO1xuQGltcG9ydCBcInNldHRpbmdzL2Rpc2FibGUtd2FybmluZ3NcIjtcbiIsIi8vIE5vdCBmdW5jdGlvbiBmb3IgTGlic2FzcyBjb21wYXRpYmlsaXR5XG4vLyBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9saWJzYXNzL2lzc3Vlcy8zNjhcbkBmdW5jdGlvbiBpcy1ub3QoJHZhbHVlKSB7XG4gIEByZXR1cm4gaWYoJHZhbHVlLCBmYWxzZSwgdHJ1ZSk7XG59XG5cbi8vIENoZWNrcyBpZiBhIG51bWJlciBpcyBldmVuXG5AZnVuY3Rpb24gaXMtZXZlbigkaW50KSB7XG4gIEByZXR1cm4gJGludCAlIDIgPT0gMDtcbn1cblxuLy8gQ2hlY2tzIGlmIGFuIGVsZW1lbnQgYmVsb25ncyB0byBhIGxpc3Qgb3Igbm90XG5AZnVuY3Rpb24gYmVsb25ncy10bygkdGVzdGVkLWl0ZW0sICRsaXN0KSB7XG4gIEByZXR1cm4gaXMtbm90KG5vdC1iZWxvbmdzLXRvKCR0ZXN0ZWQtaXRlbSwgJGxpc3QpKTtcbn1cblxuQGZ1bmN0aW9uIG5vdC1iZWxvbmdzLXRvKCR0ZXN0ZWQtaXRlbSwgJGxpc3QpIHtcbiAgQHJldHVybiBpcy1ub3QoaW5kZXgoJGxpc3QsICR0ZXN0ZWQtaXRlbSkpO1xufVxuXG4vLyBDb250YWlucyBkaXNwbGF5IHZhbHVlXG5AZnVuY3Rpb24gY29udGFpbnMtZGlzcGxheS12YWx1ZSgkcXVlcnkpIHtcbiAgQHJldHVybiBiZWxvbmdzLXRvKHRhYmxlLCAkcXVlcnkpXG4gICAgICAgb3IgYmVsb25ncy10byhibG9jaywgJHF1ZXJ5KVxuICAgICAgIG9yIGJlbG9uZ3MtdG8oaW5saW5lLWJsb2NrLCAkcXVlcnkpXG4gICAgICAgb3IgYmVsb25ncy10byhpbmxpbmUsICRxdWVyeSk7XG59XG5cbi8vIFBhcnNlcyB0aGUgZmlyc3QgYXJndW1lbnQgb2Ygc3Bhbi1jb2x1bW5zKClcbkBmdW5jdGlvbiBjb250YWluZXItc3Bhbigkc3BhbjogJHNwYW4pIHtcbiAgQGlmIGxlbmd0aCgkc3BhbikgPT0gMyB7XG4gICAgJGNvbnRhaW5lci1jb2x1bW5zOiBudGgoJHNwYW4sIDMpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc3BhbikgPT0gMiB7XG4gICAgJGNvbnRhaW5lci1jb2x1bW5zOiBudGgoJHNwYW4sIDIpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9XG5cbiAgQHJldHVybiAkZ3JpZC1jb2x1bW5zO1xufVxuXG5AZnVuY3Rpb24gY29udGFpbmVyLXNoaWZ0KCRzaGlmdDogJHNoaWZ0KSB7XG4gICRwYXJlbnQtY29sdW1uczogJGdyaWQtY29sdW1ucyAhZGVmYXVsdCAhZ2xvYmFsO1xuXG4gIEBpZiBsZW5ndGgoJHNoaWZ0KSA9PSAzIHtcbiAgICAkY29udGFpbmVyLWNvbHVtbnM6IG50aCgkc2hpZnQsIDMpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hpZnQpID09IDIge1xuICAgICRjb250YWluZXItY29sdW1uczogbnRoKCRzaGlmdCwgMik7XG4gICAgQHJldHVybiAkY29udGFpbmVyLWNvbHVtbnM7XG4gIH1cblxuICBAcmV0dXJuICRwYXJlbnQtY29sdW1ucztcbn1cblxuLy8gR2VuZXJhdGVzIGEgc3RyaXBlZCBiYWNrZ3JvdW5kXG5AZnVuY3Rpb24gZ3JhZGllbnQtc3RvcHMoJGdyaWQtY29sdW1ucywgJGNvbG9yOiAkdmlzdWFsLWdyaWQtY29sb3IpIHtcbiAgJHRyYW5zcGFyZW50OiB0cmFuc3BhcmVudDtcblxuICAkY29sdW1uLXdpZHRoOiBmbGV4LWdyaWQoMSwgJGdyaWQtY29sdW1ucyk7XG4gICRndXR0ZXItd2lkdGg6IGZsZXgtZ3V0dGVyKCRncmlkLWNvbHVtbnMpO1xuICAkY29sdW1uLW9mZnNldDogJGNvbHVtbi13aWR0aDtcblxuICAkdmFsdWVzOiAoJHRyYW5zcGFyZW50IDAsICRjb2xvciAwKTtcblxuICBAZm9yICRpIGZyb20gMSB0byAkZ3JpZC1jb2x1bW5zKjIge1xuICAgIEBpZiBpcy1ldmVuKCRpKSB7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJHRyYW5zcGFyZW50ICRjb2x1bW4tb2Zmc2V0LCBjb21tYSk7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJGNvbG9yICRjb2x1bW4tb2Zmc2V0LCBjb21tYSk7XG4gICAgICAkY29sdW1uLW9mZnNldDogJGNvbHVtbi1vZmZzZXQgKyAkY29sdW1uLXdpZHRoO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICRjb2xvciAkY29sdW1uLW9mZnNldCwgY29tbWEpO1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICR0cmFuc3BhcmVudCAkY29sdW1uLW9mZnNldCwgY29tbWEpO1xuICAgICAgJGNvbHVtbi1vZmZzZXQ6ICRjb2x1bW4tb2Zmc2V0ICsgJGd1dHRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZXM7XG59XG5cbi8vIExheW91dCBkaXJlY3Rpb25cbkBmdW5jdGlvbiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQsICRkZWZhdWx0KSB7XG4gICRkaXJlY3Rpb246IG51bGw7XG5cbiAgQGlmIHRvLXVwcGVyLWNhc2UoJGxheW91dCkgPT0gXCJMVFJcIiBvciB0by11cHBlci1jYXNlKCRsYXlvdXQpID09IFwiUlRMXCIge1xuICAgICRkaXJlY3Rpb246IGRpcmVjdGlvbi1mcm9tLWxheW91dCgkbGF5b3V0KTtcbiAgfSBAZWxzZSB7XG4gICAgJGRpcmVjdGlvbjogZGlyZWN0aW9uLWZyb20tbGF5b3V0KCRkZWZhdWx0KTtcbiAgfVxuXG4gIEByZXR1cm4gJGRpcmVjdGlvbjtcbn1cblxuQGZ1bmN0aW9uIGRpcmVjdGlvbi1mcm9tLWxheW91dCgkbGF5b3V0KSB7XG4gICRkaXJlY3Rpb246IG51bGw7XG5cbiAgQGlmIHRvLXVwcGVyLWNhc2UoJGxheW91dCkgPT0gXCJMVFJcIiB7XG4gICAgJGRpcmVjdGlvbjogcmlnaHQ7XG4gIH0gQGVsc2Uge1xuICAgICRkaXJlY3Rpb246IGxlZnQ7XG4gIH1cblxuICBAcmV0dXJuICRkaXJlY3Rpb247XG59XG5cbkBmdW5jdGlvbiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pIHtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogbGVmdDtcblxuICBAaWYgJGRpcmVjdGlvbiA9PSBcImxlZnRcIiB7XG4gICAgJG9wcG9zaXRlLWRpcmVjdGlvbjogcmlnaHQ7XG4gIH1cblxuICBAcmV0dXJuICRvcHBvc2l0ZS1kaXJlY3Rpb247XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBSZXR1cm5zIGEgbWVkaWEgY29udGV4dCAobWVkaWEgcXVlcnkgLyBncmlkIGNvbnRleHQpIHRoYXQgY2FuIGJlIHN0b3JlZCBpbiBhIHZhcmlhYmxlIGFuZCBwYXNzZWQgdG8gYG1lZGlhKClgIGFzIGEgc2luZ2xlLWtleXdvcmQgYXJndW1lbnQuIE1lZGlhIGNvbnRleHRzIGRlZmluZWQgdXNpbmcgYG5ldy1icmVha3BvaW50YCBhcmUgdXNlZCBieSB0aGUgdmlzdWFsIGdyaWQsIGFzIGxvbmcgYXMgdGhleSBhcmUgZGVmaW5lZCBiZWZvcmUgaW1wb3J0aW5nIE5lYXQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeVxuLy8vICAgQSBsaXN0IG9mIG1lZGlhIHF1ZXJ5IGZlYXR1cmVzIGFuZCB2YWx1ZXMuIEVhY2ggYCRmZWF0dXJlYCBzaG91bGQgaGF2ZSBhIGNvcnJlc3BvbmRpbmcgYCR2YWx1ZWAuXG4vLy9cbi8vLyAgIElmIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgYCR2YWx1ZWAgaW4gYCRxdWVyeWAsIGAkZGVmYXVsdC1mZWF0dXJlYCBpcyBnb2luZyB0byBiZSB1c2VkLlxuLy8vXG4vLy8gICBUaGUgbnVtYmVyIG9mIHRvdGFsIGNvbHVtbnMgaW4gdGhlIGdyaWQgY2FuIGJlIHNldCBieSBwYXNzaW5nIGAkY29sdW1uc2AgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdCAob3ZlcnJpZGVzIGAkdG90YWwtY29sdW1uc2ApLiBGb3IgYSBsaXN0IG9mIHZhbGlkIHZhbHVlcyBmb3IgYCRmZWF0dXJlYCwgY2xpY2sgW2hlcmVdKGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtbWVkaWFxdWVyaWVzLyNtZWRpYTEpLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJHRvdGFsLWNvbHVtbnMgWyRncmlkLWNvbHVtbnNdXG4vLy8gICAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBpbiB0aGUgbmV3IGdyaWQgY29udGV4dC4gQ2FuIGJlIHNldCBhcyBhIHNob3J0aGFuZCBpbiB0aGUgZmlyc3QgcGFyYW1ldGVyLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAkbW9iaWxlOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggNDgwcHggNCk7XG4vLy9cbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuLy8vICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbi8vLyAgICAgLmVsZW1lbnQge1xuLy8vICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICAgIG1hcmdpbi1yaWdodDogNy40MjI5NyU7XG4vLy8gICAgICAgd2lkdGg6IDEwMCU7XG4vLy8gICAgIH1cbi8vLyAgICAgLmVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgICB9XG4vLy8gICB9XG5cbkBmdW5jdGlvbiBuZXctYnJlYWtwb2ludCgkcXVlcnk6ICRmZWF0dXJlICR2YWx1ZSAkY29sdW1ucywgJHRvdGFsLWNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgICRxdWVyeTogJGRlZmF1bHQtZmVhdHVyZSBudGgoJHF1ZXJ5LCAxKSAkdG90YWwtY29sdW1ucztcbiAgfSBAZWxzZSBpZiBpcy1ldmVuKGxlbmd0aCgkcXVlcnkpKSB7XG4gICAgJHF1ZXJ5OiBhcHBlbmQoJHF1ZXJ5LCAkdG90YWwtY29sdW1ucyk7XG4gIH1cblxuICBAaWYgaXMtbm90KGJlbG9uZ3MtdG8oJHF1ZXJ5LCAkdmlzdWFsLWdyaWQtYnJlYWtwb2ludHMpKSB7XG4gICAgJHZpc3VhbC1ncmlkLWJyZWFrcG9pbnRzOiBhcHBlbmQoJHZpc3VhbC1ncmlkLWJyZWFrcG9pbnRzLCAkcXVlcnksIGNvbW1hKSAhZ2xvYmFsO1xuICB9XG5cbiAgQHJldHVybiAkcXVlcnk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTZXRzIHRoZSByZWxhdGl2ZSB3aWR0aCBvZiBhIHNpbmdsZSBncmlkIGNvbHVtbi4gVGhlIHVuaXQgdXNlZCBzaG91bGQgYmUgdGhlIHNhbWUgb25lIHVzZWQgdG8gZGVmaW5lIGAkZ3V0dGVyYC4gVG8gbGVhcm4gbW9yZSBhYm91dCBtb2R1bGFyLXNjYWxlKCkgc2VlIFtCb3VyYm9uIGRvY3NdKGh0dHA6Ly9ib3VyYm9uLmlvL2RvY3MvI21vZHVsYXItc2NhbGUpLiBTZXQgd2l0aCBhIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyIChVbml0KVxuXG4kY29sdW1uOiBtb2R1bGFyLXNjYWxlKDMsIDFlbSwgJGdvbGRlbikgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSByZWxhdGl2ZSB3aWR0aCBvZiBhIHNpbmdsZSBncmlkIGd1dHRlci4gVGhlIHVuaXQgdXNlZCBzaG91bGQgYmUgdGhlIHNhbWUgb25lIHVzZWQgdG8gZGVmaW5lIGAkY29sdW1uYC4gVG8gbGVhcm4gbW9yZSBhYm91dCBtb2R1bGFyLXNjYWxlKCkgc2VlIFtCb3VyYm9uIGRvY3NdKGh0dHA6Ly9ib3VyYm9uLmlvL2RvY3MvI21vZHVsYXItc2NhbGUpLiBTZXQgd2l0aCB0aGUgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXIgKFVuaXQpXG5cbiRndXR0ZXI6IG1vZHVsYXItc2NhbGUoMSwgMWVtLCAkZ29sZGVuKSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLiBJdHMgdmFsdWUgY2FuIGJlIG92ZXJyaWRkZW4gaW5zaWRlIGEgbWVkaWEgcXVlcnkgdXNpbmcgdGhlIGBtZWRpYSgpYCBtaXhpbi4gU2V0IHdpdGggdGhlIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyIChVbml0bGVzcylcblxuJGdyaWQtY29sdW1uczogMTIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSBtYXgtd2lkdGggcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQgdGhhdCBpbmNsdWRlcyBgb3V0ZXItY29udGFpbmVyKClgLiBUbyBsZWFybiBtb3JlIGFib3V0IGBlbSgpYCBzZWUgW0JvdXJib24gZG9jc10oaHR0cDovL2JvdXJib24uaW8vZG9jcy8jcHgtdG8tZW0pLiBTZXQgd2l0aCB0aGUgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXIgKFVuaXQpXG4vLy9cbiRtYXgtd2lkdGg6IGVtKDEwODgpICFkZWZhdWx0O1xuXG4vLy8gV2hlbiBzZXQgdG8gdHJ1ZSwgaXQgc2V0cyB0aGUgYm94LXNpemluZyBwcm9wZXJ0eSBvZiBhbGwgZWxlbWVudHMgdG8gYGJvcmRlci1ib3hgLiBTZXQgd2l0aCBhIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgQm9vbFxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgaHRtbCB7XG4vLy8gICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbi8vL1xuLy8vICAgKiwgKjo6YWZ0ZXIsICo6OmJlZm9yZSB7XG4vLy8gICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4vLy8gICB9XG5cbiRib3JkZXItYm94LXNpemluZzogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIGRlZmF1bHQgW21lZGlhIGZlYXR1cmVdKGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtbWVkaWFxdWVyaWVzLyNtZWRpYSkgdGhhdCBgbWVkaWEoKWAgYW5kIGBuZXctYnJlYWtwb2ludCgpYCByZXZlcnQgdG8gd2hlbiBvbmx5IGEgYnJlYWtwb2ludCB2YWx1ZSBpcyBwYXNzZWQuIFNldCB3aXRoIGEgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcblxuJGRlZmF1bHQtZmVhdHVyZTogbWluLXdpZHRoOyAvLyBEZWZhdWx0IEBtZWRpYSBmZWF0dXJlIGZvciB0aGUgYnJlYWtwb2ludCgpIG1peGluXG5cbi8vL1NldHMgdGhlIGRlZmF1bHQgbGF5b3V0IGRpcmVjdGlvbiBvZiB0aGUgZ3JpZC4gQ2FuIGJlIGBMVFJgIG9yIGBSVExgLiBTZXQgd2l0aCBhIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy9AdHlwZSBTdHJpbmdcblxuJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbjogTFRSICFkZWZhdWx0O1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gRGlzcGxheXMgdGhlIHZpc3VhbCBncmlkIHdoZW4gc2V0IHRvIHRydWUuIFRoZSBvdmVybGFpZCBncmlkIG1heSBiZSBmZXcgcGl4ZWxzIG9mZiBkZXBlbmRpbmcgb24gdGhlIGJyb3dzZXIncyByZW5kZXJpbmcgZW5naW5lIGFuZCBwaXhlbCByb3VuZGluZyBhbGdvcml0aG0uIFNldCB3aXRoIHRoZSBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIEJvb2xcblxuJHZpc3VhbC1ncmlkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHZpc3VhbCBncmlkIGNvbG9yLiBTZXQgd2l0aCBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIENvbG9yXG5cbiR2aXN1YWwtZ3JpZC1jb2xvcjogI2VlZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIGB6LWluZGV4YCBwcm9wZXJ0eSBvZiB0aGUgdmlzdWFsIGdyaWQuIENhbiBiZSBgYmFja2AgKGJlaGluZCBjb250ZW50KSBvciBgZnJvbnRgIChpbiBmcm9udCBvZiBjb250ZW50KS4gU2V0IHdpdGggYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcblxuJHZpc3VhbC1ncmlkLWluZGV4OiBiYWNrICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgb3BhY2l0eSBwcm9wZXJ0eSBvZiB0aGUgdmlzdWFsIGdyaWQuIFNldCB3aXRoIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyICh1bml0bGVzcylcblxuJHZpc3VhbC1ncmlkLW9wYWNpdHk6IDAuNCAhZGVmYXVsdDtcblxuJHZpc3VhbC1ncmlkLWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIERpc2FibGUgYWxsIGRlcHJlY2F0aW9uIHdhcm5pbmdzLiBEZWZhdWx0cyB0byBgZmFsc2VgLiBTZXQgd2l0aCBhIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgQm9vbFxuXG4kZGlzYWJsZS13YXJuaW5nczogZmFsc2UgIWRlZmF1bHQ7XG5cbkBtaXhpbiAtbmVhdC13YXJuKCRtZXNzYWdlKSB7XG4gIEBpZiAkZGlzYWJsZS13YXJuaW5ncyA9PSBmYWxzZSB7XG4gICAgQHdhcm4gXCIjeyRtZXNzYWdlfVwiO1xuICB9XG59XG4iLCJcbi5idXR0b24gYSxcbi5zdGF0aWMtYnV0dG9uLFxuLnJlYWQtbW9yZSAuYnV0dG9uIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3Rpb24tY29sb3I7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwIDVweCAxNXB4IDA7XG4gICAgcGFkZGluZzogJHNtYWxsLXNwYWNpbmcrMC4yNSAkYmFzZS1zcGFjaW5nKjI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMzAwbXMgJGJhc2UtdGltaW5nO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGFjdGlvbi1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRhY3Rpb24tY29sb3I7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgJGJhc2UtdGltaW5nO1xuICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgbGVmdDogLTVweDtcbiAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgYm90dG9tOiAtNXB4O1xuXG4gICAgICAgIC5tZWpzLWlubmVyICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLXJlZDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZGFyay1yZWQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGRhcmstcmVkO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3Rpb24tY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRhcmsge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5saWdodCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgJGJhc2UtdGltaW5nO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogLTVweDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBwYWRkaW5nOiAkc21hbGwtc3BhY2luZyAkc21hbGwtc3BhY2luZyoyO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLmJsYWNrLWJ1dHRvbiBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgcGFkZGluZzogJHNtYWxsLXNwYWNpbmcgJGJhc2Utc3BhY2luZztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDMwMG1zICRiYXNlLXRpbWluZztcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRibGFjaywgMTAlKTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbn1cblxuLndoaXRlLWJ1dHRvbiBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBjb2xvcjogJHJlZDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICBwYWRkaW5nOiAkc21hbGwtc3BhY2luZy8yO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyAkYmFzZS10aW1pbmc7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKHdoaXRlLCAxMCUpO1xuICAgICAgICBjb2xvcjogJHJlZDtcbiAgICB9XG59XG5cbi5idXR0b24ubm8tYm9yZGVyLFxuYnV0dG9uLm5vLWJvcmRlciB7XG4gICAgOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5mdWxsLXdpZHRoIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuIiwiZmllbGRzZXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxubGVnZW5kIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRzbWFsbC1zcGFjaW5nIC8gMjtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZyAvIDI7XG5cbiAgICAucGFnZS10ZW1wbGF0ZS1sYW5kaW5nIC5oYXMtZm9ybS1iYWNrZ3JvdW5kIC5fcm93IHNwYW4gJiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG5cbmlucHV0LFxuc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG59XG5cbiN7JGFsbC10ZXh0LWlucHV0c30sXG5zZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlcjogJGJhc2UtYm9yZGVyO1xuICAgIGJvcmRlci1jb2xvcjogc2hhZGUoJGJhc2UtYm9yZGVyLWNvbG9yLCAyMCUpO1xuICAgIGJvcmRlci1yYWRpdXM6ICRiYXNlLWJvcmRlci1yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogJGZvcm0tYm94LXNoYWRvdztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZztcbiAgICBwYWRkaW5nOiAkYmFzZS1zcGFjaW5nIC8gMztcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGJhc2UtZHVyYXRpb24gJGJhc2UtdGltaW5nO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogc2hhZGUoJGJhc2UtYm9yZGVyLWNvbG9yLCA0MCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRhY3Rpb24tY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6ICRmb3JtLWJveC1zaGFkb3ctZm9jdXM7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCRiYXNlLWJhY2tncm91bmQtY29sb3IsIDUlKTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogJGJhc2UtYm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG50ZXh0YXJlYSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc21hbGwtc3BhY2luZyAvIDI7XG59XG5cblt0eXBlPVwiZmlsZVwiXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNtYWxsLXNwYWNpbmc7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbnNlbGVjdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG59XG4iLCJ1bCxcbm9sIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbmRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZztcblxuICAgIGR0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luLXRvcDogJHNtYWxsLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgZGQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4uY2hlY2stbGlzdCB7XG5cbiAgICB1bCBsaSxcbiAgICBvbCBsaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyLjVlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzbWFsbC1zcGFjaW5nO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnYXNzZXRzL2ljb25zL2NoZWNrLW1hcmsucG5nJyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgICAgIGxlZnQ6IC0zMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG5cblxuXG4gICAgfVxufVxuIiwidGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgbWFyZ2luOiAkc21hbGwtc3BhY2luZyAwO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbnRoIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgc2hhZGUoJGJhc2UtYm9yZGVyLWNvbG9yLCAyNSUpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogJHNtYWxsLXNwYWNpbmcgMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG50ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJhc2UtYm9yZGVyO1xuICAgIHBhZGRpbmc6ICRzbWFsbC1zcGFjaW5nIDA7XG59XG5cbnRyLFxudGQsXG50aCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbiIsImJvZHkge1xuICAgIGNvbG9yOiAkYmFzZS1mb250LWNvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtbGluZS1oZWlnaHQ7XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZS1zY3JlZW4pIHtcbiAgICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gICAgfVxufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctbGluZS1oZWlnaHQ7XG4gICAgbWFyZ2luOiAwIDAgJHNtYWxsLXNwYWNpbmc7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuaDEge1xuICAgIGZvbnQtc2l6ZTogJGgxLWZvbnQtc2l6ZTtcbn1cblxuaDIge1xuICAgIGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTtcbn1cblxuaDMge1xuICAgIGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZTtcbn1cblxuaDQge1xuICAgIGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZTtcbn1cblxuaDUge1xuICAgIGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTtcbn1cblxuaDYge1xuICAgIGZvbnQtc2l6ZTogJGg2LWZvbnQtc2l6ZTtcbn1cblxuXG4ubWVnYS1oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogNDJweDtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgIH1cbn1cblxucCB7XG4gICAgbWFyZ2luOiAwIDAgMS41ZW07XG59XG5cbmEge1xuICAgIGNvbG9yOiAkYWN0aW9uLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkYmFzZS1kdXJhdGlvbiAkYmFzZS10aW1pbmc7XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGRhcmstcmVkO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cblxuYS5zdGF0aWMtYnV0dG9uIHtcbiAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxufVxuXG5ociB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJhc2UtYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGlvbi1jb2xvcjtcbiAgICBtYXJnaW46ICRiYXNlLXNwYWNpbmcgMDtcbn1cblxuaW1nLFxucGljdHVyZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmJvZHktZm9udCB7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xufVxuXG4uY2FwaXRhbGl6ZWQge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuXG4ubGlnaHQge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi51cHBlcmNhc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4iLCIvLyBOZWF0IDEuNy4yXG4vLyBodHRwOi8vbmVhdC5ib3VyYm9uLmlvXG4vLyBDb3B5cmlnaHQgMjAxMi0yMDE1IHRob3VnaHRib3QsIGluYy5cbi8vIE1JVCBMaWNlbnNlXG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgXCJuZWF0LWhlbHBlcnNcIjtcblxuLy8gR3JpZFxuQGltcG9ydCBcImdyaWQvcHJpdmF0ZVwiO1xuQGltcG9ydCBcImdyaWQvYm94LXNpemluZ1wiO1xuQGltcG9ydCBcImdyaWQvb21lZ2FcIjtcbkBpbXBvcnQgXCJncmlkL291dGVyLWNvbnRhaW5lclwiO1xuQGltcG9ydCBcImdyaWQvc3Bhbi1jb2x1bW5zXCI7XG5AaW1wb3J0IFwiZ3JpZC9yb3dcIjtcbkBpbXBvcnQgXCJncmlkL3NoaWZ0XCI7XG5AaW1wb3J0IFwiZ3JpZC9wYWRcIjtcbkBpbXBvcnQgXCJncmlkL2ZpbGwtcGFyZW50XCI7XG5AaW1wb3J0IFwiZ3JpZC9tZWRpYVwiO1xuQGltcG9ydCBcImdyaWQvdG8tZGVwcmVjYXRlXCI7XG5AaW1wb3J0IFwiZ3JpZC92aXN1YWwtZ3JpZFwiO1xuQGltcG9ydCBcImdyaWQvZGlzcGxheS1jb250ZXh0XCI7XG5AaW1wb3J0IFwiZ3JpZC9kaXJlY3Rpb24tY29udGV4dFwiO1xuIiwiJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFkZWZhdWx0O1xuJGZnLWNvbHVtbjogJGNvbHVtbjtcbiRmZy1ndXR0ZXI6ICRndXR0ZXI7XG4kZmctbWF4LWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4kY29udGFpbmVyLWRpc3BsYXktdGFibGU6IGZhbHNlICFkZWZhdWx0O1xuJGxheW91dC1kaXJlY3Rpb246IExUUiAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XG59XG5cbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcbn1cblxuQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJG4pIHtcbiAgQHJldHVybiAkbiAqICRndy1jb2x1bW4gKyAoJG4gLSAxKSAqICRndy1ndXR0ZXI7XG59XG5cbkBmdW5jdGlvbiBnZXQtcGFyZW50LWNvbHVtbnMoJGNvbHVtbnMpIHtcbiAgQGlmICRjb2x1bW5zICE9ICRncmlkLWNvbHVtbnMge1xuICAgICRwYXJlbnQtY29sdW1uczogJGNvbHVtbnMgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gIH1cblxuICBAcmV0dXJuICRwYXJlbnQtY29sdW1ucztcbn1cblxuQGZ1bmN0aW9uIGlzLWRpc3BsYXktdGFibGUoJGNvbnRhaW5lci1pcy1kaXNwbGF5LXRhYmxlLCAkZGlzcGxheSkge1xuICBAcmV0dXJuICRjb250YWluZXItaXMtZGlzcGxheS10YWJsZSA9PSB0cnVlIG9yICRkaXNwbGF5ID09IHRhYmxlO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaWYgJGJvcmRlci1ib3gtc2l6aW5nID09IHRydWUge1xuICBodG1sIHsgLy8gaHR0cDovL2JpdC5seS8xcWsydFZSXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gICoge1xuICAgICYsXG4gICAgJjo6YWZ0ZXIsXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBSZW1vdmVzIHRoZSBlbGVtZW50J3MgZ3V0dGVyIG1hcmdpbiwgcmVnYXJkbGVzcyBvZiBpdHMgcG9zaXRpb24gaW4gdGhlIGdyaWQgaGllcmFyY2h5IG9yIGRpc3BsYXkgcHJvcGVydHkuIEl0IGNhbiB0YXJnZXQgYSBzcGVjaWZpYyBlbGVtZW50LCBvciBldmVyeSBgbnRoLWNoaWxkYCBvY2N1cnJlbmNlLiBXb3JrcyBvbmx5IHdpdGggYGJsb2NrYCBsYXlvdXRzLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcXVlcnkgW2Jsb2NrXVxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHMuIFN1cHBvcnRlZCBhcmd1bWVudHMgYXJlIGBudGgtY2hpbGRgIHNlbGVjdG9ycyAodGFyZ2V0cyBhIHNwZWNpZmljIHBzZXVkbyBlbGVtZW50KSBhbmQgYGF1dG9gICh0YXJnZXRzIGBsYXN0LWNoaWxkYCkuXG4vLy9cbi8vLyAgIFdoZW4gcGFzc2VkIGFuIGBudGgtY2hpbGRgIGFyZ3VtZW50IG9mIHR5cGUgYCpuYCB3aXRoIGBibG9ja2AgZGlzcGxheSwgdGhlIG9tZWdhIG1peGluIGF1dG9tYXRpY2FsbHkgYWRkcyBhIGNsZWFyIHRvIHRoZSBgKm4rMWAgdGggZWxlbWVudC4gTm90ZSB0aGF0IGNvbXBvc2l0ZSBhcmd1bWVudHMgc3VjaCBhcyBgMm4rMWAgZG8gbm90IHN1cHBvcnQgdGhpcyBmZWF0dXJlLlxuLy8vXG4vLy8gICAqKkRlcHJlY2F0aW9uIHdhcm5pbmcqKjogVGhlIG9tZWdhIG1peGluIHdpbGwgbm8gbG9uZ2VyIHRha2UgYSBgJGRpcmVjdGlvbmAgYXJndW1lbnQuIFRvIGNoYW5nZSB0aGUgbGF5b3V0IGRpcmVjdGlvbiwgdXNlIGByb3coJGRpcmVjdGlvbilgIG9yIHNldCBgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbmAgaW5zdGVhZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBvbWVnYTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLm50aC1lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgb21lZ2EoNG4pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5udGgtZWxlbWVudDpudGgtY2hpbGQoNG4pIHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAubnRoLWVsZW1lbnQ6bnRoLWNoaWxkKDRuKzEpIHtcbi8vLyAgICAgY2xlYXI6IGxlZnQ7XG4vLy8gICB9XG5cbkBtaXhpbiBvbWVnYSgkcXVlcnk6IGJsb2NrLCAkZGlyZWN0aW9uOiBkZWZhdWx0KSB7XG4gICR0YWJsZTogYmVsb25ncy10byh0YWJsZSwgJHF1ZXJ5KTtcbiAgJGF1dG86IGJlbG9uZ3MtdG8oYXV0bywgJHF1ZXJ5KTtcblxuICBAaWYgJGRpcmVjdGlvbiAhPSBkZWZhdWx0IHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlIG9tZWdhIG1peGluIHdpbGwgbm8gbG9uZ2VyIHRha2UgYSAkZGlyZWN0aW9uIGFyZ3VtZW50LiBUbyBjaGFuZ2UgdGhlIGxheW91dCBkaXJlY3Rpb24sIHVzZSB0aGUgZGlyZWN0aW9uKCl7Li4ufSBtaXhpbi5cIik7XG4gIH0gQGVsc2Uge1xuICAgICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICB9XG5cbiAgQGlmICR0YWJsZSB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSBvbWVnYSBtaXhpbiBubyBsb25nZXIgcmVtb3ZlcyBwYWRkaW5nIGluIHRhYmxlIGxheW91dHMuXCIpO1xuICB9XG5cbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBpZiAkYXV0byB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSBpZiBjb250YWlucy1kaXNwbGF5LXZhbHVlKCRxdWVyeSkgYW5kICR0YWJsZSA9PSBmYWxzZSB7XG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBudGgtY2hpbGQoJHF1ZXJ5LCAkZGlyZWN0aW9uKTtcbiAgICB9XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMiB7XG4gICAgQGlmICRhdXRvIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgbnRoLWNoaWxkKG50aCgkcXVlcnksIDEpLCAkZGlyZWN0aW9uKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUb28gbWFueSBhcmd1bWVudHMgcGFzc2VkIHRvIHRoZSBvbWVnYSgpIG1peGluLlwiKTtcbiAgfVxufVxuXG5AbWl4aW4gbnRoLWNoaWxkKCRxdWVyeSwgJGRpcmVjdGlvbikge1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xuXG4gICY6bnRoLWNoaWxkKCN7JHF1ZXJ5fSkge1xuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHF1ZXJ5KSA9PSBudW1iZXIgYW5kIHVuaXQoJHF1ZXJ5KSA9PSBcIm5cIiB7XG4gICAgJjpudGgtY2hpbGQoI3skcXVlcnl9KzEpIHtcbiAgICAgIGNsZWFyOiAkb3Bwb3NpdGUtZGlyZWN0aW9uO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCBhIG91dGVyIGNvbnRhaW5lciBieSBjZW50cmluZyBpdCBpbiB0aGUgdmlld3BvcnQsIGNsZWFyaW5nIGl0cyBmbG9hdHMsIGFuZCBzZXR0aW5nIGl0cyBgbWF4LXdpZHRoYC5cbi8vLyBBbHRob3VnaCBvcHRpb25hbCwgdXNpbmcgYG91dGVyLWNvbnRhaW5lcmAgaXMgcmVjb21tZW5kZWQuIFRoZSBtaXhpbiBjYW4gYmUgY2FsbGVkIG9uIG1vcmUgdGhhbiBvbmUgZWxlbWVudCBwZXIgcGFnZSwgYXMgbG9uZyBhcyB0aGV5IGFyZSBub3QgbmVzdGVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgW3VuaXRdfSAkbG9jYWwtbWF4LXdpZHRoIFskbWF4LXdpZHRoXVxuLy8vICAgTWF4IHdpZHRoIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGVsZW1lbnQuIENhbiBiZSBhIHBlcmNlbnRhZ2Ugb3IgYSBtZWFzdXJlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgKnpvb206IDE7XG4vLy8gICAgIG1heC13aWR0aDogMTAwJTtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4vLy8gICAgIG1hcmdpbi1yaWdodDogYXV0bztcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6YmVmb3JlLCAuZWxlbWVudDphZnRlciB7XG4vLy8gICAgIGNvbnRlbnQ6IFwiIFwiO1xuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6YWZ0ZXIge1xuLy8vICAgICBjbGVhcjogYm90aDtcbi8vLyAgIH1cblxuQG1peGluIG91dGVyLWNvbnRhaW5lcigkbG9jYWwtbWF4LXdpZHRoOiAkbWF4LXdpZHRoKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXgtd2lkdGg6ICRsb2NhbC1tYXgtd2lkdGg7XG4gIG1hcmdpbjoge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW4gZWxlbWVudCBzaG91bGQgc3Bhbi4gSWYgdGhlIHNlbGVjdG9yIGlzIG5lc3RlZCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgb2YgaXRzIHBhcmVudCBlbGVtZW50IHNob3VsZCBiZSBwYXNzZWQgYXMgYW4gYXJndW1lbnQgYXMgd2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNwYW5cbi8vLyAgIEEgbGlzdCBjb250YWluaW5nIGAkY29sdW1uc2AsIHRoZSB1bml0bGVzcyBudW1iZXIgb2YgY29sdW1ucyB0aGUgZWxlbWVudCBzcGFucyAocmVxdWlyZWQpLCBhbmQgYCRjb250YWluZXItY29sdW1uc2AsIHRoZSBudW1iZXIgb2YgY29sdW1ucyB0aGUgcGFyZW50IGVsZW1lbnQgc3BhbnMgKG9wdGlvbmFsKS5cbi8vL1xuLy8vICAgSWYgb25seSBvbmUgdmFsdWUgaXMgcGFzc2VkLCBpdCBpcyBhc3N1bWVkIHRoYXQgaXQncyBgJGNvbHVtbnNgIGFuZCB0aGF0IHRoYXQgYCRjb250YWluZXItY29sdW1uc2AgaXMgZXF1YWwgdG8gYCRncmlkLWNvbHVtbnNgLCB0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4vLy9cbi8vLyAgIFRoZSB2YWx1ZXMgY2FuIGJlIHNlcGFyYXRlZCB3aXRoIGFueSBzdHJpbmcgc3VjaCBhcyBgb2ZgLCBgL2AsIGV0Yy5cbi8vL1xuLy8vICAgYCRjb2x1bW5zYCBhbHNvIGFjY2VwdHMgZGVjaW1hbHMgZm9yIHdoZW4gaXQncyBuZWNlc3NhcnkgdG8gYnJlYWsgb3V0IG9mIHRoZSBzdGFuZGFyZCBncmlkLiBFLmcuIFBhc3NpbmcgYDIuNGAgaW4gYSBzdGFuZGFyZCAxMiBjb2x1bW4gZ3JpZCB3aWxsIGRpdmlkZSB0aGUgcm93IGludG8gNSBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IFtibG9ja11cbi8vLyAgIFNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQuIEJ5IGRlZmF1bHQgaXQgc2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0IG9mIHRoZSBlbGVtZW50IHRvIGBibG9ja2AuXG4vLy9cbi8vLyAgIElmIHBhc3NlZCBgYmxvY2stY29sbGFwc2VgLCBpdCBhbHNvIHJlbW92ZXMgdGhlIG1hcmdpbiBndXR0ZXIgYnkgYWRkaW5nIGl0IHRvIHRoZSBlbGVtZW50IHdpZHRoLlxuLy8vXG4vLy8gICBJZiBwYXNzZWQgYHRhYmxlYCwgaXQgc2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSB0byBgdGFibGUtY2VsbGAgYW5kIGNhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIHRoZSBlbGVtZW50IHdpdGhvdXQgdGFraW5nIGd1dHRlcnMgaW50byBjb25zaWRlcmF0aW9uLiBUaGUgcmVzdWx0IGRvZXMgbm90IGFsaWduIHdpdGggdGhlIGJsb2NrLWJhc2VkIGdyaWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vXG4vLy8gICAgLm5lc3RlZC1lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygyIG9mIDYpO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4vLy8gICAgIHdpZHRoOiA0OC44MjExNyU7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50IC5uZXN0ZWQtZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiA0LjgyOTE2JTtcbi8vLyAgICAgd2lkdGg6IDMwLjExMzg5JTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQgLm5lc3RlZC1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG5cbkBtaXhpbiBzcGFuLWNvbHVtbnMoJHNwYW46ICRjb2x1bW5zIG9mICRjb250YWluZXItY29sdW1ucywgJGRpc3BsYXk6IGJsb2NrKSB7XG4gICRjb2x1bW5zOiBudGgoJHNwYW4sIDEpO1xuICAkY29udGFpbmVyLWNvbHVtbnM6IGNvbnRhaW5lci1zcGFuKCRzcGFuKTtcblxuICAkcGFyZW50LWNvbHVtbnM6IGdldC1wYXJlbnQtY29sdW1ucygkY29udGFpbmVyLWNvbHVtbnMpICFnbG9iYWw7XG5cbiAgJGRpcmVjdGlvbjogZ2V0LWRpcmVjdGlvbigkbGF5b3V0LWRpcmVjdGlvbiwgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbik7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbik7XG5cbiAgJGRpc3BsYXktdGFibGU6IGlzLWRpc3BsYXktdGFibGUoJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlLCAkZGlzcGxheSk7XG5cbiAgQGlmICRkaXNwbGF5LXRhYmxlICB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRjb250YWluZXItY29sdW1ucyk7XG4gIH0gQGVsc2Uge1xuICAgIGZsb2F0OiAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259O1xuXG4gICAgQGlmICRkaXNwbGF5ICE9IG5vLWRpc3BsYXkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRkaXNwbGF5ID09IGNvbGxhcHNlIHtcbiAgICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgJ2NvbGxhcHNlJyBhcmd1bWVudCB3aWxsIGJlIGRlcHJlY2F0ZWQuIFVzZSAnYmxvY2stY29sbGFwc2UnIGluc3RlYWQuXCIpO1xuICAgIH1cblxuICAgIEBpZiAkZGlzcGxheSA9PSBjb2xsYXBzZSBvciAkZGlzcGxheSA9PSBibG9jay1jb2xsYXBzZSB7XG4gICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpICsgZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgICAgIH1cblxuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1ucyk7XG4gICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIERlc2lnbmF0ZXMgdGhlIGVsZW1lbnQgYXMgYSByb3cgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZCBsYXlvdXQuIEl0IGNsZWFycyB0aGUgZmxvYXRzIG9uIHRoZSBlbGVtZW50IGFuZCBzZXRzIGl0cyBkaXNwbGF5IHByb3BlcnR5LiBSb3dzIGNhbid0IGJlIG5lc3RlZCwgYnV0IHRoZXJlIGNhbiBiZSBtb3JlIHRoYW4gb25lIHJvdyBlbGVtZW504oCUd2l0aCBkaWZmZXJlbnQgZGlzcGxheSBwcm9wZXJ0aWVz4oCUcGVyIGxheW91dC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbZGVmYXVsdF1cbi8vLyAgU2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudCBhbmQgdGhlIGRpc3BsYXkgY29udGV4dCB0aGF0IHdpbGwgYmUgdXNlZCBieSBpdHMgY2hpbGRyZW4uIENhbiBiZSBgYmxvY2tgIG9yIGB0YWJsZWAuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbl1cbi8vLyAgU2V0cyB0aGUgbGF5b3V0IGRpcmVjdGlvbi4gQ2FuIGJlIGBMVFJgIChsZWZ0LXRvLXJpZ2h0KSBvciBgUlRMYCAocmlnaHQtdG8tbGVmdCkuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgLmVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIHJvdygpO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gIC5lbGVtZW50IHtcbi8vLyAgICAqem9vbTogMTtcbi8vLyAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgfVxuLy8vXG4vLy8gLmVsZW1lbnQ6YmVmb3JlLCAuZWxlbWVudDphZnRlciB7XG4vLy8gICBjb250ZW50OiBcIiBcIjtcbi8vLyAgIGRpc3BsYXk6IHRhYmxlO1xuLy8vIH1cbi8vL1xuLy8vIC5lbGVtZW50OmFmdGVyIHtcbi8vLyAgIGNsZWFyOiBib3RoO1xuLy8vIH1cblxuQG1peGluIHJvdygkZGlzcGxheTogZGVmYXVsdCwgJGRpcmVjdGlvbjogJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbikge1xuICBAaWYgJGRpcmVjdGlvbiAhPSAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uIHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlICRkaXJlY3Rpb24gYXJndW1lbnQgd2lsbCBiZSBkZXByZWNhdGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBpbiBmYXZvciBvZiB0aGUgZGlyZWN0aW9uKCl7Li4ufSBtaXhpbi5cIik7XG4gIH1cblxuICAkbGF5b3V0LWRpcmVjdGlvbjogJGRpcmVjdGlvbiAhZ2xvYmFsO1xuXG4gIEBpZiAkZGlzcGxheSAhPSBkZWZhdWx0IHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlICRkaXNwbGF5IGFyZ3VtZW50IHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBmdXR1cmUgdmVyc2lvbnMgaW4gZmF2b3Igb2YgdGhlIGRpc3BsYXkoKXsuLi59IG1peGluLlwiKTtcbiAgfVxuXG4gIEBpZiAkZGlzcGxheSA9PSB0YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgQGluY2x1ZGUgZmlsbC1wYXJlbnQ7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAkY29udGFpbmVyLWRpc3BsYXktdGFibGU6IHRydWUgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlOiBmYWxzZSAhZ2xvYmFsO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBUcmFuc2xhdGVzIGFuIGVsZW1lbnQgaG9yaXpvbnRhbGx5IGJ5IGEgbnVtYmVyIG9mIGNvbHVtbnMuIFBvc2l0aXZlIGFyZ3VtZW50cyBzaGlmdCB0aGUgZWxlbWVudCB0byB0aGUgYWN0aXZlIGxheW91dCBkaXJlY3Rpb24sIHdoaWxlIG5lZ2F0aXZlIG9uZXMgc2hpZnQgaXQgdG8gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyICh1bml0bGVzcyl9ICRuLWNvbHVtbnMgWzFdXG4vLy8gICBOdW1iZXIgb2YgY29sdW1ucyBieSB3aGljaCB0aGUgZWxlbWVudCBzaGlmdHMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2hpZnQoLTMpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIG91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tbGVmdDogLTI1LjU4OTQxJTtcbi8vLyAgIH1cblxuQG1peGluIHNoaWZ0KCRuLWNvbHVtbnM6IDEpIHtcbiAgQGluY2x1ZGUgc2hpZnQtaW4tY29udGV4dCgkbi1jb2x1bW5zKTtcbn1cblxuLy8vIFRyYW5zbGF0ZXMgYW4gZWxlbWVudCBob3Jpem9udGFsbHkgYnkgYSBudW1iZXIgb2YgY29sdW1ucywgaW4gYSBzcGVjaWZpYyBuZXN0aW5nIGNvbnRleHQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaGlmdFxuLy8vICAgQSBsaXN0IGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiBjb2x1bW5zIHRvIHNoaWZ0IChgJGNvbHVtbnNgKSBhbmQgdGhlIG51bWJlciBvZiBjb2x1bW5zIG9mIHRoZSBwYXJlbnQgZWxlbWVudCAoYCRjb250YWluZXItY29sdW1uc2ApLlxuLy8vXG4vLy8gICBUaGUgdHdvIHZhbHVlcyBjYW4gYmUgc2VwYXJhdGVkIHdpdGggYW55IHN0cmluZyBzdWNoIGFzIGBvZmAsIGAvYCwgZXRjLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNoaWZ0KC0zIG9mIDYpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIG91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tbGVmdDogLTUyLjQxNDU4JTtcbi8vLyAgIH1cblxuQG1peGluIHNoaWZ0LWluLWNvbnRleHQoJHNoaWZ0OiAkY29sdW1ucyBvZiAkY29udGFpbmVyLWNvbHVtbnMpIHtcbiAgJG4tY29sdW1uczogbnRoKCRzaGlmdCwgMSk7XG4gICRwYXJlbnQtY29sdW1uczogY29udGFpbmVyLXNoaWZ0KCRzaGlmdCkgIWdsb2JhbDtcblxuICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcblxuICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJG4tY29sdW1ucyAqIGZsZXgtZ3JpZCgxLCAkcGFyZW50LWNvbHVtbnMpICsgJG4tY29sdW1ucyAqIGZsZXgtZ3V0dGVyKCRwYXJlbnQtY29sdW1ucyk7XG5cbiAgLy8gUmVzZXQgbmVzdGluZyBjb250ZXh0XG4gICRwYXJlbnQtY29sdW1uczogJGdyaWQtY29sdW1ucyAhZ2xvYmFsO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQWRkcyBwYWRkaW5nIHRvIHRoZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcGFkZGluZyBbZmxleC1ndXR0ZXIoKV1cbi8vLyAgIEEgbGlzdCBvZiBwYWRkaW5nIHZhbHVlKHMpIHRvIHVzZS4gUGFzc2luZyBgZGVmYXVsdGAgaW4gdGhlIGxpc3Qgd2lsbCByZXN1bHQgaW4gdXNpbmcgdGhlIGd1dHRlciB3aWR0aCBhcyBhIHBhZGRpbmcgdmFsdWUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcGFkKDMwcHggLTIwcHggMTBweCBkZWZhdWx0KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgcGFkZGluZzogMzBweCAtMjBweCAxMHB4IDIuMzU3NjUlO1xuLy8vICAgfVxuXG5AbWl4aW4gcGFkKCRwYWRkaW5nOiBmbGV4LWd1dHRlcigpKSB7XG4gICRwYWRkaW5nLWxpc3Q6IG51bGw7XG4gIEBlYWNoICR2YWx1ZSBpbiAkcGFkZGluZyB7XG4gICAgJHZhbHVlOiBpZigkdmFsdWUgPT0gJ2RlZmF1bHQnLCBmbGV4LWd1dHRlcigpLCAkdmFsdWUpO1xuICAgICRwYWRkaW5nLWxpc3Q6IGpvaW4oJHBhZGRpbmctbGlzdCwgJHZhbHVlKTtcbiAgfVxuICBwYWRkaW5nOiAkcGFkZGluZy1saXN0O1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gRm9yY2VzIHRoZSBlbGVtZW50IHRvIGZpbGwgaXRzIHBhcmVudCBjb250YWluZXIuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgZmlsbC1wYXJlbnQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiAxMDAlO1xuLy8vICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuLy8vICAgfVxuXG5AbWl4aW4gZmlsbC1wYXJlbnQoKSB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpZiAkYm9yZGVyLWJveC1zaXppbmcgPT0gZmFsc2Uge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE91dHB1dHMgYSBtZWRpYS1xdWVyeSBibG9jayB3aXRoIGFuIG9wdGlvbmFsIGdyaWQgY29udGV4dCAodGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIHVzZWQgaW4gdGhlIGdyaWQpLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcXVlcnlcbi8vLyAgIEEgbGlzdCBvZiBtZWRpYSBxdWVyeSBmZWF0dXJlcyBhbmQgdmFsdWVzLCB3aGVyZSBlYWNoIGAkZmVhdHVyZWAgc2hvdWxkIGhhdmUgYSBjb3JyZXNwb25kaW5nIGAkdmFsdWVgLlxuLy8vICAgRm9yIGEgbGlzdCBvZiB2YWxpZCB2YWx1ZXMgZm9yIGAkZmVhdHVyZWAsIGNsaWNrIFtoZXJlXShodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLW1lZGlhcXVlcmllcy8jbWVkaWExKS5cbi8vL1xuLy8vICAgSWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSBgJHZhbHVlYCBpbiBgJHF1ZXJ5YCwgYCRkZWZhdWx0LWZlYXR1cmVgIGlzIGdvaW5nIHRvIGJlIHVzZWQuXG4vLy9cbi8vLyAgIFRoZSBudW1iZXIgb2YgdG90YWwgY29sdW1ucyBpbiB0aGUgZ3JpZCBjYW4gYmUgc2V0IGJ5IHBhc3NpbmcgYCRjb2x1bW5zYCBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0IChvdmVycmlkZXMgYCR0b3RhbC1jb2x1bW5zYCkuXG4vLy9cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyICh1bml0bGVzcyl9ICR0b3RhbC1jb2x1bW5zIFskZ3JpZC1jb2x1bW5zXVxuLy8vICAgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgaW4gdGhlIG5ldyBncmlkIGNvbnRleHQuIENhbiBiZSBzZXQgYXMgYSBzaG9ydGhhbmQgaW4gdGhlIGZpcnN0IHBhcmFtZXRlci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLnJlc3BvbnNpdmUtZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSg3NjlweCkge1xuLy8vICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy8gICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyAgLm5ldy1jb250ZXh0LWVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIG1lZGlhKG1pbi13aWR0aCAzMjBweCBtYXgtd2lkdGggNDgwcHgsIDYpIHtcbi8vLyAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbi8vLyAgICAucmVzcG9uc2l2ZS1lbGVtZW50IHtcbi8vLyAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuLy8vICAgICAgd2lkdGg6IDQ4LjgyMTE3JTtcbi8vLyAgICB9XG4vLy9cbi8vLyAgICAucmVzcG9uc2l2ZS1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbi8vLyAgICAubmV3LWNvbnRleHQtZWxlbWVudCB7XG4vLy8gICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiA0LjgyOTE2JTtcbi8vLyAgICAgIHdpZHRoOiAxMDAlO1xuLy8vICAgIH1cbi8vL1xuLy8vICAgIC5uZXctY29udGV4dC1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgIH1cbi8vLyAgfVxuXG5AbWl4aW4gbWVkaWEoJHF1ZXJ5OiAkZmVhdHVyZSAkdmFsdWUgJGNvbHVtbnMsICR0b3RhbC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAxIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJGRlZmF1bHQtZmVhdHVyZTogbnRoKCRxdWVyeSwgMSkpIHtcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zICFnbG9iYWw7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucyAhZ2xvYmFsO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJGxvb3AtdG86IGxlbmd0aCgkcXVlcnkpO1xuICAgICRtZWRpYS1xdWVyeTogXCJzY3JlZW4gYW5kIFwiO1xuICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucyAhZ2xvYmFsO1xuXG4gICAgQGlmIGlzLW5vdChpcy1ldmVuKGxlbmd0aCgkcXVlcnkpKSkge1xuICAgICAgJGdyaWQtY29sdW1uczogbnRoKCRxdWVyeSwgJGxvb3AtdG8pICFnbG9iYWw7XG4gICAgICAkbG9vcC10bzogJGxvb3AtdG8gLSAxO1xuICAgIH1cblxuICAgICRpOiAxO1xuICAgIEB3aGlsZSAkaSA8PSAkbG9vcC10byB7XG4gICAgICAkbWVkaWEtcXVlcnk6ICRtZWRpYS1xdWVyeSArIFwiKFwiICsgbnRoKCRxdWVyeSwgJGkpICsgXCI6IFwiICsgbnRoKCRxdWVyeSwgJGkgKyAxKSArIFwiKSBcIjtcblxuICAgICAgQGlmICgkaSArIDEpICE9ICRsb29wLXRvIHtcbiAgICAgICAgJG1lZGlhLXF1ZXJ5OiAkbWVkaWEtcXVlcnkgKyBcImFuZCBcIjtcbiAgICAgIH1cblxuICAgICAgJGk6ICRpICsgMjtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skbWVkaWEtcXVlcnl9IHtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeTokZmVhdHVyZSAkdmFsdWUgJGNvbHVtbnMsICR0b3RhbC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgYnJlYWtwb2ludCgpIG1peGluIHdhcyByZW5hbWVkIHRvIG1lZGlhKCkgaW4gTmVhdCAxLjAuIFBsZWFzZSB1cGRhdGUgeW91ciBwcm9qZWN0IHdpdGggdGhlIG5ldyBzeW50YXggYmVmb3JlIHRoZSBuZXh0IHZlcnNpb24gYnVtcC5cIik7XG5cbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkZGVmYXVsdC1mZWF0dXJlOiBudGgoJHF1ZXJ5LCAxKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnM7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcbiAgICB9XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMiB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG50aCgkcXVlcnksIDEpOiBudGgoJHF1ZXJ5LCAyKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnM7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcbiAgICB9XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMyB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG50aCgkcXVlcnksIDEpOiBudGgoJHF1ZXJ5LCAyKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogbnRoKCRxdWVyeSwgMyk7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcbiAgICB9XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gNCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG50aCgkcXVlcnksIDEpOiBudGgoJHF1ZXJ5LCAyKSkgYW5kIChudGgoJHF1ZXJ5LCAzKTogbnRoKCRxdWVyeSwgNCkpIHtcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnM7XG4gICAgfVxuICB9IEBlbHNlIGlmIGxlbmd0aCgkcXVlcnkpID09IDUge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChudGgoJHF1ZXJ5LCAxKTogbnRoKCRxdWVyeSwgMikpIGFuZCAobnRoKCRxdWVyeSwgMyk6IG50aCgkcXVlcnksIDQpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiBudGgoJHF1ZXJ5LCA1KTtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIldyb25nIG51bWJlciBvZiBhcmd1bWVudHMgZm9yIGJyZWFrcG9pbnQoKS4gUmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBkZXRhaWxzLlwiKTtcbiAgfVxufVxuXG5AbWl4aW4gbnRoLW9tZWdhKCRudGgsICRkaXNwbGF5OiBibG9jaywgJGRpcmVjdGlvbjogZGVmYXVsdCkge1xuICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlIG50aC1vbWVnYSgpIG1peGluIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2Ugb21lZ2EoKSBpbnN0ZWFkLlwiKTtcbiAgQGluY2x1ZGUgb21lZ2EoJG50aCAkZGlzcGxheSwgJGRpcmVjdGlvbik7XG59XG5cbi8vLyBSZXNldHMgdGhlIGFjdGl2ZSBkaXNwbGF5IHByb3BlcnR5IHRvIGBibG9ja2AuIFBhcnRpY3VsYXJseSB1c2VmdWwgd2hlbiBjaGFuZ2luZyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBpbiBhIHNpbmdsZSByb3cuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcm93KHRhYmxlKTtcbi8vLyAgICAgLy8gQ29udGV4dCBjaGFuZ2VkIHRvIHRhYmxlIGRpc3BsYXlcbi8vLyAgIH1cbi8vL1xuLy8vICAgQGluY2x1ZGUgcmVzZXQtZGlzcGxheTtcbi8vLyAgIC8vIENvbnRleHQgaXMgcmVzZXQgdG8gYmxvY2sgZGlzcGxheVxuXG5AbWl4aW4gcmVzZXQtZGlzcGxheSB7XG4gICRjb250YWluZXItZGlzcGxheS10YWJsZTogZmFsc2UgIWdsb2JhbDtcbiAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlJlc2V0dGluZyAkZGlzcGxheSB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gZnV0dXJlIHZlcnNpb25zIGluIGZhdm9yIG9mIHRoZSBkaXNwbGF5KCl7Li4ufSBtaXhpbi5cIik7XG59XG5cbi8vLyBSZXNldHMgdGhlIGFjdGl2ZSBsYXlvdXQgZGlyZWN0aW9uIHRvIHRoZSBkZWZhdWx0IHZhbHVlIHNldCBpbiBgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbmAuIFBhcnRpY3VsYXJseSB1c2VmdWwgd2hlbiBjaGFuZ2luZyB0aGUgbGF5b3V0IGRpcmVjdGlvbiBpbiBhIHNpbmdsZSByb3cuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcm93KCRkaXJlY3Rpb246IFJUTCk7XG4vLy8gICAgIC8vIENvbnRleHQgY2hhbmdlZCB0byByaWdodC10by1sZWZ0XG4vLy8gICB9XG4vLy9cbi8vLyAgIEBpbmNsdWRlIHJlc2V0LWxheW91dC1kaXJlY3Rpb247XG4vLy8gICAvLyBDb250ZXh0IGlzIHJlc2V0IHRvIGxlZnQtdG8tcmlnaHRcblxuQG1peGluIHJlc2V0LWxheW91dC1kaXJlY3Rpb24ge1xuICAkbGF5b3V0LWRpcmVjdGlvbjogJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbiAhZ2xvYmFsO1xuICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiUmVzZXR0aW5nICRkaXJlY3Rpb24gd2lsbCBiZSBkZXByZWNhdGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBpbiBmYXZvciBvZiB0aGUgZGlyZWN0aW9uKCl7Li4ufSBtaXhpbi5cIik7XG59XG5cbi8vLyBSZXNldHMgYm90aCB0aGUgYWN0aXZlIGxheW91dCBkaXJlY3Rpb24gYW5kIHRoZSBhY3RpdmUgZGlzcGxheSBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSByb3codGFibGUsIFJUTCk7XG4vLy8gICAgIC8vIENvbnRleHQgY2hhbmdlZCB0byB0YWJsZSB0YWJsZSBhbmQgcmlnaHQtdG8tbGVmdFxuLy8vICAgfVxuLy8vXG4vLy8gICBAaW5jbHVkZSByZXNldC1hbGw7XG4vLy8gICAvLyBDb250ZXh0IGlzIHJlc2V0IHRvIGJsb2NrIGRpc3BsYXkgYW5kIGxlZnQtdG8tcmlnaHRcblxuQG1peGluIHJlc2V0LWFsbCB7XG4gIEBpbmNsdWRlIHJlc2V0LWRpc3BsYXk7XG4gIEBpbmNsdWRlIHJlc2V0LWxheW91dC1kaXJlY3Rpb247XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBtaXhpbiBncmlkLWNvbHVtbi1ncmFkaWVudCgkdmFsdWVzLi4uKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICR2YWx1ZXMpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkdmFsdWVzKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkdmFsdWVzKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICR2YWx1ZXMpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwibGluZWFyLWdyYWRpZW50KHRvIGxlZnQsICN7JHZhbHVlc30pXCIpO1xufVxuXG5AaWYgJHZpc3VhbC1ncmlkID09IHRydWUgb3IgJHZpc3VhbC1ncmlkID09IHllcyB7XG4gIGJvZHk6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ncmFkaWVudChncmFkaWVudC1zdG9wcygkZ3JpZC1jb2x1bW5zKSk7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICAgIG9wYWNpdHk6ICR2aXN1YWwtZ3JpZC1vcGFjaXR5O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpZiAkdmlzdWFsLWdyaWQtaW5kZXggPT0gYmFjayB7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkdmlzdWFsLWdyaWQtaW5kZXggPT0gZnJvbnQge1xuICAgICAgei1pbmRleDogOTk5OTtcbiAgICB9XG5cbiAgICBAZWFjaCAkYnJlYWtwb2ludCBpbiAkdmlzdWFsLWdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgQGlmICRicmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ncmFkaWVudChncmFkaWVudC1zdG9wcygkZ3JpZC1jb2x1bW5zKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoYW5nZXMgdGhlIGRpc3BsYXkgcHJvcGVydHkgdXNlZCBieSBvdGhlciBtaXhpbnMgY2FsbGVkIGluIHRoZSBjb2RlIGJsb2NrIGFyZ3VtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IFtibG9ja11cbi8vLyAgIERpc3BsYXkgdmFsdWUgdG8gYmUgdXNlZCB3aXRoaW4gdGhlIGJsb2NrLiBDYW4gYmUgYHRhYmxlYCBvciBgYmxvY2tgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgQGluY2x1ZGUgZGlzcGxheS1jb250ZXh0KHRhYmxlKSB7XG4vLy8gICAgLmRpc3BsYXktdGFibGUge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3Ncbi8vLyAgIC5kaXNwbGF5LXRhYmxlIHtcbi8vLyAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4vLy8gICAgICAuLi5cbi8vLyAgIH1cblxuQG1peGluIGRpc3BsYXktY29udGV4dCgkZGlzcGxheTogYmxvY2spIHtcbiAgJHNjb3BlLWRpc3BsYXk6ICRjb250YWluZXItZGlzcGxheS10YWJsZTtcbiAgJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlOiAkZGlzcGxheSA9PSB0YWJsZSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gICRjb250YWluZXItZGlzcGxheS10YWJsZTogJHNjb3BlLWRpc3BsYXkgIWdsb2JhbDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoYW5nZXMgdGhlIGRpcmVjdGlvbiBwcm9wZXJ0eSB1c2VkIGJ5IG90aGVyIG1peGlucyBjYWxsZWQgaW4gdGhlIGNvZGUgYmxvY2sgYXJndW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbbGVmdC10by1yaWdodF1cbi8vLyAgIExheW91dCBkaXJlY3Rpb24gdG8gYmUgdXNlZCB3aXRoaW4gdGhlIGJsb2NrLiBDYW4gYmUgYGxlZnQtdG8tcmlnaHRgIG9yIGByaWdodC10by1sZWZ0YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGluY2x1ZGUgZGlyZWN0aW9uLWNvbnRleHQocmlnaHQtdG8tbGVmdCkge1xuLy8vICAgIC5yaWdodC10by1sZWZ0LWJsb2NrIHtcbi8vLyAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLnJpZ2h0LXRvLWxlZnQtYmxvY2sge1xuLy8vICAgICBmbG9hdDogcmlnaHQ7XG4vLy8gICAgICAuLi5cbi8vLyAgIH1cblxuQG1peGluIGRpcmVjdGlvbi1jb250ZXh0KCRkaXJlY3Rpb246IGxlZnQtdG8tcmlnaHQpIHtcbiAgJHNjb3BlLWRpcmVjdGlvbjogJGxheW91dC1kaXJlY3Rpb247XG5cbiAgQGlmIHRvLWxvd2VyLWNhc2UoJGRpcmVjdGlvbikgPT0gXCJsZWZ0LXRvLXJpZ2h0XCIge1xuICAgICRsYXlvdXQtZGlyZWN0aW9uOiBMVFIgIWdsb2JhbDtcbiAgfSBAZWxzZSBpZiB0by1sb3dlci1jYXNlKCRkaXJlY3Rpb24pID09IFwicmlnaHQtdG8tbGVmdFwiIHtcbiAgICAkbGF5b3V0LWRpcmVjdGlvbjogUlRMICFnbG9iYWw7XG4gIH1cblxuICBAY29udGVudDtcblxuICAkbGF5b3V0LWRpcmVjdGlvbjogJHNjb3BlLWRpcmVjdGlvbiAhZ2xvYmFsO1xufVxuIiwiLyogIyMgU2l0ZSBDb250YWluZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLndyYXAge1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDgwcHgpO1xuICAgIHBhZGRpbmc6IDAgJGJhc2Utc3BhY2luZztcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4uZXJyb3I0MDQgLnNpdGUtaW5uZXIge1xuICAgIHBhZGRpbmc6IDVlbSAwO1xufVxuXG4vKiAjIyBDb2x1bW4gV2lkdGhzIGFuZCBQb3NpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNvbnRlbnQsXG4uc2lkZWJhci1wcmltYXJ5LFxuLmZ1bGwtd2lkdGggLmNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XG4gICAgQGluY2x1ZGUgb21lZ2EoKTtcbn1cblxuQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXG4gICAgLmNvbnRlbnQtc2lkZWJhciAuY29udGVudC1zaWRlYmFyLXdyYXAsXG4gICAgLnNpZGViYXItY29udGVudCAuY29udGVudC1zaWRlYmFyLXdyYXAsXG4gICAgLmZ1bGwtd2lkdGgtY29udGVudCAuY29udGVudC1zaWRlYmFyLXdyYXAge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICAgICAgICBAaW5jbHVkZSBvbWVnYTtcbiAgICB9XG5cbiAgICAuZnVsbC13aWR0aC1jb250ZW50IC5jb250ZW50LXNpZGViYXItd3JhcCB7XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMiBvciAxMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudC1zaWRlYmFyIC5jb250ZW50LXNpZGViYXItd3JhcCB7XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5IG9mIDEyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaWRlYmFyLXByaW1hcnkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMgb2YgMTIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2E7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2lkZWJhci1jb250ZW50IC5jb250ZW50LXNpZGViYXItd3JhcCB7XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5IG9yIDEyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNpZGViYXItcHJpbWFyeSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyBvZiAxMik7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50LXNpZGViYXItc2lkZWJhciAuY29udGVudC1zaWRlYmFyLXdyYXAsXG4gICAgLnNpZGViYXItc2lkZWJhci1jb250ZW50IC5jb250ZW50LXNpZGViYXItd3JhcCxcbiAgICAuc2lkZWJhci1jb250ZW50LXNpZGViYXIgLmNvbnRlbnQtc2lkZWJhci13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkpO1xuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2IG9mIDkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNpZGViYXItcHJpbWFyeSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyBvZiA5KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtc2lkZWJhci1zaWRlYmFyIC5zaWRlYmFyLXNlY29uZGFyeSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2E7XG4gICAgfVxuXG4gICAgLnNpZGViYXItc2lkZWJhci1jb250ZW50IC5jb250ZW50LXNpZGViYXItd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5KTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2E7XG4gICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICAuc2lkZWJhci1wcmltYXJ5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzIG9mIDkpO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNiBvZiA5KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNpZGViYXItc2lkZWJhci1jb250ZW50IC5zaWRlYmFyLXNlY29uZGFyeSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2lkZWJhci1jb250ZW50LXNpZGViYXIgLmNvbnRlbnQtc2lkZWJhci13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkpO1xuICAgICAgICBAaW5jbHVkZSBvbWVnYTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2IG9mIDkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNpZGViYXItcHJpbWFyeSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyBvZiA5KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNpZGViYXItY29udGVudC1zaWRlYmFyIC5zaWRlYmFyLXNlY29uZGFyeSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiogQXZhdGFyISEhIVxuKi9cblxuLmF2YXRhciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5hbGlnbmxlZnQgLmF2YXRhcixcbi5hdXRob3ItYm94IC5hdmF0YXIge1xuICAgIG1hcmdpbi1yaWdodDogMjRweDtcbn1cblxuLmFsaWducmlnaHQgLmF2YXRhciB7XG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7XG59XG5cbi5jb21tZW50IC5hdmF0YXIge1xuICAgIG1hcmdpbjogMCAxNnB4IDI0cHggMDtcbn1cblxuLyoqXG4qIE1lZGlhXG4qL1xuXG4ubWVqcy1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmc7XG59XG5cbmEuYWxpZ25jZW50ZXIgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuYS5hbGlnbm5vbmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmFsaWdubGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmFsaWducmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuYS5hbGlnbmxlZnQsXG5hLmFsaWdubm9uZSxcbmEuYWxpZ25yaWdodCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5pbWcuY2VudGVyZWQsXG4uYWxpZ25jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvICRiYXNlLXNwYWNpbmcqMjtcbn1cblxuaW1nLmFsaWdubm9uZSxcbi5hbGlnbm5vbmUge1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmc7XG59XG5cbmEuYWxpZ25sZWZ0LFxuaW1nLmFsaWdubGVmdCxcbi53cC1jYXB0aW9uLmFsaWdubGVmdCB7XG4gICAgbWFyZ2luOiAwICRiYXNlLXNwYWNpbmcqMiAkYmFzZS1zcGFjaW5nKjIgMDtcbn1cblxuYS5hbGlnbnJpZ2h0LFxuaW1nLmFsaWducmlnaHQsXG4ud3AtY2FwdGlvbi5hbGlnbnJpZ2h0IHtcbiAgICBtYXJnaW46IDAgMCAkYmFzZS1zcGFjaW5nKjIgJGJhc2Utc3BhY2luZyoyO1xufVxuXG4ud3AtY2FwdGlvbi10ZXh0IHtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5lbnRyeS1jb250ZW50IHAud3AtY2FwdGlvbi10ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKipcbiogT2JqZWN0c1xuKi9cblxuZW1iZWQsXG5pZnJhbWUsXG5pbWcsXG5vYmplY3QsXG52aWRlbyxcbi53cC1jYXB0aW9uIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmltZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZmVhdHVyZWQtY29udGVudCBpbWcsXG4uZ2FsbGVyeSBpbWcge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4vKipcbiogU2l0ZSBUaXRsZVxuKi9cblxuLnNpdGUtdGl0bGUge1xuICAgIGEsXG4gICAgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIH1cbn1cblxuLmhlYWRlci1pbWFnZSAuc2l0ZS10aXRsZSA+IGEge1xuICAgIGJhY2tncm91bmQ6IHVybChhc3NldHMvaW1hZ2VzL2xvZ28ucG5nKSBuby1yZXBlYXQgbGVmdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWluLWhlaWdodDogNzlweDtcbiAgICB3aWR0aDogNTAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICB3aWR0aDogMzAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA5MCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuXG4vKipcbiogV2lkZ2V0XG4qL1xuXG4ud2lkZ2V0IHtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi53aWRnZXQgbGkgbGkge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDAgMCAwICRiYXNlLXNwYWNpbmcqMjtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ud2lkZ2V0X2NhbGVuZGFyIHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLndpZGdldF9jYWxlbmRhciB0ZCxcbi53aWRnZXRfY2FsZW5kYXIgdGgge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyoqXG4qIEVudHJ5IENvbnRlbnRcbiovXG5cbi5lbnRyeS1jb250ZW50IG9sLFxuLmVudHJ5LWNvbnRlbnQgdWwge1xuICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG59XG5cbi5lbnRyeS1jb250ZW50IG9sID4gbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbn1cblxuLmVudHJ5LWNvbnRlbnQgdWwgPiBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogJGFjdGlvbi1jb2xvcjtcbiAgICAgICAgY29udGVudDogXCLigKJcIjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsZWZ0OiAtN3B4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtN3B4O1xuICAgIH1cbn1cblxuLmVudHJ5LWNvbnRlbnQgb2wgb2wsXG4uZW50cnktY29udGVudCB1bCB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmVudHJ5LWNvbnRlbnQgY29kZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgICBjb2xvcjogI2RkZDtcbn1cblxuXG4vKipcbiogRW50cnkgTWV0YVxuKi9cblxucC5lbnRyeS1tZXRhIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZW50cnktaGVhZGVyIC5lbnRyeS1tZXRhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmFzZS1zcGFjaW5nO1xufVxuXG4uZW50cnktZm9vdGVyIC5lbnRyeS1tZXRhIHtcbiAgICBib3JkZXItdG9wOiAkYmFzZS1ib3JkZXI7XG4gICAgcGFkZGluZy10b3A6ICRiYXNlLXNwYWNpbmc7XG59XG5cbi5lbnRyeS1jYXRlZ29yaWVzLFxuLmVudHJ5LXRhZ3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZW50cnktY29tbWVudHMtbGluazo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNFwiO1xuICAgIG1hcmdpbjogMCAkYmFzZS1zcGFjaW5nIDAgJGJhc2Utc3BhY2luZy8yO1xufVxuXG4vKipcbiogR2FsbGVyeVxuKlxuKiBXZSBhcmVuJ3QgZ29pbmcgdG8gdXNlIE5lYXQgZm9yIHRoaXMgZ2FsbGVyeSBkdWUgdG8gdGhlIHBvc3NpYmxlIG51bWJlciBvZiBnYWxsZXJ5IGNvbHVtbnNcbiogdGhhdCBkb24ndCBlYXNpbHkgYnJlYWsgaW50byAxMi5cbipcbiovXG5cbi5nYWxsZXJ5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZ2FsbGVyeS1pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDAgMCAyOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmdhbGxlcnktY29sdW1ucy0yIC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiA1MCU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtMyAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogMzMlO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTQgLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IDI1JTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy01IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiAyMCU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtNiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogMTYuNjY2NiU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtNyAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogMTQuMjg1NyU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtOCAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogMTIuNSU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtOSAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogMTEuMTExMSU7XG59XG5cbi5nYWxsZXJ5IGltZyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogNHB4O1xufVxuXG4uZ2FsbGVyeSBpbWc6aG92ZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbn1cbiIsIi5zaXRlLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcblxuICAgIC53cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEyMDBweCk7XG4gICAgfVxufVxuXG4vKipcbiAqIFRpdGxlIEFyZWFcbiAqL1xuXG4udGl0bGUtYXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICB9XG59XG5cbi5uYXYtcHJpbWFyeSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkpO1xuICAgICAgICBAaW5jbHVkZSBvbWVnYSgpO1xuICAgIH1cbn1cblxuLnNpdGUtZGVzY3JpcHRpb24sXG4uc2l0ZS10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmhlYWRlci1pbWFnZSAuc2l0ZS1kZXNjcmlwdGlvbixcbi5oZWFkZXItaW1hZ2UgLnNpdGUtdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xufVxuXG4ubW9iaWxlLW1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMzBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iLCIubW9kYWFsLWNsb3NlIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDBweDtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICByaWdodDogMHB4O1xuICAgICAgICBib3R0b206IDBweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAxNHB4O1xuICAgICAgICAgICAgbGVmdDogMjNweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiRwb3J0YWwtbWVudS1pdGVtLWJnLWNvbG9yOiAjZThhM2E1O1xuJHBvcnRhbC1tZW51LWl0ZW0tYmctaG92ZXItY29sb3I6ICNkMTQ4NGM7XG4kc3ViLW1lbnUtYmFzZS1wYWRkaW5nOiAxLjVyZW07XG5cbi5qdXN0LXJlZC1uYXYge1xuICAgIC5yZWQtYmFyLWxvZ28ge1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGhlaWdodDogMjZweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdhc3NldHMvaW1hZ2VzL3BtLWxvZ28ucG5nJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogJGJhc2Utc3BhY2luZztcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggdHJhbnNsYXRlWSggLTUwJSApICk7XG4gICAgfVxuXG4gICAgI21vYmlsZS1tZW51IC5pY29uLWNsb3NlLWNvbnRhaW5lciB7XG4gICAgICAgIHRvcDogNnB4O1xuICAgIH1cbn1cblxuLmFjY291bnQtbWVudS13cmFwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogJHNtYWxsLXNwYWNpbmcgMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCAkbGFyZ2Utc2NyZWVuLXVwICkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLndyYXAge1xuICAgICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTIwMHB4KTtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgI21lbnUtYWNjb3VudC1uYXYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRsYXJnZS1zY3JlZW4tdXAgKSB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGJhc2Utc3BhY2luZztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggdHJhbnNsYXRlWSggLTUwJSApICk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgcGFkZGluZzogJHNtYWxsLXNwYWNpbmcgJGJhc2Utc3BhY2luZyoxLjI1O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oIDE2cHggKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3ViLW1lbnUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN1Yi1tZW51IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAxMXB4IDBweCAwcHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgei1pbmRleDogMjgwO1xuXG4gICAgICAgICYuZWRnZSB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwcHg7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZGFyay1yZWQge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1yZWQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oIDEycHggKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzdWItbWVudS1iYXNlLXBhZGRpbmcvNCAkc3ViLW1lbnUtYmFzZS1wYWRkaW5nO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKCAxNHB4ICk7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuLmFjY291bnQtbWVudS1wb3J0YWwsXG4uYWNjb3VudC1tZW51LXN0b3JlIHtcblxuICAgIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiBlbSggMTZweCApO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oIHRyYW5zbGF0ZVkoIC01MCUgKSApO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdhc3NldHMvaWNvbnMvcGFkbG9jay5zdmcnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgIGxlZnQ6IDRweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdWItbWVudSB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gICAgICAgICAgICBmb250LXNpemU6IGVtKCAxNHB4ICk7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4mLmFjY291bnQtbWVudS1wb3J0YWwgYTpiZWZvcmV7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdhc3NldHMvaWNvbnMvcG9ydGFsLWljb24ucG5nJyk7XG59XG5cbiYuYWNjb3VudC1tZW51LXN0b3JlIGE6YmVmb3Jle1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnYXNzZXRzL2ljb25zL3N0b3JlLWljb24ucG5nJyk7XG59XG5cbi5hY2NvdW50LW1lbnUtc3RvcmUgLnN1Yi1tZW51IHtcbiAgICBtaW4td2lkdGg6IDIwMnB4O1xuXG4gICAgbGk6bnRoLWNoaWxkKDEpLFxuICAgIGxpOm50aC1jaGlsZCgyKSwge1xuICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaTpudGgtY2hpbGQoMikge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKCB0cmFuc2xhdGVZKCAtNTAlICkgKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMHB4O1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2JpbGUtbWVudSAubWVudS1hY2NvdW50LW5hdi1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmFjY291bnQtbWVudS1wb3J0YWwsXG4gICAgLmFjY291bnQtbWVudS1zdG9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtZGFyay1yZWQ7XG5cbiAgICAgICAgJi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogMTJweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggdHJhbnNsYXRlWSggLTUwJSApICk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN1Yi1tZW51IGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNHB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTZweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5tb2JpbGUtcmVkIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1tZWQtcmVkO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDEycHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmFjY291bnQtbWVudS1zdG9yZSB7XG4gICAgICAgIGxpOm50aC1jaGlsZCgxKSxcbiAgICAgICAgbGk6bnRoLWNoaWxkKDIpLCB7XG4gICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1tZWQtcmVkO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTJweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaTpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggdHJhbnNsYXRlWSggLTUwJSApICk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0yMDAlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LW1lZC1yZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiJHBvcnRhbC1tZW51LWl0ZW0tYmctY29sb3I6ICNlOGEzYTU7XG4kcG9ydGFsLW1lbnUtaXRlbS1iZy1ob3Zlci1jb2xvcjogI2QxNDg0YztcblxuLy8gTW9iaWxlIFBvcnRhbCBNZW51IFRyaWdnZXJcbi5tb2JpbGUtcG9ydGFsLXRyaWdnZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCAkbGFyZ2Utc2NyZWVuLXVwICkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBvcnRhbC1tZW51LWl0ZW0tYmctY29sb3I7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBjb250ZW50OiAnUE9SVEFMIE1FTlUnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICBwYWRkaW5nOiAkYmFzZS1zcGFjaW5nKjE7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMzAwbXMgJGJhc2UtdGltaW5nO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oIHJvdGF0ZSggOTBkZWcgKSApO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2Fzc2V0cy9pY29ucy9wbGF5LWJ1dHRvbi5zdmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAkYmFzZS1zcGFjaW5nO1xuICAgICAgICB0b3A6IDI2cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyAkYmFzZS10aW1pbmc7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgIH1cblxuICAgICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwb3J0YWwtbWVudS1pdGVtLWJnLWhvdmVyLWNvbG9yO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oIHJvdGF0ZSggLTkwZGVnICkgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gTW9iaWxlIFBvcnRhbCBNZW51XG4ubW9iaWxlLXBvcnRhbC1tZW51LXdyYXAge1xuXG4gICAgI21lbnUtcG9ydGFsLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBvcnRhbC1tZW51LWl0ZW0tYmctY29sb3I7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyAkYmFzZS10aW1pbmc7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMThweCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICAgICAgcGFkZGluZzogJGJhc2Utc3BhY2luZyoxO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0sXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBvcnRhbC1tZW51LWl0ZW0tYmctaG92ZXItY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmLmNvbWluZy1zb29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3ViLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCAkbGFyZ2Utc2NyZWVuLXVwICkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxufVxuXG4vLyBEZXNrdG9wIFBvcnRhbCBNZW51IFN0eWxlc1xuLnBvcnRhbC1tZW51LXdyYXAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAuc3ViLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCAkbGFyZ2Utc2NyZWVuLXVwICkge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLm1lbnUge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwb3J0YWwtbWVudS1pdGVtLWJnLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHdoaXRlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyAkYmFzZS10aW1pbmc7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjZweCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRiYXNlLXNwYWNpbmcqMSAkc21hbGwtc3BhY2luZy80O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0sXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwb3J0YWwtbWVudS1pdGVtLWJnLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9ydGFsLW1lbnUtaXRlbS1iZy1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyLjUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDk1JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggdHJhbnNsYXRlWCggLTUwJSApICk7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgJHBvcnRhbC1tZW51LWl0ZW0tYmctaG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IC0xNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkcG9ydGFsLW1lbnUtaXRlbS1iZy1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmNvbWluZy1zb29uIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtpc2gtZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlcixcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKCB0cmFuc2xhdGVYKCAtNTAlICkgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ0NPTUlORyc7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6ICRiYXNlLXNwYWNpbmcqLjc1O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206ICRiYXNlLXNwYWNpbmcqLjc1O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1NPT04nO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmdlbmVzaXMtbmF2LW1lbnUge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1saW5lLWhlaWdodDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmdlbmVzaXMtbmF2LW1lbnUgPiAuZmlyc3QgPiBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5nZW5lc2lzLW5hdi1tZW51ID4gLmxhc3QgPiBhIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uZ2VuZXNpcy1uYXYtbWVudSA+IC5yaWdodCB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZzogJGJhc2Utc3BhY2luZyoyIDA7XG59XG5cbi5nZW5lc2lzLW5hdi1tZW51ID4gLnJpZ2h0ID4gYSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5nZW5lc2lzLW5hdi1tZW51ID4gLnJzcyA+IGEge1xuICAgIG1hcmdpbi1sZWZ0OiA0OHB4O1xufVxuXG4uZ2VuZXNpcy1uYXYtbWVudSA+IC5zZWFyY2gge1xuICAgIHBhZGRpbmc6ICRiYXNlLXNwYWNpbmcgMCAwO1xufVxuXG4uc2l0ZS1oZWFkZXIgLmdlbmVzaXMtbmF2LW1lbnUgbGkgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ubmF2LXByaW1hcnkge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUgYSB7XG4gICAgY29sb3I6ICRuYXYtZ3JheTtcbn1cblxuLm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSBhIHtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbn1cblxuLm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51IGE6aG92ZXIsXG4ubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUgLmN1cnJlbnQtbWVudS1pdGVtID4gYSxcbi5uYXYtcHJpbWFyeSAuZ2VuZXNpcy1uYXYtbWVudSAuc3ViLW1lbnUgLmN1cnJlbnQtbWVudS1pdGVtID4gYTpob3ZlciB7XG4gICAgY29sb3I6ICRhY3Rpb24tY29sb3I7XG59XG5cblxuXG4vKipcbiogTWVudSBJdGVtc1xuKi9cblxuLmdlbmVzaXMtbmF2LW1lbnUgLm1lbnUtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5nZW5lc2lzLW5hdi1tZW51IGEge1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRiYXNlLXNwYWNpbmcqMS40NSAkYmFzZS1zcGFjaW5nO1xufVxuXG4ubmF2LXByaW1hcnkgLm1lbnUtaXRlbTpsYXN0LWNoaWxkIGEge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kOiAkbmF2LWdyYXk7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkYmFzZS1kdXJhdGlvbiAkYmFzZS10aW1pbmc7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjdGlvbi1jb2xvcjtcbiAgICB9XG59XG5cbi5nZW5lc2lzLW5hdi1tZW51IGE6aG92ZXIsXG4uZ2VuZXNpcy1uYXYtbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhLFxuLmdlbmVzaXMtbmF2LW1lbnUgLnN1Yi1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSA+IGE6aG92ZXIge1xuICAgIGNvbG9yOiAkYWN0aW9uLWNvbG9yO1xufVxuXG4ubmF2LXByaW1hcnkgdWwuc3ViLW1lbnUge1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbWFyZ2luOiAyMHB4IDAgMCAwO1xuICAgIHBhZGRpbmc6IDEwcHggMCAwIDA7XG4gICAgei1pbmRleDogMjgwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbn1cblxuLm5hdi1wcmltYXJ5IC5tZW51LWl0ZW06aG92ZXIgdWwuc3ViLW1lbnUge1xuICAgIG1hcmdpbjogMDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG59XG5cbi5uYXYtcHJpbWFyeSB1bC5zdWItbWVudSAubWVudS1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2Y1ZjVmNTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZjVmNWY1O1xuXG4gICAgYSB7XG4gICAgICAgIHBhZGRpbmc6IDEuNWVtIDEuNWVtIDAuNWVtIDEuNWVtO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgY29sb3I6ICRiYXNlLWZvbnQtY29sb3I7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNWVtO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRhY3Rpb24tY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEZvciBzcGVjaWFsIHBhZ2VzIHdlJ2xsIHJlbW92ZSB0aGUgd2hpdGUgaGVhZGVyLlxuLmp1c3QtcmVkLW5hdiB7XG4gICAgaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAucGFnZS1iYW5uZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIH1cblxuICAgIC5hY2NvdW50LW1lbnUtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIi5wYWdlLWJhbm5lciB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdG1pbi1oZWlnaHQ6IDMwMHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdG1pbi1oZWlnaHQ6IDQ1MHB4O1xuXHR9XG5cblx0Ji5zbWFsbC1oZWlnaHQge1xuXHRcdG1pbi1oZWlnaHQ6IDI2MHB4O1xuXHRcdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRcdG1pbi1oZWlnaHQ6IDI2MHB4O1xuXHRcdH1cblx0fVxuXG5cdCYubWVkaXVtLWhlaWdodCB7XG5cdFx0bWluLWhlaWdodDogMzYwcHg7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdFx0bWluLWhlaWdodDogMzYwcHg7XG5cdFx0fVxuXHR9XG59XG5cbi5wYWdlLWJhbm5lciAucGFnZS10aXRsZSB7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Zm9udC1zaXplOiBlbSg2MCk7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5wYWdlLWJhbm5lciAucGFnZS1wcmUtdGl0bGUge1xuXHRjb2xvcjogd2hpdGU7XG5cdGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcblx0Zm9udC1zaXplOiBlbSgzMHB4KTtcblx0Zm9udC13ZWlnaHQ6IDEwMDtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnBhZ2UtYmFubmVyIC50aXRsZS1jb250ZW50IHtcblx0QGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dG9wOiA1MCU7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4ucGFnZS1iYW5uZXIgLnBhZ2Utc3ViLXRpdGxlIHtcblx0Y29sb3I6IHdoaXRlO1xuXHRmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG5cdGZvbnQtc2l6ZTogZW0oMzBweCk7XG5cdGZvbnQtd2VpZ2h0OiAxMDA7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG4iLCIucGFnZS1zZWN0aW9uIHtcblx0cGFkZGluZzogKCRiYXNlLXNwYWNpbmcqMikgJGJhc2Utc3BhY2luZztcblxuXHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0cGFkZGluZzogJGxhcmdlLXNwYWNpbmcgMDtcblx0fVxuXG5cdCYudmlkZW8sXG5cdCYuY3RhIHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cblx0Ji5zdG9yaWVzIHtcblx0XHRiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcblx0fVxufVxuXG4ucGFnZS1zZWN0aW9uLXRpdGxlIHtcblx0bWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLnZpZGVvIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRoZWlnaHQ6IDU4MHB4O1xuXHRtaW4taGVpZ2h0OiA1ODBweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udmlkZW8tY29udGVudCB7XG5cdEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcblx0Y29sb3I6IHdoaXRlO1xuXHRkaXNwbGF5OiBub25lO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dG9wOiA1MCU7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdC5oaWRlLXRyaWFsICYge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0aDEge1xuXHRcdGZvbnQtc2l6ZTogNzJweDtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHR9XG59XG5cbi52aWRlby1jb250YWluZXIge1xuXHR3aWR0aDogMTAwdnc7XG5cdGhlaWdodDogMTAwdmg7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR6LWluZGV4OiAyMDAwMDtcblx0YmFja2dyb3VuZDogIzAwMDtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLnZpZGVvIC52aWRlby1jb250YWluZXIgLnZpZGVvLWVsZW1lbnQge1xuXHRAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIC01MCUpKTtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xufVxuXG4udmlkZW8tY2xvc2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMXZoO1xuXHRyaWdodDogMnZ3O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0LmFkbWluLWJhciAmIHtcblx0XHR0b3A6IDV2aDtcblx0fVxuXG5cdHN2ZyB7XG5cdFx0ZmlsbDogd2hpdGU7XG5cdH1cbn1cblxuLmF1dG9wbGF5LXZpZGVvIHtcblx0QGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHR6LWluZGV4OiAtMTtcbn1cbiIsIi50cmlhbCB7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDFzICRiYXNlLXRpbWluZyk7XG5cdGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC43KTtcblx0Ym90dG9tOiAwO1xuXHRtYXgtd2lkdGg6IDQ1MHB4O1xuXHRwYWRkaW5nOiAkYmFzZS1zcGFjaW5nO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHRvcDogMDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0XHRwYWRkaW5nOiAkYmFzZS1zcGFjaW5nKjI7XG5cdFx0fVxuXG5cdC50cmlhbC10aXRsZSxcblx0LnRyaWFsLWRlc2MsXG5cdHNtYWxsIHtcblx0XHRjb2xvcjogd2hpdGU7XG5cdH1cblxuXHQudHJpYWwtZGVzYyB7XG5cdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZztcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRcdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdFx0fVxuXHR9XG5cblx0aW5wdXRbdHlwZT1cInRleHRcIl0sXG5cdGlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXG5cdFx0QGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdGNvbG9yOiAjYmJiO1xuXHRcdH1cblx0fVxuXG5cdGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG5cdFx0bWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuXHR9XG5cblx0c21hbGwge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmc7XG5cdH1cblxuXHRpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdC5nZmllbGQgbGFiZWwge1xuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXG5cdC5nZm9ybV93cmFwcGVyICN7JGFsbC10ZXh0LWlucHV0c30ge1xuXHQgICAgYm9yZGVyOiAkYmFzZS1ib3JkZXI7XG5cdCAgICBib3JkZXItY29sb3I6ICNmZmY7XG5cdCAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHQgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuXHQgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG5cdCAgICBtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZztcblx0ICAgIHBhZGRpbmc6ICRiYXNlLXNwYWNpbmcgLyAzICFpbXBvcnRhbnQ7XG5cdCAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGJhc2UtZHVyYXRpb24gJGJhc2UtdGltaW5nO1xuXHQgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0fVxuXHQuZ2Zvcm1fd3JhcHBlciB7XG5cdFx0bWFyZ2luOiAwO1xuXG5cdFx0LmdmaWVsZF9jaGVja2JveCB7XG5cdCAgICBcdGxpIHtcblx0ICAgIFx0XHRsYWJlbCB7XG5cdCAgICBcdFx0XHRjb2xvcjojZmZmO1xuXHQgICAgXHRcdH1cblx0ICAgIFx0fVxuXHQgICAgfVxuXHQgICAgLmdmaWVsZF9yYWRpbyB7XG5cdCAgICBcdGxpIHtcblx0ICAgIFx0XHRtYXJnaW4tYm90dG9tOiA4cHggIWltcG9ydGFudDtcblxuXHQgICAgXHRcdGxhYmVsIHtcblx0ICAgIFx0XHRcdGNvbG9yOiNmZmY7XG5cdCAgICBcdFx0XHRkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcblx0ICAgIFx0XHR9XG5cdCAgICBcdH1cblx0ICAgIH1cblx0fVxuXG5cdC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblxuXHQuZ2Zvcm1fZm9vdGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYnV0dG9uIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0XHRjb2xvcjogYmxhY2s7XG5cdH1cblxuXHQuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIHtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdG1hcmdpbi10b3A6IDE2cHggIWltcG9ydGFudDtcblx0fVxuXG5cdC5nZm9ybV93cmFwcGVyIGRpdi52YWxpZGF0aW9uX2Vycm9yIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRjb2xvcjogcmVkO1xuXHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdC5nZm9ybV93cmFwcGVyIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuXHRcdGNvbG9yOiByZWQ7XG5cdFx0cGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50O1xuXHR9XG5cblx0LmdmaWVsZF9lcnJvciAuZ2lucHV0X2NvbnRhaW5lciB7XG5cdFx0bWFyZ2luOiAwICFpbXBvcnRhbnQ7XG5cdFx0bWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cblx0XHQjeyRhbGwtdGV4dC1pbnB1dHN9IHtcblx0XHRcdGJvcmRlci1jb2xvcjogcmVkICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdCYuaXMtaGlkZGVuIHtcblx0XHRcdHJpZ2h0OiAtNDUwcHg7XG5cdFx0fVxuXHR9XG59XG4iLCIuZmVhdHVyZXMge1xuXG5cdC53cmFwIHtcblxuXHRcdC5mZWF0dXJlIHtcblx0XHRcdGhlaWdodDogMTUwcHg7XG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyLjQlO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG5cdFx0XHRcdEBpbmNsdWRlIG9tZWdhKDIpO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcblx0XHRcdFx0QGluY2x1ZGUgb21lZ2EtcmVzZXQoMik7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjMDAwO1xuXHRcdFx0XHRvcGFjaXR5OiAwLjQ7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRhY3Rpb24tY29sb3I7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAwLjg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5mZWF0dXJlLWNvbnRlbnQge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGJvdHRvbTogMTAlO1xuXHRcdFx0XHRsZWZ0OiA1JTtcblx0XHRcdFx0d2lkdGg6IDkwJTtcblx0XHRcdFx0ei1pbmRleDogOTk7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XG5cdFx0XHRcdC5mZWF0dXJlLXRpdGxlIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjJlbTtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuY29udGVudCB7XG5cdG1hcmdpbi10b3A6IDVlbTtcbn1cblxuLmVudHJ5LWNvbnRlbnQgdWwsIG9sIHtcblx0bGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuXHRtYXJnaW4tYm90dG9tOiAxLjVlbTtcbn1cblxuLmVudHJ5LWNvbnRlbnQgdWwsXG4uY29udGVudCB1bCB7XG5cblx0bGkge1xuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRtYXJnaW4tbGVmdDogMjBweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0fVxuXG5cdCYgPiBsaSB7XG5cblx0XHQmID4gdWwgbGkge1xuXHRcdFx0bWFyZ2luLXRvcDogMTBweDtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR3aWR0aDogNnB4O1xuXHRcdFx0XHRoZWlnaHQ6IDZweDtcblx0XHRcdFx0YmFja2dyb3VuZDogJGFjdGlvbi1jb2xvcjtcblx0XHRcdFx0dG9wOiA4cHg7XG5cdFx0XHRcdGxlZnQ6IC0yMHB4O1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR3aWR0aDogOHB4O1xuXHRcdFx0aGVpZ2h0OiA4cHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkYWN0aW9uLWNvbG9yO1xuXHRcdFx0dG9wOiA4cHg7XG5cdFx0XHRsZWZ0OiAtMjBweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHR9XG5cblx0XHQmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cdH1cbn1cblxuLmVudHJ5LWNvbnRlbnQgLnVsLWRvdHMtcmlnaHQsXG4uY29udGVudCAudWwtZG90cy1yaWdodCB7XG5cdHVsIHtcblxuXHRcdGxpIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0fVxuXG5cdFx0JiA+IGxpIHtcblx0XHRcdCYgPiB1bCBsaSB7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRyaWdodDogLTIwcHg7XG5cdFx0XHRcdFx0bGVmdDogYXV0bztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGxlZnQ6IGF1dG87XG5cdFx0XHRcdHJpZ2h0OiAtMjBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi5zaWRlYmFyIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgICBtYXJnaW4tdG9wOiA1ZW07XG59XG5cbi5zaWRlYmFyIGxpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNtYWxsLXNwYWNpbmc7XG59XG5cbi5zaWRlYmFyIHA6bGFzdC1jaGlsZCxcbi5zaWRlYmFyIHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNpZGViYXIgLndpZGdldCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiAkYmFzZS1ib3JkZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZyoyO1xuICAgIHBhZGRpbmc6ICRiYXNlLXNwYWNpbmc7XG5cbiAgICAmLndpZGdldF9zb2NpYWxfbGlua3Mge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbi5zaWRlYmFyIC53aWRnZXQgLndpZGdldC10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJhc2UtYm9yZGVyO1xuICAgIGJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgIHBhZGRpbmctYm90dG9tOiAkc21hbGwtc3BhY2luZztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53aWRnZXRfbmV3c2xldHRlcl93aWRnZXQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDM4cHg7XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2Uge1xuICAgIC5zaWRlYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iLCJibG9ja3F1b3RlIHtcblx0Ym9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkYWN0aW9uLWNvbG9yO1xuXHRjb2xvcjogJGFjdGlvbi1jb2xvcjtcbn1cbiIsIiRjb21tZW50LWJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4uY29tbWVudC1yZXNwb25kLFxuLmVudHJ5LWNvbW1lbnRzLFxuLmVudHJ5LXBpbmdzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29tbWVudC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLWZvbnQtc2l6ZSoyO1xufVxuXG4uY29tbWVudC1yZXNwb25kLFxuLmVudHJ5LXBpbmdzIHtcbiAgICBwYWRkaW5nOiAkYmFzZS1mb250LXNpemUqMiAkYmFzZS1mb250LXNpemUqMiAkYmFzZS1mb250LXNpemU7XG59XG5cbi5lbnRyeS1jb21tZW50cyB7XG4gICAgcGFkZGluZzogJGJhc2UtZm9udC1zaXplKjI7XG59XG5cbi5jb21tZW50LWhlYWRlciB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG59XG5cbmxpLmNvbW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29tbWVudC1iYWNrZ3JvdW5kLWNvbG9yLCAxMCk7XG4gICAgYm9yZGVyOiAkYmFzZS1ib3JkZXI7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4uY29tbWVudC1jb250ZW50IHtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuLmNvbW1lbnQtbGlzdCBsaSB7XG4gICAgbWFyZ2luLXRvcDogJGJhc2UtZm9udC1zaXplO1xuICAgIHBhZGRpbmc6ICRiYXNlLWZvbnQtc2l6ZSoyO1xuXG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kYmFzZS1mb250LXNpemUqMjtcbiAgICB9XG59XG5cbi5jb21tZW50LXJlc3BvbmQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLmNvbW1lbnQtcmVzcG9uZCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5jb21tZW50LXJlc3BvbmQgaW5wdXRbdHlwZT1cInVybFwiXSB7XG4gICAgd2lkdGg6IDUwJTtcbn1cblxuLmNvbW1lbnQtcmVzcG9uZCBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAkYmFzZS1mb250LXNpemU7XG59XG5cbi5lbnRyeS1jb21tZW50cyAuY29tbWVudC1hdXRob3Ige1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5lbnRyeS1waW5ncyAucmVwbHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ieXBvc3RhdXRob3Ige1xufVxuXG4uZm9ybS1hbGxvd2VkLXRhZ3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29tbWVudC1iYWNrZ3JvdW5kLWNvbG9yLDEwKTtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgICBwYWRkaW5nOiAkYmFzZS1mb250LXNpemUqMjtcbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW46ICRiYXNlLXNwYWNpbmcqMiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuICAgICAgICBwYWRkaW5nOiAwICRiYXNlLXNwYWNpbmc7XG4gICAgfVxufVxuXG4uYWRqYWNlbnQtZW50cnktcGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmFyY2hpdmUtcGFnaW5hdGlvbiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgYSB7XG4gICAgICAgIGJvcmRlcjogJGJhc2UtYm9yZGVyO1xuICAgICAgICBib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91ZC1jb2xvcjogJGFjdGlvbi1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aW9uLWNvbG9yO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxufVxuIiwiLmNhbGwtdG8tYWN0aW9uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdC5iZyB7XG5cdFx0b3BhY2l0eTogMC44O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdH1cblxuXHQuYm9yZGVyIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xuXHRcdGhlaWdodDogY2FsYygxMDAlIC0gNjBweCk7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHotaW5kZXg6IDIwMDA7XG5cblx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIC01MCUpKTtcblx0fVxuXG5cdC53cmFwIHtcblx0XHRwYWRkaW5nOiAzZW0gJGJhc2Utc3BhY2luZztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMTAwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDRlbTtcblx0XHRcdHBhZGRpbmctdG9wOiA0ZW07XG5cdFx0fVxuXHR9XG5cblx0Ji5mb290ZXItY3RhIHtcblx0XHQud3JhcCB7XG5cdFx0XHRwYWRkaW5nOiAzZW0gJGJhc2Utc3BhY2luZztcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdFx0XHRwYWRkaW5nOiA4ZW0gMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuY3RhLWNvbnRlbnQge1xuXHRcdCo6bm90KGEpLFxuXHRcdCo6bm90KGJ1dHRvbikge1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0fVxuXG5cdFx0KjpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXG5cdFx0LnN0cmlrZXRocm91Z2gge1xuXHRcdFx0Y29sb3I6ICNjOTI4MmQ7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblx0XHR9XG5cblx0XHQmLmhhcy10YWJsZSB7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblxuXHRcdC5jZWxsIHtcblx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdH1cblxuXHRcdC5pbWctbGVmdCwgLmltZy1yaWdodCB7XG5cdFx0XHR3aWR0aDogMjUlO1xuXHRcdH1cblxuXHRcdC50ZXh0LXJpZ2h0LCAudGV4dC1sZWZ0IHtcblx0XHRcdHdpZHRoOiA3NSU7XG5cdFx0fVxuXG5cdFx0LnRleHQtcmlnaHQge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1xuXHRcdH1cblxuXHRcdC50ZXh0LWxlZnQge1xuXHRcdFx0cGFkZGluZy1yaWdodDogMjBweDtcblx0XHR9XG5cblx0XHRociB7XG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRtYXgtd2lkdGg6IDgwcHg7XG5cdFx0fVxuXHR9XG59XG5cbi5zaW5nbGUtcG9zdCAuY2FsbC10by1hY3Rpb24ge1xuXHRtYXJnaW46ICRiYXNlLXNwYWNpbmcgMDtcbn1cblxuLnNpbmdsZS1wb3N0IC5jYWxsLXRvLWFjdGlvbiAud3JhcCB7XG5cdHBhZGRpbmc6IDYwcHg7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdHdpZHRoOiAxMDAlXG59XG5cbi8vIC5jYWxsLXRvLWFjdGlvbi1hbHQge1xuLy8gXHRiYWNrZ3JvdW5kOiAkY3RhLWFsdC1iZztcbi8vXG4vLyBcdC5iZyB7XG4vLyBcdFx0b3BhY2l0eTogJGN0YS1hbHQtYmctb3BhY2l0eTtcbi8vIFx0fVxuLy9cbi8vIFx0LmluZm8ge1xuLy8gXHRcdG1heC13aWR0aDogY2FsYygxMDAlIC0gMjQwcHgpO1xuLy8gXHRcdHRleHQtYWxpZ246IGxlZnQ7XG4vL1xuLy8gXHRcdC5hY2NlbnQtdGl0bGUge1xuLy8gXHRcdFx0Y29sb3I6ICRjb2xvci0yO1xuLy8gXHRcdH1cbi8vIFx0XHQubm9ybWFsLXRpdGxlIHtcbi8vIFx0XHRcdGNvbG9yOiAkY3RhLWFsdC1ub3JtYWwtdGl0bGUtY29sb3I7XG4vLyBcdFx0XHRmb250LXNpemU6ICRjdGEtYWx0LW5vcm1hbC10aXRsZS1zaXplO1xuLy8gXHRcdH1cbi8vIFx0fVxuLy9cbi8vIFx0LmJ1dHRvbi13cmFwIHtcbi8vIFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuLy8gXHRcdG1hcmdpbi10b3A6IDA7XG4vLyBcdH1cbi8vXG4vLyBcdC5waW5rLWJ1dHRvbiB7XG4vLyBcdFx0cG9zaXRpb246IGFic29sdXRlO1xuLy8gXHRcdHRvcDogNTAlO1xuLy8gXHRcdHJpZ2h0OiAwO1xuLy9cbi8vIFx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4vLyBcdH1cbi8vIH1cbiIsIi5mb290ZXItd2lkZ2V0cyB7XG4gICAgYmFja2dyb3VuZDogJGFjdGlvbi1jb2xvcjtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjIpO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmc7XG4gICAgcGFkZGluZzogJGJhc2Utc3BhY2luZyoyIDAgJGJhc2Utc3BhY2luZyAwO1xuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNyk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNvY2lhbC1saW5rIHN2ZyB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xuICAgIGZpbGw6ICRhY3Rpb24tY29sb3I7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRiYXNlLWR1cmF0aW9uICRiYXNlLXRpbWluZztcbiAgICB3aWR0aDogMzVweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIH1cblxuICAgIC53aWRnZXRfc29jaWFsX2xpbmtzICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuOCk7XG4gICAgICAgIGZpbGw6IHdoaXRlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjdGlvbi1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvb3Rlci13aWRnZXRzIC5tZW51IC5tZW51LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkc21hbGwtc3BhY2luZyAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc21hbGwtc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIGEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIGEge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxuLnNpdGUtZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aW9uLWNvbG9yO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1saW5lLWhlaWdodDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICAgICAgcGFkZGluZzogJGJhc2Utc3BhY2luZyAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb290ZXItbGVmdCxcbi5mb290ZXItcmlnaHQsXG4uZm9vdGVyLXdpZGdldHMtMSxcbi5mb290ZXItd2lkZ2V0cy0yIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG59XG5cbi5mb290ZXItcmlnaHQsXG4uZm9vdGVyLXdpZGdldHMtMiB7XG4gICAgbWFyZ2luLXRvcDogJGJhc2Utc3BhY2luZztcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxufVxuXG4uZm9vdGVyLWNyZWRzIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBwYWRkaW5nLWJvdHRvbTogM2VtO1xufVxuIiwiLmhhcy1vdmVybGF5IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaGFzLW92ZXJsYXk6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0YmFja2dyb3VuZDogJHJlZDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvcGFjaXR5OiAwLjY7XG5cdHdpZHRoOiAxMDAlO1xuXG59XG4iLCIudG1sLXByb2ZpbGUge1xuXG4gICAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZyoyO1xuXG4gICAgdGgge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gICAgfVxuXG4gICAgdGQge1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgfVxufVxuXG4udG1sLWxvZ2luLFxuLnRtbC1yZXNldHBhc3Mge1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmcqMjtcbn1cblxuLnRtbCAudG1sLWFjdGlvbi1saW5rcyB7XG4gICAgbGkge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnBtcHJvLWxldmVscyxcbi5wbXByby1jaGVja291dCxcbi5wbXByby1iaWxsaW5nLFxuLnBtcHJvLWNvbmZpcm1hdGlvbixcbi5wbXByby1hY2NvdW50IHtcbiAgICAuY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmcqMjtcbiAgICB9XG59XG4iLCIubW92ZS1sZWZ0IHtcbiAgICAubW9iaWxlLXNob3cubW9iaWxlLW1lbnUtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4ubG9nZ2VkLWluLmFkbWluLWJhciB7XG4gICAgI21vYmlsZS1tZW51IHtcbiAgICAgICAgdG9wOiAzMnB4O1xuXG4gICAgICAgIEBtZWRpYSAoIG1heC13aWR0aDogNzgycHggKSB7XG4gICAgICAgICAgICB0b3A6IDQ2cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNtb2JpbGUtbWVudSB7XG4gICAgLmljb24tY2xvc2UtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoICRyZWQsIDAuNSApO1xuICAgICAgbGVmdDogLTI4cHg7XG4gICAgICB0b3A6IDIwcHg7XG4gICAgfVxuXG4gICAgbGkge1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTZweCAyMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdG9wOiAxNnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubW92ZS1pbiB7XG4gICAgICAgIG92ZXJmbG93OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5tb2JpbGUtbWVudSB7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICB9XG5cbiAgICAuc3ViLW1lbnUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IDIwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCIuc3RvcmUtY3RhLXBvcC11cCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uc3RvcmUtY3RhLXBvcC11cC1kYXJrLWJnIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xufVxuXG4uc3RvcmUtY3RhLXBvcC11cC1pbm5lciB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKCB0cmFuc2xhdGUoIC01MCUsIC01MCUgKSApO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgbGVmdDogNTAlO1xuICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgei1pbmRleDogMTAwMDA7XG5cbiAgICBAbWVkaWEoIG1heC13aWR0aDogNDAwcHggKSB7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgfVxuXG4gICAgLnN0b3JlLWN0YS1wb3AtaW5uZXItcmVkLW92ZXJsYXkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbn1cblxuLnN0b3JlLWN0YS1wb3AtdXAtY2xvc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTEwcHg7XG4gICAgdG9wOiAtMTBweDtcbiAgICB3aWR0aDogMjVweDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zICRiYXNlLXRpbWluZztcbiAgICB6LWluZGV4OiAxMDAwMDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oIHRyYW5zbGF0ZSggLTUwJSwgLTUwJSApICk7XG4gICAgICAgIGNvbnRlbnQ6IFwiWFwiO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG59XG5cblxuLnN0b3JlLWN0YS1wb3AtdXAtaW5uZXItY29udGVudCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7XG4gICAgYm90dG9tOiAxNXB4O1xuICAgIGxlZnQ6IDE1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIHRvcDogMTVweDtcbiAgICB6LWluZGV4OiAxMDAwMDA7XG59XG5cbi5zdG9yZS1jdGEtcG9wLXVwLWlubmVyLWNvbnRlbnQtaW5zaWRlcyB7XG4gICAgYm90dG9tOiAkYmFzZS1zcGFjaW5nO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxlZnQ6IDE1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxMDAwMDAwO1xuXG4gICAgcCB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgIH1cbn1cblxuLnN0b3JlLWN0YS1wb3AtdXAtYnRuIHtcblxuICAgIGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZztcbiAgICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcmVkO1xuICAgICAgICAgICAgYm90dG9tOiA1cHg7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgJGJhc2UtdGltaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJHJlZDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQGltcG9ydCBcImZpZnR5LWZpZnR5XCI7XG5AaW1wb3J0IFwic2l4dHktZm91cnR5XCI7XG5AaW1wb3J0IFwiYWNjb3JkaW9uXCI7XG5AaW1wb3J0IFwiY29udGVudFwiO1xuQGltcG9ydCBcInRpbGVzXCI7XG5AaW1wb3J0IFwiYmxvZ1wiO1xuQGltcG9ydCBcImljb24tYmx1cmJzXCI7XG5AaW1wb3J0IFwicHJpY2luZy1zZWN0aW9uXCI7XG5AaW1wb3J0IFwiZmlmdHktZm9ybVwiO1xuQGltcG9ydCBcImp1aWNlclwiO1xuXG4jZmxleGlibGUtc2VjdGlvbi1yZXBlYXRlciB7XG5cblx0LnBhZ2UtZmxleGlibGUtc2VjdGlvbiB7XG5cdFx0Ji5oYXMtdG9wLXBhZGRpbmcge1xuXHRcdFx0cGFkZGluZy10b3A6IDNlbTtcblx0XHR9XG5cblx0XHQmLmhhcy1ib3QtcGFkZGluZyB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogM2VtO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRcdCYuaGFzLXRvcC1wYWRkaW5nIHtcblx0XHRcdFx0cGFkZGluZy10b3A6IDVlbTtcblx0XHRcdH1cblxuXHRcdFx0Ji5oYXMtYm90LXBhZGRpbmcge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogNWVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiI2ZsZXhpYmxlLXNlY3Rpb24tcmVwZWF0ZXIge1xuICAgIC5pbmZvcm1hdGlvbmFsLWN0YS1zZWN0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcblxuICAgICAgICAmLnBhZ2UtZmxleGlibGUtc2VjdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLndyYXAgeyBwb3NpdGlvbjogc3RhdGljOyB9XG5cbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRiYXNlLXNwYWNpbmcqMiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNoaWZ0KDYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkYmFzZS1zcGFjaW5nKjI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaW1hZ2Uge1xuICAgICAgICAgICAgICAgICRwb3MtcGVyY2VudDogNTAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmxlZnQgeyBsZWZ0OiAkcG9zLXBlcmNlbnQ7IH1cbiAgICAgICAgICAgICAgICAmLnJpZ2h0IHsgcmlnaHQ6ICRwb3MtcGVyY2VudDsgfVxuXG4gICAgICAgICAgICAgICAgLmJnIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYmctaW1hZ2U7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIjZmxleGlibGUtc2VjdGlvbi1yZXBlYXRlciAuc2l4dHktZm91cnR5IHtcbiAgICBwYWRkaW5nOiAkYmFzZS1zcGFjaW5nKjIgMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLnBhZ2UtZmxleGlibGUtc2VjdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4jZmxleGlibGUtc2VjdGlvbi1yZXBlYXRlciAuc2l4dHktZm91cnR5IC5pdGVtIHtcblxuICAgICYuY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg3KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg1KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiJGFjY29yZGlvbi10ZW1wbGF0ZS1jbG9zZS1jb2xvcjogI2ZmZjtcbiRhY2NvcmRpb24tdGVtcGxhdGUtdGl0bGUtaG92ZXItY29sb3I6ICNmZmY7XG4kYWNjb3JkaW9uLXRlbXBsYXRlLWluZm8tY29sb3I6ICM2ODY4Njg7XG5cbi5hY2NvcmRpb24tcGFnZSB7XG5cdC53cmFwLmNvbnRlbnQge1xuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDQwcHg7XG5cdFx0fVxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHR9XG5cdH1cblxuXHQud3JhcC5uby1jb250ZW50IHtcblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi5zaW5nbGUtcHJvZHVjdCB7XG5cdC5hY2NvcmRpb24tcm93IHtcblx0XHRtYXJnaW4tYm90dG9tOiA4cHggIWltcG9ydGFudDtcblx0fVxuXG5cdC5hY2NvcmRpb24tdGl0bGUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRkYXJraXNoLWdyYXkgIWltcG9ydGFudDtcblx0fVxufVxuXG4uYWNjb3JkaW9uLWJsb2NrIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHQudGl0bGUge1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0fVxuXG5cdC5hY2NvcmRpb24tcm93IHtcblx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXG5cdFx0LmFjY29yZGlvbi10aXRsZSB7XG5cdFx0XHRwYWRkaW5nOiAxMHB4IDIwcHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0Ym9yZGVyOiAkYmFzZS1ib3JkZXI7XG5cblx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oJGJhc2UtZHVyYXRpb24gJGJhc2UtdGltaW5nKTtcblxuXHRcdFx0c3ZnIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0cmlnaHQ6IDE1cHg7XG5cdFx0XHRcdHdpZHRoOiAzMHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdFx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG5cdFx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oJGJhc2UtZHVyYXRpb24gJGJhc2UtdGltaW5nKTtcblxuXHRcdFx0XHRwYXRoLCBwb2x5Z29uIHtcblx0XHRcdFx0XHRmaWxsOiAkYWNjb3JkaW9uLXRlbXBsYXRlLWNsb3NlLWNvbG9yO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0YmFja2dyb3VuZDogJGFjdGlvbi1jb2xvcjtcblx0XHRcdH1cblxuXHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0YmFja2dyb3VuZDogJGFjdGlvbi1jb2xvcjtcblx0XHRcdFx0c3ZnIHsgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKSk7IH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuYWNjb3JkaW9uLWluZm8ge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdGNvbG9yOiAkYWNjb3JkaW9uLXRlbXBsYXRlLWluZm8tY29sb3I7XG5cdFx0XHRwYWRkaW5nOiAyMHB4IDIwcHggNXB4IDIwcHg7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG5cdFx0XHQqOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXG5cdFx0XHR1bCB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMjBweDtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYgPiBsaSB7XG5cblx0XHRcdFx0XHQmID4gdWwgbGkge1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMTBweDtcblxuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogNnB4O1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDZweDtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJGFjdGlvbi1jb2xvcjtcblx0XHRcdFx0XHRcdFx0dG9wOiA4cHg7XG5cdFx0XHRcdFx0XHRcdGxlZnQ6IC0yMHB4O1xuXHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR3aWR0aDogOHB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiA4cHg7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkYWN0aW9uLWNvbG9yO1xuXHRcdFx0XHRcdFx0dG9wOiA4cHg7XG5cdFx0XHRcdFx0XHRsZWZ0OiAtMjBweDtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LnVsLWRvdHMtcmlnaHQge1xuXHRcdFx0XHR1bCB7XG5cblx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYgPiBsaSB7XG5cdFx0XHRcdFx0XHQmID4gdWwgbGkge1xuXHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdFx0cmlnaHQ6IC0yMHB4O1xuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6IGF1dG87XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRsZWZ0OiBhdXRvO1xuXHRcdFx0XHRcdFx0XHRyaWdodDogLTIwcHg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpmaXJzdC1jaGlsZCB7IHBhZGRpbmctdG9wOiAwOyB9XG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHR9XG5cdH1cbn1cbiIsIiNmbGV4aWJsZS1zZWN0aW9uLXJlcGVhdGVyIHtcblx0LmNvbnRlbnQtc2VjdGlvbiB7XG5cdFx0LmNvbnRlbnQsXG5cdFx0LmwtY29udGVudCxcblx0XHQuci1jb250ZW50IHtcblx0XHRcdCo6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmwtY29udGVudCxcbiAgICAgICAgLnItY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmwtY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnItY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvbWVnYSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cdH1cbn1cbiIsIi50aWxlLWJsb2NrcyB7XG5cdG92ZXJmbG93OiBhdXRvO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuXHRcdEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG5cdH1cbn1cblxuLnRpbGUtYmxvY2sge1xuXHRwYWRkaW5nOiAkYmFzZS1zcGFjaW5nKjMgJGJhc2Utc3BhY2luZyoyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdEBpbmNsdWRlIGZsZXgoMSk7XG5cdFx0bWluLWhlaWdodDogMzAwcHg7XG5cdH1cblxuXHQmLmhhcy1yZWQtb3ZlcmxheSB7XG5cdFx0JjphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0b3BhY2l0eTogMC42O1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5ICRiYXNlLWR1cmF0aW9uICRiYXNlLXRpbWluZztcblx0XHRcdHotaW5kZXg6IDEwO1xuXHRcdH1cblx0fVxuXG5cdCYuaGFzLWJnIHtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHR9XG5cblx0LnRpbGUtYmxvY2staGVhZGVyLFxuXHQudGlsZS1ibG9jay1leGNlcnB0LFxuXHQudGlsZS1ibG9jay1mb290ZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxMDA7XG5cdH1cbn1cblxuLnRpbGUtYmxvY2suaGFzLWJnIC50aWxlLWJsb2NrLXRpdGxlLFxuLnRpbGUtYmxvY2suaGFzLWJnIC50aWxlLWJsb2NrLWV4Y2VycHQgcCxcbi50aWxlLWJsb2NrLmhhcy1iZyAudGlsZS1ibG9jay1mb290ZXIgYSB7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLnRpbGUtYmxvY2stdGl0bGUge1xuXHRmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG59XG5cbi50aWxlLWJsb2NrLWZvb3RlciBhIHtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogI2ZmZjtcblx0fVxufVxuIiwiLnBhZ2UtZmxleGlibGUtc2VjdGlvbi5wYWdlLXNlY3Rpb24tc3RvcmllcyB7XG5cdGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuXHRwYWRkaW5nLXRvcDogM2VtO1xuXHRwYWRkaW5nLWJvdHRvbTogM2VtO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRwYWRkaW5nLXRvcDogNWVtO1xuXHRcdHBhZGRpbmctYm90dG9tOiA1ZW07XG5cdH1cblxuXG5cdCYudHdvLXBvc3RzIC5zdG9yaWVzIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHR3aWR0aDogcGVyY2VudGFnZSgyLzMpO1xuXG5cdFx0LnN0b3J5IHtcblx0XHRcdHdpZHRoOiBwZXJjZW50YWdlKDEvMik7XG5cdFx0fVxuXHR9XG5cblx0Ji5mb3VyLXBvc3RzIC5zdG9yaWVzIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdC5zdG9yeSB7XG5cdFx0XHR3aWR0aDogcGVyY2VudGFnZSgxLzQpO1xuXHRcdH1cblx0fVxufVxuIiwiLnBhZ2UtZmxleGlibGUtc2VjdGlvbiB7XG5cbiAgICAmLmljb24tYmx1cmItc2VjdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIH1cblxuICAgIC5ibHVyYi10aXRsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUqMS41O1xuICAgIH1cblxuICAgIC5ibHVyYiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZyoyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkbWVkaXVtLXNjcmVlbi11cCApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5ibHVyYi1pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBoZWlnaHQ6IDEyNXB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0byAkYmFzZS1zcGFjaW5nO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMjVweDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSk7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuYmx1cmItY29udGVudCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG4iLCIucGFnZS1mbGV4aWJsZS1zZWN0aW9uLnByaWNpbmctc2VjdGlvbiB7XG5cbiAgICAucGFnZS1zZWN0aW9uLXRpdGxlLFxuICAgIC5yaWdodC10aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgLnJpZ2h0LXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgzMHB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZztcbiAgICB9XG5cbiAgICAubGVmdC1zaWRlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRtZWRpdW0tc2NyZWVuLXVwICkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJpZ2h0LXNpZGUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSggJG1lZGl1bS1zY3JlZW4tdXAgKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmlnaHQtY29taW5nLXNvb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMzBweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgIG1hcmdpbi10b3A6ICRiYXNlLXNwYWNpbmc7XG4gICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgcGFkZGluZzogJGJhc2Utc3BhY2luZztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbn1cblxuLy8gQ2FuIGJlIHVzZWQgZ2xvYmFsbHlcbi5zdGFydC1ib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCAkbWVkaXVtLXNjcmVlbi11cCApIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICB9XG5cbiAgICAuc3RhcnQtdG9wIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyNHB4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc21hbGwtc3BhY2luZztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RhcnQtYm90dG9tIHtcbiAgICAgICAgcGFkZGluZzogJGJhc2Utc3BhY2luZztcbiAgICB9XG5cbiAgICAuc3RhcnQtbm9ybS1wcmljZSxcbiAgICAuc3RhcnQtcmVkdWNlZC1wcmljZSB7XG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSg0OHB4KTtcbiAgICAgICAgfVxuICAgICAgICAucHJpY2UtcGVyaW9kIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMThweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RhcnQtbm9ybS1wcmljZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCBsaWdodGVuKCAkYmxhY2ssIDcwJSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzbWFsbC1zcGFjaW5nO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNtYWxsLXNwYWNpbmc7XG5cbiAgICAgICAgLnByaWNlLFxuICAgICAgICAucHJpY2UtcGVyaW9kIHtcbiAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCAkYmxhY2ssIDcwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xhc2hlZCB7XG4gICAgICAgICAgICAuaW5uZXItc2xhc2gge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKCByb3RhdGUoMTJkZWcpICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0YXJ0LWJsdXJiIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGJhc2Utc3BhY2luZztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZyoyO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbn1cbiIsIi5maWZ0eS1mb3JtLWN0YS1zZWN0aW9uIHtcblxuICAgIC5zaXhjb2wge1xuICAgICAgICB3aWR0aDogNDguNSU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLnNpeGNvbDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICAuY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNlbSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaGFzLWZvcm0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICAgIHBhZGRpbmc6IDNlbTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICAgIC5oYXMtZm9ybS1iYWNrZ3JvdW5kIC5mb3JtLWJhY2tncm91bmQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLmZvcm0tYmFja2dyb3VuZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC8qKiBBQyBGb3JtIFN0eWxlcyAqKi9cbiAgICAuaGFzLWZvcm0tYmFja2dyb3VuZCBmb3JtIHtcbiAgICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICNmZmY7XG4gICAgfVxuXG4gICAgZm9ybSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgI2M5MjgyZDtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjAwO1xuICAgIH1cbiAgICAuX2Zvcm0tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gICAgLl9mb3JtX2VsZW1lbnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAuX2Zvcm0tbGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0sIHRleHRhcmVhLCBzZWxlY3Qge1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtcbiAgICAgICAgLW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7XG4gICAgfVxuICAgIC5oYXMtZm9ybS1iYWNrZ3JvdW5kIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCAuaGFzLWZvcm0tYmFja2dyb3VuZCB0ZXh0YXJlYSwgLmhhcy1mb3JtLWJhY2tncm91bmQgc2VsZWN0IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLl9oYXNfZXJyb3IsIHRleHRhcmVhLl9oYXNfZXJyb3IsIHNlbGVjdC5faGFzX2Vycm9yIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YzN2M3YiAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBzZWxlY3Qge1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIC13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O1xuICAgICAgICAtbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtcbiAgICB9XG4gICAgLmhhcy1mb3JtLWJhY2tncm91bmQgYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICB9XG4gICAgYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2M5MjgyZDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMzZweDtcbiAgICAgICAgLypib3JkZXItcmFkaXVzOiAxMDBweDsqL1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjYzkyODJkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgIH1cbiAgICBidXR0b246YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaGFzLWZvcm0tYmFja2dyb3VuZCBidXR0b246aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gICAgYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgY29sb3I6ICNjOTI4MmQ7XG4gICAgfVxuICAgIC5fZm9ybS1icmFuZGluZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqIEVycm9yIFN0eWxlcyAqKi9cbiAgICAuX2Vycm9yIHtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgIGZvbnQtc2l6ZToxM3B4O1xuICAgICAgICB6LWluZGV4OjEwMDAwMDAxO1xuICAgIH1cbiAgICAuX2Vycm9yLl9hYm92ZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOjRweDtcbiAgICAgICAgdG9wOi0xN3B4O1xuICAgICAgICByaWdodDowO1xuICAgIH1cbiAgICAuX2Vycm9yLl9iZWxvdyB7XG4gICAgICAgIHBhZGRpbmctdG9wOjRweDtcbiAgICAgICAgdG9wOjEwMCU7XG4gICAgICAgIHJpZ2h0OjA7XG4gICAgfVxuICAgIC5fZXJyb3IuX2Fib3ZlIC5fZXJyb3ItYXJyb3cge1xuICAgICAgICBib3R0b206MDtcbiAgICAgICAgcmlnaHQ6MTVweDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wOjVweCBzb2xpZCAjZjM3YzdiO1xuICAgIH1cbiAgICAuX2Vycm9yLl9iZWxvdyAuX2Vycm9yLWFycm93IHtcbiAgICAgICAgdG9wOjA7XG4gICAgICAgIHJpZ2h0OjE1cHg7XG4gICAgICAgIGJvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTo1cHggc29saWQgI2YzN2M3YjtcbiAgICB9XG4gICAgLl9lcnJvci1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6OHB4IDEycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6I2YzN2M3YjtcbiAgICAgICAgZm9udC1zaXplOjEzcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OmFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7XG4gICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czo0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6NHB4O1xuICAgIH1cbiAgICAuX2Vycm9yLWlubmVyLl9mb3JtX2Vycm9yIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTo1cHg7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgfVxuICAgIC5fYnV0dG9uLXdyYXBwZXIgLl9lcnJvci1pbm5lci5fZm9ybV9lcnJvciB7XG4gICAgICAgIHBvc2l0aW9uOnN0YXRpYztcbiAgICB9XG4gICAgLl9lcnJvci1pbm5lci5fbm9fYXJyb3cge1xuICAgICAgICBtYXJnaW4tYm90dG9tOjEwcHg7XG4gICAgfVxuICAgIC5fZXJyb3ItYXJyb3cge1xuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6MDtcbiAgICAgICAgaGVpZ2h0OjA7XG4gICAgfVxuICAgIC5fZXJyb3ItaHRtbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MTBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgLnNpeGNvbCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmp1aWNlckZlZWRTZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuXG4gICAgLnNlY3Rpb25IZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiAzZW0gMDtcblxuICAgICAgICAqIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG5cbiAgICAgICAgaDI6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICAqOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmp1aWNlci1mZWVkLnNsaWRlciAuc2xpY2stcHJldiB7XG4gICAgICAgIHRvcDogMzAlO1xuICAgICAgICBcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuanVpY2VyLWZlZWQuc2xpZGVyIC5zbGljay1uZXh0IHtcbiAgICAgICAgdG9wOiAzMCU7XG4gICAgICAgIFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn0iLCIubW9iaWxlLWJnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDU4MHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmF1dG9wbGF5LXZpZGVvIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4gLmpvZWwtc3Rvcnkge1xuXHRiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICAvLyBtYXJnaW4tdG9wOiAtMzBweDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoICRsYXJnZS1zY3JlZW4tdXAgKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiA1MDBweDtcbiAgICB9XG59XG5cbi5qb2VsLWltYWdlLFxuLmpvZWwtY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5qb2VsLWltYWdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi1oZWlnaHQ6IDQ2MXB4O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvMyk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG4gICAgfVxufVxuXG4uam9lbC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAoJGJhc2Utc3BhY2luZyoyKSAkYmFzZS1zcGFjaW5nO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcbiAgICAgICAgcGFkZGluZzogMmVtIDEuNWVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggdHJhbnNsYXRlWSggLTUwJSApICk7XG4gICAgICAgIGxlZnQ6IHBlcmNlbnRhZ2UoMS8zKSsyLjUlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRiYXNlLXNwYWNpbmc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDIvMyktMi41JTtcbiAgICB9XG59XG5cbi5qb2VsLXN0b3J5Lm5vLWltYWdlIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLmpvZWwtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggdHJhbnNsYXRlWSggMCApICk7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZzogOGVtIDEuNWVtO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwODBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmpvZWwtY29udGVudC13cmFwIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmpvZWwtY29udGVudC13cmFwIHtcbiAgICBtYXgtd2lkdGg6IDc4MHB4O1xuXHQuYnV0dG9uIHtcblx0XHRtYXJnaW4tdG9wOiAkYmFzZS1zcGFjaW5nO1xuXHR9XG59XG5cbi5zdG9yaWVzIC5zdG9yeSB7XG5cdG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmcqMjtcblx0cGFkZGluZzogMCAkYmFzZS1zcGFjaW5nO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuXG5cdC5zdG9yeS1pbWFnZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBcdG1hcmdpbi1ib3R0b206ICRzbWFsbC1zcGFjaW5nO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRib3JkZXItcmlnaHQ6ICRiYXNlLWJvcmRlcjtcblx0XHRib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZztcblx0XHR3aWR0aDogcGVyY2VudGFnZSgxLzMpO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgLy8gcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIC8vIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cblx0fVxuXG5cdC5zdG9yeS10aXRsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiBlbSgyNCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0fVxufVxuXG4uc2xpY2stc2xpZGVyIHtcbiAgICAuc2xpY2stZG90cyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKCB0cmFuc2xhdGVYKCAtNTAlICkgKTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3R0b206IDBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgei1pbmRleDogNTA7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRyZWQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiBsaSBidXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3R1ZHkgLndyYXAge1xuXHRAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTA4MHB4KTtcbn1cblxuLnN0dWR5LWhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNtYWxsLXNwYWNpbmc7XG59XG5cbi5zdHVkeS1pbmZvIHtcblx0bWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZztcblxuXHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDcpO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHQuc3R1ZHktdGl0bGUge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHQuc3R1ZHktc3VidGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRmb250LXdlaWdodDogMTAwO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cdH1cbn1cblxuLnN0dWR5LWltYWdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIFxuICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg1KTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2E7XG5cdH1cblxuXHRpbWcge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi5zdHVkeS1mb290ZXIge1xuXHRtYXJnaW4tdG9wOiAkYmFzZS1zcGFjaW5nO1xufVxuIiwiLmJsb2cgLmNvbnRlbnQsXG4uc2luZ2xlIC5jb250ZW50IHtcblx0bWFyZ2luLWJvdHRvbTogNWVtO1xuXHRtYXJnaW4tdG9wOiA1ZW07XG5cblx0YXJ0aWNsZS5wb3N0IHtcblx0XHRtYXJnaW4tYm90dG9tOiAkYmFzZS1zcGFjaW5nKjI7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRwYWRkaW5nOiAkYmFzZS1zcGFjaW5nIDA7XG5cdFx0fVxuXG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHR9XG5cdH1cbn1cblxuLmVudHJ5LXRpdGxlIHtcblx0Y29sb3I6ICRiYXNlLWZvbnQtY29sb3I7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cblx0YSB7XG5cdFx0Y29sb3I6ICRiYXNlLWZvbnQtY29sb3I7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkYWN0aW9uLWNvbG9yO1xuXHRcdH1cblx0fVxufVxuXG4uZW50cnktbWV0YSB7XG5cdHBhZGRpbmctdG9wOiAxMHB4O1xufVxuIiwiLmFyY2hpdmUucG9zdC10eXBlLWFyY2hpdmUsXG4uYXJjaGl2ZS53b29jb21tZXJjZSB7XG4gICAgLnN0dWR5LXdyYXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSggJG1lZGl1bS1zY3JlZW4tdXAgKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgICAgICAgICBAaW5jbHVkZSBvbWVnYSgybik7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSggJGxhcmdlLXNjcmVlbi11cCApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDJuKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhKDRuKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnN0dWR5IHtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgbWluLWhlaWdodDogMjI1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuc3R1ZHktc2xpZGUtbGluayB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgJGJhc2UtdGltaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSggJHJlZCwgMC42KTtcblxuICAgICAgICAgICAgICAgIC5ob3Zlci1hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYWN0aW9uLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGFjdGlvbi1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyAkYmFzZS10aW1pbmc7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtNXB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogNXB4O1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IC01cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN0dWR5LWNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYm90dG9tOiAkYmFzZS1zcGFjaW5nO1xuICAgICAgICAgICAgbGVmdDogJHNtYWxsLXNwYWNpbmc7XG4gICAgICAgICAgICByaWdodDogJHNtYWxsLXNwYWNpbmc7XG5cbiAgICAgICAgICAgIC5ob3Zlci1hcnJvdyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byAkYmFzZS1zcGFjaW5nKjEuNzU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyAkYmFzZS10aW1pbmcgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG5cbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwgLTUwJSkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jbHMtMSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6IHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnN0dWR5LXRpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3R1ZHktdGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn1cbiIsIi5hcmNoaXZlIC5jb250ZW50IHtcblx0bWFyZ2luLWJvdHRvbTogNWVtO1xuXHRtYXJnaW4tdG9wOiA1ZW07XG5cblx0YXJ0aWNsZS5wb3N0IHtcblx0XHRtYXJnaW4tYm90dG9tOiAkYmFzZS1zcGFjaW5nKjI7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRwYWRkaW5nOiAkYmFzZS1zcGFjaW5nIDA7XG5cdFx0fVxuXG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHR9XG5cdH1cbn1cbiIsIi5fZm9ybS1jb250ZW50IHtcbiAgICBpbnB1dCB7XG4gICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIH1cbn1cbiIsIi5lbnRyeS1jb250ZW50IHVsLnRtbC1hY3Rpb24tbGlua3MgPiBsaTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xufVxuIiwiLnRlYW0tbWVtYmVycyB7XG5cdHBhZGRpbmc6IDVlbSAwO1xufVxuXG4udGVhbS1tZW1iZXIge1xuXHRtYXJnaW4tYm90dG9tOiAkYmFzZS1zcGFjaW5nO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcblx0XHRAaW5jbHVkZSBvbWVnYSgzbik7XG5cdH1cblxuXHRpbWcge1xuXHRcdGJvcmRlcjogM3B4IHNvbGlkICRsaWdodC1ncmF5O1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdH1cblxuXHRoNCxcblx0cCB7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cblx0LmJ1dHRvbiB7XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcblx0fVxufVxuXG4uc2luZ2xlLXRlYW0tbWVtYmVyIHtcblx0QGluY2x1ZGUgb3V0ZXItY29udGFpbmVyO1xuXG5cdC50ZWFtLWltYWdlIHtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcblx0XHR9XG5cblx0XHRpbWcge1xuXHRcdFx0Ym9yZGVyOiAzcHggc29saWQgJGxpZ2h0LWdyYXk7XG5cdFx0fVxuXHR9XG5cblx0LnRlYW0taW5mbyB7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOCk7XG5cdFx0XHRAaW5jbHVkZSBvbWVnYTtcblx0XHR9XG5cdH1cblxuXHQudGVhbS1waG9uZSxcblx0LnRlYW0tZW1haWwge1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cblx0XHRsYWJlbCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0fVxufVxuIiwiLnNpbmdsZS1zdHVkeSB7XG5cbiAgICAudmlkLXNlY3Rpb24tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IGVtKDQ4cHgpO1xuICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC52aWQtc2VjdGlvbi1zdWItdGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMjRweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLy8gVGhlIHN1bW1hcnkgdmlkZW8gc2l6aW5nIGFuZCBwb3NpdGlvbmluZ1xuICAgIC5zdW1tYXJ5LXZpZGVvIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGJhc2Utc3BhY2luZyoyO1xuXG4gICAgICAgIC8vIEBpbmNsdWRlIG1lZGlhKCAkbWVkaXVtLXNjcmVlbi11cCkge1xuICAgICAgICAvLyAgICAgbWFyZ2luLXRvcDogLTYwcHg7XG4gICAgICAgIC8vIH1cblxuICAgICAgICAud2lzdGlhLXZpZGVvLXdyYXAge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgxNXB4O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAubG93ZXItcGFydCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogJGJhc2Utc3BhY2luZztcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRsYXJnZS1zY3JlZW4tdXAgKSB7XG4gICAgICAgICAgICBtYXJnaW46ICRiYXNlLXNwYWNpbmcqMyAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gTGVmdCBjb2x1bW4gc2l6aW5nXG4gICAgLmxlZnQtY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRsYXJnZS1zY3JlZW4tdXAgKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOCk7XG4gICAgICAgIH1cblxuICAgICAgICAuaW5uZXItbGVmdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSggJGxhcmdlLXNjcmVlbi11cCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogOTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmlnaHQgY29sdW1uIHNpemluZ1xuICAgIC5yaWdodC1jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSggJGxhcmdlLXNjcmVlbi11cCApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIExlZnQgc2lkZSBHcm91cCBWaWRlbyBTdHlsZXNcbiAgICAuZ3JvdXAtdmlkZW8ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRtZWRpdW0tc2NyZWVuLXVwICkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNtYWxsLXNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJHNtYWxsLXNwYWNpbmc7XG4gICAgICAgICAgICB3aWR0aDogMjc1cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYWN0aW9uLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRhY3Rpb24tY29sb3I7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgICAgIGxlZnQ6IC01cHg7XG4gICAgICAgICAgICByaWdodDogNXB4O1xuICAgICAgICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zICRiYXNlLXRpbWluZyAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgIC5vdmVybGluayB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZGFyay1yZWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRkYXJrLXJlZDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5vdmVybGluayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCAkcmVkLCAwLjQpO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zICRiYXNlLXRpbWluZyAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAubGluay10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIC01MCUpKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzbWFsbC1zcGFjaW5nO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wbGF5LXdyYXAge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnBsYXktYnV0dG9uIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyAkYmFzZS10aW1pbmc7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwgLTUwJSkpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1NSU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN1bW1hcnkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkYmFzZS1zcGFjaW5nKjI7XG4gICAgICAgIG1hcmdpbi10b3A6ICRiYXNlLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLy8gSW5mbyBhbmQgTGluayBzZWN0aW9uXG4gICAgLmluZm8tbGluayB7XG4gICAgICAgIHBhZGRpbmc6ICRiYXNlLXNwYWNpbmcqMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgfVxuXG4gICAgLy8gQ2hlY2tsaXN0IG9uIHRoZSByaWdodCBzaWRlXG4gICAgLmNoZWNrbGlzdCB7XG5cbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LXJlZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZyoyO1xuICAgICAgICBtYXJnaW4tdG9wOiAkYmFzZS1zcGFjaW5nKjI7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkYmFzZS1zcGFjaW5nKjI7XG4gICAgICAgIHBhZGRpbmc6ICRiYXNlLXNwYWNpbmcqMjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSggJGxhcmdlLXNjcmVlbi11cCApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaGFzLXZpZGVvLWFib3ZlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkbGFyZ2Utc2NyZWVuLXVwICkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0kYmFzZS1zcGFjaW5nKjY7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC52aWQtc2VjdGlvbi10aXRsZSxcbiAgICAgICAgLnZpZC1zZWN0aW9uLXN1Yi10aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAudmlkLXNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuY2hlY2staXRlbSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHJlZDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzbWFsbC1zcGFjaW5nIDA7XG5cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE0cHgpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSggJG1lZGl1bS1zY3JlZW4tdXAgKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkbGFyZ2Utc2NyZWVuLXVwICkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpbnQtc2luZ2xlLXN0dWR5IHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjBweCk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMzBweCk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJvdHRvbSBvZiB0aGUgcGFnZSByZXNvdXJjZSBzdHlsaW5nLlxuXG4gICAgLnJlc291cmNlcyB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgICAgICAudmlkLXNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgcGFkZGluZzogJGJhc2Utc3BhY2luZyAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlc291cmNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSggJHJlZCwgMC42ICk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmc7XG4gICAgICAgIHBhZGRpbmc6ICRiYXNlLXNwYWNpbmc7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyAkYmFzZS10aW1pbmc7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRtZWRpdW0tc2NyZWVuLXVwICkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EoM24pO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgLnVuaG92ZXJlZCB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaG92ZXJlZCB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC51bmhvdmVyZWQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyAkYmFzZS10aW1pbmc7XG5cbiAgICAgICAgICAgIC5kb3dubG9hZC1pY29uIHtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJGJhc2Utc3BhY2luZyoyIDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmhvdmVyZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICAgICAgbGVmdDogJGJhc2Utc3BhY2luZztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAkYmFzZS1zcGFjaW5nO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDMwMG1zICRiYXNlLXRpbWluZztcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHNtYWxsLXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNtYWxsLXNwYWNpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAud2hpdGUtYnV0dG9uIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXNvdXJjZS10aXRsZSxcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlc291cmNlLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDI2cHgpO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAucmVzb3VyY2VzLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmcqMjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG59XG4iLCJcbi5wb3J0YWwtc2VjdGlvbiB7XG4gICAgcGFkZGluZzogJGJhc2Utc3BhY2luZyAwO1xufVxuXG4ucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1jaHVyY2gtcG9ydGFsIHtcbiAgICAuc2l0ZS1pbm5lciB7XG4gICAgICAgIG1hcmdpbjogJGJhc2Utc3BhY2luZyoyIDA7XG4gICAgfVxufVxuXG4vLyBCYXNpYyBzbGlkZXIgc2V0IHVwXG4ucG9ydGFsLXNlY3Rpb24ge1xuXG4gICAgLnBvcnRhbC1zdHVkaWVzLXdyYXAsXG4gICAgLnBvcnRhbC10ZWNoLXdyYXAsXG4gICAgLnBvcnRhbC1ibG9nLXBvc3RzLXdyYXAsXG4gICAgLnBvcnRhbC1ibG9nLXBvZGNhc3Qtd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAubGVmdC1hcnJvdyxcbiAgICAgICAgLnJpZ2h0LWFycm93IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgwLCAtNTAlKSk7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgICAgIEBtZWRpYSggbWluLXdpZHRoOiAxMjAwcHggKSB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAxMjVweDtcbiAgICAgICAgICAgICAgICBwb2x5bGluZSB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJHJlZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgIH1cblxuICAgICAgICAubGVmdC1hcnJvdyB7XG4gICAgICAgICAgICBsZWZ0OiAtNjVweDtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgxODBkZWcpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRtZWRpdW0tc2NyZWVuLXVwICkge1xuICAgICAgICAgICAgICAgIGxlZnQ6IC00NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJpZ2h0LWFycm93IHtcbiAgICAgICAgICAgIHJpZ2h0OiAtNjVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRtZWRpdW0tc2NyZWVuLXVwICkge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtNDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vLyBTbGlkZXIgU2xpZGUgU3R5bGVzXG4ucG9ydGFsLXNlY3Rpb24uc3R1ZGllcy1zbGlkZXItc2VjdGlvbixcbi5wb3J0YWwtc2VjdGlvbi50ZWNoLXNsaWRlci1zZWN0aW9uIHtcblxuICAgIC5zdHVkeS1zbGlkZSxcbiAgICAudGVjaC1zbGlkZSB7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIyNXB4O1xuICAgIH1cblxuICAgIC8qIHRoZSBzbGlkZXMgKi9cbiAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICBtYXJnaW46IDAgJHNtYWxsLXNwYWNpbmc7XG4gICAgfVxuICAgIC8qIHRoZSBwYXJlbnQgKi9cbiAgICAuc2xpY2stbGlzdCB7XG4gICAgICAgIG1hcmdpbjogMCAtJHNtYWxsLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnNsaWNrLWRvdHMge1xuICAgICAgICBib3R0b206IC0kYmFzZS1zcGFjaW5nKjI7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1hY3RpdmUgYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLy8gU3R1ZGllcyBTbGlkZXIgU2V0dXBcbi5wb3J0YWwtc2VjdGlvbi5zdHVkaWVzLXNsaWRlci1zZWN0aW9uIHtcbiAgICAuc3R1ZHktc2xpZGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLnN0dWR5LXNsaWRlLWxpbmsge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zICRiYXNlLXRpbWluZyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoICRyZWQsIDAuNik7XG5cbiAgICAgICAgICAgICAgICAuaG92ZXItYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdHVkeS1zbGlkZS1jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJvdHRvbTogJGJhc2Utc3BhY2luZztcbiAgICAgICAgICAgIGxlZnQ6ICRzbWFsbC1zcGFjaW5nO1xuICAgICAgICAgICAgcmlnaHQ6ICRzbWFsbC1zcGFjaW5nO1xuXG4gICAgICAgICAgICAuaG92ZXItYXJyb3cge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJGJhc2Utc3BhY2luZyoxLjc1O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgJGJhc2UtdGltaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuXG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIC01MCUpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY2xzLTEge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zbGlkZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNsaWRlLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDIwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBUZWNoIFNsaWRlciBTZXR1cFxuLnBvcnRhbC1zZWN0aW9uLnRlY2gtc2xpZGVyLXNlY3Rpb24ge1xuICAgIC50ZWNoLXNsaWRlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC50ZWNoLXNsaWRlLWxpbmsge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zICRiYXNlLXRpbWluZyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoICRyZWQsIDAuNik7XG5cbiAgICAgICAgICAgICAgICAudW5ob3ZlcmVkIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaG92ZXJlZCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGlkZS10aXRsZSxcbiAgICAgICAgLnNsaWRlLWJsdXJiIHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAudW5ob3ZlcmVkLFxuICAgICAgICAuaG92ZXJlZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAudW5ob3ZlcmVkIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogJHNtYWxsLXNwYWNpbmc7XG4gICAgICAgICAgICBib3R0b206ICRiYXNlLXNwYWNpbmc7XG4gICAgICAgIH1cblxuICAgICAgICAuaG92ZXJlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcGFkZGluZzogJHNtYWxsLXNwYWNpbmc7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSk7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4vLyBTZXQgdXAgdGhlIGNvbWluZyBzb29uIHNlY3Rpb25zIGFuZCBkaXZzXG4ucG9ydGFsLXJlc291cmNlIHtcbiAgICAuY29taW5nLXNvb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya2lzaC1ncmF5O1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDMwcHgpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAkYmFzZS1zcGFjaW5nKi43NTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4ucG9ydGFsLXJlc291cmNlIHtcbiAgICAuZmlmdHktcmVzb3VyY2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkYmFzZS1zcGFjaW5nO1xuICAgICAgICBtaW4taGVpZ2h0OiAzMjVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkbWVkaXVtLXNjcmVlbi11cCApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhKDJuKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXNvdXJjZS1jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogJGJhc2Utc3BhY2luZztcbiAgICAgICAgICAgIGxlZnQ6ICRiYXNlLXNwYWNpbmc7XG4gICAgICAgICAgICByaWdodDogJGJhc2Utc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXNvdXJjZS1wcmV0ZXh0LFxuICAgICAgICAucmVzb3VyY2UtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXNvdXJjZS1wcmV0ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMThweCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlc291cmNlLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oNDBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAucmVzb3VyY2Uge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zICRiYXNlLXRpbWluZyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuY29taW5nLWNvbnRlbnQge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hdmFsaWFibGUge1xuICAgICAgICAgICAgLnJlc291cmNlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCAkcmVkLCAwLjcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAucmVzb3VyY2Uge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCAkcmVkLCAwLjgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY29taW5nIHtcbiAgICAgICAgICAgIC5jb21pbmctY29udGVudCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSggJGRhcmtpc2gtZ3JheSwgMC43KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDQwcHgpO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG4iLCIkc3ZnLWJ0bi1jb2xvcjogIzQ3NDc0NztcblxuLmRhc2gtdGVtcGxhdGUge1xuXG4gICAgLnNpdGUtaW5uZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAkYmFzZS1zcGFjaW5nKjM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmcqMjtcbiAgICB9XG5cbiAgICAuZGFzaC1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5kYXNoLXN1Yi10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxlZnQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkbWVkaXVtLXNjcmVlbi11cCApIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmlnaHQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSggJG1lZGl1bS1zY3JlZW4tdXAgKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvbWVnYSgpO1xuXG4gICAgICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuZGFzaC1sZWFkZXJzLCAuZGFzaC1tZW1iZXJzIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG5cbiAgICAgICAgLmZpcnN0LFxuICAgICAgICAuc2Vjb25kIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzbWFsbC1zcGFjaW5nO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSggJGxhcmdlLXNjcmVlbi11cCApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzcuNSU7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuXG4gICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhc2gtZ3JheTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHNtYWxsLXNwYWNpbmcvNDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGhpcmQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSggJGxhcmdlLXNjcmVlbi11cCApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGhpcmQtY29udGVudCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5ncmF5LWJveCB7XG4gICAgICAgIHBhZGRpbmc6ICRiYXNlLXNwYWNpbmc7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzbWFsbC1zcGFjaW5nLzI7XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkbGFyZ2Utc2NyZWVuLXVwICkge1xuICAgICAgICAgICAgcGFkZGluZzogJGJhc2Utc3BhY2luZyAwICRiYXNlLXNwYWNpbmcgJGJhc2Utc3BhY2luZyoyIDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kYXNoLWZvb3RlciB7XG5cbiAgICAgICAgbWFyZ2luLXRvcDogJHNtYWxsLXNwYWNpbmc7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5jaXJjbGUtc3ZnLWJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogJHNtYWxsLXNwYWNpbmc7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyAkYmFzZS10aW1pbmc7XG5cbiAgICAuc3ZnLXdyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3ZnLWJ0bi1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvICRzbWFsbC1zcGFjaW5nLzI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6IHdoaXRlO1xuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggdHJhbnNsYXRlKCAtNTAlLCAtNTAlICkgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24tdGV4dCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTRweCk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cblxuICAgICYucmV2b2tlLWJ1dHRvbiB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyAkYmFzZS10aW1pbmc7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxLjA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnBlbmRpbmctYnV0dG9uIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgIH1cbn1cblxuLmFkZC1sZWFkZXItYnV0dG9uLCAuYWRkLW1lbWJlci1idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBtZWRpYSggJGxhcmdlLXNjcmVlbi11cCApIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J2J1dHRvbiddIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnBsdXMtc3ZnLW91dGVyLXdyYXAge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6ICRzbWFsbC1zcGFjaW5nO1xuICAgICAgICB0b3A6IDZweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRsYXJnZS1zY3JlZW4tdXAgKSB7XG4gICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wbHVzLXN2Zy13cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMzAwbXMgJGJhc2UtdGltaW5nO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBmaWxsOiAkcmVkO1xuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggdHJhbnNsYXRlKCAtNTAlLCAtNTAlICkgKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMzAwbXMgJGJhc2UtdGltaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIC5wbHVzLXN2Zy13cmFwIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbih3aGl0ZSwgMTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uZ2xtLWFkZC1sZWFkZXIsIC5nbG0tYWRkLW1lbWJlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZ2xtLXN0YXR1cy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDE2NSwwLDAuMCk7XG4gICAgei1pbmRleDogMTE7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICZbZGF0YS1nbG0tc3RhdHVzPVwicHJvY2Vzc2luZ1wiXSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDE2NSwwLDAuOCk7XG4gICAgfVxuXG4gICAgJltkYXRhLWdsbS1zdGF0dXM9XCJlcnJvclwiXSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDAsMCwwLjgpO1xuICAgIH1cblxuICAgIC5zdGF0dXMge1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSk7XG4gICAgfVxufVxuXG4jZ2xtLWFkZC1sZWFkZXItY2xvbmUsXG4jZ2xtLWFkZC1tZW1iZXItY2xvbmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZ2xtLXJldm9rZS1sZWFkZXItYWN0aW9uLFxuLmdsbS1yZXZva2UtbWVtYmVyLWFjdGlvbntcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZ2xtLWxlYWRlci1oaWRlLFxuLmdsbS1tZW1iZXItaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIEJhc2UgR3JheSBCb3ggc3R5bGUgY2FuIGJlIHVzZWQgYW55d2hlcmUuXG4uZ3JheS1ib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXNoLWdyYXk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuIiwiLnNpbmdsZS1zdHVkeS5zaW5nbGUtdmlkZW8tcmVzb3VyY2Uge1xuXG4gICAgLy8gTGVmdCBjb2x1bW4gc2l6aW5nXG4gICAgLmxlZnQtY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsb2F0OiBub25lO1xuXG4gICAgICAgIC5pbm5lci1sZWZ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvd2VyLXBhcnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIH1cblxufVxuIiwiI2dyb3VwLWNvbm5lY3Qtc2VjdGlvbnMge1xuXG5cdC5zdHVkaWVzLXNsaWRlci1zZWN0aW9uLFxuXHQudGVjaC1zbGlkZXItc2VjdGlvbixcblx0Lmp1aWNlci1zZWN0aW9uIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdG1hcmdpbi10b3A6IDVlbTtcblx0XHRtYXJnaW4tYm90dG9tOiA1ZW07XG5cdH1cblxuXHQuanVpY2VyLXNlY3Rpb24ge1xuXG5cdFx0YnV0dG9ue1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcblx0XHQgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xuXHRcdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIiNhZGRfcGF5bWVudF9tZXRob2QgLndjLXByb2NlZWQtdG8tY2hlY2tvdXQgYS5jaGVja291dC1idXR0b24sIC53b29jb21tZXJjZS1jYXJ0IC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0IGEuY2hlY2tvdXQtYnV0dG9uLCAud29vY29tbWVyY2UtY2hlY2tvdXQgLndjLXByb2NlZWQtdG8tY2hlY2tvdXQgYS5jaGVja291dC1idXR0b24sXG4uc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbiwgLndvb2NvbW1lcmNlICNwYXltZW50ICNwbGFjZV9vcmRlciwgLndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgI3BsYWNlX29yZGVyLCAud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3Rpb24tY29sb3IgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHkgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCA1cHggMTVweCAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogJHNtYWxsLXNwYWNpbmcrMC4yNSAkYmFzZS1zcGFjaW5nKjIgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyAkYmFzZS10aW1pbmc7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYWN0aW9uLWNvbG9yO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGFjdGlvbi1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyAkYmFzZS10aW1pbmc7XG4gICAgICAgIHRvcDogNXB4O1xuICAgICAgICBsZWZ0OiAtNXB4O1xuICAgICAgICByaWdodDogNXB4O1xuICAgICAgICBib3R0b206IC01cHg7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGRhcmstcmVkO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRkYXJrLXJlZDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aW9uLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5kYXJrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubGlnaHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zICRiYXNlLXRpbWluZztcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IC01cHg7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgcGFkZGluZzogJHNtYWxsLXNwYWNpbmcgJHNtYWxsLXNwYWNpbmcqMjtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi53b29jb21tZXJjZS1jYXJ0IC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0IGEuY2hlY2tvdXQtYnV0dG9uLCB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4iLCIud29vLWNhdGVnb3J5LXNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmcqMztcbn1cblxuLndvby1jYXRlZ29yeS1zbGlkZXItd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmxlZnQtYXJyb3csXG4gICAgLnJpZ2h0LWFycm93IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgwLCAtNTAlKSk7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgQG1lZGlhKCBtaW4td2lkdGg6IDEyMDBweCApIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgcG9seWxpbmUge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogJHJlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxlZnQtYXJyb3cge1xuICAgICAgICBsZWZ0OiAtNjVweDtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgxODBkZWcpKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSggJG1lZGl1bS1zY3JlZW4tdXAgKSB7XG4gICAgICAgICAgICBsZWZ0OiAtNDVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yaWdodC1hcnJvdyB7XG4gICAgICAgIHJpZ2h0OiAtNjVweDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRtZWRpdW0tc2NyZWVuLXVwICkge1xuICAgICAgICAgICAgcmlnaHQ6IC00NXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhdGVnb3J5LXNsaWRlIHtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgbWluLWhlaWdodDogMjI1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuY2F0ZWdvcnktc2xpZGUtbGluayB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgJGJhc2UtdGltaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSggJHJlZCwgMC42KTtcblxuICAgICAgICAgICAgICAgIC5ob3Zlci1hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWRlLWNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYm90dG9tOiAkYmFzZS1zcGFjaW5nO1xuICAgICAgICAgICAgbGVmdDogJHNtYWxsLXNwYWNpbmc7XG4gICAgICAgICAgICByaWdodDogJHNtYWxsLXNwYWNpbmc7XG5cbiAgICAgICAgICAgIC5ob3Zlci1hcnJvdyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byAkYmFzZS1zcGFjaW5nO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgJGJhc2UtdGltaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuXG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIC01MCUpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY2xzLTEge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zbGlkZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDIwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbWluZy1zb29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoICRibGFjaywgMC41ICk7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLmNvbWluZy1zb29uLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogJGJhc2Utc3BhY2luZyoyLjU7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6ICRzbWFsbC1zcGFjaW5nO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkc21hbGwtc3BhY2luZztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNnB4KTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvKiB0aGUgc2xpZGVzICovXG4gICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgbWFyZ2luOiAwICRzbWFsbC1zcGFjaW5nO1xuICAgIH1cbiAgICAvKiB0aGUgcGFyZW50ICovXG4gICAgLnNsaWNrLWxpc3Qge1xuICAgICAgICBtYXJnaW46IDAgLSRzbWFsbC1zcGFjaW5nO1xuICAgIH1cblxuICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgYm90dG9tOiAtJGJhc2Utc3BhY2luZyoyO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stYWN0aXZlIGJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLndvb2NvbW1lcmNlIHtcblxuICAgIC5zaXRlLWlubmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGJhc2Utc3BhY2luZyozO1xuICAgIH1cblxuICAgIGxpOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuIiwiLndvb2NvbW1lcmNlLmFyY2hpdmUge1xuXG4gICAgLmhlYWRsaW5lLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSg0NHB4KTtcbiAgICB9XG5cbiAgICAuY2F0ZWdvcnktaW50cm8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkYmFzZS1zcGFjaW5nKjI7XG4gICAgfVxuXG4gICAgLnByb2R1Y3RzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZyoyO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LXRpdGxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6IGVtKDMwcHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAud29vY29tbWVyY2UtUHJpY2UtYW1vdW50IHtcbiAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiBlbSg0MHB4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgLnRoZS1wcmljZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzbWFsbC1zcGFjaW5nO1xuICAgICAgICBjb2xvcjogJGRhcmtpc2gtZ3JheSAhaW1wb3J0YW50O1xuXG4gICAgICAgIGlucyB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBkZWwge1xuICAgICAgICAgICAgLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJraXNoLWdyYXk7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAkZGFya2lzaC1ncmF5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtZXhjZXJwdCB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNtYWxsLXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1saW5rIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHNtYWxsLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnByb3Zlbi1wcm9kdWN0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMjgwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWRldGFpbHMge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAkYmFzZS1zcGFjaW5nIDAgJGJhc2Utc3BhY2luZyoyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRtZWRpdW0tc2NyZWVuLXVwICkge1xuXG4gICAgICAgICAgICAucHJvZHVjdC1pbWFnZSxcbiAgICAgICAgICAgIC5wcm9kdWN0LWRldGFpbHMge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGJhc2Utc3BhY2luZyoyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG5cbiAgICAgICAgICAgICAgICAgICAgLm9uc2FsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5zdHVkeS1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIC5ob3Zlci1hcnJvdyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKCB0cmFuc2xhdGUoIC01MCUsIC01MCUgKSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFyY2hpdmUtaXRlbS1mb290ZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6ICRzbWFsbC1zcGFjaW5nLzI7XG4gICAgfVxuXG4gICAgLmFyY2hpdmUtaXRlbS10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLmFyY2hpdmUtaXRlbS1wcmljZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogcmVtKDRweCk7XG4gICAgfVxuXG59XG4iLCIud29vY29tbWVyY2UtY2hlY2tvdXQge1xuICAgIGxpOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogJGJhc2Utc3BhY2luZyoyLjUgMDtcbiAgICB9XG5cbiAgICAjb3JkZXJfcmV2aWV3X2hlYWRpbmcge1xuICAgICAgICBtYXJnaW4tdG9wOiAkYmFzZS1zcGFjaW5nLzI7XG4gICAgfVxuXG4gICAgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyBoMyNzaGlwLXRvLWRpZmZlcmVudC1hZGRyZXNzIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgI3NoaXAtdG8tZGlmZmVyZW50LWFkZHJlc3MtY2hlY2tib3gge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oIHRyYW5zbGF0ZVkoIC01MCUgKSApO1xuICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiJHFiZy1jb2xvcjogI2VlZWVlZTtcbiRxYnV0dG9uLWJnLWNvbG9yOiAjZGRkZGRkO1xuXG4ud29vY29tbWVyY2Ugc3Bhbi5vbnNhbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQgIWltcG9ydGFudDtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xufVxuXG4uc2luZ2xlLXByb2R1Y3Qge1xuXG5cbiAgICBkaXYuc3VtbWFyeSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmcqMztcbiAgICB9XG5cbiAgICAuaW1hZ2VzIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoICR3b28tbGFyZ2UtdXAgKSB7XG4gICAgICAgICAgICB3aWR0aDogNDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZW50cnktc3VtbWFyeSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkd29vLWxhcmdlLXVwICkge1xuICAgICAgICAgICAgd2lkdGg6IDYwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkYmFzZS1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3RfdGl0bGUuZW50cnktdGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMzZweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgZGl2LnByb2R1Y3QgcC5wcmljZSxcbiAgICBkaXYucHJvZHVjdCBzcGFuLnByaWNlIHtcbiAgICAgICAgY29sb3I6ICRkYXJraXNoLWdyYXkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucHJpY2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNtYWxsLXNwYWNpbmc7XG5cbiAgICAgICAgLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgzMnB4KTtcbiAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5zIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRlbCB7XG4gICAgICAgICAgICAud29vY29tbWVyY2UtUHJpY2UtYW1vdW50IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtpc2gtZ3JheTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6ICRkYXJraXNoLWdyYXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZztcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzbWFsbC1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9ybS5jYXJ0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkc21hbGwtc3BhY2luZyAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhICggbWluLXdpZHRoOiA4MDBweCApIGFuZCAoIG1heC13aWR0aDogODQwcHgpe1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJHNtYWxsLXNwYWNpbmcgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5xdWFudGl0eSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxYmctY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAyMzBweCAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAoIG1pbi13aWR0aDogODAwcHggKSBhbmQgKCBtYXgtd2lkdGg6IDg0MHB4KXtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAgIGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1FVQU5USVRZOic7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oIHRyYW5zbGF0ZVkoIC01MCUgKSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnF1YW50aXR5IGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgICAgICBoZWlnaHQ6IDQycHggIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHFiZy1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogOTVweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5taW51cyxcbiAgICAucGx1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxYnV0dG9uLWJnLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQycHggIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDQycHggIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyAkYmFzZS10aW1pbmc7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oICRxYnV0dG9uLWJnLWNvbG9yLCAyMCUgKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBsdXMge1xuXG4gICAgfVxuXG4gICAgLm1pbnVzIHtcbiAgICAgICAgcmlnaHQ6IDQ0cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAud29vY29tbWVyY2UtdGFicyB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRiYXNlLXNwYWNpbmcvMjtcbiAgICB9XG5cbiAgICAuc3BlYWtlcnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAzZW07XG5cbiAgICAgICAgLnNwZWFrZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRtZWRpdW0tc2NyZWVuLXVwICkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvbWVnYSgybisxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmhlYWRzaG90IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNwZWFrZXItdGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNwZWFrZXItZGVzIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LmltYWdlcyAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X193cmFwcGVyIHtcbiAgICBtYXJnaW46IDBweDtcbn1cbiIsIi53b29jb21tZXJjZS1jYXJ0IHtcbiAgICAuY2FydC1jb2xsYXRlcmFscyAuY2FydF90b3RhbHMsIC53b29jb21tZXJjZS1wYWdlIC5jYXJ0LWNvbGxhdGVyYWxzIC5jYXJ0X3RvdGFscyB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNvdXBvbiAjY291cG9uX2NvZGUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSggJG1lZGl1bS1zY3JlZW4tdXAgKSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRsYXJnZS1zY3JlZW4tdXAgKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA3LjVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAkYmFzZS1zcGFjaW5nKjIuNSAwO1xuICAgIH1cblxuICAgIC5jYXJ0LWNvbGxhdGVyYWxzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGJhc2Utc3BhY2luZztcbiAgICB9XG59XG4iLCIud29vY29tbWVyY2UtYWNjb3VudCB7XG5cbiAgICAuZW50cnktaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmcqMjtcbiAgICB9XG59XG5cbi53b29jb21tZXJjZS1wYWdlLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4ge1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMzIwcHg7XG59XG4iLCIud29vY29tbWVyY2UgLmRpc2NvdW50LXNoYXJlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogJGJhc2Utc3BhY2luZztcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJhc2Utc3BhY2luZztcblxuICAgIEBpbmNsdWRlIG1lZGlhKCAkbGFyZ2Utc2NyZWVuLXVwICkge1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgfVxuXG4gICAgLndyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmdsbS1sZWZ0LWNvbnRlbnQsXG4gICAgLmdsbS1yaWdodC1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRsYXJnZS1zY3JlZW4tdXAgKSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2xtLWxlZnQtY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmc7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRsYXJnZS1zY3JlZW4tdXAgKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkYmFzZS1zcGFjaW5nO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGJhc2Utc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdsbS1yaWdodC1jb250ZW50IHtcblxuICAgICAgICAjZ2xtLWVtYWlsLWNvdXBvbi1pbnB1dCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgI2dsbS1lbWFpbC1jb3Vwb24tc3VibWl0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkbWVkaXVtLXNjcmVlbi11cCApIHtcbiAgICAgICAgICAgICNnbG0tZW1haWwtY291cG9uLWlucHV0IHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjZ2xtLWVtYWlsLWNvdXBvbi1zdWJtaXQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSggJGxhcmdlLXNjcmVlbi11cCApIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggdHJhbnNsYXRlWSggLTUwJSApICk7XG4gICAgICAgIH1cblxuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7O0VBT0U7QUFDRixPQUFPLENBQVAsa0RBQU87QXdGUFAsQUFBUSxPQUFELENBQUMsQ0FBQztBQUNULEFBQUEsY0FBYztBQUNkLEFBQVcsVUFBRCxDQUFDLE9BQU8sQ0FBQztFQUNmLFVBQVUsRUFBRSxJQUFLO0VBQ2pCLGdCQUFnQixFUmVkLE9BQU87RVFkVCxNQUFNLEVBQUUsQ0FBRTtFQUNWLEtBQUssRUFBRSxJQUFLO0VBQ1osTUFBTSxFQUFFLE9BQVE7RUFDaEIsT0FBTyxFQUFFLFlBQWE7RUFDdEIsV0FBVyxFUlRJLE1BQU0sRWRXYixnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVO0VzQkRwRSxTQUFTLEVSTkksR0FBRztFUU9oQixzQkFBc0IsRUFBRSxXQUFZO0VBQ3BDLFdBQVcsRUFBRSxHQUFJO0VBQ2pCLFdBQVcsRUFBRSxDQUFFO0VBQ2YsTUFBTSxFQUFFLFlBQWE7RUFDckIsT0FBTyxFQUFFLEdBQWMsQ0FBTSxHQUFhO0VBQzFDLFFBQVEsRUFBRSxRQUFTO0VBQ25CLGVBQWUsRUFBRSxJQUFLO0VBQ3RCLGNBQWMsRUFBRSxTQUFVO0VBQzFCLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLLENSdUN4QixJQUFJO0VRdENkLFdBQVcsRUFBRSxJQUFLO0VBQ2xCLGNBQWMsRUFBRSxNQUFPO0VBQ3ZCLFdBQVcsRUFBRSxNQUFPLEdBMEd2QjtFQWhJRCxBQUFRLE9BQUQsQ0FBQyxDQUFDLEFBd0JKLE9BQU87RUF2QlosQUFBQSxjQUFjLEFBdUJULE9BQU87RUF0QlosQUFBVyxVQUFELENBQUMsT0FBTyxBQXNCYixPQUFPLENBQUM7SUFDTCxPQUFPLEVBQUUsRUFBRztJ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 */
