/*  ========================================================================== */
/*    Fonts Charlie Sans, Circular Variables */
/*  ========================================================================== */
/*  ========================================================================== */
/*    Import All Variables and Mixins */
/*  ========================================================================== */
.select2-chosen, .select2-result, section.pricing h2,
section.pricing h3, .card-links .grid .card-links__card h4 {
  font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;
  font-style: normal; }

.circular-bold h1,
.circular-bold h2,
.circular-bold h3,
.circular-bold h4,
.circular-bold h5, section.calculator:after, input[id*="spinner"], .data-center-message h4, body.features .features-table thead tr:first-of-type th {
  font-family: Charlie Display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;
  font-style: normal; }

.circular-bold h1,
.circular-bold h2,
.circular-bold h3,
.circular-bold h4,
.circular-bold h5, section.calculator:after, input[id*="spinner"], .data-center-message h4, body.features .features-table thead tr:first-of-type th {
  font-weight: 600; }

/* =====================================================================
SET THESE VARIABLES to control the global grid
===================================================================== */
/* =====================================================================
SAVE SOME GLOBALS THAT ARE AVAILABLE ANYWHERE
===================================================================== */
/*
* sets all colspan widths for a given column count (integer)
* eg. a 4-column grid needs styles for colspan-1, colspan-2, colspan-3, and colspan-4
*/
/* =====================================================================
MAIN GRID MIXIN
call this to establish a grid with a defined width, gutters-pc, etc
===================================================================== */
/*
 Primary Colors
*/
/*
 Secondary Colors
*/
/*
 Media Query Breakpoints
 */
/*
Version: 3.4.5 Timestamp: Mon Nov  4 08:22:42 PST 2013
*/
.select2-container {
  margin: 0;
  position: relative;
  display: inline-block;
  /* inline-block for ie7 */
  zoom: 1;
  *display: inline;
  vertical-align: middle; }

.select2-container,
.select2-drop,
.select2-search,
.select2-search input {
  /*
    Force border-box so that % widths fit the parent
    container without overlap because of margin/padding.

    More Info : http://www.quirksmode.org/css/box.html
  */
  -webkit-box-sizing: border-box;
  /* webkit */
  -moz-box-sizing: border-box;
  /* firefox */
  box-sizing: border-box;
  /* css3 */ }

.select2-container .select2-choice {
  display: block;
  height: 26px;
  padding: 0 0 0 8px;
  overflow: hidden;
  position: relative;
  border: 1px solid #aaa;
  white-space: nowrap;
  line-height: 26px;
  color: #444;
  text-decoration: none;
  border-radius: 4px;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: #fff;
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.5, #fff));
  background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 50%);
  background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 50%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0);
  background-image: linear-gradient(top, #fff 0%, #eee 50%); }

.select2-container.select2-drop-above .select2-choice {
  border-bottom-color: #aaa;
  border-radius: 0 0 4px 4px;
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.9, #fff));
  background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 90%);
  background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 90%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);
  background-image: linear-gradient(top, #eee 0%, #fff 90%); }

.select2-container.select2-allowclear .select2-choice .select2-chosen {
  margin-right: 42px; }

.select2-container .select2-choice > .select2-chosen {
  margin-right: 26px;
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis; }

.select2-container .select2-choice abbr {
  display: none;
  width: 12px;
  height: 12px;
  position: absolute;
  right: 24px;
  top: 8px;
  font-size: 1px;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  outline: 0; }

.select2-container.select2-allowclear .select2-choice abbr {
  display: inline-block; }

.select2-container .select2-choice abbr:hover {
  background-position: right -11px;
  cursor: pointer; }

.select2-drop-mask {
  border: 0;
  margin: 0;
  padding: 0;
  position: fixed;
  left: 0;
  top: 0;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: auto;
  opacity: 0;
  z-index: 9998;
  /* styles required for IE to work */
  background-color: #fff;
  filter: alpha(opacity=0); }

.select2-drop {
  width: 100%;
  margin-top: -1px;
  position: absolute;
  z-index: 9999;
  top: 100%;
  background: #fff;
  color: #000;
  border: 1px solid #aaa;
  border-top: 0;
  border-radius: 0 0 4px 4px;
  -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15); }

.select2-drop-auto-width {
  border-top: 1px solid #aaa;
  width: auto; }

.select2-drop-auto-width .select2-search {
  padding-top: 4px; }

.select2-drop.select2-drop-above {
  margin-top: 1px;
  border-top: 1px solid #aaa;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
  -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, 0.15);
  box-shadow: 0 -4px 5px rgba(0, 0, 0, 0.15); }

.select2-drop-active {
  border: 1px solid #5897fb;
  border-top: none; }

.select2-drop.select2-drop-above.select2-drop-active {
  border-top: 1px solid #5897fb; }

.select2-container .select2-choice .select2-arrow {
  display: inline-block;
  width: 18px;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  border-left: 1px solid #aaa;
  border-radius: 0 4px 4px 0;
  background-clip: padding-box;
  background: #ccc;
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));
  background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);
  background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0);
  background-image: linear-gradient(top, #ccc 0%, #eee 60%); }

.select2-container .select2-choice .select2-arrow b {
  display: block;
  width: 100%;
  height: 100%; }

.select2-search {
  display: inline-block;
  width: 100%;
  min-height: 26px;
  margin: 0;
  padding-left: 4px;
  padding-right: 4px;
  position: relative;
  z-index: 10000;
  white-space: nowrap; }

.select2-search input {
  width: 100%;
  height: auto !important;
  min-height: 26px;
  padding: 4px 20px 4px 5px;
  margin: 0;
  outline: 0;
  font-family: sans-serif;
  font-size: 1em;
  border: 1px solid #aaa;
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none; }

.select2-drop.select2-drop-above .select2-search input {
  margin-top: 4px; }

.select2-search input.select2-active {
  /*    background: #fff url('select2-spinner.gif') no-repeat 100%;*/
  /*    background: url('select2-spinner.gif') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));*/
  /*    background: url('select2-spinner.gif') no-repeat 100%, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);*/
  /*    background: url('select2-spinner.gif') no-repeat 100%, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);*/
  /*    background: url('select2-spinner.gif') no-repeat 100%, linear-gradient(top, #fff 85%, #eee 99%);*/ }

.select2-container-active .select2-choice,
.select2-container-active .select2-choices {
  border: 1px solid #5897fb;
  outline: none;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); }

