.z-depth-1, .wizard > .steps a,
.wizard > .steps a:hover,
.wizard > .steps a:active, .header-container, .header-container .dropdown-menu.with-arrow.panel {
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); }

.z-depth-1-half {
  box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15); }

.z-depth-2, .page-signin .card,
.page-signup .card,
.page-forgot .card {
  box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); }

.z-depth-3 {
  box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.24), 0 17px 50px 0 rgba(0, 0, 0, 0.19); }

.z-depth-4 {
  box-shadow: 0 16px 28px 0 rgba(0, 0, 0, 0.22), 0 25px 55px 0 rgba(0, 0, 0, 0.21); }

.z-depth-5 {
  box-shadow: 0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22); }

@media print {
  .no-print {
    display: none; } }

.btn-flat, .ui-datepicker .btn-group .btn,
.ui-datepicker li > .btn {
  background: none;
  color: #3D4051;
  border: 1px solid transparent;
  

  -webkit-tap-highlight-color: transparent;
  -webkit-transition: .25s ease-out;
  transition: .25s ease-out; }
  .btn-flat:hover, .ui-datepicker .btn-group .btn:hover,
  .ui-datepicker li > .btn:hover, .btn-flat:focus, .ui-datepicker .btn-group .btn:focus,
  .ui-datepicker li > .btn:focus, .btn-flat:active, .ui-datepicker .btn-group .btn:active,
  .ui-datepicker li > .btn:active {
    background-color: #fafafa;
    outline: none;
    box-shadow: none;
    border-color: #fafafa; }
  .btn-flat.btn-primary, .ui-datepicker .btn-group .btn-primary.btn,
  .ui-datepicker li > .btn-primary.btn {
    color: #009688; }
  .btn-flat.btn-info, .ui-datepicker .btn-group .btn-info.btn,
  .ui-datepicker li > .btn-info.btn {
    color: #00BCD4; }
  .btn-flat.btn-warning, .ui-datepicker .btn-group .btn-warning.btn,
  .ui-datepicker li > .btn-warning.btn {
    color: #FFCA28; }
  .btn-flat.btn-danger, .ui-datepicker .btn-group .btn-danger.btn,
  .ui-datepicker li > .btn-danger.btn {
    color: #F44336; }

.ui-datepicker .glyphicon,
.ui-timepicker .glyphicon {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.ui-datepicker .glyphicon.glyphicon-chevron-left:before {
  content: "\f104"; }

.ui-datepicker .glyphicon.glyphicon-chevron-right:before {
  content: "\f105"; }

.ui-timepicker .glyphicon.glyphicon-chevron-up:before {
  content: "\f106"; }

.ui-timepicker .glyphicon-chevron-down:before {
  content: "\f107"; }

.ui-datepicker table {
  margin: 0 5px; }
  .ui-datepicker table th,
  .ui-datepicker table td {
    padding: 1px; }
    .ui-datepicker table th .active span,
    .ui-datepicker table td .active span {
      color: #ffffff; }
  .ui-datepicker table:focus {
    outline: none; }

.ui-timepicker td {
  padding: 1px; }

.ui-timepicker a.btn-link {
  color: #3D4051; }

.ui-timepicker .btn:focus {
  outline: 0; }

.ui-typeahead > .dropdown-menu {
  right: 15px; }

.ui-rating:hover {
  cursor: pointer; }

.ui-rating:focus {
  outline: none; }

.ui-rating .glyphicon .fa {
  margin-right: 2px; }

.ui-rating .glyphicon-star,
.ui-rating .fa-star {
  color: #009688; }

.ui-rating.ui-rating-success .glyphicon-star,
.ui-rating.ui-rating-success .fa-star {
  color: #8BC34A; }

.ui-rating.ui-rating-info .glyphicon-star,
.ui-rating.ui-rating-info .fa-star {
  color: #00BCD4; }

.ui-rating.ui-rating-warning .glyphicon-star,
.ui-rating.ui-rating-warning .fa-star {
  color: #FFCA28; }

.ui-rating.ui-rating-danger .glyphicon-star,
.ui-rating.ui-rating-danger .fa-star {
  color: #F44336; }

md-backdrop.md-dialog-backdrop {
  z-index: 1040; }

.md-dialog-container {
  z-index: 1041; }

md-icon.zmdi {
  font-size: 24px; }

.ui-md-radio-group-inline md-radio-button {
  display: inline-block;
  margin: 0 10px 10px; }

md-radio-button[disabled] .md-on {
  background-color: #ccc; }

md-toast.md-toast-primary > .md-toast-content {
  background-color: #009688; }

.md-datepicker-calendar-pane .md-datepicker-input-mask {
  width: auto; }

md-toast {
  z-index: 999999 !important;
  position: fixed !important; }

.md-primary md-tabs-wrapper md-prev-button md-icon,
.md-primary md-tabs-wrapper md-next-button md-icon {
  color: #eeeeee; }

.angular-ui-tree {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 20px;
  list-style: none; }

.angular-ui-tree-placeholder {
  margin: 5px 0;
  padding: 0;
  min-height: 30px;
  border: 1px dashed #e2edeb;
  background-color: #E6F5FD;
  border-radius: 2px; }

.angular-ui-tree-handle {
  position: relative;
  display: block;
  margin: 5px 0;
  padding: 10px 10px;
  text-decoration: none;
  border: 1px solid #e2edeb;
  background: #fff;
  cursor: move;
  border-radius: 2px; }
  .angular-ui-tree-handle:hover .angular-ui-tree-icon-action {
    display: inline; }

.angular-ui-tree-icon:hover {
  cursor: pointer; }

.angular-ui-tree-icon-collapse {
  display: block;
  position: relative;
  cursor: pointer;
  float: left;
  width: 25px;
  height: 40px;
  margin: -10px 0 0 -10px;
  padding: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  border: 0;
  background: transparent;
  font-size: 12px;
  line-height: 40px;
  text-align: center;
  font-weight: bold; }
  .angular-ui-tree-icon-collapse:before {
    content: '+';
    display: block;
    position: absolute;
    width: 100%;
    text-align: center;
    text-indent: 0; }
  .angular-ui-tree-icon-collapse.uncollapsed:before {
    content: '-'; }

.angular-ui-tree-icon-action {
  margin-left: 7px;
  display: none;
  color: #777777;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out; }
  .angular-ui-tree-icon-action:hover {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
    color: #3D4051; }

.angular-ui-tree-empty {
  border: 1px dashed #bbb;
  min-height: 100px;
  background-color: #fff;
  background-size: 60px 60px;
  background-position: 0 0,30px 30px; }

.angular-ui-tree-nodes {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none; }

.angular-ui-tree-nodes .angular-ui-tree-nodes {
  padding-left: 30px; }

.angular-ui-tree-node, .angular-ui-tree-placeholder {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  min-height: 20px;
  line-height: 20px; }

.angular-ui-tree-hidden {
  display: none; }

.angular-ui-tree-drag {
  position: absolute;
  pointer-events: none;
  z-index: 999;
  opacity: .8; }

.wizard,
.tabcontrol {
  display: block;
  width: 100%;
  overflow: hidden; }

.wizard a,
.tabcontrol a {
  outline: 0; }

.wizard ul,
.tabcontrol ul {
  list-style: none !important;
  padding: 0;
  margin: 0; }

.wizard ul > li,
.tabcontrol ul > li {
  display: block;
  padding: 0; }

/* Accessibility */
.wizard > .steps .current-info,
.tabcontrol > .steps .current-info {
  position: absolute;
  left: -999em; }

.wizard > .content > .title,
.tabcontrol > .content > .title {
  position: absolute;
  left: -999em; }

/*
    Wizard
*/
.wizard > .steps {
  position: relative;
  display: block;
  width: 100%; }
  .wizard > .steps > ul > li {
    width: 100%; }
    @media (min-width: 600px) {
      .wizard > .steps > ul > li {
        width: 25%; } }

.wizard.vertical > .steps {
  display: block;
  width: 100%; }
  @media (min-width: 600px) {
    .wizard.vertical > .steps {
      display: inline;
      float: left;
      width: 30%; } }
  .wizard.vertical > .steps > ul > li {
    float: none;
    width: 100%; }

.wizard.vertical > .content {
  width: 100%; }
  @media (min-width: 600px) {
    .wizard.vertical > .content {
      display: inline;
      float: left;
      margin: 0 2.5% 0.5em 2.5%;
      width: 65%; } }

.wizard > .steps .number {
  font-size: 1.429em; }

.wizard > .steps > ul > li,
.wizard > .actions > ul > li {
  float: left; }

.wizard > .steps a,
.wizard > .steps a:hover,
.wizard > .steps a:active {
  display: block;
  width: auto;
  margin: 0 0.5em 0.5em;
  padding: 1em 1em;
  text-decoration: none;
  border-radius: 2px; }

.wizard > .steps .disabled a,
.wizard > .steps .disabled a:hover,
.wizard > .steps .disabled a:active {
  background: #eee;
  color: #aaa;
  cursor: default;
  box-shadow: none; }

.wizard > .steps .current a,
.wizard > .steps .current a:hover,
.wizard > .steps .current a:active {
  background: #009688;
  color: #fff;
  cursor: default; }

.wizard > .steps .done a,
.wizard > .steps .done a:hover,
.wizard > .steps .done a:active {
  background: #009688;
  color: #fff;
  opacity: .6; }

.wizard > .steps .error a,
.wizard > .steps .error a:hover,
.wizard > .steps .error a:active {
  background: #F44336;
  color: #fff; }

.wizard > .content {
  background-color: #eee;
  display: block;
  margin: 0.5em;
  min-height: 25em;
  overflow: hidden;
  position: relative;
  width: auto;
  border-radius: 2px; }

.wizard > .content > .body {
  float: left;
  position: absolute;
  width: 95%;
  height: 95%;
  padding: 2.5%; }

.wizard > .content > .body ul {
  list-style: disc !important; }

.wizard > .content > .body ul > li {
  display: list-item; }

.wizard > .content > .body > iframe {
  border: 0 none;
  width: 100%;
  height: 100%; }

.wizard > .content > .body input {
  display: block;
  border: 1px solid #ccc; }

.wizard > .content > .body input[type="checkbox"] {
  display: inline-block; }

.wizard > .content > .body input.error {
  background: #fbe3e4;
  border: 1px solid #fbc2c4;
  color: #8a1f11; }

.wizard > .content > .body label {
  display: inline-block;
  margin-bottom: 0.5em; }

.wizard > .content > .body label.error {
  color: #8a1f11;
  display: inline-block;
  margin-left: 1.5em; }

.wizard > .actions {
  position: relative;
  display: block;
  text-align: right;
  width: 100%; }

.wizard.vertical > .actions {
  display: inline;
  float: right;
  margin: 0 2.5%;
  width: 95%; }

.wizard > .actions > ul {
  display: inline-block;
  text-align: right; }

.wizard > .actions > ul > li {
  margin: 0 0.5em; }

.wizard.vertical > .actions > ul > li {
  margin: 0 0 0 1em; }

.wizard > .actions a,
.wizard > .actions a:hover,
.wizard > .actions a:active {
  background-color: #009688;
  color: #fff;
  display: block;
  padding: 0.5em 1em;
  text-decoration: none;
  min-width: 100px;
  border-radius: 2px;
  text-align: center; }

.wizard > .actions .disabled a,
.wizard > .actions .disabled a:hover,
.wizard > .actions .disabled a:active {
  background: #eee;
  color: #aaa; }

/*
    Tabcontrol
*/
.tabcontrol > .steps {
  position: relative;
  display: block;
  width: 100%; }

.tabcontrol > .steps > ul {
  position: relative;
  margin: 6px 0 0 0;
  top: 1px;
  z-index: 1; }

.tabcontrol > .steps > ul > li {
  float: left;
  margin: 5px 2px 0 0;
  padding: 1px;
  -webkit-border-top-left-radius: 2px;
  -webkit-border-top-right-radius: 2px;
  -moz-border-radius-topleft: 2px;
  -moz-border-radius-topright: 2px;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px; }

.tabcontrol > .steps > ul > li:hover {
  background: #edecec;
  border: 1px solid #bbb;
  padding: 0; }

.tabcontrol > .steps > ul > li.current {
  background: #fff;
  border: 1px solid #bbb;
  border-bottom: 0 none;
  padding: 0 0 1px 0;
  margin-top: 0; }

.tabcontrol > .steps > ul > li > a {
  color: #5f5f5f;
  display: inline-block;
  border: 0 none;
  margin: 0;
  padding: 10px 30px;
  text-decoration: none; }

.tabcontrol > .steps > ul > li > a:hover {
  text-decoration: none; }

.tabcontrol > .steps > ul > li.current > a {
  padding: 15px 30px 10px 30px; }

.tabcontrol > .content {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 35em;
  overflow: hidden;
  border-top: 1px solid #bbb;
  padding-top: 20px; }

.tabcontrol > .content > .body {
  float: left;
  position: absolute;
  width: 95%;
  height: 95%;
  padding: 2.5%; }

.tabcontrol > .content > .body ul {
  list-style: disc !important; }

.tabcontrol > .content > .body ul > li {
  display: list-item; }

.ui-angular-wizard .steps {
  border: 1px solid #e1e1e1;
  margin-bottom: 3em;
  padding: 0;
  border-radius: 2px; }
  .ui-angular-wizard .steps h2 {
    font-size: 18px;
    line-height: 1;
    padding: 1.2em 1em;
    margin: 0;
    

    border-bottom: 1px solid #e1e1e1; }

.ui-angular-wizard .ui-wizard-content {
  background-color: #fafafa;
  padding: 3em 1em; }

.ui-angular-wizard .ui-wizard-actions {
  margin: 0;
  padding: 1.2em 1em;
  text-align: right;
  border-top: 1px solid #e1e1e1; }

.steps-indicator {
  /* ---- steps quantity ---- */
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  padding: 20px 0 0 0;
  height: 30px;
  list-style: none;
  /* --- http://www.paulirish.com/2012/box-sizing-border-box-ftw/ ---- */ }
  .steps-indicator:before {
    background-color: #E6E6E6;
    content: '';
    position: absolute;
    height: 1px; }
  .steps-indicator.steps-2:before {
    left: calc(100% / 2 / 2);
    right: calc(100% / 2 / 2); }
  .steps-indicator.steps-3:before {
    left: calc(100% / 3 / 2);
    right: calc(100% / 3 / 2); }
  .steps-indicator.steps-4:before {
    left: calc(100% / 4 / 2);
    right: calc(100% / 4 / 2); }
  .steps-indicator.steps-5:before {
    left: calc(100% / 5 / 2);
    right: calc(100% / 5 / 2); }
  .steps-indicator.steps-6:before {
    left: calc(100% / 6 / 2);
    right: calc(100% / 6 / 2); }
  .steps-indicator.steps-7:before {
    left: calc(100% / 7 / 2);
    right: calc(100% / 7 / 2); }
  .steps-indicator.steps-8:before {
    left: calc(100% / 8 / 2);
    right: calc(100% / 8 / 2); }
  .steps-indicator.steps-9:before {
    left: calc(100% / 9 / 2);
    right: calc(100% / 9 / 2); }
  .steps-indicator.steps-10:before {
    left: calc(100% / 10 / 2);
    right: calc(100% / 10 / 2); }
  .steps-indicator * {
    box-sizing: border-box; }
  .steps-indicator li {
    position: relative;
    float: left;
    margin: 0;
    padding: 0;
    padding-top: 10px;
    text-align: center;
    line-height: 15px; }
    .steps-indicator li a {
      color: #808080;
      text-decoration: none;
      

      font-weight: bold;
      -webkit-transition: 0.25s;
      transition: 0.25s;
      cursor: pointer; }
      .steps-indicator li a:before {
        position: absolute;
        top: -7px;
        left: calc(50% - 7px);
        width: 14px;
        height: 14px;
        border-radius: 100%;
        background-color: #E6E6E6;
        content: '';
        -webkit-transition: 0.25s;
        transition: 0.25s; }
      .steps-indicator li a:hover {
        color: #4d4d4d; }
  .steps-indicator.steps-2 li {
    width: calc(100% / 2); }
  .steps-indicator.steps-3 li {
    width: calc(100% / 3); }
  .steps-indicator.steps-4 li {
    width: calc(100% / 4); }
  .steps-indicator.steps-5 li {
    width: calc(100% / 5); }
  .steps-indicator.steps-6 li {
    width: calc(100% / 6); }
  .steps-indicator.steps-7 li {
    width: calc(100% / 7); }
  .steps-indicator.steps-8 li {
    width: calc(100% / 8); }
  .steps-indicator.steps-9 li {
    width: calc(100% / 9); }
  .steps-indicator.steps-10 li {
    width: calc(100% / 10); }
  .steps-indicator.steps-11 li {
    width: calc(100% / 11); }
  .steps-indicator li.default {
    pointer-events: none; }
    .steps-indicator li.default a:hover {
      color: #808080; }
  .steps-indicator li.current,
  .steps-indicator li.editing {
    pointer-events: none; }
  .steps-indicator li.current a:before {
    background-color: #808080; }
  .steps-indicator li.done a:before {
    background-color: #8BC34A; }
  .steps-indicator li.editing a:before {
    background-color: #009688; }

.page-dashboard h3 {
  font-size: 22px;
  font-weight: normal;
  line-height: 1;
  margin: 0 0 30px; }

.page-dashboard .sm-charts {
  margin: 0 auto; }

.page-dashboard .box-stats {
  text-align: center;
  padding-top: 20px;
  padding-bottom: 20px; }
  .page-dashboard .box-stats.no-border .box-num {
    border: 0; }
  .page-dashboard .box-stats .box-desc {
    font-size: 12px;
    line-height: 26px;
    color: #A5AEB1;
    
 }
  .page-dashboard .box-stats .box-num {
    font-size: 42px;
    line-height: 80px;
    font-weight: 300; }
    @media screen and (min-width: 768px) {
      .page-dashboard .box-stats .box-num {
        border-right: 2px solid #EDF0F1; } }

.page-dashboard .metrics {
  margin-bottom: 55px; }
  .page-dashboard .metrics .metric {
    display: block;
    margin-bottom: 10px;
    font-size: 26px;
    color: #009688; }
  .page-dashboard .metrics .metric-info {
    

    font-size: 16px;
    color: #aaa; }

.page-dashboard .progressbar-container {
  margin-bottom: 25px; }

.page-dashboard .panel-box {
  position: relative;
  border-radius: 2px; }
  .page-dashboard .panel-box .panel-top,
  .page-dashboard .panel-box .panel-bottom {
    height: 100px;
    padding: 30px 15px;
    font-size: 40px;
    line-height: 1; }
  .page-dashboard .panel-box .panel-bottom {
    border-top: 1px solid #dfdfdf; }
  .page-dashboard .panel-box .panel-info {
    position: absolute;
    width: 100%;
    top: 50%;
    margin-top: -12px;
    text-align: center; }
    .page-dashboard .panel-box .panel-info span {
      height: 24px;
      display: inline-block;
      padding: 4px 10px;
      

      line-height: 14px;
      background-color: #fff;
      border: 1px solid #dfdfdf;
      font-size: 11px;
      color: #777777;
      border-radius: 1em; }
  .page-dashboard .panel-box .bg-light {
    background-color: #f9f9f9; }

.info-box-icon {
  background: #262b33;
  min-height: 100%;
  width: 100%;
  position: relative;
  top: 0;
  left: 0;
  display: block; }

.ion {
  padding: 50px 40px;
  color: white;
  font-size: 38px; }

.lt-ie9-bg {
  z-index: 11111;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #333;
  color: #999;
  padding: 100px 20px;
  text-align: center;
  font-size: 26px; }
  .lt-ie9-bg a {
    color: #f5f5f5;
    border-bottom: 2px solid #fff; }
    .lt-ie9-bg a:hover {
      text-decoration: none; }

.non-display {
  display: none; }

.page {
  padding: 15px 30px; }
  .page > .ui-section:last-child {
    margin-bottom: 0; }

.page-form-ele h3 {
  margin: 0; }

.page-top-view .class {
  background-color: white;
  border: 1px solid #DFDFDF; }

.page-top-view .class_name {
  position: absolute;
  top: 42%;
  width: 100%;
  text-align: center;
  font-size: 23px; 
  word-wrap: break-word;
}

.page-top-view .edit_button {
  position: absolute;
  right: 0;
  bottom: 0px;
  background: #efefef;
  padding: 10px;
  color: #676666;
  font-size: 13px; }

.page-top-view .class_measurements ul {
  list-style-type: none;
  background: #f9f1cb;
  margin: 5px;
  padding: 10px 16px; }

.body-err {
  background-color: #262B33;
  background-size: cover; }

.page-err {
  position: relative;
  height: 100%; }
  .page-err .err-container {
    padding: 45px 10px 0; }
    @media (min-width: 768px) {
      .page-err .err-container {
        padding: 100px 0 0; } }
  .page-err .err {
    color: #fafafa; }
    .page-err .err h1 {
      margin-bottom: 35px;
      color: #fafafa;
      color: rgba(255, 255, 255, 0.8);
      font-size: 150px;
      font-weight: 300;
      text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2); }
      @media (min-width: 768px) {
        .page-err .err h1 {
          font-size: 180px; } }
    .page-err .err h2 {
      color: #fafafa;
      color: rgba(255, 255, 255, 0.6);
      margin: 0;
      font-weight: 300;
      font-size: 28px;
      
 }
      @media (min-width: 768px) {
        .page-err .err h2 {
          font-size: 36px; } }
  .page-err .err-body {
    padding: 20px 10px; }
  .page-err .btn-goback {
    color: #ffffff;
    color: rgba(255, 255, 255, 0.8);
    background-color: transparent;
    border-color: #ffffff;
    border-color: rgba(255, 255, 255, 0.8); }
    .page-err .btn-goback:hover, .page-err .btn-goback:focus, .page-err .btn-goback:active, .page-err .btn-goback.active {
      color: #ffffff;
      background-color: rgba(255, 255, 255, 0.1); }
    .open .page-err .btn-goback.dropdown-toggle {
      color: #ffffff;
      background-color: rgba(255, 255, 255, 0.1); }
  .page-err .footer {
    position: absolute;
    bottom: 20px;
    width: 100%; }

.body-auth {
  background-color: #EDF0F1;
  background-size: cover; }

.btn-minimal {
  color: #ffffff;
  color: rgba(255, 255, 255, 0.8);
  background-color: transparent;
  border-color: #ffffff;
  border-color: rgba(255, 255, 255, 0.8); }
  .btn-minimal:hover, .btn-minimal:focus, .btn-minimal:active, .btn-minimal.active {
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.1); }
  .open .btn-minimal.dropdown-toggle {
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.1); }

.page-signin .wrapper,
.page-signup .wrapper,
.page-forgot .wrapper {
  padding: 0 10px; }

.page-signin .main-body,
.page-signup .main-body,
.page-forgot .main-body {
  max-width: 480px;
  margin: 10px auto; }

.page-signin .body-inner,
.page-signup .body-inner,
.page-forgot .body-inner {
  position: relative;
  padding: 20px; }
  .page-signin .body-inner:before,
  .page-signup .body-inner:before,
  .page-forgot .body-inner:before {
    z-index: -1;
    content: ' ';
    line-height: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #009688;
    height: 220px; }

.page-signin .additional-info,
.page-signup .additional-info,
.page-forgot .additional-info {
  text-align: center;
  font-size: 12px; }
  .page-signin .additional-info a,
  .page-signup .additional-info a,
  .page-forgot .additional-info a {
    color: #fafafa; }
  .page-signin .additional-info .divider-h,
  .page-signup .additional-info .divider-h,
  .page-forgot .additional-info .divider-h {
    border-right: 1px solid #fafafa;
    margin: 0 15px; }

.page-signin h1,
.page-signup h1,
.page-forgot h1 {
  font-weight: normal;
  color: #009688;
  font-size: 38px;
  margin-bottom: 40px; }
  .page-signin h1 a,
  .page-signup h1 a,
  .page-forgot h1 a {
    color: #009688; }

.page-signin .card .card-content,
.page-signup .card .card-content,
.page-forgot .card .card-content {
  padding: 30px 20px; }

.page-signin .ui-input-group .form-control,
.page-signup .ui-input-group .form-control,
.page-forgot .ui-input-group .form-control {
  color: #555555; }

.page-signin .form-group,
.page-signup .form-group,
.page-forgot .form-group {
  position: relative;
  margin: 0; }

.page-signin .wrapper,
.page-signup .wrapper,
.page-forgot .wrapper {
  margin-top: 50px; }
  @media (min-width: 768px) {
    .page-signin .wrapper,
    .page-signup .wrapper,
    .page-forgot .wrapper {
      margin-top: 40px; } }

.page-signin .logo,
.page-signup .logo,
.page-forgot .logo {
  font-size: 26px;
  font-weight: normal; }
  .page-signin .logo a:hover,
  .page-signup .logo a:hover,
  .page-forgot .logo a:hover {
    text-decoration: none; }

.page-profile {
  margin: -15px 0 0; }
  .page-profile .profile-header {
    position: relative;
    margin: 0 -30px 15px;
    padding: 50px 30px 90px;
    background: url("../images/background/1.jpg") no-repeat center center fixed;
    background-size: cover; }
  .page-profile .profile-img {
    display: inline-block;
    margin-right: 20px; }
    .page-profile .profile-img img {
      max-width: 120px;
      height: auto;
      box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.5), 0 0 10px rgba(0, 0, 0, 0.2); }
  .page-profile .profile-social {
    display: inline-block; }
    .page-profile .profile-social > a {
      margin-right: 15px;
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.2); }
  .page-profile .profile-info {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.3);
    line-height: 20px;
    padding: 10px 30px;
    color: #fafafa; }
    .page-profile .profile-info ul {
      margin: 0; }
  .page-profile img.media-object {
    border-radius: 2px; }

.page-invoice .invoice-wrapper {
  padding: 0 0 30px;
  background-color: #ffffff; }

.invoice-inner {
  padding: 15px 15px 30px;
  background-color: #ffffff; }
  .invoice-inner .invoice-sum li {
    margin-bottom: 5px;
    padding: 10px;
    background-color: #f9f9f9;
    border-radius: 2px; }
  .invoice-inner .table.table-bordered {
    border: 0; }
  .invoice-inner .table .bg-dark > th {
    border: 0; }

.page-icons .page-header {
  border-bottom: 0; }

.page-icons .icon-material .zmdi {
  display: block;
  height: 80px;
  font-size: 1.5em;
  line-height: 100px;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out; }

.page-icons .icon-material .col-sm-4 {
  -webkit-transition: all .2s ease;
  transition: all .2s ease; }
  .page-icons .icon-material .col-sm-4:hover {
    color: #262B33; }
    .page-icons .icon-material .col-sm-4:hover .zmdi {
      font-size: 3em;
      color: #009688; }

.page-features .panel {
  border: 0; }

.page-features .feature-list-container .panel-body {
  background-color: #405161;
  padding: 30px 50px; }

.page-features .feature-list-container .col-xs-4 {
  margin-bottom: 50px; }

.page-form-ele .list-checkbox-radio li:nth-child(even) {
  margin-bottom: 20px; }

.page-form-ele .list-checkbox-radio li > div {
  float: left;
  margin-right: 10px; }

.demoslider-container {
  max-width: 600px;
  margin: auto; }

.page-grid .grid-structure .row {
  margin-top: 10px; }
  .page-grid .grid-structure .row .widget-container {
    margin-top: 5px;
    background: #eee;
    padding: 10px 15px 12px;
    font-size: 12px;
    min-height: 0;
    border-radius: 2px; }

.table.table-demo tr:first-child td {
  border-top: 0; }

.table.table-demo .type-info {
  vertical-align: middle; }

.whiteframedemoBasicUsage md-whiteframe {
  background: #fff;
  margin: 30px;
  height: 100px; }

@media screen and (max-width: 599px) {
  .whiteframedemoBasicUsage md-whiteframe {
    margin: 7px;
    height: 50px;
    background-color: #c8e4fa; }
  .whiteframedemoBasicUsage md-whiteframe > span {
    font-size: 0.4em; } }

@media screen and (min-width: 600px) and (max-width: 959px) {
  .whiteframedemoBasicUsage md-whiteframe {
    margin: 20px;
    height: 75px; }
  .whiteframedemoBasicUsage md-whiteframe > span {
    font-size: 0.6em; } }

@media screen and (min-width: 960px) and (max-width: 1199px) {
  .whiteframedemoBasicUsage md-whiteframe {
    margin: 20px;
    height: 90px;
    background-color: #fcddde; }
  .whiteframedemoBasicUsage md-whiteframe > span {
    font-size: 0.9em; } }

@media screen and (min-width: 1200px) {
  .whiteframedemoBasicUsage md-whiteframe {
    margin: 25px;
    height: 100px;
    background-color: #F2FCE2; }
  .whiteframedemoBasicUsage md-whiteframe > span {
    font-size: 1em; } }

.radioButtondemoMultiColumn md-divider {
  margin: 0 -15px; }

.radioButtondemoMultiColumn div.radioDemo2 {
  margin-bottom: 20px; }

.radioButtondemoMultiColumn h2 {
  margin-left: 15px; }

.radioButtondemoMultiColumn p {
  width: 400px;
  margin-top: 10px;
  margin-left: 10px;
  padding-top: 10px;
  border-top: 2px solid #ddd; }

.radioButtondemoMultiColumn .md-checked {
  background-color: #ECFAFB;
  border-radius: 2px; }

.radioButtondemoMultiColumn md-button.md-raised, .radioButtondemoMultiColumn button.md-raised {
  width: 200px; }

.radioButtondemoMultiColumn .row {
  border-bottom: 1px dashed #ddd; }

.radioButtondemoMultiColumn div.row:last-child {
  border-bottom: 0px dashed #ddd; }

.radioButtondemoMultiColumn .summary {
  width: 100%;
  padding-top: 10px;
  margin-left: 25px;
  margin-top: 20px;
  margin-bottom: -5px; }

.radioButtondemoMultiColumn .title {
  font-weight: bolder; }

.radioButtondemoMultiColumn .selectedUser .md-checked {
  padding: 8px;
  width: 100px; }

.layout-boxed > .header-container .top-header {
  max-width: 1200px;
  margin: 0 auto; }

.layout-boxed > .main-container {
  max-width: 1200px;
  margin: 0 auto; }

.body-wide.app > .main-container > .nav-container,
.body-wide.app > .main-container > .content-container,
.body-wide .header-container > .top-header .logo,
.body-wide .header-container > .top-header .top-nav {
  -webkit-transition: none;
  transition: none; }

html {
  position: relative;
  min-height: 100%;
  height: 100%;
  background: none; }

.app {
  position: relative;
  min-height: 100%;
  height: 100%; }
  .app > .header-container.header-fixed {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030; }
    .app > .header-container.header-fixed + .main-container {
      padding-top: 128px; }
      @media (min-width: 768px) {
        .app > .header-container.header-fixed + .main-container {
          padding-top: 64px; } }
  .app > .main-container {
    position: relative;
    min-height: 100%;
    padding-bottom: 0; }
    .app > .main-container:before {
      content: " ";
      line-height: 0;
      z-index: -2;
      position: absolute;
      display: block;
      width: 100%;
      max-width: inherit;
      top: 0;
      bottom: 0;
      background-color: #efefef;
      box-shadow: 0 -2px 2px rgba(0, 0, 0, 0.2); }
    .app > .main-container > .nav-vertical:before {
      left: 0; }
    .app > .main-container > .nav-container {
      display: none;
      z-index: 11;
      position: static;
      float: left;
      width: 220px;
      -webkit-transition: width .25s ease-in-out;
      transition: width .25s ease-in-out; }
      @media (min-width: 768px) {
        .app > .main-container > .nav-container {
          display: block; } }
      .app > .main-container > .nav-container:before {
        z-index: -1;
        content: " ";
        line-height: 0;
        position: absolute;
        display: block;
        top: 0;
        bottom: 0;
        width: inherit;
        background-color: inherit;
        border-width: inherit;
        border-style: inherit;
        border-color: inherit; }
      .app > .main-container > .nav-container.nav-fixed {
        position: fixed;
        top: 128px;
        bottom: 0;
        float: none; }
        @media (min-width: 768px) {
          .app > .main-container > .nav-container.nav-fixed {
            top: 64px; } }
    .app > .main-container > .content-container {
      overflow: hidden;
      min-height: 100%;
      margin-left: 0;
      -webkit-transition: margin-left .25s ease-in-out;
      transition: margin-left .25s ease-in-out; }
      @media (min-width: 768px) {
        .app > .main-container > .content-container {
          margin-left: 220px; } }

#nav-container ul {
  padding-left: 0;
  list-style: none; }

#nav-container > .nav-wrapper {
  position: relative;
  width: 100%;
  height: 100%; }

.nav-container .md-button {
  text-align: left;
  min-width: 20px;
  text-transform: none;
  border-radius: 0; }

.nav-container .nav {
  margin: 0;
  padding: 0;
  -webkit-overflow-scrolling: touch;
  -webkit-overflow-scrolling: -blackberry-touch; }
  .nav-container .nav .nav-title {
    margin: 15px 15px 10px;
    font-weight: normal;
    font-size: 12px; }
  .nav-container .nav .nav-divider {
    margin: 10px 0 10px 15px;
    border-width: 1px;
    border-style: solid;
    border-color: transparent; }
  .nav-container .nav > li > a > i,
  .nav-container .nav > li > a > .nav-icon {
    display: inline-block;
    margin-right: 10px;
    width: 20px;
    line-height: 20px;
    text-align: center;
    font-size: 16px;
    -webkit-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out; }
  .nav-container .nav a {
    font-size: 13px;
    -webkit-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out; }
    .nav-container .nav a:hover, .nav-container .nav a:focus, .nav-container .nav a:active {
      text-decoration: none; }
  .nav-container .nav > li {
    position: relative;
    margin: 0;
    text-align: left;
    font-weight: bold;
    -webkit-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out; }
    .nav-container .nav > li.open .icon-has-ul {
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .nav-container .nav > li.li-small {
      font-size: 12px;
      font-weight: normal; }
      .nav-container .nav > li.li-small > a {
        padding: 10px 15px; }
        .nav-container .nav > li.li-small > a > i {
          font-size: 12px; }
    .nav-container .nav > li:first-child > a {
      border-top: 0; }
    .nav-container .nav > li > a {
      position: relative;
      white-space: nowrap;
      display: block;
      padding: 15px 15px;
      -webkit-transition: all 0.25s ease-in-out;
      transition: all 0.25s ease-in-out; }
      .nav-container .nav > li > a .badge {
        position: absolute;
        top: 16px;
        right: 8px; }
      .nav-container .nav > li > a > .icon-has-ul {
        position: absolute;
        top: 15px;
        right: 0;
        font-size: 9px;
        line-height: 19px;
        -webkit-transition: all .3s ease-in-out;
        transition: all .3s ease-in-out; }
    .nav-container .nav > li > .icon-has-ul-h {
      display: none; }
  .nav-container .nav ul {
    display: none; }
    .nav-container .nav ul a {
      font-size: 13px; }
    .nav-container .nav ul li {
      position: relative;
      padding: 0; }
      .nav-container .nav ul li:last-child > a {
        border-bottom: 0; }
      .nav-container .nav ul li > a {
        position: relative;
        display: block;
        padding: 13px 0 13px 25px;
        -webkit-transition: all 0.25s ease-in-out;
        transition: all 0.25s ease-in-out; }
        .nav-container .nav ul li > a:first-child {
          border-top: none; }
        .nav-container .nav ul li > a > i {
          font-size: 4px;
          line-height: 16px;
          margin-right: 16px;
          vertical-align: middle; }
        .nav-container .nav ul li > a > .badge {
          position: absolute;
          right: 8px;
          top: 12px; }

.nav-vertical {
  box-shadow: 2px 0 2px 0 rgba(0, 0, 0, 0.12); }

@media (max-width: 767px) {
  .on-canvas #header {
    position: fixed;
    right: 0;
    left: 0;
    z-index: 12; }
  .on-canvas #nav-container {
    display: block;
    position: fixed;
    top: 128px;
    bottom: 0;
    float: none; }
  .on-canvas .main-container {
    overflow: hidden; }
    .on-canvas .main-container #content {
      margin-left: 220px;
      margin-right: -220px; } }

@media (min-width: 768px) {
  .app > .main-container > .nav-container.nav-horizontal {
    z-index: 9;
    border-width: 0 0 1px;
    border-style: solid;
    border-color: #d5d5d5; }
    .app > .main-container > .nav-container.nav-horizontal:before {
      border: 0; }
    .app > .main-container > .nav-container.nav-horizontal .nav-title,
    .app > .main-container > .nav-container.nav-horizontal .nav-divider,
    .app > .main-container > .nav-container.nav-horizontal .li-small {
      display: none !important; }
    .app > .main-container > .nav-container.nav-horizontal.nav-fixed {
      border-width: 0 1px 1px 0;
      left: 0;
      right: 0;
      bottom: auto; }
      .app > .main-container > .nav-container.nav-horizontal.nav-fixed #nav {
        text-align: center; }
        .app > .main-container > .nav-container.nav-horizontal.nav-fixed #nav > li {
          display: inline-block;
          float: none; }
          .app > .main-container > .nav-container.nav-horizontal.nav-fixed #nav > li.nav-title, .app > .main-container > .nav-container.nav-horizontal.nav-fixed #nav > li.nav-divider {
            display: none; }
          .app > .main-container > .nav-container.nav-horizontal.nav-fixed #nav > li > a {
            padding: 17.5px 28px 12.5px; }
      .app > .main-container > .nav-container.nav-horizontal.nav-fixed + .content-container {
        margin: 80px 0 0; } }

@media (min-width: 768px) {
  .main-container > .nav-container.nav-horizontal {
    float: none;
    width: auto; }
    .main-container > .nav-container.nav-horizontal + .content-container {
      margin-left: 0; }
  .nav-horizontal {
    background-color: #eee; }
    .nav-horizontal .slimScrollDiv {
      overflow: visible !important;
      height: auto !important; }
      .nav-horizontal .slimScrollDiv .slimScrollBar,
      .nav-horizontal .slimScrollDiv .slimScrollRail {
        display: none !important; }
    .nav-horizontal .nav {
      overflow: visible !important; }
      .nav-horizontal .nav > li {
        position: relative;
        float: left; }
        .nav-horizontal .nav > li:hover > a {
          background-color: #e1e1e1;
          color: #3D4051; }
        .nav-horizontal .nav > li:hover > i {
          color: #3D4051; }
        .nav-horizontal .nav > li.active > a {
          background-color: transparent;
          color: #009688; }
        .nav-horizontal .nav > li.active > .icon-has-ul-h {
          color: #009688; }
        .nav-horizontal .nav > li > a {
          padding: 15px 30px;
          text-align: center;
          font-weight: normal; }
          .nav-horizontal .nav > li > a > i {
            margin: 0;
            font-size: 26px;
            line-height: 1; }
          .nav-horizontal .nav > li > a > span {
            margin: 0;
            display: block;
            font-size: 12px; }
          .nav-horizontal .nav > li > a .badge {
            top: 15px; }
          .nav-horizontal .nav > li > a > .icon-has-ul {
            display: none; }
        .nav-horizontal .nav > li > .icon-has-ul-h {
          display: block;
          position: absolute;
          bottom: 16px;
          right: 10px;
          font-size: 10px; }
        .nav-horizontal .nav > li:hover > ul {
          display: block !important; }
        .nav-horizontal .nav > li > ul {
          z-index: 9;
          position: absolute;
          left: 0;
          top: 100%;
          min-width: 100%;
          width: auto;
          background-color: #e1e1e1;
          border-bottom-right-radius: 2px;
          border-bottom-left-radius: 2px; }
          .nav-horizontal .nav > li > ul li {
            white-space: nowrap; }
            .nav-horizontal .nav > li > ul li:hover > a, .nav-horizontal .nav > li > ul li.active > a {
              color: #009688; }
            .nav-horizontal .nav > li > ul li > a {
              padding: 13px 40px 13px 20px; } }

@media (min-width: 768px) {
  .app.nav-collapsed-min .slimScrollDiv {
    overflow: visible !important;
    height: auto !important; }
    .app.nav-collapsed-min .slimScrollDiv .slimScrollBar,
    .app.nav-collapsed-min .slimScrollDiv .slimScrollRail {
      display: none !important; }
  .app.nav-collapsed-min #nav-container {
    width: 60px; }
  .app.nav-collapsed-min .content-container {
    margin-left: 60px; }
  .app.nav-collapsed-min #nav-wrapper {
    overflow: visible !important; }
  .app.nav-collapsed-min #nav {
    overflow: visible !important; }
    .app.nav-collapsed-min #nav > li.li-small > a > i {
      font-size: 12px; }
    .app.nav-collapsed-min #nav > li > a {
      padding: 15px 15px;
      text-align: center; }
      .app.nav-collapsed-min #nav > li > a > i {
        margin: 0;
        font-size: 22px; }
      .app.nav-collapsed-min #nav > li > a > span {
        display: none; }
    .app.nav-collapsed-min #nav > li .icon-has-ul {
      display: none; }
    .app.nav-collapsed-min #nav > li > ul {
      z-index: 9;
      position: absolute;
      left: 100%;
      top: 0;
      width: 220px;
      border-bottom-right-radius: 2px;
      border-top-right-radius: 2px;
      box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2); }
    .app.nav-collapsed-min #nav > li:hover > ul, .app.nav-collapsed-min #nav > li.open > ul {
      display: block !important; }
  .app.nav-collapsed-min .nav-title {
    display: none; }
  .app.nav-collapsed-min .nav-horizontal#nav-container {
    width: auto; }
  .app.nav-collapsed-min .nav-horizontal + .content-container {
    margin: 0; }
  .app.nav-collapsed-min .nav-horizontal.nav-fixed + .content-container {
    margin: 50px 0 0; }
  .app.nav-collapsed-min .nav-horizontal #nav > li > .icon-has-ul-h {
    display: none; }
  .app.nav-collapsed-min .nav-horizontal #nav > li > ul {
    left: 0;
    top: 100%; } }

.nav-container:before {
  content: '';
  height: 100%;
  position: absolute;
  right: 0;
  width: 2px;
  z-index: 2; }

.nav-container.bg-white:before {
  box-shadow: inset -1px 0 1px rgba(255, 255, 255, 0.3); }

.nav-container.bg-white .nav a {
  color: #3D4051; }

.nav-container.bg-white .nav .nav-title {
  color: #999; }

.nav-container.bg-white .nav .nav-divider {
  border-color: #eeeeee; }

.nav-container.bg-white .nav > li:hover > a {
  background-color: transparent;
  color: #009688; }
  .nav-container.bg-white .nav > li:hover > a > .icon-has-ul {
    color: #009688; }

.nav-container.bg-white .nav > li:hover > .icon-has-ul-h {
  color: #009688; }

.nav-container.bg-white .nav > li.active > a {
  color: #009688; }
  .nav-container.bg-white .nav > li.active > a > .icon-has-ul {
    color: #009688; }

.nav-container.bg-white .nav > li > a:focus {
  background-color: transparent; }

.nav-container.bg-white .nav ul {
  background-color: #f6f6f6; }
  .nav-container.bg-white .nav ul > li:hover > a, .nav-container.bg-white .nav ul > li.active > a {
    color: #009688; }

.nav-container.bg-white.nav-vertical .nav > li.open > a {
  background-color: #f6f6f6;
  color: #009688; }

.nav-container.bg-white.nav-vertical .nav > li.open > .icon-has-ul,
.nav-container.bg-white.nav-vertical .nav > li.open > .icon-has-ul-h {
  color: #009688; }

.nav-container.bg-dark {
  background-color: #262B33; }
  .nav-container.bg-dark:before {
    box-shadow: inset -1px 0 1px rgba(0, 0, 0, 0.3); }
  .nav-container.bg-dark .nav a {
    color: #ccc;
    color: rgba(255, 255, 255, 0.5); }
  .nav-container.bg-dark .nav .nav-title {
    color: #666; }
  .nav-container.bg-dark .nav .nav-divider {
    border-color: #1b1f24; }
  .nav-container.bg-dark .nav > li:hover > a {
    background-color: transparent;
    color: rgba(255, 255, 255, 0.8); }
    .nav-container.bg-dark .nav > li:hover > a > .icon-has-ul {
      color: rgba(255, 255, 255, 0.8); }
  .nav-container.bg-dark .nav > li:hover > .icon-has-ul-h {
    color: rgba(255, 255, 255, 0.8); }
  .nav-container.bg-dark .nav > li.active > a {
    color: rgba(255, 255, 255, 0.8); }
  .nav-container.bg-dark .nav > li.active > .icon-has-ul {
    color: rgba(255, 255, 255, 0.8); }
  .nav-container.bg-dark .nav > li > a:focus {
    background-color: transparent; }
  .nav-container.bg-dark .nav ul {
    background-color: #1f242a; }
    .nav-container.bg-dark .nav ul > li:hover > a, .nav-container.bg-dark .nav ul > li.active > a {
      color: rgba(255, 255, 255, 0.8); }
  .nav-container.bg-dark.nav-vertical .nav > li.open > a {
    background-color: #1f242a;
    color: rgba(255, 255, 255, 0.8); }
    .nav-container.bg-dark.nav-vertical .nav > li.open > a > .icon-has-ul {
      color: rgba(255, 255, 255, 0.8); }
  .nav-container.bg-dark.nav-vertical .nav > li.open > .icon-has-ul-h {
    color: rgba(255, 255, 255, 0.8); }

@media (min-width: 768px) {
  .app.nav-collapsed-min .nav-container.bg-white .nav > li:hover a {
    background-color: #f6f6f6; }
  .app.nav-collapsed-min .nav-container.bg-dark .nav > li:hover a {
    background-color: #1f242a; } }

@media (max-width: 767px) {
  .nav-horizontal .nav > li.open > a {
    color: #009688; }
  .nav-horizontal .nav > li.open > i {
    color: #009688; } }

@media (min-width: 768px) {
  .app.nav-collapsed-min .top-header .logo {
    width: 60px; } }

.app.nav-collapsed-min .top-header .logo .logo-text {
  display: none; }

.app.nav-collapsed-min .top-header .top-nav {
  padding: 0 0 0 60px; }

.header-container .md-button {
  min-width: 66px; }

.header-container > .top-header a {
  color: #aaa; }
  .header-container > .top-header a:hover {
    text-decoration: none; }

.header-container > .top-header .dropdown-menu a {
  color: #3D4051; }

.header-container > .top-header .hidden-mobile {
  display: none; }
  @media (min-width: 480px) {
    .header-container > .top-header .hidden-mobile {
      display: inline; } }

.header-container > .top-header .logo {
  position: absolute;
  width: 100%;
  height: 64px;
  line-height: 64px;
  text-align: center;
  -webkit-transition: width .25s ease-in-out;
  transition: width .25s ease-in-out; }
  @media (min-width: 768px) {
    .header-container > .top-header .logo {
      display: inline-block;
      width: 220px;
      border-right: 1px solid rgba(255, 255, 255, 0.06); } }
  .header-container > .top-header .logo .logo-icon {
    font-size: 20px; }
  .header-container > .top-header .logo > a {
    font-size: 24px;
    vertical-align: middle;
    white-space: nowrap; }

.header-container > .top-header .menu-button {
  display: block;
  position: absolute;
  top: 15px;
  right: 20px;
  width: 46px;
  padding: 10px 12px;
  border-radius: 4px; }
  .header-container > .top-header .menu-button:hover {
    cursor: pointer;
    background-color: #00635a; }
  .header-container > .top-header .menu-button .icon-bar {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 1px;
    background-color: #fff; }
  .header-container > .top-header .menu-button .icon-bar + .icon-bar {
    margin-top: 4px; }
  @media (min-width: 768px) {
    .header-container > .top-header .menu-button {
      display: none; } }

.header-container > .top-header .admin-options {
  z-index: 20;
  line-height: 20px; }

.header-container > .top-header .skin-options .panel-body {
  min-width: 330px;
  background-color: #f9f9f9; }

.header-container > .top-header .dropdown-menu.panel {
  padding: 0;
  white-space: nowrap; }
  .header-container > .top-header .dropdown-menu.panel .panel-heading,
  .header-container > .top-header .dropdown-menu.panel .panel-footer {
    padding: 10px 15px; }
  .header-container > .top-header .dropdown-menu.panel .list-group-item {
    padding: 10px 15px; }
    .header-container > .top-header .dropdown-menu.panel .list-group-item > a {
      display: block; }
    .header-container > .top-header .dropdown-menu.panel .list-group-item > p {
      margin-bottom: 0; }
    .header-container > .top-header .dropdown-menu.panel .list-group-item > .divider {
      background-color: transparent; }
  .header-container > .top-header .dropdown-menu.panel .media .media-body {
    padding-right: 75px; }

.header-container > .top-header .top-nav {
  width: 100%;
  height: 64px;
  padding: 64px 0 0;
  -webkit-transition: padding .25s ease-in-out;
  transition: padding .25s ease-in-out; }
  @media (min-width: 768px) {
    .header-container > .top-header .top-nav {
      padding: 0 0 0 220px; } }
  .header-container > .top-header .top-nav > ul {
    margin-bottom: 0; }
  .header-container > .top-header .top-nav .nav-left,
  .header-container > .top-header .top-nav .nav-right {
    font-size: 16px;
    line-height: 20px; }
    .header-container > .top-header .top-nav .nav-left > li,
    .header-container > .top-header .top-nav .nav-right > li {
      float: left; }
      .header-container > .top-header .top-nav .nav-left > li.nav-profile > a,
      .header-container > .top-header .top-nav .nav-right > li.nav-profile > a {
        padding: 17px 15px; }
      .header-container > .top-header .top-nav .nav-left > li.nav-profile .hidden-xs,
      .header-container > .top-header .top-nav .nav-right > li.nav-profile .hidden-xs {
        padding-right: 8px; }
      .header-container > .top-header .top-nav .nav-left > li.nav-profile i,
      .header-container > .top-header .top-nav .nav-right > li.nav-profile i {
        width: 18px;
        font-size: 18px;
        margin-right: 5px;
        line-height: 20px; }
      .header-container > .top-header .top-nav .nav-left > li > .toggle-min,
      .header-container > .top-header .top-nav .nav-right > li > .toggle-min {
        display: none; }
        @media (min-width: 768px) {
          .header-container > .top-header .top-nav .nav-left > li > .toggle-min,
          .header-container > .top-header .top-nav .nav-right > li > .toggle-min {
            display: block; } }
      .header-container > .top-header .top-nav .nav-left > li a:hover, .header-container > .top-header .top-nav .nav-left > li a:focus,
      .header-container > .top-header .top-nav .nav-right > li a:hover,
      .header-container > .top-header .top-nav .nav-right > li a:focus {
        text-decoration: none; }
      .header-container > .top-header .top-nav .nav-left > li > .btn-group > a,
      .header-container > .top-header .top-nav .nav-left > li > a,
      .header-container > .top-header .top-nav .nav-right > li > .btn-group > a,
      .header-container > .top-header .top-nav .nav-right > li > a {
        position: relative;
        display: block;
        height: 64px;
        padding: 22px 16px; }
        @media (min-width: 768px) {
          .header-container > .top-header .top-nav .nav-left > li > .btn-group > a,
          .header-container > .top-header .top-nav .nav-left > li > a,
          .header-container > .top-header .top-nav .nav-right > li > .btn-group > a,
          .header-container > .top-header .top-nav .nav-right > li > a {
            padding: 22px 20px; } }
        .header-container > .top-header .top-nav .nav-left > li > .btn-group > a > i,
        .header-container > .top-header .top-nav .nav-left > li > a > i,
        .header-container > .top-header .top-nav .nav-right > li > .btn-group > a > i,
        .header-container > .top-header .top-nav .nav-right > li > a > i {
          font-size: 18px; }
        .header-container > .top-header .top-nav .nav-left > li > .btn-group > a .badge,
        .header-container > .top-header .top-nav .nav-left > li > a .badge,
        .header-container > .top-header .top-nav .nav-right > li > .btn-group > a .badge,
        .header-container > .top-header .top-nav .nav-right > li > a .badge {
          position: absolute;
          top: 6px;
          right: 3px; }
          @media (min-width: 768px) {
            .header-container > .top-header .top-nav .nav-left > li > .btn-group > a .badge,
            .header-container > .top-header .top-nav .nav-left > li > a .badge,
            .header-container > .top-header .top-nav .nav-right > li > .btn-group > a .badge,
            .header-container > .top-header .top-nav .nav-right > li > a .badge {
              background-color: transparent;
              color: #aaa; } }
      .header-container > .top-header .top-nav .nav-left > li ul.dropdown-menu a:hover,
      .header-container > .top-header .top-nav .nav-right > li ul.dropdown-menu a:hover {
        background-color: #009688;
        color: #fff; }
      .header-container > .top-header .top-nav .nav-left > li ul.dropdown-menu .glyphicon,
      .header-container > .top-header .top-nav .nav-right > li ul.dropdown-menu .glyphicon {
        margin-right: 10px; }
  .header-container > .top-header .top-nav .search-box {
    max-width: 300px;
    padding: 16px 0; }
    .header-container > .top-header .top-nav .search-box i {
      font-size: 18px;
      line-height: 20px; }
    .header-container > .top-header .top-nav .search-box .input-group-addon {
      padding: 6px 0 6px 12px;
      border: none;
      background-color: transparent; }
    .header-container > .top-header .top-nav .search-box .form-control {
      border: none;
      background: transparent; }
    .header-container > .top-header .top-nav .search-box .input-bar {
      position: absolute;
      display: block;
      width: 90%;
      bottom: 0;
      left: 5%; }
    .header-container > .top-header .top-nav .search-box .input-bar:before,
    .header-container > .top-header .top-nav .search-box .input-bar:after {
      position: absolute;
      content: '';
      height: 1px;
      width: 0;
      bottom: 1px;
      -webkit-transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
      transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1); }
    .header-container > .top-header .top-nav .search-box .input-bar:before {
      left: 50%; }
    .header-container > .top-header .top-nav .search-box .input-bar:after {
      right: 50%; }
    .header-container > .top-header .top-nav .search-box input:focus ~ .input-bar:before,
    .header-container > .top-header .top-nav .search-box input:focus ~ .input-bar:after {
      width: 50%; }
  .header-container > .top-header .top-nav .nav-left {
    float: left;
    padding: 0; }
    .header-container > .top-header .top-nav .nav-left > li {
      border-right: 1px solid rgba(255, 255, 255, 0.06); }
  .header-container > .top-header .top-nav .nav-right {
    padding: 0; }
    .header-container > .top-header .top-nav .nav-right > li > a {
      text-align: center;
      border-left: 1px solid rgba(255, 255, 255, 0.06); }
    .header-container > .top-header .top-nav .nav-right > li:last-child {
      border-right: 1px solid rgba(255, 255, 255, 0.06); }
      .header-container > .top-header .top-nav .nav-right > li:last-child .dropdown-menu.pull-right {
        right: 10px; }

.header-container > .top-header .langs .active-flag .flag {
  margin-top: -5px; }

.header-container > .top-header .langs .list-langs a {
  position: relative;
  padding: 8px 20px 8px 57px; }
  .header-container > .top-header .langs .list-langs a .flag {
    position: absolute;
    top: 2px;
    left: 15px; }

.skin-check {
  position: relative;
  display: block; }
  .skin-check input[type="radio"] {
    display: none; }
  .skin-check input[type="radio"] + span:hover {
    cursor: pointer; }
  .skin-check input[type="radio"] + span {
    position: relative; }
    .skin-check input[type="radio"] + span > .overlay {
      display: none;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.3);
      text-align: center;
      line-height: 30px;
      color: #fff; }
  .skin-check input[type="radio"]:checked + span > .overlay {
    display: block; }

.skin-item {
  overflow: hidden;
  display: block;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.1);
  margin-bottom: 15px; }
  .skin-item > span {
    display: block;
    float: left;
    width: 50%;
    height: 20px; }
  .skin-item .item-header {
    height: 10px; }

.header-container .dropdown {
  color: #3D4051; }
  .header-container .dropdown a {
    color: #3D4051; }
    .header-container .dropdown a:hover {
      color: #3D4051; }

.header-container.bg-white {
  color: #3D4051; }
  .header-container.bg-white .input-group-addon,
  .header-container.bg-white a {
    color: #3D4051; }
    .header-container.bg-white .input-group-addon:hover,
    .header-container.bg-white a:hover {
      color: #3D4051; }
  .header-container.bg-white .search-box .input-bar:before,
  .header-container.bg-white .search-box .input-bar:after {
    background: #3D4051; }

.header-container.bg-dark {
  color: #fafafa; }
  .header-container.bg-dark .input-group-addon,
  .header-container.bg-dark a {
    color: #fafafa; }
    .header-container.bg-dark .input-group-addon:hover,
    .header-container.bg-dark a:hover {
      color: #fafafa; }
  .header-container.bg-dark .search-box .form-control {
    color: #fafafa; }
  .header-container.bg-dark .search-box .input-bar:before,
  .header-container.bg-dark .search-box .input-bar:after {
    background: #fafafa; }

.header-container.bg-primary, .header-container.bg-success, .header-container.bg-info, .header-container.bg-info-alt, .header-container.bg-warning, .header-container.bg-danger {
  color: #fafafa; }
  .header-container.bg-primary a, .header-container.bg-success a, .header-container.bg-info a, .header-container.bg-info-alt a, .header-container.bg-warning a, .header-container.bg-danger a {
    color: #fafafa; }
    .header-container.bg-primary a:hover, .header-container.bg-success a:hover, .header-container.bg-info a:hover, .header-container.bg-info-alt a:hover, .header-container.bg-warning a:hover, .header-container.bg-danger a:hover {
      color: #fafafa; }
  .header-container.bg-primary .dropdown-menu, .header-container.bg-success .dropdown-menu, .header-container.bg-info .dropdown-menu, .header-container.bg-info-alt .dropdown-menu, .header-container.bg-warning .dropdown-menu, .header-container.bg-danger .dropdown-menu {
    color: #3D4051; }
    .header-container.bg-primary .dropdown-menu a, .header-container.bg-success .dropdown-menu a, .header-container.bg-info .dropdown-menu a, .header-container.bg-info-alt .dropdown-menu a, .header-container.bg-warning .dropdown-menu a, .header-container.bg-danger .dropdown-menu a {
      color: #3D4051; }
      .header-container.bg-primary .dropdown-menu a:hover, .header-container.bg-success .dropdown-menu a:hover, .header-container.bg-info .dropdown-menu a:hover, .header-container.bg-info-alt .dropdown-menu a:hover, .header-container.bg-warning .dropdown-menu a:hover, .header-container.bg-danger .dropdown-menu a:hover {
        color: #3D4051; }
  .header-container.bg-primary .input-group-addon, .header-container.bg-success .input-group-addon, .header-container.bg-info .input-group-addon, .header-container.bg-info-alt .input-group-addon, .header-container.bg-warning .input-group-addon, .header-container.bg-danger .input-group-addon {
    color: #eeeeee; }
  .header-container.bg-primary ::-webkit-input-placeholder, .header-container.bg-success ::-webkit-input-placeholder, .header-container.bg-info ::-webkit-input-placeholder, .header-container.bg-info-alt ::-webkit-input-placeholder, .header-container.bg-warning ::-webkit-input-placeholder, .header-container.bg-danger ::-webkit-input-placeholder {
    color: #eaeaea; }
  .header-container.bg-primary :-moz-placeholder, .header-container.bg-success :-moz-placeholder, .header-container.bg-info :-moz-placeholder, .header-container.bg-info-alt :-moz-placeholder, .header-container.bg-warning :-moz-placeholder, .header-container.bg-danger :-moz-placeholder {
    color: #eaeaea; }
  .header-container.bg-primary ::-moz-placeholder, .header-container.bg-success ::-moz-placeholder, .header-container.bg-info ::-moz-placeholder, .header-container.bg-info-alt ::-moz-placeholder, .header-container.bg-warning ::-moz-placeholder, .header-container.bg-danger ::-moz-placeholder {
    color: #eaeaea; }
  .header-container.bg-primary :-ms-input-placeholder, .header-container.bg-success :-ms-input-placeholder, .header-container.bg-info :-ms-input-placeholder, .header-container.bg-info-alt :-ms-input-placeholder, .header-container.bg-warning :-ms-input-placeholder, .header-container.bg-danger :-ms-input-placeholder {
    color: #eaeaea; }
  .header-container.bg-primary .top-nav .nav-left > li > a .badge, .header-container.bg-success .top-nav .nav-left > li > a .badge, .header-container.bg-info .top-nav .nav-left > li > a .badge, .header-container.bg-info-alt .top-nav .nav-left > li > a .badge, .header-container.bg-warning .top-nav .nav-left > li > a .badge, .header-container.bg-danger .top-nav .nav-left > li > a .badge {
    color: #eaeaea; }
  .header-container.bg-primary .search-box .form-control, .header-container.bg-success .search-box .form-control, .header-container.bg-info .search-box .form-control, .header-container.bg-info-alt .search-box .form-control, .header-container.bg-warning .search-box .form-control, .header-container.bg-danger .search-box .form-control {
    color: #fafafa; }
  .header-container.bg-primary .search-box .input-bar:before,
  .header-container.bg-primary .search-box .input-bar:after, .header-container.bg-success .search-box .input-bar:before,
  .header-container.bg-success .search-box .input-bar:after, .header-container.bg-info .search-box .input-bar:before,
  .header-container.bg-info .search-box .input-bar:after, .header-container.bg-info-alt .search-box .input-bar:before,
  .header-container.bg-info-alt .search-box .input-bar:after, .header-container.bg-warning .search-box .input-bar:before,
  .header-container.bg-warning .search-box .input-bar:after, .header-container.bg-danger .search-box .input-bar:before,
  .header-container.bg-danger .search-box .input-bar:after {
    background: #fafafa; }

.header-container > .top-header .logo {
  border: 1px solid rgba(0, 0, 0, 0.1); }
  @media (min-width: 768px) {
    .header-container > .top-header .logo {
      border: 0; } }
  .header-container > .top-header .logo.bg-white {
    color: #262B33; }
    .header-container > .top-header .logo.bg-white a {
      color: #262B33; }
      .header-container > .top-header .logo.bg-white a:hover {
        color: #262B33; }
    .header-container > .top-header .logo.bg-white + .menu-button .icon-bar {
      background-color: #3D4051; }
    .header-container > .top-header .logo.bg-white + .menu-button:hover .icon-bar {
      background-color: #ffffff; }
  .header-container > .top-header .logo.bg-dark, .header-container > .top-header .logo.bg-primary, .header-container > .top-header .logo.bg-success, .header-container > .top-header .logo.bg-info, .header-container > .top-header .logo.bg-info-alt, .header-container > .top-header .logo.bg-warning, .header-container > .top-header .logo.bg-danger {
    color: #fafafa; }
    .header-container > .top-header .logo.bg-dark a, .header-container > .top-header .logo.bg-primary a, .header-container > .top-header .logo.bg-success a, .header-container > .top-header .logo.bg-info a, .header-container > .top-header .logo.bg-info-alt a, .header-container > .top-header .logo.bg-warning a, .header-container > .top-header .logo.bg-danger a {
      color: #fafafa; }
      .header-container > .top-header .logo.bg-dark a:hover, .header-container > .top-header .logo.bg-primary a:hover, .header-container > .top-header .logo.bg-success a:hover, .header-container > .top-header .logo.bg-info a:hover, .header-container > .top-header .logo.bg-info-alt a:hover, .header-container > .top-header .logo.bg-warning a:hover, .header-container > .top-header .logo.bg-danger a:hover {
        color: #fafafa; }

.preloaderbar {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  margin-bottom: -4px; }
  .preloaderbar .bar {
    position: absolute;
    width: 100%;
    height: 0;
    text-indent: -9999px;
    background-color: #23b7e5; }
    .preloaderbar .bar:before {
      position: absolute;
      right: 50%;
      left: 50%;
      height: 4px;
      background-color: inherit;
      content: ""; }
  .preloaderbar.active {
    -webkit-animation: changebar 2.25s infinite 0.75s;
            animation: changebar 2.25s infinite 0.75s; }
  .preloaderbar.active .bar {
    -webkit-animation: changebar 2.25s infinite;
            animation: changebar 2.25s infinite; }
  .preloaderbar.active .bar:before {
    -webkit-animation: movingbar 0.75s infinite;
            animation: movingbar 0.75s infinite; }

@-webkit-keyframes movingbar {
  0% {
    right: 50%;
    left: 50%; }
  99.9% {
    right: 0;
    left: 0; }
  100% {
    right: 50%;
    left: 50%; } }

@keyframes movingbar {
  0% {
    right: 50%;
    left: 50%; }
  99.9% {
    right: 0;
    left: 0; }
  100% {
    right: 50%;
    left: 50%; } }

@-webkit-keyframes changebar {
  0% {
    background-color: #8BC34A; }
  33.3% {
    background-color: #8BC34A; }
  33.33% {
    background-color: #FFCA28; }
  66.6% {
    background-color: #FFCA28; }
  66.66% {
    background-color: #F44336; }
  99.9% {
    background-color: #F44336; } }

@keyframes changebar {
  0% {
    background-color: #8BC34A; }
  33.3% {
    background-color: #8BC34A; }
  33.33% {
    background-color: #FFCA28; }
  66.6% {
    background-color: #FFCA28; }
  66.66% {
    background-color: #F44336; }
  99.9% {
    background-color: #F44336; } }

body {
  background: #efefef; }

.body-auth.app > .main-container:before,
.body-err.app > .main-container:before {
  background: none; }

@media (min-width: 768px) {
  .body-auth .page-signin,
  .body-auth .page-signup,
  .body-auth .page-forgot,
  .body-auth .page-err,
  .body-err .page-signin,
  .body-err .page-signup,
  .body-err .page-forgot,
  .body-err .page-err {
    margin-right: 220px; } }

@media (min-width: 768px) {
  .body-auth.nav-collapsed-min .page-signin,
  .body-auth.nav-collapsed-min .page-signup,
  .body-auth.nav-collapsed-min .page-forgot,
  .body-auth.nav-collapsed-min .page-err,
  .body-err.nav-collapsed-min .page-signin,
  .body-err.nav-collapsed-min .page-signup,
  .body-err.nav-collapsed-min .page-forgot,
  .body-err.nav-collapsed-min .page-err {
    margin-right: 60px; } }

@media (min-width: 768px) {
  .body-auth .nav-horizontal + .content-container .page-signin,
  .body-auth .nav-horizontal + .content-container .page-signup,
  .body-auth .nav-horizontal + .content-container .page-forgot,
  .body-auth .nav-horizontal + .content-container .page-err,
  .body-err .nav-horizontal + .content-container .page-signin,
  .body-err .nav-horizontal + .content-container .page-signup,
  .body-err .nav-horizontal + .content-container .page-forgot,
  .body-err .nav-horizontal + .content-container .page-err {
    margin-right: 0; } }

.body-wide #header,
.body-wide #nav-container {
  display: none; }

.body-wide > .main-container {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0; }

.body-wide #content {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding-bottom: 0; }

.body-wide.on-canvas .main-container #content {
  margin-left: 0;
  margin-right: 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdsb2JhbC9fdmFyLWV4dHJhLnNjc3MiLCJnbG9iYWwvX3NoYXJlZC5zY3NzIiwicGx1Z2lucy9fYW5ndWxhci1ib290c3RyYXAuc2NzcyIsImdsb2JhbC9fdmFyLnNjc3MiLCJwbHVnaW5zL19hbmd1bGFyLW1hdGVyaWFsLnNjc3MiLCJwbHVnaW5zL19hbmd1bGFyLXVpLXRyZWUuc2NzcyIsInBsdWdpbnMvX2pxdWVyeS1zdGVwcy5zY3NzIiwicGx1Z2lucy9fYW5ndWxhci13aXphcmQuc2NzcyIsInBhZ2VzL19kYXNoYm9hcmQuc2NzcyIsInBhZ2VzL19wYWdlcy5zY3NzIiwicGFnZXMvX2Vycm9yLnNjc3MiLCJwYWdlcy9fYXV0aC5zY3NzIiwicGFnZXMvX3Byb2ZpbGUuc2NzcyIsInBhZ2VzL19pbnZvaWNlLnNjc3MiLCJwYWdlcy9fdWkuc2NzcyIsInBhZ2VzL19mZWF0dXJlcy5zY3NzIiwicGFnZXMvX2RlbW8uc2NzcyIsInBhZ2VzL19kZW1vLW1hdGVyaWFsLnNjc3MiLCJsYXlvdXQvX2xheW91dHMuc2NzcyIsImdsb2JhbC9fdmFyLXBhZ2VzLnNjc3MiLCJsYXlvdXQvX25hdi5zY3NzIiwibGF5b3V0L19uYXYtb2ZmLWNhbnZhcy5zY3NzIiwibGF5b3V0L19uYXYtaG9yaXpvbnRhbC5zY3NzIiwiYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsImxheW91dC9fbmF2LW1pbi5zY3NzIiwibGF5b3V0L19uYXYtY29sb3Iuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX2JvZHkuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQkE7OztFQUNJLDhFQUE4RCxFQUNqRTs7QUFDRDtFQUNJLCtFQUErRCxFQUNsRTs7QUFDRDs7O0VBQ0ksOEVBQThELEVBQ2pFOztBQUNEO0VBQ0ksaUZBQWlFLEVBQ3BFOztBQUNEO0VBQ0ksaUZBQWlFLEVBQ3BFOztBQUNEO0VBQ0ksZ0ZBQWdFLEVBQ25F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QixFQUNuQiIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxuJGltYWdlX3BhdGg6ICAgICAgICAgICAgXCIuLi9pbWFnZXNcIiAhZGVmYXVsdDtcblxuLy89PSBUeXBvZ3JhcGh5XG4kZm9udC13ZWlnaHQtdGhpbjogICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktY29uZGVuc2VkOiBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuXG4vLyBDYXJkcyBcbiRjYXJkLXBhZGRpbmc6ICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1jYXJkOiAgICAycHggIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBWYXJpYWJsZXNcbiRlbGVtZW50LXRvcC1tYXJnaW46ICAgICAgICAoJGdyaWQtZ3V0dGVyLXdpZHRoLzMpICFkZWZhdWx0O1xuJGVsZW1lbnQtYm90dG9tLW1hcmdpbjogICAgICgkZ3JpZC1ndXR0ZXItd2lkdGgqMikvMyAhZGVmYXVsdDtcblxuLy8gQW5pbWF0aW9uXG4kbWF0ZXJpYWxfYW5pbWF0aW9uOiAgICAgICAgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7XG5cblxuLy8gYm94IHNoYWRvd1xuLnotZGVwdGgtMSB7XG4gICAgYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG4uei1kZXB0aC0xLWhhbGYge1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDExcHggMCByZ2JhKDAsIDAsIDAsIDAuMTgpLCAwIDRweCAxNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cbi56LWRlcHRoLTIge1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDE3cHggMCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgNnB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTkpO1xufVxuLnotZGVwdGgtMyB7XG4gICAgYm94LXNoYWRvdzogMCAxMnB4IDE1cHggMCByZ2JhKDAsIDAsIDAsIDAuMjQpLCAwIDE3cHggNTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xOSk7XG59XG4uei1kZXB0aC00IHtcbiAgICBib3gtc2hhZG93OiAwIDE2cHggMjhweCAwIHJnYmEoMCwgMCwgMCwgMC4yMiksIDAgMjVweCA1NXB4IDAgcmdiYSgwLCAwLCAwLCAwLjIxKTtcbn1cbi56LWRlcHRoLTUge1xuICAgIGJveC1zaGFkb3c6IDAgMjdweCAyNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDQwcHggNzdweCAwIHJnYmEoMCwgMCwgMCwgMC4yMik7XG59IiwiQG1lZGlhIHByaW50IHtcbiAgIC5uby1wcmludHtcbiAgICAgICAgZGlzcGxheTpub25lO1xuICAgIH1cbn1cblxuIiwiLy8gZGVwZW5kZW5jeTogaHR0cDovL2FuZ3VsYXItdWkuZ2l0aHViLmlvL2Jvb3RzdHJhcC8gXG5cblxuLy8gXG4uYnRuLWZsYXQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gR2V0cyByaWQgb2YgdGFwIGFjdGl2ZSBzdGF0ZVxuICAgIHRyYW5zaXRpb246IC4yNXMgZWFzZS1vdXQ7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyaWdodDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYnJpZ2h0O1xuICAgIH1cbiAgICAmLmJ0bi1wcmltYXJ5IHtcbiAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgIH1cbiAgICAmLmJ0bi1pbmZvIHtcbiAgICAgICAgY29sb3I6ICRicmFuZC1pbmZvO1xuICAgIH1cbiAgICAmLmJ0bi13YXJuaW5nIHtcbiAgICAgICAgY29sb3I6ICRicmFuZC13YXJuaW5nO1xuICAgIH1cbiAgICAmLmJ0bi1kYW5nZXIge1xuICAgICAgICBjb2xvcjogJGJyYW5kLWRhbmdlcjtcbiAgICB9XG59XG5cblxuXG5cbi8vIFJlcGxhY2UgZ2x5cGhpY29uIHdpdGggZm9udC1hd2Vzb21lXG4vLyBzZWFyY2ggYm93ZXJfY29tcG9uZW50cy9hbmd1bGFyLWJvb3RzdHJhcC91aS1ib290c3RyYXAtdHBscy5qc1xuLnVpLWRhdGVwaWNrZXIsXG4udWktdGltZXBpY2tlciB7XG4gICAgLmdseXBoaWNvbiB7XG4gICAgICAgIC8vIC5mYSB2NC41LnhcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7IC8vIHNob3J0ZW5pbmcgZm9udCBkZWNsYXJhdGlvblxuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7IC8vIGNhbid0IGhhdmUgZm9udC1zaXplIGluaGVyaXQgb24gbGluZSBhYm92ZSwgc28gbmVlZCB0byBvdmVycmlkZVxuICAgICAgICB0ZXh0LXJlbmRlcmluZzogYXV0bzsgLy8gb3B0aW1pemVsZWdpYmlsaXR5IHRocm93cyB0aGluZ3Mgb2ZmICMxMDk0XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAgICAgICAgXG4gICAgfVxufVxuLnVpLWRhdGVwaWNrZXIge1xuICAgIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tbGVmdCB7XG4gICAgICAgIC8vIC5mYSAuZmEtYW5nbGUtbGVmdFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNFwiO1xuICAgICAgICB9ICAgXG4gICAgfVxuICAgIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQge1xuICAgICAgICAvLyAuZmEgLmZhLWFuZ2xlLXJpZ2h0XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG4gICAgICAgIH1cbiAgICB9XG59XG4udWktdGltZXBpY2tlciB7XG4gICAgLmdseXBoaWNvbi5nbHlwaGljb24tY2hldnJvbi11cCB7XG4gICAgICAgIC8vIC5mYSAuZmEtYW5nbGUtdXBcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYxMDZcIjtcbiAgICAgICAgfSAgICBcbiAgICB9XG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLWRvd24ge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAvLyAuZmEtYW5nbGUtZG93blxuICAgICAgICAgICAgY29udGVudDogXCJcXGYxMDdcIjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cblxuLy8gRGF0ZXBpY2tlclxuLnVpLWRhdGVwaWNrZXIge1xuICAgIHRhYmxlIHtcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgdGgsXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFweDtcblxuICAgICAgICAgICAgLmFjdGl2ZSBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHJldmVyc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ0bi1ncm91cCAuYnRuLFxuICAgIGxpID4gLmJ0biB7XG4gICAgICAgIEBleHRlbmQgLmJ0bi1mbGF0O1xuICAgIH1cbn1cblxuXG4vLyBUaW1lcGlja2VyLCB0aGUgY2xhc3MgaXMgYWRkZWQgYnkgYW5ndWxhci1ib290c3RyYXBcbi51aS10aW1lcGlja2VyIHtcbiAgICB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDFweDtcbiAgICB9XG4gICAgYS5idG4tbGluayB7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICB9XG4gICAgLmJ0biB7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cblxuLy8gVHlwZWFoZWFkXG4udWktdHlwZWFoZWFkIHtcbiAgICA+IC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGgvMik7XG4gICAgfVxufVxuXG5cbi8vIFJhdGluZ1xuLnVpLXJhdGluZyB7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgLmdseXBoaWNvblxuICAgIC5mYSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgIH1cblxuICAgIC8vIHdoZW4gYWN0aXZlXG4gICAgLmdseXBoaWNvbi1zdGFyLFxuICAgIC5mYS1zdGFyIHtcbiAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgIH1cbiAgICAmLnVpLXJhdGluZy1zdWNjZXNzIHtcbiAgICAgICAgLmdseXBoaWNvbi1zdGFyLFxuICAgICAgICAuZmEtc3RhciB7XG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kLXN1Y2Nlc3M7XG4gICAgICAgIH0gICAgICAgIFxuICAgIH1cbiAgICAmLnVpLXJhdGluZy1pbmZvIHtcbiAgICAgICAgLmdseXBoaWNvbi1zdGFyLFxuICAgICAgICAuZmEtc3RhciB7XG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kLWluZm87XG4gICAgICAgIH0gICAgICAgIFxuICAgIH1cbiAgICAmLnVpLXJhdGluZy13YXJuaW5nIHtcbiAgICAgICAgLmdseXBoaWNvbi1zdGFyLFxuICAgICAgICAuZmEtc3RhciB7XG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kLXdhcm5pbmc7XG4gICAgICAgIH0gICAgICAgIFxuICAgIH1cbiAgICAmLnVpLXJhdGluZy1kYW5nZXIge1xuICAgICAgICAuZ2x5cGhpY29uLXN0YXIsXG4gICAgICAgIC5mYS1zdGFyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtZGFuZ2VyO1xuICAgICAgICB9ICAgICAgICBcbiAgICB9XG59XG5cbiIsIi8vIFdoZW4gdHJ1ZSwgYXNzZXQgcGF0aCBoZWxwZXJzIGFyZSB1c2VkLCBvdGhlcndpc2UgdGhlIHJlZ3VsYXIgQ1NTIGB1cmwoKWAgaXMgdXNlZC5cbi8vIFdoZW4gdGhlcmUgbm8gZnVuY3Rpb24gaXMgZGVmaW5lZCwgYGZuKCcnKWAgaXMgcGFyc2VkIGFzIHN0cmluZyB0aGF0IGVxdWFscyB0aGUgcmlnaHQgaGFuZCBzaWRlXG4vLyBOQjogaW4gU2FzcyAzLjMgdGhlcmUgaXMgYSBuYXRpdmUgZnVuY3Rpb246IGZ1bmN0aW9uLWV4aXN0cyh0d2JzLWZvbnQtcGF0aClcbiRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXI6ICh0d2JzLWZvbnQtcGF0aChcIlwiKSAhPSB1bnF1b3RlKCd0d2JzLWZvbnQtcGF0aChcIlwiKScpKSAhZGVmYXVsdDtcbi8vXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy89PSBDb2xvcnNcbi8vXG4vLyMjIEdyYXkgYW5kIGJyYW5kIGNvbG9ycyBmb3IgdXNlIGFjcm9zcyBCb290c3RyYXAuXG4kZ3JheS1iYXNlOiAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRncmF5LWRhcmtlcjogICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDEzLjUlKSAhZGVmYXVsdDsgLy8gIzIyMlxuJGdyYXktZGFyazogICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMjAlKSAhZGVmYXVsdDsgICAvLyAjMzMzXG4kZ3JheTogICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAzMy41JSkgIWRlZmF1bHQ7IC8vICM1NTVcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDQ2LjclKSAhZGVmYXVsdDsgLy8gIzc3N1xuJGdyYXktbGlnaHRlcjogICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgOTMuNSUpICFkZWZhdWx0OyAvLyAjZWVlXG5cbiRicmFuZC1wcmltYXJ5OiAgICAgICAgICMwMDk2ODggIWRlZmF1bHQ7IC8vIFRlYWwgNTAwXG4kYnJhbmQtc3VjY2VzczogICAgICAgICAjOEJDMzRBICFkZWZhdWx0OyAvLyBMaWdodCBHcmVlbiA1MDBcbiRicmFuZC1pbmZvOiAgICAgICAgICAgICMwMEJDRDQgIWRlZmF1bHQ7IC8vIEN5YW4gNTAwXG4kYnJhbmQtaW5mby1hbHQ6ICAgICAgICAjN0U1N0MyICFkZWZhdWx0OyAvLyBEZWVwIFB1cnBsZSA0MDBcbiRicmFuZC13YXJuaW5nOiAgICAgICAgICNGRkNBMjggIWRlZmF1bHQ7IC8vIEFtYmVyIDQwMFxuJGJyYW5kLWRhbmdlcjogICAgICAgICAgI0Y0NDMzNiAhZGVmYXVsdDsgLy8gUmVkIDUwMFxuXG4kc2tpbjogICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeTtcbiRza2luLWxpZ2h0OiAgICAgICAgICAgICM1QzZCQzA7XG4kc2tpbi1hY2NlbnQ6ICAgICAgICAgICAkYnJhbmQtc3VjY2VzcztcbiRza2luLXdhcm46ICAgICAgICAgICAgICRicmFuZC1kYW5nZXI7XG4kc2tpbi1ncmF5LWRhcms6ICAgICAgICAjQTVBRUIxO1xuJHNraW4tZ3JheTogICAgICAgICAgICAgI0VERjBGMTtcblxuJGRhcms6ICAgICAgICAgICAgICAgICAgIzI2MkIzMztcbiRkYXJrLWxpZ2h0OiAgICAgICAgICAgICMzRDQwNTE7XG4kZGFyay1saWdodGVyOiAgICAgICAgICAjQTBBMkFBOyBcbiRicmlnaHQ6ICAgICAgICAgICAgICAgICNmYWZhZmE7IFxuJHJldmVyc2U6ICAgICAgICAgICAgICAgI2ZmZmZmZjtcblxuJHN0YXRlLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAjRjJGN0Y3OyAvLyBhbHNvOiBmbGF0IGJ1dHRvbiBiZywgcGFnaW5hdGlvbiBiZ1xuJHN0YXRlLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtZGVmYXVsdC1iZywgLTEwKSwgNSUpOyBcbiRzdGF0ZS1kZWZhdWx0LWJvcmRlci1saWdodDogICAgI2YzZjNmMzsgXG5cblxuLy89PSBTY2FmZm9sZGluZ1xuLy9cbi8vIyMgU2V0dGluZ3MgZm9yIHNvbWUgb2YgdGhlIG1vc3QgZ2xvYmFsIHN0eWxlcy5cblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGJvZHk+YC5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICNmM2YzZjMgIWRlZmF1bHQ7XG4vLyoqIEdsb2JhbCB0ZXh0IGNvbG9yIG9uIGA8Ym9keT5gLlxuJHRleHQtY29sb3I6ICAgICAgICAgICAgJGRhcmstbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogR2xvYmFsIHRleHR1YWwgbGluayBjb2xvci5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBMaW5rIGhvdmVyIGNvbG9yIHNldCB2aWEgYGRhcmtlbigpYCBmdW5jdGlvbi5cbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbi8vKiogTGluayBob3ZlciBkZWNvcmF0aW9uLlxuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuXG5cbi8vPT0gVHlwb2dyYXBoeVxuLy9cbi8vIyMgRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1zZXJpZjogICAgICAgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmICFkZWZhdWx0O1xuLy8qKiBEZWZhdWx0IG1vbm9zcGFjZSBmb250cyBmb3IgYDxjb2RlPmAsIGA8a2JkPmAsIGFuZCBgPHByZT5gLlxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgIDE0cHggIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxhcmdlOiAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuMjUpKSAhZGVmYXVsdDsgLy8gfjE4cHhcbiRmb250LXNpemUtc21hbGw6ICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkpICFkZWZhdWx0OyAvLyB+MTJweFxuXG4kZm9udC1zaXplLWgxOiAgICAgICAgICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAyLjYpKSAhZGVmYXVsdDsgLy8gfjM2cHhcbiRmb250LXNpemUtaDI6ICAgICAgICAgICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDIuMTUpKSAhZGVmYXVsdDsgLy8gfjMwcHhcbiRmb250LXNpemUtaDM6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS43KSkgIWRlZmF1bHQ7IC8vIH4yNHB4XG4kZm9udC1zaXplLWg0OiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuMjUpKSAhZGVmYXVsdDsgLy8gfjE4cHhcbiRmb250LXNpemUtaDU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oNjogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAwLjg1KSkgIWRlZmF1bHQ7IC8vIH4xMnB4XG5cbi8vKiogVW5pdC1sZXNzIGBsaW5lLWhlaWdodGAgZm9yIHVzZSBpbiBjb21wb25lbnRzIGxpa2UgYnV0dG9ucy5cbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgMS40Mjg1NzE0MjkgIWRlZmF1bHQ7IC8vIDIwLzE0XG4vLyoqIENvbXB1dGVkIFwibGluZS1oZWlnaHRcIiAoYGZvbnQtc2l6ZWAgKiBgbGluZS1oZWlnaHRgKSBmb3IgdXNlIHdpdGggYG1hcmdpbmAsIGBwYWRkaW5nYCwgZXRjLlxuJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAgICAyMHB4ICFkZWZhdWx0OyAvLyB+MjBweFxuXG4vLyoqIEJ5IGRlZmF1bHQsIHRoaXMgaW5oZXJpdHMgZnJvbSB0aGUgYDxib2R5PmAuXG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuXG5cbi8vPT0gSWNvbm9ncmFwaHlcbi8vXG4vLyMjIFNwZWNpZnkgY3VzdG9tIGxvY2F0aW9uIGFuZCBmaWxlbmFtZSBvZiB0aGUgaW5jbHVkZWQgR2x5cGhpY29ucyBpY29uIGZvbnQuIFVzZWZ1bCBmb3IgdGhvc2UgaW5jbHVkaW5nIEJvb3RzdHJhcCB2aWEgQm93ZXIuXG5cbi8vKiogTG9hZCBmb250cyBmcm9tIHRoaXMgZGlyZWN0b3J5LlxuJGljb24tZm9udC1wYXRoOiAgICAgICAgICBcIi4uL2ZvbnRzL1wiICFkZWZhdWx0O1xuLy8qKiBGaWxlIG5hbWUgZm9yIGFsbCBmb250IGZpbGVzLlxuJGljb24tZm9udC1uYW1lOiAgICAgICAgICBcImdseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXJcIiAhZGVmYXVsdDtcbi8vKiogRWxlbWVudCBJRCB3aXRoaW4gU1ZHIGljb24gZmlsZS5cbiRpY29uLWZvbnQtc3ZnLWlkOiAgICAgICAgXCJnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXJcIiAhZGVmYXVsdDtcblxuXG4vLz09IENvbXBvbmVudHNcbi8vXG4vLyMjIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS4gVmFsdWVzIGJhc2VkIG9uIDE0cHggdGV4dCBhbmQgMS40MjggbGluZS1oZWlnaHQgKH4yMHB4IHRvIHN0YXJ0KS5cblxuJHBhZGRpbmctYmFzZS12ZXJ0aWNhbDogICAgIDhweCAhZGVmYXVsdDtcbiRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDogICAxMnB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy1sYXJnZS12ZXJ0aWNhbDogICAgMTBweCAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw6ICAxNnB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDogICAgNXB4ICFkZWZhdWx0O1xuJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDogIDEwcHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXhzLXZlcnRpY2FsOiAgICAgICAxcHggIWRlZmF1bHQ7XG4kcGFkZGluZy14cy1ob3Jpem9udGFsOiAgICAgNXB4ICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtbGFyZ2U6ICAgICAgICAgMS4zMyAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbWFsbDogICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICAycHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAgMnB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgIDJweCAhZGVmYXVsdDtcblxuLy8qKiBHbG9iYWwgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIEdsb2JhbCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8qKiBXaWR0aCBvZiB0aGUgYGJvcmRlcmAgZm9yIGdlbmVyYXRpbmcgY2FyZXRzIHRoYXQgaW5kaWNhdG9yIGRyb3Bkb3ducy5cbiRjYXJldC13aWR0aC1iYXNlOiAgICAgICAgICA0cHggIWRlZmF1bHQ7XG4vLyoqIENhcmV0cyBpbmNyZWFzZSBzbGlnaHRseSBpbiBzaXplIGZvciBsYXJnZXIgY29tcG9uZW50cy5cbiRjYXJldC13aWR0aC1sYXJnZTogICAgICAgICA1cHggIWRlZmF1bHQ7XG5cblxuLy89PSBUYWJsZXNcbi8vXG4vLyMjIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuLy8qKiBQYWRkaW5nIGZvciBgPHRoPmBzIGFuZCBgPHRkPmBzLlxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGZvciBjZWxscyBpbiBgLnRhYmxlLWNvbmRlbnNlZGAuXG4kdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZzogIDVweCAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYWxsIHRhYmxlcy5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYC50YWJsZS1zdHJpcGVkYC5cbiR0YWJsZS1iZy1hY2NlbnQ6ICAgICAgICAgICAgICAgI2Y5ZjlmOSAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLWhvdmVyYC5cbiR0YWJsZS1iZy1ob3ZlcjogICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiR0YWJsZS1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgJHRhYmxlLWJnLWhvdmVyICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGFibGUgYW5kIGNlbGwgYm9yZGVycy5cbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09IEJ1dHRvbnNcbi8vXG4vLyMjIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcblxuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgJHRleHQtY29sb3IgIWRlZmF1bHQ7XG4kYnRuLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICAkYnJpZ2h0ICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICAgJGJ0bi1kZWZhdWx0LWJnICFkZWZhdWx0O1xuXG4kYnRuLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYm9yZGVyOiAgICAgICAgICAgICAkYnRuLXByaW1hcnktYmcgIWRlZmF1bHQ7XG5cbiRidG4tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgICRidG4tc3VjY2Vzcy1iZyAhZGVmYXVsdDtcblxuJGJ0bi1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4taW5mby1iZzogICAgICAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJvcmRlcjogICAgICAgICAgICAgICAgJGJ0bi1pbmZvLWJnICFkZWZhdWx0O1xuXG4kYnRuLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICAkYnRuLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG5cbiRidG4tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgICAgJGJ0bi1kYW5nZXItYmcgIWRlZmF1bHQ7XG5cbiRidG4taW5mby1hbHQtY29sb3I6ICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWluZm8tYWx0LWJnOiAgICAgICAgICAgICAgICAkYnJhbmQtaW5mby1hbHQgIWRlZmF1bHQ7XG4kYnRuLWluZm8tYWx0LWJvcmRlcjogICAgICAgICAgICAkYnRuLWluZm8tYWx0LWJnICFkZWZhdWx0O1xuXG4kYnRuLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1kYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgJGRhcmsgIWRlZmF1bHQ7XG4kYnRuLWRhcmstYm9yZGVyOiAgICAgICAgICAgICAgICAkYnRuLWRhcmstYmcgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuLy89PSBGb3Jtc1xuLy9cbi8vIyNcblxuLy8qKiBgPGlucHV0PmAgYmFja2dyb3VuZCBjb2xvclxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogYDxpbnB1dCBkaXNhYmxlZD5gIGJhY2tncm91bmQgY29sb3JcbiRpbnB1dC1iZy1kaXNhYmxlZDogICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBmb3IgYDxpbnB1dD5gc1xuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJHRleHQtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIGA8aW5wdXQ+YCBib3JkZXIgY29sb3JcbiRpbnB1dC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICNDQkQ1REQgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IFJlbmFtZSBgJGlucHV0LWJvcmRlci1yYWRpdXNgIHRvIGAkaW5wdXQtYm9yZGVyLXJhZGl1cy1iYXNlYCBpbiB2NFxuLy8qKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgIWRlZmF1bHQ7XG4vLyoqIFNtYWxsIGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGlucHV0cyBvbiBmb2N1c1xuJGlucHV0LWJvcmRlci1mb2N1czogICAgICAgICAgICAgIzY2YWZlOSAhZGVmYXVsdDtcblxuLy8qKiBQbGFjZWhvbGRlciB0ZXh0IGNvbG9yXG4kaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI6ICAgICAgICAjOTk5ICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1iYXNlOiAgICAgICAgICAgICAgKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1sYXJnZTogICAgICAgICAgICAgKGNlaWwoJGZvbnQtc2l6ZS1sYXJnZSAqICRsaW5lLWhlaWdodC1sYXJnZSkgKyAoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKiAyKSArIDIpICFkZWZhdWx0O1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LXNtYWxsOiAgICAgICAgICAgICAoZmxvb3IoJGZvbnQtc2l6ZS1zbWFsbCAqICRsaW5lLWhlaWdodC1zbWFsbCkgKyAoJHBhZGRpbmctc21hbGwtdmVydGljYWwgKiAyKSArIDIpICFkZWZhdWx0O1xuXG4vLyoqIGAuZm9ybS1ncm91cGAgbWFyZ2luXG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kbGVnZW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGxlZ2VuZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlciAhZGVmYXVsdDtcblxuLy8qKiBEaXNhYmxlZCBjdXJzb3IgZm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnMuXG4kY3Vyc29yLWRpc2FibGVkOiAgICAgICAgICAgICAgICBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuXG4vLz09IERyb3Bkb3duc1xuLy9cbi8vIyMgRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4vLyoqIEJhY2tncm91bmQgZm9yIHRoZSBkcm9wZG93biBtZW51LlxuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYC5cbiRkcm9wZG93bi1ib3JkZXI6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjE1KSAhZGVmYXVsdDtcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYCAqKmZvciBJRTgqKi5cbiRkcm9wZG93bi1mYWxsYmFjay1ib3JkZXI6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG4vLyoqIERpdmlkZXIgY29sb3IgZm9yIGJldHdlZW4gZHJvcGRvd24gaXRlbXMuXG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAjZTVlNWU1ICFkZWZhdWx0O1xuXG4vLyoqIERyb3Bkb3duIGxpbmsgdGV4dCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4vLyoqIEhvdmVyIGNvbG9yIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIEhvdmVyIGJhY2tncm91bmQgZm9yIGRyb3Bkb3duIGxpbmtzLlxuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSB0ZXh0IGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4vLyoqIERpc2FibGVkIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBmb3IgaGVhZGVycyB3aXRoaW4gZHJvcGRvd24gbWVudXMuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8gTm90ZTogRGVwcmVjYXRlZCAkZHJvcGRvd24tY2FyZXQtY29sb3IgYXMgb2YgdjMuMS4wXG4kZHJvcGRvd24tY2FyZXQtY29sb3I6ICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuXG5cbi8vLS0gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuLy9cbi8vIE5vdGU6IFRoZXNlIHZhcmlhYmxlcyBhcmUgbm90IGdlbmVyYXRlZCBpbnRvIHRoZSBDdXN0b21pemVyLlxuXG4kemluZGV4LW5hdmJhcjogICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC1uYXZiYXItZml4ZWQ6ICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2dyb3VuZDogIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuXG4vLz09IE1lZGlhIHF1ZXJpZXMgYnJlYWtwb2ludHNcbi8vXG4vLyMjIERlZmluZSB0aGUgYnJlYWtwb2ludHMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIEV4dHJhIHNtYWxsIHNjcmVlbiAvIHBob25lXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4teHNgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi14czogICAgICAgICAgICAgICAgICA0ODBweCAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14cy1taW5gIGFzIG9mIHYzLjIuMFxuJHNjcmVlbi14cy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXhzICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXBob25lYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tcGhvbmU6ICAgICAgICAgICAgICAgJHNjcmVlbi14cy1taW4gIWRlZmF1bHQ7XG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXNtYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tc206ICAgICAgICAgICAgICAgICAgNzY4cHggIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tc20gIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tdGFibGV0YCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tdGFibGV0OiAgICAgICAgICAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbWRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1tZDogICAgICAgICAgICAgICAgICA5OTJweCAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1tZCAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tZGVza3RvcDogICAgICAgICAgICAgJHNjcmVlbi1tZC1taW4gIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbGc6ICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1sZy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLWxnICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZy1kZXNrdG9wOiAgICAgICAgICAkc2NyZWVuLWxnLW1pbiAhZGVmYXVsdDtcblxuLy8gU28gbWVkaWEgcXVlcmllcyBkb24ndCBvdmVybGFwIHdoZW4gcmVxdWlyZWQsIHByb3ZpZGUgYSBtYXhpbXVtXG4kc2NyZWVuLXhzLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLXNtLW1pbiAtIDEpICFkZWZhdWx0O1xuJHNjcmVlbi1zbS1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1tZC1taW4gLSAxKSAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbGctbWluIC0gMSkgIWRlZmF1bHQ7XG5cblxuLy89PSBHcmlkIHN5c3RlbVxuLy9cbi8vIyMgRGVmaW5lIHlvdXIgY3VzdG9tIHJlc3BvbnNpdmUgZ3JpZC5cblxuLy8qKiBOdW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBiZXR3ZWVuIGNvbHVtbnMuIEdldHMgZGl2aWRlZCBpbiBoYWxmIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQuXG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgMzBweCAhZGVmYXVsdDtcbi8vIE5hdmJhciBjb2xsYXBzZVxuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlY29tZXMgdW5jb2xsYXBzZWQuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50OiAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVnaW5zIGNvbGxhcHNpbmcuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heDogKCRncmlkLWZsb2F0LWJyZWFrcG9pbnQgLSAxKSAhZGVmYXVsdDtcblxuXG4vLz09IENvbnRhaW5lciBzaXplc1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4kY29udGFpbmVyLXRhYmxldDogICAgICAgICAgICAgKDcyMHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLXNtLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1zbTogICAgICAgICAgICAgICAgICRjb250YWluZXItdGFibGV0ICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuJGNvbnRhaW5lci1kZXNrdG9wOiAgICAgICAgICAgICg5NDBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1tZC1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbWQ6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wOiAgICAgICgxMTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tbGctbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLWxnOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wICFkZWZhdWx0O1xuXG5cbi8vPT0gTmF2YmFyXG4vL1xuLy8jI1xuXG4vLyBCYXNpY3Mgb2YgYSBuYXZiYXJcbiRuYXZiYXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRuYXZiYXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICFkZWZhdWx0O1xuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAoKCRuYXZiYXItaGVpZ2h0IC0gJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKSAvIDIpICFkZWZhdWx0O1xuJG5hdmJhci1jb2xsYXBzZS1tYXgtaGVpZ2h0OiAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuJG5hdmJhci1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAjZjhmOGY4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGxpbmtzXG4kbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgIzc3NyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgI2NjYyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvciwgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgIzg4OCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vIEludmVydGVkIG5hdmJhclxuLy8gUmVzZXQgaW52ZXJ0ZWQgbmF2YmFyIGJhc2ljc1xuJG5hdmJhci1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1iZzogICAgICAgICAgICAgICAgICAgICAgICAgIzIyMiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItaW52ZXJzZS1iZywgMTAlKSAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGxpbmtzXG4kbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWludmVyc2UtYmcsIDEwJSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgYnJhbmQgbGFiZWxcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgdG9nZ2xlXG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWJvcmRlci1jb2xvcjogICAgICAgICMzMzMgIWRlZmF1bHQ7XG5cblxuLy89PSBOYXZzXG4vL1xuLy8jI1xuXG4vLz09PSBTaGFyZWQgbmF2IHN0eWxlc1xuJG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4IDE1cHggIWRlZmF1bHQ7XG4kbmF2LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLz09IFRhYnNcbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgI2RkZCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I6ICAgICAkYm9keS1iZyAhZGVmYXVsdDtcblxuLy89PSBQaWxsc1xuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy89PSBQYWdpbmF0aW9uXG4vL1xuLy8jI1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkdGV4dC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAjZGNlMGUwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkdGV4dC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI6ICAgICAgICAgICAgICAjYWFhICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAkc3RhdGUtZGVmYXVsdC1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1kZWZhdWx0LWJnICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFnZXJcbi8vXG4vLyMjXG5cbiRwYWdlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYm9yZGVyICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuJHBhZ2VyLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24taG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwYWdlci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdlci1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuJHBhZ2VyLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy89PSBKdW1ib3Ryb25cbi8vXG4vLyMjXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRqdW1ib3Ryb24taGVhZGluZy1jb2xvcjogICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWZvbnQtc2l6ZTogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjUpKSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24taGVhZGluZy1mb250LXNpemU6ICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDQuNSkpICFkZWZhdWx0O1xuXG5cbi8vPT0gRm9ybSBzdGF0ZXMgYW5kIGFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGNvbG9ycyBmb3IgZm9ybSBmZWVkYmFjayBzdGF0ZXMgYW5kLCBieSBkZWZhdWx0LCBhbGVydHMuXG5cbiRzdGF0ZS1zdWNjZXNzLXRleHQ6ICAgICAgICAgICAgICM2ODdGNDIgIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAjRjBGQkUzICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXN1Y2Nlc3MtYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWluZm8tdGV4dDogICAgICAgICAgICAgICAgIzNCNzk5QSAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICNFNkY1RkQgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtaW5mby1iZywgLTEwKSwgNyUpICFkZWZhdWx0O1xuXG4kc3RhdGUtd2FybmluZy10ZXh0OiAgICAgICAgICAgICAjOUE3RTI2ICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgI0ZGRkFFRCAhZGVmYXVsdDtcbiRzdGF0ZS13YXJuaW5nLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS13YXJuaW5nLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1kYW5nZXItdGV4dDogICAgICAgICAgICAgICNBMTUxM0MgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAjRkJFOUU2ICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLWRhbmdlci1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG5cbi8vPT0gVG9vbHRpcHNcbi8vXG4vLyMjXG5cbi8vKiogVG9vbHRpcCBtYXggd2lkdGhcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIHRleHQgY29sb3JcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgYmFja2dyb3VuZCBjb2xvclxuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuXG4vLyoqIFRvb2x0aXAgYXJyb3cgd2lkdGhcbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgIDVweCAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCBhcnJvdyBjb2xvclxuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cblxuLy89PSBQb3BvdmVyc1xuLy9cbi8vIyNcblxuLy8qKiBQb3BvdmVyIGJvZHkgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZGFyayAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBtYXhpbXVtIHdpZHRoXG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGJvcmRlciBjb2xvclxuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZGFyayAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBmYWxsYmFjayBib3JkZXIgY29sb3JcbiRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgJGRhcmsgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciB0aXRsZSBiYWNrZ3JvdW5kIGNvbG9yXG4kcG9wb3Zlci10aXRsZS1iZzogICAgICAgICAgICAgICAgICAgICRkYXJrICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgYXJyb3cgd2lkdGhcbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgICAkZGFyayAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IHdpZHRoXG4kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDogICAgICAgICAgICgkcG9wb3Zlci1hcnJvdy13aWR0aCArIDEpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICAgICRkYXJrICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGZhbGxiYWNrIGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjogICRkYXJrICFkZWZhdWx0O1xuXG5cbi8vPT0gTGFiZWxzXG4vL1xuLy8jI1xuXG4vLyoqIERlZmF1bHQgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWRlZmF1bHQtYmc6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIFByaW1hcnkgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXByaW1hcnktYmc6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIFN1Y2Nlc3MgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyoqIEluZm8gbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWluZm8tYmc6ICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4vLyoqIFdhcm5pbmcgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXdhcm5pbmctYmc6ICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4vLyoqIERhbmdlciBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgbGFiZWwgdGV4dCBjb2xvclxuJGxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIGEgbGlua2VkIGxhYmVsXG4kbGFiZWwtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gTW9kYWxzXG4vL1xuLy8jI1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIHRpdGxlXG4kbW9kYWwtdGl0bGUtcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCB0aXRsZSBsaW5lLWhlaWdodFxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBjb250ZW50IGFyZWFcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3JcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMikgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yICoqZm9yIElFOCoqXG4kbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICAgICM5OTkgIWRlZmF1bHQ7XG5cbi8vKiogTW9kYWwgYmFja2Ryb3AgYmFja2dyb3VuZCBjb2xvclxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbi8vKiogTW9kYWwgYmFja2Ryb3Agb3BhY2l0eVxuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgLjUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGhlYWRlciBib3JkZXIgY29sb3JcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICNlNWU1ZTUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGZvb3RlciBib3JkZXIgY29sb3JcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBBbGVydHNcbi8vXG4vLyMjIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZzogICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgIGJvbGQgIWRlZmF1bHQ7XG5cbiRhbGVydC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWluZm8tYmc6ICAgICAgICAgICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtd2FybmluZy1iZzogICAgICAgICAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1kYW5nZXItYmc6ICAgICAgICAgICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLz09IFByb2dyZXNzIGJhcnNcbi8vXG4vLyMjXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgd2hvbGUgcHJvZ3Jlc3MgY29tcG9uZW50XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBQcm9ncmVzcyBiYXIgdGV4dCBjb2xvclxuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVmFyaWFibGUgZm9yIHNldHRpbmcgcm91bmRlZCBjb3JuZXJzIG9uIHByb2dyZXNzIGJhci5cbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgIDAgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBTdWNjZXNzIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1zdWNjZXNzLWJnOiAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyoqIFdhcm5pbmcgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmc6ICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbi8vKiogRGFuZ2VyIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1kYW5nZXItYmc6ICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcbi8vKiogSW5mbyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItaW5mby1iZzogICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuXG5cbi8vPT0gTGlzdCBncm91cFxuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9uIGAubGlzdC1ncm91cC1pdGVtYFxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgLmxpc3QtZ3JvdXAtaXRlbWAgYm9yZGVyIGNvbG9yXG4kbGlzdC1ncm91cC1ib3JkZXI6ICAgICAgICAgICAgICNlZmYyZjcgIWRlZmF1bHQ7XG4vLyoqIExpc3QgZ3JvdXAgYm9yZGVyIHJhZGl1c1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2Ygc2luZ2xlIGxpc3QgZWxlbWVudHMgb24gaG92ZXJcbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBvZiBhY3RpdmUgbGlzdCBlbGVtZW50c1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBhY3RpdmUgbGlzdCBlbGVtZW50c1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vKiogQm9yZGVyIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGVsZW1lbnRzXG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyOiAgICAgICRsaXN0LWdyb3VwLWJvcmRlciAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yOiAgbGlnaHRlbigkbGlzdC1ncm91cC1hY3RpdmUtYmcsIDQwJSkgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtbGluay1jb2xvcjogICAgICAgICAjNTU1ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjogICAkbGlzdC1ncm91cC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFuZWxzXG4vL1xuLy8jI1xuXG4kcGFuZWwtYmc6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhbmVsLWJvZHktcGFkZGluZzogICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRwYW5lbC1oZWFkaW5nLXBhZGRpbmc6ICAgICAgIDEwcHggMTVweCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItcGFkZGluZzogICAgICAgICRwYW5lbC1oZWFkaW5nLXBhZGRpbmcgIWRlZmF1bHQ7XG4kcGFuZWwtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgZWxlbWVudHMgd2l0aGluIHBhbmVsc1xuJHBhbmVsLWlubmVyLWJvcmRlcjogICAgICAgICAgJHN0YXRlLWRlZmF1bHQtYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1iZzogICAgICAgICAgICAgI2ZhZmFmYSAhZGVmYXVsdDtcblxuJHBhbmVsLWRlZmF1bHQtdGV4dDogICAgICAgICAgJHRleHQtY29sb3IgIWRlZmF1bHQ7XG4kcGFuZWwtZGVmYXVsdC1ib3JkZXI6ICAgICAgICAkc3RhdGUtZGVmYXVsdC1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtZGVmYXVsdC1oZWFkaW5nLWJnOiAgICAkc3RhdGUtZGVmYXVsdC1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLXByaW1hcnktdGV4dDogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYW5lbC1wcmltYXJ5LWJvcmRlcjogICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhbmVsLXByaW1hcnktaGVhZGluZy1iZzogICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYW5lbC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1oZWFkaW5nLWJnOiAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWhlYWRpbmctYmc6ICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctaGVhZGluZy1iZzogICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kYW5nZXItdGV4dDogICAgICAgICAgICRzdGF0ZS1kYW5nZXItdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLWRhbmdlci1oZWFkaW5nLWJnOiAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcblxuXG4vLz09IFRodW1ibmFpbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBpbWFnZVxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYmFja2dyb3VuZCBjb2xvclxuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgY29sb3JcbiR0aHVtYm5haWwtYm9yZGVyOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgcmFkaXVzXG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEN1c3RvbSB0ZXh0IGNvbG9yIGZvciB0aHVtYm5haWwgY2FwdGlvbnNcbiR0aHVtYm5haWwtY2FwdGlvbi1jb2xvcjogICAgICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGNhcHRpb25cbiR0aHVtYm5haWwtY2FwdGlvbi1wYWRkaW5nOiAgIDlweCAhZGVmYXVsdDtcblxuXG4vLz09IFdlbGxzXG4vL1xuLy8jI1xuXG4kd2VsbC1iZzogICAgICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHdlbGwtYm9yZGVyOiAgICAgICAgICAgICAgICAgZGFya2VuKCR3ZWxsLWJnLCA3JSkgIWRlZmF1bHQ7XG5cblxuLy89PSBCYWRnZXNcbi8vXG4vLyMjXG5cbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIExpbmtlZCBiYWRnZSB0ZXh0IGNvbG9yIG9uIGhvdmVyXG4kYmFkZ2UtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuJGJhZGdlLWJnOiAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogQmFkZ2UgdGV4dCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcbiRiYWRnZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBCYWRnZSBiYWNrZ3JvdW5kIGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuJGJhZGdlLWFjdGl2ZS1iZzogICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1saW5lLWhlaWdodDogICAgICAgICAgIDEgIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAxMHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gQnJlYWRjcnVtYnNcbi8vXG4vLyMjXG5cbiRicmVhZGNydW1iLXBhZGRpbmctdmVydGljYWw6ICAgOHB4ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuLy8qKiBCcmVhZGNydW1iIGJhY2tncm91bmQgY29sb3JcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgJHN0YXRlLWRlZmF1bHQtYmcgIWRlZmF1bHQ7XG4vLyoqIEJyZWFkY3J1bWIgdGV4dCBjb2xvclxuJGJyZWFkY3J1bWItY29sb3I6ICAgICAgICAgICAgICAkc3RhdGUtZGVmYXVsdC1ib3JkZXIgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3Igb2YgY3VycmVudCBwYWdlIGluIHRoZSBicmVhZGNydW1iXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBUZXh0dWFsIHNlcGFyYXRvciBmb3IgYmV0d2VlbiBicmVhZGNydW1iIGVsZW1lbnRzXG4kYnJlYWRjcnVtYi1zZXBhcmF0b3I6ICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuXG5cbi8vPT0gQ2Fyb3VzZWxcbi8vXG4vLyMjXG5cbiRjYXJvdXNlbC10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgwLDAsMCwuNikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENsb3NlXG4vL1xuLy8jI1xuXG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgIDAgMXB4IDAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENvZGVcbi8vXG4vLyMjXG5cbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICNjNzI1NGUgIWRlZmF1bHQ7XG4kY29kZS1iZzogICAgICAgICAgICAgICAgICAgICAjZjlmMmY0ICFkZWZhdWx0O1xuXG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuJHByZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcHJlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBUeXBlXG4vL1xuLy8jI1xuXG4vLyoqIEhvcml6b250YWwgb2Zmc2V0IGZvciBmb3JtcyBhbmQgbGlzdHMuXG4kY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsOiAxODBweCAhZGVmYXVsdDtcbi8vKiogVGV4dCBtdXRlZCBjb2xvclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zIGJvcmRlciBjb2xvclxuJGFiYnItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEhlYWRpbmdzIHNtYWxsIGNvbG9yXG4kaGVhZGluZ3Mtc21hbGwtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBzbWFsbCBjb2xvclxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgZm9udCBzaXplXG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgYm9yZGVyIGNvbG9yXG4kYmxvY2txdW90ZS1ib3JkZXItY29sb3I6ICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBQYWdlIGhlYWRlciBib3JkZXIgY29sb3JcbiRwYWdlLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFdpZHRoIG9mIGhvcml6b250YWwgZGVzY3JpcHRpb24gbGlzdCB0aXRsZXNcbiRkbC1ob3Jpem9udGFsLW9mZnNldDogICAgICAgICRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWwgIWRlZmF1bHQ7XG4vLyoqIFBvaW50IGF0IHdoaWNoIC5kbC1ob3Jpem9udGFsIGJlY29tZXMgaG9yaXpvbnRhbFxuJGRsLWhvcml6b250YWwtYnJlYWtwb2ludDogICAgJGdyaWQtZmxvYXQtYnJlYWtwb2ludCAhZGVmYXVsdDtcbi8vKiogSG9yaXpvbnRhbCBsaW5lIGNvbG9yLlxuJGhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiIsIi8vIERpYWxvZ1xubWQtYmFja2Ryb3AubWQtZGlhbG9nLWJhY2tkcm9we1xuICAgIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmFja2dyb3VuZDtcbn1cbi5tZC1kaWFsb2ctY29udGFpbmVyIHtcbiAgICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tncm91bmQgKyAxOyAvLyBoaWdoZXIgdGhhbiB0aGUgYmFja2Ryb3Bcbn1cblxuLy8gbWQtaWNvblxubWQtaWNvbiB7XG4gICAgJi56bWRpIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIH1cbn1cblxuLnVpLW1kLXJhZGlvLWdyb3VwLWlubGluZSB7XG4gICAgbWQtcmFkaW8tYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMTBweCAxMHB4O1xuICAgIH1cbn1cblxuLy8gUmFkaW9cbm1kLXJhZGlvLWJ1dHRvbiB7XG5cbiAgICAmW2Rpc2FibGVkXSAubWQtb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgIH1cbn1cblxuXG4vLyBcbm1kLXRvYXN0IHtcbiAgICAmLm1kLXRvYXN0LXByaW1hcnkge1xuICAgICAgICA+IC5tZC10b2FzdC1jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIERhdGVwaWNrZXJcbi5tZC1kYXRlcGlja2VyLWNhbGVuZGFyLXBhbmUgLm1kLWRhdGVwaWNrZXItaW5wdXQtbWFzayB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi8vIE1hdGVyaWFsIFRvYXN0XG5tZC10b2FzdCB7XG4gICAgei1pbmRleDogOTk5OTk5ICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG59XG5cbi8vIFRhYlxuLm1kLXByaW1hcnkge1xuICAgIG1kLXRhYnMtd3JhcHBlciB7XG4gICAgICAgIG1kLXByZXYtYnV0dG9uLFxuICAgICAgICBtZC1uZXh0LWJ1dHRvbiB7XG4gICAgICAgICAgICBtZC1pY29uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXktbGlnaHRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4iLCIuYW5ndWxhci11aS10cmVlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbn1cblxuLmFuZ3VsYXItdWktdHJlZS1wbGFjZWhvbGRlcntcbiAgICBtYXJnaW46IDVweCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWluLWhlaWdodDogMzBweDtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgJHN0YXRlLWRlZmF1bHQtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdGF0ZS1pbmZvLWJnO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG59XG5cbi5hbmd1bGFyLXVpLXRyZWUtaGFuZGxle1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jazsgXG4gICAgbWFyZ2luOiA1cHggMDsgXG4gICAgcGFkZGluZzogMTBweCAxMHB4OyBcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRzdGF0ZS1kZWZhdWx0LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGN1cnNvcjptb3ZlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgLmFuZ3VsYXItdWktdHJlZS1pY29uLWFjdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmFuZ3VsYXItdWktdHJlZS1pY29uIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbn1cbi5hbmd1bGFyLXVpLXRyZWUtaWNvbi1jb2xsYXBzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luOiAtMTBweCAwIDAgLTEwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnKyc7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMDAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHRleHQtaW5kZW50OiAwO1xuICAgIH1cbiAgICAmLnVuY29sbGFwc2VkOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICctJztcbiAgICB9XG59XG4uYW5ndWxhci11aS10cmVlLWljb24tYWN0aW9uIHtcbiAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY29sb3I6ICRncmF5LWxpZ2h0O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgfVxufVxuXG4uYW5ndWxhci11aS10cmVlLWVtcHR5e1xuICAgIGJvcmRlcjogMXB4IGRhc2hlZCAjYmJiO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1zaXplOjYwcHggNjBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMCwzMHB4IDMwcHg7XG59XG5cbi5hbmd1bGFyLXVpLXRyZWUtbm9kZXN7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBtYXJnaW46MDtcbiAgICBwYWRkaW5nOjA7XG4gICAgbGlzdC1zdHlsZTpub25lfVxuXG4uYW5ndWxhci11aS10cmVlLW5vZGVzIC5hbmd1bGFyLXVpLXRyZWUtbm9kZXN7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4XG59XG5cbi5hbmd1bGFyLXVpLXRyZWUtbm9kZSwuYW5ndWxhci11aS10cmVlLXBsYWNlaG9sZGVye1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgbWFyZ2luOjA7XG4gICAgcGFkZGluZzowO1xuICAgIG1pbi1oZWlnaHQ6MjBweDtcbiAgICBsaW5lLWhlaWdodDoyMHB4fVxuXG4uYW5ndWxhci11aS10cmVlLWhpZGRlbntkaXNwbGF5Om5vbmV9XG5cblxuXG5cbi5hbmd1bGFyLXVpLXRyZWUtZHJhZ3tcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czpub25lO1xuICAgIHotaW5kZXg6OTk5O1xuICAgIG9wYWNpdHk6Ljh9XG4iLCJcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9yc3RhaWIvanF1ZXJ5LXN0ZXBzXG5cbi53aXphcmQsXG4udGFiY29udHJvbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLndpemFyZCBhLFxuLnRhYmNvbnRyb2wgYSB7XG4gICAgb3V0bGluZTogMDtcbn1cblxuLndpemFyZCB1bCxcbi50YWJjb250cm9sIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi53aXphcmQgdWwgPiBsaSxcbi50YWJjb250cm9sIHVsID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qIEFjY2Vzc2liaWxpdHkgKi9cbi53aXphcmQgPiAuc3RlcHMgLmN1cnJlbnQtaW5mbyxcbi50YWJjb250cm9sID4gLnN0ZXBzIC5jdXJyZW50LWluZm8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOTk5ZW07XG59XG5cbi53aXphcmQgPiAuY29udGVudCA+IC50aXRsZSxcbi50YWJjb250cm9sID4gLmNvbnRlbnQgPiAudGl0bGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOTk5ZW07XG59XG5cblxuXG4vKlxuICAgIFdpemFyZFxuKi9cblxuLndpemFyZCB7XG4gICAgPiAuc3RlcHMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICA+IHVsID4gbGkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ud2l6YXJkLnZlcnRpY2FsICB7XG4gICAgPiAuc3RlcHMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICB9XG5cbiAgICAgICAgPiB1bCA+IGxpIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7ICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cblxuICAgID4gLmNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAyLjUlIDAuNWVtIDIuNSU7XG4gICAgICAgICAgICB3aWR0aDogNjUlOyAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgfVxufVxuXG4ud2l6YXJkID4gLnN0ZXBzIC5udW1iZXJcbntcbiAgICBmb250LXNpemU6IDEuNDI5ZW07XG59XG5cbi53aXphcmQgPiAuc3RlcHMgPiB1bCA+IGxpLFxuLndpemFyZCA+IC5hY3Rpb25zID4gdWwgPiBsaVxue1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG5cbi53aXphcmQgPiAuc3RlcHMgYSxcbi53aXphcmQgPiAuc3RlcHMgYTpob3Zlcixcbi53aXphcmQgPiAuc3RlcHMgYTphY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMCAwLjVlbSAwLjVlbTtcbiAgICBwYWRkaW5nOiAxZW0gMWVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIEBleHRlbmQgLnotZGVwdGgtMTtcbn1cblxuLndpemFyZCA+IC5zdGVwcyAuZGlzYWJsZWQgYSxcbi53aXphcmQgPiAuc3RlcHMgLmRpc2FibGVkIGE6aG92ZXIsXG4ud2l6YXJkID4gLnN0ZXBzIC5kaXNhYmxlZCBhOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogI2VlZTtcbiAgICBjb2xvcjogI2FhYTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLndpemFyZCA+IC5zdGVwcyAuY3VycmVudCBhLFxuLndpemFyZCA+IC5zdGVwcyAuY3VycmVudCBhOmhvdmVyLFxuLndpemFyZCA+IC5zdGVwcyAuY3VycmVudCBhOmFjdGl2ZVxue1xuICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLndpemFyZCA+IC5zdGVwcyAuZG9uZSBhLFxuLndpemFyZCA+IC5zdGVwcyAuZG9uZSBhOmhvdmVyLFxuLndpemFyZCA+IC5zdGVwcyAuZG9uZSBhOmFjdGl2ZVxue1xuICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG9wYWNpdHk6IC42O1xufVxuXG4ud2l6YXJkID4gLnN0ZXBzIC5lcnJvciBhLFxuLndpemFyZCA+IC5zdGVwcyAuZXJyb3IgYTpob3Zlcixcbi53aXphcmQgPiAuc3RlcHMgLmVycm9yIGE6YWN0aXZlXG57XG4gICAgYmFja2dyb3VuZDogJGJyYW5kLWRhbmdlcjtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLndpemFyZCA+IC5jb250ZW50XG57XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAuNWVtO1xuICAgIG1pbi1oZWlnaHQ6IDI1ZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG59XG5cblxuXG4ud2l6YXJkID4gLmNvbnRlbnQgPiAuYm9keVxue1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogOTUlO1xuICAgIGhlaWdodDogOTUlO1xuICAgIHBhZGRpbmc6IDIuNSU7XG59XG5cbi53aXphcmQgPiAuY29udGVudCA+IC5ib2R5IHVsXG57XG4gICAgbGlzdC1zdHlsZTogZGlzYyAhaW1wb3J0YW50O1xufVxuXG4ud2l6YXJkID4gLmNvbnRlbnQgPiAuYm9keSB1bCA+IGxpXG57XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4ud2l6YXJkID4gLmNvbnRlbnQgPiAuYm9keSA+IGlmcmFtZVxue1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLndpemFyZCA+IC5jb250ZW50ID4gLmJvZHkgaW5wdXRcbntcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xufVxuXG4ud2l6YXJkID4gLmNvbnRlbnQgPiAuYm9keSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1cbntcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi53aXphcmQgPiAuY29udGVudCA+IC5ib2R5IGlucHV0LmVycm9yXG57XG4gICAgYmFja2dyb3VuZDogcmdiKDI1MSwgMjI3LCAyMjgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmYmMyYzQ7XG4gICAgY29sb3I6ICM4YTFmMTE7XG59XG5cbi53aXphcmQgPiAuY29udGVudCA+IC5ib2R5IGxhYmVsXG57XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuXG4ud2l6YXJkID4gLmNvbnRlbnQgPiAuYm9keSBsYWJlbC5lcnJvclxue1xuICAgIGNvbG9yOiAjOGExZjExO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMS41ZW07XG59XG5cbi53aXphcmQgPiAuYWN0aW9uc1xue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLndpemFyZC52ZXJ0aWNhbCA+IC5hY3Rpb25zXG57XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IDAgMi41JTtcbiAgICB3aWR0aDogOTUlO1xufVxuXG4ud2l6YXJkID4gLmFjdGlvbnMgPiB1bFxue1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLndpemFyZCA+IC5hY3Rpb25zID4gdWwgPiBsaVxue1xuICAgIG1hcmdpbjogMCAwLjVlbTtcbn1cblxuLndpemFyZC52ZXJ0aWNhbCA+IC5hY3Rpb25zID4gdWwgPiBsaVxue1xuICAgIG1hcmdpbjogMCAwIDAgMWVtO1xufVxuXG4ud2l6YXJkID4gLmFjdGlvbnMgYSxcbi53aXphcmQgPiAuYWN0aW9ucyBhOmhvdmVyLFxuLndpemFyZCA+IC5hY3Rpb25zIGE6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53aXphcmQgPiAuYWN0aW9ucyAuZGlzYWJsZWQgYSxcbi53aXphcmQgPiAuYWN0aW9ucyAuZGlzYWJsZWQgYTpob3Zlcixcbi53aXphcmQgPiAuYWN0aW9ucyAuZGlzYWJsZWQgYTphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICNlZWU7XG4gICAgY29sb3I6ICNhYWE7XG59XG5cbi53aXphcmQgPiAubG9hZGluZ1xue1xufVxuXG4ud2l6YXJkID4gLmxvYWRpbmcgLnNwaW5uZXJcbntcbn1cblxuXG5cbi8qXG4gICAgVGFiY29udHJvbFxuKi9cblxuLnRhYmNvbnRyb2wgPiAuc3RlcHNcbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi50YWJjb250cm9sID4gLnN0ZXBzID4gdWxcbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiA2cHggMCAwIDA7XG4gICAgdG9wOiAxcHg7XG4gICAgei1pbmRleDogMTtcbn1cblxuLnRhYmNvbnRyb2wgPiAuc3RlcHMgPiB1bCA+IGxpXG57XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiA1cHggMnB4IDAgMDtcbiAgICBwYWRkaW5nOiAxcHg7XG5cbiAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbn1cblxuLnRhYmNvbnRyb2wgPiAuc3RlcHMgPiB1bCA+IGxpOmhvdmVyXG57XG4gICAgYmFja2dyb3VuZDogI2VkZWNlYztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi50YWJjb250cm9sID4gLnN0ZXBzID4gdWwgPiBsaS5jdXJyZW50XG57XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xuICAgIGJvcmRlci1ib3R0b206IDAgbm9uZTtcbiAgICBwYWRkaW5nOiAwIDAgMXB4IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnRhYmNvbnRyb2wgPiAuc3RlcHMgPiB1bCA+IGxpID4gYVxue1xuICAgIGNvbG9yOiAjNWY1ZjVmO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IDAgbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTBweCAzMHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnRhYmNvbnRyb2wgPiAuc3RlcHMgPiB1bCA+IGxpID4gYTpob3Zlclxue1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnRhYmNvbnRyb2wgPiAuc3RlcHMgPiB1bCA+IGxpLmN1cnJlbnQgPiBhXG57XG4gICAgcGFkZGluZzogMTVweCAzMHB4IDEwcHggMzBweDtcbn1cblxuLnRhYmNvbnRyb2wgPiAuY29udGVudFxue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzNWVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNiYmI7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG59XG5cbi50YWJjb250cm9sID4gLmNvbnRlbnQgPiAuYm9keVxue1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogOTUlO1xuICAgIGhlaWdodDogOTUlO1xuICAgIHBhZGRpbmc6IDIuNSU7XG59XG5cbi50YWJjb250cm9sID4gLmNvbnRlbnQgPiAuYm9keSB1bFxue1xuICAgIGxpc3Qtc3R5bGU6IGRpc2MgIWltcG9ydGFudDtcbn1cblxuLnRhYmNvbnRyb2wgPiAuY29udGVudCA+IC5ib2R5IHVsID4gbGlcbntcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59IiwiJHd6LWNvbG9yLWRlZmF1bHQ6ICNFNkU2RTY7XG4kd3otY29sb3ItY3VycmVudDogIzgwODA4MDtcbiR3ei1jb2xvci1kb25lOiAgICAkYnJhbmQtc3VjY2VzcztcbiR3ei1jb2xvci1lZGl0aW5nOiAkYnJhbmQtcHJpbWFyeTtcblxuLnVpLWFuZ3VsYXItd2l6YXJkIHtcbiAgICAuc3RlcHMge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTFlMWUxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWg0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjJlbSAxZW07XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMWUxZTE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWktd2l6YXJkLWNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICAgICAgICBwYWRkaW5nOiAzZW0gMWVtO1xuICAgIH1cblxuICAgIC51aS13aXphcmQtYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMS4yZW0gMWVtO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMWUxZTE7XG4gICAgfVxufVxuXG4uc3RlcHMtaW5kaWNhdG9yIHtcbiAgICAvKiAtLS0tIHN0ZXBzIHF1YW50aXR5IC0tLS0gKi9cblxuXG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDIwcHggMCAwIDA7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgXG5cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHd6LWNvbG9yLWRlZmF1bHQ7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgIH1cblxuICAgICYuc3RlcHMtMjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLyAyIC8gMik7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLyAyIC8gMik7XG4gICAgfVxuXG4gICAgJi5zdGVwcy0zOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAvIDMgLyAyKTtcbiAgICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAvIDMgLyAyKTtcbiAgICB9XG5cbiAgICAmLnN0ZXBzLTQ6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogY2FsYygxMDAlIC8gNCAvIDIpO1xuICAgICAgICByaWdodDogY2FsYygxMDAlIC8gNCAvIDIpO1xuICAgIH1cblxuICAgICYuc3RlcHMtNTpiZWZvcmUge1xuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLyA1IC8gMik7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLyA1IC8gMik7XG4gICAgfVxuXG4gICAgJi5zdGVwcy02OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAvIDYgLyAyKTtcbiAgICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAvIDYgLyAyKTtcbiAgICB9XG5cbiAgICAmLnN0ZXBzLTc6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogY2FsYygxMDAlIC8gNyAvIDIpO1xuICAgICAgICByaWdodDogY2FsYygxMDAlIC8gNyAvIDIpO1xuICAgIH1cblxuICAgICYuc3RlcHMtODpiZWZvcmUge1xuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLyA4IC8gMik7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLyA4IC8gMik7XG4gICAgfVxuXG4gICAgJi5zdGVwcy05OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAvIDkgLyAyKTtcbiAgICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAvIDkgLyAyKTtcbiAgICB9XG5cbiAgICAmLnN0ZXBzLTEwOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAvIDEwIC8gMik7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLyAxMCAvIDIpO1xuICAgIH1cblxuICAgIC8qIC0tLSBodHRwOi8vd3d3LnBhdWxpcmlzaC5jb20vMjAxMi9ib3gtc2l6aW5nLWJvcmRlci1ib3gtZnR3LyAtLS0tICovXG4gICAgKiB7IFxuICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsgXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG5cbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHd6LWNvbG9yLWN1cnJlbnQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cztcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IC03cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSA3cHgpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3ei1jb2xvci1kZWZhdWx0O1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMjVzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKCR3ei1jb2xvci1jdXJyZW50LCAyMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGVwcy0yICBsaSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyKTtcbiAgICB9XG5cbiAgICAmLnN0ZXBzLTMgIGxpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpOyAgIFxuICAgIH1cblxuICAgICYuc3RlcHMtNCAgbGkge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gNCk7XG4gICAgfVxuXG4gICAgJi5zdGVwcy01ICBsaSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA1KTtcbiAgICB9XG5cbiAgICAmLnN0ZXBzLTYgIGxpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDYpO1xuICAgIH1cblxuICAgICYuc3RlcHMtNyAgbGkge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gNyk7XG4gICAgfVxuXG4gICAgJi5zdGVwcy04ICBsaSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA4KTtcbiAgICB9XG5cbiAgICAmLnN0ZXBzLTkgIGxpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDkpO1xuICAgIH1cblxuICAgICYuc3RlcHMtMTAgbGkgIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEwKTtcbiAgICB9XG5cbiAgICAmLnN0ZXBzLTExIGxpICB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMSk7XG4gICAgfVxuXG4gICAgbGkuZGVmYXVsdCB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICR3ei1jb2xvci1jdXJyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGkuY3VycmVudCxcbiAgICBsaS5lZGl0aW5nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgbGkuY3VycmVudCBhOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3ei1jb2xvci1jdXJyZW50O1xuICAgIH1cblxuICAgIGxpLmRvbmUgYTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd3otY29sb3ItZG9uZTtcbiAgICB9XG5cbiAgICBsaS5lZGl0aW5nIGE6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHd6LWNvbG9yLWVkaXRpbmc7XG4gICAgfVxufVxuIiwiLnBhZ2UtZGFzaGJvYXJkIHtcblxuICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICB9XG5cbiAgICAuc20tY2hhcnRzIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgLmJveC1zdGF0cyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7IFxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgJi5uby1ib3JkZXIge1xuICAgICAgICAgICAgLmJveC1udW0ge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYm94LWRlc2Mge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICBjb2xvcjogJHNraW4tZ3JheS1kYXJrO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgICAuYm94LW51bSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogODBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRza2luLWdyYXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWV0cmljcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDU1cHg7XG5cbiAgICAgICAgLm1ldHJpYyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgICAgIH1cblxuICAgICAgICAubWV0cmljLWluZm8ge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGNvbG9yOiAjYWFhO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2dyZXNzYmFyLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuXG4gICAgLy8gXG4gICAgLnBhbmVsLWJveCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGFyZ2U7XG5cbiAgICAgICAgLnBhbmVsLXRvcCxcbiAgICAgICAgLnBhbmVsLWJvdHRvbSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAxNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAucGFuZWwtYm90dG9tIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGZkZmRmO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhbmVsLWluZm8ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMnB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweCAxMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGZkZmRmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJnLWxpZ2h0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gICAgICAgIH1cbiAgICB9ICAgIFxuXG59XG5cbi5pbmZvLWJveC1pY29ue1xuICAgIGJhY2tncm91bmQ6ICMyNjJiMzM7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7ICAgIFxuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLmlvbntcbiAgICBwYWRkaW5nOiA1MHB4IDQwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMzhweDtcbn0gICAiLCJcbi8vIE9sZCBicm93c2Vyc1xuLmx0LWllOS1iZyB7XG4gICAgei1pbmRleDogMTExMTE7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIHBhZGRpbmc6IDEwMHB4IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMjZweDtcblxuICAgIGEge1xuICAgICAgICBjb2xvcjogI2Y1ZjVmNTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIFxuLm5vbi1kaXNwbGF5IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGFnZSB7XG4gICAgcGFkZGluZzogMTVweCAzMHB4O1xuXG4gICAgPiAudWktc2VjdGlvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5wYWdlLWZvcm0tZWxlIHtcbiAgICBoMyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbi5wYWdlLXRvcC12aWV3IC5jbGFzc3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNERkRGREY7XG59XG4ucGFnZS10b3AtdmlldyAuY2xhc3NfbmFtZXtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0MiU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMjNweDtcbn1cblxuLnBhZ2UtdG9wLXZpZXcgLmVkaXRfYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiKDIzOSwgMjM5LCAyMzkpO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgY29sb3I6ICM2NzY2NjY7XG4gICAgZm9udC1zaXplOiAxM3B4O1xufVxuLnBhZ2UtdG9wLXZpZXcgLmNsYXNzX21lYXN1cmVtZW50cyB1bHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2Y5ZjFjYjtcbiAgICBtYXJnaW46IDVweDtcbiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XG59IiwiLmJvZHktZXJyIHtcbiAgICAvLyAjY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrO1xuICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgXG4gICAgLy8gfVxufVxuXG4ucGFnZS1lcnIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAuZXJyLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDQ1cHggMTBweCAwO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDokc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMDBweCAwIDA7XG4gICAgICAgIH0gXG4gICAgfVxuXG4gICAgLmVyciB7XG4gICAgICAgIGNvbG9yOiAkYnJpZ2h0O1xuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgICAgICBjb2xvcjogJGJyaWdodDtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC44KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTUwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDJweCAycHggNXB4IHJnYmEoMCwwLDAsLjIpO1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6JHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTgwcHg7XG4gICAgICAgICAgICB9IFxuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgY29sb3I6ICRicmlnaHQ7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNik7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgICAgICB9IFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmVyci1ib2R5IHtcbiAgICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xuICAgIH1cblxuICAgIC5idG4tZ29iYWNrIHtcbiAgICAgICAgY29sb3I6ICRyZXZlcnNlO1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuOCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcmV2ZXJzZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC44KTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICRyZXZlcnNlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMSk7XG4gICAgICAgIH1cbiAgICAgICAgLm9wZW4gJiB7XG4gICAgICAgICAgICAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRyZXZlcnNlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3RlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbn0iLCIuYm9keS1hdXRoIHtcbiAgICAvLyAjY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRza2luLWdyYXk7XG4gICAgICAgIC8vIGJhY2tncm91bmQ6IHVybCgnI3skaW1hZ2VfcGF0aH0vYmFja2dyb3VuZC8xLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIGZpeGVkOyBcbiAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IFxuICAgIC8vIH0gICAgXG59XG5cblxuLmJ0bi1taW5pbWFsIHtcbiAgICBjb2xvcjogJHJldmVyc2U7XG4gICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBcbiAgICBib3JkZXItY29sb3I6ICRyZXZlcnNlO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuOCk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHJldmVyc2U7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjEpO1xuICAgIH1cbiAgICAub3BlbiAmIHtcbiAgICAgICAgJi5kcm9wZG93bi10b2dnbGUge1xuICAgICAgICAgICAgY29sb3I6ICRyZXZlcnNlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLnBhZ2Utc2lnbmluLFxuLnBhZ2Utc2lnbnVwLFxuLnBhZ2UtZm9yZ290IHtcblxuICAgIC8vIFxuICAgIC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgIH1cblxuICAgIC5tYWluLWJvZHkge1xuICAgICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICAgICAgICBtYXJnaW46IDEwcHggYXV0bztcbiAgICB9XG4gICAgLmJvZHktaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgICAgIGhlaWdodDogMjIwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmFkZGl0aW9uYWwtaW5mbyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIC5kaXZpZGVyLWgge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJyaWdodDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBoMSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgZm9udC1zaXplOiAzOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkIHtcbiAgICAgICAgQGV4dGVuZCAuei1kZXB0aC0yO1xuICAgICAgICAuY2FyZC1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS1pbnB1dC1ncm91cCB7XG4gICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ28ge1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIC8vIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnBhZ2UtcHJvZmlsZSB7XG4gICAgbWFyZ2luOiAtMTVweCAwIDA7XG5cbiAgICAucHJvZmlsZS1oZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMCAtMzBweCAxNXB4O1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDMwcHggOTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcjeyRpbWFnZV9wYXRofS9iYWNrZ3JvdW5kLzEuanBnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgZml4ZWQ7IFxuICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB9XG5cbiAgICAucHJvZmlsZS1pbWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA1cHggcmdiYSgyNTUsMjU1LDI1NSwuNSksIDAgMCAxMHB4IHJnYmEoMCwwLDAsLjIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2ZpbGUtc29jaWFsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICA+IGEge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsMCwwLC4yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9maWxlLWluZm8ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsLjMpO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAzMHB4O1xuICAgICAgICBjb2xvcjogJGJyaWdodDtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcubWVkaWEtb2JqZWN0IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICB9XG59IiwiLnBhZ2UtaW52b2ljZSB7XG5cbiAgICAuaW52b2ljZS13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDMwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZXZlcnNlO1xuICAgIH1cblxufVxuXG4uaW52b2ljZS1pbm5lciB7XG4gICAgcGFkZGluZzogMTVweCAxNXB4IDMwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVyc2U7XG5cbiAgICAuaW52b2ljZS1zdW0ge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnLWFjY2VudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgICAmLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5iZy1kYXJrIHtcbiAgICAgICAgICAgID4gdGgge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJcbi5wYWdlLWljb25zIHtcbiAgICAucGFnZS1oZWFkZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgICAuaWNvbi1tYXRlcmlhbCB7XG4gICAgICAgIC56bWRpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sLXNtLTQge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICAgICAgICAgIC56bWRpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJcbi5wYWdlLWZlYXR1cmVzIHtcbiAgICAucGFuZWwge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxuICAgIC5mZWF0dXJlLWxpc3QtY29udGFpbmVyIHtcbiAgICAgICAgLy8gcGFkZGluZzogMTVweDtcblxuICAgICAgICAucGFuZWwtYm9keSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA1MTYxO1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbC14cy00IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbn0iLCIvLyBmb3JtIFxuLnBhZ2UtZm9ybS1lbGUge1xuICAgIC5saXN0LWNoZWNrYm94LXJhZGlvIGxpIHtcbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgPiBkaXYge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIGRlbW8gc2xpZGVyIFxuLmRlbW9zbGlkZXItY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIG1hcmdpbjogYXV0bztcbn1cblxuLy8gR3JpZFxuLnBhZ2UtZ3JpZCAuZ3JpZC1zdHJ1Y3R1cmUgLnJvdyB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgIC53aWRnZXQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHggMTJweDtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIH1cblxufVxuXG4vLyBUYWJsZVxuLnRhYmxlIHtcbiAgICAmLnRhYmxlLWRlbW8ge1xuICAgICAgICB0cjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBcblxuICAgICAgICAudHlwZS1pbmZvIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy8gPT09PT09PT09PT09XG4vLyA9IEp1c3QgZm9yIGRlbW8gPVxuLy8gPT09PT09PT09PT09XG5cbi8vIHdoaXRlZnJhbWVcbi53aGl0ZWZyYW1lZGVtb0Jhc2ljVXNhZ2UgbWQtd2hpdGVmcmFtZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBtYXJnaW46IDMwcHg7XG4gICAgaGVpZ2h0OiAxMDBweDsgfVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAud2hpdGVmcmFtZWRlbW9CYXNpY1VzYWdlIG1kLXdoaXRlZnJhbWUge1xuICAgICAgICBtYXJnaW46IDdweDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhlNGZhOyB9XG4gICAgLndoaXRlZnJhbWVkZW1vQmFzaWNVc2FnZSBtZC13aGl0ZWZyYW1lID4gc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC40ZW07IH0gfVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgIC53aGl0ZWZyYW1lZGVtb0Jhc2ljVXNhZ2UgbWQtd2hpdGVmcmFtZSB7XG4gICAgICAgIG1hcmdpbjogMjBweDtcbiAgICAgICAgaGVpZ2h0OiA3NXB4OyB9XG4gICAgLndoaXRlZnJhbWVkZW1vQmFzaWNVc2FnZSBtZC13aGl0ZWZyYW1lID4gc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42ZW07IH0gfVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAud2hpdGVmcmFtZWRlbW9CYXNpY1VzYWdlIG1kLXdoaXRlZnJhbWUge1xuICAgICAgICBtYXJnaW46IDIwcHg7XG4gICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZGRkZTsgfVxuICAgIC53aGl0ZWZyYW1lZGVtb0Jhc2ljVXNhZ2UgbWQtd2hpdGVmcmFtZSA+IHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDAuOWVtOyB9IH1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC53aGl0ZWZyYW1lZGVtb0Jhc2ljVXNhZ2UgbWQtd2hpdGVmcmFtZSB7XG4gICAgICAgIG1hcmdpbjogMjVweDtcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0YyRkNFMjsgfVxuICAgIC53aGl0ZWZyYW1lZGVtb0Jhc2ljVXNhZ2UgbWQtd2hpdGVmcmFtZSA+IHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDFlbTsgfSB9XG5cblxuLy8gaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyanMub3JnL2xhdGVzdC9kZW1vL3JhZGlvQnV0dG9uXG4ucmFkaW9CdXR0b25kZW1vTXVsdGlDb2x1bW4gbWQtZGl2aWRlciB7XG4gICAgbWFyZ2luOiAwIC0xNXB4OyB9XG4ucmFkaW9CdXR0b25kZW1vTXVsdGlDb2x1bW4gZGl2LnJhZGlvRGVtbzIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbi5yYWRpb0J1dHRvbmRlbW9NdWx0aUNvbHVtbiBoMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH1cbi5yYWRpb0J1dHRvbmRlbW9NdWx0aUNvbHVtbiBwIHtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI2RkZDsgfVxuLnJhZGlvQnV0dG9uZGVtb011bHRpQ29sdW1uIC5tZC1jaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNGQUZCO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuLnJhZGlvQnV0dG9uZGVtb011bHRpQ29sdW1uIG1kLWJ1dHRvbi5tZC1yYWlzZWQsIC5yYWRpb0J1dHRvbmRlbW9NdWx0aUNvbHVtbiBidXR0b24ubWQtcmFpc2VkIHtcbiAgICB3aWR0aDogMjAwcHg7IH1cbi5yYWRpb0J1dHRvbmRlbW9NdWx0aUNvbHVtbiAucm93IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICNkZGQ7IH1cbi5yYWRpb0J1dHRvbmRlbW9NdWx0aUNvbHVtbiBkaXYucm93Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDBweCBkYXNoZWQgI2RkZDsgfVxuLnJhZGlvQnV0dG9uZGVtb011bHRpQ29sdW1uIC5zdW1tYXJ5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IC01cHg7IH1cbi5yYWRpb0J1dHRvbmRlbW9NdWx0aUNvbHVtbiAudGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cbi5yYWRpb0J1dHRvbmRlbW9NdWx0aUNvbHVtbiAuc2VsZWN0ZWRVc2VyIC5tZC1jaGVja2VkIHtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgd2lkdGg6IDEwMHB4OyB9ICAgICAgICAiLCJcbi5sYXlvdXQtYm94ZWQge1xuICAgID4gLmhlYWRlci1jb250YWluZXIge1xuICAgICAgICAudG9wLWhlYWRlciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRib3hlZF9sYXlvdXRfd2lkdGg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgID4gLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkYm94ZWRfbGF5b3V0X3dpZHRoO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG59XG5cbi5ib2R5LXdpZGUge1xuICAgICYuYXBwID4gLm1haW4tY29udGFpbmVyID4gLm5hdi1jb250YWluZXIsXG4gICAgJi5hcHAgPiAubWFpbi1jb250YWluZXIgPiAuY29udGVudC1jb250YWluZXIsXG4gICAgLmhlYWRlci1jb250YWluZXIgPiAudG9wLWhlYWRlciAubG9nbyxcbiAgICAuaGVhZGVyLWNvbnRhaW5lciA+IC50b3AtaGVhZGVyIC50b3AtbmF2IHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG59XG5cblxuaHRtbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7IC8vIGltcG9ydGFudCFcbiAgICBoZWlnaHQ6IDEwMCU7IC8vIGltcG9ydGFudCFcbiAgICBiYWNrZ3JvdW5kOiBub25lOyAvLyBpbXBvcnRhbnQhLCBmaXggYW5ndWxhci1tYXRlcmlhbCBjc3MgY2F1c2Ugc2lkZWJhciBiYWNrZ3JvdW5kIHRvIGJyZWFrIGJ1Z1xufVxuXG4vLyBkZWZhdWx0XG4uYXBwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMTAwJTsgLy8gaW1wb3J0YW50IVxuICAgIGhlaWdodDogMTAwJTsgLy8gaW1wb3J0YW50IVxuXG4gICAgPiAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgICYuaGVhZGVyLWZpeGVkIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6ICR6aW5kZXgtbmF2YmFyLWZpeGVkO1xuXG4gICAgICAgICAgICAmICsgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJGhlYWRlcl9oZWlnaHQgKiAyO1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRoZWFkZXJfaGVpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLnRvcC1oZWFkZXIge31cbiAgICB9XG5cbiAgICA+IC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTsgLy8gaW1wb3J0YW50IVxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgJjpiZWZvcmUgeyAvLyBjb250ZW50IGNvbnRhaW5lciBiYWNrZ3JvdW5kIGZvciBib3hlZCBsYXlvdXRcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAtMjsgLy8gc28gdGhhdCBpdCBpcyBiZW5lYXRoIHNpZGViYXJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGluaGVyaXQ7IC8vXG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbl9jb250YWluZXJfYmc7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIC0ycHggMnB4IHJnYmEoMCwwLDAsLjIpO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAubmF2LXZlcnRpY2FsIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiAubmF2LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgei1pbmRleDogMTE7IC8vIHNob3VsZCBiZSBoaWdodGVyIHRoYW4gdG9wIGhlYWRlclxuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjI1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIC8vIGJvcmRlci13aWR0aDogMCAxcHggMCAwO1xuICAgICAgICAgICAgLy8gYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIC8vIGJvcmRlci1jb2xvcjogZGFya2VuKCRzaWRlYmFyX2JnLCAxMCUpO1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6JHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xOyAvLyBzbyB0aGF0IGl0IGlzIGJlbmVhdGggdG9wIGhlYWRlclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLm5hdi1maXhlZCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgIHRvcDogJGhlYWRlcl9oZWlnaHQgKiAyO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDokc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogJGhlYWRlcl9oZWlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAvLyB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWFyZ2luLWxlZnQgLjI1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5cbiIsIlxuLy8gTGF5b3V0XG4kYm94ZWRfbGF5b3V0X3dpZHRoOiAgICAxMjAwcHg7XG4kc2NyZWVuLXNtLW1heDogICAgICAgICAoJHNjcmVlbi1zbSAtIDEpO1xuXG4vLyBUb3AgaGVhZGVyXG4kaGVhZGVyX2hlaWdodDogICAgICAgICAgICAgNjRweDsgICAgICAgICAgIC8vKiogXG4kaGVhZGVyX2xpbmVfaGVpZ2h0OiAgICAgICAgMjBweDsgICAgICAgICAgIC8vKiogbGluZS1oZWlnaHQgb2YgdGhlIGhlYWRlciB0ZXh0XG4kaGVhZGVyX2NvbnRhaW5lcl9iZzogICAgICAgJGRhcms7XG4kaGVhZGVyLWJvcmRlcjogICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuMDYpO1xuJGhlYWRlcl9saW5rX2NvbG9yOiAgICAgICAgICNhYWE7XG5cbi8vIE1haW4gY29udGFpbmVyLCBsaWtlIGJvZHlfYmdcbiRtYWluX2NvbnRhaW5lcl9iZzogICAgICAgICAjZWZlZmVmO1xuXG4vLyBTaWRlYmFyLCBkZWZhdWx0IGlzIHZlcnRpY2FsXG4kbmF2LXRyYW5zaXRpb25fZHVyYXRpb246IC4yNXM7XG5cbiRsaWdodF9iZ19saW5rX2hvdmVyX2JnOiAgICAgICAgICAgICB0cmFuc3BhcmVudDsgLy8jZjZmNmY2O1xuJGxpZ2h0X2JnX2xpbmtfaG92ZXJfY29sb3I6ICAgICAgICAgICRicmFuZC1wcmltYXJ5O1xuJGxpZ2h0X2JnX2xpbmtfYWN0aXZlX2JnOiAgICAgICAgICAgICNmNmY2ZjY7XG4kbGlnaHRfYmdfbGlua19hY3RpdmVfY29sb3I6ICAgICAgICAgJGJyYW5kLXByaW1hcnk7XG4kbGlnaHRfYmdfbGlua19vcGVuX2JnOiAgICAgICAgICAgICAgJGxpZ2h0X2JnX2xpbmtfYWN0aXZlX2JnOyAgICAgIC8vIHZlcnRpY2FsIG5hdiBvbmx5XG4kbGlnaHRfYmdfbGlua19vcGVuX2NvbG9yOiAgICAgICAgICAgJGxpZ2h0X2JnX2xpbmtfYWN0aXZlX2NvbG9yOyAgIC8vIHZlcnRpY2FsIG5hdiBvbmx5XG4kbGlnaHRfYmdfc3ViX25hdl9iZzogICAgICAgICAgICAgICAgJGxpZ2h0X2JnX2xpbmtfYWN0aXZlX2JnO1xuJGxpZ2h0X2JnX3N1Yl9saW5rX2FjdGl2ZV9jb2xvcjogICAgICRicmFuZC1wcmltYXJ5O1xuXG4kZGFya19iZ19saW5rX2hvdmVyX2JnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XG4kZGFya19iZ19saW5rX2hvdmVyX2NvbG9yOiAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuOCk7XG4kZGFya19iZ19saW5rX2FjdGl2ZV9iZzogICAgICAgICAgICAgZGFya2VuKCRkYXJrLCAzJSk7XG4kZGFya19iZ19saW5rX2FjdGl2ZV9jb2xvcjogICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuOCk7XG4kZGFya19iZ19saW5rX29wZW5fYmc6ICAgICAgICAgICAgICAgJGRhcmtfYmdfbGlua19hY3RpdmVfYmc7ICAgICAgLy8gdmVydGljYWwgbmF2IG9ubHlcbiRkYXJrX2JnX2xpbmtfb3Blbl9jb2xvcjogICAgICAgICAgICAkZGFya19iZ19saW5rX2FjdGl2ZV9jb2xvcjsgICAvLyB2ZXJ0aWNhbCBuYXYgb25seVxuJGRhcmtfYmdfc3ViX25hdl9iZzogICAgICAgICAgICAgICAgICRkYXJrX2JnX2xpbmtfYWN0aXZlX2JnO1xuJGRhcmtfYmdfc3ViX2xpbmtfYWN0aXZlX2NvbG9yOiAgICAgICRkYXJrX2JnX2xpbmtfYWN0aXZlX2NvbG9yO1xuXG4kaG9yaXpvbnRhbF9zaWRlYmFyX2JnOiAgICAgICAgICAgICAgICAjZWVlO1xuJGhvcml6b250YWxfc3ViX25hdl9iZzogICAgICAgICAgICAgICAgZGFya2VuKCRob3Jpem9udGFsX3NpZGViYXJfYmcsIDUlKTtcbiRob3Jpem9udGFsX2xpbmtfY29sb3I6ICAgICAgICAgICAgICAgICR0ZXh0LWNvbG9yO1xuJGhvcml6b250YWxfbGlua19hY3RpdmVfYmc6ICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XG4kaG9yaXpvbnRhbF9saW5rX2FjdGl2ZV9jb2xvcjogICAgICAgICAkYnJhbmQtcHJpbWFyeTsiLCJcbiNuYXYtY29udGFpbmVyIHtcbiAgICB1bCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICA+IC5uYXYtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG59XG5cbi8vIFxuLm5hdi1jb250YWluZXIge1xuICAgIC5tZC1idXR0b24ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgICAubmF2IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiAtYmxhY2tiZXJyeS10b3VjaDtcblxuICAgICAgICAubmF2LXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTVweCAxNXB4IDEwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdi1kaXZpZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDEwcHggMTVweDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICA+bGk+YT5pLFxuICAgICAgICA+bGk+YT4ubmF2LWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICRuYXYtdHJhbnNpdGlvbl9kdXJhdGlvbiBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICRuYXYtdHJhbnNpdGlvbl9kdXJhdGlvbiBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID5saSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJG5hdi10cmFuc2l0aW9uX2R1cmF0aW9uIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICAuaWNvbi1oYXMtdWwge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYubGktc21hbGwge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgICAgICAgICAgICAgPiBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCA+IGEge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICB9XG5cblxuXG4gICAgICAgICAgICA+YSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAxNXB4O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkbmF2LXRyYW5zaXRpb25fZHVyYXRpb24gZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgICAgICAuYmFkZ2Uge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IC5pY29uLWhhcy11bCB7IC8vIGljb24gZm9yIGRlZmF1bHQgdmVydGljYWwgbmF2XG4gICAgICAgICAgICAgICAgICAgIC8vIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTlweDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5pY29uLWhhcy11bC1oIHsgLy8gaWNvbiBmb3IgaG9yaXpvbnRhbCBuYXZcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyBcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBzdWIgbWVudVxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCA+IGEge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEzcHggMCAxM3B4IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkbmF2LXRyYW5zaXRpb25fZHVyYXRpb24gZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgID4gaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgID4gLmJhZGdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uYXYtdmVydGljYWwge1xuICAgIGJveC1zaGFkb3c6IDJweCAwIDJweCAwIHJnYmEoMCwwLDAsMC4xMik7XG59XG5cblxuXG4iLCJcblxuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgLm9uLWNhbnZhcyB7XG4gICAgICAgICNoZWFkZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTI7IC8vIHNvIHRoYXQgZHJvcGRvd24gaXMgb24gdG9wIG9mIG9mZi1jYW52YXMgbmF2XG4gICAgICAgIH1cblxuICAgICAgICAjbmF2LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHRvcDogJGhlYWRlcl9oZWlnaHQgKiAyO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubWFpbi1jb250YWluZXIge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICNjb250ZW50IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMjIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn0iLCJcblxuLy8gbGF5b3V0IGZvciBob3Jpem9udGFsIG5hdlxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAuYXBwIHtcbiAgICAgICAgPiAubWFpbi1jb250YWluZXIge1xuICAgICAgICAgICAgPiAubmF2LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgJi5uYXYtaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDk7IC8vIGxlc3MgdGhlbiBoZWFkZXIsIGZvciBkcm9wZG93bnNcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkaG9yaXpvbnRhbF9zaWRlYmFyX2JnLCAxMCUpO1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubmF2LXRpdGxlLFxuICAgICAgICAgICAgICAgICAgICAubmF2LWRpdmlkZXIsXG4gICAgICAgICAgICAgICAgICAgIC5saS1zbWFsbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLm5hdi1maXhlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAjbmF2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYubmF2LXRpdGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLm5hdi1kaXZpZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE3LjVweCAyOHB4IDEyLjVweDsgLy8gMTcuNXB4IC0gMTIuNXB4ID0gNSB0byBoYWNrIHRoZSBib3R0b20gNXB4IGNhdXNlZCBieSBpbmxpbmUtYmxvY2sgb24gJ2xpJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJiArIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA4MHB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyBIb3Jpem9udGFsIG5hdiBpcyBkZXNrdG9wIG9ubHlcbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuXG4gICAgLm1haW4tY29udGFpbmVyIHtcblxuICAgICAgICA+IC5uYXYtY29udGFpbmVyLm5hdi1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8vIGNvbnRlbnRcbiAgICAgICAgICAgICYgKyAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdi1ob3Jpem9udGFsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvcml6b250YWxfc2lkZWJhcl9iZztcblxuICAgICAgICAuc2xpbVNjcm9sbERpdiB7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyAvLyBvdmVycmlkZXMgc2xpbVNjcm9sbCBwbHVnaW5cbiAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAuc2xpbVNjcm9sbEJhcixcbiAgICAgICAgICAgIC5zbGltU2Nyb2xsUmFpbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9ICAgICBcblxuICAgICAgICAubmF2IHtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkaG9yaXpvbnRhbF9zaWRlYmFyX2JnLCA1JSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPiBpIHsgY29sb3I6ICR0ZXh0LWNvbG9yOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Jpem9udGFsX2xpbmtfYWN0aXZlX2JnO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRob3Jpem9udGFsX2xpbmtfYWN0aXZlX2NvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgID4gLmljb24taGFzLXVsLWggeyBjb2xvcjogJGhvcml6b250YWxfbGlua19hY3RpdmVfY29sb3I7IH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgICAgICAgICAgICAgICA+IGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuYmFkZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgPiAuaWNvbi1oYXMtdWwgeyAvLyBpY29uIGZvciBkZWZhdWx0IHZlcnRpY2FsIG5hdlxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgPiAuaWNvbi1oYXMtdWwtaCB7IC8vIGljb24gZm9yIGhvcml6b250YWwgbmF2XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAvLyBzdWIgbWVudVxuICAgICAgICAgICAgICAgID4gdWwge1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiA5OyAvLyBsZXNzIHRoZW4gaGVhZGVyLCBzbyB0aGF0IGl0J3MgYmVsb3cgaGVhZGVyIGRyb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG9yaXpvbnRhbF9zdWJfbmF2X2JnO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1iYXNlKTtcblxuICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkaG9yaXpvbnRhbF9zdWJfbmF2X2JnLCA1JSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEzcHggNDBweCAxM3B4IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuIiwiQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICBcbiAgICAuYXBwLm5hdi1jb2xsYXBzZWQtbWluIHtcblxuICAgICAgICAvLyBkZWZhdWx0XG4gICAgICAgIC5zbGltU2Nyb2xsRGl2IHtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7IC8vIG92ZXJyaWRlcyBzbGltU2Nyb2xsIHBsdWdpblxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIC5zbGltU2Nyb2xsQmFyLFxuICAgICAgICAgICAgLnNsaW1TY3JvbGxSYWlsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjbmF2LWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICNuYXYtd3JhcHBlciB7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICNuYXYge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiA1MHB4O1xuICAgICAgICAgICAgICAgICYubGktc21hbGwge1xuICAgICAgICAgICAgICAgICAgICA+IGEgPiBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICA+IGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1sZWZ0OiAtMTUwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaWNvbi1oYXMtdWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID4gdWwge1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiA5O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAxcHggMXB4IDNweCByZ2JhKDAsMCwwLC4yKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICAgICAgICAgID4gdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXYtdGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gSG9yaXpvbnRhbCBtZW51XG4gICAgICAgIC5uYXYtaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICAmI25hdi1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmICsgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubmF2LWZpeGVkICsgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDUwcHggMCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjbmF2IHtcbiAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgPiAuaWNvbi1oYXMtdWwtaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59IiwiXG4vLyBTaWRlYmFyIC0gQ29sb3Jcbi5uYXYtY29udGFpbmVyIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgJi5iZy13aGl0ZSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IC0xcHggMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgICAgICB9XG4gICAgICAgIC5uYXYge1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uYXYtdGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubmF2LWRpdmlkZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGdyYXktbGlnaHRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRfYmdfbGlua19ob3Zlcl9iZztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHRfYmdfbGlua19ob3Zlcl9jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgID4gLmljb24taGFzLXVsIHsgY29sb3I6ICRsaWdodF9iZ19saW5rX2hvdmVyX2NvbG9yOyB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPiAuaWNvbi1oYXMtdWwtaCB7IGNvbG9yOiAkbGlnaHRfYmdfbGlua19ob3Zlcl9jb2xvcjsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRfYmdfbGlua19hY3RpdmVfYmc7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0X2JnX2xpbmtfYWN0aXZlX2NvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgPiAuaWNvbi1oYXMtdWwgeyBjb2xvcjogJGxpZ2h0X2JnX2xpbmtfYWN0aXZlX2NvbG9yOyB9XG4gICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBvdmVycmlkZXMgQm9vdHN0cmFwIFxuICAgICAgICAgICAgICAgID4gYTpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodF9iZ19saW5rX2hvdmVyX2JnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gc3ViIG1lbnVcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRfYmdfc3ViX25hdl9iZztcblxuICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkc3ViX25hdl9iZywgNSUpO1xuICAgICAgICAgICAgICAgICAgICAvLyAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyB9ICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBWZXJ0aWNhbCBOQVYgb25seVxuICAgICAgICAmLm5hdi12ZXJ0aWNhbCB7XG4gICAgICAgICAgICAubmF2IHtcbiAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA2KTtcbiAgICAgICAgICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0X2JnX2xpbmtfb3Blbl9iZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0X2JnX2xpbmtfb3Blbl9jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgID4gLmljb24taGFzLXVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgPiAuaWNvbi1oYXMtdWwtaCB7IGNvbG9yOiAkbGlnaHRfYmdfbGlua19vcGVuX2NvbG9yOyB9ICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gICAgICAgIFxuICAgIH1cblxuICAgICYuYmctZGFyayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAtMXB4IDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAgICAgfVxuICAgICAgICAubmF2IHtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNjY2M7XG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubmF2LXRpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5hdi1kaXZpZGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkZGFyaywgNSUpO1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtfYmdfbGlua19ob3Zlcl9iZztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19iZ19saW5rX2hvdmVyX2NvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgPiAuaWNvbi1oYXMtdWwgeyBjb2xvcjogJGRhcmtfYmdfbGlua19ob3Zlcl9jb2xvcjsgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgID4gLmljb24taGFzLXVsLWggeyBjb2xvcjogJGRhcmtfYmdfbGlua19ob3Zlcl9jb2xvcjsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya19iZ19saW5rX2FjdGl2ZV9iZztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19iZ19saW5rX2FjdGl2ZV9jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA+IC5pY29uLWhhcy11bCB7IGNvbG9yOiAkZGFya19iZ19saW5rX2FjdGl2ZV9jb2xvcjsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBvdmVycmlkZXMgQm9vdHN0cmFwIFxuICAgICAgICAgICAgICAgID4gYTpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrX2JnX2xpbmtfaG92ZXJfYmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBzdWIgbWVudVxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrX2JnX3N1Yl9uYXZfYmc7XG5cbiAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfYmdfc3ViX2xpbmtfYWN0aXZlX2NvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBWZXJ0aWNhbCBOQVYgb25seVxuICAgICAgICAmLm5hdi12ZXJ0aWNhbCB7XG4gICAgICAgICAgICAubmF2IHtcbiAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsIDAuMDUpO1xuICAgICAgICAgICAgICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya19iZ19saW5rX29wZW5fYmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrX2JnX2xpbmtfb3Blbl9jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IC5pY29uLWhhcy11bCB7IGNvbG9yOiAkZGFya19iZ19saW5rX29wZW5fY29sb3I7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgID4gLmljb24taGFzLXVsLWggeyBjb2xvcjogJGRhcmtfYmdfbGlua19vcGVuX2NvbG9yOyB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gIFxuXG4gICAgfVxuXG59XG5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAuYXBwLm5hdi1jb2xsYXBzZWQtbWluIHtcblxuICAgICAgICAubmF2LWNvbnRhaW5lciB7XG5cbiAgICAgICAgICAgICYuYmctd2hpdGUge1xuICAgICAgICAgICAgICAgIC5uYXYge1xuICAgICAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRfYmdfbGlua19hY3RpdmVfYmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmJnLWRhcmsge1xuICAgICAgICAgICAgICAgIC5uYXYge1xuICAgICAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya19iZ19saW5rX2FjdGl2ZV9iZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuLy8gbWFrZSAnLm9wZW4nIGNsYXNzIGVmZmVjdGl2ZSBtb2JpbGUgb25seVxuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4ICkgeyBcbiAgICAubmF2LWhvcml6b250YWwge1xuICAgICAgICAubmF2IHtcbiAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlua19hY3RpdmVfYmc7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPiBpIHsgY29sb3I6ICRicmFuZC1wcmltYXJ5OyB9ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLy8gSG9yaXpvbnRhbCBuYXYgaXMgZGVza3RvcCBvbmx5XG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcblxufVxuIiwiXG4vLyBXaGVuIE5hdiBjb2xsYXBzZWRcbi5hcHAubmF2LWNvbGxhcHNlZC1taW4ge1xuICAgIC50b3AtaGVhZGVyIHtcbiAgICAgICAgLmxvZ28ge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNjBweDsgLy8gNTkgKyAxIChib3JkZXIpXG4gICAgICAgICAgICB9IFxuXG4gICAgICAgICAgICAubG9nby10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfSAgICAgICAgICAgXG4gICAgICAgIH1cblxuICAgICAgICAudG9wLW5hdiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA2MHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBcbi5oZWFkZXItY29udGFpbmVyIHtcbiAgICAvLyBoZWlnaHQ6KCAkaGVhZGVyX2hlaWdodCAqIDIpO1xuICAgIC8vIEBtZWRpYSAobWluLXdpZHRoOiRzY3JlZW4tc20pIHtcbiAgICAvLyAgICAgaGVpZ2h0OiAkaGVhZGVyX2hlaWdodDtcbiAgICAvLyB9XG4gICAgQGV4dGVuZCAuei1kZXB0aC0xO1xuXG4gICAgLmRyb3Bkb3duLW1lbnUud2l0aC1hcnJvdy5wYW5lbCB7XG4gICAgICAgIEBleHRlbmQgLnotZGVwdGgtMTtcbiAgICB9XG4gICAgLm1kLWJ1dHRvbiB7XG4gICAgICAgIG1pbi13aWR0aDogNjZweDtcbiAgICB9XG5cbiAgICA+IC50b3AtaGVhZGVyIHtcbiAgICAgICAgLy8gc2hhcmVkXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRoZWFkZXJfbGlua19jb2xvcjtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oaWRkZW4tbW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14cykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vXG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyX2hlaWdodDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyX2hlaWdodDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMjIwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGhlYWRlci1ib3JkZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sb2dvLWljb24ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gXG4gICAgICAgIC5tZW51LWJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogICggJGhlYWRlcl9oZWlnaHQvMiAtIDE3cHgpO1xuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogNDZweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJyYW5kLXByaW1hcnksIDEwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pY29uLWJhciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaWNvbi1iYXIgKyAuaWNvbi1iYXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gXG4gICAgICAgIC5hZG1pbi1vcHRpb25zIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2tpbi1vcHRpb25zIHtcbiAgICAgICAgICAgIC5wYW5lbC1ib2R5IHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDMzMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBcbiAgICAgICAgLmRyb3Bkb3duLW1lbnUucGFuZWwge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5wYW5lbC1oZWFkaW5nLFxuICAgICAgICAgICAgLnBhbmVsLWZvb3RlciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID4gcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID4gLmRpdmlkZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tZWRpYSB7XG4gICAgICAgICAgICAgICAgLm1lZGlhLWJvZHkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3NXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gXG4gICAgICAgIC50b3AtbmF2IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyX2hlaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRoZWFkZXJfaGVpZ2h0IDAgMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgLjI1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMjIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gdWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFxuICAgICAgICAgICAgLm5hdi1sZWZ0LFxuICAgICAgICAgICAgLm5hdi1yaWdodCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyX2xpbmVfaGVpZ2h0O1xuXG4gICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAmLm5hdi1wcm9maWxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogKCAkaGVhZGVyX2hlaWdodC8yIC0gMTVweCApIDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuaGlkZGVuLXhzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICA+IC50b2dnbGUtbWluIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDokc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICA+IC5idG4tZ3JvdXAgPiBhLFxuICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXJfaGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogKCAoJGhlYWRlcl9oZWlnaHQgLSAkaGVhZGVyX2xpbmVfaGVpZ2h0KS8yICkgMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAoICgkaGVhZGVyX2hlaWdodCAtICRoZWFkZXJfbGluZV9oZWlnaHQpLzIgKSAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLmJhZGdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDokc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlcl9saW5rX2NvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHVsLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNraW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5nbHlwaGljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlYXJjaC1ib3gge1xuICAgICAgICAgICAgICAgIC8vIG1heC1oZWlnaHQ6ICRoZWFkZXJfaGVpZ2h0O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTgwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAwO1xuXG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggMCA2cHggMTJweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmlucHV0LWJhciB7IFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNSU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pbnB1dC1iYXI6YmVmb3JlLFxuICAgICAgICAgICAgICAgIC5pbnB1dC1iYXI6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDsgXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDFweDsgXG4gICAgICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQ6ICR0ZXh0LWNvbG9yOyBcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zNXMgJG1hdGVyaWFsX2FuaW1hdGlvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmlucHV0LWJhcjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pbnB1dC1iYXI6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogNTAlOyBcbiAgICAgICAgICAgICAgICB9ICBcbiAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMgfiAuaW5wdXQtYmFyOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB+IC5pbnB1dC1iYXI6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfSAgICAgICAgICBcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gXG4gICAgICAgICAgICAubmF2LWxlZnQge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRoZWFkZXItYm9yZGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gXG4gICAgICAgICAgICAubmF2LXJpZ2h0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkaGVhZGVyLWJvcmRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGhlYWRlci1ib3JkZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd24tbWVudS5wdWxsLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFxuICAgICAgICAubGFuZ3Mge1xuICAgICAgICAgICAgLmFjdGl2ZS1mbGFnIHtcbiAgICAgICAgICAgICAgICAuZmxhZyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7IC8vIDAgZm9yIGZsYXRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5saXN0LWxhbmdzIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMjBweCA4cHggNTdweDtcblxuICAgICAgICAgICAgICAgICAgICAuZmxhZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDJweDsgLy8gN3B4IGZvciBmbGF0XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgIH1cblxufVxuXG4vLyBcbi5za2luLWNoZWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBzcGFuOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICBcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICA+IC5vdmVybGF5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsLjMpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7IFxuICAgICAgICAgICAgY29sb3I6ICNmZmY7ICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgc3BhbiB7XG4gICAgICAgID4gLm92ZXJsYXkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLnNraW4taXRlbSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2hhZG93OiAwIDAgMnB4IHJnYmEoMCwwLDAsLjEpO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICA+IHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICB9XG5cbiAgICAuaXRlbS1oZWFkZXIge1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgfVxufVxuXG5cbi8vIEhlYWRlciAtIENvbG9yXG4uaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgLy8gVGV4dCBjb2xvciBpbiBkcm9wZG93biBpcyBhbHdheXMgdGhlIHNhbWVcbiAgICAuZHJvcGRvd24ge1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9ICAgICAgICBcbiAgICB9XG5cbiAgICAmLmJnLXdoaXRlIHtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gICAgICAgIC5pbnB1dC1ncm91cC1hZGRvbixcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoLWJveCB7XG4gICAgICAgICAgICAuaW5wdXQtYmFyOmJlZm9yZSxcbiAgICAgICAgICAgIC5pbnB1dC1iYXI6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0ZXh0LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuYmctZGFyayB7XG4gICAgICAgIGNvbG9yOiAkYnJpZ2h0O1xuXG4gICAgICAgIC5pbnB1dC1ncm91cC1hZGRvbixcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGJyaWdodDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zZWFyY2gtYm94IHtcbiAgICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmlucHV0LWJhcjpiZWZvcmUsXG4gICAgICAgICAgICAuaW5wdXQtYmFyOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuYmctcHJpbWFyeSxcbiAgICAmLmJnLXN1Y2Nlc3MsXG4gICAgJi5iZy1pbmZvLFxuICAgICYuYmctaW5mby1hbHQsXG4gICAgJi5iZy13YXJuaW5nLFxuICAgICYuYmctZGFuZ2VyIHtcbiAgICAgICAgY29sb3I6ICRicmlnaHQ7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRicmlnaHQ7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJyaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9ICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbnB1dC1ncm91cC1hZGRvbiB7IGNvbG9yOiAkZ3JheS1saWdodGVyOyB9XG4gICAgICAgIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAjZWFlYWVhOyB9XG4gICAgICAgIDotbW96LXBsYWNlaG9sZGVyIHsgY29sb3I6ICNlYWVhZWE7IH0gLy8gRmlyZWZveCAxOC1cbiAgICAgICAgOjotbW96LXBsYWNlaG9sZGVyIHsgIGNvbG9yOiAjZWFlYWVhOyB9IC8vIEZpcmVmb3ggMTkrXG4gICAgICAgIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge2NvbG9yOiAjZWFlYWVhOyB9ICAgXG5cbiAgICAgICAgLnRvcC1uYXYgLm5hdi1sZWZ0ID4gbGkgPiBhIC5iYWRnZSB7XG4gICAgICAgICAgICBjb2xvcjogI2VhZWFlYTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2gtYm94IHtcbiAgICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmlucHV0LWJhcjpiZWZvcmUsXG4gICAgICAgICAgICAuaW5wdXQtYmFyOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gXG4gICAgPiAudG9wLWhlYWRlciB7XG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEpO1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5iZy13aGl0ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJiArIC5tZW51LWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIC5pY29uLWJhciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmljb24tYmFyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZXJzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5iZy1kYXJrLFxuICAgICAgICAgICAgJi5iZy1wcmltYXJ5LFxuICAgICAgICAgICAgJi5iZy1zdWNjZXNzLFxuICAgICAgICAgICAgJi5iZy1pbmZvLFxuICAgICAgICAgICAgJi5iZy1pbmZvLWFsdCxcbiAgICAgICAgICAgICYuYmctd2FybmluZyxcbiAgICAgICAgICAgICYuYmctZGFuZ2VyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJyaWdodDtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRicmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRicmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9ICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG5cbi5wcmVsb2FkZXJiYXIge1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IC00cHg7XG5cbiAgICAuYmFyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIzYjdlNTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgYW5pbWF0aW9uOiBjaGFuZ2ViYXIgMi4yNXMgaW5maW5pdGUgMC43NXM7XG4gICAgfVxuICAgICYuYWN0aXZlIC5iYXIge1xuICAgICAgICBhbmltYXRpb246IGNoYW5nZWJhciAyLjI1cyBpbmZpbml0ZTtcbiAgICB9XG4gICAgJi5hY3RpdmUgLmJhcjpiZWZvcmUge1xuICAgICAgICBhbmltYXRpb246IG1vdmluZ2JhciAwLjc1cyBpbmZpbml0ZTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbW92aW5nYmFyIHtcbiAgICAwJSB7XG4gICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICB9XG4gICAgOTkuOSUge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIGNoYW5nZWJhciB7XG4gICAgMCUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtc3VjY2VzcztcbiAgICB9XG4gICAgMzMuMyUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtc3VjY2VzcztcbiAgICB9XG4gICAgMzMuMzMlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXdhcm5pbmc7XG4gICAgfVxuICAgIDY2LjYlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXdhcm5pbmc7XG4gICAgfVxuICAgIDY2LjY2JSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1kYW5nZXI7XG4gICAgfVxuICAgIDk5LjklIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLWRhbmdlcjtcbiAgICB9XG59XG5cbiIsImJvZHkge1xuICAgIGJhY2tncm91bmQ6ICRtYWluX2NvbnRhaW5lcl9iZztcbn1cblxuXG4uYm9keS1hdXRoLFxuLmJvZHktZXJyIHtcbiAgICAmLmFwcCA+IC5tYWluLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cblxuICAgIC8vIHdoZW4gaXQncyBub3JtYWwgbmF2XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgLnBhZ2Utc2lnbmluLFxuICAgICAgICAucGFnZS1zaWdudXAsXG4gICAgICAgIC5wYWdlLWZvcmdvdCxcbiAgICAgICAgLnBhZ2UtZXJyIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjIwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gd2hlbiBpdCdzIGNvbGxhcHNlZCBuYXZcbiAgICAmLm5hdi1jb2xsYXBzZWQtbWluIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIC5wYWdlLXNpZ25pbixcbiAgICAgICAgICAgIC5wYWdlLXNpZ251cCxcbiAgICAgICAgICAgIC5wYWdlLWZvcmdvdCxcbiAgICAgICAgICAgIC5wYWdlLWVyciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIHdoZW4gaXQncyBob3Jpem9udGFsIG5hdlxuICAgIC5uYXYtaG9yaXpvbnRhbCArIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAucGFnZS1zaWduaW4sXG4gICAgICAgICAgICAucGFnZS1zaWdudXAsXG4gICAgICAgICAgICAucGFnZS1mb3Jnb3QsXG4gICAgICAgICAgICAucGFnZS1lcnIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAgICAgICAgICBcbiAgICB9XG59XG5cbi8vIGZ1bGxzY3JlZW4sIGhpZGUgaGVhZGVyIGFuZCBzaWRlYmFyXG4uYm9keS13aWRlIHtcblxuICAgICNoZWFkZXIsXG4gICAgI25hdi1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgID4gLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICNjb250ZW50IHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAvLyBib3R0b206IDA7XG4gICAgICAgIC8vIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgIH1cblxuICAgIC8vIFxuICAgICYub24tY2FudmFzIC5tYWluLWNvbnRhaW5lciAjY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxufVxuXG5cbiJdfQ== */



.details_area.ng-binding {
    margin: 10px 0px;
    background: #EFEFEF;
    padding: 18px;
}

.sensorbox{
    background: #262b33;
    min-height: 138px;
    color: white;
    word-wrap: break-word;
}
.area_box{
    background: white;
    margin-bottom: 9px;
}
.area_title{
  font-size: 13px;
}

.area_title {
    font-size: 20px;
    margin: 8px 10px;
}
.latest_value{
      font-size: 11px;
    font-weight: normal;
    padding: 0px;
    margin: 0;
    margin-bottom: -10px;
}

.saved{
    display: none;
    width: 70%;
    position: fixed;
    top: 0px;
    z-index: 9999999999;
    text-align: center;
    background: green;
    min-height: 44px;
    border-radius: 0px 0px 10px 10px;
    color: white;
    line-height: 41px;
    font-size: 17px;
}
.watt_count{
  font-weight: bold;
    font-size: 25px;
    text-align: center;
}
.watt_count_small{
    font-weight: bold;
    font-size: 18px;
    text-align: center;

}
.school_name {
    text-align: center;
    font-weight: normal;
    font-size: 15px;
    color: #7d7d7d;
}


.new_chart_class {
    background: #dddddd;
    padding: 20px;
    margin: 10px;
}

.delete_label{
    font-size: 10px;
    color: red;
    text-decoration: underline;
}

.fp{
  background: #e2e2e2;
  float: left;
  padding: 20px 0px;
  margin: 10px 30px;
  }

  .info_box{
    margin-top: 10px;
    text-align: center;
    border: 1px solid #0063c8;
    background: #bbd8e6;
    padding: 20px;
    color: #080030;
    font-weight: bold;
  }

h2.tmes {
    font-size: 18px;
    color: #7b7b7b;
    font-weight: normal;
}
h3.vals {
    font-size: 23px;
}

.facebookgroup{
    position: absolute;
    bottom: 0px;
    max-width: 100%;
    cursor: pointer;
  }

  .brules li{
    width: 100%;
    border-bottom: 1px solid #009688;
    padding: 10px;
    list-style-type: none;
    background: white;
  
  }
.brules li .btn {
    margin-top: 10px;
}

button.active {
    background: #686b71!important;
    color: white!important;
}
.chart_loading {
    position: absolute;
    width: 100%;
    background: #efefef;
    height: 100%;
    top: 0;
    text-align: center;
    color: #262b33;
    padding-top: 50px;
    left: 0;
    z-index: 9999
}
.error_div{
  text-align: center;
    background: #ffc728;
    padding: 61px;
    font-weight: bold;
    color: black;
    border: 2px solid #f98b02;
}
td{
      vertical-align: middle!important;
}
.left{
  float: left;
}


/* The Overlay (background) */
.overlay {
    /* Height & width depends on how you want to reveal the overlay (see JS below) */    
    height: 100%;
    width: 0;
    position: fixed; /* Stay in place */
    z-index: 999999; /* Sit on top */
    left: 0;
    top: 0;
    background-color: rgb(0,0,0); /* Black fallback color */
    background-color: rgba(0,0,0, 0.9); /* Black w/opacity */
    overflow-x: hidden; /* Disable horizontal scroll */
    transition: 0.5s; /* 0.5 second transition effect to slide in or slide down the overlay (height or width, depending on reveal) */
}

/* Position the content inside the overlay */
.overlay-content {
    position: relative;
    top: 25%; /* 25% from the top */
    width: 100%; /* 100% width */
    text-align: center; /* Centered text/links */
    margin-top: 30px; /* 30px top margin to avoid conflict with the close button on smaller screens */
    color: white;
    line-height: 24px;
}

/* The navigation links inside the overlay */
.overlay a {
    padding: 8px;
    text-decoration: none;
    font-size: 36px;
    color: #818181;
    display: block; /* Display block instead of inline */
    transition: 0.3s; /* Transition effects on hover (color) */
}

/* When you mouse over the navigation links, change their color */
.overlay a:hover, .overlay a:focus {
    color: #f1f1f1;
}

/* Position the close button (top right corner) */
.overlay .closebtn {
    position: absolute;
    top: 20px;
    right: 45px;
    font-size: 60px;
}

/* When the height of the screen is less than 450 pixels, change the font-size of the links and position the close button again, so they don't overlap */
@media screen and (max-height: 450px) {
    .overlay a {font-size: 20px}
    .overlay .closebtn {
        font-size: 40px;
        top: 15px;
        right: 35px;
    }
}
.sensor_table{
  text-align: left;
  max-width: 410px;
  margin: 38px auto;
}
.social_images{
  width: 100%;
  height: 100px;
  z-index: 99999;
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: center;
}
img.social_1 {
    position: relative;
    width: 70px;
    max-width: 100%;
    margin-bottom: 5px;
    cursor: pointer;
}
img.social_2 {
    position: relative;
    width: 42px;
    margin-bottom: 5px;
    cursor: pointer;
}
img.social_3 {
    position: relative;
    width: 50px;
    margin-bottom: 5px;
    cursor: pointer;
}

.custom_alert_fixed {
    position: fixed;
    width: 100%;
    top: 0;
    height: 100%;
    left: 0;
    z-index: 999999999999999;
    background: black;
}
.message_box_alert{
    background: white;
    border-radius: 5px;
    width: 400px;
    max-width: 100%;
    position: absolute;
    top: 300px;
    left: 50%;
    margin-left: -200px;
    padding: 10px 12px 0px 16px;
}
.rowbtns{
    width: 100%;
    margin:10px 0px;
    padding: 5px 15px;
}
#map {  
  width: 100%;
        height: 100%;
      }