.select2-dropdown-open .select2-choice {
  border-bottom-color: transparent;
  -webkit-box-shadow: 0 1px 0 #fff inset;
  box-shadow: 0 1px 0 #fff inset;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background-color: #eee;
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.5, #eee));
  background-image: -webkit-linear-gradient(center bottom, #fff 0%, #eee 50%);
  background-image: -moz-linear-gradient(center bottom, #fff 0%, #eee 50%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
  background-image: linear-gradient(top, #fff 0%, #eee 50%); }

.select2-dropdown-open.select2-drop-above .select2-choice,
.select2-dropdown-open.select2-drop-above .select2-choices {
  border: 1px solid #5897fb;
  border-top-color: transparent;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.5, #eee));
  background-image: -webkit-linear-gradient(center top, #fff 0%, #eee 50%);
  background-image: -moz-linear-gradient(center top, #fff 0%, #eee 50%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
  background-image: linear-gradient(bottom, #fff 0%, #eee 50%); }

.select2-dropdown-open .select2-choice .select2-arrow {
  background: transparent;
  border-left: none;
  filter: none; }

.select2-dropdown-open .select2-choice .select2-arrow b {
  background-position: -18px 1px; }

/* results */
.select2-results {
  max-height: 200px;
  padding: 0 0 0 4px;
  margin: 4px 4px 4px 0;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

.select2-results ul.select2-result-sub {
  margin: 0;
  padding-left: 0; }

.select2-results ul.select2-result-sub > li .select2-result-label {
  padding-left: 20px; }

.select2-results ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
  padding-left: 40px; }

.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
  padding-left: 60px; }

.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
  padding-left: 80px; }

.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
  padding-left: 100px; }

.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
  padding-left: 110px; }

.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
  padding-left: 120px; }

.select2-results li {
  list-style: none;
  display: list-item;
  background-image: none; }

.select2-results li.select2-result-with-children > .select2-result-label {
  font-weight: bold; }

.select2-results .select2-result-label {
  padding: 3px 7px 4px;
  margin: 0;
  cursor: pointer;
  min-height: 1em;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.select2-results .select2-highlighted {
  background: #3875d7;
  color: #fff; }

.select2-results li em {
  background: #feffde;
  font-style: normal; }

.select2-results .select2-highlighted em {
  background: transparent; }

.select2-results .select2-highlighted ul {
  background: #fff;
  color: #000; }

.select2-results .select2-no-results,
.select2-results .select2-searching,
.select2-results .select2-selection-limit {
  background: #f4f4f4;
  display: list-item; }

/*
disabled look for disabled choices in the results dropdown
*/
.select2-results .select2-disabled.select2-highlighted {
  color: #666;
  background: #f4f4f4;
  display: list-item;
  cursor: default; }

.select2-results .select2-disabled {
  background: #f4f4f4;
  display: list-item;
  cursor: default; }

.select2-results .select2-selected {
  display: none; }

.select2-more-results.select2-active {
  background: #f4f4f4 url("select2-spinner.gif") no-repeat 100%; }

.select2-more-results {
  background: #f4f4f4;
  display: list-item; }

/* disabled styles */
.select2-container.select2-container-disabled .select2-choice {
  background-color: #f4f4f4;
  background-image: none;
  border: 1px solid #ddd;
  cursor: default; }

.select2-container.select2-container-disabled .select2-choice .select2-arrow {
  background-color: #f4f4f4;
  background-image: none;
  border-left: 0; }

.select2-container.select2-container-disabled .select2-choice abbr {
  display: none; }

/* multiselect */
.select2-container-multi .select2-choices {
  height: auto !important;
  height: 1%;
  margin: 0;
  padding: 0;
  position: relative;
  border: 1px solid #aaa;
  cursor: text;
  overflow: hidden;
  background-color: #fff;
  background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eee), color-stop(15%, #fff));
  background-image: -webkit-linear-gradient(top, #eee 1%, #fff 15%);
  background-image: -moz-linear-gradient(top, #eee 1%, #fff 15%);
  background-image: linear-gradient(top, #eee 1%, #fff 15%); }

.select2-locked {
  padding: 3px 5px 3px 5px !important; }

.select2-container-multi .select2-choices {
  min-height: 26px; }

.select2-container-multi.select2-container-active .select2-choices {
  border: 1px solid #5897fb;
  outline: none;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); }

.select2-container-multi .select2-choices li {
  float: left;
  list-style: none; }

.select2-container-multi .select2-choices .select2-search-field {
  margin: 0;
  padding: 0;
  white-space: nowrap; }

.select2-container-multi .select2-choices .select2-search-field input {
  padding: 5px;
  margin: 1px 0;
  font-family: sans-serif;
  font-size: 100%;
  color: #666;
  outline: 0;
  border: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  background: transparent !important; }

.select2-container-multi .select2-choices .select2-search-field input.select2-active {
  background: #fff url("select2-spinner.gif") no-repeat 100% !important; }

.select2-default {
  color: #999 !important; }

.select2-container-multi .select2-choices .select2-search-choice {
  padding: 3px 5px 3px 18px;
  margin: 3px 0 3px 5px;
  position: relative;
  line-height: 13px;
  color: #333;
  cursor: default;
  border: 1px solid #aaaaaa;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
  box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: #e4e4e4;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0);
  background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee));
  background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
  background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
  background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); }

.select2-container-multi .select2-choices .select2-search-choice .select2-chosen {
  cursor: default; }

.select2-container-multi .select2-choices .select2-search-choice-focus {
  background: #d4d4d4; }

.select2-search-choice-close {
  display: block;
  width: 12px;
  height: 13px;
  position: absolute;
  right: 3px;
  top: 4px;
  font-size: 1px;
  outline: none; }

.select2-container-multi .select2-search-choice-close {
  left: 3px; }

.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {
  background-position: right -11px; }

.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {
  background-position: right -11px; }

/* disabled styles */
.select2-container-multi.select2-container-disabled .select2-choices {
  background-color: #f4f4f4;
  background-image: none;
  border: 1px solid #ddd;
  cursor: default; }

.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {
  padding: 3px 5px 3px 5px;
  border: 1px solid #ddd;
  background-image: none;
  background-color: #f4f4f4; }

.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close {
  display: none;
  background: none; }

/* end multiselect */
.select2-result-selectable .select2-match,
.select2-result-unselectable .select2-match {
  text-decoration: underline; }

.select2-offscreen, .select2-offscreen:focus {
  clip: rect(0 0 0 0) !important;
  width: 1px !important;
  height: 1px !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  outline: 0 !important;
  left: 0px !important;
  top: 0px !important; }

.select2-display-none {
  display: none; }

.select2-measure-scrollbar {
  position: absolute;
  top: -10000px;
  left: -10000px;
  width: 100px;
  height: 100px;
  overflow: scroll; }

/* Retina-ize icons */
/*
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi)  {
  .select2-search input, .select2-search-choice-close, .select2-container .select2-choice abbr, .select2-container .select2-choice .select2-arrow b {
      background-image: url('select2x2.png') !important;
      background-repeat: no-repeat !important;
      background-size: 60px 40px !important;
  }
  .select2-search input {
      background-position: 100% -21px !important;
  }
}
*/
.select2-container {
  width: 100%; }

ul.select2-results {
  max-height: none;
  padding: 0;
  margin: 0; }

ul.select2-results .select2-highlighted {
  background: #0052CC; }

li.select2-result {
  padding: 0 6px; }

div.select2-drop-active {
  border: 1px solid #C1C7D0;
  border-radius: 0 0 4px 4px;
  overflow: hidden; }

.select2-chosen, .select2-result {
  color: #505F79;
  font-size: 20px; }

.select2-result {
  line-height: 28px; }

div.select2-container .select2-choice {
  display: block;
  height: 42px;
  padding: 0 8px 0 12px;
  overflow: hidden;
  position: relative;
  border: 1px solid #C1C7D0;
  white-space: nowrap;
  line-height: 42px;
  color: #97A0AF;
  text-decoration: none;
  border-radius: 4px;
  background-color: #fff;
  background-image: none;
  text-align: left; }

div.select2-container .select2-choice .select2-arrow {
  display: inline-block;
  width: 48px;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  border-left: 0;
  border-radius: 0 4px 4px 0;
  background-clip: padding-box;
  background: none;
  background-image: none; }

div.select2-container .select2-choice .select2-arrow b {
  background: #F4F5F7;
  border-left: 1px solid #C1C7D0;
  overflow: hidden; }

div.select2-container .select2-choice .select2-arrow:hover b {
  background: #EBECF0; }

div.select2-container .select2-choice .select2-arrow b:after {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 6px double transparent;
  border-right: 6px double transparent;
  border-top: 8px solid #97A0AF;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -2px;
  margin-left: -6px; }

div.select2-container.select2-dropdown-open .select2-choice .select2-arrow b:after {
  border-left: 6px double transparent;
  border-right: 6px double transparent;
  border-bottom: 8px solid #97A0AF;
  border-top: none;
  margin-top: -4px; }

div.select2-container.select2-dropdown-open .select2-choice {
  border-radius: 4px 4px 0 0; }

div.select2-container.select2-dropdown-open .select2-choice .select2-arrow {
  border-radius: 0 4px 0 0; }

div.select2-container.select2-drop-above .select2-choice {
  border-radius: 0 0 4px 4px; }

.select2-drop.select2-drop-above.select2-drop-active, .select2-dropdown-open.select2-drop-above .select2-choice {
  border-color: #C1C7D0; }

.select2-dropdown-open.select2-drop-above .select2-choice,
.select2-dropdown-open.select2-drop-above .select2-choices {
  background-image: none !important;
  border-color: #C1C7D0 !important; }

.select2-drop.select2-drop-above.select2-drop-active {
  border-top-color: #C1C7D0 !important; }

h1 {
  font-size: 32px;
  letter-spacing: 0;
  line-height: 38px; }

h2 {
  font-size: 24px;
  letter-spacing: 0;
  line-height: 28px;
  margin-bottom: 20px; }

h3 {
  font-size: 20px;
  letter-spacing: 0;
  line-height: 32px; }

h4 {
  font-size: 16px;
  letter-spacing: 0;
  line-height: 24px; }

h5 {
  font-size: 14px;
  letter-spacing: 0;
  line-height: 24px; }

.headline-1 h1 {
  font-size: 60px;
  letter-spacing: 0;
  line-height: 72px;
  margin-bottom: 14px; }

.headline-1 h1 + p {
  color: #505F79;
  font-size: 20px;
  line-height: 32px; }

@media only screen and (max-width: 640px) {
  .headline-1 h1 {
    font-size: 32px;
    line-height: 38px; } }

.headline-1.dark h1 + p {
  color: #FFFFFF; }

.headline-2 h1 {
  font-size: 48px;
  line-height: 60px; }

.headline-2 h1 + p {
  color: #505F79;
  font-size: 20px;
  line-height: 32px; }

@media only screen and (max-width: 640px) {
  .headline-2 h1 {
    font-size: 32px;
    line-height: 38px; } }

.headline-2.dark h1 + p {
  color: #FFFFFF; }

.special-heading h1,
.special-heading h2,
.special-heading h3,
.special-heading h4,
.special-heading h5 {
  color: #505F79;
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: 1px; }

a {
  color: #0052CC; }

p {
  color: #505F79; }

em {
  font-style: italic; }

h1 + .button {
  margin-top: 12px;
  margin-bottom: 18px; }

a.video-image-link {
  display: block; }

.off-center-play-button .video-image-link:after {
  margin-left: -110px; }

.icon.bitbucket {
  background-position: left 2px; }

h2 + p + h2 {
  margin-top: 48px; }

@media only screen and (max-width: 640px) {
  h2 + p + h2 {
    margin-top: 0; } }

h2 + p + p + h2 {
  margin-top: 48px; }

@media only screen and (max-width: 640px) {
  h2 + p + p + h2 {
    margin-top: 0; } }

.text-down {
  margin-top: 24px; }

@media only screen and (max-width: 640px) {
  .text-down {
    margin-top: 0; } }

.text-down-extra {
  margin-top: 64px; }

@media only screen and (max-width: 640px) {
  .text-down-extra {
    margin-top: 0; } }

img.logo {
  margin-bottom: 24px; }

.subnavigation {
  background: #FFFFFF; }

.subnavigation.stuck .button.green-hollow {
  background-color: #36B37E;
  border-color: #36B37E;
  color: #FFFFFF; }

.subnavigation.stuck .button.green-hollow:hover, .subnavigation.stuck .button.green-hollow.hovered {
  background-color: #00875A;
  border-color: #00875A; }

.mission {
  padding: 10px 0; }

.mission .button {
  margin-bottom: 28px; }

.mission p {
  font-size: 14px; }

section.hero .logo {
  margin-bottom: 32px; }

section.hero .button {
  margin-top: 32px; }

@media only screen and (max-width: 640px) {
  section.hero .button {
    margin-bottom: 32px; } }

section.hero .hero-video img {
  vertical-align: bottom; }

.image-heading-text img {
  margin-bottom: 24px; }

.flush-bottom {
  margin-bottom: 0;
  padding-bottom: 0;
  padding-top: 5% !important; }

.flush-bottom.border-bottom {
  border-bottom: 1px solid #EBECF0; }

@media only screen and (max-width: 1056px) {
  .flush-bottom.border-bottom {
    padding-bottom: 5%; } }

.flush-bottom img {
  vertical-align: bottom; }

@media only screen and (max-width: 640px) {
  .flush-bottom-flex.flush-bottom {
    padding-bottom: 0; }
  .flush-bottom-flex .grid {
    display: flex;
    flex-flow: row wrap; }
  .flush-bottom-flex .grid-2 .colspan-all {
    flex-grow: 2; }
  .flush-bottom-flex .column {
    order: 1;
    width: 100%; }
  .flush-bottom-flex .image-bottom {
    order: 2; } }

section .grid .column.colspan-1.flush-bottom-img {
  margin-bottom: -6px;
  position: relative; }

section .grid .column.colspan-1.flush-bottom-img img {
  vertical-align: bottom; }

.secondary p {
  color: #0052CC; }

.colspan-all h1 + p {
  color: #505F79;
  font-size: 18px;
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 48px; }

.colspan-all.secondary p {
  max-width: none; }

.dark .secondary p {
  color: #FFFFFF; }

.dark .colspan-all h1 + p {
  color: #FFFFFF; }

.expanded-two-column {
  max-width: 520px;
  margin-left: -80px; }

@media only screen and (max-width: 1056px) {
  .expanded-two-column {
    max-width: 100%;
    margin-left: 0; } }

.expanded-two-column-right {
  max-width: 520px;
  margin-right: -80px; }

@media only screen and (max-width: 1056px) {
  .expanded-two-column-right {
    max-width: 100%;
    margin-right: 0; } }

.img-headline {
  display: inline-block;
  margin-left: 12px;
  margin-bottom: 32px; }

.column-button-link__button {
  display: inline-block;
  margin-right: 16px; }

.column-button-link__button.secondary {
  margin-bottom: 4px; }

.column-button-link__link {
  display: inline-block; }

.section-image-flush-bottom .grid:after {
  padding-bottom: 0 !important; }

.section-image-flush-bottom .grid .column:last-child {
  margin-bottom: 0 !important; }

.section-image-flush-bottom .grid .column:last-child img {
  vertical-align: bottom; }

.border-rounded-corners {
  border: 1px solid #EBECF0;
  border-radius: 4px; }

.border-rounded-corners--top {
  border-bottom: 0;
  border-radius: 4px 4px 0 0; }

.section-split-view {
  background: #0052CC;
  position: relative; }

.section-split-view:before {
  display: block;
  content: '';
  background: #0052CC;
  position: absolute;
  height: 100%;
  width: 50%;
  left: 0;
  top: 0; }

@media only screen and (max-width: 640px) {
  .section-split-view:before {
    display: none; } }

.section-split-view:after {
  display: block;
  content: '';
  background: #403294;
  position: absolute;
  height: 100%;
  width: 50%;
  right: 0;
  top: 0; }

@media only screen and (max-width: 640px) {
  .section-split-view:after {
    display: none; } }

.section-split-view .grid {
  position: relative;
  z-index: 2; }

.section-split-view .grid a {
  color: #00A3BF;
  display: block;
  font-size: 16px; }

.section-split-view .grid img {
  display: block;
  margin-bottom: 16px; }

.section-split-view .column {
  padding-left: 5%;
  padding-right: 5%; }

.customer-story.dark blockquote {
  color: #FFFFFF; }

.customer-story blockquote {
  font-size: 24px;
  line-height: 32px; }

.customer-story blockquote cite {
  display: block;
  font-size: 16px;
  text-transform: uppercase;
  margin-bottom: 32px; }

.customer-story .video-link {
  color: #FFFFFF;
  font-weight: 500;
  position: relative; }

.customer-story .video-link img {
  vertical-align: middle;
  margin-right: 20px; }

.customer-story .video-link:after {
  content: '';
  display: inline-block;
  height: 20px;
  width: 20px;
  background: url("/assets/img/play-video.png") no-repeat scroll 0 0;
  background-size: 20px 20px;
  margin-bottom: -5px;
  margin-left: 12px;
  position: static; }

.customer-story__lowered-text {
  margin-top: 84px; }

.customer-story__logo {
  margin-right: 20px; }

.dialog .close-dialog {
  background: url("/assets/img/close-white.svg") no-repeat scroll 0 0;
  background-size: 24px 24px;
  display: inline-block;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 50%;
  margin-top: -12px;
  left: calc(50% + 449px);
  cursor: pointer; }

@media only screen and (max-width: 1056px) {
  .dialog .close-dialog {
    left: auto;
    right: 12px; } }

a.close:hover {
  text-decoration: none; }

.icon-heading-text img {
  margin-bottom: 12px; }

section.pricing h1.jumbo {
  font-size: 90px;
  line-height: 90px; }

section.pricing h1.jumbo sup {
  font-size: 42px;
  position: relative;
  top: 18px; }

section.pricing h3 {
  color: #505F79;
  font-size: 20px;
  padding-top: 10px; }

section.pricing .cms-link {
  font-size: 18px; }

section.pricing .colspan-all h1 {
  margin-bottom: 32px; }

section.pricing .pricing-column {
  background: #FFFFFF;
  border: 1px solid #C1C7D0;
  border-radius: 4px;
  min-height: 450px;
  padding: 32px 16px;
  position: relative; }

section.pricing .pricing-column.alternate {
  background: #F4F5F7; }

section.pricing .pricing-column h1:first-of-type {
  margin-bottom: 32px; }

section.pricing .pricing-column h1:first-of-type:after {
  background: #C1C7D0;
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  margin-top: 24px; }

section.pricing .pricing-column.free h1:first-of-type {
  margin-bottom: 60px; }

section.pricing .pricing-column.free h2 {
  padding-top: 24px; }

section.pricing .pricing-column h2 span {
  display: block;
  color: #505F79;
  margin-top: 24px;
  font-size: 21px; }

section.pricing .pricing-column .button {
  margin-top: 20px;
  margin-bottom: 20px; }

section.pricing .pricing-column .select2-container {
  display: block;
  margin-left: auto;
  margin-right: auto; }

section.pricing .pricing-column.server h1.jumbo {
  font-size: 60px; }

@media only screen and (max-width: 640px) {
  section.pricing .pricing-column.server h1.jumbo {
    font-size: 54px; } }

section.pricing .pricing-column.server h2 {
  font-size: 20px; }

section.pricing .pricing-column.server .select2-container {
  margin-top: -8px; }

@media only screen and (min-width: 641px) {
  .section-tabs > .grid:after {
    padding: 0;
    border-top: 1px solid #C1C7D0;
    width: 95%;
    margin: 0 auto;
    position: relative;
    top: -1px;
    z-index: -1; }
  .section-tabs .tab-navigation .tab-content {
    padding: 0; }
  .section-tabs .tab-navigation .tab-menu li.active a {
    background: #FFFFFF;
    border-bottom: 1px solid #FFFFFF; } }

.select2-drop .select2-results {
  max-height: 196px; }

.select2-result-unselectable.select2-disabled .select2-result-label {
  cursor: default; }

.customer-logos-row__button {
  margin-top: 10px; }

@media only screen and (max-width: 640px) {
  .tab-navigation .tab-menu li {
    margin-top: 0; } }

#calculator-cloud-spinner-error {
  display: none !important; }

section.calculator {
  position: relative; }

@media only screen and (max-width: 640px) {
  section.calculator {
    display: none !important; } }

section.calculator:before {
  content: '';
  display: block;
  height: 80%;
  background: #97A0AF;
  width: 1px;
  position: absolute;
  left: 50%;
  top: 10%; }

section.calculator:after {
  content: "=";
  display: inline-block;
  font-size: 46px;
  background: #F4F5F7;
  position: absolute;
  left: 50%;
  top: 50%;
  height: 50px;
  width: 30px;
  line-height: 42px;
  color: #0052CC;
  margin-left: -14px;
  margin-top: -25px; }

section.calculator .enterprise-info {
  display: none;
  margin-bottom: 24px; }

section.calculator .enterprise-info.active {
  display: block; }

section.calculator a.button + p {
  margin-top: 15px; }

input[id*="spinner"] {
  height: 50px;
  font-size: 32px;
  color: #0052CC;
  font-weight: bold;
  padding-left: 12px;
  border: 1px solid #97A0AF;
  outline: none;
  width: 300px;
  text-align: left; }

input[id*="spinner"]::-ms-clear {
  display: none; }

.ui-spinner {
  color: #97A0AF;
  position: relative; }

.ui-spinner a:hover {
  color: #505F79;
  text-decoration: none; }

.ui-spinner-up {
  position: absolute;
  top: -16px;
  right: 20px;
  cursor: pointer;
  color: #97A0AF; }

.ui-spinner-down {
  position: absolute;
  top: 0;
  right: 20px;
  cursor: pointer;
  color: #97A0AF; }

.bitbucket #calculator-cloud-spinner-error {
  display: none !important; }

.server.calculator > .grid {
  position: relative; }

.data-center-message {
  display: none;
  position: absolute; }

.data-center-message h2 {
  font-size: 22px; }

.data-center-message h4 {
  color: #0052CC;
  font-size: 20px; }

.data-center-message a.button {
  margin-top: 30px;
  margin-bottom: 30px; }

.pricing-faq__table {
  width: 100%;
  margin-bottom: 20px;
  display: none; }

.pricing-faq__table th, .pricing-faq__table td {
  padding: 4px 10px;
  border-bottom: 1px solid #C1C7D0; }

.pricing-faq__table th {
  font-weight: bold; }

section.faq h4 {
  color: #0052CC;
  font-weight: bold;
  margin-bottom: 16px; }

section.faq p {
  color: #253858;
  font-size: 14px;
  margin-bottom: 20px; }

section.screenshots .colspan-1 {
  margin-top: 100px; }

@media only screen and (max-width: 640px) {
  section.screenshots .colspan-1 {
    margin-top: 0; } }

.cta-final .logo {
  margin-bottom: 20px; }

.smallprint p {
  font-size: 14px; }

.card-links {
  border-bottom: 1px solid #C1C7D0; }

.card-links .grid:after {
  display: none; }

.card-links .grid .card-links__card {
  margin-bottom: 0;
  position: relative;
  top: 0;
  padding: 42px 48px 20px 48px;
  cursor: pointer;
  transition: all 0.3s; }

@media only screen and (max-width: 640px) {
  .card-links .grid .card-links__card {
    margin-bottom: 5%;
    cursor: default; } }

.card-links .grid .card-links__card .image-text {
  margin: 20px 0;
  min-height: 40px; }

.card-links .grid .card-links__card .image-text:before, .card-links .grid .card-links__card .image-text:after {
  content: " ";
  display: table; }

.card-links .grid .card-links__card .image-text:after {
  clear: both; }

.card-links .grid .card-links__card .image-text img {
  float: left;
  margin-right: 16px;
  margin-top: -10px; }

.card-links .grid .card-links__card .full-block-link {
  background: rgba(245, 245, 245, 0.88);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: #0052CC;
  font-size: 32px;
  text-align: center;
  display: block;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: opacity 0.3s; }

.card-links .grid .card-links__card .full-block-link:hover {
  text-decoration: none; }

@media only screen and (max-width: 640px) {
  .card-links .grid .card-links__card .full-block-link {
    position: static;
    display: block;
    opacity: 1;
    font-size: 16px;
    margin-bottom: 5%; } }

.card-links .grid .card-links__card:hover {
  padding-bottom: 40px;
  top: -20px;
  margin-bottom: -20px; }

@media only screen and (max-width: 640px) {
  .card-links .grid .card-links__card:hover {
    margin-bottom: 5%;
    top: 0;
    padding: 42px 48px 20px 48px; } }

.card-links .grid .card-links__card:hover .full-block-link {
  opacity: 1; }

.card-links .grid .card-links__card h2 {
  font-size: 28px;
  margin-bottom: 0; }

.card-links .grid .card-links__card h2 a {
  color: #0052CC; }

.card-links .grid .card-links__card h2 a:hover {
  text-decoration: none; }

.card-links .grid .card-links__card h4 {
  font-size: 18px;
  padding-bottom: 8px; }

.card-links .grid .card-links__card h4 a {
  color: #0052CC; }

.card-links .grid .card-links__card h4 a:hover {
  text-decoration: none; }

.card-links__light {
  background: #F4F5F7; }

.card-links div.card-links__light h1,
.card-links div.card-links__light h2,
.card-links div.card-links__light h3,
.card-links div.card-links__light h4 {
  color: #0052CC; }

.card-links div.card-links__light p,
.card-links div.card-links__light li {
  color: #505F79; }

@media only screen and (max-width: 800px) {
  body.whats-new .section-tabs > .grid > .colspan-1 {
    width: 95%; } }

body.whats-new p {
  line-height: 24px; }

body.whats-new .section--previous-releases .video-image-link {
  margin-bottom: 24px; }

body.features li:before {
  display: none; }

body.features .features-table {
  margin-bottom: 20px; }

body.features .features-table table {
  width: 100%; }

body.features .features-table tr {
  height: 48px; }

body.features .features-table tr:nth-child(odd) {
  background: #F4F5F7; }

body.features .features-table tr:last-child {
  border-bottom: 1px solid #EBECF0; }

body.features .features-table thead tr:first-of-type {
  background: transparent;
  height: 64px; }

body.features .features-table thead tr:first-of-type th {
  border-top: 1px solid #EBECF0;
  color: #0052CC;
  font-size: 14px;
  text-transform: uppercase;
  width: 20%; }

body.features .features-table thead tr:first-of-type th h1 {
  text-transform: none; }

body.features .features-table thead tr:first-of-type .no-border {
  border-left: none;
  border-top: none;
  width: 40%; }

body.features .features-table th, body.features .features-table td {
  text-align: center;
  vertical-align: middle;
  color: #505F79;
  font-size: 16px;
  border-right: 1px solid #EBECF0; }

body.features .features-table th:first-of-type, body.features .features-table td:first-of-type {
  text-align: left;
  border-left: 1px solid #EBECF0;
  padding-left: 30px; }

body.features .features-table .unchecked {
  text-indent: -99999px; }

body.features .features-table .checked {
  background: url("/assets/img/check-circle.svg") no-repeat scroll center center;
  text-indent: -99999px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXMvc29mdHdhcmUvcHJvZHVjdC1vdmVydmlldy5jc3MiLCJzb3VyY2VzIjpbInBhZ2VzL3NvZnR3YXJlL3Byb2R1Y3Qtb3ZlcnZpZXcuc2NzcyIsIl92YXJpYWJsZXMuc2NzcyIsIl92YXJpYWJsZXMvX3BhdGhzLnNjc3MiLCJfZm9udHMvX2ZvbnQvX2ZvbnQtdmFyaWFibGVzLnNjc3MiLCJfdmFyaWFibGVzL19kaXJlY3RvcnktaW1wb3J0ZXIuc2NzcyIsIl92YXJpYWJsZXMvX3R5cG9ncmFwaHkvX2RpcmVjdG9yeS1pbXBvcnRlci5zY3NzIiwiX3ZhcmlhYmxlcy9fdHlwb2dyYXBoeS9fZm9udC13ZWlnaHQuc2NzcyIsIl92YXJpYWJsZXMvX3R5cG9ncmFwaHkvX2ZvbnQtdmFycy5zY3NzIiwiX3ZhcmlhYmxlcy9fdHlwb2dyYXBoeS9fZm9udC1zdHlsZS5zY3NzIiwiX3ZhcmlhYmxlcy9fdXRpbC5zY3NzIiwiX3ZhcmlhYmxlcy9fZ3JpZC12YXJpYWJsZXMuc2NzcyIsIl92YXJpYWJsZXMvX2Vudmlyb25lbWVudC5zY3NzIiwiX2Vudmlyb25tZW50LXNldHRpbmdzL19lbnZpcm9ubWVudC1zZXR0aW5ncy5zY3NzIiwiX3ZhcmlhYmxlcy9fY29sb3Iuc2NzcyIsIl92YXJpYWJsZXMvX2NvbG9yLWFycmF5LnNjc3MiLCJfdmFyaWFibGVzL19icmVha3BvaW50LnNjc3MiLCJfdmFyaWFibGVzL19ncmlkLnNjc3MiLCJfdmFyaWFibGVzL196LWluZGV4LnNjc3MiLCJfdmFyaWFibGVzL192YXItY29uZmlnLnNjc3MiLCJfdmFyaWFibGVzL19idXR0b24uc2NzcyIsIl9taXhpbnMvX2RpcmVjdG9yeS1pbXBvcnRlci5zY3NzIiwiX21peGlucy9fbWl4aW4tcmVzcG9uc2l2ZS12aXNpYmlsaXR5LnNjc3MiLCJfbWl4aW5zL19taXhpbi1jbGVhcmZpeC5zY3NzIiwiX21peGlucy9fZnVuY3Rpb24tZGVjaW1hbC5zY3NzIiwiX21peGlucy9fbWl4aW4tZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIl9taXhpbnMvX21peGluLWdyaWQuc2NzcyIsIl9taXhpbnMvX21peGluLXJlc3BvbnNpdmUuc2NzcyIsIl9taXhpbnMvX21peGluLWltYWdlLWJhY2tncm91bmQuc2NzcyIsIl9taXhpbnMvX21peGluLWxheW91dC5zY3NzIiwiX21peGlucy9fbWl4aW4tYm9yZGVyLXJhZGl1cy5zY3NzIiwiX21peGlucy9fdHlwb2dyYXBoeS9fbWl4aW4tcmVtLnNjc3MiLCJfdWkvX3NlbGVjdDItYmFzZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCIuLi8uLi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi8uLi9fdWkvc2VsZWN0Mi1iYXNlXCI7XG5cbi8vIEVsZW1lbnRzXG5oMSB7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAzOHB4O1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4XG59XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG5cbi5oZWFkbGluZS0xIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBsaW5lLWhlaWdodDogNzJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgICsgcCB7XG4gICAgICBjb2xvcjogJGdyYXktbWVkaXVtO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICB9XG4gIH1cbiAgJi5kYXJrIHtcbiAgICBoMSArIHAge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLmhlYWRsaW5lLTIge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiA0OHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICsgcCB7XG4gICAgICBjb2xvcjogJGdyYXktbWVkaXVtO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICB9XG4gIH1cbiAgJi5kYXJrIHtcbiAgICBoMSArIHAge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLnNwZWNpYWwtaGVhZGluZyB7XG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSB7XG4gICAgY29sb3I6ICRncmF5LW1lZGl1bTtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIH1cbn1cblxuLmNpcmN1bGFyLWJvbGQge1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUge1xuICAgIEBleHRlbmQgJWZvbnRfX2Rpc3BsYXktLWJvbGQ7XG4gIH1cbn1cblxuYSB7XG4gIGNvbG9yOiAkYmx1ZTtcbn1cblxucCB7XG4gIGNvbG9yOiAkZ3JheS1tZWRpdW07XG59XG5cbmVtIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5oMSArIC5idXR0b24ge1xuICBtYXJnaW4tdG9wOiAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAxOHB4O1xufVxuXG5hLnZpZGVvLWltYWdlLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gZml4IGZvciB3aGVuIG5lZWRpbmcgdG8gb2ZmIGNlbnRlciBwbGF5IGJ1dHRvblxuLm9mZi1jZW50ZXItcGxheS1idXR0b24ge1xuICAudmlkZW8taW1hZ2UtbGluayB7XG4gICAgJjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogLTExMHB4O1xuICAgIH1cbiAgfVxuXG59XG5cbi5pY29uIHtcbiAgJi5iaXRidWNrZXQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMnB4O1xuICB9XG59XG5cbi8vIEZvciByZXBlYXRpbmcgaDIgKyBwXG5oMiArIHAgKyBoMiB7XG4gIG1hcmdpbi10b3A6IDQ4cHg7XG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8obW9iaWxlKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5oMiArIHAgKyBwICsgaDIge1xuICBtYXJnaW4tdG9wOiA0OHB4O1xuICBAaW5jbHVkZSByZXNwb25kLXRvKG1vYmlsZSkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLnRleHQtZG93biB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8obW9iaWxlKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4udGV4dC1kb3duLWV4dHJhIHtcbiAgbWFyZ2luLXRvcDogNjRweDtcbiAgQGluY2x1ZGUgcmVzcG9uZC10byhtb2JpbGUpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi8vIGNsYXNzZXNcblxuaW1nLmxvZ28ge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4vLyBTdWIgTmF2aWdhdGlvblxuLnN1Ym5hdmlnYXRpb24ge1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICYuc3R1Y2sge1xuICAgIC5idXR0b24uZ3JlZW4taG9sbG93IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1saWdodDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGdyZWVuLWxpZ2h0O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICYuaG92ZXJlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JlZW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNlY3Rpb25zXG5cbi5taXNzaW9uIHtcbiAgcGFkZGluZzogMTBweCAwO1xuICAuYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICB9XG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufVxuXG5zZWN0aW9uLmhlcm8ge1xuICAubG9nbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgfVxuICAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obW9iaWxlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgIH1cbiAgfVxuICAuaGVyby12aWRlbyB7XG4gICAgaW1nIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxuICB9XG59XG5cbi5pbWFnZS1oZWFkaW5nLXRleHQge1xuICBpbWcge1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIH1cbn1cblxuLmZsdXNoLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nLXRvcDogNSUgIWltcG9ydGFudDtcbiAgJi5ib3JkZXItYm90dG9tIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHNpbHZlcjtcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKDEwNTZweCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDUlO1xuICAgIH1cbiAgfVxuICBpbWcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cbn1cblxuQGluY2x1ZGUgcmVzcG9uZC10byhtb2JpbGUpIHtcbiAgLmZsdXNoLWJvdHRvbS1mbGV4IHtcbiAgICAmLmZsdXNoLWJvdHRvbSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gICAgLmdyaWQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgfVxuICAgIC5ncmlkLTIge1xuICAgICAgLmNvbHNwYW4tYWxsIHtcbiAgICAgICAgZmxleC1ncm93OiAyO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29sdW1uIHtcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5pbWFnZS1ib3R0b20ge1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuICB9XG59XG5cbnNlY3Rpb24gLmdyaWQgLmNvbHVtbi5jb2xzcGFuLTEuZmx1c2gtYm90dG9tLWltZyB7XG4gIG1hcmdpbi1ib3R0b206IC02cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaW1nIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB9XG59XG5cbi5zZWNvbmRhcnkge1xuICBwIHtcbiAgICBjb2xvcjogJG5hdnk7XG4gIH1cbn1cblxuLmNvbHNwYW4tYWxsIHtcbiAgaDEge1xuICAgICsgcCB7XG4gICAgICBjb2xvcjogJGdyYXktbWVkaXVtO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWF4LXdpZHRoOiA2MjBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDhweDtcbiAgICB9XG4gIH1cbiAgJi5zZWNvbmRhcnkge1xuICAgIHAge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uZGFyayB7XG4gIC5zZWNvbmRhcnkge1xuICAgIHAge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbiAgLmNvbHNwYW4tYWxsIHtcbiAgICBoMSB7XG4gICAgICArIHAge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZXhwYW5kZWQtdHdvLWNvbHVtbiB7XG4gIG1heC13aWR0aDogNTIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtODBweDtcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygxMDU2cHgpIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmV4cGFuZGVkLXR3by1jb2x1bW4tcmlnaHQge1xuICBtYXgtd2lkdGg6IDUyMHB4O1xuICBtYXJnaW4tcmlnaHQ6IC04MHB4O1xuICBAaW5jbHVkZSByZXNwb25kLXRvKDEwNTZweCkge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLy8gR2VuZXJpYyBjbGFzc2VzXG4uaW1nLWhlYWRsaW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbn1cblxuLmNvbHVtbi1idXR0b24tbGluayB7XG4gICZfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICAmLnNlY29uZGFyeSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgfVxuICB9XG4gICZfX2xpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4uc2VjdGlvbi1pbWFnZS1mbHVzaC1ib3R0b20ge1xuICAuZ3JpZCB7XG4gICAgJjphZnRlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgaW1nIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJvcmRlci1yb3VuZGVkLWNvcm5lcnMge1xuICBib3JkZXI6IDFweCBzb2xpZCAkc2lsdmVyO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICYtLXRvcCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcbiAgfVxufVxuXG4vLyBTcGxpdCB2aWV3IHNlY3Rpb25cbi5zZWN0aW9uLXNwbGl0LXZpZXcge1xuICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAmOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kOiAkdmlvbGV0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhtb2JpbGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5ncmlkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkY3lhbjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIH1cbiAgfVxuICAuY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDUlO1xuICB9XG59XG5cbi5jdXN0b21lci1zdG9yeSB7XG4gICYuZGFyayB7XG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuICBibG9ja3F1b3RlIHtcblxuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICBjaXRlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgfVxuICB9XG4gIC52aWRlby1saW5rIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGltZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRyZXNvdXJjZVBhdGh9aW1nL3BsYXktdmlkZW8ucG5nXCIpIG5vLXJlcGVhdCBzY3JvbGwgMCAwO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbiAgfVxuICAmX19sb3dlcmVkLXRleHQge1xuICAgIG1hcmdpbi10b3A6IDg0cHg7XG4gIH1cbiAgJl9fbG9nbyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG59XG5cbi5kaWFsb2cge1xuICAuY2xvc2UtZGlhbG9nIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRyZXNvdXJjZVBhdGh9aW1nL2Nsb3NlLXdoaXRlLnN2Z1wiKSBuby1yZXBlYXQgc2Nyb2xsIDAgMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgICBsZWZ0OiBjYWxjKDUwJSArIDQ0OXB4KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgcmVzcG9uZC10bygxMDU2cHgpIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMTJweDtcbiAgICB9XG4gIH1cbn1cblxuYS5jbG9zZTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmljb24taGVhZGluZy10ZXh0IHtcbiAgaW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICB9XG59XG5cbnNlY3Rpb24ucHJpY2luZyB7XG4gIGgxLmp1bWJvIHtcblxuICAgIGZvbnQtc2l6ZTogOTBweDtcbiAgICBsaW5lLWhlaWdodDogOTBweDtcbiAgICBzdXAge1xuICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAxOHB4O1xuICAgIH1cbiAgfVxuICBoMixcbiAgaDMge1xuICAgIEBleHRlbmQgJWZvbnRfX3RleHQ7XG4gIH1cblxuICBoMyB7XG4gICAgY29sb3I6ICRncmF5LW1lZGl1bTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gIH1cblxuICAuY21zLWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuICAuY29sc3Bhbi1hbGwge1xuICAgIGgxIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgfVxuICB9XG4gIC5wcmljaW5nLWNvbHVtbiB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LWFzaDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgbWluLWhlaWdodDogNDUwcHg7XG4gICAgcGFkZGluZzogMzJweCAxNnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYuYWx0ZXJuYXRlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0O1xuICAgIH1cbiAgICBoMTpmaXJzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1hc2g7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICB9XG4gICAgfVxuICAgICYuZnJlZSB7XG4gICAgICBoMTpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgIH1cbiAgICAgIGgyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7XG4gICAgICB9XG4gICAgfVxuICAgIGgyIHtcbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICRncmF5LW1lZGl1bTtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC8vIFNlbGVjdDJcbiAgICAuc2VsZWN0Mi1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gICAgJi5zZXJ2ZXIge1xuICAgICAgaDEuanVtYm8ge1xuICAgICAgICBmb250LXNpemU6IDYwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtb2JpbGUpIHtcbiAgICAgICAgICBmb250LXNpemU6IDU0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgfVxuICAgICAgLnNlbGVjdDItY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gYWRkIC5zZWN0aW9uLXRhYnMgY2xhc3MgdG8gc2VjdGlvbiBjb250YWluaW5nIHRhYnMgdG8gZ2V0IGJvcmRlciBib3R0b21cbkBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0LWFuZC11cCkge1xuICAuc2VjdGlvbi10YWJzIHtcbiAgICA+IC5ncmlkIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXktYXNoO1xuICAgICAgICB3aWR0aDogOTUlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgfVxuICAgIH1cbiAgICAudGFiLW5hdmlnYXRpb24gLnRhYi1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC50YWItbmF2aWdhdGlvbiAudGFiLW1lbnUgbGkuYWN0aXZlIGEge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlc2UgZWxlbWVudHMgYXJlIG91dHNpZGUgb2YgdGhlIHByaWNpbmcgY29sdW1ucywgc2VsZWN0MiBtYWtlcyB0aGVtIGRpcmVjdCBjaGlsZHJlbiBvZiB0aGUgYm9keVxuLnNlbGVjdDItZHJvcCB7XG5cbiAgLnNlbGVjdDItcmVzdWx0cyB7XG4gICAgbWF4LWhlaWdodDogMTk2cHg7XG4gIH1cbn1cblxuLnNlbGVjdDItcmVzdWx0LXVuc2VsZWN0YWJsZS5zZWxlY3QyLWRpc2FibGVkIHtcbiAgLnNlbGVjdDItcmVzdWx0LWxhYmVsIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cbn1cblxuLmN1c3RvbWVyLWxvZ29zLXJvdyB7XG4gICZfX2J1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgfVxufVxuXG4udGFiLW5hdmlnYXRpb24gLnRhYi1tZW51IGxpIHtcbiAgQGluY2x1ZGUgcmVzcG9uZC10byhtb2JpbGUpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbiNjYWxjdWxhdG9yLWNsb3VkLXNwaW5uZXItZXJyb3Ige1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbnNlY3Rpb24uY2FsY3VsYXRvciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgcmVzcG9uZC10byhtb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogODAlO1xuICAgIGJhY2tncm91bmQ6ICRncmF5O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDEwJTtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIj1cIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiA0NnB4O1xuICAgIGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICAgIEBleHRlbmQgJWZvbnRfX2Rpc3BsYXktLWJvbGQ7XG4gICAgY29sb3I6ICRuYXZ5O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgfVxuICAuZW50ZXJwcmlzZS1pbmZvIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgJi5hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIGEuYnV0dG9uICsgcCB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxufVxuXG4vLyBOdW1iZXIgc3Bpbm5lclxuaW5wdXRbaWQqPVwic3Bpbm5lclwiXSB7XG4gIEBleHRlbmQgJWZvbnRfX2Rpc3BsYXktLWJvbGQ7XG4gIGhlaWdodDogNTBweDtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBjb2xvcjogJG5hdnk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRncmF5O1xuICBvdXRsaW5lOiBub25lO1xuICB3aWR0aDogMzAwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgLy8gaGlkZSBjbGVhciBidXR0b24gaW4gSUVcbiAgJjo6LW1zLWNsZWFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi51aS1zcGlubmVyIHtcbiAgY29sb3I6ICRncmF5O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgYTpob3ZlciB7XG4gICAgY29sb3I6ICRncmF5LW1lZGl1bTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLnVpLXNwaW5uZXItdXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTE2cHg7XG4gIHJpZ2h0OiAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAkZ3JheTtcbn1cblxuLnVpLXNwaW5uZXItZG93biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMjBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJGdyYXk7XG59XG5cbi5iaXRidWNrZXQgI2NhbGN1bGF0b3ItY2xvdWQtc3Bpbm5lci1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnNlcnZlci5jYWxjdWxhdG9yID4gLmdyaWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kYXRhLWNlbnRlci1tZXNzYWdlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gIH1cblxuICBoNCB7XG4gICAgQGV4dGVuZCAlZm9udF9fZGlzcGxheS0tYm9sZDtcbiAgICBjb2xvcjogJG5hdnk7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG4gIGEuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cblxuLy8gRkFRXG4ucHJpY2luZy1mYXFfX3RhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHRoLCB0ZCB7XG4gICAgcGFkZGluZzogNHB4IDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5LWFzaDtcbiAgfVxuICB0aCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbn1cblxuc2VjdGlvbi5mYXEge1xuICBoNCB7XG4gICAgY29sb3I6ICRuYXZ5O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIH1cbiAgcCB7XG4gICAgY29sb3I6ICRjaGFyY29hbDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxufVxuXG5zZWN0aW9uLnNjcmVlbnNob3RzIHtcbiAgLmNvbHNwYW4tMSB7XG4gICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gIH1cbiAgQGluY2x1ZGUgcmVzcG9uZC10byhtb2JpbGUpIHtcbiAgICAuY29sc3Bhbi0xIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi5jdGEtZmluYWwge1xuICAubG9nbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxufVxuXG4uc21hbGxwcmludCBwIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uY2FyZC1saW5rcyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheS1hc2g7XG4gIC5ncmlkIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5jYXJkLWxpbmtzX19jYXJkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDA7XG4gICAgICBwYWRkaW5nOiA0MnB4IDQ4cHggMjBweCA0OHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1vYmlsZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1JTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgfVxuICAgICAgLmltYWdlLXRleHQge1xuICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgbWluLWhlaWdodDogNDBweDtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZnVsbC1ibG9jay1saW5rIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjg4KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyAvLyBJRTlcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obW9iaWxlKSB7XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1JTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgICB0b3A6IC0yMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMjBweDtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtb2JpbGUpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1JTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcGFkZGluZzogNDJweCA0OHB4IDIwcHggNDhweDtcbiAgICAgICAgfVxuICAgICAgICAuZnVsbC1ibG9jay1saW5rIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJG5hdnk7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgQGV4dGVuZCAlZm9udF9fdGV4dDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRuYXZ5O1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2xpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodDtcbiAgfVxuICBkaXYuY2FyZC1saW5rc19fbGlnaHQge1xuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0IHtcbiAgICAgIGNvbG9yOiAkbmF2eTtcbiAgICB9XG4gICAgcCxcbiAgICBsaSB7XG4gICAgICBjb2xvcjogJGdyYXktbWVkaXVtO1xuICAgIH1cbiAgfVxufVxuXG5ib2R5LndoYXRzLW5ldyB7XG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgLnNlY3Rpb24tdGFicyB7XG4gICAgICA+IC5ncmlkIHtcbiAgICAgICAgPiAuY29sc3Bhbi0xIHtcbiAgICAgICAgICB3aWR0aDogOTUlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB9XG4gIC5zZWN0aW9uLS1wcmV2aW91cy1yZWxlYXNlcyB7XG4gICAgLnZpZGVvLWltYWdlLWxpbmsge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB9XG4gIH1cbn1cblxuYm9keS5mZWF0dXJlcyB7XG4gIGxpOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuZmVhdHVyZXMtdGFibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgdGFibGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIHRyIHtcbiAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodDtcbiAgICAgIH1cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc2lsdmVyO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGVhZCB7XG4gICAgICB0cjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgdGgge1xuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkc2lsdmVyO1xuICAgICAgICAgIGNvbG9yOiAkbmF2eTtcbiAgICAgICAgICBAZXh0ZW5kICVmb250X19kaXNwbGF5LS1ib2xkO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgaDEge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5uby1ib3JkZXIge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aCwgdGQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGNvbG9yOiAkZ3JheS1tZWRpdW07XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkc2lsdmVyO1xuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkc2lsdmVyO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC51bmNoZWNrZWQge1xuICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5OXB4O1xuICAgIH1cbiAgICAuY2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRyZXNvdXJjZVBhdGh9aW1nL2NoZWNrLWNpcmNsZS5zdmdcIikgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgY2VudGVyO1xuICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5OXB4O1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIl92YXJpYWJsZXMvcGF0aHNcIjtcblxuLyogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAgICBGb250cyBDaGFybGllIFNhbnMsIENpcmN1bGFyIFZhcmlhYmxlcyAqL1xuLyogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiX2ZvbnRzL19mb250L2ZvbnQtdmFyaWFibGVzXCI7XG5cbi8qICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogICAgSW1wb3J0IEFsbCBWYXJpYWJsZXMgYW5kIE1peGlucyAqL1xuLyogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiX3ZhcmlhYmxlcy9kaXJlY3RvcnktaW1wb3J0ZXJcIjtcbkBpbXBvcnQgXCJfbWl4aW5zL2RpcmVjdG9yeS1pbXBvcnRlclwiOyIsIiRyZXNvdXJjZVBhdGg6IFwiL2Fzc2V0cy9cIiAhZGVmYXVsdDtcbiRmb250UmVzb3VyY2VQYXRoOiBcIi9kYW0vZm9udHMvXCIgIWRlZmF1bHQ7XG4iLCIkZm9udC1mYW1pbHktLWNoYXJsaWUtZGlzcGxheTogJ0NoYXJsaWUgRGlzcGxheScsICdBcmlhbCcsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktLWNoYXJsaWUtdGV4dDogJ0NoYXJsaWUgVGV4dCcsICdBcmlhbCcsIHNhbnMtc2VyaWY7XG4iLCJAaW1wb3J0IFwiX3R5cG9ncmFwaHkvZGlyZWN0b3J5LWltcG9ydGVyXCI7XG5AaW1wb3J0IFwidXRpbFwiO1xuQGltcG9ydCBcImdyaWQtdmFyaWFibGVzXCI7XG5cbkBpbXBvcnQgXCJlbnZpcm9uZW1lbnRcIjtcbkBpbXBvcnQgXCJjb2xvclwiO1xuQGltcG9ydCBcImNvbG9yLWFycmF5XCI7XG5AaW1wb3J0IFwiYnJlYWtwb2ludFwiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJ6LWluZGV4XCI7XG5AaW1wb3J0IFwidmFyLWNvbmZpZ1wiO1xuQGltcG9ydCBcImJ1dHRvblwiO1xuIiwiQGltcG9ydCAnZm9udC13ZWlnaHQnO1xuQGltcG9ydCAnZm9udC12YXJzJzsgLy8gRm9udCBkZWZpbml0aW9uICh3ZWlnaHRzLCBzaXplLCBzdHlsZSlcbkBpbXBvcnQgJ2ZvbnQtc3R5bGUnOyAvLyBHbG9iYWwgYXZhaWxhYmxlIGZvbnRzXG4iLCIvLyBGb250IFdlaWdodHMgQ2hhcmxpZVxuJGZvbnQtd2VpZ2h0LS10aGluOiAxMDA7XG4kZm9udC13ZWlnaHQtLWxpZ2h0OiAzMDA7XG4kZm9udC13ZWlnaHQtLXJlZ3VsYXI6IG5vcm1hbDtcbiRmb250LXdlaWdodC0tc2VtaWJvbGQ6IDUwMDtcbiRmb250LXdlaWdodC0tYm9sZDogNjAwO1xuJGZvbnQtd2VpZ2h0LS1ibGFjazogNzAwO1xuJGZvbnQtd2VpZ2h0LS11bHRyYTogODAwO1xuIiwiJGZvbnQtZmFtaWx5LS1uYXRpdmU6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsICdOb3RvIFNhbnMnLCAnVWJ1bnR1JywgJ0Ryb2lkIFNhbnMnLCAnSGVsdmV0aWNhIE5ldWUnLCBzYW5zLXNlcmlmO1xuJGZvbnQtdGV4dDogJ0NoYXJsaWUgVGV4dCcsICRmb250LWZhbWlseS0tbmF0aXZlO1xuJGZvbnQtZGlzcGxheTogJ0NoYXJsaWUgRGlzcGxheScsICRmb250LWZhbWlseS0tbmF0aXZlO1xuJGZvbnQtY2lyY3VsYXI6ICdDaXJjdWxhcicsICRmb250LWZhbWlseS0tbmF0aXZlO1xuJGZvbnQtaWNvbnM6ICdUaW1lcycsIHNlcmlmO1xuJGZvbnQtZmFtaWx5LS1hdWktaWNvbnM6ICRmb250LWljb25zO1xuXG5cblxuJWZvbnRfX2ljb24ge1xuICBmb250LWZhbWlseTogJGZvbnQtaWNvbnM7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuJGZvbnRzOiAoICd0ZXh0JzogJGZvbnQtdGV4dCwgJ2Rpc3BsYXknOiAkZm9udC1kaXNwbGF5KTtcbkBlYWNoICRmb250LXN0eWxlICwgJGZvbnQtZmFtaWx5IGluICRmb250cyB7XG4gICVmb250X18jeyRmb250LXN0eWxlfSB7XG4gICAgZm9udC1mYW1pbHk6ICN7JGZvbnQtZmFtaWx5fTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgICAmLS1ibGFjayB7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LS1ibGFjaztcbiAgICAgIEBleHRlbmQgJWZvbnRfXyN7JGZvbnQtc3R5bGV9O1xuXG4gICAgICAmLS1pdGFsaWMge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIEBleHRlbmQgJWZvbnRfXyN7JGZvbnQtc3R5bGV9LS1ibGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1ib2xkIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtLWJvbGQ7XG4gICAgICBAZXh0ZW5kICVmb250X18jeyRmb250LXN0eWxlfTtcblxuICAgICAgJi0taXRhbGljIHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBAZXh0ZW5kICVmb250X18jeyRmb250LXN0eWxlfS0tYm9sZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1saWdodCB7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LS1saWdodDtcbiAgICAgIEBleHRlbmQgJWZvbnRfXyN7JGZvbnQtc3R5bGV9O1xuXG4gICAgICAmLS1pdGFsaWMge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIEBleHRlbmQgJWZvbnRfXyN7JGZvbnQtc3R5bGV9LS1saWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1yZWd1bGFyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtLXJlZ3VsYXI7XG4gICAgICBAZXh0ZW5kICVmb250X18jeyRmb250LXN0eWxlfTtcblxuICAgICAgJi0taXRhbGljIHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBAZXh0ZW5kICVmb250X18jeyRmb250LXN0eWxlfS0tcmVndWxhcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zZW1pYm9sZCB7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LS1zZW1pYm9sZDtcbiAgICAgIEBleHRlbmQgJWZvbnRfXyN7JGZvbnQtc3R5bGV9O1xuXG4gICAgICAmLS1pdGFsaWMge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIEBleHRlbmQgJWZvbnRfXyN7JGZvbnQtc3R5bGV9LS1zZW1pYm9sZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS10aGluIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtLXRoaW47XG4gICAgICBAZXh0ZW5kICVmb250X18jeyRmb250LXN0eWxlfTtcblxuICAgICAgJi0taXRhbGljIHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBAZXh0ZW5kICVmb250X18jeyRmb250LXN0eWxlfS0tdGhpbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS11bHRyYSB7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LS11bHRyYTtcbiAgICAgIEBleHRlbmQgJWZvbnRfXyN7JGZvbnQtc3R5bGV9O1xuXG4gICAgICAmLS1pdGFsaWMge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIEBleHRlbmQgJWZvbnRfXyN7JGZvbnQtc3R5bGV9LS11bHRyYTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiVmb250LXNtb290aGluZyB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuIiwiLy8gSG92ZXJhYmxlIGNsYXNzIG1peGluLiBPbmx5IGFsbG93IGhvdmVyIHdoZW4gdGhlIC5ob3ZlcmFibGUgY2xhc3MgaXMgb24gYm9keS5cbkBtaXhpbiBob3ZlcigpIHtcbiAgLmhvdmVyYWJsZSAmOmhvdmVyIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBDbGVhcmZpeFxuJWNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cblxuLy8gVGV4dCAtPiBpbWFnZSByZXBsYWNlbWVudFxuJWhpZGV0ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAtMTAwMCU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIFBsYWNlaG9sZGVyIHRleHQgZm9yIGZvcm0gaW5wdXRzXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICA6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICA6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICA6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxufVxuXG4vLyBNZWRpYSBxdWVyeSBtaXhpbnNcbkBtaXhpbiBjaW5lbWEtdXAoKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGNpbmVtYSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBkZXNrdG9wKCkge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICgkZGVza3RvcCkpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gZGVza3RvcC1vbmx5KCkge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkZXNrdG9wKSBhbmQgKG1heC13aWR0aDogKCRjaW5lbWEpKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGRlc2t0b3AtdXAoKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRlc2t0b3ApIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gdGFibGV0KCkge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICgkdGFibGV0KSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiB0YWJsZXQtb25seSgpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbW9iaWxlKSBhbmQgKG1heC13aWR0aDogKCR0YWJsZXQpKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHRhYmxldC11cCgpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdGFibGV0KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1vYmlsZS1vbmx5KCkge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtb2JpbGUtc21hbGwpIGFuZCAobWF4LXdpZHRoOiAoJG1vYmlsZSkpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbW9iaWxlKCkge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtb2JpbGUpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbW9iaWxlLW5hcnJvdygpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbW9iaWxlLXNtYWxsKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHNob3J0KCkge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA1MDBweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIHJldGluYSBzcHJpdGVcbkBtaXhpbiByZXRpbmEtc3ByaXRlKCRzcHJpdGUpe1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IG50aCgkc3ByaXRlLCA1KS8yO1xuICBoZWlnaHQ6IG50aCgkc3ByaXRlLCA2KS8yO1xuICBiYWNrZ3JvdW5kLXNpemU6IG50aCgkc3ByaXRlLCA3KS8yIGF1dG87XG4gICRzcHJpdGUtb2Zmc2V0LXg6IG50aCgkc3ByaXRlLCAzKS8yO1xuICAkc3ByaXRlLW9mZnNldC15OiBudGgoJHNwcml0ZSwgNCkvMjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHNwcml0ZS1vZmZzZXQteCAgJHNwcml0ZS1vZmZzZXQteTtcbiAgQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRzcHJpdGUpO1xufVxuXG4vLyBvbGQgc3ByaXRlIGdlbmVyYXRlZCBjaGVja21hcmtcbkBtaXhpbiBzcHJpdGUyeC1jaGVja21hcmsoKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FJQUFBQnZGYXF2QUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5aHBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNRFkzSURjNUxqRTFOemMwTnl3Z01qQXhOUzh3TXk4ek1DMHlNem8wTURvME1pQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRVZ0tFMWhZMmx1ZEc5emFDa2lJSGh0Y0UxTk9rbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZOVVJHTkRVeVJqbEVRVEZFTVRGRk9Ea3pSRFZDUWtRMlFqVTJOVVkyTmtFaUlIaHRjRTFOT2tSdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk5VUkdORFV5UmtGRVFURkVNVEZGT0RrelJEVkNRa1EyUWpVMk5VWTJOa0VpUGlBOGVHMXdUVTA2UkdWeWFYWmxaRVp5YjIwZ2MzUlNaV1k2YVc1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRvMVJFWTBOVEpHTjBSQk1VUXhNVVU0T1RORU5VSkNSRFpDTlRZMVJqWTJRU0lnYzNSU1pXWTZaRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG8xUkVZME5USkdPRVJCTVVReE1VVTRPVE5FTlVKQ1JEWkNOVFkxUmpZMlFTSXZQaUE4TDNKa1pqcEVaWE5qY21sd2RHbHZiajRnUEM5eVpHWTZVa1JHUGlBOEwzZzZlRzF3YldWMFlUNGdQRDk0Y0dGamEyVjBJR1Z1WkQwaWNpSS9QdFJNM0RFQUFBRWFTVVJCVkhqYVl2ei8vejhETlFBVDJUclRPMVpldS8rQ1VvT2E1KzNjZGZLbWQ5R3NlWnRQa204UTBBaTRmcUNKRTFjZUpNZWdKNjgrbEU3ZUNPZnljWE1FTytxVFkxQjZ4NnBQWDMvQXVkMjUvakppQWlRYkJQUUljZ0FuK1pxN21hdVRIRWJJUVFNRVdvb1N0VW51Sk1jYVp0RE1yQWdqSngzaENoclNETUlUTkZnTVdyUHZvbjVNRjdJR1lvSUczU0NnS2NBZ0FEbytzbllSc2xrRWd3YkZJS0NkY05Wb1poRU1HaFNETEhUa2dRNkdDOEhOSWlabzRJQVJVb3hnZWdyb0MyUzNBRzNhMnBkR3VCZ0JhbHZlSElmbUxtS0NCa3VzWVpwRlROQmdUMGRZemNJZk5EZ1RKSnBadUZJTkZ2QWZHL2o0NWJ0WDRVeTk2TTdITDkvL0p3NHc0SklBbW5YODhvUC9SQVBHZ2E5RjBBQkFnQUVBb2dncWRQTW5CN2dBQUFBQVNVVk9SSzVDWUlJPScpO1xuICBoZWlnaHQ6IDEycHg7XG4gIHdpZHRoOiAxMnB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEycHg7XG59XG4iLCJAZnVuY3Rpb24gc3RyaXAtdW5pdHMoJHZhbHVlKSB7XG5cdEByZXR1cm4gJHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyAxKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5TRVQgVEhFU0UgVkFSSUFCTEVTIHRvIGNvbnRyb2wgdGhlIGdsb2JhbCBncmlkXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiRnbG9iYWwtZ3JpZC13aWR0aDogOTYwcHg7XG4kZ2xvYmFsLWdyaWQtZ3V0dGVycy1wYzogNSU7XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblNBVkUgU09NRSBHTE9CQUxTIFRIQVQgQVJFIEFWQUlMQUJMRSBBTllXSEVSRVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4kZ2xvYmFsLWdyaWQtZ3V0dGVycy1yYXRpbzogc3RyaXAtdW5pdHMoJGdsb2JhbC1ncmlkLWd1dHRlcnMtcGMpLzEwMDtcbiRnbG9iYWwtYWRqdXN0ZWQtZ3JpZC1ndXR0ZXJzLXJhdGlvOiAoc3RyaXAtdW5pdHMoJGdsb2JhbC1ncmlkLWd1dHRlcnMtcGMpLzEwMCkvKDEgKyAoc3RyaXAtdW5pdHMoJGdsb2JhbC1ncmlkLWd1dHRlcnMtcGMpLzEwMCkpO1xuJGdsb2JhbC1hZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGM6ICRnbG9iYWwtYWRqdXN0ZWQtZ3JpZC1ndXR0ZXJzLXJhdGlvKjEwMCU7XG4kZ2xvYmFsLWdyaWQtZ3V0dGVycy1weDogJGdsb2JhbC1ncmlkLXdpZHRoKihzdHJpcC11bml0cygkZ2xvYmFsLWdyaWQtZ3V0dGVycy1wYykvMTAwKTtcbi8qXG4qIHNldHMgYWxsIGNvbHNwYW4gd2lkdGhzIGZvciBhIGdpdmVuIGNvbHVtbiBjb3VudCAoaW50ZWdlcilcbiogZWcuIGEgNC1jb2x1bW4gZ3JpZCBuZWVkcyBzdHlsZXMgZm9yIGNvbHNwYW4tMSwgY29sc3Bhbi0yLCBjb2xzcGFuLTMsIGFuZCBjb2xzcGFuLTRcbiovXG5AbWl4aW4gc2V0LWdyaWQtY29sdW1ucygkY29sdW1uLWNvdW50LCAkZ3V0dGVyczogJGdsb2JhbC1hZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpIHtcblx0JG9yaWdpbmFsLWNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcblxuXHQmLmdhbGxlcnkge1xuXHRcdCYgPiAuY29sdW1uLmNvbHNwYW4tMSB7XG5cdFx0XHQmOm50aC1jaGlsZChuKSB7XG5cdFx0XHRcdGNsZWFyOiBub25lO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtY2hpbGQoI3soJG9yaWdpbmFsLWNvbHVtbi1jb3VudCl9biArIDEpIHtcblx0XHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYubGVhZGluZy1jb2x1bW4ge1xuXHRcdFx0JiA+IC5jb2x1bW4uY29sc3Bhbi0xIHtcblx0XHRcdFx0JjpudGgtY2hpbGQobikge1xuXHRcdFx0XHRcdGNsZWFyOiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCY6bnRoLWNoaWxkKCN7KCRvcmlnaW5hbC1jb2x1bW4tY291bnQpfW4gKyAxKSB7XG5cdFx0XHRcdFx0Y2xlYXI6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdFx0JjpudGgtY2hpbGQoI3soJG9yaWdpbmFsLWNvbHVtbi1jb3VudCl9biArIDIpIHtcblx0XHRcdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIGJ5IGRlZmF1bHQsIHRyZWF0IGV2ZXJ5dGhpbmcgYXMgYSBzaW5nbGUgY29sdW1uXG5cdC8vIHRoaXMgaXMgaW1wb3J0YW50IGZvciByZXNwb25zaXZlXG5cdC8vIGZvciBleGFtcGxlLCB3aGVuIGEgbGF5b3V0IGNoYW5nZXMgZnJvbSA0LWNvbCB0byAyLWNvbCBvbiB0YWJsZXRcblx0Ly8gYW55IGNvbHNwYW4tMyBjb2x1bW5zIHdpbGwgc3RpbGwgYmUgNzUlIHdpZHRoIGlmIHRoaXMgcnVsZSBpcyBub3QgaW4gcGxhY2Vcblx0JiA+IC5jb2x1bW4ge1xuXHRcdEBpbmNsdWRlIGNvbHVtbi13aWR0aCgxLCAxLCAkZ3V0dGVycyk7XG5cdH1cblxuXHQvLyBvdmVycmlkZSBkZWZhdWx0IHdpdGggY29sdW1uIHNwZWNpZmljIHJ1bGVzXG5cdEB3aGlsZSAkY29sdW1uLWNvdW50ID4gMCB7XG5cdFx0JiA+IC5jb2xzcGFuLSN7JGNvbHVtbi1jb3VudH0ge1xuXHRcdFx0QGluY2x1ZGUgY29sdW1uLXdpZHRoKCRjb2x1bW4tY291bnQsICRvcmlnaW5hbC1jb2x1bW4tY291bnQsICRndXR0ZXJzKTtcblx0XHR9XG5cblx0XHRAaWYgJGNvbHVtbi1jb3VudCA+IDEge1xuXHRcdFx0JiA+IC5wdXNoLSN7KCRjb2x1bW4tY291bnQgLSAxKX0ge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogKCRjb2x1bW4tY291bnQgLSAxKSAqICgxMDAlLyRvcmlnaW5hbC1jb2x1bW4tY291bnQpICsgJGd1dHRlcnMvMjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQkY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50IC0gMTtcblx0fVxuXG5cdC8vIHdoZW4gaW4gc2luZ2xlIGNvbHVtbiBtb2RlLCBhbnkgcHVzaGVkIGNvbHVtbnMgc2hvdWxkIGdldCB1bnB1c2hlZFxuXHQvLyBhbHNvIGRpc2FibGUgZmxleGJveCBhcyBpdCB3aWxsIHByZXZlbnQgc3RhY2tpbmcgb2Ygc2luZ2xlIGNvbHVtbnNcblx0QGlmICRvcmlnaW5hbC1jb2x1bW4tY291bnQgPT0gMSB7XG5cdFx0JiA+IC5wdXNoIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAkZ3V0dGVycy8yO1xuXHRcdH1cblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuXG5AbWl4aW4gY29sdW1uLXdpZHRoKCRjb2x1bW4sICRjb2x1bW4tdG90YWwsICRndXR0ZXJzOiAkZ2xvYmFsLWFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYykge1xuXHR3aWR0aDogKDEwMCUgLyAkY29sdW1uLXRvdGFsICogJGNvbHVtbikgLSAkZ3V0dGVycztcbn1cblxuQG1peGluIGVkZ2UtdG8tZWRnZS1zZXQtZ3JpZC1jb2x1bW5zKCRjb2x1bW4tY291bnQsICRncmlkLXdpZHRoOiAkZ2xvYmFsLWdyaWQtd2lkdGgsICRncmlkLWd1dHRlcnMtcHg6ICRnbG9iYWwtZ3JpZC1ndXR0ZXJzLXB4LCAkZ3V0dGVyczogJGdsb2JhbC1hZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpIHtcblx0JG9yaWdpbmFsLWNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcblx0QHdoaWxlICRjb2x1bW4tY291bnQgPiAwIHtcblxuXHRcdCYgPiAuY29sc3Bhbi0jeyRjb2x1bW4tY291bnR9IHtcblx0XHRcdHdpZHRoOiAoMTAwJSAvICRvcmlnaW5hbC1jb2x1bW4tY291bnQgKiAkY29sdW1uLWNvdW50KTtcblxuXHRcdFx0QGluY2x1ZGUgcmVzcG9uZC10bygkZ3JpZC13aWR0aCArICgkZ3JpZC1ndXR0ZXJzLXB4KSkge1xuXHRcdFx0XHRwYWRkaW5nOiAkZ3V0dGVycztcblx0XHRcdFx0JiA+IC5jb2x1bW4taW5uZXIge1xuXHRcdFx0XHRcdG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdCRjb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQgLSAxO1xuXHR9XG5cblx0QGlmICRvcmlnaW5hbC1jb2x1bW4tY291bnQgPT0gMSB7XG5cdFx0JiB7XG5cdFx0XHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0XHR9XG5cdFx0JiA+IC5jb2x1bW4uY29sc3Bhbi0xIHtcblx0XHRcdG1pbi1oZWlnaHQ6IG5vbmU7XG5cdFx0XHQmID4gLmNvbHVtbi1pbm5lciB7XG5cdFx0XHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9IEBlbHNlIHtcblx0XHQvLyBvbmx5IG9uIG11bHRpLWNvbHVtbiBkbyB3ZSB1c2UgZmxleGJveFxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cdH1cblxufVxuXG5AbWl4aW4gYWQtaG9jLXZlcnRpY2FsLXBhZGRpbmcoJHBhZGRpbmctcGMsICRndXR0ZXJzLXBjOiAkZ2xvYmFsLWFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYywgJHNtYWxsLW11bHRpcGxpZXI6IDAuNSwgJHN0YW5kYXJkLW11bHRpcGxpZXI6IDEsICRsYXJnZS1tdWx0aXBsaWVyOiAxLjUpIHtcblx0JGd1dHRlcnMtc21hbGw6ICRndXR0ZXJzLXBjICogJHNtYWxsLW11bHRpcGxpZXI7XG5cdCRndXR0ZXJzLXN0YW5kYXJkOiAkZ3V0dGVycy1wYyAqICRzdGFuZGFyZC1tdWx0aXBsaWVyO1xuXHQkZ3V0dGVycy1sYXJnZTogJGd1dHRlcnMtcGMgKiAkbGFyZ2UtbXVsdGlwbGllcjtcblxuXHQmOmJlZm9yZSB7XG5cdFx0cGFkZGluZy10b3A6ICRwYWRkaW5nLXBjO1xuXHR9XG5cdCY6YWZ0ZXIge1xuXHRcdHBhZGRpbmctYm90dG9tOiAkcGFkZGluZy1wYztcblx0fVxuXG5cdCYudmVydGljYWwtZ3V0dGVycy1zbWFsbDphZnRlciB7XG5cdFx0QGlmICRwYWRkaW5nLXBjID4gJGd1dHRlcnMtc21hbGwge1xuXHRcdFx0cGFkZGluZy1ib3R0b206ICRwYWRkaW5nLXBjIC0gJGd1dHRlcnMtc21hbGw7XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cblx0Ji52ZXJ0aWNhbC1ndXR0ZXJzLXN0YW5kYXJkOmFmdGVyIHtcblx0XHRAaWYgJHBhZGRpbmctcGMgPiAkZ3V0dGVycy1zdGFuZGFyZCB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmctcGMgLSAkZ3V0dGVycy1zdGFuZGFyZDtcblx0XHR9IEBlbHNlIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdH1cblx0fVxuXHQmLnZlcnRpY2FsLWd1dHRlcnMtbGFyZ2U6YWZ0ZXIge1xuXHRcdEBpZiAkcGFkZGluZy1wYyA+ICRndXR0ZXJzLWxhcmdlIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAkcGFkZGluZy1wYyAtICRndXR0ZXJzLWxhcmdlO1xuXHRcdH0gQGVsc2Uge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG5cbn1cblxuQG1peGluIGFsbC1ncmlkLXZlcnRpY2FsLXBhZGRpbmcoJGdyaWQtZ3V0dGVycy1wYywgJHNtYWxsLW11bHRpcGxpZXIsICRzdGFuZGFyZC1tdWx0aXBsaWVyLCAkbGFyZ2UtbXVsdGlwbGllcikge1xuXHQkZ3JpZC1ndXR0ZXJzLXJhdGlvOiBzdHJpcC11bml0cygkZ3JpZC1ndXR0ZXJzLXBjKS8xMDA7XG5cblx0Ly8gdmVydGljYWwgZ3V0dGVycyAoYmFzZWQgb24gZ3JpZC1ndXR0ZXJzLXBjKVxuXHQkdmVydGljYWwtZ3V0dGVycy1zdGFuZGFyZDogJGdyaWQtZ3V0dGVycy1wYyokc3RhbmRhcmQtbXVsdGlwbGllcjtcblx0JHZlcnRpY2FsLWd1dHRlcnMtc21hbGw6ICRncmlkLWd1dHRlcnMtcGMqJHNtYWxsLW11bHRpcGxpZXI7XG5cdCR2ZXJ0aWNhbC1ndXR0ZXJzLWxhcmdlOiAkZ3JpZC1ndXR0ZXJzLXBjKiRsYXJnZS1tdWx0aXBsaWVyO1xuXHQvLyB2ZXJ0aWNhbCBwYWRkaW5nIChiYXNlZCBvbiBncmlkLWd1dHRlcnMtcGMpXG5cdCR2ZXJ0aWNhbC1wYWRkaW5nLXN0YW5kYXJkOiAkZ3JpZC1ndXR0ZXJzLXBjKiRzdGFuZGFyZC1tdWx0aXBsaWVyO1xuXHQkdmVydGljYWwtcGFkZGluZy1zbWFsbDogJGdyaWQtZ3V0dGVycy1wYyokc21hbGwtbXVsdGlwbGllcjtcblx0JHZlcnRpY2FsLXBhZGRpbmctbGFyZ2U6ICRncmlkLWd1dHRlcnMtcGMqJGxhcmdlLW11bHRpcGxpZXI7XG5cdC8vIGFkanVzdGVkIHZlcnRpY2FsIGd1dHRlcnNcblx0JGFkanVzdGVkLXZlcnRpY2FsLWd1dHRlcnMtc3RhbmRhcmQ6ICR2ZXJ0aWNhbC1ndXR0ZXJzLXN0YW5kYXJkLygxICsgJGdyaWQtZ3V0dGVycy1yYXRpbyk7XG5cdCRhZGp1c3RlZC12ZXJ0aWNhbC1ndXR0ZXJzLXNtYWxsOiAkdmVydGljYWwtZ3V0dGVycy1zbWFsbC8oMSArICRncmlkLWd1dHRlcnMtcmF0aW8pO1xuXHQkYWRqdXN0ZWQtdmVydGljYWwtZ3V0dGVycy1sYXJnZTogJHZlcnRpY2FsLWd1dHRlcnMtbGFyZ2UvKDEgKyAkZ3JpZC1ndXR0ZXJzLXJhdGlvKTtcblxuXHRAaW5jbHVkZSBjbGVhcmZpeDtcblxuXHQvKiBCRUdJTiBTVEFOREFSRCBvciBOTyBWRVJUSUNBTC1QQURESU5HLUNMQVNTICovXG5cdCYudmVydGljYWwtcGFkZGluZy1zdGFuZGFyZCB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0cGFkZGluZy10b3A6ICR2ZXJ0aWNhbC1wYWRkaW5nLXN0YW5kYXJkO1xuXHRcdH1cblx0XHQmOmFmdGVyIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAkdmVydGljYWwtcGFkZGluZy1zdGFuZGFyZDtcblx0XHR9XG5cdH1cblxuXHQmLnZlcnRpY2FsLWd1dHRlcnMtc3RhbmRhcmQge1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0cGFkZGluZy1ib3R0b206ICR2ZXJ0aWNhbC1wYWRkaW5nLXN0YW5kYXJkIC0gJGFkanVzdGVkLXZlcnRpY2FsLWd1dHRlcnMtc3RhbmRhcmQ7XG5cdFx0fVxuXHRcdC5jb2x1bW4ge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogJGFkanVzdGVkLXZlcnRpY2FsLWd1dHRlcnMtc3RhbmRhcmQ7XG5cdFx0fVxuXHRcdC5mbHVzaCA+ICYge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogJHZlcnRpY2FsLXBhZGRpbmctc3RhbmRhcmQgKiAtMTtcblx0XHR9XG5cdH1cblx0Ji52ZXJ0aWNhbC1ndXR0ZXJzLXNtYWxsIHtcblx0XHQmOmFmdGVyIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAkdmVydGljYWwtcGFkZGluZy1zdGFuZGFyZCAtICRhZGp1c3RlZC12ZXJ0aWNhbC1ndXR0ZXJzLXNtYWxsO1xuXHRcdH1cblx0XHQuY29sdW1uIHtcblx0XHRcdG1hcmdpbi1ib3R0b206ICRhZGp1c3RlZC12ZXJ0aWNhbC1ndXR0ZXJzLXNtYWxsO1xuXHRcdH1cblx0XHQuZmx1c2ggPiAmIHtcblx0XHRcdG1hcmdpbi1ib3R0b206ICR2ZXJ0aWNhbC1wYWRkaW5nLXN0YW5kYXJkICogLTE7XG5cdFx0fVxuXHR9XG5cdCYudmVydGljYWwtZ3V0dGVycy1sYXJnZSB7XG5cdFx0JjphZnRlciB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHR9XG5cdFx0LmNvbHVtbiB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAkYWRqdXN0ZWQtdmVydGljYWwtZ3V0dGVycy1sYXJnZTtcblx0XHR9XG5cdFx0LmZsdXNoID4gJiB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAkdmVydGljYWwtcGFkZGluZy1sYXJnZSAqIC0xO1xuXHRcdH1cblx0fVxuXHQvKiBFTkQgU1RBTkRBUkQgb3IgTk8gVkVSVElDQUwtUEFERElORy1DTEFTUyAqL1xuXHQvKiBCRUdJTiBTVEFOREFSRCBvciBOTyBWRVJUSUNBTC1QQURESU5HLUNMQVNTICovXG5cdCYudmVydGljYWwtcGFkZGluZy1zbWFsbCB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0cGFkZGluZy10b3A6ICR2ZXJ0aWNhbC1wYWRkaW5nLXNtYWxsO1xuXHRcdH1cblx0XHQmOmFmdGVyIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAkdmVydGljYWwtcGFkZGluZy1zbWFsbDtcblx0XHR9XG5cblx0XHQmLnZlcnRpY2FsLWd1dHRlcnMtc3RhbmRhcmQge1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdFx0LmNvbHVtbiB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206ICRhZGp1c3RlZC12ZXJ0aWNhbC1ndXR0ZXJzLXN0YW5kYXJkO1xuXHRcdFx0fVxuXHRcdFx0LmZsdXNoID4gJiB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206ICR2ZXJ0aWNhbC1ndXR0ZXJzLXN0YW5kYXJkICogLTE7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYudmVydGljYWwtZ3V0dGVycy1zbWFsbCB7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206ICR2ZXJ0aWNhbC1wYWRkaW5nLXNtYWxsIC0gJGFkanVzdGVkLXZlcnRpY2FsLWd1dHRlcnMtc21hbGw7XG5cdFx0XHR9XG5cdFx0XHQuY29sdW1uIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJGFkanVzdGVkLXZlcnRpY2FsLWd1dHRlcnMtc21hbGw7XG5cdFx0XHR9XG5cdFx0XHQuZmx1c2ggPiAmIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHZlcnRpY2FsLXBhZGRpbmctc21hbGwgKiAtMTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji52ZXJ0aWNhbC1ndXR0ZXJzLWxhcmdlIHtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHRcdC5jb2x1bW4ge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAkYWRqdXN0ZWQtdmVydGljYWwtZ3V0dGVycy1sYXJnZTtcblx0XHRcdH1cblx0XHRcdC5mbHVzaCA+ICYge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAkdmVydGljYWwtcGFkZGluZy1sYXJnZSAqIC0xO1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG5cblx0Ji52ZXJ0aWNhbC1wYWRkaW5nLWxhcmdlIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogJHZlcnRpY2FsLXBhZGRpbmctbGFyZ2Vcblx0XHR9XG5cdFx0JjphZnRlciB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogJHZlcnRpY2FsLXBhZGRpbmctbGFyZ2U7XG5cdFx0fVxuXG5cdFx0Ji52ZXJ0aWNhbC1ndXR0ZXJzLXN0YW5kYXJkIHtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogJHZlcnRpY2FsLXBhZGRpbmctbGFyZ2UgLSAkYWRqdXN0ZWQtdmVydGljYWwtZ3V0dGVycy1zdGFuZGFyZDtcblx0XHRcdH1cblx0XHRcdC5jb2x1bW4ge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAkYWRqdXN0ZWQtdmVydGljYWwtZ3V0dGVycy1zdGFuZGFyZDtcblx0XHRcdH1cblx0XHRcdC5mbHVzaCA+ICYge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAkdmVydGljYWwtcGFkZGluZy1zdGFuZGFyZCAqIC0xO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLnZlcnRpY2FsLWd1dHRlcnMtc21hbGwge1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAkdmVydGljYWwtcGFkZGluZy1sYXJnZSAtICRhZGp1c3RlZC12ZXJ0aWNhbC1ndXR0ZXJzLXNtYWxsO1xuXHRcdFx0fVxuXHRcdFx0LmNvbHVtbiB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206ICRhZGp1c3RlZC12ZXJ0aWNhbC1ndXR0ZXJzLXNtYWxsO1xuXHRcdFx0fVxuXHRcdFx0LmZsdXNoID4gJiB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206ICR2ZXJ0aWNhbC1ndXR0ZXJzLXNtYWxsICogLTE7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYudmVydGljYWwtZ3V0dGVycy1sYXJnZSB7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206ICR2ZXJ0aWNhbC1wYWRkaW5nLWxhcmdlIC0gJGFkanVzdGVkLXZlcnRpY2FsLWd1dHRlcnMtbGFyZ2U7XG5cdFx0XHR9XG5cdFx0XHQuY29sdW1uIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJGFkanVzdGVkLXZlcnRpY2FsLWd1dHRlcnMtbGFyZ2U7XG5cdFx0XHR9XG5cdFx0XHQuZmx1c2ggPiAmIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHZlcnRpY2FsLWd1dHRlcnMtbGFyZ2UgKiAtMTtcblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuTUFJTiBHUklEIE1JWElOXG5jYWxsIHRoaXMgdG8gZXN0YWJsaXNoIGEgZ3JpZCB3aXRoIGEgZGVmaW5lZCB3aWR0aCwgZ3V0dGVycy1wYywgZXRjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtaXhpbiBncmlkKCRncmlkLXdpZHRoLCAkZ3JpZC1ndXR0ZXJzLXBjLCAkeGxhcmdlLWdyaWQtd2lkdGg6IDEyMDBweCkge1xuXHQvLyBncmlkXG5cdCRncmlkLWd1dHRlcnMtcmF0aW86IHN0cmlwLXVuaXRzKCRncmlkLWd1dHRlcnMtcGMpLzEwMDtcblx0JGdyaWQtZ3V0dGVycy1weDogJGdyaWQtZ3V0dGVycy1yYXRpbyAqICRncmlkLXdpZHRoO1xuXHQvLyBtdWx0aXBsaWVycyAoYmFzZWQgb24gNSUgZ3V0dGVycylcblx0JHN0YW5kYXJkLW11bHRpcGxpZXI6IDAuMDUgLyAkZ3JpZC1ndXR0ZXJzLXJhdGlvICogOTYwIC8gc3RyaXBfdW5pdHMoJGdyaWQtd2lkdGgpO1xuXHQkc21hbGwtbXVsdGlwbGllcjogJHN0YW5kYXJkLW11bHRpcGxpZXIgKiAwLjU7XG5cdCRsYXJnZS1tdWx0aXBsaWVyOiAkc3RhbmRhcmQtbXVsdGlwbGllciAqIDEuNTtcblx0Ly8gb3VyIGFjdHVhbCBncmlkIHdpZHRoIGlzIGluZmxhdGVkIGJ5IGEgcGVyY2VudGFnZSBiYXNlZCBvbiB0aGUgZ3V0dGVyc1xuXHQkYWRqdXN0ZWQtZ3JpZC1ndXR0ZXJzLXJhdGlvOiAkZ3JpZC1ndXR0ZXJzLXJhdGlvLygxICsgJGdyaWQtZ3V0dGVycy1yYXRpbyk7XG5cdCRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGM6ICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcmF0aW8qMTAwJTtcblxuXHQvKiBnbG9iYWwgZ3JpZCBzdHlsZXMgKi9cblx0LmdyaWQge1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdG1heC13aWR0aDogJGdyaWQtd2lkdGggKyAkZ3JpZC13aWR0aCAqICRncmlkLWd1dHRlcnMtcmF0aW87XG5cdFx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cblx0XHRAaW5jbHVkZSByZXNwb25kLXRvKCRncmlkLXdpZHRoICsgJGdyaWQtZ3V0dGVycy1weCoyKSB7XG5cdFx0XHRtYXJnaW46IDAgJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYy8yO1xuXHRcdH1cblxuXHRcdC8vIHRlbXBvcmFyaWx5IHJlbW92aW5nIHRoaXMgaW4gb3JkZXIgdG8gY29leGlzdCB3aXRoIGV4aXN0aW5nIGhpcGNoYXQgcGFnZXNcblx0XHQvLyBAaW5jbHVkZSByZXNwb25kLXRvKHhsYXJnZSl7XG5cdFx0Ly8gXHRtYXgtd2lkdGg6ICR4bGFyZ2UtZ3JpZC13aWR0aCArICR4bGFyZ2UtZ3JpZC13aWR0aCAqICRncmlkLWd1dHRlcnMtcmF0aW87XG5cdFx0Ly8gfVxuXHRcdEBpbmNsdWRlIGFsbC1ncmlkLXZlcnRpY2FsLXBhZGRpbmcoJGdyaWQtZ3V0dGVycy1wYywgJHNtYWxsLW11bHRpcGxpZXIsICRzdGFuZGFyZC1tdWx0aXBsaWVyLCAkbGFyZ2UtbXVsdGlwbGllcik7XG5cblx0XHQuY29sdW1uID4gLmdyaWQge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC0kYWRqdXN0ZWQtZ3JpZC1ndXR0ZXJzLXBjLzI7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IC0kYWRqdXN0ZWQtZ3JpZC1ndXR0ZXJzLXBjLzI7XG5cdFx0fVxuXG5cdFx0Ji5ncmlkLTEgLmdyaWQge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0fVxuXG5cdH1cblxuXHQvKiBnbG9iYWwgY29sdW1uIHN0eWxlcyAqL1xuXHQuY29sdW1uIHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW4tbGVmdDogJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYy8yO1xuXHRcdG1hcmdpbi1yaWdodDogJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYy8yO1xuXHRcdHdpZHRoOiAxMDAlIC0gJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYztcblx0XHRtaW4taGVpZ2h0OiAxcHg7XG5cblx0XHQuY29sc3Bhbi1hbGwge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0Ji5jbGVhciB7XG5cdFx0XHRjbGVhcjogYm90aDtcblx0XHR9XG5cblx0XHQmLmNlbnRlciB7XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0fVxuXG5cdFx0cCxcblx0XHR1bCxcblx0XHRvbCxcblx0XHRsaSxcblx0XHRhLFxuXHRcdGgxLFxuXHRcdGgyLFxuXHRcdGgzLFxuXHRcdGg0LFxuXHRcdGg1LFxuXHRcdGg2LFxuXHRcdCYgPiAqIHtcblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cblxuXHQuZ3JpZC0yIHtcblx0XHRAaW5jbHVkZSBzZXQtZ3JpZC1jb2x1bW5zKDIsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXHR9XG5cdC5ncmlkLTMge1xuXHRcdEBpbmNsdWRlIHNldC1ncmlkLWNvbHVtbnMoMywgJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYyk7XG5cdH1cblx0LmdyaWQtNCB7XG5cdFx0QGluY2x1ZGUgc2V0LWdyaWQtY29sdW1ucyg0LCAkYWRqdXN0ZWQtZ3JpZC1ndXR0ZXJzLXBjKTtcblx0fVxuXHQuZ3JpZC01IHtcblx0XHRAaW5jbHVkZSBzZXQtZ3JpZC1jb2x1bW5zKDUsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXHR9XG5cdC5ncmlkLTYge1xuXHRcdEBpbmNsdWRlIHNldC1ncmlkLWNvbHVtbnMoNiwgJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYyk7XG5cdH1cblx0LmdyaWQtNyB7XG5cdFx0QGluY2x1ZGUgc2V0LWdyaWQtY29sdW1ucyg3LCAkYWRqdXN0ZWQtZ3JpZC1ndXR0ZXJzLXBjKTtcblx0fVxuXHQuZ3JpZC04IHtcblx0XHRAaW5jbHVkZSBzZXQtZ3JpZC1jb2x1bW5zKDgsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXHR9XG5cdC5ncmlkLTEwIHtcblx0XHRAaW5jbHVkZSBzZXQtZ3JpZC1jb2x1bW5zKDEwLCAkYWRqdXN0ZWQtZ3JpZC1ndXR0ZXJzLXBjKTtcblx0fVxuXHQuZ3JpZC0xMiB7XG5cdFx0QGluY2x1ZGUgc2V0LWdyaWQtY29sdW1ucygxMiwgJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYyk7XG5cdH1cblxuXHQuZ3JpZC5lZGdlLXRvLWVkZ2Uge1xuXHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblxuXHRcdCYgPiAuY29sdW1uIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXHRcdFx0bWluLWhlaWdodDogMTAwJTtcblx0XHRcdHBhZGRpbmc6ICRncmlkLWd1dHRlcnMtcHg7XG5cblx0XHRcdCYuZGFyayB7XG5cdFx0XHRcdEBleHRlbmQgJWRhcmsgIW9wdGlvbmFsO1xuXHRcdFx0fVxuXG5cdFx0XHQmLmN5YW4ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY3lhbjtcblx0XHRcdH1cblx0XHRcdCYuZ3JheS1saWdodCB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0O1xuXHRcdFx0fVxuXHRcdFx0Ji53aGl0ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0JiA+IGEuY29sdW1uIHtcblx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXG5cdFx0LmNvbHVtbi1pbm5lciB7XG5cdFx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcblxuXHRcdFx0JiA+ICo6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5ncmlkLTEge1xuXHRcdFx0QGluY2x1ZGUgZWRnZS10by1lZGdlLXNldC1ncmlkLWNvbHVtbnMoMSwgJGdyaWQtd2lkdGgsICRncmlkLWd1dHRlcnMtcHgsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXG5cdFx0XHQmLmZpdC10by1ncmlkIC5jb2x1bW4gPiAuY29sdW1uLWlubmVyIHtcblx0XHRcdFx0bWF4LXdpZHRoOiAkZ3JpZC13aWR0aDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRcdFx0Lypcblx0XHRcdFx0QGluY2x1ZGUgcmVzcG9uZC10byh4bGFyZ2Upe1xuXHRcdFx0XHRcdG1heC13aWR0aDogJHhsYXJnZS1ncmlkLXdpZHRoO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCovXG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuZ3JpZC0yIHtcblx0XHRcdEBpbmNsdWRlIGVkZ2UtdG8tZWRnZS1zZXQtZ3JpZC1jb2x1bW5zKDIsICRncmlkLXdpZHRoLCAkZ3JpZC1ndXR0ZXJzLXB4LCAkYWRqdXN0ZWQtZ3JpZC1ndXR0ZXJzLXBjKTtcblxuXHRcdFx0Ji5maXQtdG8tZ3JpZCAuY29sc3Bhbi0xIHtcblx0XHRcdFx0JiA+IC5jb2x1bW4taW5uZXIge1xuXHRcdFx0XHRcdG1heC13aWR0aDogKCRncmlkLXdpZHRoKS8yIC0gJGdyaWQtZ3V0dGVycy1weDtcblx0XHRcdFx0XHRAaW5jbHVkZSByZXNwb25kLXRvKHhsYXJnZSkge1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiAoJHhsYXJnZS1ncmlkLXdpZHRoKS8yIC0gJGdyaWQtZ3V0dGVycy1weDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0JjpudGgtY2hpbGQoMm4rMSkgPiAuY29sdW1uLWlubmVyIHtcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5ncmlkLTMge1xuXHRcdFx0QGluY2x1ZGUgZWRnZS10by1lZGdlLXNldC1ncmlkLWNvbHVtbnMoMywgJGdyaWQtd2lkdGgsICRncmlkLWd1dHRlcnMtcHgsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXHRcdH1cblx0XHQmLmdyaWQtNCB7XG5cdFx0XHRAaW5jbHVkZSBlZGdlLXRvLWVkZ2Utc2V0LWdyaWQtY29sdW1ucyg0LCAkZ3JpZC13aWR0aCwgJGdyaWQtZ3V0dGVycy1weCwgJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYyk7XG5cdFx0fVxuXHRcdCYuZ3JpZC01IHtcblx0XHRcdEBpbmNsdWRlIGVkZ2UtdG8tZWRnZS1zZXQtZ3JpZC1jb2x1bW5zKDUsICRncmlkLXdpZHRoLCAkZ3JpZC1ndXR0ZXJzLXB4LCAkYWRqdXN0ZWQtZ3JpZC1ndXR0ZXJzLXBjKTtcblx0XHR9XG5cdFx0Ji5ncmlkLTYge1xuXHRcdFx0QGluY2x1ZGUgZWRnZS10by1lZGdlLXNldC1ncmlkLWNvbHVtbnMoNiwgJGdyaWQtd2lkdGgsICRncmlkLWd1dHRlcnMtcHgsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXHRcdH1cblx0XHQmLmdyaWQtNyB7XG5cdFx0XHRAaW5jbHVkZSBlZGdlLXRvLWVkZ2Utc2V0LWdyaWQtY29sdW1ucyg3LCAkZ3JpZC13aWR0aCwgJGdyaWQtZ3V0dGVycy1weCwgJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYyk7XG5cdFx0fVxuXHRcdCYuZ3JpZC04IHtcblx0XHRcdEBpbmNsdWRlIGVkZ2UtdG8tZWRnZS1zZXQtZ3JpZC1jb2x1bW5zKDgsICRncmlkLXdpZHRoLCAkZ3JpZC1ndXR0ZXJzLXB4LCAkYWRqdXN0ZWQtZ3JpZC1ndXR0ZXJzLXBjKTtcblx0XHR9XG5cdFx0Ji5ncmlkLTEwIHtcblx0XHRcdEBpbmNsdWRlIGVkZ2UtdG8tZWRnZS1zZXQtZ3JpZC1jb2x1bW5zKDEwLCAkZ3JpZC13aWR0aCwgJGdyaWQtZ3V0dGVycy1weCwgJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYyk7XG5cdFx0fVxuXHRcdCYuZ3JpZC0xMiB7XG5cdFx0XHRAaW5jbHVkZSBlZGdlLXRvLWVkZ2Utc2V0LWdyaWQtY29sdW1ucygxMiwgJGdyaWQtd2lkdGgsICRncmlkLWd1dHRlcnMtcHgsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXHRcdH1cblxuXHR9XG5cblx0Lypcblx0KiBORVNURURcblx0Ki9cblx0LmdyaWQgLmdyaWQge1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0fVxuXHQuZ3JpZCBzZWN0aW9uLmZsdXNoID4gLmdyaWQge1xuXHRcdG1hcmdpbi1sZWZ0OiAtJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYy8yO1xuXHRcdG1hcmdpbi1yaWdodDogLSRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMvMjtcblx0XHQmOmJlZm9yZSxcblx0XHQmOmFmdGVyIHtcblx0XHRcdHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdC8qXG5cdCogUkVTUE9OU0lWRVxuXHQqL1xuXHQvLyB0YWJsZXRcblx0QGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcblx0XHQuZ3JpZC0zLFxuXHRcdC5ncmlkLTQge1xuXHRcdFx0QGluY2x1ZGUgc2V0LWdyaWQtY29sdW1ucygyLCAkYWRqdXN0ZWQtZ3JpZC1ndXR0ZXJzLXBjKTtcblx0XHR9XG5cdFx0LmdyaWQtNSB7XG5cdFx0XHRAaW5jbHVkZSBzZXQtZ3JpZC1jb2x1bW5zKDMsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXHRcdH1cblx0XHQuZ3JpZC02IHtcblx0XHRcdEBpbmNsdWRlIHNldC1ncmlkLWNvbHVtbnMoNCwgJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYyk7XG5cdFx0fVxuXHRcdC5ncmlkLTcge1xuXHRcdFx0QGluY2x1ZGUgc2V0LWdyaWQtY29sdW1ucyg0LCAkYWRqdXN0ZWQtZ3JpZC1ndXR0ZXJzLXBjKTtcblx0XHR9XG5cdFx0LmdyaWQtOCB7XG5cdFx0XHRAaW5jbHVkZSBzZXQtZ3JpZC1jb2x1bW5zKDYsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXHRcdH1cblx0XHQuZ3JpZC0xMCB7XG5cdFx0XHRAaW5jbHVkZSBzZXQtZ3JpZC1jb2x1bW5zKDYsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXHRcdH1cblx0XHQuZ3JpZC0xMiB7XG5cdFx0XHRAaW5jbHVkZSBzZXQtZ3JpZC1jb2x1bW5zKDgsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXHRcdH1cblxuXHRcdC5ncmlkLmVkZ2UtdG8tZWRnZSB7XG5cdFx0XHQmLmdyaWQtMiB7XG5cdFx0XHRcdEBpbmNsdWRlIGVkZ2UtdG8tZWRnZS1zZXQtZ3JpZC1jb2x1bW5zKDEsICRncmlkLXdpZHRoLCAkZ3JpZC1ndXR0ZXJzLXB4LCAkYWRqdXN0ZWQtZ3JpZC1ndXR0ZXJzLXBjKTtcblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG5cdC8vIHRhYmxldCBvdmVycmlkZXNcblx0QGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcblx0XHQudGFibGV0LWdyaWQtMSB7XG5cdFx0XHRAaW5jbHVkZSBzZXQtZ3JpZC1jb2x1bW5zKDEsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXHRcdH1cblx0XHQudGFibGV0LWdyaWQtMiB7XG5cdFx0XHRAaW5jbHVkZSBzZXQtZ3JpZC1jb2x1bW5zKDIsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXHRcdH1cblx0XHQudGFibGV0LWdyaWQtMyB7XG5cdFx0XHRAaW5jbHVkZSBzZXQtZ3JpZC1jb2x1bW5zKDMsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXHRcdH1cblx0XHQudGFibGV0LWdyaWQtNCB7XG5cdFx0XHRAaW5jbHVkZSBzZXQtZ3JpZC1jb2x1bW5zKDQsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXHRcdH1cblx0XHQudGFibGV0LWdyaWQtNSB7XG5cdFx0XHRAaW5jbHVkZSBzZXQtZ3JpZC1jb2x1bW5zKDUsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXHRcdH1cblx0XHQudGFibGV0LWdyaWQtNiB7XG5cdFx0XHRAaW5jbHVkZSBzZXQtZ3JpZC1jb2x1bW5zKDYsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXHRcdH1cblx0XHQudGFibGV0LWdyaWQtNyB7XG5cdFx0XHRAaW5jbHVkZSBzZXQtZ3JpZC1jb2x1bW5zKDcsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXHRcdH1cblx0XHQudGFibGV0LWdyaWQtOCB7XG5cdFx0XHRAaW5jbHVkZSBzZXQtZ3JpZC1jb2x1bW5zKDgsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXHRcdH1cblx0XHQudGFibGV0LWdyaWQtMTAge1xuXHRcdFx0QGluY2x1ZGUgc2V0LWdyaWQtY29sdW1ucygxMCwgJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYyk7XG5cdFx0fVxuXHRcdC50YWJsZXQtZ3JpZC0xMiB7XG5cdFx0XHRAaW5jbHVkZSBzZXQtZ3JpZC1jb2x1bW5zKDEyLCAkYWRqdXN0ZWQtZ3JpZC1ndXR0ZXJzLXBjKTtcblx0XHR9XG5cdH1cblxuXHQvLyBtb2JpbGVcblx0QGluY2x1ZGUgcmVzcG9uZC10byhtb2JpbGUpIHtcblx0XHQuZ3JpZC0yLFxuXHRcdC5ncmlkLTMsXG5cdFx0LmdyaWQtNCB7XG5cdFx0XHRAaW5jbHVkZSBzZXQtZ3JpZC1jb2x1bW5zKDEsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXHRcdH1cblx0XHQuZ3JpZC01LFxuXHRcdC5ncmlkLTYge1xuXHRcdFx0QGluY2x1ZGUgc2V0LWdyaWQtY29sdW1ucygyLCAkYWRqdXN0ZWQtZ3JpZC1ndXR0ZXJzLXBjKTtcblx0XHR9XG5cdFx0LmdyaWQtNyB7XG5cdFx0XHRAaW5jbHVkZSBzZXQtZ3JpZC1jb2x1bW5zKDMsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXHRcdH1cblx0XHQuZ3JpZC04IHtcblx0XHRcdEBpbmNsdWRlIHNldC1ncmlkLWNvbHVtbnMoNCwgJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYyk7XG5cdFx0fVxuXHRcdC5ncmlkLTEwIHtcblx0XHRcdEBpbmNsdWRlIHNldC1ncmlkLWNvbHVtbnMoNCwgJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYyk7XG5cdFx0fVxuXHRcdC5ncmlkLTEyIHtcblx0XHRcdEBpbmNsdWRlIHNldC1ncmlkLWNvbHVtbnMoNiwgJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYyk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gbW9iaWxlIG92ZXJyaWRlc1xuXHRAaW5jbHVkZSByZXNwb25kLXRvKG1vYmlsZSkge1xuXHRcdC5tb2JpbGUtZ3JpZC0xIHtcblx0XHRcdEBpbmNsdWRlIHNldC1ncmlkLWNvbHVtbnMoMSwgJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYyk7XG5cdFx0fVxuXHRcdC5tb2JpbGUtZ3JpZC0yIHtcblx0XHRcdEBpbmNsdWRlIHNldC1ncmlkLWNvbHVtbnMoMiwgJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYyk7XG5cdFx0fVxuXHRcdC5tb2JpbGUtZ3JpZC0zIHtcblx0XHRcdEBpbmNsdWRlIHNldC1ncmlkLWNvbHVtbnMoMywgJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYyk7XG5cdFx0fVxuXHRcdC5tb2JpbGUtZ3JpZC00IHtcblx0XHRcdEBpbmNsdWRlIHNldC1ncmlkLWNvbHVtbnMoNCwgJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYyk7XG5cdFx0fVxuXHRcdC5tb2JpbGUtZ3JpZC01IHtcblx0XHRcdEBpbmNsdWRlIHNldC1ncmlkLWNvbHVtbnMoNSwgJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYyk7XG5cdFx0fVxuXHRcdC5tb2JpbGUtZ3JpZC02IHtcblx0XHRcdEBpbmNsdWRlIHNldC1ncmlkLWNvbHVtbnMoNiwgJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYyk7XG5cdFx0fVxuXHRcdC5tb2JpbGUtZ3JpZC03IHtcblx0XHRcdEBpbmNsdWRlIHNldC1ncmlkLWNvbHVtbnMoNywgJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYyk7XG5cdFx0fVxuXHRcdC5tb2JpbGUtZ3JpZC04IHtcblx0XHRcdEBpbmNsdWRlIHNldC1ncmlkLWNvbHVtbnMoOCwgJGFkanVzdGVkLWdyaWQtZ3V0dGVycy1wYyk7XG5cdFx0fVxuXHRcdC5tb2JpbGUtZ3JpZC0xMCB7XG5cdFx0XHRAaW5jbHVkZSBzZXQtZ3JpZC1jb2x1bW5zKDEwLCAkYWRqdXN0ZWQtZ3JpZC1ndXR0ZXJzLXBjKTtcblx0XHR9XG5cdFx0Lm1vYmlsZS1ncmlkLTEyIHtcblx0XHRcdEBpbmNsdWRlIHNldC1ncmlkLWNvbHVtbnMoMTIsICRhZGp1c3RlZC1ncmlkLWd1dHRlcnMtcGMpO1xuXHRcdH1cblxuXHR9XG5cblx0QGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcblx0XHQuZ3JpZCA+IC5wdXNoIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAkYWRqdXN0ZWQtZ3JpZC1ndXR0ZXJzLXBjLzI7XG5cdFx0fVxuXHR9XG5cbn1cbiIsIkBpbXBvcnQgJy4uL19lbnZpcm9ubWVudC1zZXR0aW5ncy9fZW52aXJvbm1lbnQtc2V0dGluZ3MnO1xuJHJlc291cmNlUGF0aDogJGVudmlyb25tZW50Kydhc3NldHMvJyAhZGVmYXVsdDtcbiRmb250UmVzb3VyY2VQYXRoOiAkZW52aXJvbm1lbnQrJ2RhbS9mb250cy8nICFkZWZhdWx0O1xuJGRhbVJlc291cmNlUGF0aDogJGVudmlyb25tZW50KydkYW0vJyAhZGVmYXVsdDtcbiIsIiRlbnZpcm9ubWVudDogXCIvXCI7XG4iLCIvLyBSZWZlciBoZXJlIGZvciBjb2xvciBndWlkZTogaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vc3ByZWFkc2hlZXRzL2QvMVMzX1NJUW9rQUo3elpIWEJDa0JIOGFnbjBUUkpDWGcwVkZRd1RrUDFkam9cbiROMDogI0ZGRkZGRjtcbiROMTA6ICNGQUZCRkM7XG4kTjIwOiAjRjRGNUY3O1xuJE4zMDogI0VCRUNGMDtcbiRONDA6ICNERkUxRTU7XG4kTjUwOiAjQzFDN0QwO1xuJE42MDogI0IzQkFDNTtcbiRONzA6ICNBNUFEQkE7XG4kTjgwOiAjOTdBMEFGO1xuJE45MDogIzg5OTNBNDtcbiROMTAwOiAjN0E4NjlBO1xuJE4yMDA6ICM2Qzc5OEY7XG4kTjMwMDogIzVFNkM4NDtcbiRONDAwOiAjNTA1Rjc5O1xuJE41MDA6ICM0MjUyNkU7XG4kTjYwMDogIzM0NDU2MztcbiRONzAwOiAjMjUzODU4O1xuJE44MDA6ICMxNzJCNEQ7XG4kTjkwMDogIzA5MUU0MjtcbiRZNTAwOiAjRkY4QjAwO1xuJFk0MDA6ICNGRjk5MUY7XG4kWTMwMDogI0ZGQUIwMDtcbiRZMjAwOiAjRkZDNDAwO1xuJFkxMDA6ICNGRkUzODA7XG4kWTc1OiAjRkZGMEIyO1xuJFk1MDogI0ZGRkFFNTtcbiRHNTAwOiAjMDA2NjQ0O1xuJEc0MDA6ICMwMDg3NUE7XG4kRzMwMDogIzM2QjM3RTtcbiRHMjAwOiAjNTdEOUEzO1xuJEcxMDA6ICM3OUYyQzA7XG4kRzc1OiAjQUJGNUQxO1xuJEc1MDogI0UzRkNFRjtcbiRUNTAwOiAjMDA4REE2O1xuJFQ0MDA6ICMwMEEzQkY7XG4kVDMwMDogIzAwQjhEOTtcbiRUMjAwOiAjMDBDN0U1O1xuJFQxMDA6ICM3OUUyRjI7XG4kVDc1OiAjQjNGNUZGO1xuJFQ1MDogI0U2RkNGRjtcbiRCNTAwOiAjMDA0OUIwO1xuJEI0MDA6ICMwMDUyQ0M7XG4kQjMwMDogIzAwNjVGRjtcbiRCMjAwOiAjMjY4NEZGO1xuJEIxMDA6ICM0QzlBRkY7XG4kQjc1OiAjQjJENEZGO1xuJEI1MDogI0RFRUJGRjtcbiRSNTAwOiAjQkYyNjAwO1xuJFI0MDA6ICNERTM1MEI7XG4kUjMwMDogI0ZGNTYzMDtcbiRSMjAwOiAjRkY3NDUyO1xuJFIxMDA6ICNGRjhGNzM7XG4kUjc1OiAjRkZCREFEO1xuJFI1MDogI0ZGRUJFNTtcbiRQNTAwOiAjNDAzMjk0O1xuJFA0MDA6ICM1MjQzQUE7XG4kUDMwMDogIzY1NTRDMDtcbiRQMjAwOiAjODc3N0Q5O1xuJFAxMDA6ICM5OThERDk7XG4kUDc1OiAjQzBCNkYyO1xuJFA1MDogI0VBRTZGRjtcblxuJGJ1dHRvbi1vbmUtaG92ZXI6ICMwMDQ3QjM7XG4kYnV0dG9uLW9uZS1wcmVzc2VkOiAjMDA0MDk5O1xuXG4kYnV0dG9uLXR3by1ob3ZlcjogJFk0MDA7XG4kYnV0dG9uLXR3by1wcmVzc2VkOiBZNTAwO1xuXG4kYnV0dG9uLXRocmVlLWhvdmVyOiAkRzIwMDtcbiRidXR0b24tdGhyZWUtcHJlc3NlZDogJEczMDA7XG5cbiRidXR0b24tZm91ci1ob3ZlcjogJEI3NTtcbiRidXR0b24tZm91ci1wcmVzc2VkOiAkQjEwMDtcblxuLypcbiBQcmltYXJ5IENvbG9yc1xuKi9cblxuJG5hdnk6ICRCNDAwO1xuJG5hdnktaG92ZXI6ICRCNTAwO1xuJGN5YW46ICMwMEEzQkY7XG4kY3lhbi1ob3ZlcjogIzAwOERBNjtcbiR3aGl0ZTogJE4wO1xuJGJsYWNrOiAkTjkwMDtcbiRncmF5LWxpZ2h0OiAkTjIwO1xuJGNoYXJjb2FsOiAkTjcwMDtcbi8qXG4gU2Vjb25kYXJ5IENvbG9yc1xuKi9cblxuJGdyZWVuOiAkRzQwMDtcbiRncmVlbi1taWQ6ICM2N2FiNDk7XG4kZ3JlZW4tbGlnaHQ6ICRHMzAwO1xuJHllbGxvdzogI0ZGQzQwMDtcbiRyZWQ6ICRSNTAwO1xuJG9yYW5nZTogJFk1MDA7XG4kb3JhbmdlLWxpZ2h0OiAkWTQwMDtcbiRibHVlOiAkQjQwMDtcbiRkYXJrLWJsdWU6ICROODAwO1xuJGJsdWUtY29vbDogIzg0YmJjNjtcbiRibHVlLWxpZ2h0OiAkQjc1O1xuJGJsdWUtbWVkaXVtOiAkQjQwMDtcbiR2aW9sZXQ6ICRQNTAwO1xuJGdyYXktbWVkaXVtOiAjNTA1Rjc5O1xuJGdyYXk6ICM5N0EwQUY7XG4kZ3JheS1hc2g6ICNDMUM3RDA7XG4kc2lsdmVyOiAkTjMwO1xuJGJyb3duOiAkZ3JheTtcbiRicm93bi1kYXJrOiAkZ3JheS1tZWRpdW07XG4kY3lhbi1saWdodDogJFQ3NTtcbiRjeWFuLWhpZ2hsaWdodDogJFQ1MDtcbi8vIFNlc3Npb25zIFNoYXJlZCBDU1MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS9cbiRzdW1taXQtYmx1ZTogIzE0NjU5MztcbiRzdW1taXQtbmF2eTogIzBBMUU0MjtcbiRzdW1taXQtZ3JlZW46ICNCNUQ0NDI7XG4kc3VtbWl0LW9yYW5nZTogI0VENUQzQjtcbiRzdW1taXQtY3lhbjogIzc4QzlFQTtcbiRzdW1taXQtYmx1ZS0tcGFsZTogI0MzRDhERDtcbiRzdW1taXQtZGFyay1ncmVlbjogIzI4QjA3RDtcbiRzdW1taXQtZ3JheTogI0NDQ0JDQjtcbiRzdW1taXQtc2lsdmVyOiAjZjRmNWY3O1xuJHN1bW1pdC1saWdodC1ibHVlOiAjZGVlYmZmO1xuJHN1bW1pdC15ZWxsb3c6ICNGRkFCMDA7XG4kYWRnMy1ncmF5OiAjQzFDN0QwO1xuJGFkZzMtZ3JlZW46ICMyREIwN0M7XG4kYWRnMy1saWdodC1ncmVlbjogIzU3RDlBMztcbiRhZGczLWRhcmstZ3JlZW46ICMwMDgzNjU7XG4kYWRnMy1saWdodC1ibHVlOiAjQ0NFMEZGO1xuJGFkZzMtYmx1ZTogIzAwNTJDQztcbiRhZGczLWRhcmstYmx1ZTogIzAwNDdCMDtcbiRhZGczLWhpZ2hsaXRlLWJsdWU6ICMwMDRFQ0Y7XG4kYWRnMy1uYXZ5OiAjMUM0RkExO1xuJGFkZzMtb3JhbmdlOiAjRkZBQjAwO1xuJGFkZzMtZGFyay1vcmFuZ2U6ICRSNDAwO1xuJGFkZzMtdGVhbDogIzAwQjhEOTtcbiRhZGczLWdyYXktbGlnaHQ6ICNGNEY3Rjk7XG4kYWRnMy1yZWQ6ICRSNDAwO1xuIiwiJGNvbG9yczogKFxuICAnYjEwMCc6ICRCMTAwLFxuICAnYjIwMCc6ICRCMjAwLFxuICAnYjMwMCc6ICRCMzAwLFxuICAnYjQwMCc6ICRCNDAwLFxuICAnYjUwJzogJEI1MCxcbiAgJ2I1MDAnOiAkQjUwMCxcbiAgJ2I3NSc6ICRCNzUsXG4gICdnMTAwJzogJEcxMDAsXG4gICdnMjAwJzogJEcyMDAsXG4gICdnMzAwJzogJEczMDAsXG4gICdnNDAwJzogJEc0MDAsXG4gICdnNTAnOiAkRzUwLFxuICAnZzUwMCc6ICRHNTAwLFxuICAnZzc1JzogJEc3NSxcbiAgJ24wJzogJE4wLFxuICAnbjEwJzogJE4xMCxcbiAgJ24xMDAnOiAkTjEwMCxcbiAgJ24yMCc6ICROMjAsXG4gICduMjAwJzogJE4yMDAsXG4gICduMzAnOiAkTjMwLFxuICAnbjMwMCc6ICROMzAwLFxuICAnbjQwJzogJE40MCxcbiAgJ240MDAnOiAkTjQwMCxcbiAgJ241MCc6ICRONTAsXG4gICduNTAwJzogJE41MDAsXG4gICduNjAnOiAkTjYwLFxuICAnbjYwMCc6ICRONjAwLFxuICAnbjcwJzogJE43MCxcbiAgJ243MDAnOiAkTjcwMCxcbiAgJ244MCc6ICROODAsXG4gICduODAwJzogJE44MDAsXG4gICduOTAnOiAkTjkwLFxuICAnbjkwMCc6ICROOTAwLFxuICAncDEwMCc6ICRQMTAwLFxuICAncDIwMCc6ICRQMjAwLFxuICAncDMwMCc6ICRQMzAwLFxuICAncDQwMCc6ICRQNDAwLFxuICAncDUwJzogJFA1MCxcbiAgJ3A1MDAnOiAkUDUwMCxcbiAgJ3A3NSc6ICRQNzUsXG4gICdyMTAwJzogJFIxMDAsXG4gICdyMjAwJzogJFIyMDAsXG4gICdyMzAwJzogJFIzMDAsXG4gICdyNDAwJzogJFI0MDAsXG4gICdyNTAnOiAkUjUwLFxuICAncjc1JzogJFI3NSxcbiAgJ3I1MDAnOiAkUjUwMCxcbiAgJ3QxMDAnOiAkVDEwMCxcbiAgJ3QyMDAnOiAkVDIwMCxcbiAgJ3QzMDAnOiAkVDMwMCxcbiAgJ3Q0MDAnOiAkVDQwMCxcbiAgJ3Q1MDAnOiAkVDUwMCxcbiAgJ3Q1MCc6ICRUNTAsXG4gICd0NzUnOiAkVDc1LFxuICAneTEwMCc6ICRZMTAwLFxuICAneTIwMCc6ICRZMjAwLFxuICAneTMwMCc6ICRZMzAwLFxuICAneTQwMCc6ICRZNDAwLFxuICAneTUwJzogJFk1MCxcbiAgJ3k1MDAnOiAkWTUwMCxcbiAgJ3k3NSc6ICRZNzVcbik7XG4iLCIkc2NyZWVuLXhzOiAxcHggIWRlZmF1bHQ7XG4kc2NyZWVuLXhzLW1pbjogJHNjcmVlbi14cyAhZGVmYXVsdDtcbiRzY3JlZW4tcGhvbmU6ICRzY3JlZW4teHMtbWluICFkZWZhdWx0O1xuJHNjcmVlbi1zbTogNTQwcHggIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1pbjogJHNjcmVlbi1zbSAhZGVmYXVsdDtcbiRzY3JlZW4tdGFibGV0OiAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcbiRzY3JlZW4tbWQ6IDc2OHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1taW46ICRzY3JlZW4tbWQgIWRlZmF1bHQ7XG4kc2NyZWVuLWRlc2t0b3A6ICRzY3JlZW4tbWQtbWluICFkZWZhdWx0O1xuJHNjcmVlbi1sZzogMTAyNHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1sZy1taW46ICRzY3JlZW4tbGcgIWRlZmF1bHQ7XG4kc2NyZWVuLWxnLWRlc2t0b3A6ICRzY3JlZW4tbGctbWluICFkZWZhdWx0O1xuJHNjcmVlbi14bDogMTQ0MHB4ICFkZWZhdWx0O1xuJHNjcmVlbi14bC1taW46ICRzY3JlZW4teGwgIWRlZmF1bHQ7XG4kc2NyZWVuLXhsLWRlc2t0b3A6ICRzY3JlZW4teGwtbWluICFkZWZhdWx0O1xuLy8gU28gbWVkaWEgcXVlcmllcyBkb24ndCBvdmVybGFwIHdoZW4gcmVxdWlyZWQsIHByb3ZpZGUgYSBtYXhpbXVtXG4kc2NyZWVuLXhzLW1heDogKCRzY3JlZW4tc20tbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1heDogKCRzY3JlZW4tbWQtbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLW1kLW1heDogKCRzY3JlZW4tbGctbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLWxnLW1heDogKCRzY3JlZW4teGwtbWluIC0gMSkgIWRlZmF1bHQ7XG5cbiRjb250YWluZXItdGFibGV0OiAkc2NyZWVuLXNtICFkZWZhdWx0O1xuJGNvbnRhaW5lci1zbTogJGNvbnRhaW5lci10YWJsZXQgIWRlZmF1bHQ7XG4kY29udGFpbmVyLWRlc2t0b3A6ICRzY3JlZW4tbWQgIWRlZmF1bHQ7XG4kY29udGFpbmVyLW1kOiAkY29udGFpbmVyLWRlc2t0b3AgIWRlZmF1bHQ7XG4kY29udGFpbmVyLWxhcmdlLWRlc2t0b3A6ICRzY3JlZW4tbGcgIWRlZmF1bHQ7XG4kY29udGFpbmVyLWxnOiAkY29udGFpbmVyLWxhcmdlLWRlc2t0b3AgIWRlZmF1bHQ7XG4kY29udGFpbmVyLXhsYXJnZS1kZXNrdG9wOiAkc2NyZWVuLXhsICFkZWZhdWx0O1xuJGNvbnRhaW5lci14bDogJGNvbnRhaW5lci14bGFyZ2UtZGVza3RvcCAhZGVmYXVsdDtcblxuXG4vLyBNZWRpYSBRdWVyeSBCcmVha3BvaW50c1xuJGJyZWFrcG9pbnQteHNtYWxsIDogNTUwcHg7XG4kYnJlYWtwb2ludC1tb2JpbGU6IDY0MHB4O1xuJGJyZWFrcG9pbnQtdGFibGV0OiA4MDBweDtcbiRicmVha3BvaW50LWRlc2t0b3A6IDk2MHB4O1xuJGJyZWFrcG9pbnQteGxhcmdlIDogMTYwMHB4O1xuXG5cbi8qXG4gTWVkaWEgUXVlcnkgQnJlYWtwb2ludHNcbiAqL1xuJHhsYXJnZTogMTYwMHB4O1xuJGRlc2t0b3A6IDk2MHB4O1xuJHRhYmxldDogODAwcHg7XG4kbW9iaWxlOiA2NDBweDtcbiR4c21hbGw6IDU1MHB4O1xuIiwiJGdyaWQtY29sdW1uczogMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDMycHggIWRlZmF1bHQ7XG4vLyRncmlkLWd1dHRlci13aWR0aDogMjBweCAhZGVmYXVsdDtcbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQ6ICRzY3JlZW4tc20tbWluICFkZWZhdWx0O1xuJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXg6ICgkZ3JpZC1mbG9hdC1icmVha3BvaW50IC0gMSkgIWRlZmF1bHQ7XG4iLCIkei1pbmRleC0tMTogLTE7XG4kei1pbmRleC0wOiAwO1xuJHotaW5kZXgtMTogMTtcbiR6LWluZGV4LTI6IDI7XG4kei1pbmRleC0xMDogMTA7XG4kei1pbmRleC0xMDA6IDEwMDtcbiR6LWluZGV4LTEwMDA6IDEwMDA7XG4kei1pbmRleC0xMDAwMDogMTAwMDA7XG4iLCIvLyBUeXBvZ3JhcGh5XG4kYmFzZV9fZm9udC1zaXplOiAxNnB4O1xuJGJhc2VfX2xpbmUtaGVpZ2h0OiAxLjU7IC8vIDI0cHhcbiR0ZXh0LXNoYWRvdy0tZGVmYXVsdDogMCAycHggMnB4IHJnYmEoJGNoYXJjb2FsLCAuNik7XG5cbi8vIENvbG9yIFVzYWdlXG5cbiRjb2xvcl9fdGV4dC1kZWZhdWx0OiAkY2hhcmNvYWw7XG4kY29sb3JfX3RleHQtc3VidGxlOiAkZ3JheS1tZWRpdW07XG4kY29sb3JfX3RleHQtbGluazogJGJsdWU7XG4kY29sb3JfX3RleHQtbGluay0taG92ZXI6ICRuYXZ5O1xuJGNvbG9yX19ib3JkZXItLWRhcms6ICRncmF5LWFzaDtcbiRjb2xvcl9fYm9yZGVyLS1saWdodDogJHNpbHZlcjtcbiRjb2xvcl9fc2hhZG93OiByZ2JhKCRibGFjaywgLjI1KTtcblxuLy8gQm9yZGVyIHJhZGl1c1xuXG4kYm9yZGVyLXJhZGl1cy0tZGVmYXVsdDogNHB4O1xuJGJvcmRlci1yYWRpdXMtLWJ1dHRvbnM6IDNweDtcbiRib3JkZXItcmFkaXVzLS1wYW5lbDogOHB4O1xuJGJvcmRlci1yYWRpdXMtLWZvcm0tZmllbGRzOiAzcHg7XG4kYm9yZGVyLXJhZGl1cy0tY2lyY2xlOiA1MCU7XG5cbi8vIEJveCBzaGFkb3dcblxuJGJveC1zaGFkb3ctLW5hdmJhcjogMCAycHggNnB4IC0ycHggcmdiYSgkYmxhY2ssIC4yNSk7XG5cbi8vIFN0YWNraW5nIG9yZGVyIG1hc3RlciBsaXN0XG5cbiR6aW5kZXhfX3NlY3Rpb24tb3ZlcmZsb3c6IDMgIWRlZmF1bHQ7XG4kemluZGV4X19jb250ZW50LW1lZGl1bTogNTAgIWRlZmF1bHQ7XG4kemluZGV4X19jb250ZW50LWhpZ2g6IDc1ICFkZWZhdWx0O1xuJHppbmRleF9fbmF2YmFyOiAxMDAwICFkZWZhdWx0O1xuJHppbmRleF9fZHJvcGRvd246IDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4X19wb3BvdmVyOiAxMDYwICFkZWZhdWx0O1xuJHppbmRleF9fdG9vbHRpcDogMTA3MCAhZGVmYXVsdDtcbiR6aW5kZXhfX25hdmJhci1maXhlZDogMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXhfX25hdmJhci1zdGlja3k6IDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4X19tb2RhbC1iZzogMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXhfX21vZGFsOiAxMDUwICFkZWZhdWx0O1xuIiwiJGJ1dHRvbkFuaW1hdGlvblNwZWVkOiAyNTBtcztcbiIsIkBpbXBvcnQgJ21peGluLXJlc3BvbnNpdmUtdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdtaXhpbi1jbGVhcmZpeCc7XG5AaW1wb3J0ICdmdW5jdGlvbi1kZWNpbWFsJztcbkBpbXBvcnQgJ21peGluLWdyaWQtZnJhbWV3b3JrJztcbkBpbXBvcnQgJ21peGluLWdyaWQnO1xuQGltcG9ydCAnbWl4aW4tcmVzcG9uc2l2ZSc7XG5AaW1wb3J0ICdtaXhpbi1pbWFnZS1iYWNrZ3JvdW5kJztcbkBpbXBvcnQgJ21peGluLWxheW91dCc7XG5AaW1wb3J0ICdtaXhpbi1ib3JkZXItcmFkaXVzJztcbkBpbXBvcnQgJ190eXBvZ3JhcGh5L21peGluLXJlbSc7IC8vIE1peGlucyBmb3IgXCJyZW0gKDE0cHgpXCIgdXNlIGluIGNvZGVcbiIsIi8vIFJlc3BvbnNpdmUgdXRpbGl0aWVzXG5cbi8vXG4vLyBNb3JlIGVhc2lseSBpbmNsdWRlIGFsbCB0aGUgc3RhdGVzIGZvciByZXNwb25zaXZlLXV0aWxpdGllcy5sZXNzLlxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCRwYXJlbnQpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZSN7JHBhcmVudH0gIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0ciN7JHBhcmVudH0gICAgIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgjeyRwYXJlbnR9LFxuICB0ZCN7JHBhcmVudH0gICAgIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCRwYXJlbnQpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBDbGVhcmZpeFxuLy9cbi8vIEZvciBtb2Rlcm4gYnJvd3NlcnNcbi8vIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4vLyAgICBjb250ZW50ZWRpdGFibGUgYXR0cmlidXRlIGlzIGluY2x1ZGVkIGFueXdoZXJlIGVsc2UgaW4gdGhlIGRvY3VtZW50LlxuLy8gICAgT3RoZXJ3aXNlIGl0IGNhdXNlcyBzcGFjZSB0byBhcHBlYXIgYXQgdGhlIHRvcCBhbmQgYm90dG9tIG9mIGVsZW1lbnRzXG4vLyAgICB0aGF0IGFyZSBjbGVhcmZpeGVkLlxuLy8gMi4gVGhlIHVzZSBvZiBgdGFibGVgIHJhdGhlciB0aGFuIGBibG9ja2AgaXMgb25seSBuZWNlc3NhcnkgaWYgdXNpbmdcbi8vICAgIGA6YmVmb3JlYCB0byBjb250YWluIHRoZSB0b3AtbWFyZ2lucyBvZiBjaGlsZCBlbGVtZW50cy5cbi8vXG4vLyBTb3VyY2U6IGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrL1xuXG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjsgLy8gMVxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAyXG4gIH1cbiAgJjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cbiIsIi8vIF9kZWNpbWFsLnNjc3MgfCBNSVQgTGljZW5zZSB8IGdpc3QuZ2l0aHViLmNvbS90ZXJrZWwvNDM3MzQyMFxuXG4vLyBSb3VuZCBhIG51bWJlciB0byBzcGVjaWZpZWQgZGlnaXRzLlxuLy9cbi8vIEBwYXJhbSAge051bWJlcn0gJG51bWJlciBBIG51bWJlciB0byByb3VuZFxuLy8gQHBhcmFtICB7TnVtYmVyfSBbJGRpZ2l0czowXSBEaWdpdHMgdG8gb3V0cHV0XG4vLyBAcGFyYW0gIHtTdHJpbmd9IFskbW9kZTpyb3VuZF0gKHJvdW5kfGNlaWx8Zmxvb3IpIEhvdyB0byByb3VuZCBhIG51bWJlclxuLy8gQHJldHVybiB7TnVtYmVyfSBBIHJvdW5kZWQgbnVtYmVyXG4vLyBAZXhhbXBsZVxuLy8gICAgIGRlY2ltYWwtcm91bmQoMC4zMzMpICAgID0+IDBcbi8vICAgICBkZWNpbWFsLXJvdW5kKDAuMzMzLCAxKSA9PiAwLjNcbi8vICAgICBkZWNpbWFsLXJvdW5kKDAuMzMzLCAyKSA9PiAwLjMzXG4vLyAgICAgZGVjaW1hbC1yb3VuZCgwLjY2NikgICAgPT4gMVxuLy8gICAgIGRlY2ltYWwtcm91bmQoMC42NjYsIDEpID0+IDAuN1xuLy8gICAgIGRlY2ltYWwtcm91bmQoMC42NjYsIDIpID0+IDAuNjdcbi8vXG5AZnVuY3Rpb24gZGVjaW1hbC1yb3VuZCAoJG51bWJlciwgJGRpZ2l0czogMCwgJG1vZGU6IHJvdW5kKSB7XG4gICAgJG46IDE7XG4gICAgLy8gJG51bWJlciBtdXN0IGJlIGEgbnVtYmVyXG4gICAgQGlmIHR5cGUtb2YoJG51bWJlcikgIT0gbnVtYmVyIHtcbiAgICAgICAgQHdhcm4gJyN7ICRudW1iZXIgfSBpcyBub3QgYSBudW1iZXIuJztcbiAgICAgICAgQHJldHVybiAkbnVtYmVyO1xuICAgIH1cbiAgICAvLyAkZGlnaXRzIG11c3QgYmUgYSB1bml0bGVzcyBudW1iZXJcbiAgICBAaWYgdHlwZS1vZigkZGlnaXRzKSAhPSBudW1iZXIge1xuICAgICAgICBAd2FybiAnI3sgJGRpZ2l0cyB9IGlzIG5vdCBhIG51bWJlci4nO1xuICAgICAgICBAcmV0dXJuICRudW1iZXI7XG4gICAgfSBAZWxzZSBpZiBub3QgdW5pdGxlc3MoJGRpZ2l0cykge1xuICAgICAgICBAd2FybiAnI3sgJGRpZ2l0cyB9IGhhcyBhIHVuaXQuJztcbiAgICAgICAgQHJldHVybiAkbnVtYmVyO1xuICAgIH1cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRkaWdpdHMge1xuICAgICAgICAkbjogJG4gKiAxMDtcbiAgICB9XG4gICAgQGlmICRtb2RlID09IHJvdW5kIHtcbiAgICAgICAgQHJldHVybiByb3VuZCgkbnVtYmVyICogJG4pIC8gJG47XG4gICAgfSBAZWxzZSBpZiAkbW9kZSA9PSBjZWlsIHtcbiAgICAgICAgQHJldHVybiBjZWlsKCRudW1iZXIgKiAkbikgLyAkbjtcbiAgICB9IEBlbHNlIGlmICRtb2RlID09IGZsb29yIHtcbiAgICAgICAgQHJldHVybiBmbG9vcigkbnVtYmVyICogJG4pIC8gJG47XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEB3YXJuICcjeyAkbW9kZSB9IGlzIHVuZGVmaW5lZCBrZXl3b3JkLic7XG4gICAgICAgIEByZXR1cm4gJG51bWJlcjtcbiAgICB9XG59XG5cbi8vIENlaWwgYSBudW1iZXIgdG8gc3BlY2lmaWVkIGRpZ2l0cy5cbi8vXG4vLyBAcGFyYW0gIHtOdW1iZXJ9ICRudW1iZXIgQSBudW1iZXIgdG8gcm91bmRcbi8vIEBwYXJhbSAge051bWJlcn0gWyRkaWdpdHM6MF0gRGlnaXRzIHRvIG91dHB1dFxuLy8gQHJldHVybiB7TnVtYmVyfSBBIGNlaWxlZCBudW1iZXJcbi8vIEBleGFtcGxlXG4vLyAgICAgZGVjaW1hbC1jZWlsKDAuMzMzKSAgICA9PiAxXG4vLyAgICAgZGVjaW1hbC1jZWlsKDAuMzMzLCAxKSA9PiAwLjRcbi8vICAgICBkZWNpbWFsLWNlaWwoMC4zMzMsIDIpID0+IDAuMzRcbi8vICAgICBkZWNpbWFsLWNlaWwoMC42NjYpICAgID0+IDFcbi8vICAgICBkZWNpbWFsLWNlaWwoMC42NjYsIDEpID0+IDAuN1xuLy8gICAgIGRlY2ltYWwtY2VpbCgwLjY2NiwgMikgPT4gMC42N1xuLy9cbkBmdW5jdGlvbiBkZWNpbWFsLWNlaWwgKCRudW1iZXIsICRkaWdpdHM6IDApIHtcbiAgICBAcmV0dXJuIGRlY2ltYWwtcm91bmQoJG51bWJlciwgJGRpZ2l0cywgY2VpbCk7XG59XG5cbi8vIEZsb29yIGEgbnVtYmVyIHRvIHNwZWNpZmllZCBkaWdpdHMuXG4vL1xuLy8gQHBhcmFtICB7TnVtYmVyfSAkbnVtYmVyIEEgbnVtYmVyIHRvIHJvdW5kXG4vLyBAcGFyYW0gIHtOdW1iZXJ9IFskZGlnaXRzOjBdIERpZ2l0cyB0byBvdXRwdXRcbi8vIEByZXR1cm4ge051bWJlcn0gQSBmbG9vcmVkIG51bWJlclxuLy8gQGV4YW1wbGVcbi8vICAgICBkZWNpbWFsLWZsb29yKDAuMzMzKSAgICA9PiAwXG4vLyAgICAgZGVjaW1hbC1mbG9vcigwLjMzMywgMSkgPT4gMC4zXG4vLyAgICAgZGVjaW1hbC1mbG9vcigwLjMzMywgMikgPT4gMC4zM1xuLy8gICAgIGRlY2ltYWwtZmxvb3IoMC42NjYpICAgID0+IDBcbi8vICAgICBkZWNpbWFsLWZsb29yKDAuNjY2LCAxKSA9PiAwLjZcbi8vICAgICBkZWNpbWFsLWZsb29yKDAuNjY2LCAyKSA9PiAwLjY2XG4vL1xuQGZ1bmN0aW9uIGRlY2ltYWwtZmxvb3IgKCRudW1iZXIsICRkaWdpdHM6IDApIHtcbiAgICBAcmV0dXJuIGRlY2ltYWwtcm91bmQoJG51bWJlciwgJGRpZ2l0cywgZmxvb3IpO1xufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkaTogMSwgJGxpc3Q6IFwiLmNvbHVtbi14cy0jeyRpfSwgLmNvbHVtbi1zbS0jeyRpfSwgLmNvbHVtbi1tZC0jeyRpfSwgLmNvbHVtbi1sZy0jeyRpfSwgLmNvbHVtbi14bC0jeyRpfVwiKSB7XG4gIEBmb3IgJGkgZnJvbSAoMSArIDEpIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiI3skbGlzdH0sIC5jb2x1bW4teHMtI3skaX0sIC5jb2x1bW4tc20tI3skaX0sIC5jb2x1bW4tbWQtI3skaX0sIC5jb2x1bW4tbGctI3skaX0sIC5jb2x1bW4teGwtI3skaX1cIjtcbiAgfVxuICAjeyRsaXN0fSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgICBwYWRkaW5nLWxlZnQ6ICBjZWlsKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gICAgcGFkZGluZy1yaWdodDogZmxvb3IoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKTtcbiAgfVxufVxuXG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gZmxvYXQtZ3JpZC1jb2x1bW5zKCRjbGFzcywgJGk6IDEsICRsaXN0OiBcIi5jb2x1bW4tI3skY2xhc3N9LSN7JGl9XCIpIHtcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkbGlzdDogXCIjeyRsaXN0fSwgLmNvbHVtbi0jeyRjbGFzc30tI3skaX1cIjtcbiAgfVxuICAjeyRsaXN0fSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuXG5AbWl4aW4gY2FsYy1ncmlkLWNvbHVtbigkaW5kZXgsICRjbGFzcywgJHR5cGUpIHtcbiAgQGlmICgkdHlwZSA9PSB3aWR0aCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbHVtbi0jeyRjbGFzc30tI3skaW5kZXh9IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKChkZWNpbWFsLWZsb29yKCRpbmRleCAvICRncmlkLWNvbHVtbnMsIDcpKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbHVtbi0jeyRjbGFzc30tcHVzaC0jeyRpbmRleH0ge1xuICAgICAgbGVmdDogcGVyY2VudGFnZSgoZGVjaW1hbC1mbG9vcigkaW5kZXggLyAkZ3JpZC1jb2x1bW5zLCA3KSkpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1c2gpIGFuZCAoJGluZGV4ID09IDApIHtcbiAgICAuY29sdW1uLSN7JGNsYXNzfS1wdXNoLTAge1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdWxsKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sdW1uLSN7JGNsYXNzfS1wdWxsLSN7JGluZGV4fSB7XG4gICAgICByaWdodDogcGVyY2VudGFnZSgoZGVjaW1hbC1mbG9vcigkaW5kZXggLyAkZ3JpZC1jb2x1bW5zLCA3KSkpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1bGwpIGFuZCAoJGluZGV4ID09IDApIHtcbiAgICAuY29sdW1uLSN7JGNsYXNzfS1wdWxsLTAge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gb2Zmc2V0KSB7XG4gICAgLmNvbHVtbi0jeyRjbGFzc30tb2Zmc2V0LSN7JGluZGV4fSB7XG4gICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoZGVjaW1hbC1mbG9vcigkaW5kZXggLyAkZ3JpZC1jb2x1bW5zLCA3KSkpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IGluc2V0KSB7XG4gICAgLmNvbHVtbi0jeyRjbGFzc30taW5zZXQtI3skaW5kZXh9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKC0oZGVjaW1hbC1mbG9vcigkaW5kZXggLyAkZ3JpZC1jb2x1bW5zLCA3KSkpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IG9yZGVyKSB7XG4gICAgLmNvbHVtbi0jeyRjbGFzc30tb3JkZXItI3skaW5kZXh9IHtcbiAgICAgIG9yZGVyOiAjeyRpbmRleH07XG4gICAgfVxuICB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gbG9vcC1ncmlkLWNvbHVtbnMoJGNvbHVtbnMsICRjbGFzcywgJHR5cGUpIHtcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgQGluY2x1ZGUgY2FsYy1ncmlkLWNvbHVtbigkaSwgJGNsYXNzLCAkdHlwZSk7XG4gIH1cbn1cblxuXG4vLyBDcmVhdGUgZ3JpZCBmb3Igc3BlY2lmaWMgY2xhc3NcbkBtaXhpbiBtYWtlLWdyaWQoJGNsYXNzKSB7XG4gIEBpbmNsdWRlIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHdpZHRoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdWxsKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdXNoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBvZmZzZXQpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIGluc2V0KTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBvcmRlcik7XG59XG5cbi8vIGNvbnRhaW5lciBwYWRkaW5nXG5AbWl4aW4gdmVydGljYWwtc3BhY2luZygkc2l6ZSkge1xuICAuI3skc2l6ZX0tbm9uZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbiAgLiN7JHNpemV9LXRpZ2h0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gIH1cbiAgLiN7JHNpemV9LWNvbXBhY3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICAgIHBhZGRpbmctdG9wOiAxNnB4O1xuICB9XG4gIC4jeyRzaXplfS1jb3p5IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbiAgICBwYWRkaW5nLXRvcDogMzJweDtcbiAgfVxuICAuI3skc2l6ZX0tY29tZm9ydGFibGUge1xuICAgIHBhZGRpbmctYm90dG9tOiA2NHB4O1xuICAgIHBhZGRpbmctdG9wOiA2NHB4O1xuICB9XG4gIC4jeyRzaXplfS1vdXRlcnNwYWNlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTZweDtcbiAgICBwYWRkaW5nLXRvcDogOTZweDtcbiAgfVxuXG4gIC4jeyRzaXplfS1ub25lLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbiAgLiN7JHNpemV9LXRpZ2h0LXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDhweDtcbiAgfVxuICAuI3skc2l6ZX0tY29tcGFjdC10b3Age1xuICAgIHBhZGRpbmctdG9wOiAxNnB4O1xuICB9XG4gIC4jeyRzaXplfS1jb3p5LXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDMycHg7XG4gIH1cbiAgLiN7JHNpemV9LWNvbWZvcnRhYmxlLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDY0cHg7XG4gIH1cbiAgLiN7JHNpemV9LW91dGVyc3BhY2UtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogOTZweDtcbiAgfVxuXG4gIC4jeyRzaXplfS1ub25lLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgLiN7JHNpemV9LXRpZ2h0LWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgfVxuICAuI3skc2l6ZX0tY29tcGFjdC1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICB9XG4gIC4jeyRzaXplfS1jb3p5LWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gIH1cbiAgLiN7JHNpemV9LWNvbWZvcnRhYmxlLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDY0cHg7XG4gIH1cbiAgLiN7JHNpemV9LW91dGVyc3BhY2UtYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTZweDtcbiAgfVxuXG4gIGltZy4jeyRzaXplfS1ub25lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbiAgaW1nLiN7JHNpemV9LWNvbXBhY3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbiAgaW1nLiN7JHNpemV9LWNvenkge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuICBpbWcuI3skc2l6ZX0tY29tZm9ydGFibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuICBpbWcuI3skc2l6ZX0tb3V0ZXJzcGFjZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG5cbiAgaW1nLiN7JHNpemV9LW5vbmUtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG4gIGltZy4jeyRzaXplfS1jb21wYWN0LXRvcCB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG4gIGltZy4jeyRzaXplfS1jb3p5LXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuICBpbWcuI3skc2l6ZX0tY29tZm9ydGFibGUtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG4gIGltZy4jeyRzaXplfS1vdXRlcnNwYWNlLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuXG4gIGltZy4jeyRzaXplfS1ub25lLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuICBpbWcuI3skc2l6ZX0tY29tcGFjdC1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuICBpbWcuI3skc2l6ZX0tY296eS1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgaW1nLiN7JHNpemV9LWNvbWZvcnRhYmxlLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuICBpbWcuI3skc2l6ZX0tb3V0ZXJzcGFjZS1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIHZpZXdwb3J0LXNwZWNpZmljLXRleHQtYWxpZ25tZW50KCRzaXplKSB7XG4gIC4jeyRzaXplfS10ZXh0LWFsaWduLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAuI3skc2l6ZX0tdGV4dC1hbGlnbi1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuI3skc2l6ZX0tdGV4dC1hbGlnbi1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbkBtaXhpbiBvZmZzZXRzKCRzaXplKSB7XG4gIEBmb3IgJGkgZnJvbSAtMTAwIHRocm91Z2ggMTAwIHtcbiAgICBAaWYgJGkgJSA1ID09IDAge1xuICAgICAgLnZlcnRpY2FsLW9mZnNldC0jeyRzaXplfS0jeyRpfSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgcGVyY2VudGFnZSgkaSAvIDEwMCksIDApO1xuICAgICAgfVxuICAgICAgLmhvcml6b250YWwtb2Zmc2V0LSN7JHNpemV9LSN7JGl9IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChwZXJjZW50YWdlKCRpIC8gMTAwKSwgMCwgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuLy8gQ2VudGVyZWQgY29udGFpbmVyIGVsZW1lbnRcbkBtaXhpbiBjb250YWluZXItZml4ZWQoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogIGZsb29yKCgkZ3V0dGVyIC8gMikpO1xuICBwYWRkaW5nLXJpZ2h0OiBjZWlsKCgkZ3V0dGVyIC8gMikpO1xuICBjbGVhcjogYm90aDtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8vIENyZWF0ZXMgYSB3cmFwcGVyIGZvciBhIHNlcmllcyBvZiBjb2x1bW5zXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1sZWZ0OiAgY2VpbCgoJGd1dHRlciAvIC0yKSk7XG4gIG1hcmdpbi1yaWdodDogZmxvb3IoKCRndXR0ZXIgLyAtMikpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIGV4dHJhIHNtYWxsIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXhzLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXNtLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIG1lZGl1bSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBsYXJnZSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBleHRyYSBsYXJnZSBjb2x1bW5zXG5AbWl4aW4gbWFrZS14bC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14bC1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXhsLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4teGwtbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS14bC1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14bC1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UteGwtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4teGwtbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWVkaWEgcXVlcnkgbWl4aW5zXG4vL1xuLy8gVXNhZ2U6XG4vLyAgIC5jbGFzcyB7XG4vLyAgICAgZm9udC1zaXplOiAyOHB4O1xuLy9cbi8vICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1vYmlsZSkge1xuLy8gICAgICAgZm9udC1zaXplOiAxNnB4O1xuLy8gICAgIH1cbi8vICAgfVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gVE9ETyBjb25zaWRlciByZW1vdmluZyBtaXhpbnMgdGhhdCBhcmVuJ3QgZXhwbGljaXQgYWJvdXQgdGhlaXIgYmVoYXZpb3Jcbi8vIFwicmVzcG9uZC10byhkZXNrdG9wKVwiIGlzbid0IGFzIGNsZWFyIGFzIFwiZGVza3RvcC1vbmx5XCIgb3IgXCJkZXNrdG9wLWFuZC11cFwiXG5cbkBtaXhpbiByZXNwb25kLXRvKCR2aWV3cG9ydC1zaXplKSB7XG4gIEBpZiAkdmlld3BvcnQtc2l6ZSA9PSBkZXNrdG9wIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWRlc2t0b3ApIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJHZpZXdwb3J0LXNpemUgPT0gbW9iaWxlKSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZigkdmlld3BvcnQtc2l6ZSA9PSB0YWJsZXQgb3IgJHZpZXdwb3J0LXNpemUgPT0gdGFibGV0LWFuZC1kb3duKSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC10YWJsZXQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZigkdmlld3BvcnQtc2l6ZSA9PSB0YWJsZXQtb25seSkge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlICsgMSkgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXRhYmxldCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmKCR2aWV3cG9ydC1zaXplID09IHRhYmxldC1hbmQtdXApIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSArIDEpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZigkdmlld3BvcnQtc2l6ZSA9PSBkZXNrdG9wLWFuZC11cCkge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtdGFibGV0ICsgMSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmKCR2aWV3cG9ydC1zaXplID09IHhsYXJnZSkge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYoJHZpZXdwb3J0LXNpemUgPT0geHNtYWxsKSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14c21hbGwpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdmlld3BvcnQtc2l6ZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiByZXNwb25kLXRvLW1pbigkdmlld3BvcnQtc2l6ZSkge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR2aWV3cG9ydC1zaXplKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHJlc3BvbmQtdG8tbWF4KCR2aWV3cG9ydC1zaXplKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHZpZXdwb3J0LXNpemUpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBXUEwgYmFja2ZpbGwgdG8gcHJvdG90eXBlIHRlbXBsYXRlc1xuQG1peGluIHJlc3BvbmQtYmVsb3coJG1heFdpZHRoKSB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4V2lkdGgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcmVzcG9uZC1hYm92ZSgkbWluV2lkdGgpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW5XaWR0aCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiByZXNwb25kLXdpdGhpbigkbWluV2lkdGgsICRtYXhXaWR0aCkge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbldpZHRoKSBhbmQgKG1heC13aWR0aDogJG1heFdpZHRoKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHJlc3BvbmQtd2l0aGluLXdpZHRoLWhlaWdodChcbiAgJG1pbldpZHRoLFxuICAkbWF4V2lkdGgsXG4gICRtaW5IZWlnaHQsXG4gICRtYXhIZWlnaHRcbikge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbldpZHRoKSBhbmQgKG1heC13aWR0aDogJG1heFdpZHRoKSBhbmQgKG1pbi1oZWlnaHQ6ICRtaW5IZWlnaHQpIGFuZCAobWF4LWhlaWdodDogJG1heEhlaWdodCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAbWl4aW4gaW1hZ2UtY2hlY2ttYXJrKCkge1xuICBiYWNrZ3JvdW5kOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFlQ0FZQUFBQk5DaHdwQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQlE5SlJFRlVTQTNGVjF0TVhGVVVQZnVjY3k4ekE2U0FZSUZCaTVVMmJWQVNna29MQkJoZUZraWI5S1BFTkNZYVAwdzBNUWFqc1k5RVNmV2p0VFkxVVpQVzJBOWowaVpEYkd3bWhUSXBHZEpxL1JsaWY3RHlvUTIxbXJGTmthSWRadTdqSFBlWkJ6T1V4NlIxd1BzeGMrYzg3bHBuN2JYM3ZrUEkvM3pCbXVGTENUdkh4NTNTTUFxZGhNd05OalJNSyt5MUlZRGd6NCtNRk5LOHZIcEp5RlBNSnJlaXhsemdZbWZualRVaDBCRU1ydU9SZXk5UWxyTWZDR3lRUk54RkpiN1dabVlPckRxQjFrREE0WUNjYnFiRGNhQjBnekJOQWtBSjN2OWhXc1p1dXBvZXFEdDVVbk15VnNkMGNoQkJZK0FLVHdJR2dvRW1wQ3hZUFFKUzBzS05HNnVBODNmd3VIWENNdWZQQ2hKc1lZbnIrWnhQcmc0Qk5GM1hwVXR1elpuekdoQzZVMXAyQ3B4UlFUaTlLYVQ5eGRuR3hodXJRdUM1MGRFaUtnRk5wNzlDVUFrVVBVWUFHSldFc21rN0VqbWRUK2xwRlkyc0U2anorVnhGdXJPVGFid2ZBWEtsU0p3K1puZDZ6ekxOSVFpSGoyTWRtRk9zc2txZ0xoalV5bk56bjZVYzlnTmxaZEt5RkVhczJnRGpCcEgyRDF6WWg0ZDdlbTdISjdKSndPdGw1WkhJWmxOMzdLT1UxU3d3SFVIVFNmR1RIYldQbkc5cHVaWUVWOS9aVVdCZ2dMYTUzUlcySkc4d0JqdUVtVGc1QW1EY0JYQnRTcHJtSnhmYW1rZlR3Yk5GQU5xN3V3dGR0dHlMeGVVbGdpelNUWWVodUcwYWthL3lpNHZQM0ErZUZRS3RYbTh1TjR3ZXlhQWZTNXhEU2hISFVhWUQ5cmRwbUQ1ZVVQRHBZSFcxa1prQTVpK1d6cnhkNTg3bFkvcGtMTlBWWHErdWw1ZHY1NHp2QThwTHBKMXlQQUNMWXJXNXJFbjdvL00xTlg4dEJhN0draUNBWlpNWFYxZHZwbExXbzVTUzIvYjRMNkhRenhOOWZVc3kzNE9tbTNHN245WUovUmpqM0s1cWZPekNKNklKTFN5elB4cEc5SzJMSHM5MzhZbWxQMk1tZkRVWTVLVmJ0bFF4Z0NPWUxwOWo2ZnpNWXZyUnl2VVZ6NkFpZk5GV05OMC9qN2dyTlNuZlJCc2plSnJwZ0FsSjRWZkxFc2N5Z2F2bnhnajhGZzRYQ01wN2tIa3ZDT2tnUXJvb3A2M0F5UWNPZ0ZxQ3A1MG5nYUZwYjJvcXdWVXZvOEgyTGpBZEtvZE5KbVNGSTZjTVlYNHp2MmVGbTNnYTJub094cnhTcmNOZWpSK0NvS1NvTG0vRTJBN3NkcnUzRWp5MW1xOGZIczdYZFgwWEIvbzYvdFNUcGdOQTdSbTdLeXpyTEhVNVRveDVQQ2xaMU1abHJqZ0JKNW5GNW5BWjE5eEI4OFNYU3FSaW16bFUwOXJRQk8vdjZPall0UDNLRldlaEk3ZUpjazExdUtKMDB4RUtFU0hzQU9iN3NlRnQyMmFYd1ZzMEhFTjdzYUxDdkZaV2RrdG4yanFtc2Eyb2hpUFJQMUFOeVNublR4RExLdEVzYTQ1ci9GMzBTZTJDU2tlcE9tMFFHYjgzM05JeXNRaGxoWUZrRmlnZzZQTDdLNWdyYndBYnlSNXBXL2xTeEx1WVNoYThNeWtsVXlqTWsvZ0Q5eVU2SE1YMlN1bWthUm9IL00zTjM2NkF0ZVJVUEFScUNrRDZ1N3B1WXU1K2FGdTJqekFlQnBya0YwUFVVUGFxaGVENGFzRzEzKzJvZWNJZkN2bVdSTWd3bUNLUUpCRUlURWtqY2dqYnFCOTdkeVNkUkR6bWlaTXIwM0Z0Mm96T0RZcG8rQlRwNjB1OWRXUUFUWjlPcFZkeWRHeE0xdmIyemtSZHJna0UzNFJaOEJnR2dDY1VqNjlDYlBSQldCam1CYkN0UXlNZEhYZVMyeC8wTzZueG9uMnFBR0ZocWtWakhnWEdHa0RhV3N3VENwd3lVd0Q1SGlLUi9pR1A1K3FpelE4d3NEQUVhUnRWSHM5TVRsN0ZsNGlEQ0I0a3dLTllvdEVxekpKRVRsQlRIdjZ2NEFwdVdRV1NYRlREZVh5OXU0bnA5RzBKdEJLekpTUU42OHVoNXNZenlyakpkUS83blpHQWVyQnFQTE9scFk5Uy9HUEJOZTFQWDMzOTlZY0Z2SC9mdnhlSENmMDRMcUFFQUFBQUFFbEZUa1N1UW1DQykgbm8tcmVwZWF0IHNjcm9sbCAwIDRweDtcbiAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDE1cHg7XG4gIG1pbi1oZWlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMzJweDtcbn1cblxuQG1peGluIGltYWdlLXdhcm5pbmcoKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQWdDQVlBQUFCemVucjBBQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBckpKUkVGVVdBbTFWemx2RkRFVS9vd1FSemlUYk1pU1FMVGlhS0Nqb2FZa0RRMGRKYmZDSlJHZ0JCcCtCSDJxMENDa0lFUkJoMFNURGlnNHNscENvQ0FCZ2pJY1FwanZlV1oyMXN4aGU3TllTbWI4L0IzUGIyWnNyMEtYVGQvRFlWS25Fdm9KZFJ6UHVwRlMzWkQwYzZ6REM3d2lkeXpodDNBQSs5VkIvQXJWV3hOS01QaVhPTWxyYWk2aE1jUXhNeHp5TDdnQ2VnYnJFZUUxTkhaWlJncno2TU0rTlk2ZlZ0elJDYTlBaEZNNWN6R1JoR1Fzc0FWVndNeCtCVy9vTVZyaTh4NmJzRGVrQ21FVmlIQzZ3bHh5R21VVkJPUGR2Q3VnbjJBRFBwblpqempVRjFCakZZN2dod05uaHYwcnNJZ3paR1RtOWFQQStEdit0UUM1ejlvSVltd1dxYmp6cW9DWi9TTGU4a1hiMmRZUzg3N2tRNGptZ1puZDdTRW9mTUFnOXZoVXdhOENTemhubVl0VmF2N3Z2ZlFsVWVGNE5HY0MraWsyNGc5dWVHalpFSElNMTQ3bWVzNEVzSUR6Wk5WelRIZWdubkFya1pVSjZBZGMyelN1VnlwVURaSnJOQ293bFFsd2E1SFpEMWZ3WFVQRGlVWXByalNCVmM4K3RYUlVvVFFCYmlrVExQK09WS2ZycTJpSVZra3JURUEvNG9xdWNhMkVFeDZtbHRFc1lCWW1nR1ZjSUhhb0FOOXRhQ2pSelBGekNYRFYyMHpVWkE2NStzQmtvbTBwNVJMZ0NuYVJpSnFGS3VySThwdTJpTXV5dTlVU2JRdHBKYUR2WXd1Zi9WVUxVZGFaNWQ0a1NZajU3Tmt5bEIybnR2SG9pSzd0dUFlL1dabjlvQlVyNjN4OGFHOUFaYmpPdUtaMjdIRW5EYmQzUTU1MnRtSUZjeHdZU0FmLzAzV0paK3FHT29adm9wODlndSs0eEw2L2Vmczh3RWRnbndkY2VRL2dOeTZuSUZPQlpQWk5CdnZUQWVlMTZqemdKT016VjVvR3o0N0xjUVVpWEFreWR4dTRFUDA4TzRvbmxINk1iZmlLSnQvKzdTNldOUzVsUDNRM0Rza1hJUzlsU0ZQNFF1ZUcwdE80UmQ3TkVHNFBzYmNWZjJUT2NmYU5Ib3I2U3lrMHM2L0FuOVpUcENRZ1cyV3JwNnArWXVJNThSZWdSTEMwa0RRVEpRQUFBQUJKUlU1RXJrSmdnZz09KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDE1cHg7XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSW5jbHVkZSBzdHlsZXMgZm9yIHJldGluYSBzY3JlZW5zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWl4aW4gcmV0aW5hLXN0eWxlcyB7XG4gIEBtZWRpYVxuICBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSxcbiAgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENlbnRlciBibG9ja1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIGNlbnRlci1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gZGlzcGxheS1ub25lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ1NTIGxpbmUgYnJlYWtzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWl4aW4gbGluZS1icmVhayB7XG4gIGNvbnRlbnQ6ICdcXEEnO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xufVxuXG5AbWl4aW4gcHNldWRvLWxpbmUtYnJlYWstYmVmb3JlIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBsaW5lLWJyZWFrO1xuICB9XG59XG5cbkBtaXhpbiBwc2V1ZG8tbGluZS1icmVhay1hZnRlciB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBsaW5lLWJyZWFrO1xuICB9XG59XG4iLCJAbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAtbXMtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cbiIsIiRyZW0tYmFzZWxpbmU6IDE2cHggIWRlZmF1bHQ7XG4kcmVtLWZhbGxiYWNrOiBmYWxzZSAhZGVmYXVsdDtcbiRyZW0tcHgtb25seTogZmFsc2UgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiByZW0tc2VwYXJhdG9yKCRsaXN0LCAkc2VwYXJhdG9yOiBmYWxzZSkge1xuICBAaWYgJHNlcGFyYXRvciA9PSAnY29tbWEnIG9yICRzZXBhcmF0b3IgPT0gJ3NwYWNlJyB7XG4gICAgQHJldHVybiBhcHBlbmQoJGxpc3QsIG51bGwsICRzZXBhcmF0b3IpO1xuICB9XG5cbiAgQGlmIGZ1bmN0aW9uLWV4aXN0cygnbGlzdC1zZXBhcmF0b3InKSA9PSB0cnVlIHtcbiAgICBAcmV0dXJuIGxpc3Qtc2VwYXJhdG9yKCRsaXN0KTtcbiAgfVxuXG4gIC8vIGxpc3Qtc2VwYXJhdG9yIHBvbHlmaWxsIGJ5IEh1Z28gR2lyYXVkZWwgKGh0dHBzOi8vc2Fzcy1jb21wYXRpYmlsaXR5LmdpdGh1Yi5pby8jbGlzdF9zZXBhcmF0b3JfZnVuY3Rpb24pXG4gICR0ZXN0LWxpc3Q6ICgpO1xuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgJHRlc3QtbGlzdDogYXBwZW5kKCR0ZXN0LWxpc3QsICRpdGVtLCBzcGFjZSk7XG4gIH1cblxuICBAcmV0dXJuIGlmKCR0ZXN0LWxpc3QgPT0gJGxpc3QsIHNwYWNlLCBjb21tYSk7XG59XG5cbkBtaXhpbiByZW0tYmFzZWxpbmUoJHpvb206IDEwMCUpIHtcbiAgZm9udC1zaXplOiAkem9vbSAvIDE2cHggKiAkcmVtLWJhc2VsaW5lO1xufVxuXG5AZnVuY3Rpb24gcmVtLWNvbnZlcnQoJHRvLCAkdmFsdWVzLi4uKSB7XG4gICRyZXN1bHQ6ICgpO1xuICAkc2VwYXJhdG9yOiByZW0tc2VwYXJhdG9yKCR2YWx1ZXMpO1xuXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIGFuZCB1bml0KCR2YWx1ZSkgPT0gJ3JlbScgYW5kICR0byA9PSAncHgnIHtcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUgLyAxcmVtICogJHJlbS1iYXNlbGluZSwgJHNlcGFyYXRvcik7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicgYW5kIHVuaXQoJHZhbHVlKSA9PSAncHgnIGFuZCAkdG8gPT0gJ3JlbScge1xuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR2YWx1ZSAvICRyZW0tYmFzZWxpbmUgKiAxcmVtLCAkc2VwYXJhdG9yKTtcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbGlzdCcge1xuICAgICAgJHZhbHVlLXNlcGFyYXRvcjogcmVtLXNlcGFyYXRvcigkdmFsdWUpO1xuICAgICAgJHZhbHVlOiByZW0tY29udmVydCgkdG8sICR2YWx1ZS4uLik7XG4gICAgICAkdmFsdWU6IHJlbS1zZXBhcmF0b3IoJHZhbHVlLCAkdmFsdWUtc2VwYXJhdG9yKTtcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUsICRzZXBhcmF0b3IpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR2YWx1ZSwgJHNlcGFyYXRvcik7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZihsZW5ndGgoJHJlc3VsdCkgPT0gMSwgbnRoKCRyZXN1bHQsIDEpLCAkcmVzdWx0KTtcbn1cblxuQGZ1bmN0aW9uIHJlbSgkdmFsdWVzLi4uKSB7XG4gIEBpZiAkcmVtLXB4LW9ubHkge1xuICAgIEByZXR1cm4gcmVtLWNvbnZlcnQocHgsICR2YWx1ZXMuLi4pO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHJlbS1jb252ZXJ0KHJlbSwgJHZhbHVlcy4uLik7XG4gIH1cbn1cblxuQG1peGluIHJlbSgkcHJvcGVydGllcywgJHZhbHVlcy4uLikge1xuICBAaWYgdHlwZS1vZigkcHJvcGVydGllcykgPT0gJ21hcCcge1xuICAgIEBlYWNoICRwcm9wZXJ0eSBpbiBtYXAta2V5cygkcHJvcGVydGllcykge1xuICAgICAgQGluY2x1ZGUgcmVtKCRwcm9wZXJ0eSwgbWFwLWdldCgkcHJvcGVydGllcywgJHByb3BlcnR5KSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgQGlmICRyZW0tZmFsbGJhY2sgb3IgJHJlbS1weC1vbmx5IHtcbiAgICAgICAgI3skcHJvcGVydHl9OiByZW0tY29udmVydChweCwgJHZhbHVlcy4uLik7XG4gICAgICB9XG4gICAgICBAaWYgbm90ICRyZW0tcHgtb25seSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogcmVtLWNvbnZlcnQocmVtLCAkdmFsdWVzLi4uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qXG5WZXJzaW9uOiAzLjQuNSBUaW1lc3RhbXA6IE1vbiBOb3YgIDQgMDg6MjI6NDIgUFNUIDIwMTNcbiovXG4uc2VsZWN0Mi1jb250YWluZXIge1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiBpbmxpbmUtYmxvY2sgZm9yIGllNyAqL1xuICB6b29tOiAxO1xuICAqZGlzcGxheTogaW5saW5lO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uc2VsZWN0Mi1jb250YWluZXIsXG4uc2VsZWN0Mi1kcm9wLFxuLnNlbGVjdDItc2VhcmNoLFxuLnNlbGVjdDItc2VhcmNoIGlucHV0IHtcbiAgLypcbiAgICBGb3JjZSBib3JkZXItYm94IHNvIHRoYXQgJSB3aWR0aHMgZml0IHRoZSBwYXJlbnRcbiAgICBjb250YWluZXIgd2l0aG91dCBvdmVybGFwIGJlY2F1c2Ugb2YgbWFyZ2luL3BhZGRpbmcuXG5cbiAgICBNb3JlIEluZm8gOiBodHRwOi8vd3d3LnF1aXJrc21vZGUub3JnL2Nzcy9ib3guaHRtbFxuICAqL1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIHdlYmtpdCAqL1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIGZpcmVmb3ggKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogY3NzMyAqL1xufVxuXG4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItY2hvaWNlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMjZweDtcbiAgcGFkZGluZzogMCAwIDAgOHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICBjb2xvcjogIzQ0NDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgYm90dG9tLCBsZWZ0IHRvcCwgY29sb3Itc3RvcCgwLCAjZWVlKSwgY29sb3Itc3RvcCgwLjUsICNmZmYpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoY2VudGVyIGJvdHRvbSwgI2VlZSAwJSwgI2ZmZiA1MCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChjZW50ZXIgYm90dG9tLCAjZWVlIDAlLCAjZmZmIDUwJSk7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHIgPSAnI2ZmZmZmZicsIGVuZENvbG9yc3RyID0gJyNlZWVlZWUnLCBHcmFkaWVudFR5cGUgPSAwKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiAwJSwgI2VlZSA1MCUpO1xufVxuXG4uc2VsZWN0Mi1jb250YWluZXIuc2VsZWN0Mi1kcm9wLWFib3ZlIC5zZWxlY3QyLWNob2ljZSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBjb2xvci1zdG9wKDAsICNlZWUpLCBjb2xvci1zdG9wKDAuOSwgI2ZmZikpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChjZW50ZXIgYm90dG9tLCAjZWVlIDAlLCAjZmZmIDkwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGNlbnRlciBib3R0b20sICNlZWUgMCUsICNmZmYgOTAlKTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI2ZmZmZmZicsIGVuZENvbG9yc3RyPScjZWVlZWVlJywgR3JhZGllbnRUeXBlPTApO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG9wLCAjZWVlIDAlLCAjZmZmIDkwJSk7XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci5zZWxlY3QyLWFsbG93Y2xlYXIgLnNlbGVjdDItY2hvaWNlIC5zZWxlY3QyLWNob3NlbiB7XG4gIG1hcmdpbi1yaWdodDogNDJweDtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWNob2ljZSA+IC5zZWxlY3QyLWNob3NlbiB7XG4gIG1hcmdpbi1yaWdodDogMjZweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItY2hvaWNlIGFiYnIge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyNHB4O1xuICB0b3A6IDhweDtcbiAgZm9udC1zaXplOiAxcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICAvL2JhY2tncm91bmQ6IHVybCgnLi4vLi4vLi4vLi4vLi4vLi4vZG1zL3dhYy9pbWFnZXMvc2VsZWN0Mi5wbmcnKSByaWdodCB0b3Agbm8tcmVwZWF0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci5zZWxlY3QyLWFsbG93Y2xlYXIgLnNlbGVjdDItY2hvaWNlIGFiYnIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1jaG9pY2UgYWJicjpob3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xMXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zZWxlY3QyLWRyb3AtbWFzayB7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiA5OTk4O1xuICAvKiBzdHlsZXMgcmVxdWlyZWQgZm9yIElFIHRvIHdvcmsgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xufVxuXG4uc2VsZWN0Mi1kcm9wIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogOTk5OTtcbiAgdG9wOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzAwMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCA0cHggNXB4IHJnYmEoMCwgMCwgMCwgLjE1KTtcbiAgYm94LXNoYWRvdzogMCA0cHggNXB4IHJnYmEoMCwgMCwgMCwgLjE1KTtcbn1cblxuLnNlbGVjdDItZHJvcC1hdXRvLXdpZHRoIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNhYWE7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uc2VsZWN0Mi1kcm9wLWF1dG8td2lkdGggLnNlbGVjdDItc2VhcmNoIHtcbiAgcGFkZGluZy10b3A6IDRweDtcbn1cblxuLnNlbGVjdDItZHJvcC5zZWxlY3QyLWRyb3AtYWJvdmUge1xuICBtYXJnaW4tdG9wOiAxcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIC00cHggNXB4IHJnYmEoMCwgMCwgMCwgLjE1KTtcbiAgYm94LXNoYWRvdzogMCAtNHB4IDVweCByZ2JhKDAsIDAsIDAsIC4xNSk7XG59XG5cbi5zZWxlY3QyLWRyb3AtYWN0aXZlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzU4OTdmYjtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuLnNlbGVjdDItZHJvcC5zZWxlY3QyLWRyb3AtYWJvdmUuc2VsZWN0Mi1kcm9wLWFjdGl2ZSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNTg5N2ZiO1xufVxuXG4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItY2hvaWNlIC5zZWxlY3QyLWFycm93IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJhY2tncm91bmQ6ICNjY2M7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGNvbG9yLXN0b3AoMCwgI2NjYyksIGNvbG9yLXN0b3AoMC42LCAjZWVlKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGNlbnRlciBib3R0b20sICNjY2MgMCUsICNlZWUgNjAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoY2VudGVyIGJvdHRvbSwgI2NjYyAwJSwgI2VlZSA2MCUpO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyID0gJyNlZWVlZWUnLCBlbmRDb2xvcnN0ciA9ICcjY2NjY2NjJywgR3JhZGllbnRUeXBlID0gMCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0b3AsICNjY2MgMCUsICNlZWUgNjAlKTtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWNob2ljZSAuc2VsZWN0Mi1hcnJvdyBiIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8vYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi8uLi8uLi8uLi9kbXMvd2FjL2ltYWdlcy9zZWxlY3QyLnBuZycpIG5vLXJlcGVhdCAwIDFweDtcbn1cblxuLnNlbGVjdDItc2VhcmNoIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMjZweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgcGFkZGluZy1yaWdodDogNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uc2VsZWN0Mi1zZWFyY2ggaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDI2cHg7XG4gIHBhZGRpbmc6IDRweCAyMHB4IDRweCA1cHg7XG4gIG1hcmdpbjogMDtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgLy9iYWNrZ3JvdW5kOiAjZmZmIHVybCgnLi4vLi4vLi4vLi4vLi4vLi4vZG1zL3dhYy9pbWFnZXMvc2VsZWN0Mi5wbmcnKSBuby1yZXBlYXQgMTAwJSAtMjJweDtcbiAgLy9iYWNrZ3JvdW5kOiB1cmwoJy4uLy4uLy4uLy4uLy4uLy4uL2Rtcy93YWMvaW1hZ2VzL3NlbGVjdDIucG5nJykgbm8tcmVwZWF0IDEwMCUgLTIycHgsIC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGNvbG9yLXN0b3AoMC44NSwgI2ZmZiksIGNvbG9yLXN0b3AoMC45OSwgI2VlZSkpO1xuICAvL2JhY2tncm91bmQ6IHVybCgnLi4vLi4vLi4vLi4vLi4vLi4vZG1zL3dhYy9pbWFnZXMvc2VsZWN0Mi5wbmcnKSBuby1yZXBlYXQgMTAwJSAtMjJweCwgLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoY2VudGVyIGJvdHRvbSwgI2ZmZiA4NSUsICNlZWUgOTklKTtcbiAgLy9iYWNrZ3JvdW5kOiB1cmwoJy4uLy4uLy4uLy4uLy4uLy4uL2Rtcy93YWMvaW1hZ2VzL3NlbGVjdDIucG5nJykgbm8tcmVwZWF0IDEwMCUgLTIycHgsIC1tb3otbGluZWFyLWdyYWRpZW50KGNlbnRlciBib3R0b20sICNmZmYgODUlLCAjZWVlIDk5JSk7XG4gIC8vIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vLi4vLi4vLi4vLi4vZG1zL3dhYy9pbWFnZXMvc2VsZWN0Mi5wbmcnKSBuby1yZXBlYXQgMTAwJSAtMjJweCwgbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiA4NSUsICNlZWUgOTklKTtcbn1cblxuLnNlbGVjdDItZHJvcC5zZWxlY3QyLWRyb3AtYWJvdmUgLnNlbGVjdDItc2VhcmNoIGlucHV0IHtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuXG4uc2VsZWN0Mi1zZWFyY2ggaW5wdXQuc2VsZWN0Mi1hY3RpdmUge1xuICAvKiAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybCgnc2VsZWN0Mi1zcGlubmVyLmdpZicpIG5vLXJlcGVhdCAxMDAlOyovXG4gIC8qICAgIGJhY2tncm91bmQ6IHVybCgnc2VsZWN0Mi1zcGlubmVyLmdpZicpIG5vLXJlcGVhdCAxMDAlLCAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBjb2xvci1zdG9wKDAuODUsICNmZmYpLCBjb2xvci1zdG9wKDAuOTksICNlZWUpKTsqL1xuICAvKiAgICBiYWNrZ3JvdW5kOiB1cmwoJ3NlbGVjdDItc3Bpbm5lci5naWYnKSBuby1yZXBlYXQgMTAwJSwgLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoY2VudGVyIGJvdHRvbSwgI2ZmZiA4NSUsICNlZWUgOTklKTsqL1xuICAvKiAgICBiYWNrZ3JvdW5kOiB1cmwoJ3NlbGVjdDItc3Bpbm5lci5naWYnKSBuby1yZXBlYXQgMTAwJSwgLW1vei1saW5lYXItZ3JhZGllbnQoY2VudGVyIGJvdHRvbSwgI2ZmZiA4NSUsICNlZWUgOTklKTsqL1xuICAvKiAgICBiYWNrZ3JvdW5kOiB1cmwoJ3NlbGVjdDItc3Bpbm5lci5naWYnKSBuby1yZXBlYXQgMTAwJSwgbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiA4NSUsICNlZWUgOTklKTsqL1xufVxuXG4uc2VsZWN0Mi1jb250YWluZXItYWN0aXZlIC5zZWxlY3QyLWNob2ljZSxcbi5zZWxlY3QyLWNvbnRhaW5lci1hY3RpdmUgLnNlbGVjdDItY2hvaWNlcyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1ODk3ZmI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsIDAsIDAsIC4zKTtcbiAgYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsIDAsIDAsIC4zKTtcbn1cblxuLnNlbGVjdDItZHJvcGRvd24tb3BlbiAuc2VsZWN0Mi1jaG9pY2Uge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDFweCAwICNmZmYgaW5zZXQ7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDAgI2ZmZiBpbnNldDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGNvbG9yLXN0b3AoMCwgI2ZmZiksIGNvbG9yLXN0b3AoMC41LCAjZWVlKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGNlbnRlciBib3R0b20sICNmZmYgMCUsICNlZWUgNTAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoY2VudGVyIGJvdHRvbSwgI2ZmZiAwJSwgI2VlZSA1MCUpO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZWVlZWVlJywgZW5kQ29sb3JzdHI9JyNmZmZmZmYnLCBHcmFkaWVudFR5cGU9MCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYgMCUsICNlZWUgNTAlKTtcbn1cblxuLnNlbGVjdDItZHJvcGRvd24tb3Blbi5zZWxlY3QyLWRyb3AtYWJvdmUgLnNlbGVjdDItY2hvaWNlLFxuLnNlbGVjdDItZHJvcGRvd24tb3Blbi5zZWxlY3QyLWRyb3AtYWJvdmUgLnNlbGVjdDItY2hvaWNlcyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1ODk3ZmI7XG4gIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAsICNmZmYpLCBjb2xvci1zdG9wKDAuNSwgI2VlZSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChjZW50ZXIgdG9wLCAjZmZmIDAlLCAjZWVlIDUwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGNlbnRlciB0b3AsICNmZmYgMCUsICNlZWUgNTAlKTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI2VlZWVlZScsIGVuZENvbG9yc3RyPScjZmZmZmZmJywgR3JhZGllbnRUeXBlPTApO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoYm90dG9tLCAjZmZmIDAlLCAjZWVlIDUwJSk7XG59XG5cbi5zZWxlY3QyLWRyb3Bkb3duLW9wZW4gLnNlbGVjdDItY2hvaWNlIC5zZWxlY3QyLWFycm93IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBmaWx0ZXI6IG5vbmU7XG59XG5cbi5zZWxlY3QyLWRyb3Bkb3duLW9wZW4gLnNlbGVjdDItY2hvaWNlIC5zZWxlY3QyLWFycm93IGIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMThweCAxcHg7XG59XG5cbi8qIHJlc3VsdHMgKi9cbi5zZWxlY3QyLXJlc3VsdHMge1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgcGFkZGluZzogMCAwIDAgNHB4O1xuICBtYXJnaW46IDRweCA0cHggNHB4IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbi5zZWxlY3QyLXJlc3VsdHMgdWwuc2VsZWN0Mi1yZXN1bHQtc3ViIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5zZWxlY3QyLXJlc3VsdHMgdWwuc2VsZWN0Mi1yZXN1bHQtc3ViID4gbGkgLnNlbGVjdDItcmVzdWx0LWxhYmVsIHsgcGFkZGluZy1sZWZ0OiAyMHB4IH1cblxuLnNlbGVjdDItcmVzdWx0cyB1bC5zZWxlY3QyLXJlc3VsdC1zdWIgdWwuc2VsZWN0Mi1yZXN1bHQtc3ViID4gbGkgLnNlbGVjdDItcmVzdWx0LWxhYmVsIHsgcGFkZGluZy1sZWZ0OiA0MHB4IH1cblxuLnNlbGVjdDItcmVzdWx0cyB1bC5zZWxlY3QyLXJlc3VsdC1zdWIgdWwuc2VsZWN0Mi1yZXN1bHQtc3ViIHVsLnNlbGVjdDItcmVzdWx0LXN1YiA+IGxpIC5zZWxlY3QyLXJlc3VsdC1sYWJlbCB7IHBhZGRpbmctbGVmdDogNjBweCB9XG5cbi5zZWxlY3QyLXJlc3VsdHMgdWwuc2VsZWN0Mi1yZXN1bHQtc3ViIHVsLnNlbGVjdDItcmVzdWx0LXN1YiB1bC5zZWxlY3QyLXJlc3VsdC1zdWIgdWwuc2VsZWN0Mi1yZXN1bHQtc3ViID4gbGkgLnNlbGVjdDItcmVzdWx0LWxhYmVsIHsgcGFkZGluZy1sZWZ0OiA4MHB4IH1cblxuLnNlbGVjdDItcmVzdWx0cyB1bC5zZWxlY3QyLXJlc3VsdC1zdWIgdWwuc2VsZWN0Mi1yZXN1bHQtc3ViIHVsLnNlbGVjdDItcmVzdWx0LXN1YiB1bC5zZWxlY3QyLXJlc3VsdC1zdWIgdWwuc2VsZWN0Mi1yZXN1bHQtc3ViID4gbGkgLnNlbGVjdDItcmVzdWx0LWxhYmVsIHsgcGFkZGluZy1sZWZ0OiAxMDBweCB9XG5cbi5zZWxlY3QyLXJlc3VsdHMgdWwuc2VsZWN0Mi1yZXN1bHQtc3ViIHVsLnNlbGVjdDItcmVzdWx0LXN1YiB1bC5zZWxlY3QyLXJlc3VsdC1zdWIgdWwuc2VsZWN0Mi1yZXN1bHQtc3ViIHVsLnNlbGVjdDItcmVzdWx0LXN1YiB1bC5zZWxlY3QyLXJlc3VsdC1zdWIgPiBsaSAuc2VsZWN0Mi1yZXN1bHQtbGFiZWwgeyBwYWRkaW5nLWxlZnQ6IDExMHB4IH1cblxuLnNlbGVjdDItcmVzdWx0cyB1bC5zZWxlY3QyLXJlc3VsdC1zdWIgdWwuc2VsZWN0Mi1yZXN1bHQtc3ViIHVsLnNlbGVjdDItcmVzdWx0LXN1YiB1bC5zZWxlY3QyLXJlc3VsdC1zdWIgdWwuc2VsZWN0Mi1yZXN1bHQtc3ViIHVsLnNlbGVjdDItcmVzdWx0LXN1YiB1bC5zZWxlY3QyLXJlc3VsdC1zdWIgPiBsaSAuc2VsZWN0Mi1yZXN1bHQtbGFiZWwgeyBwYWRkaW5nLWxlZnQ6IDEyMHB4IH1cblxuLnNlbGVjdDItcmVzdWx0cyBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuLnNlbGVjdDItcmVzdWx0cyBsaS5zZWxlY3QyLXJlc3VsdC13aXRoLWNoaWxkcmVuID4gLnNlbGVjdDItcmVzdWx0LWxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5zZWxlY3QyLXJlc3VsdHMgLnNlbGVjdDItcmVzdWx0LWxhYmVsIHtcbiAgcGFkZGluZzogM3B4IDdweCA0cHg7XG4gIG1hcmdpbjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtaW4taGVpZ2h0OiAxZW07XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnNlbGVjdDItcmVzdWx0cyAuc2VsZWN0Mi1oaWdobGlnaHRlZCB7XG4gIGJhY2tncm91bmQ6ICMzODc1ZDc7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uc2VsZWN0Mi1yZXN1bHRzIGxpIGVtIHtcbiAgYmFja2dyb3VuZDogI2ZlZmZkZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4uc2VsZWN0Mi1yZXN1bHRzIC5zZWxlY3QyLWhpZ2hsaWdodGVkIGVtIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5zZWxlY3QyLXJlc3VsdHMgLnNlbGVjdDItaGlnaGxpZ2h0ZWQgdWwge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLnNlbGVjdDItcmVzdWx0cyAuc2VsZWN0Mi1uby1yZXN1bHRzLFxuLnNlbGVjdDItcmVzdWx0cyAuc2VsZWN0Mi1zZWFyY2hpbmcsXG4uc2VsZWN0Mi1yZXN1bHRzIC5zZWxlY3QyLXNlbGVjdGlvbi1saW1pdCB7XG4gIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLypcbmRpc2FibGVkIGxvb2sgZm9yIGRpc2FibGVkIGNob2ljZXMgaW4gdGhlIHJlc3VsdHMgZHJvcGRvd25cbiovXG4uc2VsZWN0Mi1yZXN1bHRzIC5zZWxlY3QyLWRpc2FibGVkLnNlbGVjdDItaGlnaGxpZ2h0ZWQge1xuICBjb2xvcjogIzY2NjtcbiAgYmFja2dyb3VuZDogI2Y0ZjRmNDtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5zZWxlY3QyLXJlc3VsdHMgLnNlbGVjdDItZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLnNlbGVjdDItcmVzdWx0cyAuc2VsZWN0Mi1zZWxlY3RlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zZWxlY3QyLW1vcmUtcmVzdWx0cy5zZWxlY3QyLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmNGY0ZjQgdXJsKCdzZWxlY3QyLXNwaW5uZXIuZ2lmJykgbm8tcmVwZWF0IDEwMCU7XG59XG5cbi5zZWxlY3QyLW1vcmUtcmVzdWx0cyB7XG4gIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogZGlzYWJsZWQgc3R5bGVzICovXG5cbi5zZWxlY3QyLWNvbnRhaW5lci5zZWxlY3QyLWNvbnRhaW5lci1kaXNhYmxlZCAuc2VsZWN0Mi1jaG9pY2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci5zZWxlY3QyLWNvbnRhaW5lci1kaXNhYmxlZCAuc2VsZWN0Mi1jaG9pY2UgLnNlbGVjdDItYXJyb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyLnNlbGVjdDItY29udGFpbmVyLWRpc2FibGVkIC5zZWxlY3QyLWNob2ljZSBhYmJyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogbXVsdGlzZWxlY3QgKi9cblxuLnNlbGVjdDItY29udGFpbmVyLW11bHRpIC5zZWxlY3QyLWNob2ljZXMge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGN1cnNvcjogdGV4dDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAlIDAlLCAwJSAxMDAlLCBjb2xvci1zdG9wKDElLCAjZWVlKSwgY29sb3Itc3RvcCgxNSUsICNmZmYpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZWVlIDElLCAjZmZmIDE1JSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2VlZSAxJSwgI2ZmZiAxNSUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG9wLCAjZWVlIDElLCAjZmZmIDE1JSk7XG59XG5cbi5zZWxlY3QyLWxvY2tlZCB7XG4gIHBhZGRpbmc6IDNweCA1cHggM3B4IDVweCAhaW1wb3J0YW50O1xufVxuXG4uc2VsZWN0Mi1jb250YWluZXItbXVsdGkgLnNlbGVjdDItY2hvaWNlcyB7XG4gIG1pbi1oZWlnaHQ6IDI2cHg7XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci1tdWx0aS5zZWxlY3QyLWNvbnRhaW5lci1hY3RpdmUgLnNlbGVjdDItY2hvaWNlcyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1ODk3ZmI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsIDAsIDAsIC4zKTtcbiAgYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsIDAsIDAsIC4zKTtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyLW11bHRpIC5zZWxlY3QyLWNob2ljZXMgbGkge1xuICBmbG9hdDogbGVmdDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyLW11bHRpIC5zZWxlY3QyLWNob2ljZXMgLnNlbGVjdDItc2VhcmNoLWZpZWxkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uc2VsZWN0Mi1jb250YWluZXItbXVsdGkgLnNlbGVjdDItY2hvaWNlcyAuc2VsZWN0Mi1zZWFyY2gtZmllbGQgaW5wdXQge1xuICBwYWRkaW5nOiA1cHg7XG4gIG1hcmdpbjogMXB4IDA7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEwMCU7XG4gIGNvbG9yOiAjNjY2O1xuICBvdXRsaW5lOiAwO1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyLW11bHRpIC5zZWxlY3QyLWNob2ljZXMgLnNlbGVjdDItc2VhcmNoLWZpZWxkIGlucHV0LnNlbGVjdDItYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoJ3NlbGVjdDItc3Bpbm5lci5naWYnKSBuby1yZXBlYXQgMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uc2VsZWN0Mi1kZWZhdWx0IHtcbiAgY29sb3I6ICM5OTkgIWltcG9ydGFudDtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyLW11bHRpIC5zZWxlY3QyLWNob2ljZXMgLnNlbGVjdDItc2VhcmNoLWNob2ljZSB7XG4gIHBhZGRpbmc6IDNweCA1cHggM3B4IDE4cHg7XG4gIG1hcmdpbjogM3B4IDAgM3B4IDVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMTNweDtcbiAgY29sb3I6ICMzMzM7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYWFhYTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAycHggI2ZmZiBpbnNldCwgMCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBib3gtc2hhZG93OiAwIDAgMnB4ICNmZmYgaW5zZXQsIDAgMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZWVlZWVlJywgZW5kQ29sb3JzdHI9JyNmNGY0ZjQnLCBHcmFkaWVudFR5cGU9MCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwJSAwJSwgMCUgMTAwJSwgY29sb3Itc3RvcCgyMCUsICNmNGY0ZjQpLCBjb2xvci1zdG9wKDUwJSwgI2YwZjBmMCksIGNvbG9yLXN0b3AoNTIlLCAjZThlOGU4KSwgY29sb3Itc3RvcCgxMDAlLCAjZWVlKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2Y0ZjRmNCAyMCUsICNmMGYwZjAgNTAlLCAjZThlOGU4IDUyJSwgI2VlZSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjZjRmNGY0IDIwJSwgI2YwZjBmMCA1MCUsICNlOGU4ZTggNTIlLCAjZWVlIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG9wLCAjZjRmNGY0IDIwJSwgI2YwZjBmMCA1MCUsICNlOGU4ZTggNTIlLCAjZWVlIDEwMCUpO1xufVxuXG4uc2VsZWN0Mi1jb250YWluZXItbXVsdGkgLnNlbGVjdDItY2hvaWNlcyAuc2VsZWN0Mi1zZWFyY2gtY2hvaWNlIC5zZWxlY3QyLWNob3NlbiB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyLW11bHRpIC5zZWxlY3QyLWNob2ljZXMgLnNlbGVjdDItc2VhcmNoLWNob2ljZS1mb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNkNGQ0ZDQ7XG59XG5cbi5zZWxlY3QyLXNlYXJjaC1jaG9pY2UtY2xvc2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTNweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogM3B4O1xuICB0b3A6IDRweDtcbiAgZm9udC1zaXplOiAxcHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIC8vYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi8uLi8uLi8uLi9kbXMvd2FjL2ltYWdlcy9zZWxlY3QyLnBuZycpIHJpZ2h0IHRvcCBuby1yZXBlYXQ7XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci1tdWx0aSAuc2VsZWN0Mi1zZWFyY2gtY2hvaWNlLWNsb3NlIHtcbiAgbGVmdDogM3B4O1xufVxuXG4uc2VsZWN0Mi1jb250YWluZXItbXVsdGkgLnNlbGVjdDItY2hvaWNlcyAuc2VsZWN0Mi1zZWFyY2gtY2hvaWNlIC5zZWxlY3QyLXNlYXJjaC1jaG9pY2UtY2xvc2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMTFweDtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyLW11bHRpIC5zZWxlY3QyLWNob2ljZXMgLnNlbGVjdDItc2VhcmNoLWNob2ljZS1mb2N1cyAuc2VsZWN0Mi1zZWFyY2gtY2hvaWNlLWNsb3NlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTExcHg7XG59XG5cbi8qIGRpc2FibGVkIHN0eWxlcyAqL1xuLnNlbGVjdDItY29udGFpbmVyLW11bHRpLnNlbGVjdDItY29udGFpbmVyLWRpc2FibGVkIC5zZWxlY3QyLWNob2ljZXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci1tdWx0aS5zZWxlY3QyLWNvbnRhaW5lci1kaXNhYmxlZCAuc2VsZWN0Mi1jaG9pY2VzIC5zZWxlY3QyLXNlYXJjaC1jaG9pY2Uge1xuICBwYWRkaW5nOiAzcHggNXB4IDNweCA1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci1tdWx0aS5zZWxlY3QyLWNvbnRhaW5lci1kaXNhYmxlZCAuc2VsZWN0Mi1jaG9pY2VzIC5zZWxlY3QyLXNlYXJjaC1jaG9pY2UgLnNlbGVjdDItc2VhcmNoLWNob2ljZS1jbG9zZSB7IGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi8qIGVuZCBtdWx0aXNlbGVjdCAqL1xuXG4uc2VsZWN0Mi1yZXN1bHQtc2VsZWN0YWJsZSAuc2VsZWN0Mi1tYXRjaCxcbi5zZWxlY3QyLXJlc3VsdC11bnNlbGVjdGFibGUgLnNlbGVjdDItbWF0Y2gge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnNlbGVjdDItb2Zmc2NyZWVuLCAuc2VsZWN0Mi1vZmZzY3JlZW46Zm9jdXMge1xuICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbiAgbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG4gIHRvcDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5zZWxlY3QyLWRpc3BsYXktbm9uZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zZWxlY3QyLW1lYXN1cmUtc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xMDAwMHB4O1xuICBsZWZ0OiAtMTAwMDBweDtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vKiBSZXRpbmEtaXplIGljb25zICovXG5cbi8qXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE0NGRwaSkgIHtcbiAgLnNlbGVjdDItc2VhcmNoIGlucHV0LCAuc2VsZWN0Mi1zZWFyY2gtY2hvaWNlLWNsb3NlLCAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItY2hvaWNlIGFiYnIsIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1jaG9pY2UgLnNlbGVjdDItYXJyb3cgYiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ3NlbGVjdDJ4Mi5wbmcnKSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA2MHB4IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc2VsZWN0Mi1zZWFyY2ggaW5wdXQge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAtMjFweCAhaW1wb3J0YW50O1xuICB9XG59XG4qL1xuXG4vLyBTZWxlY3QyXG5cbi5zZWxlY3QyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG51bC5zZWxlY3QyLXJlc3VsdHMge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbnVsLnNlbGVjdDItcmVzdWx0cyAuc2VsZWN0Mi1oaWdobGlnaHRlZCB7XG4gIGJhY2tncm91bmQ6ICRibHVlO1xufVxuXG5saS5zZWxlY3QyLXJlc3VsdCB7XG4gIHBhZGRpbmc6IDAgNnB4O1xufVxuXG5kaXYuc2VsZWN0Mi1kcm9wLWFjdGl2ZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LWFzaDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zZWxlY3QyLWNob3NlbiwgLnNlbGVjdDItcmVzdWx0IHtcbiAgY29sb3I6ICRncmF5LW1lZGl1bTtcbiAgQGV4dGVuZCAlZm9udF9fdGV4dDtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4uc2VsZWN0Mi1yZXN1bHQge1xuICBsaW5lLWhlaWdodDogMjhweDtcbn1cblxuZGl2LnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWNob2ljZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDQycHg7XG4gIHBhZGRpbmc6IDAgOHB4IDAgMTJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS1hc2g7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICBjb2xvcjogJGdyYXk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAvL2JveC1zaGFkb3c6IGluc2V0IDFweCAycHggMnB4IHJnYmEoMCwwLDAsMC4wNyk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbmRpdi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1jaG9pY2UgLnNlbGVjdDItYXJyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuXG5kaXYuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItY2hvaWNlIC5zZWxlY3QyLWFycm93IGIge1xuICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZ3JheS1hc2g7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmRpdi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1jaG9pY2UgLnNlbGVjdDItYXJyb3c6aG92ZXIgYiB7XG4gIGJhY2tncm91bmQ6ICRzaWx2ZXI7XG59XG5cbmRpdi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1jaG9pY2UgLnNlbGVjdDItYXJyb3cgYjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiA2cHggZG91YmxlIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDZweCBkb3VibGUgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDhweCBzb2xpZCAkZ3JheTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMnB4O1xuICBtYXJnaW4tbGVmdDogLTZweDtcbn1cblxuZGl2LnNlbGVjdDItY29udGFpbmVyLnNlbGVjdDItZHJvcGRvd24tb3BlbiAuc2VsZWN0Mi1jaG9pY2UgLnNlbGVjdDItYXJyb3cgYjphZnRlciB7XG4gIGJvcmRlci1sZWZ0OiA2cHggZG91YmxlIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDZweCBkb3VibGUgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAkZ3JheTtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTRweDtcbn1cblxuZGl2LnNlbGVjdDItY29udGFpbmVyLnNlbGVjdDItZHJvcGRvd24tb3BlbiAuc2VsZWN0Mi1jaG9pY2Uge1xuICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcbn1cblxuZGl2LnNlbGVjdDItY29udGFpbmVyLnNlbGVjdDItZHJvcGRvd24tb3BlbiAuc2VsZWN0Mi1jaG9pY2UgLnNlbGVjdDItYXJyb3cge1xuICBib3JkZXItcmFkaXVzOiAwIDRweCAwIDA7XG59XG5cbmRpdi5zZWxlY3QyLWNvbnRhaW5lci5zZWxlY3QyLWRyb3AtYWJvdmUgLnNlbGVjdDItY2hvaWNlIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XG59XG5cbi5zZWxlY3QyLWRyb3Auc2VsZWN0Mi1kcm9wLWFib3ZlLnNlbGVjdDItZHJvcC1hY3RpdmUsIC5zZWxlY3QyLWRyb3Bkb3duLW9wZW4uc2VsZWN0Mi1kcm9wLWFib3ZlIC5zZWxlY3QyLWNob2ljZSB7XG4gIGJvcmRlci1jb2xvcjogJGdyYXktYXNoO1xufVxuXG4uc2VsZWN0Mi1kcm9wZG93bi1vcGVuLnNlbGVjdDItZHJvcC1hYm92ZSAuc2VsZWN0Mi1jaG9pY2UsIC5zZWxlY3QyLWRyb3Bkb3duLW9wZW4uc2VsZWN0Mi1kcm9wLWFib3ZlIC5zZWxlY3QyLWNob2ljZXMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogJGdyYXktYXNoICFpbXBvcnRhbnQ7XG59XG5cbi5zZWxlY3QyLWRyb3Auc2VsZWN0Mi1kcm9wLWFib3ZlLnNlbGVjdDItZHJvcC1hY3RpdmUge1xuICBib3JkZXItdG9wLWNvbG9yOiAkZ3JheS1hc2ggIWltcG9ydGFudDtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUNFQSxpRkFBaUY7QUFDakYsK0NBQStDO0FBQy9DLGlGQUFpRjtBQUdqRixpRkFBaUY7QUFDakYsd0NBQXdDO0FBQ3hDLGlGQUFpRjtBOEI4bEJqRixBeEJ2bEJFLGV3QnVsQmEsRUFBRSxlQUFlLEUvQnRIaEMsT0FBTyxBQUFBLFFBQVEsQ0FXYixFQUFFO0FBWEosT0FBTyxBQUFBLFFBQVEsQ0FZYixFQUFFLEVBaVRKLFdBQVcsQ0FFVCxLQUFLLENBSUgsaUJBQWlCLENBd0VmLEVBQUUsQ081MkJnQjtFQUNwQixXQUFXLEVBQUMsNEhBQUM7RUFDYixVQUFVLEVBQUUsTUFBTSxHQXVFbkI7O0FQR0gsQU81RUUsY1A0RVksQ0FDWixFQUFFO0FBREosY0FBYyxDQUVaLEVBQUU7QUFGSixjQUFjLENBR1osRUFBRTtBQUhKLGNBQWMsQ0FJWixFQUFFO0FBSkosY0FBYyxDQUtaLEVBQUUsRUEwaUJKLE9BQU8sQUFBQSxXQUFXLEFBZWYs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 */
