.opacity-25 {
  opacity: .25 !important; }

.opacity-50 {
  opacity: .5 !important; }

.opacity-75 {
  opacity: .75 !important; }

.opacity-100 {
  opacity: 1 !important; }

.text-tiny {
  font-size: 70% !important; }

.text-big {
  font-size: 112% !important; }

.text-large {
  font-size: 150% !important; }

.text-xlarge {
  font-size: 170% !important; }

.line-height-1 {
  line-height: 1 !important; }

.line-height-condenced {
  line-height: 1.3 !important; }

.line-height-inherit {
  line-height: inherit !important; }

.text-expanded {
  letter-spacing: 0.06991em !important; }

.font-weight-light {
  font-weight: 300 !important; }

.font-weight-semibold {
  font-weight: 500 !important; }

.font-weight-bolder {
  font-weight: 900 !important; }

.text-decoration-none {
  text-decoration: none !important; }

.text-transform-none {
  text-transform: none !important; }

.overflow-hidden {
  overflow: hidden !important; }

.overflow-scroll {
  overflow: scroll !important; }

.overflow-auto {
  overflow: auto !important; }

.box-shadow-none {
  -webkit-box-shadow: none !important;
          box-shadow: none !important; }

.cursor-pointer {
  cursor: pointer !important; }

.container-p-x {
  padding-right: 1rem !important;
  padding-left: 1rem !important; }
  @media (min-width: 992px) {
    .container-p-x {
      padding-right: 2rem !important;
      padding-left: 2rem !important; } }

.container-m--x {
  margin-right: -1rem !important;
  margin-left: -1rem !important; }
  @media (min-width: 992px) {
    .container-m--x {
      margin-right: -2rem !important;
      margin-left: -2rem !important; } }

.container-p-y:not([class^="pt-"]):not([class*=" pt-"]) {
  padding-top: 1.5rem !important; }

.container-p-y:not([class^="pb-"]):not([class*=" pb-"]) {
  padding-bottom: 1.5rem !important; }

.container-m--y:not([class^="mt-"]):not([class*=" mt-"]) {
  margin-top: -1.5rem !important; }

.container-m--y:not([class^="mb-"]):not([class*=" mb-"]) {
  margin-bottom: -1.5rem !important; }

.rotate-90 {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg); }

.rotate-180 {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg); }

.rotate-270 {
  -webkit-transform: rotate(270deg);
          transform: rotate(270deg); }

.rotate--90 {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg); }

.rotate--180 {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg); }

.rotate--270 {
  -webkit-transform: rotate(-270deg);
          transform: rotate(-270deg); }

.rotate-0 {
  -webkit-transform: rotate(0deg) !important;
          transform: rotate(0deg) !important; }

.scaleX--1 {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1); }

.scaleY--1 {
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1); }

.row-bordered {
  overflow: hidden; }
  .row-bordered > .col,
  .row-bordered > [class^="col-"],
  .row-bordered > [class*=" col-"],
  .row-bordered > [class^="col "],
  .row-bordered > [class*=" col "],
  .row-bordered > [class$=" col"],
  .row-bordered > [class="col"] {
    position: relative;
    padding-top: 1px; }
    .row-bordered > .col::before,
    .row-bordered > [class^="col-"]::before,
    .row-bordered > [class*=" col-"]::before,
    .row-bordered > [class^="col "]::before,
    .row-bordered > [class*=" col "]::before,
    .row-bordered > [class$=" col"]::before,
    .row-bordered > [class="col"]::before {
      content: "";
      position: absolute;
      right: 0;
      bottom: -1px;
      left: 0;
      display: block;
      height: 0;
      border-top: 1px solid rgba(24, 28, 33, 0.06); }
    .row-bordered > .col::after,
    .row-bordered > [class^="col-"]::after,
    .row-bordered > [class*=" col-"]::after,
    .row-bordered > [class^="col "]::after,
    .row-bordered > [class*=" col "]::after,
    .row-bordered > [class$=" col"]::after,
    .row-bordered > [class="col"]::after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: -1px;
      display: block;
      width: 0;
      border-left: 1px solid rgba(24, 28, 33, 0.06); }
  .row-bordered.row-border-light > .col::before, .row-bordered.row-border-light > .col::after,
  .row-bordered.row-border-light > [class^="col-"]::before,
  .row-bordered.row-border-light > [class^="col-"]::after,
  .row-bordered.row-border-light > [class*=" col-"]::before,
  .row-bordered.row-border-light > [class*=" col-"]::after,
  .row-bordered.row-border-light > [class^="col "]::before,
  .row-bordered.row-border-light > [class^="col "]::after,
  .row-bordered.row-border-light > [class*=" col "]::before,
  .row-bordered.row-border-light > [class*=" col "]::after,
  .row-bordered.row-border-light > [class$=" col"]::before,
  .row-bordered.row-border-light > [class$=" col"]::after,
  .row-bordered.row-border-light > [class="col"]::before,
  .row-bordered.row-border-light > [class="col"]::after {
    border-color: rgba(24, 28, 33, 0.06); }

@media (min-width: 576px) {
  .w-sm-100 {
    width: 100% !important; }
  .w-sm-auto {
    width: auto !important; } }

@media (min-width: 768px) {
  .w-md-100 {
    width: 100% !important; }
  .w-md-auto {
    width: auto !important; } }

@media (min-width: 992px) {
  .w-lg-100 {
    width: 100% !important; }
  .w-lg-auto {
    width: auto !important; } }

@media (min-width: 1200px) {
  .w-xl-100 {
    width: 100% !important; }
  .w-xl-auto {
    width: auto !important; } }

.mr--0,
.mx--0 {
  margin-right: 0 !important; }

.ml--0,
.mx--0 {
  margin-left: 0 !important; }

.mr--1,
.mx--1 {
  margin-right: -0.25rem !important; }

.ml--1,
.mx--1 {
  margin-left: -0.25rem !important; }

.mr--2,
.mx--2 {
  margin-right: -0.5rem !important; }

.ml--2,
.mx--2 {
  margin-left: -0.5rem !important; }

.mr--3,
.mx--3 {
  margin-right: -1rem !important; }

.ml--3,
.mx--3 {
  margin-left: -1rem !important; }

.mr--4,
.mx--4 {
  margin-right: -1.5rem !important; }

.ml--4,
.mx--4 {
  margin-left: -1.5rem !important; }

.mr--5,
.mx--5 {
  margin-right: -3rem !important; }

.ml--5,
.mx--5 {
  margin-left: -3rem !important; }

@media (min-width: 576px) {
  .mr-sm--0,
  .mx-sm--0 {
    margin-right: 0 !important; }
  .ml-sm--0,
  .mx-sm--0 {
    margin-left: 0 !important; }
  .mr-sm--1,
  .mx-sm--1 {
    margin-right: -0.25rem !important; }
  .ml-sm--1,
  .mx-sm--1 {
    margin-left: -0.25rem !important; }
  .mr-sm--2,
  .mx-sm--2 {
    margin-right: -0.5rem !important; }
  .ml-sm--2,
  .mx-sm--2 {
    margin-left: -0.5rem !important; }
  .mr-sm--3,
  .mx-sm--3 {
    margin-right: -1rem !important; }
  .ml-sm--3,
  .mx-sm--3 {
    margin-left: -1rem !important; }
  .mr-sm--4,
  .mx-sm--4 {
    margin-right: -1.5rem !important; }
  .ml-sm--4,
  .mx-sm--4 {
    margin-left: -1.5rem !important; }
  .mr-sm--5,
  .mx-sm--5 {
    margin-right: -3rem !important; }
  .ml-sm--5,
  .mx-sm--5 {
    margin-left: -3rem !important; } }

@media (min-width: 768px) {
  .mr-md--0,
  .mx-md--0 {
    margin-right: 0 !important; }
  .ml-md--0,
  .mx-md--0 {
    margin-left: 0 !important; }
  .mr-md--1,
  .mx-md--1 {
    margin-right: -0.25rem !important; }
  .ml-md--1,
  .mx-md--1 {
    margin-left: -0.25rem !important; }
  .mr-md--2,
  .mx-md--2 {
    margin-right: -0.5rem !important; }
  .ml-md--2,
  .mx-md--2 {
    margin-left: -0.5rem !important; }
  .mr-md--3,
  .mx-md--3 {
    margin-right: -1rem !important; }
  .ml-md--3,
  .mx-md--3 {
    margin-left: -1rem !important; }
  .mr-md--4,
  .mx-md--4 {
    margin-right: -1.5rem !important; }
  .ml-md--4,
  .mx-md--4 {
    margin-left: -1.5rem !important; }
  .mr-md--5,
  .mx-md--5 {
    margin-right: -3rem !important; }
  .ml-md--5,
  .mx-md--5 {
    margin-left: -3rem !important; } }

@media (min-width: 992px) {
  .mr-lg--0,
  .mx-lg--0 {
    margin-right: 0 !important; }
  .ml-lg--0,
  .mx-lg--0 {
    margin-left: 0 !important; }
  .mr-lg--1,
  .mx-lg--1 {
    margin-right: -0.25rem !important; }
  .ml-lg--1,
  .mx-lg--1 {
    margin-left: -0.25rem !important; }
  .mr-lg--2,
  .mx-lg--2 {
    margin-right: -0.5rem !important; }
  .ml-lg--2,
  .mx-lg--2 {
    margin-left: -0.5rem !important; }
  .mr-lg--3,
  .mx-lg--3 {
    margin-right: -1rem !important; }
  .ml-lg--3,
  .mx-lg--3 {
    margin-left: -1rem !important; }
  .mr-lg--4,
  .mx-lg--4 {
    margin-right: -1.5rem !important; }
  .ml-lg--4,
  .mx-lg--4 {
    margin-left: -1.5rem !important; }
  .mr-lg--5,
  .mx-lg--5 {
    margin-right: -3rem !important; }
  .ml-lg--5,
  .mx-lg--5 {
    margin-left: -3rem !important; } }

@media (min-width: 1200px) {
  .mr-xl--0,
  .mx-xl--0 {
    margin-right: 0 !important; }
  .ml-xl--0,
  .mx-xl--0 {
    margin-left: 0 !important; }
  .mr-xl--1,
  .mx-xl--1 {
    margin-right: -0.25rem !important; }
  .ml-xl--1,
  .mx-xl--1 {
    margin-left: -0.25rem !important; }
  .mr-xl--2,
  .mx-xl--2 {
    margin-right: -0.5rem !important; }
  .ml-xl--2,
  .mx-xl--2 {
    margin-left: -0.5rem !important; }
  .mr-xl--3,
  .mx-xl--3 {
    margin-right: -1rem !important; }
  .ml-xl--3,
  .mx-xl--3 {
    margin-left: -1rem !important; }
  .mr-xl--4,
  .mx-xl--4 {
    margin-right: -1.5rem !important; }
  .ml-xl--4,
  .mx-xl--4 {
    margin-left: -1.5rem !important; }
  .mr-xl--5,
  .mx-xl--5 {
    margin-right: -3rem !important; }
  .ml-xl--5,
  .mx-xl--5 {
    margin-left: -3rem !important; } }

.flex-truncate {
  min-width: 0 !important; }

.flex-basis-100 {
  -ms-flex-preferred-size: 100% !important;
      flex-basis: 100% !important; }

.flex-basis-auto {
  -ms-flex-preferred-size: auto !important;
      flex-basis: auto !important; }

@media (min-width: 576px) {
  .flex-basis-sm-100 {
    -ms-flex-preferred-size: 100% !important;
        flex-basis: 100% !important; }
  .flex-basis-sm-auto {
    -ms-flex-preferred-size: auto !important;
        flex-basis: auto !important; } }

@media (min-width: 768px) {
  .flex-basis-md-100 {
    -ms-flex-preferred-size: 100% !important;
        flex-basis: 100% !important; }
  .flex-basis-md-auto {
    -ms-flex-preferred-size: auto !important;
        flex-basis: auto !important; } }

@media (min-width: 992px) {
  .flex-basis-lg-100 {
    -ms-flex-preferred-size: 100% !important;
        flex-basis: 100% !important; }
  .flex-basis-lg-auto {
    -ms-flex-preferred-size: auto !important;
        flex-basis: auto !important; } }

@media (min-width: 1200px) {
  .flex-basis-xl-100 {
    -ms-flex-preferred-size: 100% !important;
        flex-basis: 100% !important; }
  .flex-basis-xl-auto {
    -ms-flex-preferred-size: auto !important;
        flex-basis: auto !important; } }

.d-flex,
.d-inline-flex,
.media,
.media > :not(.media-body),
.jumbotron,
.card {
  -ms-flex-negative: 1;
      flex-shrink: 1; }

.ie-mh-1 {
  min-height: 1px; }

.text-dark {
  color: #4E5155 !important; }
  .text-dark[href]:hover {
    color: #3c8ae2 !important; }
  .text-dark[href]:focus:not(:hover) {
    color: #4E5155 !important; }

.text-muted[href]:hover, .text-muted[href]:focus {
  color: #8c8e90 !important; }

.text-light {
  color: #babbbc !important; }
  .text-light[href]:hover, .text-light[href]:focus {
    color: #8c8e90 !important; }

.text-lighter {
  color: #d1d2d3 !important; }
  .text-lighter[href]:hover, .text-lighter[href]:focus {
    color: #8c8e90 !important; }

.text-lightest {
  color: #e8e8e9 !important; }
  .text-lightest[href]:hover, .text-lightest[href]:focus {
    color: #8c8e90 !important; }

.bg-dark {
  background-color: rgba(24, 28, 33, 0.9) !important; }

a.bg-dark:hover, a.bg-dark:focus {
  background-color: rgba(24, 28, 33, 0.9) !important; }

.bg-light {
  background-color: rgba(24, 28, 33, 0.06) !important; }

a.bg-light:hover, a.bg-light:focus {
  background-color: rgba(24, 28, 33, 0.1) !important; }

.bg-lighter {
  background-color: rgba(24, 28, 33, 0.03) !important; }

a.bg-lighter:hover, a.bg-lighter:focus {
  background-color: rgba(24, 28, 33, 0.06) !important; }

.bg-lightest {
  background-color: rgba(24, 28, 33, 0.015) !important; }

a.bg-lightest:hover, a.bg-lightest:focus {
  background-color: rgba(24, 28, 33, 0.03) !important; }

.border-light {
  border-color: rgba(24, 28, 33, 0.06) !important; }

.border-dark {
  border-color: rgba(24, 28, 33, 0.9) !important; }

.border-transparent {
  border-color: transparent !important; }

body {
  -moz-font-feature-settings: "liga" on;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility; }

@media (min-width: 768px) {
  button.list-group-item {
    outline: none !important; } }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .card,
  .card-body,
  .media,
  .flex-column,
  .tab-content {
    min-height: 1px; }
  img {
    min-height: 1px;
    height: auto; } }

.container,
.container-fluid {
  padding-right: 1rem;
  padding-left: 1rem; }
  @media (min-width: 992px) {
    .container,
    .container-fluid {
      padding-right: 2rem;
      padding-left: 2rem; } }

.img-thumbnail {
  position: relative;
  display: block; }

.img-thumbnail img {
  z-index: 1; }

.img-thumbnail-content {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  display: block;
  opacity: 0;
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
  .img-thumbnail:hover .img-thumbnail-content,
  .img-thumbnail:focus .img-thumbnail-content {
    opacity: 1; }

.img-thumbnail-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: block;
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out; }
  .img-thumbnail:not(:hover):not(:focus) .img-thumbnail-overlay {
    opacity: 0 !important; }

.img-thumbnail-shadow {
  -webkit-transition: -webkit-box-shadow .2s;
  transition: -webkit-box-shadow .2s;
  transition: box-shadow .2s;
  transition: box-shadow .2s, -webkit-box-shadow .2s; }
  .img-thumbnail-shadow:hover, .img-thumbnail-shadow:focus {
    -webkit-box-shadow: 0 5px 20px rgba(24, 28, 33, 0.4);
            box-shadow: 0 5px 20px rgba(24, 28, 33, 0.4); }

.img-thumbnail-zoom-in {
  overflow: hidden; }
  .img-thumbnail-zoom-in img {
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    -webkit-transform: translate3d(0);
            transform: translate3d(0); }
  .img-thumbnail-zoom-in .img-thumbnail-content {
    -webkit-transform: translate(-50%, -50%) scale(0.6);
            transform: translate(-50%, -50%) scale(0.6); }
  .img-thumbnail-zoom-in:hover img, .img-thumbnail-zoom-in:focus img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  .img-thumbnail-zoom-in:hover .img-thumbnail-content, .img-thumbnail-zoom-in:focus .img-thumbnail-content {
    -webkit-transform: translate(-50%, -50%) scale(1);
            transform: translate(-50%, -50%) scale(1); }

.table .table-secondary,
.table .table-secondary > th,
.table .table-secondary > td {
  border-color: rgba(0, 0, 0, 0.035);
  background-color: #f3f5f7;
  color: #616263; }

.table-hover .table-secondary:hover,
.table-hover .table-secondary:hover > td,
.table-hover .table-secondary:hover > th {
  background-color: #f1f3f5; }

.table .table-success,
.table .table-success > th,
.table .table-success > td {
  border-color: rgba(0, 0, 0, 0.035);
  background-color: #e6f8f1;
  color: #5c6360; }

.table-hover .table-success:hover,
.table-hover .table-success:hover > td,
.table-hover .table-success:hover > th {
  background-color: #e4f6ef; }

.table .table-info,
.table .table-info > th,
.table .table-info > td {
  border-color: rgba(0, 0, 0, 0.035);
  background-color: #eaf9fb;
  color: #5e6464; }

.table-hover .table-info:hover,
.table-hover .table-info:hover > td,
.table-hover .table-info:hover > th {
  background-color: #e8f7f8; }

.table .table-warning,
.table .table-warning > th,
.table .table-warning > td {
  border-color: rgba(0, 0, 0, 0.035);
  background-color: #fffbee;
  color: #66645f; }

.table-hover .table-warning:hover,
.table-hover .table-warning:hover > td,
.table-hover .table-warning:hover > th {
  background-color: #fcf8ec; }

.table .table-danger,
.table .table-danger > th,
.table .table-danger > td {
  border-color: rgba(0, 0, 0, 0.035);
  background-color: #fbeeed;
  color: #645f5f; }

.table-hover .table-danger:hover,
.table-hover .table-danger:hover > td,
.table-hover .table-danger:hover > th {
  background-color: #f8eceb; }

.table .table-dark,
.table .table-dark > th,
.table .table-dark > td {
  border-color: rgba(0, 0, 0, 0.035);
  background-color: #e8e8e9;
  color: #5d5d5d; }

.table-hover .table-dark:hover,
.table-hover .table-dark:hover > td,
.table-hover .table-dark:hover > th {
  background-color: #e6e6e7; }

.table.table-fixed {
  table-layout: fixed; }

.table th {
  font-weight: 500; }

.table-responsive > .table {
  max-width: none; }

.table-active,
.table-active > th,
.table-active > td {
  border-color: rgba(24, 28, 33, 0.035);
  background-color: #f7f7f7; }

.table-hover .table-active:hover,
.table-hover .table-active:hover > td,
.table-hover .table-active:hover > th {
  background-color: whitesmoke; }

.card-table {
  margin-bottom: 0; }

.card-table,
.card-table th,
.card-table td {
  border-color: rgba(24, 28, 33, 0.06); }

.card-table > thead:first-child > tr:first-child > td,
.card-table > thead:first-child > tr:first-child > th,
.card-table > tbody:first-child > tr:first-child > td,
.card-table > tbody:first-child > tr:first-child > th,
.card-table > tfoot:first-child > tr:first-child > td,
.card-table > tfoot:first-child > tr:first-child > th {
  border-top: 0; }

.card-table > thead > tr > td:first-child,
.card-table > thead > tr > th:first-child,
.card-table > tbody > tr > td:first-child,
.card-table > tbody > tr > th:first-child,
.card-table > tfoot > tr > td:first-child,
.card-table > tfoot > tr > th:first-child {
  padding-left: 1.5rem;
  border-left: 0; }

.card-table > thead > tr > td:last-child,
.card-table > thead > tr > th:last-child,
.card-table > tbody > tr > td:last-child,
.card-table > tbody > tr > th:last-child,
.card-table > tfoot > tr > td:last-child,
.card-table > tfoot > tr > th:last-child {
  padding-right: 1.5rem;
  border-right: 0; }

.card-condenced .card-table > thead > tr > td:first-child,
.card-condenced .card-table > thead > tr > th:first-child,
.card-condenced .card-table > tbody > tr > td:first-child,
.card-condenced .card-table > tbody > tr > th:first-child,
.card-condenced .card-table > tfoot > tr > td:first-child,
.card-condenced .card-table > tfoot > tr > th:first-child {
  padding-left: 1rem;
  border-left: 0; }

.card-condenced .card-table > thead > tr > td:last-child,
.card-condenced .card-table > thead > tr > th:last-child,
.card-condenced .card-table > tbody > tr > td:last-child,
.card-condenced .card-table > tbody > tr > th:last-child,
.card-condenced .card-table > tfoot > tr > td:last-child,
.card-condenced .card-table > tfoot > tr > th:last-child {
  padding-right: 1rem;
  border-right: 0; }

.btn {
  font-size: 0.894rem; }

.btn .badge {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  @media screen and (prefers-reduced-motion: reduce) {
    .btn .badge {
      -webkit-transition: none;
      transition: none; } }

label.btn {
  margin-bottom: 0; }

.btn-secondary {
  border-color: transparent;
  background: #8897AA;
  color: #fff; }
  .btn-secondary:hover {
    border-color: transparent;
    background: #818fa2;
    color: #fff; }
  .btn-secondary:focus, .btn-secondary.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(136, 151, 170, 0.4);
            box-shadow: 0 0 0 2px rgba(136, 151, 170, 0.4); }
  .btn-secondary.disabled, .btn-secondary:disabled {
    border-color: transparent !important;
    background: #8897AA !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: #fff !important; }

.btn-secondary .badge {
  background: #fff;
  color: #8897AA; }

.btn-secondary:active,
.btn-secondary.active,
.show > .btn-secondary.dropdown-toggle {
  border-color: transparent;
  background: #768394;
  -webkit-box-shadow: none;
          box-shadow: none; }

.btn-group .btn-secondary,
.input-group-prepend .btn-secondary,
.input-group-append .btn-secondary {
  border-right: 1px solid #768394;
  border-left: 1px solid #768394; }

.btn-outline-secondary {
  border-color: #8897AA;
  background: transparent;
  color: #8897AA; }
  .btn-outline-secondary:hover {
    border-color: transparent;
    background: #8897AA;
    color: #fff; }
    .btn-outline-secondary:hover .badge {
      background: #fff;
      color: #8897AA; }
  .btn-outline-secondary:focus, .btn-outline-secondary.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(136, 151, 170, 0.4);
            box-shadow: 0 0 0 2px rgba(136, 151, 170, 0.4); }
  .btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
    border-color: #8897AA !important;
    background: transparent !important;
    color: #8897AA !important; }

.btn-outline-secondary .badge {
  background: #8897AA;
  color: #fff; }

.btn-outline-secondary:active,
.btn-outline-secondary.active,
.show > .btn-outline-secondary.dropdown-toggle {
  border-color: transparent;
  background: #818fa2;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .btn-outline-secondary:active .badge,
  .btn-outline-secondary.active .badge,
  .show > .btn-outline-secondary.dropdown-toggle .badge {
    background: #fff;
    color: #8897AA; }

.btn-success {
  border-color: transparent;
  background: #02BC77;
  color: #fff; }
  .btn-success:hover {
    border-color: transparent;
    background: #02b371;
    color: #fff; }
  .btn-success:focus, .btn-success.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(2, 188, 119, 0.4);
            box-shadow: 0 0 0 2px rgba(2, 188, 119, 0.4); }
  .btn-success.disabled, .btn-success:disabled {
    border-color: transparent !important;
    background: #02BC77 !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: #fff !important; }

.btn-success .badge {
  background: #fff;
  color: #02BC77; }

.btn-success:active,
.btn-success.active,
.show > .btn-success.dropdown-toggle {
  border-color: transparent;
  background: #02a468;
  -webkit-box-shadow: none;
          box-shadow: none; }

.btn-group .btn-success,
.input-group-prepend .btn-success,
.input-group-append .btn-success {
  border-right: 1px solid #02a468;
  border-left: 1px solid #02a468; }

.btn-outline-success {
  border-color: #02BC77;
  background: transparent;
  color: #02BC77; }
  .btn-outline-success:hover {
    border-color: transparent;
    background: #02BC77;
    color: #fff; }
    .btn-outline-success:hover .badge {
      background: #fff;
      color: #02BC77; }
  .btn-outline-success:focus, .btn-outline-success.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(2, 188, 119, 0.4);
            box-shadow: 0 0 0 2px rgba(2, 188, 119, 0.4); }
  .btn-outline-success.disabled, .btn-outline-success:disabled {
    border-color: #02BC77 !important;
    background: transparent !important;
    color: #02BC77 !important; }

.btn-outline-success .badge {
  background: #02BC77;
  color: #fff; }

.btn-outline-success:active,
.btn-outline-success.active,
.show > .btn-outline-success.dropdown-toggle {
  border-color: transparent;
  background: #02b371;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .btn-outline-success:active .badge,
  .btn-outline-success.active .badge,
  .show > .btn-outline-success.dropdown-toggle .badge {
    background: #fff;
    color: #02BC77; }

.btn-info {
  border-color: transparent;
  background: #28c3d7;
  color: #fff; }
  .btn-info:hover {
    border-color: transparent;
    background: #26b9cc;
    color: #fff; }
  .btn-info:focus, .btn-info.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(40, 195, 215, 0.4);
            box-shadow: 0 0 0 2px rgba(40, 195, 215, 0.4); }
  .btn-info.disabled, .btn-info:disabled {
    border-color: transparent !important;
    background: #28c3d7 !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: #fff !important; }

.btn-info .badge {
  background: #fff;
  color: #28c3d7; }

.btn-info:active,
.btn-info.active,
.show > .btn-info.dropdown-toggle {
  border-color: transparent;
  background: #23aabb;
  -webkit-box-shadow: none;
          box-shadow: none; }

.btn-group .btn-info,
.input-group-prepend .btn-info,
.input-group-append .btn-info {
  border-right: 1px solid #23aabb;
  border-left: 1px solid #23aabb; }

.btn-outline-info {
  border-color: #28c3d7;
  background: transparent;
  color: #28c3d7; }
  .btn-outline-info:hover {
    border-color: transparent;
    background: #28c3d7;
    color: #fff; }
    .btn-outline-info:hover .badge {
      background: #fff;
      color: #28c3d7; }
  .btn-outline-info:focus, .btn-outline-info.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(40, 195, 215, 0.4);
            box-shadow: 0 0 0 2px rgba(40, 195, 215, 0.4); }
  .btn-outline-info.disabled, .btn-outline-info:disabled {
    border-color: #28c3d7 !important;
    background: transparent !important;
    color: #28c3d7 !important; }

.btn-outline-info .badge {
  background: #28c3d7;
  color: #fff; }

.btn-outline-info:active,
.btn-outline-info.active,
.show > .btn-outline-info.dropdown-toggle {
  border-color: transparent;
  background: #26b9cc;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .btn-outline-info:active .badge,
  .btn-outline-info.active .badge,
  .show > .btn-outline-info.dropdown-toggle .badge {
    background: #fff;
    color: #28c3d7; }

.btn-warning {
  border-color: transparent;
  background: #FFD950;
  color: #665720; }
  .btn-warning:hover {
    border-color: transparent;
    background: #f2ce4c;
    color: #665720; }
  .btn-warning:focus, .btn-warning.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(255, 217, 80, 0.4);
            box-shadow: 0 0 0 2px rgba(255, 217, 80, 0.4); }
  .btn-warning.disabled, .btn-warning:disabled {
    border-color: transparent !important;
    background: #FFD950 !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: #665720 !important; }

.btn-warning .badge {
  background: #665720;
  color: #FFD950; }

.btn-warning:active,
.btn-warning.active,
.show > .btn-warning.dropdown-toggle {
  border-color: transparent;
  background: #debd46;
  -webkit-box-shadow: none;
          box-shadow: none; }

.btn-group .btn-warning,
.input-group-prepend .btn-warning,
.input-group-append .btn-warning {
  border-right: 1px solid #debd46;
  border-left: 1px solid #debd46; }

.btn-outline-warning {
  border-color: #FFD950;
  background: transparent;
  color: #FFD950; }
  .btn-outline-warning:hover {
    border-color: transparent;
    background: #FFD950;
    color: #665720; }
    .btn-outline-warning:hover .badge {
      background: #665720;
      color: #FFD950; }
  .btn-outline-warning:focus, .btn-outline-warning.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(255, 217, 80, 0.4);
            box-shadow: 0 0 0 2px rgba(255, 217, 80, 0.4); }
  .btn-outline-warning.disabled, .btn-outline-warning:disabled {
    border-color: #FFD950 !important;
    background: transparent !important;
    color: #FFD950 !important; }

.btn-outline-warning .badge {
  background: #FFD950;
  color: #fff; }

.btn-outline-warning:active,
.btn-outline-warning.active,
.show > .btn-outline-warning.dropdown-toggle {
  border-color: transparent;
  background: #f2ce4c;
  color: #665720;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .btn-outline-warning:active .badge,
  .btn-outline-warning.active .badge,
  .show > .btn-outline-warning.dropdown-toggle .badge {
    background: #665720;
    color: #FFD950; }

.btn-danger {
  border-color: transparent;
  background: #d9534f;
  color: #fff; }
  .btn-danger:hover {
    border-color: transparent;
    background: #ce4f4b;
    color: #fff; }
  .btn-danger:focus, .btn-danger.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.4);
            box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.4); }
  .btn-danger.disabled, .btn-danger:disabled {
    border-color: transparent !important;
    background: #d9534f !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: #fff !important; }

.btn-danger .badge {
  background: #fff;
  color: #d9534f; }

.btn-danger:active,
.btn-danger.active,
.show > .btn-danger.dropdown-toggle {
  border-color: transparent;
  background: #bd4845;
  -webkit-box-shadow: none;
          box-shadow: none; }

.btn-group .btn-danger,
.input-group-prepend .btn-danger,
.input-group-append .btn-danger {
  border-right: 1px solid #bd4845;
  border-left: 1px solid #bd4845; }

.btn-outline-danger {
  border-color: #d9534f;
  background: transparent;
  color: #d9534f; }
  .btn-outline-danger:hover {
    border-color: transparent;
    background: #d9534f;
    color: #fff; }
    .btn-outline-danger:hover .badge {
      background: #fff;
      color: #d9534f; }
  .btn-outline-danger:focus, .btn-outline-danger.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.4);
            box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.4); }
  .btn-outline-danger.disabled, .btn-outline-danger:disabled {
    border-color: #d9534f !important;
    background: transparent !important;
    color: #d9534f !important; }

.btn-outline-danger .badge {
  background: #d9534f;
  color: #fff; }

.btn-outline-danger:active,
.btn-outline-danger.active,
.show > .btn-outline-danger.dropdown-toggle {
  border-color: transparent;
  background: #ce4f4b;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .btn-outline-danger:active .badge,
  .btn-outline-danger.active .badge,
  .show > .btn-outline-danger.dropdown-toggle .badge {
    background: #fff;
    color: #d9534f; }

.btn-light {
  border-color: transparent;
  background: rgba(24, 28, 33, 0.06);
  color: #0a0b0d; }
  .btn-light:hover {
    border-color: transparent;
    background: rgba(24, 28, 33, 0.11);
    color: #0a0b0d; }
  .btn-light:focus, .btn-light.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(24, 28, 33, 0.027);
            box-shadow: 0 0 0 2px rgba(24, 28, 33, 0.027); }
  .btn-light.disabled, .btn-light:disabled {
    border-color: transparent !important;
    background: rgba(24, 28, 33, 0.06) !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: #0a0b0d !important; }

.btn-light .badge {
  background: #0a0b0d;
  color: #f1f1f2; }

.btn-light:active,
.btn-light.active,
.show > .btn-light.dropdown-toggle {
  border-color: transparent;
  background: rgba(24, 28, 33, 0.19);
  -webkit-box-shadow: none;
          box-shadow: none; }

.btn-group .btn-light,
.input-group-prepend .btn-light,
.input-group-append .btn-light {
  border-right: 1px solid rgba(24, 28, 33, 0.19);
  border-left: 1px solid rgba(24, 28, 33, 0.19); }

.btn-outline-light {
  border-color: rgba(24, 28, 33, 0.06);
  background: transparent;
  color: rgba(24, 28, 33, 0.06); }
  .btn-outline-light:hover {
    border-color: transparent;
    background: rgba(24, 28, 33, 0.06);
    color: #0a0b0d; }
    .btn-outline-light:hover .badge {
      background: #0a0b0d;
      color: #fff; }
  .btn-outline-light:focus, .btn-outline-light.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(24, 28, 33, 0.027);
            box-shadow: 0 0 0 2px rgba(24, 28, 33, 0.027); }
  .btn-outline-light.disabled, .btn-outline-light:disabled {
    border-color: rgba(24, 28, 33, 0.06) !important;
    background: transparent !important;
    color: rgba(24, 28, 33, 0.06) !important; }

.btn-outline-light .badge {
  background: rgba(24, 28, 33, 0.06);
  color: #fff; }

.btn-outline-light:active,
.btn-outline-light.active,
.show > .btn-outline-light.dropdown-toggle {
  border-color: transparent;
  background: rgba(24, 28, 33, 0.11);
  color: #0a0b0d;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .btn-outline-light:active .badge,
  .btn-outline-light.active .badge,
  .show > .btn-outline-light.dropdown-toggle .badge {
    background: #0a0b0d;
    color: #fff; }

.btn-dark {
  border-color: transparent;
  background: rgba(24, 28, 33, 0.9);
  color: #fff; }
  .btn-dark:hover {
    border-color: transparent;
    background: rgba(24, 28, 33, 0.95);
    color: #fff; }
  .btn-dark:focus, .btn-dark.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(24, 28, 33, 0.405);
            box-shadow: 0 0 0 2px rgba(24, 28, 33, 0.405); }
  .btn-dark.disabled, .btn-dark:disabled {
    border-color: transparent !important;
    background: rgba(24, 28, 33, 0.9) !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: #fff !important; }

.btn-dark .badge {
  background: #fff;
  color: #2f3337; }

.btn-dark:active,
.btn-dark.active,
.show > .btn-dark.dropdown-toggle {
  border-color: transparent;
  background: #181c21;
  -webkit-box-shadow: none;
          box-shadow: none; }

.btn-group .btn-dark,
.input-group-prepend .btn-dark,
.input-group-append .btn-dark {
  border-right: 1px solid #181c21;
  border-left: 1px solid #181c21; }

.btn-outline-dark {
  border-color: rgba(24, 28, 33, 0.9);
  background: transparent;
  color: rgba(24, 28, 33, 0.9); }
  .btn-outline-dark:hover {
    border-color: transparent;
    background: rgba(24, 28, 33, 0.9);
    color: #fff; }
    .btn-outline-dark:hover .badge {
      background: #fff;
      color: #666666; }
  .btn-outline-dark:focus, .btn-outline-dark.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(24, 28, 33, 0.405);
            box-shadow: 0 0 0 2px rgba(24, 28, 33, 0.405); }
  .btn-outline-dark.disabled, .btn-outline-dark:disabled {
    border-color: rgba(24, 28, 33, 0.9) !important;
    background: transparent !important;
    color: rgba(24, 28, 33, 0.9) !important; }

.btn-outline-dark .badge {
  background: rgba(24, 28, 33, 0.9);
  color: #fff; }

.btn-outline-dark:active,
.btn-outline-dark.active,
.show > .btn-outline-dark.dropdown-toggle {
  border-color: transparent;
  background: rgba(24, 28, 33, 0.95);
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .btn-outline-dark:active .badge,
  .btn-outline-dark.active .badge,
  .show > .btn-outline-dark.dropdown-toggle .badge {
    background: #fff;
    color: #666666; }

.btn-default {
  border-color: rgba(24, 28, 33, 0.1);
  background: transparent;
  color: #4E5155; }
  .btn-default:hover {
    border-color: rgba(24, 28, 33, 0.1);
    background: rgba(24, 28, 33, 0.06);
    color: #4E5155; }
  .btn-default:focus, .btn-default.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(2, 3, 3, 0.05);
            box-shadow: 0 0 0 2px rgba(2, 3, 3, 0.05); }
  .btn-default.disabled, .btn-default:disabled {
    border-color: rgba(24, 28, 33, 0.1) !important;
    background: transparent !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: #4E5155 !important; }

.btn-default .badge {
  background: #4E5155;
  color: white; }

.btn-default:active,
.btn-default.active,
.show > .btn-default.dropdown-toggle {
  border-color: rgba(24, 28, 33, 0.1);
  background: rgba(24, 28, 33, 0.12);
  -webkit-box-shadow: none;
          box-shadow: none; }

.btn-group .btn-default,
.input-group-prepend .btn-default,
.input-group-append .btn-default {
  border-right: 1px solid rgba(24, 28, 33, 0.12);
  border-left: 1px solid rgba(24, 28, 33, 0.12); }

.btn-outline-default {
  border-color: rgba(24, 28, 33, 0.1);
  background: transparent;
  color: rgba(24, 28, 33, 0.1); }
  .btn-outline-default:hover {
    border-color: transparent;
    background: rgba(24, 28, 33, 0.1);
    color: #4E5155; }
    .btn-outline-default:hover .badge {
      background: #4E5155;
      color: #fff; }
  .btn-outline-default:focus, .btn-outline-default.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(24, 28, 33, 0.045);
            box-shadow: 0 0 0 2px rgba(24, 28, 33, 0.045); }
  .btn-outline-default.disabled, .btn-outline-default:disabled {
    border-color: rgba(24, 28, 33, 0.1) !important;
    background: transparent !important;
    color: rgba(24, 28, 33, 0.1) !important; }

.btn-outline-default .badge {
  background: rgba(24, 28, 33, 0.1);
  color: #fff; }

.btn-outline-default:active,
.btn-outline-default.active,
.show > .btn-outline-default.dropdown-toggle {
  border-color: transparent;
  background: rgba(24, 28, 33, 0.15);
  color: #4E5155;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .btn-outline-default:active .badge,
  .btn-outline-default.active .badge,
  .show > .btn-outline-default.dropdown-toggle .badge {
    background: #4E5155;
    color: #fff; }

.btn-xl, .btn-group-xl > .btn {
  padding: 0.875rem 2.125rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.25rem; }

.btn-lg {
  font-size: 1rem; }

.btn-sm {
  font-size: 0.75rem; }

.btn-xs, .btn-group-xs > .btn {
  padding: 0 0.5rem;
  font-size: 0.75rem;
  line-height: 1.5;
  border-radius: 0.25rem; }

.btn-round {
  border-radius: 60rem !important; }

.icon-btn {
  width: calc(2.25276rem + 2px) !important;
  padding: 0;
  line-height: 2.25276rem; }
  .icon-btn.btn-xl, .btn-group-xl > .icon-btn.btn {
    width: calc(3.625rem + 2px) !important;
    line-height: 3.625rem; }
  .icon-btn.btn-lg {
    width: calc(3rem + 2px) !important;
    line-height: 3rem; }
  .icon-btn.btn-sm {
    width: calc(1.501rem + 2px) !important;
    line-height: 1.501rem; }
  .icon-btn.btn-xs, .btn-group-xs > .icon-btn.btn {
    width: calc(1.125rem + 2px) !important;
    line-height: 1.125rem; }

.btn.borderless:not(.active):not(:active):not(:hover):not(:focus),
:not(.show) > .btn.borderless.dropdown-toggle:not(:hover):not(:focus) {
  border-color: transparent !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important; }

:not(.btn-group) > .btn-group > .btn:not(.btn-default):not([class*="btn-outline-"]):first-child,
.btn-group > .btn-group:first-child > .btn:not(.btn-default):not([class*="btn-outline-"]):first-child,
.input-group-prepend > .btn:not(.btn-default):not([class*="btn-outline-"]):first-child,
.input-group-append > .btn:not(.btn-default):not([class*="btn-outline-"]):first-child {
  border-left-color: transparent !important; }

:not(.btn-group) > .btn-group > .btn:not(.btn-default):not([class*="btn-outline-"]):last-child,
.btn-group > .btn-group:last-child > .btn:not(.btn-default):not([class*="btn-outline-"]):last-child,
:not(.btn-group) > .btn-group > .dropdown-toggle:not(.btn-default):not([class*="btn-outline-"]),
.btn-group > .btn-group:last-child > .dropdown-toggle:not(.btn-default):not([class*="btn-outline-"]),
.input-group-prepend > .btn:not(.btn-default):not([class*="btn-outline-"]):last-child,
.input-group-append > .btn:not(.btn-default):not([class*="btn-outline-"]):last-child,
.input-group-prepend > .dropdown-toggle:not(.btn-default):not([class*="btn-outline-"]),
.input-group-append > .dropdown-toggle:not(.btn-default):not([class*="btn-outline-"]) {
  border-right-color: transparent !important; }

.btn-group-sm > .btn {
  font-size: 0.75rem; }

.btn-group-lg > .btn {
  font-size: 1rem; }

.dropdown-toggle-split,
.btn-lg + .dropdown-toggle-split,
.btn-group-lg > .btn + .dropdown-toggle-split,
.input-group-lg .btn + .dropdown-toggle-split,
.btn-xl + .dropdown-toggle-split, .btn-group-xl > .btn + .dropdown-toggle-split,
.btn-group-xl > .btn + .dropdown-toggle-split {
  padding-right: .7em;
  padding-left: .7em; }

.btn-sm + .dropdown-toggle-split,
.btn-group-sm > .btn + .dropdown-toggle-split,
.input-group-sm .btn + .dropdown-toggle-split {
  padding-right: .6em;
  padding-left: .6em; }

.btn-xs + .dropdown-toggle-split, .btn-group-xs > .btn + .dropdown-toggle-split,
.btn-group-xs > .btn + .dropdown-toggle-split {
  padding-right: .5em;
  padding-left: .5em; }

.badge-secondary {
  background-color: #8897AA;
  color: #fff; }

.badge-secondary[href]:hover, .badge-secondary[href]:focus {
  background-color: #818fa2;
  color: #fff;
  text-decoration: none; }

.btn .badge-secondary {
  background-color: #8897AA !important;
  color: #fff !important; }

.badge-outline-secondary {
  background-color: transparent;
  -webkit-box-shadow: 0 0 0 1px #8897AA inset;
          box-shadow: 0 0 0 1px #8897AA inset;
  color: #8897AA; }

.badge-outline-secondary[href]:hover, .badge-outline-secondary[href]:focus {
  color: #8897AA;
  text-decoration: none; }

.btn .badge-outline-secondary {
  background-color: transparent !important;
  -webkit-box-shadow: 0 0 0 1px #8897AA inset !important;
          box-shadow: 0 0 0 1px #8897AA inset !important;
  color: #8897AA !important; }

.badge-success {
  background-color: #02BC77;
  color: #fff; }

.badge-success[href]:hover, .badge-success[href]:focus {
  background-color: #02b371;
  color: #fff;
  text-decoration: none; }

.btn .badge-success {
  background-color: #02BC77 !important;
  color: #fff !important; }

.badge-outline-success {
  background-color: transparent;
  -webkit-box-shadow: 0 0 0 1px #02BC77 inset;
          box-shadow: 0 0 0 1px #02BC77 inset;
  color: #02BC77; }

.badge-outline-success[href]:hover, .badge-outline-success[href]:focus {
  color: #02BC77;
  text-decoration: none; }

.btn .badge-outline-success {
  background-color: transparent !important;
  -webkit-box-shadow: 0 0 0 1px #02BC77 inset !important;
          box-shadow: 0 0 0 1px #02BC77 inset !important;
  color: #02BC77 !important; }

.badge-info {
  background-color: #28c3d7;
  color: #fff; }

.badge-info[href]:hover, .badge-info[href]:focus {
  background-color: #26b9cc;
  color: #fff;
  text-decoration: none; }

.btn .badge-info {
  background-color: #28c3d7 !important;
  color: #fff !important; }

.badge-outline-info {
  background-color: transparent;
  -webkit-box-shadow: 0 0 0 1px #28c3d7 inset;
          box-shadow: 0 0 0 1px #28c3d7 inset;
  color: #28c3d7; }

.badge-outline-info[href]:hover, .badge-outline-info[href]:focus {
  color: #28c3d7;
  text-decoration: none; }

.btn .badge-outline-info {
  background-color: transparent !important;
  -webkit-box-shadow: 0 0 0 1px #28c3d7 inset !important;
          box-shadow: 0 0 0 1px #28c3d7 inset !important;
  color: #28c3d7 !important; }

.badge-warning {
  background-color: #FFD950;
  color: #665720; }

.badge-warning[href]:hover, .badge-warning[href]:focus {
  background-color: #f2ce4c;
  color: #665720;
  text-decoration: none; }

.btn .badge-warning {
  background-color: #FFD950 !important;
  color: #665720 !important; }

.badge-outline-warning {
  background-color: transparent;
  -webkit-box-shadow: 0 0 0 1px #FFD950 inset;
          box-shadow: 0 0 0 1px #FFD950 inset;
  color: #FFD950; }

.badge-outline-warning[href]:hover, .badge-outline-warning[href]:focus {
  color: #FFD950;
  text-decoration: none; }

.btn .badge-outline-warning {
  background-color: transparent !important;
  -webkit-box-shadow: 0 0 0 1px #FFD950 inset !important;
          box-shadow: 0 0 0 1px #FFD950 inset !important;
  color: #FFD950 !important; }

.badge-danger {
  background-color: #d9534f;
  color: #fff; }

.badge-danger[href]:hover, .badge-danger[href]:focus {
  background-color: #ce4f4b;
  color: #fff;
  text-decoration: none; }

.btn .badge-danger {
  background-color: #d9534f !important;
  color: #fff !important; }

.badge-outline-danger {
  background-color: transparent;
  -webkit-box-shadow: 0 0 0 1px #d9534f inset;
          box-shadow: 0 0 0 1px #d9534f inset;
  color: #d9534f; }

.badge-outline-danger[href]:hover, .badge-outline-danger[href]:focus {
  color: #d9534f;
  text-decoration: none; }

.btn .badge-outline-danger {
  background-color: transparent !important;
  -webkit-box-shadow: 0 0 0 1px #d9534f inset !important;
          box-shadow: 0 0 0 1px #d9534f inset !important;
  color: #d9534f !important; }

.badge-dark {
  background-color: rgba(24, 28, 33, 0.9);
  color: #fff; }

.badge-dark[href]:hover, .badge-dark[href]:focus {
  background-color: rgba(24, 28, 33, 0.93);
  color: #fff;
  text-decoration: none; }

.btn .badge-dark {
  background-color: rgba(24, 28, 33, 0.9) !important;
  color: #fff !important; }

.badge-outline-dark {
  background-color: transparent;
  -webkit-box-shadow: 0 0 0 1px rgba(24, 28, 33, 0.9) inset;
          box-shadow: 0 0 0 1px rgba(24, 28, 33, 0.9) inset;
  color: rgba(24, 28, 33, 0.9); }

.badge-outline-dark[href]:hover, .badge-outline-dark[href]:focus {
  color: rgba(24, 28, 33, 0.9);
  text-decoration: none; }

.btn .badge-outline-dark {
  background-color: transparent !important;
  -webkit-box-shadow: 0 0 0 1px rgba(24, 28, 33, 0.9) inset !important;
          box-shadow: 0 0 0 1px rgba(24, 28, 33, 0.9) inset !important;
  color: rgba(24, 28, 33, 0.9) !important; }

.badge-default {
  background-color: rgba(24, 28, 33, 0.1);
  color: #4E5155; }

.badge-default[href]:hover, .badge-default[href]:focus {
  background-color: rgba(24, 28, 33, 0.13);
  color: #4E5155;
  text-decoration: none; }

.btn .badge-default {
  background-color: rgba(24, 28, 33, 0.1) !important;
  color: #4E5155 !important; }

.badge-outline-default {
  background-color: transparent;
  -webkit-box-shadow: 0 0 0 1px rgba(24, 28, 33, 0.1) inset;
          box-shadow: 0 0 0 1px rgba(24, 28, 33, 0.1) inset;
  color: #4E5155; }

.badge-outline-default[href]:hover, .badge-outline-default[href]:focus {
  color: #4E5155;
  text-decoration: none; }

.btn .badge-outline-default {
  background-color: transparent !important;
  -webkit-box-shadow: 0 0 0 1px rgba(24, 28, 33, 0.1) inset !important;
          box-shadow: 0 0 0 1px rgba(24, 28, 33, 0.1) inset !important;
  color: #4E5155 !important; }

.badge.badge-dot {
  display: inline-block;
  margin: 0;
  padding: 0;
  width: .5em;
  height: .5em;
  border-radius: 50%;
  vertical-align: middle; }

.badge.indicator {
  position: absolute;
  top: auto;
  display: inline-block;
  margin: 0;
  -webkit-transform: translate(-50%, 25%);
          transform: translate(-50%, 25%); }
  .badge.indicator:not(.badge-dot) {
    padding: 0 .2em;
    font-size: .6em;
    line-height: 1.2em;
    -webkit-transform: translate(-50%, -10%);
            transform: translate(-50%, -10%); }

[data-trigger=hover] {
  outline: 0; }

.dropdown-menu {
  margin: 0.125rem 0;
  -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.09);
          box-shadow: 0 1px 6px rgba(0, 0, 0, 0.09); }
  .mega-dropdown > .dropdown-menu {
    left: 0 !important;
    right: 0 !important; }

.dropdown-item {
  line-height: 1.54; }

.dropdown-menu .badge[class^="float-"],
.dropdown-menu .badge[class*=" float-"] {
  position: relative;
  top: .071em; }

.dropdown-toggle.hide-arrow::before, .dropdown-toggle.hide-arrow::after,
.dropdown-toggle-hide-arrow > .dropdown-toggle::before,
.dropdown-toggle-hide-arrow > .dropdown-toggle::after {
  display: none !important; }

.dropdown-menu > li:not(.dropdown-item) > a:not(.dropdown-item) {
  display: block;
  clear: both;
  padding: 0.438rem 1.25rem;
  width: 100%;
  border: 0;
  background: none;
  color: #4E5155;
  text-align: inherit;
  white-space: nowrap;
  font-weight: 400;
  line-height: 1.54; }
  .dropdown-menu > li:not(.dropdown-item) > a:not(.dropdown-item):hover, .dropdown-menu > li:not(.dropdown-item) > a:not(.dropdown-item):focus {
    background-color: rgba(24, 28, 33, 0.03);
    color: #4E5155;
    text-decoration: none; }

.dropdown-menu > li:not(.dropdown-item).active > a:not(.dropdown-item),
.dropdown-menu > li:not(.dropdown-item) > a:not(.dropdown-item):active {
  background-color: #6610f2;
  color: #fff;
  text-decoration: none; }

.dropdown-menu > li:not(.dropdown-item).disabled > a:not(.dropdown-item) {
  background-color: transparent;
  color: #d1d2d3; }

.dropdown-toggle::after, .dropdown-toggle::before {
  vertical-align: middle !important; }

.dropdown-toggle::after,
.dropup .dropdown-toggle::after,
.dropright .dropdown-toggle::after {
  margin-left: .5em; }

.dropleft .dropdown-toggle::before {
  margin-right: .5em; }

.dropdown-toggle-split::after {
  margin-right: 0 !important;
  margin-left: 0 !important; }

.dropdown-menu .dropdown-toggle {
  position: relative; }
  .dropdown-menu .dropdown-toggle::after {
    display: none; }

.dropdown-menu .dropdown-toggle > .dropdown-item {
  position: relative;
  cursor: default; }

@media (max-width: 767px) {
  .dropdown-menu .dropdown-menu {
    position: static;
    display: block;
    margin: 0;
    padding-left: 1.25rem;
    width: 100%;
    border-width: 0;
    border-radius: 0;
    -webkit-box-shadow: none;
            box-shadow: none; } }

@media (min-width: 768px) {
  .dropdown-menu .dropdown-toggle > .dropdown-item::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0.625rem;
    display: block;
    width: .375rem;
    height: .375rem;
    border: 1px solid #a3a4a6;
    border-top: 0;
    border-left: 0;
    -webkit-transform: rotate(-45deg) translate(0, -50%);
            transform: rotate(-45deg) translate(0, -50%); }
  .dropdown-menu .dropdown-toggle:hover > .dropdown-item:not(.disabled) {
    background: rgba(24, 28, 33, 0.03);
    color: #4E5155; }
    .dropdown-menu .dropdown-toggle:hover > .dropdown-item:not(.disabled) + .dropdown-menu {
      display: block; }
  .dropdown-menu .dropdown-menu {
    top: 0;
    left: 100%; }
  .dropdown-menu-right .dropdown-menu {
    right: 100%;
    left: auto; } }

.nav-link {
  line-height: 1.54; }
  .nav-link.disabled {
    border-color: transparent !important;
    background: transparent !important;
    color: #d1d2d3 !important; }

.nav-tabs .nav-link:not(.active),
.nav-pills .nav-link:not(.active) {
  color: #8c8e90; }
  .nav-tabs .nav-link:not(.active):hover, .nav-tabs .nav-link:not(.active):focus,
  .nav-pills .nav-link:not(.active):hover,
  .nav-pills .nav-link:not(.active):focus {
    color: #4E5155; }

.nav-tabs:not(.nav-fill):not(.nav-justified) .nav-link,
.nav-pills:not(.nav-fill):not(.nav-justified) .nav-link {
  margin-right: 0.125rem; }

.nav-tabs .nav-link .badge,
.nav-pills .nav-link .badge {
  position: relative;
  top: -1px; }

.nav-tabs .nav-item.show .nav-link:not(.active),
.nav-pills .nav-item.show .nav-link:not(.active) {
  background-color: transparent; }

.nav-tabs .nav-link {
  background-clip: padding-box; }
  .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
    border-bottom-color: transparent; }
  .nav-tabs .nav-link.active {
    border-bottom-color: #fff; }

.nav-tabs.tabs-alt .nav-link,
.tabs-alt > .nav-tabs .nav-link {
  border-width: 0 !important;
  border-radius: 0 !important;
  background-color: transparent !important; }

.nav-lg > .nav .nav-link,
.nav-lg.nav .nav-link {
  padding: 0.875rem 1.3125rem;
  font-size: 1rem;
  line-height: 1.5; }

.nav-sm > .nav .nav-link,
.nav-sm.nav .nav-link {
  padding: 0.3125rem 0.875rem;
  font-size: 0.75rem;
  line-height: 1.5; }

.nav-tabs-top,
.nav-tabs-right,
.nav-tabs-bottom,
.nav-tabs-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .nav-tabs-top > .nav,
  .nav-tabs-top > div > .nav,
  .nav-tabs-right > .nav,
  .nav-tabs-right > div > .nav,
  .nav-tabs-bottom > .nav,
  .nav-tabs-bottom > div > .nav,
  .nav-tabs-left > .nav,
  .nav-tabs-left > div > .nav {
    position: relative;
    z-index: 1;
    border: 0; }
  .nav-tabs-top > .nav .nav-link:hover, .nav-tabs-top > .nav .nav-link:focus,
  .nav-tabs-top > div > .nav .nav-link:hover,
  .nav-tabs-top > div > .nav .nav-link:focus,
  .nav-tabs-right > .nav .nav-link:hover,
  .nav-tabs-right > .nav .nav-link:focus,
  .nav-tabs-right > div > .nav .nav-link:hover,
  .nav-tabs-right > div > .nav .nav-link:focus,
  .nav-tabs-bottom > .nav .nav-link:hover,
  .nav-tabs-bottom > .nav .nav-link:focus,
  .nav-tabs-bottom > div > .nav .nav-link:hover,
  .nav-tabs-bottom > div > .nav .nav-link:focus,
  .nav-tabs-left > .nav .nav-link:hover,
  .nav-tabs-left > .nav .nav-link:focus,
  .nav-tabs-left > div > .nav .nav-link:hover,
  .nav-tabs-left > div > .nav .nav-link:focus {
    border-color: rgba(24, 28, 33, 0.06); }
  .nav-tabs-top > .nav .nav-link.active,
  .nav-tabs-top > div > .nav .nav-link.active,
  .nav-tabs-right > .nav .nav-link.active,
  .nav-tabs-right > div > .nav .nav-link.active,
  .nav-tabs-bottom > .nav .nav-link.active,
  .nav-tabs-bottom > div > .nav .nav-link.active,
  .nav-tabs-left > .nav .nav-link.active,
  .nav-tabs-left > div > .nav .nav-link.active {
    border-color: rgba(24, 28, 33, 0.06); }

.nav-tabs-right,
.nav-tabs-left {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .nav-tabs-right > .nav,
  .nav-tabs-right > div > .nav,
  .nav-tabs-left > .nav,
  .nav-tabs-left > div > .nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0; }
  .nav-tabs-right > .nav .nav-link,
  .nav-tabs-right > div > .nav .nav-link,
  .nav-tabs-left > .nav .nav-link,
  .nav-tabs-left > div > .nav .nav-link {
    margin: 0 0 0.125rem 0 !important; }
  .nav-tabs-right > .tab-content,
  .nav-tabs-left > .tab-content {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }

.nav-tabs-top {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .nav-tabs-top > .nav .nav-link:hover, .nav-tabs-top > .nav .nav-link:focus,
  .nav-tabs-top > div > .nav .nav-link:hover,
  .nav-tabs-top > div > .nav .nav-link:focus {
    border-bottom-color: transparent; }
  .nav-tabs-top > .nav .nav-link.active,
  .nav-tabs-top > div > .nav .nav-link.active {
    border-bottom-color: #fff; }

.nav-tabs-right {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }
  .nav-tabs-right > .nav .nav-item,
  .nav-tabs-right > div > .nav .nav-item {
    margin-bottom: 0;
    margin-left: -1px; }
  .nav-tabs-right > .nav .nav-link,
  .nav-tabs-right > div > .nav .nav-link {
    border-radius: 0 0.25rem 0.25rem 0; }
    .nav-tabs-right > .nav .nav-link:hover, .nav-tabs-right > .nav .nav-link:focus,
    .nav-tabs-right > div > .nav .nav-link:hover,
    .nav-tabs-right > div > .nav .nav-link:focus {
      border-left-color: transparent; }
    .nav-tabs-right > .nav .nav-link.active,
    .nav-tabs-right > div > .nav .nav-link.active {
      border-left-color: #fff; }

.nav-tabs-bottom {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }
  .nav-tabs-bottom > .nav .nav-item,
  .nav-tabs-bottom > div > .nav .nav-item {
    margin-top: -1px;
    margin-bottom: 0; }
  .nav-tabs-bottom > .nav .nav-link,
  .nav-tabs-bottom > div > .nav .nav-link {
    border-radius: 0 0 0.25rem 0.25rem; }
    .nav-tabs-bottom > .nav .nav-link:hover, .nav-tabs-bottom > .nav .nav-link:focus,
    .nav-tabs-bottom > div > .nav .nav-link:hover,
    .nav-tabs-bottom > div > .nav .nav-link:focus {
      border-top-color: transparent; }
    .nav-tabs-bottom > .nav .nav-link.active,
    .nav-tabs-bottom > div > .nav .nav-link.active {
      border-top-color: #fff; }

.nav-tabs-left > .nav .nav-item,
.nav-tabs-left > div > .nav .nav-item {
  margin-right: -1px;
  margin-bottom: 0; }

.nav-tabs-left > .nav .nav-link,
.nav-tabs-left > div > .nav .nav-link {
  border-radius: 0.25rem 0 0 0.25rem; }
  .nav-tabs-left > .nav .nav-link:hover, .nav-tabs-left > .nav .nav-link:focus,
  .nav-tabs-left > div > .nav .nav-link:hover,
  .nav-tabs-left > div > .nav .nav-link:focus {
    border-right-color: transparent; }
  .nav-tabs-left > .nav .nav-link.active,
  .nav-tabs-left > div > .nav .nav-link.active {
    border-right-color: #fff; }

.nav-tabs-top > .tab-content,
.nav-tabs-right > .tab-content,
.nav-tabs-bottom > .tab-content,
.nav-tabs-left > .tab-content {
  -ms-flex-negative: 1;
      flex-shrink: 1;
  border: 1px solid rgba(24, 28, 33, 0.06);
  background: #fff;
  background-clip: padding-box;
  -webkit-box-shadow: 0 1px 4px rgba(24, 28, 33, 0.009);
          box-shadow: 0 1px 4px rgba(24, 28, 33, 0.009); }

.nav-tabs-top > .tab-content {
  border-radius: 0 0 0.25rem 0.25rem; }

.nav-tabs-right > .tab-content {
  border-radius: 0.25rem 0 0 0.25rem; }

.nav-tabs-bottom > .tab-content {
  border-radius: 0.25rem 0.25rem 0 0; }

.nav-tabs-left > .tab-content {
  border-radius: 0 0.25rem 0.25rem 0; }

@media (max-width: 575px) {
  .nav-responsive-sm > .nav,
  .nav-responsive-sm > div > .nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border: 0; }
    .nav-responsive-sm > .nav .nav-item,
    .nav-responsive-sm > div > .nav .nav-item {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }
    .nav-responsive-sm > .nav.card-header-tabs, .nav-responsive-sm > .nav.card-header-pills,
    .nav-responsive-sm > div > .nav.card-header-tabs,
    .nav-responsive-sm > div > .nav.card-header-pills {
      margin-bottom: -0.125rem; }
  .nav-responsive-sm > .nav-tabs .nav-item,
  .nav-responsive-sm > .nav-pills .nav-item,
  .nav-responsive-sm > div > .nav-tabs .nav-item,
  .nav-responsive-sm > div > .nav-pills .nav-item {
    margin: 0 !important; }
  .nav-responsive-sm > .nav-tabs .nav-link,
  .nav-responsive-sm > .nav-pills .nav-link,
  .nav-responsive-sm > div > .nav-tabs .nav-link,
  .nav-responsive-sm > div > .nav-pills .nav-link {
    margin: 0 0 0.125rem 0 !important; }
  .nav-responsive-sm > .nav-tabs:not(.tabs-alt) .nav-link,
  .nav-responsive-sm > div > .nav-tabs:not(.tabs-alt) .nav-link {
    border-radius: 0.25rem !important; }
    .nav-responsive-sm > .nav-tabs:not(.tabs-alt) .nav-link:hover, .nav-responsive-sm > .nav-tabs:not(.tabs-alt) .nav-link:focus,
    .nav-responsive-sm > div > .nav-tabs:not(.tabs-alt) .nav-link:hover,
    .nav-responsive-sm > div > .nav-tabs:not(.tabs-alt) .nav-link:focus {
      border-color: rgba(24, 28, 33, 0.06) !important; }
  .nav-responsive-sm > .nav-tabs:not(.tabs-alt) .nav-link.active,
  .nav-responsive-sm > div > .nav-tabs:not(.tabs-alt) .nav-link.active {
    border-color: rgba(24, 28, 33, 0.06) !important; }
  .nav-responsive-sm.nav-tabs-top > .tab-content,
  .nav-responsive-sm.nav-tabs-right > .tab-content,
  .nav-responsive-sm.nav-tabs-bottom > .tab-content,
  .nav-responsive-sm.nav-tabs-left > .tab-content {
    border-radius: 0.25rem !important; }
  .nav-responsive-sm.nav-tabs-bottom, .nav-responsive-sm.nav-tabs-right, .nav-responsive-sm.nav-tabs-left {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important; } }

@media (max-width: 767px) {
  .nav-responsive-md > .nav,
  .nav-responsive-md > div > .nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border: 0; }
    .nav-responsive-md > .nav .nav-item,
    .nav-responsive-md > div > .nav .nav-item {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }
    .nav-responsive-md > .nav.card-header-tabs, .nav-responsive-md > .nav.card-header-pills,
    .nav-responsive-md > div > .nav.card-header-tabs,
    .nav-responsive-md > div > .nav.card-header-pills {
      margin-bottom: -0.125rem; }
  .nav-responsive-md > .nav-tabs .nav-item,
  .nav-responsive-md > .nav-pills .nav-item,
  .nav-responsive-md > div > .nav-tabs .nav-item,
  .nav-responsive-md > div > .nav-pills .nav-item {
    margin: 0 !important; }
  .nav-responsive-md > .nav-tabs .nav-link,
  .nav-responsive-md > .nav-pills .nav-link,
  .nav-responsive-md > div > .nav-tabs .nav-link,
  .nav-responsive-md > div > .nav-pills .nav-link {
    margin: 0 0 0.125rem 0 !important; }
  .nav-responsive-md > .nav-tabs:not(.tabs-alt) .nav-link,
  .nav-responsive-md > div > .nav-tabs:not(.tabs-alt) .nav-link {
    border-radius: 0.25rem !important; }
    .nav-responsive-md > .nav-tabs:not(.tabs-alt) .nav-link:hover, .nav-responsive-md > .nav-tabs:not(.tabs-alt) .nav-link:focus,
    .nav-responsive-md > div > .nav-tabs:not(.tabs-alt) .nav-link:hover,
    .nav-responsive-md > div > .nav-tabs:not(.tabs-alt) .nav-link:focus {
      border-color: rgba(24, 28, 33, 0.06) !important; }
  .nav-responsive-md > .nav-tabs:not(.tabs-alt) .nav-link.active,
  .nav-responsive-md > div > .nav-tabs:not(.tabs-alt) .nav-link.active {
    border-color: rgba(24, 28, 33, 0.06) !important; }
  .nav-responsive-md.nav-tabs-top > .tab-content,
  .nav-responsive-md.nav-tabs-right > .tab-content,
  .nav-responsive-md.nav-tabs-bottom > .tab-content,
  .nav-responsive-md.nav-tabs-left > .tab-content {
    border-radius: 0.25rem !important; }
  .nav-responsive-md.nav-tabs-bottom, .nav-responsive-md.nav-tabs-right, .nav-responsive-md.nav-tabs-left {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important; } }

@media (max-width: 991px) {
  .nav-responsive-lg > .nav,
  .nav-responsive-lg > div > .nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border: 0; }
    .nav-responsive-lg > .nav .nav-item,
    .nav-responsive-lg > div > .nav .nav-item {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }
    .nav-responsive-lg > .nav.card-header-tabs, .nav-responsive-lg > .nav.card-header-pills,
    .nav-responsive-lg > div > .nav.card-header-tabs,
    .nav-responsive-lg > div > .nav.card-header-pills {
      margin-bottom: -0.125rem; }
  .nav-responsive-lg > .nav-tabs .nav-item,
  .nav-responsive-lg > .nav-pills .nav-item,
  .nav-responsive-lg > div > .nav-tabs .nav-item,
  .nav-responsive-lg > div > .nav-pills .nav-item {
    margin: 0 !important; }
  .nav-responsive-lg > .nav-tabs .nav-link,
  .nav-responsive-lg > .nav-pills .nav-link,
  .nav-responsive-lg > div > .nav-tabs .nav-link,
  .nav-responsive-lg > div > .nav-pills .nav-link {
    margin: 0 0 0.125rem 0 !important; }
  .nav-responsive-lg > .nav-tabs:not(.tabs-alt) .nav-link,
  .nav-responsive-lg > div > .nav-tabs:not(.tabs-alt) .nav-link {
    border-radius: 0.25rem !important; }
    .nav-responsive-lg > .nav-tabs:not(.tabs-alt) .nav-link:hover, .nav-responsive-lg > .nav-tabs:not(.tabs-alt) .nav-link:focus,
    .nav-responsive-lg > div > .nav-tabs:not(.tabs-alt) .nav-link:hover,
    .nav-responsive-lg > div > .nav-tabs:not(.tabs-alt) .nav-link:focus {
      border-color: rgba(24, 28, 33, 0.06) !important; }
  .nav-responsive-lg > .nav-tabs:not(.tabs-alt) .nav-link.active,
  .nav-responsive-lg > div > .nav-tabs:not(.tabs-alt) .nav-link.active {
    border-color: rgba(24, 28, 33, 0.06) !important; }
  .nav-responsive-lg.nav-tabs-top > .tab-content,
  .nav-responsive-lg.nav-tabs-right > .tab-content,
  .nav-responsive-lg.nav-tabs-bottom > .tab-content,
  .nav-responsive-lg.nav-tabs-left > .tab-content {
    border-radius: 0.25rem !important; }
  .nav-responsive-lg.nav-tabs-bottom, .nav-responsive-lg.nav-tabs-right, .nav-responsive-lg.nav-tabs-left {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important; } }

@media (max-width: 1199px) {
  .nav-responsive-xl > .nav,
  .nav-responsive-xl > div > .nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border: 0; }
    .nav-responsive-xl > .nav .nav-item,
    .nav-responsive-xl > div > .nav .nav-item {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }
    .nav-responsive-xl > .nav.card-header-tabs, .nav-responsive-xl > .nav.card-header-pills,
    .nav-responsive-xl > div > .nav.card-header-tabs,
    .nav-responsive-xl > div > .nav.card-header-pills {
      margin-bottom: -0.125rem; }
  .nav-responsive-xl > .nav-tabs .nav-item,
  .nav-responsive-xl > .nav-pills .nav-item,
  .nav-responsive-xl > div > .nav-tabs .nav-item,
  .nav-responsive-xl > div > .nav-pills .nav-item {
    margin: 0 !important; }
  .nav-responsive-xl > .nav-tabs .nav-link,
  .nav-responsive-xl > .nav-pills .nav-link,
  .nav-responsive-xl > div > .nav-tabs .nav-link,
  .nav-responsive-xl > div > .nav-pills .nav-link {
    margin: 0 0 0.125rem 0 !important; }
  .nav-responsive-xl > .nav-tabs:not(.tabs-alt) .nav-link,
  .nav-responsive-xl > div > .nav-tabs:not(.tabs-alt) .nav-link {
    border-radius: 0.25rem !important; }
    .nav-responsive-xl > .nav-tabs:not(.tabs-alt) .nav-link:hover, .nav-responsive-xl > .nav-tabs:not(.tabs-alt) .nav-link:focus,
    .nav-responsive-xl > div > .nav-tabs:not(.tabs-alt) .nav-link:hover,
    .nav-responsive-xl > div > .nav-tabs:not(.tabs-alt) .nav-link:focus {
      border-color: rgba(24, 28, 33, 0.06) !important; }
  .nav-responsive-xl > .nav-tabs:not(.tabs-alt) .nav-link.active,
  .nav-responsive-xl > div > .nav-tabs:not(.tabs-alt) .nav-link.active {
    border-color: rgba(24, 28, 33, 0.06) !important; }
  .nav-responsive-xl.nav-tabs-top > .tab-content,
  .nav-responsive-xl.nav-tabs-right > .tab-content,
  .nav-responsive-xl.nav-tabs-bottom > .tab-content,
  .nav-responsive-xl.nav-tabs-left > .tab-content {
    border-radius: 0.25rem !important; }
  .nav-responsive-xl.nav-tabs-bottom, .nav-responsive-xl.nav-tabs-right, .nav-responsive-xl.nav-tabs-left {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important; } }

.page-item + .page-item .page-link,
.pagination li + li > a:not(.page-link) {
  margin-left: 0.1875rem; }

.page-link,
.page-link > a {
  min-width: calc(2.144rem + 2px);
  text-align: center;
  line-height: 1 !important;
  border-radius: 0.25rem; }
  .page-link:focus,
  .page-link > a:focus {
    color: #4E5155; }

.page-link.btn-primary {
  -webkit-box-shadow: none !important;
          box-shadow: none !important; }

.pagination > li > a:not(.page-link) {
  position: relative;
  display: block;
  padding: 0.625rem 0.3125rem;
  min-width: calc(2.144rem + 2px);
  border: 1px solid rgba(24, 28, 33, 0.06);
  background-color: transparent;
  color: #a3a4a6;
  text-align: center;
  line-height: 1 !important;
  border-radius: 0.25rem; }
  .pagination > li > a:not(.page-link):hover, .pagination > li > a:not(.page-link):focus {
    border-color: rgba(24, 28, 33, 0.1);
    background-color: transparent;
    color: #4E5155;
    text-decoration: none; }
  .pagination > li > a:not(.page-link):focus {
    color: #4E5155; }

.pagination-lg .page-link,
.pagination-lg > li > a:not(.page-link) {
  min-width: calc(2.875rem + 2px);
  border-radius: 0.25rem; }

.pagination-sm .page-link,
.pagination-sm > li > a:not(.page-link) {
  min-width: calc(1.5rem + 2px);
  border-radius: 0.25rem; }

.alert-secondary {
  border-color: #dfe1e3;
  background-color: #edeff2;
  color: #5f6061; }
  .alert-secondary hr {
    border-top-color: #dfe1e3; }
  .alert-secondary .close,
  .alert-secondary .alert-link {
    color: #5f6061; }

.alert-dark-secondary {
  background-color: #8897AA;
  color: #fff; }
  .alert-dark-secondary hr {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .alert-dark-secondary .close,
  .alert-dark-secondary .alert-link {
    color: #fff; }

.alert-success {
  border-color: #cce6dd;
  background-color: #d9f5eb;
  color: #57625e; }
  .alert-success hr {
    border-top-color: #cce6dd; }
  .alert-success .close,
  .alert-success .alert-link {
    color: #57625e; }

.alert-dark-success {
  background-color: #02BC77;
  color: #fff; }
  .alert-dark-success hr {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .alert-dark-success .close,
  .alert-dark-success .alert-link {
    color: #fff; }

.alert-info {
  border-color: #d2e7ea;
  background-color: #dff6f9;
  color: #596264; }
  .alert-info hr {
    border-top-color: #d2e7ea; }
  .alert-info .close,
  .alert-info .alert-link {
    color: #596264; }

.alert-dark-info {
  background-color: #28c3d7;
  color: #fff; }
  .alert-dark-info hr {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .alert-dark-info .close,
  .alert-dark-info .alert-link {
    color: #fff; }

.alert-warning {
  border-color: #f0ead7;
  background-color: #fff9e5;
  color: #66645c; }
  .alert-warning hr {
    border-top-color: #f0ead7; }
  .alert-warning .close,
  .alert-warning .alert-link {
    color: #66645c; }

.alert-dark-warning {
  background-color: #FFD950;
  color: #665720; }
  .alert-dark-warning hr {
    border-top-color: rgba(102, 87, 32, 0.2); }
  .alert-dark-warning .close,
  .alert-dark-warning .alert-link {
    color: #665720; }

.alert-danger {
  border-color: #ead7d7;
  background-color: #f9e5e5;
  color: #645c5c; }
  .alert-danger hr {
    border-top-color: #ead7d7; }
  .alert-danger .close,
  .alert-danger .alert-link {
    color: #645c5c; }

.alert-dark-danger {
  background-color: #d9534f;
  color: #fff; }
  .alert-dark-danger hr {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .alert-dark-danger .close,
  .alert-dark-danger .alert-link {
    color: #fff; }

.alert-dark {
  border-color: #cfd0d1;
  background-color: #dcddde;
  color: #585859; }
  .alert-dark hr {
    border-top-color: #cfd0d1; }
  .alert-dark .close,
  .alert-dark .alert-link {
    color: #585859; }

.alert-dark-dark {
  background-color: rgba(24, 28, 33, 0.9);
  color: #fff; }
  .alert-dark-dark hr {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .alert-dark-dark .close,
  .alert-dark-dark .alert-link {
    color: #fff; }

.tooltip-inner {
  -webkit-box-shadow: none;
          box-shadow: none; }

.modal-open .tooltip {
  z-index: 1092; }

.tooltip-secondary .tooltip-inner, .tooltip-secondary > .tooltip .tooltip-inner, .ngb-tooltip-secondary + ngb-tooltip-window .tooltip-inner {
  background: #8897AA;
  color: #fff; }

.tooltip-secondary.bs-tooltip-top .arrow::before, .tooltip-secondary.bs-tooltip-auto[x-placement^="top"] .arrow::before, .tooltip-secondary > .tooltip.bs-tooltip-top .arrow::before, .tooltip-secondary > .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before, .ngb-tooltip-secondary + ngb-tooltip-window.bs-tooltip-top .arrow::before, .ngb-tooltip-secondary + ngb-tooltip-window.bs-tooltip-auto[x-placement^="top"] .arrow::before {
  border-top-color: #8897AA; }

.tooltip-secondary.bs-tooltip-right .arrow::before, .tooltip-secondary.bs-tooltip-auto[x-placement^="right"] .arrow::before, .tooltip-secondary > .tooltip.bs-tooltip-right .arrow::before, .tooltip-secondary > .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before, .ngb-tooltip-secondary + ngb-tooltip-window.bs-tooltip-right .arrow::before, .ngb-tooltip-secondary + ngb-tooltip-window.bs-tooltip-auto[x-placement^="right"] .arrow::before {
  border-right-color: #8897AA; }

.tooltip-secondary.bs-tooltip-bottom .arrow::before, .tooltip-secondary.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .tooltip-secondary > .tooltip.bs-tooltip-bottom .arrow::before, .tooltip-secondary > .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .ngb-tooltip-secondary + ngb-tooltip-window.bs-tooltip-bottom .arrow::before, .ngb-tooltip-secondary + ngb-tooltip-window.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  border-bottom-color: #8897AA; }

.tooltip-secondary.bs-tooltip-left .arrow::before, .tooltip-secondary.bs-tooltip-auto[x-placement^="left"] .arrow::before, .tooltip-secondary > .tooltip.bs-tooltip-left .arrow::before, .tooltip-secondary > .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before, .ngb-tooltip-secondary + ngb-tooltip-window.bs-tooltip-left .arrow::before, .ngb-tooltip-secondary + ngb-tooltip-window.bs-tooltip-auto[x-placement^="left"] .arrow::before {
  border-left-color: #8897AA; }

.tooltip-success .tooltip-inner, .tooltip-success > .tooltip .tooltip-inner, .ngb-tooltip-success + ngb-tooltip-window .tooltip-inner {
  background: #02BC77;
  color: #fff; }

.tooltip-success.bs-tooltip-top .arrow::before, .tooltip-success.bs-tooltip-auto[x-placement^="top"] .arrow::before, .tooltip-success > .tooltip.bs-tooltip-top .arrow::before, .tooltip-success > .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before, .ngb-tooltip-success + ngb-tooltip-window.bs-tooltip-top .arrow::before, .ngb-tooltip-success + ngb-tooltip-window.bs-tooltip-auto[x-placement^="top"] .arrow::before {
  border-top-color: #02BC77; }

.tooltip-success.bs-tooltip-right .arrow::before, .tooltip-success.bs-tooltip-auto[x-placement^="right"] .arrow::before, .tooltip-success > .tooltip.bs-tooltip-right .arrow::before, .tooltip-success > .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before, .ngb-tooltip-success + ngb-tooltip-window.bs-tooltip-right .arrow::before, .ngb-tooltip-success + ngb-tooltip-window.bs-tooltip-auto[x-placement^="right"] .arrow::before {
  border-right-color: #02BC77; }

.tooltip-success.bs-tooltip-bottom .arrow::before, .tooltip-success.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .tooltip-success > .tooltip.bs-tooltip-bottom .arrow::before, .tooltip-success > .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .ngb-tooltip-success + ngb-tooltip-window.bs-tooltip-bottom .arrow::before, .ngb-tooltip-success + ngb-tooltip-window.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  border-bottom-color: #02BC77; }

.tooltip-success.bs-tooltip-left .arrow::before, .tooltip-success.bs-tooltip-auto[x-placement^="left"] .arrow::before, .tooltip-success > .tooltip.bs-tooltip-left .arrow::before, .tooltip-success > .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before, .ngb-tooltip-success + ngb-tooltip-window.bs-tooltip-left .arrow::before, .ngb-tooltip-success + ngb-tooltip-window.bs-tooltip-auto[x-placement^="left"] .arrow::before {
  border-left-color: #02BC77; }

.tooltip-info .tooltip-inner, .tooltip-info > .tooltip .tooltip-inner, .ngb-tooltip-info + ngb-tooltip-window .tooltip-inner {
  background: #28c3d7;
  color: #fff; }

.tooltip-info.bs-tooltip-top .arrow::before, .tooltip-info.bs-tooltip-auto[x-placement^="top"] .arrow::before, .tooltip-info > .tooltip.bs-tooltip-top .arrow::before, .tooltip-info > .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before, .ngb-tooltip-info + ngb-tooltip-window.bs-tooltip-top .arrow::before, .ngb-tooltip-info + ngb-tooltip-window.bs-tooltip-auto[x-placement^="top"] .arrow::before {
  border-top-color: #28c3d7; }

.tooltip-info.bs-tooltip-right .arrow::before, .tooltip-info.bs-tooltip-auto[x-placement^="right"] .arrow::before, .tooltip-info > .tooltip.bs-tooltip-right .arrow::before, .tooltip-info > .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before, .ngb-tooltip-info + ngb-tooltip-window.bs-tooltip-right .arrow::before, .ngb-tooltip-info + ngb-tooltip-window.bs-tooltip-auto[x-placement^="right"] .arrow::before {
  border-right-color: #28c3d7; }

.tooltip-info.bs-tooltip-bottom .arrow::before, .tooltip-info.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .tooltip-info > .tooltip.bs-tooltip-bottom .arrow::before, .tooltip-info > .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .ngb-tooltip-info + ngb-tooltip-window.bs-tooltip-bottom .arrow::before, .ngb-tooltip-info + ngb-tooltip-window.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  border-bottom-color: #28c3d7; }

.tooltip-info.bs-tooltip-left .arrow::before, .tooltip-info.bs-tooltip-auto[x-placement^="left"] .arrow::before, .tooltip-info > .tooltip.bs-tooltip-left .arrow::before, .tooltip-info > .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before, .ngb-tooltip-info + ngb-tooltip-window.bs-tooltip-left .arrow::before, .ngb-tooltip-info + ngb-tooltip-window.bs-tooltip-auto[x-placement^="left"] .arrow::before {
  border-left-color: #28c3d7; }

.tooltip-warning .tooltip-inner, .tooltip-warning > .tooltip .tooltip-inner, .ngb-tooltip-warning + ngb-tooltip-window .tooltip-inner {
  background: #FFD950;
  color: #665720; }

.tooltip-warning.bs-tooltip-top .arrow::before, .tooltip-warning.bs-tooltip-auto[x-placement^="top"] .arrow::before, .tooltip-warning > .tooltip.bs-tooltip-top .arrow::before, .tooltip-warning > .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before, .ngb-tooltip-warning + ngb-tooltip-window.bs-tooltip-top .arrow::before, .ngb-tooltip-warning + ngb-tooltip-window.bs-tooltip-auto[x-placement^="top"] .arrow::before {
  border-top-color: #FFD950; }

.tooltip-warning.bs-tooltip-right .arrow::before, .tooltip-warning.bs-tooltip-auto[x-placement^="right"] .arrow::before, .tooltip-warning > .tooltip.bs-tooltip-right .arrow::before, .tooltip-warning > .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before, .ngb-tooltip-warning + ngb-tooltip-window.bs-tooltip-right .arrow::before, .ngb-tooltip-warning + ngb-tooltip-window.bs-tooltip-auto[x-placement^="right"] .arrow::before {
  border-right-color: #FFD950; }

.tooltip-warning.bs-tooltip-bottom .arrow::before, .tooltip-warning.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .tooltip-warning > .tooltip.bs-tooltip-bottom .arrow::before, .tooltip-warning > .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .ngb-tooltip-warning + ngb-tooltip-window.bs-tooltip-bottom .arrow::before, .ngb-tooltip-warning + ngb-tooltip-window.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  border-bottom-color: #FFD950; }

.tooltip-warning.bs-tooltip-left .arrow::before, .tooltip-warning.bs-tooltip-auto[x-placement^="left"] .arrow::before, .tooltip-warning > .tooltip.bs-tooltip-left .arrow::before, .tooltip-warning > .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before, .ngb-tooltip-warning + ngb-tooltip-window.bs-tooltip-left .arrow::before, .ngb-tooltip-warning + ngb-tooltip-window.bs-tooltip-auto[x-placement^="left"] .arrow::before {
  border-left-color: #FFD950; }

.tooltip-danger .tooltip-inner, .tooltip-danger > .tooltip .tooltip-inner, .ngb-tooltip-danger + ngb-tooltip-window .tooltip-inner {
  background: #d9534f;
  color: #fff; }

.tooltip-danger.bs-tooltip-top .arrow::before, .tooltip-danger.bs-tooltip-auto[x-placement^="top"] .arrow::before, .tooltip-danger > .tooltip.bs-tooltip-top .arrow::before, .tooltip-danger > .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before, .ngb-tooltip-danger + ngb-tooltip-window.bs-tooltip-top .arrow::before, .ngb-tooltip-danger + ngb-tooltip-window.bs-tooltip-auto[x-placement^="top"] .arrow::before {
  border-top-color: #d9534f; }

.tooltip-danger.bs-tooltip-right .arrow::before, .tooltip-danger.bs-tooltip-auto[x-placement^="right"] .arrow::before, .tooltip-danger > .tooltip.bs-tooltip-right .arrow::before, .tooltip-danger > .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before, .ngb-tooltip-danger + ngb-tooltip-window.bs-tooltip-right .arrow::before, .ngb-tooltip-danger + ngb-tooltip-window.bs-tooltip-auto[x-placement^="right"] .arrow::before {
  border-right-color: #d9534f; }

.tooltip-danger.bs-tooltip-bottom .arrow::before, .tooltip-danger.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .tooltip-danger > .tooltip.bs-tooltip-bottom .arrow::before, .tooltip-danger > .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .ngb-tooltip-danger + ngb-tooltip-window.bs-tooltip-bottom .arrow::before, .ngb-tooltip-danger + ngb-tooltip-window.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  border-bottom-color: #d9534f; }

.tooltip-danger.bs-tooltip-left .arrow::before, .tooltip-danger.bs-tooltip-auto[x-placement^="left"] .arrow::before, .tooltip-danger > .tooltip.bs-tooltip-left .arrow::before, .tooltip-danger > .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before, .ngb-tooltip-danger + ngb-tooltip-window.bs-tooltip-left .arrow::before, .ngb-tooltip-danger + ngb-tooltip-window.bs-tooltip-auto[x-placement^="left"] .arrow::before {
  border-left-color: #d9534f; }

.tooltip-dark .tooltip-inner, .tooltip-dark > .tooltip .tooltip-inner, .ngb-tooltip-dark + ngb-tooltip-window .tooltip-inner {
  background: #2f3337;
  color: #fff; }

.tooltip-dark.bs-tooltip-top .arrow::before, .tooltip-dark.bs-tooltip-auto[x-placement^="top"] .arrow::before, .tooltip-dark > .tooltip.bs-tooltip-top .arrow::before, .tooltip-dark > .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before, .ngb-tooltip-dark + ngb-tooltip-window.bs-tooltip-top .arrow::before, .ngb-tooltip-dark + ngb-tooltip-window.bs-tooltip-auto[x-placement^="top"] .arrow::before {
  border-top-color: #2f3337; }

.tooltip-dark.bs-tooltip-right .arrow::before, .tooltip-dark.bs-tooltip-auto[x-placement^="right"] .arrow::before, .tooltip-dark > .tooltip.bs-tooltip-right .arrow::before, .tooltip-dark > .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before, .ngb-tooltip-dark + ngb-tooltip-window.bs-tooltip-right .arrow::before, .ngb-tooltip-dark + ngb-tooltip-window.bs-tooltip-auto[x-placement^="right"] .arrow::before {
  border-right-color: #2f3337; }

.tooltip-dark.bs-tooltip-bottom .arrow::before, .tooltip-dark.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .tooltip-dark > .tooltip.bs-tooltip-bottom .arrow::before, .tooltip-dark > .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .ngb-tooltip-dark + ngb-tooltip-window.bs-tooltip-bottom .arrow::before, .ngb-tooltip-dark + ngb-tooltip-window.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  border-bottom-color: #2f3337; }

.tooltip-dark.bs-tooltip-left .arrow::before, .tooltip-dark.bs-tooltip-auto[x-placement^="left"] .arrow::before, .tooltip-dark > .tooltip.bs-tooltip-left .arrow::before, .tooltip-dark > .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before, .ngb-tooltip-dark + ngb-tooltip-window.bs-tooltip-left .arrow::before, .ngb-tooltip-dark + ngb-tooltip-window.bs-tooltip-auto[x-placement^="left"] .arrow::before {
  border-left-color: #2f3337; }

.popover {
  -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.09);
          box-shadow: 0 1px 6px rgba(0, 0, 0, 0.09); }
  .popover .arrow {
    z-index: 1; }

.modal-open .popover {
  z-index: 1091; }

.popover-secondary, .popover-secondary > .popover, .ngb-popover-secondary + ngb-popover-window {
  border-color: transparent;
  background: #8897AA; }
  .popover-secondary .popover-header, .popover-secondary > .popover .popover-header, .ngb-popover-secondary + ngb-popover-window .popover-header {
    border-color: rgba(255, 255, 255, 0.2);
    background: transparent;
    color: #fff; }
  .popover-secondary .popover-body, .popover-secondary > .popover .popover-body, .ngb-popover-secondary + ngb-popover-window .popover-body {
    background: transparent;
    color: #fff; }
  .popover-secondary .arrow::before, .popover-secondary > .popover .arrow::before, .ngb-popover-secondary + ngb-popover-window .arrow::before {
    border-color: transparent !important; }
  .popover-secondary.bs-popover-top .arrow::after, .popover-secondary.bs-popover-auto[x-placement^="top"] .arrow::after, .popover-secondary > .popover.bs-popover-top .arrow::after, .popover-secondary > .popover.bs-popover-auto[x-placement^="top"] .arrow::after, .ngb-popover-secondary + ngb-popover-window.bs-popover-top .arrow::after, .ngb-popover-secondary + ngb-popover-window.bs-popover-auto[x-placement^="top"] .arrow::after {
    border-top-color: #8897AA; }
  .popover-secondary.bs-popover-right .arrow::after, .popover-secondary.bs-popover-auto[x-placement^="right"] .arrow::after, .popover-secondary > .popover.bs-popover-right .arrow::after, .popover-secondary > .popover.bs-popover-auto[x-placement^="right"] .arrow::after, .ngb-popover-secondary + ngb-popover-window.bs-popover-right .arrow::after, .ngb-popover-secondary + ngb-popover-window.bs-popover-auto[x-placement^="right"] .arrow::after {
    border-right-color: #8897AA; }
  .popover-secondary.bs-popover-bottom .arrow::after, .popover-secondary.bs-popover-auto[x-placement^="bottom"] .arrow::after, .popover-secondary > .popover.bs-popover-bottom .arrow::after, .popover-secondary > .popover.bs-popover-auto[x-placement^="bottom"] .arrow::after, .ngb-popover-secondary + ngb-popover-window.bs-popover-bottom .arrow::after, .ngb-popover-secondary + ngb-popover-window.bs-popover-auto[x-placement^="bottom"] .arrow::after {
    border-bottom-color: #8897AA; }
  .popover-secondary.bs-popover-left .arrow::after, .popover-secondary.bs-popover-auto[x-placement^="left"] .arrow::after, .popover-secondary > .popover.bs-popover-left .arrow::after, .popover-secondary > .popover.bs-popover-auto[x-placement^="left"] .arrow::after, .ngb-popover-secondary + ngb-popover-window.bs-popover-left .arrow::after, .ngb-popover-secondary + ngb-popover-window.bs-popover-auto[x-placement^="left"] .arrow::after {
    border-left-color: #8897AA; }

.popover-success, .popover-success > .popover, .ngb-popover-success + ngb-popover-window {
  border-color: transparent;
  background: #02BC77; }
  .popover-success .popover-header, .popover-success > .popover .popover-header, .ngb-popover-success + ngb-popover-window .popover-header {
    border-color: rgba(255, 255, 255, 0.2);
    background: transparent;
    color: #fff; }
  .popover-success .popover-body, .popover-success > .popover .popover-body, .ngb-popover-success + ngb-popover-window .popover-body {
    background: transparent;
    color: #fff; }
  .popover-success .arrow::before, .popover-success > .popover .arrow::before, .ngb-popover-success + ngb-popover-window .arrow::before {
    border-color: transparent !important; }
  .popover-success.bs-popover-top .arrow::after, .popover-success.bs-popover-auto[x-placement^="top"] .arrow::after, .popover-success > .popover.bs-popover-top .arrow::after, .popover-success > .popover.bs-popover-auto[x-placement^="top"] .arrow::after, .ngb-popover-success + ngb-popover-window.bs-popover-top .arrow::after, .ngb-popover-success + ngb-popover-window.bs-popover-auto[x-placement^="top"] .arrow::after {
    border-top-color: #02BC77; }
  .popover-success.bs-popover-right .arrow::after, .popover-success.bs-popover-auto[x-placement^="right"] .arrow::after, .popover-success > .popover.bs-popover-right .arrow::after, .popover-success > .popover.bs-popover-auto[x-placement^="right"] .arrow::after, .ngb-popover-success + ngb-popover-window.bs-popover-right .arrow::after, .ngb-popover-success + ngb-popover-window.bs-popover-auto[x-placement^="right"] .arrow::after {
    border-right-color: #02BC77; }
  .popover-success.bs-popover-bottom .arrow::after, .popover-success.bs-popover-auto[x-placement^="bottom"] .arrow::after, .popover-success > .popover.bs-popover-bottom .arrow::after, .popover-success > .popover.bs-popover-auto[x-placement^="bottom"] .arrow::after, .ngb-popover-success + ngb-popover-window.bs-popover-bottom .arrow::after, .ngb-popover-success + ngb-popover-window.bs-popover-auto[x-placement^="bottom"] .arrow::after {
    border-bottom-color: #02BC77; }
  .popover-success.bs-popover-left .arrow::after, .popover-success.bs-popover-auto[x-placement^="left"] .arrow::after, .popover-success > .popover.bs-popover-left .arrow::after, .popover-success > .popover.bs-popover-auto[x-placement^="left"] .arrow::after, .ngb-popover-success + ngb-popover-window.bs-popover-left .arrow::after, .ngb-popover-success + ngb-popover-window.bs-popover-auto[x-placement^="left"] .arrow::after {
    border-left-color: #02BC77; }

.popover-info, .popover-info > .popover, .ngb-popover-info + ngb-popover-window {
  border-color: transparent;
  background: #28c3d7; }
  .popover-info .popover-header, .popover-info > .popover .popover-header, .ngb-popover-info + ngb-popover-window .popover-header {
    border-color: rgba(255, 255, 255, 0.2);
    background: transparent;
    color: #fff; }
  .popover-info .popover-body, .popover-info > .popover .popover-body, .ngb-popover-info + ngb-popover-window .popover-body {
    background: transparent;
    color: #fff; }
  .popover-info .arrow::before, .popover-info > .popover .arrow::before, .ngb-popover-info + ngb-popover-window .arrow::before {
    border-color: transparent !important; }
  .popover-info.bs-popover-top .arrow::after, .popover-info.bs-popover-auto[x-placement^="top"] .arrow::after, .popover-info > .popover.bs-popover-top .arrow::after, .popover-info > .popover.bs-popover-auto[x-placement^="top"] .arrow::after, .ngb-popover-info + ngb-popover-window.bs-popover-top .arrow::after, .ngb-popover-info + ngb-popover-window.bs-popover-auto[x-placement^="top"] .arrow::after {
    border-top-color: #28c3d7; }
  .popover-info.bs-popover-right .arrow::after, .popover-info.bs-popover-auto[x-placement^="right"] .arrow::after, .popover-info > .popover.bs-popover-right .arrow::after, .popover-info > .popover.bs-popover-auto[x-placement^="right"] .arrow::after, .ngb-popover-info + ngb-popover-window.bs-popover-right .arrow::after, .ngb-popover-info + ngb-popover-window.bs-popover-auto[x-placement^="right"] .arrow::after {
    border-right-color: #28c3d7; }
  .popover-info.bs-popover-bottom .arrow::after, .popover-info.bs-popover-auto[x-placement^="bottom"] .arrow::after, .popover-info > .popover.bs-popover-bottom .arrow::after, .popover-info > .popover.bs-popover-auto[x-placement^="bottom"] .arrow::after, .ngb-popover-info + ngb-popover-window.bs-popover-bottom .arrow::after, .ngb-popover-info + ngb-popover-window.bs-popover-auto[x-placement^="bottom"] .arrow::after {
    border-bottom-color: #28c3d7; }
  .popover-info.bs-popover-left .arrow::after, .popover-info.bs-popover-auto[x-placement^="left"] .arrow::after, .popover-info > .popover.bs-popover-left .arrow::after, .popover-info > .popover.bs-popover-auto[x-placement^="left"] .arrow::after, .ngb-popover-info + ngb-popover-window.bs-popover-left .arrow::after, .ngb-popover-info + ngb-popover-window.bs-popover-auto[x-placement^="left"] .arrow::after {
    border-left-color: #28c3d7; }

.popover-warning, .popover-warning > .popover, .ngb-popover-warning + ngb-popover-window {
  border-color: transparent;
  background: #FFD950; }
  .popover-warning .popover-header, .popover-warning > .popover .popover-header, .ngb-popover-warning + ngb-popover-window .popover-header {
    border-color: rgba(102, 87, 32, 0.2);
    background: transparent;
    color: #665720; }
  .popover-warning .popover-body, .popover-warning > .popover .popover-body, .ngb-popover-warning + ngb-popover-window .popover-body {
    background: transparent;
    color: #665720; }
  .popover-warning .arrow::before, .popover-warning > .popover .arrow::before, .ngb-popover-warning + ngb-popover-window .arrow::before {
    border-color: transparent !important; }
  .popover-warning.bs-popover-top .arrow::after, .popover-warning.bs-popover-auto[x-placement^="top"] .arrow::after, .popover-warning > .popover.bs-popover-top .arrow::after, .popover-warning > .popover.bs-popover-auto[x-placement^="top"] .arrow::after, .ngb-popover-warning + ngb-popover-window.bs-popover-top .arrow::after, .ngb-popover-warning + ngb-popover-window.bs-popover-auto[x-placement^="top"] .arrow::after {
    border-top-color: #FFD950; }
  .popover-warning.bs-popover-right .arrow::after, .popover-warning.bs-popover-auto[x-placement^="right"] .arrow::after, .popover-warning > .popover.bs-popover-right .arrow::after, .popover-warning > .popover.bs-popover-auto[x-placement^="right"] .arrow::after, .ngb-popover-warning + ngb-popover-window.bs-popover-right .arrow::after, .ngb-popover-warning + ngb-popover-window.bs-popover-auto[x-placement^="right"] .arrow::after {
    border-right-color: #FFD950; }
  .popover-warning.bs-popover-bottom .arrow::after, .popover-warning.bs-popover-auto[x-placement^="bottom"] .arrow::after, .popover-warning > .popover.bs-popover-bottom .arrow::after, .popover-warning > .popover.bs-popover-auto[x-placement^="bottom"] .arrow::after, .ngb-popover-warning + ngb-popover-window.bs-popover-bottom .arrow::after, .ngb-popover-warning + ngb-popover-window.bs-popover-auto[x-placement^="bottom"] .arrow::after {
    border-bottom-color: #FFD950; }
  .popover-warning.bs-popover-left .arrow::after, .popover-warning.bs-popover-auto[x-placement^="left"] .arrow::after, .popover-warning > .popover.bs-popover-left .arrow::after, .popover-warning > .popover.bs-popover-auto[x-placement^="left"] .arrow::after, .ngb-popover-warning + ngb-popover-window.bs-popover-left .arrow::after, .ngb-popover-warning + ngb-popover-window.bs-popover-auto[x-placement^="left"] .arrow::after {
    border-left-color: #FFD950; }

.popover-danger, .popover-danger > .popover, .ngb-popover-danger + ngb-popover-window {
  border-color: transparent;
  background: #d9534f; }
  .popover-danger .popover-header, .popover-danger > .popover .popover-header, .ngb-popover-danger + ngb-popover-window .popover-header {
    border-color: rgba(255, 255, 255, 0.2);
    background: transparent;
    color: #fff; }
  .popover-danger .popover-body, .popover-danger > .popover .popover-body, .ngb-popover-danger + ngb-popover-window .popover-body {
    background: transparent;
    color: #fff; }
  .popover-danger .arrow::before, .popover-danger > .popover .arrow::before, .ngb-popover-danger + ngb-popover-window .arrow::before {
    border-color: transparent !important; }
  .popover-danger.bs-popover-top .arrow::after, .popover-danger.bs-popover-auto[x-placement^="top"] .arrow::after, .popover-danger > .popover.bs-popover-top .arrow::after, .popover-danger > .popover.bs-popover-auto[x-placement^="top"] .arrow::after, .ngb-popover-danger + ngb-popover-window.bs-popover-top .arrow::after, .ngb-popover-danger + ngb-popover-window.bs-popover-auto[x-placement^="top"] .arrow::after {
    border-top-color: #d9534f; }
  .popover-danger.bs-popover-right .arrow::after, .popover-danger.bs-popover-auto[x-placement^="right"] .arrow::after, .popover-danger > .popover.bs-popover-right .arrow::after, .popover-danger > .popover.bs-popover-auto[x-placement^="right"] .arrow::after, .ngb-popover-danger + ngb-popover-window.bs-popover-right .arrow::after, .ngb-popover-danger + ngb-popover-window.bs-popover-auto[x-placement^="right"] .arrow::after {
    border-right-color: #d9534f; }
  .popover-danger.bs-popover-bottom .arrow::after, .popover-danger.bs-popover-auto[x-placement^="bottom"] .arrow::after, .popover-danger > .popover.bs-popover-bottom .arrow::after, .popover-danger > .popover.bs-popover-auto[x-placement^="bottom"] .arrow::after, .ngb-popover-danger + ngb-popover-window.bs-popover-bottom .arrow::after, .ngb-popover-danger + ngb-popover-window.bs-popover-auto[x-placement^="bottom"] .arrow::after {
    border-bottom-color: #d9534f; }
  .popover-danger.bs-popover-left .arrow::after, .popover-danger.bs-popover-auto[x-placement^="left"] .arrow::after, .popover-danger > .popover.bs-popover-left .arrow::after, .popover-danger > .popover.bs-popover-auto[x-placement^="left"] .arrow::after, .ngb-popover-danger + ngb-popover-window.bs-popover-left .arrow::after, .ngb-popover-danger + ngb-popover-window.bs-popover-auto[x-placement^="left"] .arrow::after {
    border-left-color: #d9534f; }

.popover-dark, .popover-dark > .popover, .ngb-popover-dark + ngb-popover-window {
  border-color: transparent;
  background: #2f3337; }
  .popover-dark .popover-header, .popover-dark > .popover .popover-header, .ngb-popover-dark + ngb-popover-window .popover-header {
    border-color: rgba(255, 255, 255, 0.2);
    background: transparent;
    color: #fff; }
  .popover-dark .popover-body, .popover-dark > .popover .popover-body, .ngb-popover-dark + ngb-popover-window .popover-body {
    background: transparent;
    color: #fff; }
  .popover-dark .arrow::before, .popover-dark > .popover .arrow::before, .ngb-popover-dark + ngb-popover-window .arrow::before {
    border-color: transparent !important; }
  .popover-dark.bs-popover-top .arrow::after, .popover-dark.bs-popover-auto[x-placement^="top"] .arrow::after, .popover-dark > .popover.bs-popover-top .arrow::after, .popover-dark > .popover.bs-popover-auto[x-placement^="top"] .arrow::after, .ngb-popover-dark + ngb-popover-window.bs-popover-top .arrow::after, .ngb-popover-dark + ngb-popover-window.bs-popover-auto[x-placement^="top"] .arrow::after {
    border-top-color: #2f3337; }
  .popover-dark.bs-popover-right .arrow::after, .popover-dark.bs-popover-auto[x-placement^="right"] .arrow::after, .popover-dark > .popover.bs-popover-right .arrow::after, .popover-dark > .popover.bs-popover-auto[x-placement^="right"] .arrow::after, .ngb-popover-dark + ngb-popover-window.bs-popover-right .arrow::after, .ngb-popover-dark + ngb-popover-window.bs-popover-auto[x-placement^="right"] .arrow::after {
    border-right-color: #2f3337; }
  .popover-dark.bs-popover-bottom .arrow::after, .popover-dark.bs-popover-auto[x-placement^="bottom"] .arrow::after, .popover-dark > .popover.bs-popover-bottom .arrow::after, .popover-dark > .popover.bs-popover-auto[x-placement^="bottom"] .arrow::after, .ngb-popover-dark + ngb-popover-window.bs-popover-bottom .arrow::after, .ngb-popover-dark + ngb-popover-window.bs-popover-auto[x-placement^="bottom"] .arrow::after {
    border-bottom-color: #2f3337; }
  .popover-dark.bs-popover-left .arrow::after, .popover-dark.bs-popover-auto[x-placement^="left"] .arrow::after, .popover-dark > .popover.bs-popover-left .arrow::after, .popover-dark > .popover.bs-popover-auto[x-placement^="left"] .arrow::after, .ngb-popover-dark + ngb-popover-window.bs-popover-left .arrow::after, .ngb-popover-dark + ngb-popover-window.bs-popover-auto[x-placement^="left"] .arrow::after {
    border-left-color: #2f3337; }

.form-control {
  min-height: calc(2.25rem + 2px); }

.form-control-sm,
.input-group-sm .form-control {
  min-height: calc(1.5rem + 2px); }

.form-control-lg,
.input-group-lg .form-control {
  min-height: calc(3rem + 2px); }

select.form-control[size="0"]:not([multiple]) {
  height: calc(2.25rem + 2px); }

select.form-control-sm[size="0"]:not([multiple]) {
  height: calc(1.5rem + 2px); }

select.form-control-lg[size="0"]:not([multiple]) {
  height: calc(3rem + 2px); }

.form-control-plaintext {
  color: #4E5155; }
  .form-inline .form-control-plaintext {
    width: auto; }

.form-control-inverted {
  border-color: rgba(255, 255, 255, 0.3); }
  .form-control-inverted, .form-control-inverted:hover, .form-control-inverted:focus {
    background-color: rgba(255, 255, 255, 0.3);
    color: #fff; }
  .form-control-inverted::-webkit-input-placeholder {
    color: rgba(255, 255, 255, 0.7); }
  .form-control-inverted:-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.7); }
  .form-control-inverted::-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.7); }
  .form-control-inverted::placeholder {
    color: rgba(255, 255, 255, 0.7); }
  .form-control-inverted:disabled {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.1) !important; }
  .form-control-inverted option {
    color: #4E5155 !important; }

.form-label,
.col-form-label,
.col-form-legend {
  margin-bottom: calc(0.438rem - 2px);
  font-weight: 500;
  font-size: 0.83125rem; }

.col-form-label,
.col-form-legend {
  padding-bottom: 0;
  line-height: 1.54; }

.form-label-sm,
.col-form-label-sm,
.col-form-legend-sm {
  font-size: 0.75rem !important;
  line-height: 1.5; }

.form-label-lg,
.col-form-label-lg,
.col-form-legend-lg {
  font-size: 1rem !important;
  line-height: 1.5; }

.form-check {
  min-height: 1.31418rem; }

.valid-feedback {
  display: none;
  margin-top: 0.25rem;
  color: #02BC77; }

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  margin-top: .1rem;
  padding: .5rem;
  width: 250px;
  border-radius: .2rem;
  background-color: rgba(2, 188, 119, 0.8);
  color: #fff;
  line-height: 1; }

.was-validated .form-control:valid, .form-control.is-valid, .was-validated
.custom-select:valid,
.custom-select.is-valid {
  border-color: #02BC77 !important; }
  .was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated
  .custom-select:valid:focus,
  .custom-select.is-valid:focus {
    border-color: #02BC77 !important;
    -webkit-box-shadow: 0 0 0 2px rgba(2, 188, 119, 0.25) !important;
            box-shadow: 0 0 0 2px rgba(2, 188, 119, 0.25) !important; }
  .was-validated .form-control:valid ~ .valid-feedback,
  .was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,
  .form-control.is-valid ~ .valid-tooltip, .was-validated
  .custom-select:valid ~ .valid-feedback,
  .was-validated
  .custom-select:valid ~ .valid-tooltip,
  .custom-select.is-valid ~ .valid-feedback,
  .custom-select.is-valid ~ .valid-tooltip {
    display: block; }

.was-validated .custom-control.custom-checkbox .custom-control-input:valid ~ .custom-control-label, .custom-control.custom-checkbox .custom-control-input.is-valid ~ .custom-control-label, .was-validated
.custom-control.custom-radio .custom-control-input:valid ~ .custom-control-label,
.custom-control.custom-radio .custom-control-input.is-valid ~ .custom-control-label {
  color: #02BC77; }

.was-validated .custom-control.custom-checkbox .custom-control-input:valid ~ .custom-control-label::before,
.was-validated .custom-control.custom-checkbox .custom-control-input:valid:focus ~ .custom-control-label::before,
.was-validated .custom-control.custom-checkbox .custom-control-input:valid:active ~ .custom-control-label::before, .custom-control.custom-checkbox .custom-control-input.is-valid ~ .custom-control-label::before,
.custom-control.custom-checkbox .custom-control-input.is-valid:focus ~ .custom-control-label::before,
.custom-control.custom-checkbox .custom-control-input.is-valid:active ~ .custom-control-label::before, .was-validated
.custom-control.custom-radio .custom-control-input:valid ~ .custom-control-label::before,
.was-validated
.custom-control.custom-radio .custom-control-input:valid:focus ~ .custom-control-label::before,
.was-validated
.custom-control.custom-radio .custom-control-input:valid:active ~ .custom-control-label::before,
.custom-control.custom-radio .custom-control-input.is-valid ~ .custom-control-label::before,
.custom-control.custom-radio .custom-control-input.is-valid:focus ~ .custom-control-label::before,
.custom-control.custom-radio .custom-control-input.is-valid:active ~ .custom-control-label::before {
  border-color: #02BC77; }

.was-validated .custom-control.custom-checkbox .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control.custom-checkbox .custom-control-input.is-valid:focus ~ .custom-control-label::before, .was-validated
.custom-control.custom-radio .custom-control-input:valid:focus ~ .custom-control-label::before,
.custom-control.custom-radio .custom-control-input.is-valid:focus ~ .custom-control-label::before {
  -webkit-box-shadow: 0 0 0 2px rgba(2, 188, 119, 0.4);
          box-shadow: 0 0 0 2px rgba(2, 188, 119, 0.4); }

.was-validated .custom-control.custom-checkbox .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control.custom-checkbox .custom-control-input.is-valid:checked ~ .custom-control-label::before, .was-validated
.custom-control.custom-radio .custom-control-input:valid:checked ~ .custom-control-label::before,
.custom-control.custom-radio .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  border-color: #02BC77;
  background-color: #02BC77; }

.was-validated .custom-control.custom-checkbox .custom-control-input:valid ~ .valid-feedback,
.was-validated .custom-control.custom-checkbox .custom-control-input:valid ~ .valid-tooltip, .custom-control.custom-checkbox .custom-control-input.is-valid ~ .valid-feedback,
.custom-control.custom-checkbox .custom-control-input.is-valid ~ .valid-tooltip, .was-validated
.custom-control.custom-radio .custom-control-input:valid ~ .valid-feedback,
.was-validated
.custom-control.custom-radio .custom-control-input:valid ~ .valid-tooltip,
.custom-control.custom-radio .custom-control-input.is-valid ~ .valid-feedback,
.custom-control.custom-radio .custom-control-input.is-valid ~ .valid-tooltip {
  display: block; }

.was-validated .custom-control.custom-checkbox .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control.custom-checkbox .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); }

.was-validated .custom-control.custom-radio .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control.custom-radio .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='4.5' style='fill:%23fff'/%3E%3Cpath d='M5,1A4,4,0,1,1,1,5,4,4,0,0,1,5,1M5,0a5,5,0,1,0,5,5A5,5,0,0,0,5,0Z' style='fill:%23fff'/%3E%3C/svg%3E"); }

.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
  border-color: #02BC77 !important; }
  .was-validated .custom-file-input:valid ~ .custom-file-label::after, .custom-file-input.is-valid ~ .custom-file-label::after {
    border-color: inherit !important; }

.was-validated .custom-file-input:valid:focus, .custom-file-input.is-valid:focus {
  -webkit-box-shadow: 0 0 0 2px rgba(2, 188, 119, 0.3) !important;
          box-shadow: 0 0 0 2px rgba(2, 188, 119, 0.3) !important; }

.invalid-feedback {
  display: none;
  margin-top: 0.25rem;
  color: #d9534f; }

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  margin-top: .1rem;
  padding: .5rem;
  width: 250px;
  border-radius: .2rem;
  background-color: rgba(217, 83, 79, 0.8);
  color: #fff;
  line-height: 1; }

.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated
.custom-select:invalid,
.custom-select.is-invalid {
  border-color: #d9534f !important; }
  .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated
  .custom-select:invalid:focus,
  .custom-select.is-invalid:focus {
    border-color: #d9534f !important;
    -webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.25) !important;
            box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.25) !important; }
  .was-validated .form-control:invalid ~ .invalid-feedback,
  .was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,
  .form-control.is-invalid ~ .invalid-tooltip, .was-validated
  .custom-select:invalid ~ .invalid-feedback,
  .was-validated
  .custom-select:invalid ~ .invalid-tooltip,
  .custom-select.is-invalid ~ .invalid-feedback,
  .custom-select.is-invalid ~ .invalid-tooltip {
    display: block; }

.was-validated .custom-control.custom-checkbox .custom-control-input:invalid ~ .custom-control-label, .custom-control.custom-checkbox .custom-control-input.is-invalid ~ .custom-control-label, .was-validated
.custom-control.custom-radio .custom-control-input:invalid ~ .custom-control-label,
.custom-control.custom-radio .custom-control-input.is-invalid ~ .custom-control-label {
  color: #d9534f; }

.was-validated .custom-control.custom-checkbox .custom-control-input:invalid ~ .custom-control-label::before,
.was-validated .custom-control.custom-checkbox .custom-control-input:invalid:focus ~ .custom-control-label::before,
.was-validated .custom-control.custom-checkbox .custom-control-input:invalid:active ~ .custom-control-label::before, .custom-control.custom-checkbox .custom-control-input.is-invalid ~ .custom-control-label::before,
.custom-control.custom-checkbox .custom-control-input.is-invalid:focus ~ .custom-control-label::before,
.custom-control.custom-checkbox .custom-control-input.is-invalid:active ~ .custom-control-label::before, .was-validated
.custom-control.custom-radio .custom-control-input:invalid ~ .custom-control-label::before,
.was-validated
.custom-control.custom-radio .custom-control-input:invalid:focus ~ .custom-control-label::before,
.was-validated
.custom-control.custom-radio .custom-control-input:invalid:active ~ .custom-control-label::before,
.custom-control.custom-radio .custom-control-input.is-invalid ~ .custom-control-label::before,
.custom-control.custom-radio .custom-control-input.is-invalid:focus ~ .custom-control-label::before,
.custom-control.custom-radio .custom-control-input.is-invalid:active ~ .custom-control-label::before {
  border-color: #d9534f; }

.was-validated .custom-control.custom-checkbox .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control.custom-checkbox .custom-control-input.is-invalid:focus ~ .custom-control-label::before, .was-validated
.custom-control.custom-radio .custom-control-input:invalid:focus ~ .custom-control-label::before,
.custom-control.custom-radio .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
  -webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.4);
          box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.4); }

.was-validated .custom-control.custom-checkbox .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control.custom-checkbox .custom-control-input.is-invalid:checked ~ .custom-control-label::before, .was-validated
.custom-control.custom-radio .custom-control-input:invalid:checked ~ .custom-control-label::before,
.custom-control.custom-radio .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  border-color: #d9534f;
  background-color: #d9534f; }

.was-validated .custom-control.custom-checkbox .custom-control-input:invalid ~ .invalid-feedback,
.was-validated .custom-control.custom-checkbox .custom-control-input:invalid ~ .invalid-tooltip, .custom-control.custom-checkbox .custom-control-input.is-invalid ~ .invalid-feedback,
.custom-control.custom-checkbox .custom-control-input.is-invalid ~ .invalid-tooltip, .was-validated
.custom-control.custom-radio .custom-control-input:invalid ~ .invalid-feedback,
.was-validated
.custom-control.custom-radio .custom-control-input:invalid ~ .invalid-tooltip,
.custom-control.custom-radio .custom-control-input.is-invalid ~ .invalid-feedback,
.custom-control.custom-radio .custom-control-input.is-invalid ~ .invalid-tooltip {
  display: block; }

.was-validated .custom-control.custom-checkbox .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control.custom-checkbox .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); }

.was-validated .custom-control.custom-radio .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control.custom-radio .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='4.5' style='fill:%23fff'/%3E%3Cpath d='M5,1A4,4,0,1,1,1,5,4,4,0,0,1,5,1M5,0a5,5,0,1,0,5,5A5,5,0,0,0,5,0Z' style='fill:%23fff'/%3E%3C/svg%3E"); }

.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
  border-color: #d9534f !important; }
  .was-validated .custom-file-input:invalid ~ .custom-file-label::after, .custom-file-input.is-invalid ~ .custom-file-label::after {
    border-color: inherit !important; }

.was-validated .custom-file-input:invalid:focus, .custom-file-input.is-invalid:focus {
  -webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.3) !important;
          box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.3) !important; }

.form-inline .custom-control {
  display: block;
  width: 100%; }

@media (min-width: 576px) {
  .form-inline .custom-control,
  .form-inline .custom-select,
  .form-inline .form-control-plaintext {
    display: inline-block;
    width: auto; }
  .form-inline .form-text {
    margin-top: 0; }
  .form-inline .form-label {
    margin-bottom: 0 !important; } }

.custom-control {
  position: relative;
  min-height: 1.125rem; }

.custom-control-label {
  position: static; }
  .custom-control-label::before {
    top: 0.0625rem;
    left: 0;
    border: 1px solid rgba(24, 28, 33, 0.1);
    background-color: #fff;
    background-position: center center;
    background-repeat: no-repeat;
    -webkit-transition: all .2s;
    transition: all .2s;
    pointer-events: auto; }
  .custom-control-label::after {
    display: none; }

.custom-checkbox .custom-control-label::before {
  background-size: 65% 65%; }

.custom-radio .custom-control-label::before {
  background-size: 40% 40%; }

.custom-control-input:active ~ .custom-control-label::before {
  -webkit-box-shadow: none;
          box-shadow: none; }

.custom-control-input:active:not(:checked) ~ .custom-control-label::before {
  background-color: #fff; }

.custom-control-input:disabled ~ .custom-control-label::before,
fieldset[disabled] .custom-control-input ~ .custom-control-label::before {
  border-color: rgba(24, 28, 33, 0.1) !important;
  background-color: #f1f1f2 !important; }

.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before,
fieldset[disabled] .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23a3a4a6;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E") !important; }

.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before,
fieldset[disabled] .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='4.5' style='fill:%23a3a4a6'/%3E%3Cpath d='M5,1A4,4,0,1,1,1,5,4,4,0,0,1,5,1M5,0a5,5,0,1,0,5,5A5,5,0,0,0,5,0Z' style='fill:%23a3a4a6'/%3E%3C/svg%3E") !important; }

.custom-controls-stacked .custom-control {
  display: block;
  margin-bottom: .5rem; }

.custom-select {
  display: block;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAMCAYAAACEJVa/AAAABGdBTUEAALGPC/xhBQAAAF5JREFUKBVjePb8xX8GCgEThfrB2gePISzEeMfDx6/h/79/9djUMjIxNRLlnR1bNjWAFKMbAhIDyRFlCEgzukEwA8AGkxrFIK+BMFgzjCDVEJg+ZJpo7yBrQmcPHkMAR5Yf55H9JN4AAAAASUVORK5CYII=") !important;
  background-clip: padding-box;
  -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; }
  .custom-select[size="0"]:not([multiple]) {
    padding-right: 2.75rem; }

.custom-select-inverted {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAMCAYAAACEJVa/AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEpJREFUeNpi+P//vwMQM1CCGYaXISwMxIEKIA7BIr4GiDuYiDSkC4gPoYkdgoqT5B0OIF4AxGegNAe5YSIIxJOg9HCNYqoYAhBgAKHWBg+hRrNxAAAAAElFTkSuQmCC") !important; }
  .custom-select-inverted, .custom-select-inverted:focus {
    background-color: rgba(255, 255, 255, 0.3);
    color: #fff;
    border-color: transparent; }
  .custom-select-inverted:disabled {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: #fff !important; }
  .custom-select-inverted::-webkit-input-placeholder {
    color: rgba(255, 255, 255, 0.7); }
  .custom-select-inverted:-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.7); }
  .custom-select-inverted::-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.7); }
  .custom-select-inverted::placeholder {
    color: rgba(255, 255, 255, 0.7); }
  .custom-select-inverted option {
    color: #4E5155 !important; }

.custom-select-sm,
.input-group-sm .custom-select {
  padding: 0.188rem 2.5rem 0.188rem 0.625rem;
  height: calc(1.5rem + 2px);
  background-position: right 0.625rem center;
  font-size: 0.75rem;
  line-height: 1.5; }
  .custom-select-sm[size="0"]:not([multiple]),
  .input-group-sm .custom-select[size="0"]:not([multiple]) {
    padding-right: 2.5rem; }

.custom-select-lg,
.input-group-lg .custom-select {
  padding: 0.75rem 3.125rem 0.75rem 1.25rem;
  height: calc(3rem + 2px);
  background-position: right 1.25rem center;
  font-size: 1rem;
  line-height: 1.5; }
  .custom-select-lg[size="0"]:not([multiple]),
  .input-group-lg .custom-select[size="0"]:not([multiple]) {
    padding-right: 3.125rem; }

.custom-select[class][multiple],
.custom-select[size]:not([size="1"]):not([size="0"]) {
  padding-right: 0.875rem !important;
  padding-left: 0.875rem !important;
  height: auto !important;
  background-image: none !important; }

.custom-select-sm[class][multiple], .custom-select-sm[size]:not([size="1"]):not([size="0"]),
.input-group-sm .custom-select[class][multiple],
.input-group-sm .custom-select[size]:not([size="1"]):not([size="0"]) {
  padding-right: 0.625rem !important;
  padding-left: 0.625rem !important; }

.custom-select-lg[class][multiple], .custom-select-lg[size]:not([size="1"]):not([size="0"]),
.input-group-lg .custom-select[class][multiple],
.input-group-lg .custom-select[size]:not([size="1"]):not([size="0"]) {
  padding-right: 1.25rem !important;
  padding-left: 1.25rem !important; }

.custom-file {
  display: block;
  width: 100%; }

.custom-file-label {
  background-clip: padding-box;
  -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; }
  .custom-file-input:disabled ~ .custom-file-label {
    background: #f1f1f2; }
    .custom-file-input:disabled ~ .custom-file-label::before {
      opacity: .65; }

.switcher {
  position: relative;
  display: inline-block;
  margin-right: 0.75rem;
  margin-bottom: 0;
  border-radius: 60rem;
  vertical-align: middle;
  font-weight: normal;
  padding-left: 2.375rem;
  min-height: 1.375rem;
  font-size: 0.894rem;
  line-height: 1.4; }
  .switcher .switcher-blank .switcher-indicator {
    top: 0 !important; }
  .switcher .switcher-indicator {
    width: 2.375rem;
    height: 1.375rem;
    font-size: 0.625rem;
    line-height: 1.375rem;
    top: 0; }
  .switcher .switcher-label {
    top: 0.0617rem; }
  .switcher .switcher-input:checked ~ .switcher-indicator::after {
    left: 1rem; }
  .switcher .switcher-indicator::after {
    top: 0;
    margin: 0.25rem 0 0 0.25rem;
    width: 0.875rem;
    height: 0.875rem; }
  .switcher .switcher-no {
    padding-right: 0.25rem;
    padding-left: 1.125rem; }
  .switcher .switcher-yes {
    padding-right: 1.125rem;
    padding-left: 0.25rem; }
  @media (min-width: 576px) {
    .form-inline .switcher {
      display: block;
      margin-right: 0; } }

.switcher-input {
  position: absolute;
  z-index: -1;
  margin: 0;
  padding: 0;
  opacity: 0; }

.switcher-indicator {
  position: absolute;
  left: 0;
  overflow: hidden;
  border-radius: 60rem;
  background: rgba(24, 28, 33, 0.1);
  color: rgba(24, 28, 33, 0.3);
  font-weight: bold;
  cursor: default;
  -webkit-transition-duration: .2s;
          transition-duration: .2s;
  -webkit-transition-property: left, right, background, -webkit-box-shadow;
  transition-property: left, right, background, -webkit-box-shadow;
  transition-property: left, right, background, box-shadow;
  transition-property: left, right, background, box-shadow, -webkit-box-shadow;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.switcher-label {
  position: relative;
  display: inline-block;
  padding-left: 0.5rem;
  color: #4E5155;
  font-weight: 400;
  cursor: default; }

.switcher-no,
.switcher-yes {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  -webkit-transition-duration: .2s;
          transition-duration: .2s;
  -webkit-transition-property: left, right;
  transition-property: left, right; }

.switcher-no {
  left: 0; }

.switcher-yes {
  left: -100%; }
  .switcher-input:not(:checked) ~ .switcher-indicator .switcher-yes {
    color: transparent !important; }

.switcher-input:checked ~ .switcher-indicator .switcher-no {
  left: 100%;
  color: transparent !important; }

.switcher-input:checked ~ .switcher-indicator .switcher-yes {
  left: 0; }

.switcher-indicator::after {
  content: "";
  position: absolute;
  left: 0;
  display: block;
  border-radius: 999px;
  background: #fff;
  -webkit-box-shadow: 0 0 0 1px rgba(24, 28, 33, 0.04), 0 1px 6px rgba(24, 28, 33, 0.09);
          box-shadow: 0 0 0 1px rgba(24, 28, 33, 0.04), 0 1px 6px rgba(24, 28, 33, 0.09);
  -webkit-transition-duration: .2s;
          transition-duration: .2s;
  -webkit-transition-property: left, right, background;
  transition-property: left, right, background; }

.switcher-input:disabled ~ .switcher-indicator,
fieldset[disabled] .switcher-input ~ .switcher-indicator {
  opacity: .5;
  cursor: not-allowed !important; }
  .switcher-input:disabled ~ .switcher-indicator::after,
  fieldset[disabled] .switcher-input ~ .switcher-indicator::after {
    -webkit-box-shadow: none !important;
            box-shadow: none !important; }

.switcher-input:disabled ~ .switcher-label,
fieldset[disabled] .switcher-input ~ .switcher-label {
  color: #a3a4a6 !important;
  cursor: not-allowed; }

.switchers-stacked .switcher {
  display: block;
  margin-right: 0;
  margin-bottom: 0.5rem; }

.switcher-square,
.switcher-square .switcher-indicator {
  border-radius: 0.25rem; }

.switcher-square .switcher-indicator::after {
  border-radius: calc(0.25rem - 2px); }

.switcher-sm,
.form-group-sm .switcher {
  padding-left: 2rem;
  min-height: 1.125rem;
  font-size: 0.75rem;
  line-height: 1.486; }
  .switcher-sm .switcher-blank .switcher-indicator,
  .form-group-sm .switcher .switcher-blank .switcher-indicator {
    top: 0 !important; }
  .switcher-sm .switcher-indicator,
  .form-group-sm .switcher .switcher-indicator {
    width: 2rem;
    height: 1.125rem;
    font-size: 0.625rem;
    line-height: 1.125rem;
    top: 0; }
  .switcher-sm .switcher-label,
  .form-group-sm .switcher .switcher-label {
    top: 0.00525rem; }
  .switcher-sm .switcher-input:checked ~ .switcher-indicator::after,
  .form-group-sm .switcher .switcher-input:checked ~ .switcher-indicator::after {
    left: 0.875rem; }
  .switcher-sm .switcher-indicator::after,
  .form-group-sm .switcher .switcher-indicator::after {
    top: 0;
    margin: 0.25rem 0 0 0.25rem;
    width: 0.625rem;
    height: 0.625rem; }
  .switcher-sm .switcher-no,
  .form-group-sm .switcher .switcher-no {
    padding-right: 0.25rem;
    padding-left: 0.875rem; }
  .switcher-sm .switcher-yes,
  .form-group-sm .switcher .switcher-yes {
    padding-right: 0.875rem;
    padding-left: 0.25rem; }

.switcher-lg,
.form-group-lg .switcher {
  padding-left: 3.25rem;
  min-height: 1.75rem;
  font-size: 1rem;
  line-height: 1.47; }
  .switcher-lg .switcher-blank .switcher-indicator,
  .form-group-lg .switcher .switcher-blank .switcher-indicator {
    top: 0 !important; }
  .switcher-lg .switcher-indicator,
  .form-group-lg .switcher .switcher-indicator {
    width: 3.25rem;
    height: 1.75rem;
    font-size: 0.625rem;
    line-height: 1.75rem;
    top: 0; }
  .switcher-lg .switcher-label,
  .form-group-lg .switcher .switcher-label {
    top: 0.14rem; }
  .switcher-lg .switcher-input:checked ~ .switcher-indicator::after,
  .form-group-lg .switcher .switcher-input:checked ~ .switcher-indicator::after {
    left: 1.5rem; }
  .switcher-lg .switcher-indicator::after,
  .form-group-lg .switcher .switcher-indicator::after {
    top: 0;
    margin: 0.25rem 0 0 0.25rem;
    width: 1.25rem;
    height: 1.25rem; }
  .switcher-lg .switcher-no,
  .form-group-lg .switcher .switcher-no {
    padding-right: 0.25rem;
    padding-left: 1.5rem; }
  .switcher-lg .switcher-yes,
  .form-group-lg .switcher .switcher-yes {
    padding-right: 1.5rem;
    padding-left: 0.25rem; }

.switcher-secondary.switcher .switcher-input:checked ~ .switcher-indicator {
  background: #8897AA;
  color: #fff; }

.switcher-secondary.switcher .switcher-input:focus ~ .switcher-indicator {
  -webkit-box-shadow: 0 0 0 2px rgba(136, 151, 170, 0.4);
          box-shadow: 0 0 0 2px rgba(136, 151, 170, 0.4); }

.switcher-secondary.switcher .switcher-input:active ~ .switcher-indicator {
  -webkit-box-shadow: none !important;
          box-shadow: none !important; }

.switcher-success.switcher .switcher-input:checked ~ .switcher-indicator {
  background: #02BC77;
  color: #fff; }

.switcher-success.switcher .switcher-input:focus ~ .switcher-indicator {
  -webkit-box-shadow: 0 0 0 2px rgba(2, 188, 119, 0.4);
          box-shadow: 0 0 0 2px rgba(2, 188, 119, 0.4); }

.switcher-success.switcher .switcher-input:active ~ .switcher-indicator {
  -webkit-box-shadow: none !important;
          box-shadow: none !important; }

.switcher-info.switcher .switcher-input:checked ~ .switcher-indicator {
  background: #28c3d7;
  color: #fff; }

.switcher-info.switcher .switcher-input:focus ~ .switcher-indicator {
  -webkit-box-shadow: 0 0 0 2px rgba(40, 195, 215, 0.4);
          box-shadow: 0 0 0 2px rgba(40, 195, 215, 0.4); }

.switcher-info.switcher .switcher-input:active ~ .switcher-indicator {
  -webkit-box-shadow: none !important;
          box-shadow: none !important; }

.switcher-warning.switcher .switcher-input:checked ~ .switcher-indicator {
  background: #FFD950;
  color: #665720; }

.switcher-warning.switcher .switcher-input:focus ~ .switcher-indicator {
  -webkit-box-shadow: 0 0 0 2px rgba(255, 217, 80, 0.4);
          box-shadow: 0 0 0 2px rgba(255, 217, 80, 0.4); }

.switcher-warning.switcher .switcher-input:active ~ .switcher-indicator {
  -webkit-box-shadow: none !important;
          box-shadow: none !important; }

.switcher-danger.switcher .switcher-input:checked ~ .switcher-indicator {
  background: #d9534f;
  color: #fff; }

.switcher-danger.switcher .switcher-input:focus ~ .switcher-indicator {
  -webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.4);
          box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.4); }

.switcher-danger.switcher .switcher-input:active ~ .switcher-indicator {
  -webkit-box-shadow: none !important;
          box-shadow: none !important; }

.switcher-dark.switcher .switcher-input:checked ~ .switcher-indicator {
  background: rgba(24, 28, 33, 0.9);
  color: #fff; }

.switcher-dark.switcher .switcher-input:focus ~ .switcher-indicator {
  -webkit-box-shadow: 0 0 0 2px rgba(24, 28, 33, 0.4);
          box-shadow: 0 0 0 2px rgba(24, 28, 33, 0.4); }

.switcher-dark.switcher .switcher-input:active ~ .switcher-indicator {
  -webkit-box-shadow: none !important;
          box-shadow: none !important; }

.was-validated .switcher-input:valid:checked ~ .switcher-indicator, .switcher-input.is-valid:checked ~ .switcher-indicator {
  background: #02BC77 !important;
  color: #fff !important; }

.was-validated .switcher-input:valid:focus ~ .switcher-indicator, .switcher-input.is-valid:focus ~ .switcher-indicator {
  -webkit-box-shadow: 0 0 0 2px rgba(2, 188, 119, 0.4) !important;
          box-shadow: 0 0 0 2px rgba(2, 188, 119, 0.4) !important; }

.was-validated .switcher-input:valid:active ~ .switcher-indicator, .switcher-input.is-valid:active ~ .switcher-indicator {
  -webkit-box-shadow: none !important;
          box-shadow: none !important; }

.was-validated .switcher-input:valid ~ .switcher-label, .switcher-input.is-valid ~ .switcher-label {
  color: #02BC77 !important; }

.was-validated .switcher-input:invalid:checked ~ .switcher-indicator, .switcher-input.is-invalid:checked ~ .switcher-indicator {
  background: #d9534f !important;
  color: #fff !important; }

.was-validated .switcher-input:invalid:focus ~ .switcher-indicator, .switcher-input.is-invalid:focus ~ .switcher-indicator {
  -webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.4) !important;
          box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.4) !important; }

.was-validated .switcher-input:invalid:active ~ .switcher-indicator, .switcher-input.is-invalid:active ~ .switcher-indicator {
  -webkit-box-shadow: none !important;
          box-shadow: none !important; }

.was-validated .switcher-input:invalid ~ .switcher-label, .switcher-input.is-invalid ~ .switcher-label {
  color: #d9534f !important; }

.input-group .custom-select {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  width: auto; }

.input-group-text {
  background-clip: padding-box; }

.modal {
  z-index: 1090; }

.modal-backdrop {
  z-index: 1089; }

.modal-content {
  -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.09);
          box-shadow: 0 1px 6px rgba(0, 0, 0, 0.09); }

.modal-header {
  position: relative;
  padding: 1.25rem 2.5625rem 1.25rem 1.5625rem; }

.modal-footer {
  padding: 1.25rem 1.5625rem; }

.modal-header .close,
.modal-slide .close {
  position: absolute;
  top: 50%;
  right: 1.5625rem;
  margin: 0;
  padding: 0;
  line-height: 1.47;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%); }

@media (min-width: 576px) {
  .modal-content {
    -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.09);
            box-shadow: 0 1px 6px rgba(0, 0, 0, 0.09); }
  ngb-modal-window.modal-sm {
    max-width: none; }
  .modal-sm .modal-dialog {
    max-width: 22.5rem; } }

@media (min-width: 992px) {
  ngb-modal-window.modal-lg {
    max-width: none; }
  .modal-lg .modal-dialog {
    max-width: 50rem; } }

.modal-top .modal-dialog {
  margin-top: 0; }

.modal-top .modal-content {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important; }

.modal-slide,
.modal-slide .modal {
  overflow: hidden !important;
  padding: 0 !important; }

.modal-slide .modal-dialog {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  margin: 0;
  max-width: none;
  width: 100%; }
  @media (min-width: 576px) {
    .modal-slide .modal-dialog {
      width: 20rem; } }

.modal-slide .modal-content {
  overflow: auto;
  padding-top: 3.22127rem;
  padding-bottom: 3.22127rem;
  height: 100%;
  border-radius: 0; }

.modal-slide .modal-body {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  margin: auto 0;
  padding-top: 0;
  padding-bottom: 0; }

.modal-slide .close {
  top: 0.625rem;
  z-index: 10;
  -webkit-transform: none;
          transform: none; }

.modal-fill-in .modal-dialog {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  padding-top: 3.22127rem;
  padding-bottom: 3.22127rem;
  min-height: 100vh; }

.modal-fill-in .modal-content {
  margin: auto;
  width: 100%;
  border: 0;
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none; }

.modal-fill-in .close {
  position: absolute;
  top: -2rem;
  right: 1.5625rem;
  font-size: 2rem;
  -webkit-transform: none;
          transform: none; }

.modal.fade .modal-dialog {
  -webkit-transform: translateY(150px) scale(0.8);
          transform: translateY(150px) scale(0.8); }

.modal.show .modal-dialog {
  -webkit-transform: translateY(0) scale(1);
          transform: translateY(0) scale(1); }

.modal-top.fade .modal-dialog,
.modal-top .modal.fade .modal-dialog {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%); }

.modal-top.show .modal-dialog,
.modal-top .modal.show .modal-dialog {
  -webkit-transform: translateY(0);
          transform: translateY(0); }

.modal-slide.fade .modal-dialog,
.modal-slide .modal.fade .modal-dialog {
  -webkit-transform: translateX(100%);
          transform: translateX(100%); }

.modal-slide.show .modal-dialog,
.modal-slide .modal.show .modal-dialog {
  -webkit-transform: translateX(0) !important;
          transform: translateX(0) !important; }

.modal-fill-in.fade .modal-dialog,
.modal-fill-in .modal.fade .modal-dialog {
  -webkit-transform: scale(0.5, 0.5);
          transform: scale(0.5, 0.5); }

.modal-fill-in.show .modal-dialog,
.modal-fill-in .modal.show .modal-dialog {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1); }

.breadcrumb-item,
.breadcrumb-item a {
  color: #a3a4a6; }
  .breadcrumb-item:hover,
  .breadcrumb-item a:hover {
    color: #4E5155; }

.list-group-item-secondary {
  border-color: rgba(0, 0, 0, 0.07);
  background-color: #f3f5f7;
  color: #616263; }

a.list-group-item-secondary,
button.list-group-item-secondary {
  color: #616263; }
  a.list-group-item-secondary:hover, a.list-group-item-secondary:focus,
  button.list-group-item-secondary:hover,
  button.list-group-item-secondary:focus {
    background-color: #f1f3f5;
    color: #616263; }
  a.list-group-item-secondary.active,
  button.list-group-item-secondary.active {
    border-color: #8897AA;
    background-color: #8897AA;
    color: #616263; }

.list-group-item-success {
  border-color: rgba(0, 0, 0, 0.07);
  background-color: #e6f8f1;
  color: #5c6360; }

a.list-group-item-success,
button.list-group-item-success {
  color: #5c6360; }
  a.list-group-item-success:hover, a.list-group-item-success:focus,
  button.list-group-item-success:hover,
  button.list-group-item-success:focus {
    background-color: #e4f6ef;
    color: #5c6360; }
  a.list-group-item-success.active,
  button.list-group-item-success.active {
    border-color: #02BC77;
    background-color: #02BC77;
    color: #5c6360; }

.list-group-item-info {
  border-color: rgba(0, 0, 0, 0.07);
  background-color: #eaf9fb;
  color: #5e6464; }

a.list-group-item-info,
button.list-group-item-info {
  color: #5e6464; }
  a.list-group-item-info:hover, a.list-group-item-info:focus,
  button.list-group-item-info:hover,
  button.list-group-item-info:focus {
    background-color: #e8f7f8;
    color: #5e6464; }
  a.list-group-item-info.active,
  button.list-group-item-info.active {
    border-color: #28c3d7;
    background-color: #28c3d7;
    color: #5e6464; }

.list-group-item-warning {
  border-color: rgba(0, 0, 0, 0.07);
  background-color: #fffbee;
  color: #66645f; }

a.list-group-item-warning,
button.list-group-item-warning {
  color: #66645f; }
  a.list-group-item-warning:hover, a.list-group-item-warning:focus,
  button.list-group-item-warning:hover,
  button.list-group-item-warning:focus {
    background-color: #fcf8ec;
    color: #66645f; }
  a.list-group-item-warning.active,
  button.list-group-item-warning.active {
    border-color: #FFD950;
    background-color: #FFD950;
    color: #66645f; }

.list-group-item-danger {
  border-color: rgba(0, 0, 0, 0.07);
  background-color: #fbeeed;
  color: #645f5f; }

a.list-group-item-danger,
button.list-group-item-danger {
  color: #645f5f; }
  a.list-group-item-danger:hover, a.list-group-item-danger:focus,
  button.list-group-item-danger:hover,
  button.list-group-item-danger:focus {
    background-color: #f8eceb;
    color: #645f5f; }
  a.list-group-item-danger.active,
  button.list-group-item-danger.active {
    border-color: #d9534f;
    background-color: #d9534f;
    color: #645f5f; }

.list-group-item-dark {
  border-color: rgba(0, 0, 0, 0.07);
  background-color: #e8e8e9;
  color: #5d5d5d; }

a.list-group-item-dark,
button.list-group-item-dark {
  color: #5d5d5d; }
  a.list-group-item-dark:hover, a.list-group-item-dark:focus,
  button.list-group-item-dark:hover,
  button.list-group-item-dark:focus {
    background-color: #e6e6e7;
    color: #5d5d5d; }
  a.list-group-item-dark.active,
  button.list-group-item-dark.active {
    border-color: rgba(24, 28, 33, 0.9);
    background-color: rgba(24, 28, 33, 0.9);
    color: #5d5d5d; }

.navbar {
  z-index: 2; }

.fixed-top {
  z-index: 1030; }

.navbar.navbar-dark {
  color: rgba(255, 255, 255, 0.8); }

.navbar-dark .navbar-nav .nav-link.disabled {
  color: rgba(255, 255, 255, 0.4) !important; }

.navbar.navbar-light {
  color: rgba(24, 28, 33, 0.4); }

.navbar-light .navbar-nav .nav-link.disabled {
  color: rgba(24, 28, 33, 0.2) !important; }

.navbar-collapse,
.navbar-brand,
.navbar-text {
  -ms-flex-negative: 1;
      flex-shrink: 1; }

.navbar-dark hr {
  border-color: rgba(255, 255, 255, 0.1); }

.navbar-light hr {
  border-color: rgba(24, 28, 33, 0.06); }

.navbar-icon {
  font-size: 130%; }

.navbar-search-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0; }
  .navbar-search-box:not(.active) {
    cursor: pointer; }

.navbar-search-input {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 0;
  -webkit-transition: max-width .3s ease-in-out;
  transition: max-width .3s ease-in-out; }
  .navbar-search-box.active .navbar-search-input {
    max-width: 100vw; }
  .navbar-search-input .form-control {
    padding-right: 0 !important;
    padding-left: 0 !important;
    width: auto;
    border: 0 !important;
    border-radius: 0 !important;
    background: none;
    color: inherit !important; }
    .navbar-dark .navbar-search-input .form-control::-webkit-input-placeholder {
      color: rgba(255, 255, 255, 0.4); }
    .navbar-dark .navbar-search-input .form-control:-ms-input-placeholder {
      color: rgba(255, 255, 255, 0.4); }
    .navbar-dark .navbar-search-input .form-control::-ms-input-placeholder {
      color: rgba(255, 255, 255, 0.4); }
    .navbar-dark .navbar-search-input .form-control::placeholder {
      color: rgba(255, 255, 255, 0.4); }
    .navbar-light .navbar-search-input .form-control::-webkit-input-placeholder {
      color: rgba(24, 28, 33, 0.2); }
    .navbar-light .navbar-search-input .form-control:-ms-input-placeholder {
      color: rgba(24, 28, 33, 0.2); }
    .navbar-light .navbar-search-input .form-control::-ms-input-placeholder {
      color: rgba(24, 28, 33, 0.2); }
    .navbar-light .navbar-search-input .form-control::placeholder {
      color: rgba(24, 28, 33, 0.2); }

.navbar-search-cancel {
  color: inherit !important;
  font-weight: 100;
  font-size: 1.55em;
  line-height: 1;
  opacity: .5; }
  .navbar-search-cancel:hover, .navbar-search-cancel:focus {
    opacity: 1; }

.navbar-expand-sm .navbar-search-box.nav-link {
  padding-top: 0;
  padding-bottom: 0; }

@media (max-width: 575.98px) {
  .navbar-expand-sm .navbar-search-input {
    max-width: 100vw !important;
    width: 100% !important; }
  .navbar-expand-sm .navbar-search-input .form-control {
    width: 100% !important; }
  .navbar-expand-sm .navbar-search-cancel {
    display: none !important; }
  .navbar-expand-sm.navbar-dark .navbar-search-box {
    color: #fff !important; }
  .navbar-expand-sm.navbar-light .navbar-search-box {
    color: #4E5155 !important; } }

@media (min-width: 576px) {
  .navbar-expand-md .navbar-search-box.nav-link {
    padding-top: 0;
    padding-bottom: 0; } }

@media (max-width: 767.98px) {
  .navbar-expand-md .navbar-search-input {
    max-width: 100vw !important;
    width: 100% !important; }
  .navbar-expand-md .navbar-search-input .form-control {
    width: 100% !important; }
  .navbar-expand-md .navbar-search-cancel {
    display: none !important; }
  .navbar-expand-md.navbar-dark .navbar-search-box {
    color: #fff !important; }
  .navbar-expand-md.navbar-light .navbar-search-box {
    color: #4E5155 !important; } }

@media (min-width: 768px) {
  .navbar-expand-lg .navbar-search-box.nav-link {
    padding-top: 0;
    padding-bottom: 0; } }

@media (max-width: 991.98px) {
  .navbar-expand-lg .navbar-search-input {
    max-width: 100vw !important;
    width: 100% !important; }
  .navbar-expand-lg .navbar-search-input .form-control {
    width: 100% !important; }
  .navbar-expand-lg .navbar-search-cancel {
    display: none !important; }
  .navbar-expand-lg.navbar-dark .navbar-search-box {
    color: #fff !important; }
  .navbar-expand-lg.navbar-light .navbar-search-box {
    color: #4E5155 !important; } }

@media (min-width: 992px) {
  .navbar-expand-xl .navbar-search-box.nav-link {
    padding-top: 0;
    padding-bottom: 0; } }

@media (max-width: 1199.98px) {
  .navbar-expand-xl .navbar-search-input {
    max-width: 100vw !important;
    width: 100% !important; }
  .navbar-expand-xl .navbar-search-input .form-control {
    width: 100% !important; }
  .navbar-expand-xl .navbar-search-cancel {
    display: none !important; }
  .navbar-expand-xl.navbar-dark .navbar-search-box {
    color: #fff !important; }
  .navbar-expand-xl.navbar-light .navbar-search-box {
    color: #4E5155 !important; } }

@media (min-width: 1200px) {
  .navbar-expand .navbar-search-box.nav-link {
    padding-top: 0;
    padding-bottom: 0; } }

.navbar-expand .navbar-search-input {
  max-width: 100vw !important;
  width: 100% !important; }

.navbar-expand .navbar-search-input .form-control {
  width: 100% !important; }

.navbar-expand .navbar-search-cancel {
  display: none !important; }

.navbar-expand.navbar-dark .navbar-search-box {
  color: #fff !important; }

.navbar-expand.navbar-light .navbar-search-box {
  color: #4E5155 !important; }

.mega-dropdown .dropdown-menu {
  width: 100%; }

.mega-dropdown .dropdown-toggle {
  outline: 0; }

.card {
  background-clip: padding-box;
  -webkit-box-shadow: 0 1px 4px rgba(24, 28, 33, 0.009);
          box-shadow: 0 1px 4px rgba(24, 28, 33, 0.009); }

.card-link {
  display: inline-block; }

.card-header {
  line-height: 1.54; }

.card-header,
.card-footer,
.card hr {
  border-color: rgba(24, 28, 33, 0.06); }

.card .list-group-item {
  border-color: #f1f1f2; }

.card .row-bordered > [class^="col-"]::before, .card .row-bordered > [class^="col-"]::after,
.card .row-bordered > [class*=" col-"]::before,
.card .row-bordered > [class*=" col-"]::after,
.card .row-bordered > [class^="col "]::before,
.card .row-bordered > [class^="col "]::after,
.card .row-bordered > [class*=" col "]::before,
.card .row-bordered > [class*=" col "]::after,
.card .row-bordered > [class$=" col"]::before,
.card .row-bordered > [class$=" col"]::after,
.card .row-bordered > [class="col"]::before,
.card .row-bordered > [class="col"]::after {
  border-color: rgba(24, 28, 33, 0.06); }

.card-header.with-elements,
.card-title.with-elements {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.card-header.with-elements {
  padding-top: 0.4375rem;
  padding-bottom: 0.4375rem; }

.card-header-elements,
.card-title-elements {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .card-header-elements + .card-header-elements,
  .card-header-elements > * + *,
  .card-title-elements + .card-header-elements,
  .card-title-elements > * + *, .card-header-elements +
  .card-title-elements,
  .card-title-elements +
  .card-title-elements {
    margin-left: .25rem; }

.card-header-title {
  padding: 0.4375rem 0; }

.card-header-elements {
  padding-top: .25rem;
  padding-bottom: .25rem; }

.card > .list-group .list-group-item {
  padding-right: 1.5rem;
  padding-left: 1.5rem; }

.card-condenced .card-header,
.card-condenced .card-footer,
.card-condenced > .list-group .list-group-item {
  padding-right: 1rem;
  padding-left: 1rem; }

.card-condenced .card-body,
.card-condenced .card-img-overlay {
  padding: 1rem; }

html:not([dir=rtl]) .card-hover[class],
html[dir=rtl] .card-hover[class] {
  -webkit-transition: all .2s;
  transition: all .2s; }
  html:not([dir=rtl]) .card-hover[class]:not(:hover),
  html[dir=rtl] .card-hover[class]:not(:hover) {
    color: #4E5155 !important;
    border-color: transparent !important;
    background: transparent !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important; }

.ngb-accordion-with-icon .card-header > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.collapse-icon {
  position: relative;
  display: block;
  -ms-flex-item-align: center;
      align-self: center;
  width: .875rem;
  height: .875rem; }
  .collapse-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    margin-top: -.25rem;
    margin-left: -.25rem;
    width: .5rem;
    height: .5rem;
    border-bottom: 0.0625rem solid rgba(24, 28, 33, 0.3);
    border-left: 0.0625rem solid rgba(24, 28, 33, 0.3);
    -webkit-transition: all .3s;
    transition: all .3s;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
    [aria-expanded="true"] .collapse-icon::after {
      -webkit-transform: rotate(135deg);
              transform: rotate(135deg); }

.footer-link {
  display: inline-block; }

.footer-dark {
  color: rgba(255, 255, 255, 0.8); }
  .footer-dark .footer-link {
    color: rgba(255, 255, 255, 0.8); }
    .footer-dark .footer-link:hover, .footer-dark .footer-link:focus {
      color: #fff; }
    .footer-dark .footer-link.disabled {
      color: rgba(255, 255, 255, 0.4) !important; }
  .footer-dark .footer-text {
    color: #fff; }
  .footer-dark .show > .footer-link,
  .footer-dark .active > .footer-link,
  .footer-dark .footer-link.show,
  .footer-dark .footer-link.active {
    color: #fff; }
  .footer-dark hr {
    border-color: rgba(255, 255, 255, 0.2); }

.footer-light {
  color: rgba(24, 28, 33, 0.4); }
  .footer-light .footer-link {
    color: rgba(24, 28, 33, 0.4); }
    .footer-light .footer-link:hover, .footer-light .footer-link:focus {
      color: #4E5155; }
    .footer-light .footer-link.disabled {
      color: rgba(24, 28, 33, 0.2) !important; }
  .footer-light .footer-text {
    color: #4E5155; }
  .footer-light .show > .footer-link,
  .footer-light .active > .footer-link,
  .footer-light .footer-link.show,
  .footer-light .footer-link.active {
    color: #4E5155; }
  .footer-light hr {
    border-color: rgba(0, 0, 0, 0.06); }

.sidenav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .sidenav .ps__thumb-y,
  .sidenav .ps__rail-y {
    width: .125rem !important; }
  .sidenav .ps__rail-y {
    right: .25rem !important;
    left: auto !important;
    background: none !important; }
  .sidenav .ps__rail-y:hover,
  .sidenav .ps__rail-y:focus,
  .sidenav .ps__rail-y.ps--clicking,
  .sidenav .ps__rail-y:hover > .ps__thumb-y,
  .sidenav .ps__rail-y:focus > .ps__thumb-y,
  .sidenav .ps__rail-y.ps--clicking > .ps__thumb-y {
    width: .375rem !important; }

.sidenav-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 0;
  padding: 0; }

.sidenav-item,
.sidenav-header,
.sidenav-divider,
.sidenav-block {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none; }

.sidenav-item {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  .sidenav-item.sidenav-item-animating {
    -webkit-transition: height 0.2s ease-in-out;
    transition: height 0.2s ease-in-out; }

.sidenav-item .sidenav-link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
  .sidenav-item.active > .sidenav-item .sidenav-link {
    font-weight: 500; }
  .sidenav-item.disabled .sidenav-item .sidenav-link {
    cursor: default !important; }
  .sidenav:not(.sidenav-no-animation) .sidenav-item .sidenav-link {
    -webkit-transition-duration: 0.2s;
            transition-duration: 0.2s;
    -webkit-transition-property: color, background-color;
    transition-property: color, background-color; }
  .sidenav-item .sidenav-link > :not(.sidenav-icon) {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }

.sidenav-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  display: block;
  width: 0.42em;
  height: 0.42em;
  border: 1px solid;
  border-top: 0;
  border-right: 0;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg); }
  .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle::after {
    -webkit-transform: translateY(-50%) rotate(-45deg);
            transform: translateY(-50%) rotate(-45deg); }
  .sidenav:not(.sidenav-no-animation) .sidenav-toggle::after {
    -webkit-transition-duration: 0.2s;
            transition-duration: 0.2s;
    transition-property: -webkit-transform, transform; }

.sidenav-menu {
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0;
  padding: 0; }
  .sidenav:not(.sidenav-no-animation) .sidenav-menu {
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s; }
  .sidenav-item.open > .sidenav-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }

.sidenav-icon {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 0.25rem;
  font-size: 1rem; }

.sidenav-divider {
  width: 100%;
  border: 0;
  border-top: 1px solid; }

.sidenav-vertical {
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .sidenav-vertical:not(.sidenav-no-animation) {
    -webkit-transition: width 0.2s;
    transition: width 0.2s; }
  .sidenav-vertical,
  .sidenav-vertical .sidenav-block,
  .sidenav-vertical .sidenav-inner > .sidenav-item,
  .sidenav-vertical .sidenav-inner > .sidenav-header {
    width: 15.625rem; }
  .sidenav-vertical .sidenav-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
    .sidenav-vertical .sidenav-inner > .sidenav-item {
      margin: 0.0625rem 0; }
  .sidenav-vertical .sidenav-item .sidenav-link,
  .sidenav-vertical .sidenav-header,
  .sidenav-vertical .sidenav-block {
    padding: 0.75rem 2rem; }
  .sidenav-vertical .sidenav-divider {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
    padding: 0; }
  .sidenav-vertical .sidenav-item .sidenav-toggle {
    padding-right: calc(2rem + 1.26em); }
    .sidenav-vertical .sidenav-item .sidenav-toggle::after {
      right: 2rem; }
  .sidenav-vertical .sidenav-menu {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem; }
    .sidenav-vertical .sidenav-menu .sidenav-link {
      padding-top: 0.625rem;
      padding-bottom: 0.625rem; }
  .sidenav-vertical .sidenav-icon {
    width: 1.75rem; }
  .sidenav-vertical .sidenav-menu .sidenav-icon {
    margin-right: 0; }
  .sidenav-vertical .sidenav-menu .sidenav-link {
    padding-left: 4rem; }
  .sidenav-vertical .sidenav-menu .sidenav-menu .sidenav-link {
    padding-left: 5rem; }
  .sidenav-vertical .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-link {
    padding-left: 6rem; }
  .sidenav-vertical .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-link {
    padding-left: 7rem; }
  .sidenav-vertical .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-link {
    padding-left: 8rem; }

.sidenav-horizontal {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  width: 100%; }
  .sidenav-horizontal .sidenav-inner {
    overflow: hidden;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%; }
  .sidenav-horizontal .sidenav-item .sidenav-link {
    padding: 1rem 1rem; }
  .sidenav-horizontal .sidenav-item .sidenav-toggle {
    padding-right: calc(1rem + 1.26em); }
    .sidenav-horizontal .sidenav-item .sidenav-toggle::after {
      right: 1rem; }
  .sidenav-horizontal .sidenav-inner > .sidenav-item > .sidenav-toggle::after {
    -webkit-transform: translateY(-50%) rotate(-45deg);
            transform: translateY(-50%) rotate(-45deg); }
  .sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing).open > .sidenav-toggle::after {
    -webkit-transform: translateY(-50%) rotate(135deg);
            transform: translateY(-50%) rotate(135deg); }
  .sidenav-horizontal .sidenav-header,
  .sidenav-horizontal .sidenav-divider {
    display: none !important; }
  .sidenav-horizontal .sidenav-menu {
    position: absolute;
    width: 12.5rem; }
    .sidenav-horizontal .sidenav-menu .sidenav-menu {
      position: static;
      width: auto; }
    .sidenav-horizontal .sidenav-menu .sidenav-link {
      padding-top: 0.625rem;
      padding-bottom: 0.625rem; }
  .sidenav-horizontal .sidenav-inner > .sidenav-item > .sidenav-menu {
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem; }
  .sidenav-horizontal:not(.sidenav-no-animation) .sidenav-inner > .sidenav-item.open > .sidenav-menu {
    -webkit-animation: sidenavDropdownShow 0.2s ease-in-out;
            animation: sidenavDropdownShow 0.2s ease-in-out; }
  .sidenav-horizontal .sidenav-menu .sidenav-menu .sidenav-link {
    padding-left: 2rem; }
  .sidenav-horizontal .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-link {
    padding-left: 3rem; }
  .sidenav-horizontal .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-link {
    padding-left: 4rem; }
  .sidenav-horizontal .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-link {
    padding-left: 5rem; }

.sidenav-horizontal-wrapper {
  overflow: hidden;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 100%;
          flex: 0 1 100%;
  width: 0; }
  .sidenav:not(.sidenav-no-animation) .sidenav-horizontal-wrapper .sidenav-inner {
    -webkit-transition: margin 0.2s;
    transition: margin 0.2s; }

.sidenav-horizontal-prev,
.sidenav-horizontal-next {
  position: relative;
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 2.25rem; }
  .sidenav-horizontal-prev::after,
  .sidenav-horizontal-next::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 0.5rem;
    height: 0.5rem;
    border: 1px solid;
    border-top: 0; }
  .sidenav-horizontal-prev.disabled,
  .sidenav-horizontal-next.disabled {
    cursor: default !important; }

.sidenav-horizontal-prev::after {
  border-right: 0;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg); }

.sidenav-horizontal-next::after {
  border-left: 0;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg); }

@-webkit-keyframes sidenavDropdownShow {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-0.5rem);
            transform: translateY(-0.5rem); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes sidenavDropdownShow {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-0.5rem);
            transform: translateY(-0.5rem); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

.sidenav-dark {
  color: rgba(255, 255, 255, 0.8); }
  .sidenav-dark .sidenav-link,
  .sidenav-dark .sidenav-horizontal-prev,
  .sidenav-dark .sidenav-horizontal-next {
    color: rgba(255, 255, 255, 0.8); }
    .sidenav-dark .sidenav-link:hover, .sidenav-dark .sidenav-link:focus,
    .sidenav-dark .sidenav-horizontal-prev:hover,
    .sidenav-dark .sidenav-horizontal-prev:focus,
    .sidenav-dark .sidenav-horizontal-next:hover,
    .sidenav-dark .sidenav-horizontal-next:focus {
      color: #fff; }
    .sidenav-dark .sidenav-link.active,
    .sidenav-dark .sidenav-horizontal-prev.active,
    .sidenav-dark .sidenav-horizontal-next.active {
      color: #fff; }
  .sidenav-dark .sidenav-item.disabled .sidenav-link {
    color: rgba(255, 255, 255, 0.4) !important; }
  .sidenav-dark .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav-dark .sidenav-item.active > .sidenav-link {
    color: #fff; }
  .sidenav-dark .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background: rgba(0, 0, 0, 0.06); }
  .sidenav-dark .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav-dark .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    color: rgba(255, 255, 255, 0.8); }
  .sidenav-dark .sidenav-text {
    color: #fff; }
  .sidenav-dark .sidenav-header {
    color: rgba(255, 255, 255, 0.8); }
  .sidenav-dark hr,
  .sidenav-dark .sidenav-divider,
  .sidenav-dark .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(255, 255, 255, 0.2) !important; }
  .sidenav-dark .sidenav-inner > .sidenav-header::before,
  .sidenav-dark .sidenav-block::before {
    background-color: rgba(255, 255, 255, 0.4); }
  .sidenav-dark .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: rgba(255, 255, 255, 0.2); }
  .sidenav-dark .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #fff; }
  .sidenav-dark .ps__thumb-y {
    background: rgba(255, 255, 255, 0.8) !important; }

.sidenav-light {
  color: rgba(24, 28, 33, 0.4); }
  .sidenav-light .sidenav-link,
  .sidenav-light .sidenav-horizontal-prev,
  .sidenav-light .sidenav-horizontal-next {
    color: rgba(24, 28, 33, 0.4); }
    .sidenav-light .sidenav-link:hover, .sidenav-light .sidenav-link:focus,
    .sidenav-light .sidenav-horizontal-prev:hover,
    .sidenav-light .sidenav-horizontal-prev:focus,
    .sidenav-light .sidenav-horizontal-next:hover,
    .sidenav-light .sidenav-horizontal-next:focus {
      color: #4E5155; }
    .sidenav-light .sidenav-link.active,
    .sidenav-light .sidenav-horizontal-prev.active,
    .sidenav-light .sidenav-horizontal-next.active {
      color: #4E5155; }
  .sidenav-light .sidenav-item.disabled .sidenav-link {
    color: rgba(24, 28, 33, 0.2) !important; }
  .sidenav-light .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav-light .sidenav-item.active > .sidenav-link {
    color: #4E5155; }
  .sidenav-light .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background: rgba(0, 0, 0, 0.05); }
  .sidenav-light .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav-light .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    color: rgba(24, 28, 33, 0.4); }
  .sidenav-light .sidenav-text {
    color: #4E5155; }
  .sidenav-light .sidenav-header {
    color: rgba(24, 28, 33, 0.4); }
  .sidenav-light hr,
  .sidenav-light .sidenav-divider,
  .sidenav-light .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(0, 0, 0, 0.06) !important; }
  .sidenav-light .sidenav-inner > .sidenav-header::before,
  .sidenav-light .sidenav-block::before {
    background-color: rgba(24, 28, 33, 0.2); }
  .sidenav-light .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: rgba(0, 0, 0, 0.06); }
  .sidenav-light .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #4E5155; }
  .sidenav-light .ps__thumb-y {
    background: rgba(24, 28, 33, 0.4) !important; }

.sidenav-collapsed:not(:hover) {
  width: 4.375rem; }
  .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item {
    width: 16.25rem; }
  .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item > .sidenav-link {
    padding-left: 4.375rem; }
  .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-header,
  .sidenav-collapsed:not(:hover) .sidenav-block {
    position: relative;
    margin-left: 4.375rem;
    padding-right: 3.75rem;
    padding-left: 0.25rem;
    width: 15.625rem; }
    .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-header::before,
    .sidenav-collapsed:not(:hover) .sidenav-block::before {
      content: "";
      position: absolute;
      top: 0.75rem;
      bottom: 0.75rem;
      left: -3.28125rem;
      display: block;
      width: 2.1875rem; }
  .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item > .sidenav-menu,
  .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item.open > .sidenav-menu {
    position: relative;
    margin-left: 0.625rem;
    background: none !important; }
    .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item > .sidenav-menu .sidenav-link,
    .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item.open > .sidenav-menu .sidenav-link {
      background: none !important;
      -webkit-transition: none !important;
      transition: none !important; }
  .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(2.1875rem - 1px);
    display: block;
    margin-left: -0.625rem;
    width: 0;
    border-left: 2px solid; }
  .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    margin-top: -4px;
    margin-left: calc(1.5625rem - 4px);
    width: 8px;
    height: 8px;
    border-radius: 50%; }
  .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item > .sidenav-toggle::after {
    right: auto;
    left: 3.5rem; }
  .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item > .sidenav-link .sidenav-icon {
    margin-left: -4.375rem;
    width: 4.375rem;
    text-align: center; }

.layout-wrapper,
.layout-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  width: 100%; }

.layout-wrapper {
  overflow: hidden; }

.layout-inner {
  min-height: 100vh; }

.layout-container,
.layout-content,
.layout-content > *,
.layout-sidenav {
  min-height: 1px; }

.layout-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding: 0; }
  .layout-without-sidenav .layout-container {
    padding-right: 0 !important;
    padding-left: 0 !important; }

.layout-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.layout-navbar,
.layout-footer {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.layout-navbar {
  position: relative;
  z-index: 2; }
  .layout-navbar .navbar {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }

.layout-sidenav {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }
  .layout-sidenav .sidenav {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  .layout-sidenav .sidenav-vertical {
    height: 100%; }

.layout-1 .layout-inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.layout-1 .layout-content {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  width: 0;
  min-width: 0;
  max-width: 100%; }

.layout-2 .layout-container {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 0;
  min-width: 0;
  max-width: 100%; }

.layout-2 .layout-content {
  width: 100%; }

.layout-reversed .layout-1 .layout-container {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.layout-reversed .layout-2 .layout-inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.layout-sidenav-toggle {
  display: block; }

@media (max-width: 991px) {
  .layout-sidenav {
    position: fixed !important;
    top: 0 !important;
    height: 100% !important;
    left: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
    will-change: transform, -webkit-transform; }
    .layout-reversed .layout-sidenav {
      right: 0 !important;
      left: auto !important;
      -webkit-transform: translate3d(100%, 0, 0);
              transform: translate3d(100%, 0, 0); }
    .layout-expanded .layout-sidenav {
      -webkit-transform: translate3d(0, 0, 0) !important;
              transform: translate3d(0, 0, 0) !important; }
  .layout-expanded body {
    overflow: hidden; }
  .layout-overlay {
    position: fixed;
    top: 0;
    right: 0;
    height: 100% !important;
    left: 0;
    display: none;
    background: #181C21;
    opacity: 0.5;
    cursor: pointer; }
    .layout-expanded .layout-overlay {
      display: block; }
  .layout-sidenav-100vh .layout-sidenav,
  .layout-sidenav-100vh .layout-overlay {
    height: 100vh !important; } }

@media (min-width: 992px) {
  .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .sidenav-vertical,
  .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical:not(:hover) {
    width: 4.375rem; }
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .sidenav-vertical .sidenav-inner > .sidenav-item,
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical:not(:hover) .sidenav-inner > .sidenav-item {
      width: 16.25rem; }
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .sidenav-vertical .sidenav-inner > .sidenav-item > .sidenav-link,
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical:not(:hover) .sidenav-inner > .sidenav-item > .sidenav-link {
      padding-left: 4.375rem; }
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .sidenav-vertical .sidenav-inner > .sidenav-header,
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .sidenav-vertical .sidenav-block,
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical:not(:hover) .sidenav-inner > .sidenav-header,
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical:not(:hover) .sidenav-block {
      position: relative;
      margin-left: 4.375rem;
      padding-right: 3.75rem;
      padding-left: 0.25rem;
      width: 15.625rem; }
      .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .sidenav-vertical .sidenav-inner > .sidenav-header::before,
      .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .sidenav-vertical .sidenav-block::before,
      .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical:not(:hover) .sidenav-inner > .sidenav-header::before,
      .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical:not(:hover) .sidenav-block::before {
        content: "";
        position: absolute;
        top: 0.75rem;
        bottom: 0.75rem;
        left: -3.28125rem;
        display: block;
        width: 2.1875rem; }
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .sidenav-vertical .sidenav-inner > .sidenav-item > .sidenav-menu,
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .sidenav-vertical .sidenav-inner > .sidenav-item.open > .sidenav-menu,
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical:not(:hover) .sidenav-inner > .sidenav-item > .sidenav-menu,
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical:not(:hover) .sidenav-inner > .sidenav-item.open > .sidenav-menu {
      position: relative;
      margin-left: 0.625rem;
      background: none !important; }
      .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .sidenav-vertical .sidenav-inner > .sidenav-item > .sidenav-menu .sidenav-link,
      .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .sidenav-vertical .sidenav-inner > .sidenav-item.open > .sidenav-menu .sidenav-link,
      .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical:not(:hover) .sidenav-inner > .sidenav-item > .sidenav-menu .sidenav-link,
      .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical:not(:hover) .sidenav-inner > .sidenav-item.open > .sidenav-menu .sidenav-link {
        background: none !important;
        -webkit-transition: none !important;
        transition: none !important; }
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .sidenav-vertical .sidenav-inner > .sidenav-item.open > .sidenav-menu::before,
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical:not(:hover) .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: calc(2.1875rem - 1px);
      display: block;
      margin-left: -0.625rem;
      width: 0;
      border-left: 2px solid; }
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .sidenav-vertical .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .sidenav-vertical .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before,
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical:not(:hover) .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical:not(:hover) .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
      content: "";
      position: absolute;
      top: 50%;
      left: 0;
      display: block;
      margin-top: -4px;
      margin-left: calc(1.5625rem - 4px);
      width: 8px;
      height: 8px;
      border-radius: 50%; }
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .sidenav-vertical .sidenav-inner > .sidenav-item > .sidenav-toggle::after,
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical:not(:hover) .sidenav-inner > .sidenav-item > .sidenav-toggle::after {
      right: auto;
      left: 3.5rem; }
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .sidenav-vertical .sidenav-inner > .sidenav-item > .sidenav-link .sidenav-icon,
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical:not(:hover) .sidenav-inner > .sidenav-item > .sidenav-link .sidenav-icon {
      margin-left: -4.375rem;
      width: 4.375rem;
      text-align: center; }
  .layout-collapsed .layout-sidenav:hover {
    margin-right: -11.25rem; }
  .layout-collapsed.layout-reversed .layout-sidenav:hover {
    margin-right: 0;
    margin-left: -11.25rem; } }

@media (min-width: 992px) {
  .layout-collapsed.layout-offcanvas .layout-sidenav {
    margin-right: -15.625rem;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  .layout-collapsed.layout-offcanvas.layout-reversed .layout-sidenav {
    margin-right: 0;
    margin-left: -15.625rem;
    -webkit-transform: translateX(100%);
            transform: translateX(100%); } }

@media (min-width: 992px) {
  .layout-fixed .layout-sidenav,
  .layout-fixed-offcanvas .layout-sidenav {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    margin-right: 0 !important;
    margin-left: 0 !important; }
  .layout-fixed.layout-reversed .layout-sidenav,
  .layout-fixed-offcanvas.layout-reversed .layout-sidenav {
    right: 0;
    left: auto; }
  .layout-fixed-offcanvas.layout-collapsed .layout-sidenav {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  .layout-fixed-offcanvas.layout-collapsed.layout-reversed .layout-sidenav {
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  .layout-fixed:not(.layout-collapsed) .layout-container,
  .layout-fixed-offcanvas:not(.layout-collapsed) .layout-container {
    padding-left: 15.625rem; }
  .layout-fixed:not(.layout-collapsed).layout-reversed .layout-container,
  .layout-fixed-offcanvas:not(.layout-collapsed).layout-reversed .layout-container {
    padding-right: 15.625rem;
    padding-left: 0; }
  .layout-fixed.layout-collapsed .layout-container {
    padding-left: 4.375rem; }
  .layout-fixed.layout-collapsed.layout-reversed .layout-container {
    padding-right: 4.375rem;
    padding-left: 0; } }

html:not(.layout-navbar-fixed):not(.layout-fixed):not(.layout-fixed-offcanvas) .layout-container,
html:not(.layout-navbar-fixed) .layout-2 .layout-container {
  padding-top: 0 !important; }

html:not(.layout-footer-fixed) .layout-content {
  padding-bottom: 0 !important; }

@media (max-width: 991px) {
  .layout-fixed .layout-wrapper.layout-1 .layout-sidenav,
  .layout-fixed-offcanvas .layout-wrapper.layout-1 .layout-sidenav {
    top: 0 !important; }
  html:not(.layout-navbar-fixed) .layout-1 .layout-container {
    padding-top: 0 !important; } }

.layout-navbar-fixed .layout-navbar {
  position: fixed;
  top: 0;
  right: 0;
  left: 0; }

@media (min-width: 992px) {
  .layout-fixed .layout-1 .layout-navbar,
  .layout-fixed-offcanvas .layout-1 .layout-navbar {
    position: fixed;
    top: 0;
    right: 0;
    left: 0; }
  .layout-navbar-fixed:not(.layout-collapsed) .layout-2 .layout-navbar,
  .layout-fixed.layout-navbar-fixed:not(.layout-collapsed) .layout-2 .layout-navbar,
  .layout-fixed-offcanvas.layout-navbar-fixed:not(.layout-collapsed) .layout-2 .layout-navbar {
    left: 15.625rem; }
  .layout-navbar-fixed:not(.layout-collapsed).layout-reversed .layout-2 .layout-navbar,
  .layout-fixed.layout-navbar-fixed:not(.layout-collapsed).layout-reversed .layout-2 .layout-navbar,
  .layout-fixed-offcanvas.layout-navbar-fixed:not(.layout-collapsed).layout-reversed .layout-2 .layout-navbar {
    right: 15.625rem;
    left: 0; }
  .layout-navbar-fixed.layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-2 .layout-navbar,
  .layout-fixed.layout-navbar-fixed.layout-collapsed .layout-2 .layout-navbar {
    left: 4.375rem; }
  .layout-navbar-fixed.layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas).layout-reversed .layout-2 .layout-navbar,
  .layout-fixed.layout-navbar-fixed.layout-collapsed.layout-reversed .layout-2 .layout-navbar {
    right: 4.375rem;
    left: 0; } }

.layout-footer-fixed .layout-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0; }

@media (min-width: 992px) {
  .layout-footer-fixed:not(.layout-collapsed) .layout-wrapper:not(.layout-without-sidenav) .layout-footer {
    left: 15.625rem; }
  .layout-footer-fixed:not(.layout-collapsed).layout-reversed .layout-wrapper:not(.layout-without-sidenav) .layout-footer {
    right: 15.625rem;
    left: 0; }
  .layout-footer-fixed.layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-wrapper:not(.layout-without-sidenav) .layout-footer {
    left: 4.375rem; }
  .layout-footer-fixed.layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas).layout-reversed .layout-wrapper:not(.layout-without-sidenav) .layout-footer {
    right: 4.375rem;
    left: 0; } }

.layout-navbar-fixed body:not(.modal-open) .layout-1 .layout-navbar,
.layout-fixed body:not(.modal-open) .layout-1 .layout-navbar,
.layout-fixed-offcanvas body:not(.modal-open) .layout-1 .layout-navbar {
  z-index: 1080; }

.layout-navbar-fixed body:not(.modal-open) .layout-2 .layout-navbar,
.layout-fixed body:not(.modal-open) .layout-2 .layout-navbar,
.layout-fixed-offcanvas body:not(.modal-open) .layout-2 .layout-navbar {
  z-index: 1075; }

.layout-footer-fixed .layout-footer {
  z-index: 1030; }

.layout-sidenav-horizontal {
  z-index: 9; }

@media (max-width: 991px) {
  .layout-sidenav {
    z-index: 1100; }
  .layout-overlay {
    z-index: 1099; } }

@media (min-width: 992px) {
  .layout-1 .layout-navbar {
    z-index: 10; }
  .layout-1 .layout-sidenav {
    z-index: 9; }
  .layout-2 .layout-navbar {
    z-index: 9; }
  .layout-2 .layout-sidenav {
    z-index: 10; }
  .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-1 .layout-sidenav:hover {
    z-index: 1075 !important; }
  .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-2 .layout-sidenav {
    z-index: 1085 !important; }
  .layout-fixed body:not(.modal-open) .layout-1 .layout-sidenav,
  .layout-fixed-offcanvas body:not(.modal-open) .layout-1 .layout-sidenav {
    z-index: 1075; }
  .layout-navbar-fixed body:not(.modal-open) .layout-2 .layout-sidenav,
  .layout-fixed body:not(.modal-open) .layout-2 .layout-sidenav,
  .layout-fixed-offcanvas body:not(.modal-open) .layout-2 .layout-sidenav {
    z-index: 1080; } }

.layout-sidenav-link-no-transition .layout-sidenav .sidenav-link,
.layout-sidenav-link-no-transition .layout-sidenav-horizontal .sidenav-link {
  -webkit-transition: none !important;
  transition: none !important;
  -webkit-animation: none !important;
          animation: none !important; }

.layout-no-transition .layout-sidenav,
.layout-no-transition .layout-sidenav .sidenav,
.layout-no-transition .layout-sidenav .sidenav-item,
.layout-no-transition .layout-sidenav-horizontal,
.layout-no-transition .layout-sidenav-horizontal .sidenav,
.layout-no-transition .layout-sidenav-horizontal .sidenav-item {
  -webkit-transition: none !important;
  transition: none !important;
  -webkit-animation: none !important;
          animation: none !important; }

@media (max-width: 991px) {
  .layout-transitioning .layout-overlay {
    -webkit-animation: layoutSidenavAnimation 0.2s;
            animation: layoutSidenavAnimation 0.2s; }
  .layout-transitioning .layout-sidenav {
    -webkit-transition-duration: 0.2s;
            transition-duration: 0.2s;
    transition-property: transform, -webkit-transform; } }

@media (min-width: 992px) {
  .layout-collapsed:not(.layout-transitioning):not(.layout-offcanvas):not(.layout-fixed):not(.layout-fixed-offcanvas) .layout-sidenav {
    -webkit-transition-duration: 0.2s;
            transition-duration: 0.2s;
    -webkit-transition-property: margin-left, margin-right, width;
    transition-property: margin-left, margin-right, width; }
  .layout-transitioning.layout-offcanvas .layout-sidenav {
    -webkit-transition-duration: 0.2s;
            transition-duration: 0.2s;
    transition-property: margin-left, margin-right, transform, -webkit-transform; }
  .layout-transitioning.layout-fixed .layout-container, .layout-transitioning.layout-fixed-offcanvas .layout-container {
    -webkit-transition-duration: 0.2s;
            transition-duration: 0.2s;
    -webkit-transition-property: padding-left, padding-right;
    transition-property: padding-left, padding-right; }
  .layout-transitioning.layout-fixed .layout-sidenav {
    -webkit-transition: width 0.2s;
    transition: width 0.2s; }
  .layout-transitioning.layout-fixed-offcanvas .layout-sidenav {
    -webkit-transition-duration: 0.2s;
            transition-duration: 0.2s;
    transition-property: transform, -webkit-transform; }
  .layout-transitioning.layout-navbar-fixed .layout-2 .layout-navbar,
  .layout-transitioning.layout-footer-fixed .layout-footer {
    -webkit-transition-duration: 0.2s;
            transition-duration: 0.2s;
    -webkit-transition-property: left, right;
    transition-property: left, right; }
  .layout-transitioning:not(.layout-offcanvas):not(.layout-fixed):not(.layout-fixed-offcanvas) .layout-sidenav {
    -webkit-transition-duration: 0.2s;
            transition-duration: 0.2s;
    -webkit-transition-property: margin-left, margin-right, width;
    transition-property: margin-left, margin-right, width; } }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .sidenav,
  .layout-sidenav,
  .layout-container,
  .layout-navbar,
  .layout-footer {
    -webkit-transition: none !important;
    transition: none !important;
    -webkit-transition-duration: 0s !important;
            transition-duration: 0s !important; }
  .layout-overlay {
    -webkit-animation: none !important;
            animation: none !important; } }

@-webkit-keyframes layoutSidenavAnimation {
  0% {
    opacity: 0; }
  100% {
    opacity: 0.5; } }

@keyframes layoutSidenavAnimation {
  0% {
    opacity: 0; }
  100% {
    opacity: 0.5; } }

.app-brand {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  line-height: 1;
  min-height: 1px; }

.app-brand-logo {
  display: block;
  overflow: hidden;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  min-height: 1px; }
  .app-brand-logo img,
  .app-brand-logo svg {
    display: block; }

.app-brand-text {
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0; }

.app-brand .layout-sidenav-toggle {
  display: block; }

.sidenav-vertical .app-brand {
  padding-right: 1.75rem;
  padding-left: 1.75rem; }

.sidenav-horizontal .app-brand,
.sidenav-horizontal .app-brand + .sidenav-divider {
  display: none !important; }

:not(.layout-sidenav) > .sidenav-vertical.sidenav-collapsed:not(.layout-sidenav):not(:hover) .app-brand {
  padding-right: 0;
  padding-left: 0;
  width: 4.375rem; }

:not(.layout-sidenav) > .sidenav-vertical.sidenav-collapsed:not(.layout-sidenav):not(:hover) .app-brand-logo,
:not(.layout-sidenav) > .sidenav-vertical.sidenav-collapsed:not(.layout-sidenav):not(:hover) .app-brand-text {
  margin-right: auto;
  margin-left: auto; }

:not(.layout-sidenav) > .sidenav-vertical.sidenav-collapsed:not(.layout-sidenav):not(:hover) .app-brand-logo ~ .app-brand-text,
:not(.layout-sidenav) > .sidenav-vertical.sidenav-collapsed:not(.layout-sidenav):not(:hover) .app-brand .layout-sidenav-toggle {
  display: none; }

@media (min-width: 992px) {
  .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .app-brand {
    padding-right: 0;
    padding-left: 0;
    width: 4.375rem; }
  .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .app-brand-logo,
  .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .app-brand-text {
    margin-right: auto;
    margin-left: auto; }
  .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .app-brand-logo ~ .app-brand-text,
  .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .app-brand .layout-sidenav-toggle {
    display: none; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9yL2Nzcy9hcHB3b3JrLmNzcyIsInNvdXJjZXMiOlsidmVuZG9yL2Nzcy9hcHB3b3JrLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19pbmNsdWRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Z1bmN0aW9ucy5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fZnVuY3Rpb25zLnNjc3MiLCJ2ZW5kb3IvY3NzL19jdXN0b20tdmFyaWFibGVzL19hcHB3b3JrLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL192YXJpYWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFkZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2l6ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2l6ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1oaWRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL192aXNpYmlsaXR5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19hbGVydC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2FyZXQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3gtc2hhZG93LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZmxvYXQuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX21peGlucy5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fcmVib290LnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL190eXBlLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL191dGlsaXRpZXMuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2Jhc2Uuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX3RhYmxlcy5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fYnV0dG9ucy5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fYnV0dG9uLWdyb3VwLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19iYWRnZS5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fZHJvcGRvd24uc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX25hdi5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fcGFnaW5hdGlvbi5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fYWxlcnQuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX3Rvb2x0aXAuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX3BvcG92ZXIuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2Zvcm1zLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19jdXN0b20tZm9ybXMuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX3N3aXRjaGVyLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19pbnB1dC1ncm91cC5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fbW9kYWwuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2JyZWFkY3J1bWIuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2xpc3QtZ3JvdXAuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX25hdmJhci5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fY2FyZC5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fYWNjb3JkaW9uLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19jYXJvdXNlbC5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fY2xvc2Uuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2Zvb3Rlci5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fc2lkZW5hdi5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fbGF5b3V0LnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19hcHAtYnJhbmQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICdfYXBwd29yay9pbmNsdWRlJztcbkBpbXBvcnQgJ19hcHB3b3JrL3JlYm9vdCc7XG5AaW1wb3J0ICdfYXBwd29yay90eXBlJztcbkBpbXBvcnQgJ19hcHB3b3JrL3V0aWxpdGllcyc7XG5AaW1wb3J0ICdfYXBwd29yay9iYXNlJztcbkBpbXBvcnQgJ19hcHB3b3JrL3RhYmxlcyc7XG5AaW1wb3J0ICdfYXBwd29yay9idXR0b25zJztcbkBpbXBvcnQgJ19hcHB3b3JrL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdfYXBwd29yay9iYWRnZSc7XG5AaW1wb3J0ICdfYXBwd29yay9kcm9wZG93bic7XG5AaW1wb3J0ICdfYXBwd29yay9uYXYnO1xuQGltcG9ydCAnX2FwcHdvcmsvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdfYXBwd29yay9hbGVydCc7XG5AaW1wb3J0ICdfYXBwd29yay90b29sdGlwJztcbkBpbXBvcnQgJ19hcHB3b3JrL3BvcG92ZXInO1xuQGltcG9ydCAnX2FwcHdvcmsvZm9ybXMnO1xuQGltcG9ydCAnX2FwcHdvcmsvY3VzdG9tLWZvcm1zJztcbkBpbXBvcnQgJ19hcHB3b3JrL3N3aXRjaGVyJztcbkBpbXBvcnQgJ19hcHB3b3JrL2lucHV0LWdyb3VwJztcbkBpbXBvcnQgJ19hcHB3b3JrL21vZGFsJztcbkBpbXBvcnQgJ19hcHB3b3JrL2JyZWFkY3J1bWInO1xuQGltcG9ydCAnX2FwcHdvcmsvbGlzdC1ncm91cCc7XG5AaW1wb3J0ICdfYXBwd29yay9uYXZiYXInO1xuQGltcG9ydCAnX2FwcHdvcmsvY2FyZCc7XG5AaW1wb3J0ICdfYXBwd29yay9hY2NvcmRpb24nO1xuQGltcG9ydCAnX2FwcHdvcmsvY2Fyb3VzZWwnO1xuQGltcG9ydCAnX2FwcHdvcmsvY2xvc2UnO1xuQGltcG9ydCAnX2FwcHdvcmsvZm9vdGVyJztcbkBpbXBvcnQgJ19hcHB3b3JrL3NpZGVuYXYnO1xuQGltcG9ydCAnX2FwcHdvcmsvbGF5b3V0JztcbkBpbXBvcnQgJ19hcHB3b3JrL2FwcC1icmFuZCc7XG4iLCJAaW1wb3J0ICcuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZnVuY3Rpb25zJztcbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICcuLi9fY3VzdG9tLXZhcmlhYmxlcy9hcHB3b3JrJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMnO1xuQGltcG9ydCAnbWl4aW5zJztcbiIsIi8vIEJvb3RzdHJhcCBmdW5jdGlvbnNcbi8vXG4vLyBVdGlsaXR5IG1peGlucyBhbmQgZnVuY3Rpb25zIGZvciBldmFsdWF0aW5nIHNvdXJjZSBjb2RlIGFjcm9zcyBvdXIgdmFyaWFibGVzLCBtYXBzLCBhbmQgbWl4aW5zLlxuXG4vLyBBc2NlbmRpbmdcbi8vIFVzZWQgdG8gZXZhbHVhdGUgU2FzcyBtYXBzIGxpa2Ugb3VyIGdyaWQgYnJlYWtwb2ludHMuXG5AbWl4aW4gX2Fzc2VydC1hc2NlbmRpbmcoJG1hcCwgJG1hcC1uYW1lKSB7XG4gICRwcmV2LWtleTogbnVsbDtcbiAgJHByZXYtbnVtOiBudWxsO1xuICBAZWFjaCAka2V5LCAkbnVtIGluICRtYXAge1xuICAgIEBpZiAkcHJldi1udW0gPT0gbnVsbCB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBAZWxzZSBpZiBub3QgY29tcGFyYWJsZSgkcHJldi1udW0sICRudW0pIHtcbiAgICAgIEB3YXJuIFwiUG90ZW50aWFsbHkgaW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hvc2UgdW5pdCBtYWtlcyBpdCBpbmNvbXBhcmFibGUgdG8gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfSBAZWxzZSBpZiAkcHJldi1udW0gPj0gJG51bSB7XG4gICAgICBAd2FybiBcIkludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdoaWNoIGlzbid0IGdyZWF0ZXIgdGhhbiAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9XG4gICAgJHByZXYta2V5OiAka2V5O1xuICAgICRwcmV2LW51bTogJG51bTtcbiAgfVxufVxuXG4vLyBTdGFydHMgYXQgemVyb1xuLy8gQW5vdGhlciBncmlkIG1peGluIHRoYXQgZW5zdXJlcyB0aGUgbWluLXdpZHRoIG9mIHRoZSBsb3dlc3QgYnJlYWtwb2ludCBzdGFydHMgYXQgMC5cbkBtaXhpbiBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRtYXApIHtcbiAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XG4gIEBpZiAkZmlyc3QtdmFsdWUgIT0gMCB7XG4gICAgQHdhcm4gXCJGaXJzdCBicmVha3BvaW50IGluIGAkZ3JpZC1icmVha3BvaW50c2AgbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgfVxufVxuXG4vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLyBVc2VkIG9uIG91ciBTVkcgaWNvbiBiYWNrZ3JvdW5kcyBmb3IgY3VzdG9tIGZvcm1zLlxuLy9cbi8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gQ29sb3IgY29udHJhc3RcbkBmdW5jdGlvbiBjb2xvci15aXEoJGNvbG9yKSB7XG4gICRyOiByZWQoJGNvbG9yKTtcbiAgJGc6IGdyZWVuKCRjb2xvcik7XG4gICRiOiBibHVlKCRjb2xvcik7XG5cbiAgJHlpcTogKCgkciAqIDI5OSkgKyAoJGcgKiA1ODcpICsgKCRiICogMTE0KSkgLyAxMDAwO1xuXG4gIEBpZiAoJHlpcSA+PSAkeWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkKSB7XG4gICAgQHJldHVybiAkeWlxLXRleHQtZGFyaztcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkeWlxLXRleHQtbGlnaHQ7XG4gIH1cbn1cblxuLy8gUmV0cmlldmUgY29sb3IgU2FzcyBtYXBzXG5AZnVuY3Rpb24gY29sb3IoJGtleTogXCJibHVlXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRjb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gdGhlbWUtY29sb3IoJGtleTogXCJwcmltYXJ5XCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gZ3JheSgka2V5OiBcIjEwMFwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkZ3JheXMsICRrZXkpO1xufVxuXG4vLyBSZXF1ZXN0IGEgdGhlbWUgY29sb3IgbGV2ZWxcbkBmdW5jdGlvbiB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3ItbmFtZTogXCJwcmltYXJ5XCIsICRsZXZlbDogMCkge1xuICAkY29sb3I6IHRoZW1lLWNvbG9yKCRjb2xvci1uYW1lKTtcbiAgJGNvbG9yLWJhc2U6IGlmKCRsZXZlbCA+IDAsICRibGFjaywgJHdoaXRlKTtcbiAgJGxldmVsOiBhYnMoJGxldmVsKTtcblxuICBAcmV0dXJuIG1peCgkY29sb3ItYmFzZSwgJGNvbG9yLCAkbGV2ZWwgKiAkdGhlbWUtY29sb3ItaW50ZXJ2YWwpO1xufVxuIiwiLy8gRnVuY3Rpb25zXG4vL1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE1hdGhcblxuJHBpOiAzLjE0MTU5MjY1MzU5O1xuJF9wcmVjaXNpb246IDEwO1xuXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwKSB7XG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBpZiAkZXhwIDwgMXtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gc3FydCgkcikge1xuICAkeDA6IDE7XG4gICR4MTogJHgwO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTAge1xuICAgICR4MTogJHgwIC0gKCR4MCAqICR4MCAtIGFicygkcikpIC8gKDIgKiAkeDApO1xuICAgICR4MDogJHgxO1xuICB9XG5cbiAgQHJldHVybiAkeDE7XG59XG5cbkBmdW5jdGlvbiBmYWN0KCRudW0pIHtcbiAgJGZhY3Q6IDE7XG4gIEBpZiAkbnVtID4gMHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRudW0ge1xuICAgICAgJGZhY3Q6ICRmYWN0ICogJGk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGZhY3Q7XG59XG5cbkBmdW5jdGlvbiBfdG9fdW5pdGxlc3NfcmFkKCRhbmdsZSkge1xuICBAaWYgdW5pdCgkYW5nbGUpID09IFwiZGVnXCIge1xuICAgICRhbmdsZTogJGFuZ2xlIC8gMTgwZGVnICogJHBpO1xuICB9XG4gIEBpZiB1bml0KCRhbmdsZSkgPT0gXCJyYWRcIiB7XG4gICAgJGFuZ2xlOiAkYW5nbGUgLyAxcmFkO1xuICB9XG4gIEByZXR1cm4gJGFuZ2xlO1xufVxuXG5AZnVuY3Rpb24gc2luKCRhbmdsZSl7XG4gICRhOiBfdG9fdW5pdGxlc3NfcmFkKCRhbmdsZSk7XG4gICRzaW46ICRhO1xuICBAZm9yICRuIGZyb20gMSB0aHJvdWdoICRfcHJlY2lzaW9uIHtcbiAgICAkc2luOiAkc2luICsgKHBvdygtMSwgJG4pIC8gZmFjdCgyICogJG4gKyAxKSApICogcG93KCRhLCAoMiAqICRuICsgMSkpO1xuICB9XG4gIEByZXR1cm4gJHNpbjtcbn1cblxuQGZ1bmN0aW9uIGNvcygkYW5nbGUpe1xuICAkYTogX3RvX3VuaXRsZXNzX3JhZCgkYW5nbGUpO1xuICAkY29zOiAxO1xuICBAZm9yICRuIGZyb20gMSB0aHJvdWdoICRfcHJlY2lzaW9uIHtcbiAgICAkY29zOiAkY29zICsgKCBwb3coLTEsJG4pIC8gZmFjdCgyKiRuKSApICogcG93KCRhLDIqJG4pO1xuICB9XG4gIEByZXR1cm4gJGNvcztcbn1cblxuQGZ1bmN0aW9uIHRhbigkYW5nbGUpe1xuICBAcmV0dXJuIHNpbigkYW5nbGUpIC8gY29zKCRhbmdsZSk7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTGlzdHNcblxuQGZ1bmN0aW9uIHNsaWNlLWxpc3QoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xuICAkcmVzdWx0OiBudWxsO1xuXG4gIEBpZiB0eXBlLW9mKCRzdGFydCkgIT0gbnVtYmVyIG9yIHR5cGUtb2YoJGVuZCkgIT0gbnVtYmVyIHtcbiAgICBAd2FybiBcIkVpdGhlciAkc3RhcnQgb3IgJGVuZCBhcmUgbm90IGEgbnVtYmVyIGZvciBgc2xpY2VgLlwiO1xuICB9XG5cbiAgQGVsc2UgaWYgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHdhcm4gXCJUaGUgc3RhcnQgaW5kZXggaGFzIHRvIGJlIGxlc3NlciB0aGFuIG9yIGVxdWFscyB0byB0aGUgZW5kIGluZGV4IGZvciBgc2xpY2VgLlwiO1xuICB9XG5cbiAgQGVsc2UgaWYgJHN0YXJ0IDwgMSBvciAkZW5kIDwgMSB7XG4gICAgQHdhcm4gXCJMaXN0IGluZGV4ZXMgbXVzdCBiZSBub24temVybyBpbnRlZ2VycyBmb3IgYHNsaWNlYC5cIjtcbiAgfVxuXG4gIEBlbHNlIGlmICRzdGFydCA+IGxlbmd0aCgkbGlzdCkge1xuICAgIEB3YXJuIFwiTGlzdCBpbmRleCBpcyAjeyRzdGFydH0gYnV0IGxpc3QgaXMgb25seSAje2xlbmd0aCgkbGlzdCl9IGl0ZW0gbG9uZyBmb3IgYHNsaWNlYC5cIjtcbiAgfVxuXG4gIEBlbHNlIGlmICRlbmQgPiBsZW5ndGgoJGxpc3QpIHtcbiAgICBAd2FybiBcIkxpc3QgaW5kZXggaXMgI3skZW5kfSBidXQgbGlzdCBpcyBvbmx5ICN7bGVuZ3RoKCRsaXN0KX0gaXRlbSBsb25nIGZvciBgc2xpY2VgLlwiO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgICRyZXN1bHQ6ICgpO1xuXG4gICAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU3RyaW5nc1xuXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBDb2xvcnNcblxuQGZ1bmN0aW9uIHJnYmEtdG8taGV4KCRjb2xvciwgJGJhY2tncm91bmQ6ICNmZmYpIHtcbiAgQGlmICRjb2xvciBhbmQgYWxwaGEoJGNvbG9yKSAhPSAxIHtcbiAgICAkcGVyY2VudDogYWxwaGEoJGNvbG9yKSAqIDEwMCU7XG4gICAgJG9wYXF1ZTogb3BhY2lmeSgkY29sb3IsIDEpO1xuXG4gICAgQHJldHVybiBtaXgoJG9wYXF1ZSwgJGJhY2tncm91bmQsICRwZXJjZW50KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkY29sb3I7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIHlpcS12YWx1ZSgkY29sb3IpIHtcbiAgQGlmICRjb2xvciA9PSB0cmFuc3BhcmVudCB7XG4gICAgQHJldHVybiAkYm9keS1jb2xvcjtcbiAgfSBAZWxzZSBpZiBhbHBoYSgkY29sb3IpICE9IDEge1xuICAgICRjb2xvcjogcmdiYS10by1oZXgoJGNvbG9yKTtcbiAgfVxuXG4gICRyOiByZWQoJGNvbG9yKTtcbiAgJGc6IGdyZWVuKCRjb2xvcik7XG4gICRiOiBibHVlKCRjb2xvcik7XG5cbiAgQHJldHVybiAoKCRyICogMjk5KSArICgkZyAqIDU4NykgKyAoJGIgKiAxMTQpKSAvIDEwMDA7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG5AZnVuY3Rpb24geWlxKCRjb2xvcikge1xuICAkeWlxOiB5aXEtdmFsdWUoJGNvbG9yKTtcblxuICBAaWYgKCR5aXEgPj0gMTYwKSB7XG4gICAgQHJldHVybiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjQwKSwgIzAwMCk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gI2ZmZjtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFVuaXRzXG5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcbiAgQGlmIHR5cGUtb2YoJG51bWJlcikgPT0gJ251bWJlcicgYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XG4gICAgQHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XG4gIH1cblxuICBAcmV0dXJuICRudW1iZXI7XG59XG5cbkBmdW5jdGlvbiBweC10by1yZW0oJHZhbHVlKSB7XG4gIC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBmb250IHNpemUgPSBgMTZweGBcbiAgQHJldHVybiAoc3RyaXAtdW5pdCgkdmFsdWUpIC8gMTYpICogMXJlbTtcbn1cblxuQGZ1bmN0aW9uIHJlbS10by1weCgkdmFsdWUpIHtcbiAgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0IGZvbnQgc2l6ZSA9IGAxNnB4YFxuICBAcmV0dXJuIChzdHJpcC11bml0KCR2YWx1ZSkgKiAxNikgKiAxcHg7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVXRpbGl0aWVzXG5cbkBmdW5jdGlvbiBnZXQtYnRuLWNvbG9ycygkYmFja2dyb3VuZCwgJGJvcmRlcikge1xuICBAaWYgJGJhY2tncm91bmQgPT0gdHJhbnNwYXJlbnQge1xuICAgICRidG4tc2hhZG93OiByZ2JhKHJnYmEtdG8taGV4KCRib3JkZXIsICMwMDApLCAuMDUpO1xuXG4gICAgQHJldHVybiAoXG4gICAgICBiZy1ob3ZlcjogIHJnYmEoJGJvcmRlciwgLjA2KSxcbiAgICAgIGJnLWFjdGl2ZTogcmdiYSgkYm9yZGVyLCAuMTIpLFxuICAgICAgYm9yZGVyOiAgICAkYm9yZGVyLFxuICAgICAgc2hhZG93OiAgICBpZigkZW5hYmxlLXNoYWRvd3MsICgkYnRuLWJveC1zaGFkb3csIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoICRidG4tc2hhZG93KSwgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggJGJ0bi1zaGFkb3cpXG4gICAgKTtcbiAgfSBAZWxzZSBpZiBhbHBoYSgkYmFja2dyb3VuZCkgIT0gMSB7XG4gICAgJGJnLWFscGhhOiAgIGFscGhhKCRiYWNrZ3JvdW5kKTtcbiAgICAkYnRuLXNoYWRvdzogcmdiYSgkYmFja2dyb3VuZCwgJGJnLWFscGhhIC0gKCRiZy1hbHBoYSAqIDU1IC8gMTAwKSApO1xuXG4gICAgQHJldHVybiAoXG4gICAgICBiZy1ob3ZlcjogIHJnYmEoJGJhY2tncm91bmQsICRiZy1hbHBoYSArIDAuMDUpLFxuICAgICAgYmctYWN0aXZlOiByZ2JhKCRiYWNrZ3JvdW5kLCAkYmctYWxwaGEgKyAwLjEzKSxcbiAgICAgIGJvcmRlcjogICAgdHJhbnNwYXJlbnQsXG4gICAgICBzaGFkb3c6ICAgIGlmKCRlbmFibGUtc2hhZG93cywgKCRidG4tYm94LXNoYWRvdywgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggJGJ0bi1zaGFkb3cpLCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCAkYnRuLXNoYWRvdylcbiAgICApO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIChcbiAgICAgIGJnLWhvdmVyOiAgcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjk1KSwgIzAwMCksXG4gICAgICBiZy1hY3RpdmU6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC44NyksICMwMDApLFxuICAgICAgYm9yZGVyOiAgICB0cmFuc3BhcmVudCxcbiAgICAgIHNoYWRvdzogICAgaWYoJGVuYWJsZS1zaGFkb3dzLCAoJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRiYWNrZ3JvdW5kLCAuNCkpLCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRiYWNrZ3JvdW5kLCAuNCkpXG4gICAgKTtcbiAgfVxufVxuXG5AZnVuY3Rpb24gZ2V0LW1hdGVyaWFsLWJ0bi1jb2xvcnMoJGJhY2tncm91bmQpIHtcbiAgQGlmIGFscGhhKCRiYWNrZ3JvdW5kKSAhPSAxIHtcbiAgICAkYmFja2dyb3VuZDogcmdiYS10by1oZXgoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQHJldHVybiAoXG4gICAgYmctaG92ZXI6ICByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuOTUpLCAjZmZmKSxcbiAgICBiZy1hY3RpdmU6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC44NyksICNmZmYpLFxuICApO1xufVxuXG5AZnVuY3Rpb24gZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yOiBudWxsLCAkaW5hY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcbiAgJGJnOiByZ2JhLXRvLWhleCgkYmcpO1xuICAkYWN0aXZlLWNvbG9yOiByZ2JhLXRvLWhleCgkYWN0aXZlLWNvbG9yKTtcbiAgJGFjdGl2ZS1jb2xvcjogaWYoJGFjdGl2ZS1jb2xvciwgJGFjdGl2ZS1jb2xvciwgeWlxKCRiZykpO1xuICAkeWlxLXBlcmNlbnQ6IHlpcS12YWx1ZSgkYmcpIC8gMjU1O1xuICAkeWlxLXBlcmNlbnQtaW52ZXJ0ZWQ6IDEgLSAkeWlxLXBlcmNlbnQ7XG5cbiAgJG9wYWNpdHk6IGlmKCRhY3RpdmUtY29sb3IgPT0gI2ZmZiwgLjYgKyAoLjQgKiAkeWlxLXBlcmNlbnQpLCAuNiArICguNCAqICgxIC0gJHlpcS1wZXJjZW50KSkpO1xuXG4gICRjb2xvcjogaWYoJGluYWN0aXZlLWNvbG9yLCByZ2JhLXRvLWhleCgkaW5hY3RpdmUtY29sb3IsICRiZyksIHJnYmEtdG8taGV4KHJnYmEoJGFjdGl2ZS1jb2xvciwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCAkb3BhY2l0eSAtIC4xNSwgJG9wYWNpdHkpKSwgJGJnKSk7XG4gICRkaXNhYmxlZC1jb2xvcjogcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC42KSwgJGJnKTtcbiAgJG11dGVkLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjc1KSwgJGJnKTtcbiAgJGJvcmRlcjogaWYoJGJvcmRlciwgJGJvcmRlciwgaWYoJHlpcS1wZXJjZW50ID4gLjc1LCByZ2JhKCRhY3RpdmUtY29sb3IsICRvcGFjaXR5IC8gOCksIGlmKCR5aXEtcGVyY2VudCA8IC4yNSwgcmdiYSgkYWN0aXZlLWNvbG9yLCAuMDYpLCByZ2JhKCRhY3RpdmUtY29sb3IsIC4xNSkpKSk7XG5cbiAgQHJldHVybiAoXG4gICAgLy8gTWV0YWRhdGFcbiAgICBvcGFjaXR5OiAkb3BhY2l0eSxcbiAgICB5aXEtcGVyY2VudDogJHlpcS1wZXJjZW50LFxuICAgIHlpcS1wZXJjZW50LWludmVydGVkOiAkeWlxLXBlcmNlbnQtaW52ZXJ0ZWQsXG5cbiAgICAvLyBDb2xvcnNcbiAgICBiZzogJGJnLFxuICAgIGNvbG9yOiAkY29sb3IsXG4gICAgYWN0aXZlLWNvbG9yOiAkYWN0aXZlLWNvbG9yLFxuICAgIGRpc2FibGVkLWNvbG9yOiAkZGlzYWJsZWQtY29sb3IsXG4gICAgbXV0ZWQtY29sb3I6ICRtdXRlZC1jb2xvcixcbiAgICBib3JkZXI6ICRib3JkZXJcbiAgKTtcbn1cbiIsIiIsIi8vIFZhcmlhYmxlc1xuLy9cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBDb2xvcnNcblxuJHdoaXRlOiAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRibGFjazogICAgICAgICMxODFDMjEgIWRlZmF1bHQ7XG4kZ3JheS0yNTogICAgICByZ2JhKCRibGFjaywgLjAxNSkgIWRlZmF1bHQ7XG4kZ3JheS01MDogICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRncmF5LTEwMDogICAgIHJnYmEoJGJsYWNrLCAuMDYpICFkZWZhdWx0O1xuJGdyYXktMjAwOiAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRncmF5LTMwMDogICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJGdyYXktNTAwOiAgICAgcmdiYSgkYmxhY2ssIC40KSAhZGVmYXVsdDtcbiRncmF5LTYwMDogICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICAgICByZ2JhKCRibGFjaywgLjYpICFkZWZhdWx0O1xuJGdyYXktODAwOiAgICAgcmdiYSgkYmxhY2ssIC44KSAhZGVmYXVsdDtcbiRncmF5LTkwMDogICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG5cbiRncmF5czogKFxuICBcIjI1XCI6ICRncmF5LTI1LFxuICBcIjUwXCI6ICRncmF5LTUwXG4pICFkZWZhdWx0O1xuXG4kYmx1ZTogICAgICAgICAjMWU3MGNkICFkZWZhdWx0O1xuJGluZGlnbzogICAgICAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAgICAgICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgICAgICAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogICAgICAgICAgI2Q5NTM0ZiAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAgICAgICNGRUI3NDQgIWRlZmF1bHQ7XG4keWVsbG93OiAgICAgICAjRkZEOTUwICFkZWZhdWx0O1xuJGdyZWVuOiAgICAgICAgIzAyQkM3NyAhZGVmYXVsdDtcbiR0ZWFsOiAgICAgICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgICAgICAjMjhjM2Q3ICFkZWZhdWx0O1xuXG4kdGhlbWUtY29sb3JzOiAoXG4gIFwicHJpbWFyeVwiOiAgICRpbmRpZ28sXG4gIFwic2Vjb25kYXJ5XCI6ICM4ODk3QUEsXG4gIFwic3VjY2Vzc1wiOiAgICRncmVlbixcbiAgXCJpbmZvXCI6ICAgICAgJGN5YW4sXG4gIFwid2FybmluZ1wiOiAgICR5ZWxsb3csXG4gIFwiZGFuZ2VyXCI6ICAgICRyZWQsXG4gIFwiZGFya1wiOiAgICAgICRncmF5LTkwMFxuKSAhZGVmYXVsdDtcblxuJGJvZHktY29sb3I6ICAgICAgICM0RTUxNTUgIWRlZmF1bHQ7IC8vIzRhNGE0YVxuXG4vLyAjMDZjXG4kbGluay1jb2xvcjogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogbGlnaHRlbigkbGluay1jb2xvciwgMTAlKSAhZGVmYXVsdDtcblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBGb250c1xuXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogXCJSb2JvdG9cIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2VyaWY6ICAgICAgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgXCJTRk1vbm8tUmVndWxhclwiLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAuODk0cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS14bDogICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXhzOiAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkOiAgIDUwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICA5MDAgIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAxLjQ3ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXhsOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXhzOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgIDIuMjVyZW0gIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgMS44MTNyZW0gIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgMS41NjNyZW0gIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgMS4zMTNyZW0gIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAkZm9udC13ZWlnaHQtc2VtaWJvbGQgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICA0cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG5cbiR0aW55LWZvbnQtc2l6ZTogICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgODUlICFkZWZhdWx0O1xuJGJpZy1mb250LXNpemU6ICAgICAgICAgIDExMiUgIWRlZmF1bHQ7XG4kbGFyZ2UtZm9udC1zaXplOiAgICAgICAgMTUwJSAhZGVmYXVsdDtcbiR4bGFyZ2UtZm9udC1zaXplOiAgICAgICAxNzAlICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktNTAwKSAhZGVmYXVsdDtcbiR0ZXh0LW11dGVkLWhvdmVyOiAgICAgICByZ2JhLXRvLWhleCgkZ3JheS02MDApICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6IHJnYmEtdG8taGV4KCRncmF5LTUwMCkgIWRlZmF1bHQ7XG4kdGV4dC1saWdodDogICAgICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktNDAwKSAhZGVmYXVsdDtcbiR0ZXh0LWxpZ2h0ZXI6ICAgICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS0zMDApICFkZWZhdWx0O1xuJHRleHQtbGlnaHRlc3Q6ICAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTIwMCkgIWRlZmF1bHQ7XG5cbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICBub25lICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEdyaWRcblxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRjb250YWluZXItcGFkZGluZy14OiAycmVtICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLXgtc206IDFyZW0gIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmcteTogMS41cmVtICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENvbXBvbmVudHNcblxuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLC4wNikgIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteGw6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteHM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgMS41NCAhZGVmYXVsdDtcbiRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoOiAgICAycHggIWRlZmF1bHQ7XG5cbiRmbG9hdGluZy1jb21wb25lbnQtYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93OiAgICAgICAwIDFweCA2cHggcmdiYSgwLCAwLCAwLCAuMDkpICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGJvcmRlcmVkLXJvdy1ib3JkZXItY29sb3I6ICAgICAgICRoci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgICAgICAuNDJlbSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBaLWluZGV4IG1hc3RlciBsaXN0XG5cbiR6aW5kZXgtbGF5b3V0LWZpeGVkOiAgMTA4MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtdG9wOiAgICAgMTA5MCAhZGVmYXVsdDtcbiR6aW5kZXgtbGF5b3V0LW1vYmlsZTogMTEwMCAhZGVmYXVsdDtcbiR6aW5kZXgtbm90aWZpY2F0aW9uOiAgOTk5OTk5ICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFRhYmxlc1xuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICByZ2JhKCRibGFjaywgLjAyNSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDM1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgcmdiYS10by1oZXgoJHRhYmxlLWhvdmVyLWJnKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICByZ2JhLXRvLWhleCgkZ3JheS0xMDApICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICRncmF5LTUwICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgIHJnYmEoJHdoaXRlLCAuMDMpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogbGlnaHRlbihyZ2JhLXRvLWhleCgkZ3JheS05MDApLCA3JSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBCdXR0b25zXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgIC40MzhyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAxLjEyNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgIDEuNTQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXhzOiAgIDAgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC14czogICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXhzOiAgICRmb250LXNpemUteHMgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhzOiAkbGluZS1oZWlnaHQteHMgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgIC4xODhyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAuNjg3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgIDEuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXhsOiAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC14bDogICAyLjEyNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXhsOiAgICRmb250LXNpemUteGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhsOiAkbGluZS1oZWlnaHQteGwgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXJhZGl1cy14czogICAgICRib3JkZXItcmFkaXVzLXhzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXhsOiAgICAgJGJvcmRlci1yYWRpdXMteGwgIWRlZmF1bHQ7XG5cbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgLjI1KSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRidG4tZGVmYXVsdC1iZzogICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJvcmRlcjogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRm9ybXNcblxuJGxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAuODMxMjVyZW0gIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1zZW1pYm9sZCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS0xMDApICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJHRleHQtbGlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICAgICAgcHgtdG8tcmVtKGZsb29yKHJlbS10by1weCgoJGlucHV0LWJ0bi1mb250LXNpemUgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSArICgkaW5wdXQtYnRuLXBhZGRpbmcteSAqIDIpKSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1zbTogICAgICAgICAgICAgICAgICAgICBweC10by1yZW0oZmxvb3IocmVtLXRvLXB4KCgkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20pICsgKCRpbnB1dC1idG4tcGFkZGluZy15LXNtICogMikpKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWxnOiAgICAgICAgICAgICAgICAgICAgIHB4LXRvLXJlbShmbG9vcihyZW0tdG8tcHgoKCRmb250LXNpemUtbGcgKiAkbGluZS1oZWlnaHQtbGcpICsgKCRpbnB1dC1idG4tcGFkZGluZy15LWxnICogMikpKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1pbnZlcnRlZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgjZmZmLCAuMykgIWRlZmF1bHQ7XG4kaW5wdXQtaW52ZXJ0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kaW5wdXQtaW52ZXJ0ZWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1pbnZlcnRlZC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1pbnZlcnRlZC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgcmdiYSgjZmZmLCAuNykgIWRlZmF1bHQ7XG4kaW5wdXQtaW52ZXJ0ZWQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgIHJnYmEoI2ZmZiwgLjEpICFkZWZhdWx0O1xuJGlucHV0LWludmVydGVkLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAkaW5wdXQtaW52ZXJ0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgMS4xMjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAgICAgMXB4ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgICAgICgkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKyAuNDM4cmVtKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAgICBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDkuNSA3LjUnJTNFJTNDcG9seWxpbmUgcG9pbnRzPScwLjc1IDQuMzUgNC4xOCA2Ljc1IDguNzUgMC43NScgc3R5bGU9J2ZpbGw6bm9uZTtzdHJva2U6X0NPTE9SXztzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLXdpZHRoOjEuNXB4Jy8lM0UlM0Mvc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZy1zaXplOiAgICAgICAgIDY1JSA2NSUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZzogICAgICAgICAgICAgICAgIFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTAgMTAnJTNFJTNDY2lyY2xlIGN4PSc1JyBjeT0nNScgcj0nNC41JyBzdHlsZT0nZmlsbDpfQ09MT1JfJy8lM0UlM0NwYXRoIGQ9J001LDFBNCw0LDAsMSwxLDEsNSw0LDQsMCwwLDEsNSwxTTUsMGE1LDUsMCwxLDAsNSw1QTUsNSwwLDAsMCw1LDBaJyBzdHlsZT0nZmlsbDpfQ09MT1JfJy8lM0UlM0Mvc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZy1zaXplOiAgICAgICAgICAgIDQwJSA0MCUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgICAgICAgICAgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbnZlcnRlZC1kaXNhYmxlZC1jb2xvcjogICAgICRpbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWludmVydGVkLWRpc2FibGVkLWJnOiAgICAgICAgJGlucHV0LWludmVydGVkLWRpc2FibGVkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICAgICAgICAgIDE3cHggMTJweCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgICAgICAgICAgdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJFQUFBQU1DQVlBQUFDRUpWYS9BQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBRjVKUkVGVUtCVmplUGI4eFg4R0NnRVRoZnJCMmdlUElTekVlTWZEeDYvaC83OS85ZGpVTWpJeE5STGxuUjFiTmpXQUZLTWJBaElEeVJGbENFZ3p1a0V3QThBR2t4ckZJSytCTUZnempDRFZFSmcrWkpwbzd5QnJRbWNQSGtNQVI1WWY1NUg5Sk40QUFBQUFTVVZPUks1Q1lJST0nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1pbnZlcnRlZDogICAgICAgICAgdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJFQUFBQU1DQVlBQUFDRUpWYS9BQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUVwSlJFRlVlTnBpK1AvL3Z3TVFNMUNDR1lhWElTd014SUVLSUE3QklyNEdpRHVZaURTa0M0Z1BvWWtkZ29xVDVCME9JRjRBeEdlZ05BZTVZU0lJeEpPZzlIQ05ZcW9ZQWhCZ0FLSFdCZytoUnJOeEFBQUFBRWxGVGtTdVFtQ0MnKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1ydGw6ICAgICAgICAgICAgICAgdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJFQUFBQU1DQVlBQUFDRUpWYS9BQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUV0SlJFRlVlTnBpWUtBUVBIdis0ajhUQXhYQTRER0V4Y1BIcitIL3YzLzEyQ1FabVpnYWQyeloxRURRSlNCRklNWGtHZ0QzRHJwQnBCaUFBVUJlQTJGU281aGhOSjFnQUlBQUF3QzFNeUtGUmw2b213QUFBQUJKUlU1RXJrSmdnZz09JykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItaW52ZXJ0ZWQtcnRsOiAgICAgIHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCRUFBQUFNQ0FZQUFBQ0VKVmEvQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFGTkpSRUZVZU5waStQLy9Qd01GMkFGRU16RlFBUXdlUTFpQXVBS0lRN0RJclFIaURtSmQwZ1hFaDlERUQwSEZpZmJPUHlDdUF1SXJVTEVyVVA0L292MkRGRjJDUUR3SlNwTVV4UXlqNlFRREFBUVlBS3g4b3lCQS8zbENBQUFBQUVsRlRrU3VRbUNDJykgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBEcm9wZG93bnNcblxuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICRmbG9hdGluZy1jb21wb25lbnQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAuNDM4cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAkZHJvcGRvd24tbGluay1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAkZ3JheS01MCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWxpbmUtaGVpZ2h0OiAgICAkY29tcG9uZW50LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE5hdnNcblxuJG5hdi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcblxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAkY29tcG9uZW50LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbmF2LWxpbmstcGFkZGluZy15LWxnOiAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteC1sZzogICAgICAgICAgICAgMS4zMTI1cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kbmF2LWxpbmstcGFkZGluZy15LXNtOiAgICAgICAgICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXgtc206ICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstbGluZS1oZWlnaHQtc206ICAgICAgICAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRuYXYtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICR0ZXh0LW11dGVkLWhvdmVyICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTEwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE5hdmJhclxuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuNCkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjA2KSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgLjkzNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICR0ZXh0LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICRwYWdpbmF0aW9uLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgbm9uZSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tc3BhY2VyOiAgICAgICAgICAgICAgICAuMTg3NXJlbSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXgtc206ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItY29sb3I6ICByZ2JhKCRibGFjaywuMDYpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGNhcmQtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggNHB4IHJnYmEoJGJsYWNrLC4wMDkpICFkZWZhdWx0O1xuLy8gJGNhcmQtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggNHB4IHJnYmEoJGJsYWNrLC4wMykgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVG9vbHRpcHNcblxuJHRvb2x0aXAtY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTgwMCkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAxICFkZWZhdWx0O1xuJHRvb2x0aXAtYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBQb3BvdmVyc1xuXG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgJGdyYXktNTAgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogLjYyNXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgIC44NThlbSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICRmb250LXdlaWdodC1zZW1pYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgLjQxN2VtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcblxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgLjU4M2VtICFkZWZhdWx0O1xuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgMTByZW0gIWRlZmF1bHQ7XG5cbiRiYWRnZS1kZWZhdWx0LWJnOiAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRiYWRnZS1vdXRsaW5lLWRlZmF1bHQtY29sb3I6ICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE1vZGFsc1xuXG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAxLjU2MjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmc6ICAgICAgICAgICAxLjI1cmVtICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAxcHggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93ICFkZWZhdWx0O1xuXG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAzNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgMjIuNXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgLjUgIWRlZmF1bHQ7XG5cbiRtb2RhbC1zbGlkZS13aWR0aDogICAgICAgICAgICAgIDIwcmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAuMTVzICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgdHJhbnNmb3JtICRtb2RhbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEFsZXJ0c1xuXG4kYWxlcnQtcGFkZGluZy15OiAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogMXJlbSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAkZ3JheS01MCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAxMHJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAjZmZmICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhLXRvLWhleCgkYm9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgIC45Mzc1cmVtICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0yNSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAkdGV4dC1tdXRlZC1ob3ZlciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAkZ3JheS01MCAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogIDBweCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogMHB4ICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgXCIvXCIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLXJ0bDogICBcIlxcXFxcIiAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTd2l0Y2hlcnNcblxuJHN3aXRjaGVyLXNwYWNlci14OiAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoZXItc3BhY2VyLXk6ICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWd1dHRlcjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1pbm5lci1zcGFjZXI6ICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kc3dpdGNoZXItc3F1YXJlLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kc3dpdGNoZXItbGFiZWwtY29sb3I6ICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHN3aXRjaGVyLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRzd2l0Y2hlci13aWR0aDogICAgICAgICAgICAgICAgMi4zNzVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoZXItaGVpZ2h0OiAgICAgICAgICAgICAgIDEuMzc1cmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWZvbnQtc2l6ZTogICAgICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWxhYmVsLWZvbnQtc2l6ZTogICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kc3dpdGNoZXItbGFiZWwtbGluZS1oZWlnaHQ6ICAgIDEuNCAhZGVmYXVsdDtcblxuJHN3aXRjaGVyLXdpZHRoLXNtOiAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWhlaWdodC1zbTogICAgICAgICAgICAxLjEyNXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1sYWJlbC1mb250LXNpemUtc206ICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1sYWJlbC1saW5lLWhlaWdodC1zbTogMS40ODYgIWRlZmF1bHQ7XG5cbiRzd2l0Y2hlci13aWR0aC1sZzogICAgICAgICAgICAgMy4yNXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1oZWlnaHQtbGc6ICAgICAgICAgICAgMS43NXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1sYWJlbC1mb250LXNpemUtbGc6ICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRzd2l0Y2hlci1sYWJlbC1saW5lLWhlaWdodC1sZzogMS40NyAhZGVmYXVsdDtcblxuJHN3aXRjaGVyLW9mZi1jb2xvcjogICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kc3dpdGNoZXItb2ZmLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRzd2l0Y2hlci1ob2xkZXItYmc6ICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRzd2l0Y2hlci1ob2xkZXItc2hhZG93OiAgICAgICAgMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAuMDQpLCAwIDFweCA2cHggcmdiYSgkYmxhY2ssIC4wOSkgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQ2xvc2VcblxuJGNsb3NlLWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogSnVtYm90cm9uXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogM3JlbSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTaWRlbmF2XG5cbiRzaWRlbmF2LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTUuNjI1cmVtICFkZWZhdWx0OyAvLzI1MHB4XG4kc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg6ICAgICAgICAgICAgICAgIDQuMzc1cmVtICFkZWZhdWx0OyAvLzcwcHhcblxuJHNpZGVuYXYtaXRlbS1zcGFjZXI6ICAgICAgICAgICAgICAgICAgICAuMDYyNXJlbSAhZGVmYXVsdDtcblxuJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXk6ICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteDogICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc2lkZW5hdi12ZXJ0aWNhbC1tZW51LWxpbmstcGFkZGluZy15OiAgIC42MjVyZW0gIWRlZmF1bHQ7XG4kc2lkZW5hdi12ZXJ0aWNhbC1tZW51LWxldmVsLXNwYWNlcjogICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRzaWRlbmF2LWhvcml6b250YWwtbGluay1wYWRkaW5nLXk6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzaWRlbmF2LWhvcml6b250YWwtbGluay1wYWRkaW5nLXg6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzaWRlbmF2LWhvcml6b250YWwtbWVudS1saW5rLXBhZGRpbmcteTogLjYyNXJlbSAhZGVmYXVsdDtcbiRzaWRlbmF2LWhvcml6b250YWwtbWVudS1sZXZlbC1zcGFjZXI6ICAgMXJlbSAhZGVmYXVsdDtcblxuJHNpZGVuYXYtbWVudS13aWR0aDogICAgICAgICAgICAgICAgICAgICAxMi41cmVtICFkZWZhdWx0OzsgLy8yMDBweFxuJHNpZGVuYXYtY29udHJvbC13aWR0aDogICAgICAgICAgICAgICAgICAyLjI1cmVtICFkZWZhdWx0O1xuJHNpZGVuYXYtY29udHJvbC1hcnJvdy1zaXplOiAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJHNpZGVuYXYtaWNvbi1leHBhbmRlZC13aWR0aDogICAgICAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuJHNpZGVuYXYtaWNvbi1leHBhbmRlZC1mb250LXNpemU6ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNpZGVuYXYtaWNvbi1leHBhbmRlZC1zcGFjZXI6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgLjJzICFkZWZhdWx0O1xuXG4kc2lkZW5hdi1tYXgtbGV2ZWxzOiAgICAgICAgICAgICAgICAgICAgIDUgIWRlZmF1bHQ7XG5cbiRzaWRlbmF2LWRhcmstYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMikgIWRlZmF1bHQ7XG4kc2lkZW5hdi1kYXJrLW1lbnUtYmc6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA2KSAhZGVmYXVsdDtcbiRzaWRlbmF2LWxpZ2h0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDYpICFkZWZhdWx0O1xuJHNpZGVuYXYtbGlnaHQtbWVudS1iZzogICAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSkgIWRlZmF1bHQ7XG5cbi8vIENvbmZpZ1xuJHJ0bC1zdXBwb3J0OiBmYWxzZSAhZGVmYXVsdDtcbiRtYXRlcmlhbC1zdHlsZTogZmFsc2U7XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG5cbi8vXG4vLyBDb2xvciBzeXN0ZW1cbi8vXG5cbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZ3JheXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gICAgXCI5MDBcIjogJGdyYXktOTAwXG4gICksXG4gICRncmF5c1xuKTtcblxuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICAgIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiAgKSxcbiAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICAgIFwiZGFya1wiOiAgICAgICAkZGFya1xuICApLFxuICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6ICAgICAgOCUgIWRlZmF1bHQ7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogIGZhbHNlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkLCBubyBsb25nZXIgYWZmZWN0cyBhbnkgY29tcGlsZWQgQ1NTXG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICB0cnVlICFkZWZhdWx0O1xuXG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzcGFjZXJzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAwOiAwLFxuICAgIDE6ICgkc3BhY2VyICogLjI1KSxcbiAgICAyOiAoJHNwYWNlciAqIC41KSxcbiAgICAzOiAkc3BhY2VyLFxuICAgIDQ6ICgkc3BhY2VyICogMS41KSxcbiAgICA1OiAoJHNwYWNlciAqIDMpXG4gICksXG4gICRzcGFjZXJzXG4pO1xuXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXG4kc2l6ZXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzaXplczogbWFwLW1lcmdlKFxuICAoXG4gICAgMjU6IDI1JSxcbiAgICA1MDogNTAlLFxuICAgIDc1OiA3NSUsXG4gICAgMTAwOiAxMDAlLFxuICAgIGF1dG86IGF1dG9cbiAgKSxcbiAgJHNpemVzXG4pO1xuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gRm9udHNcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAuODc1KSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICgkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgbGlnaHRlbigkZ3JheS05MDAsIDcuNSUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgLjI1KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogIDAgMCAwICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1zbTogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG4vLyBGb3Jtc1xuXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSArICgkaW5wdXQtYnRuLXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lci1zbTogICAgICAgICAgICAgICAgICgkZm9udC1zaXplLXNtICogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXItbGc6ICAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1sZyAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcpICsgKCRpbnB1dC1idG4tcGFkZGluZy15LWxnICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDQnJTNFJTNDcGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiAgbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNFJTNDY2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDUnJTNFJTNDcGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aCByZ2JhKCRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvciwgLjUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAxMjUlICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gSUUvRWRnZVxuJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnOiAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICB0aGVtZS1jb2xvcihcImRhbmdlclwiKSAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAoJHNwYWNlciAvIDIpICFkZWZhdWx0O1xuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgLyAyICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4vLyBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cblxuLy8gSnVtYm90cm9uXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gQ2FyZHNcblxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIGNhbGMoI3skY2FyZC1ib3JkZXItcmFkaXVzfSAtICN7JGNhcmQtYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgKCRncmlkLWd1dHRlci13aWR0aCAvIDIpICFkZWZhdWx0O1xuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICFkZWZhdWx0O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtYmctbGV2ZWw6ICAgICAgICAgICAgICAgICAgICAtMTAgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWxldmVsOiAgICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvci1sZXZlbDogICAgICAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIC43NSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgIC41ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjUtMi41LTIuNSAyLjUtMi41LTEuNS0xLjV6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTIuNzUgMGwtMS41IDEuNSAyLjUgMi41LTIuNSAyLjUgMS41IDEuNSA0LTQtNC00eicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjZzIGVhc2UgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAwIDFweCAwICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICA4Ny41JSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLyBQcmludGluZ1xuJHByaW50LXBhZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgYTMgIWRlZmF1bHQ7XG4kcHJpbnQtYm9keS1taW4td2lkdGg6ICAgICAgICAgICAgICBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpICFkZWZhdWx0O1xuIiwiLy8gVG9nZ2xlc1xuLy9cbi8vIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBnbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBjZXJ0YWluIHRoZW1lIGZlYXR1cmVzLlxuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJtaXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaG92ZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYmFkZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NjcmVlbi1yZWFkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1oaWRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtdHJ1bmNhdGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdmlzaWJpbGl0eVwiO1xuXG4vLyAvLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0XCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2FyZXRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0c1wiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuXG4vLyAvLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcIm1peGlucy9ib3gtc2hhZG93XCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyYWRpZW50c1wiO1xuQGltcG9ydCBcIm1peGlucy90cmFuc2l0aW9uXCI7XG5cbi8vIC8vIExheW91dFxuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zsb2F0XCI7XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAycHgsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIge1xuICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgaW5kZW50YXRpb24sIG1lZGlhLXF1ZXJ5LWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTF4KTtcblxuICAvLyBBdXRvcHJlZml4ZXIgdGFrZXMgY2FyZSBvZiBhZGRpbmcgLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvIGFuZCAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvLFxuICAvLyBidXQgZG9lc24ndCBjb252ZXJ0IGRwcHg9PmRwaS5cbiAgLy8gVGhlcmUncyBubyBzdWNoIHRoaW5nIGFzIHVucHJlZml4ZWQgbWluLWRldmljZS1waXhlbC1yYXRpbyBzaW5jZSBpdCdzIG5vbnN0YW5kYXJkLlxuICAvLyBDb21wYXRpYmlsaXR5IGluZm86IGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHsgLy8gU3RhbmRhcmRpemVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTJ4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG59XG4iLCJAbWl4aW4gYmFkZ2UtdmFyaWFudCgkYmcpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG5cbiAgJltocmVmXSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZywgMTAlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlc2l6ZSBhbnl0aGluZ1xuXG5AbWl4aW4gcmVzaXphYmxlKCRkaXJlY3Rpb24pIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFBlciBDU1MzIFVJLCBgcmVzaXplYCBvbmx5IGFwcGxpZXMgd2hlbiBgb3ZlcmZsb3dgIGlzbid0IGB2aXNpYmxlYFxuICByZXNpemU6ICRkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cHM6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiBzci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4iLCIvLyBTaXppbmcgc2hvcnRjdXRzXG5cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1ibG9jay1uby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuQG1peGluIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG5cbiAgQGlmICgkaWdub3JlLXdhcm5pbmcgIT0gdHJ1ZSkge1xuICAgIEB3YXJuIFwiVGhlIGB0ZXh0LWhpZGUoKWAgbWl4aW4gaGFzIGJlZW4gZGVwcmVjYXRlZCBhcyBvZiB2NC4xLjAuIEl0IHdpbGwgYmUgcmVtb3ZlZCBlbnRpcmVseSBpbiB2NS5cIjtcbiAgfVxufVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVmlzaWJpbGl0eVxuXG5AbWl4aW4gaW52aXNpYmxlKCR2aXNpYmlsaXR5KSB7XG4gIHZpc2liaWxpdHk6ICR2aXNpYmlsaXR5ICFpbXBvcnRhbnQ7XG59XG4iLCJAbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA3LjUlKSwgJGhvdmVyLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEwJSksICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpLCAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyLjUlKSkge1xuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRidG4tYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRib3JkZXIsIC41KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkYm9yZGVyLCAuNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBmb3IgdGhlIHByZXNzZWQvYWN0aXZlIHN0YXRlXG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkYm9yZGVyLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiBjb2xvci15aXEoJGNvbG9yKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsICRhY3RpdmUtYm9yZGVyOiAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIC8vIE1hbnVhbGx5IGRlY2xhcmUgdG8gcHJvdmlkZSBhbiBvdmVycmlkZSB0byB0aGUgYnJvd3NlciBkZWZhdWx0XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9IEBlbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4iLCJAbWl4aW4gY2FyZXQtZG93biB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC11cCB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1sZWZ0IHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoJGRpcmVjdGlvbjogZG93bikge1xuICBAaWYgJGVuYWJsZS1jYXJldCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmV0LXdpZHRoICogLjg1O1xuICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC13aWR0aCAqIC44NTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZG93bjtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZXQtd2lkdGggKiAuODU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtd2lkdGggKiAuODU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAucGFnZS1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIH1cblxuICAucGFnZS1pdGVtIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAkbmF2LWRpdmlkZXItY29sb3IsICRtYXJnaW4teTogJG5hdi1kaXZpZGVyLW1hcmdpbi15KSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAkbWFyZ2luLXkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbn1cbiIsIi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3JgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCkge1xuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nLXkgJHRvb2x0aXAtcGFkZGluZy14O1xuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICR0b29sdGlwLW9wYWNpdHkpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAuZm9ybS1jb250cm9sLFxuICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wtZmlsZSB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMjUlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1iZyhsaWdodGVuKCRjb2xvciwgMTAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYm9keS1iZywgMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gY3VzdG9tIGZpbGVcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6OmFmdGVyIHsgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJixcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSxcbiAgYnV0dG9uI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG4iLCJAbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gIH1cbn1cbiIsIi8vIEdyYWRpZW50c1xuXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4iLCJAbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbiIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC8vIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbGwgYnJlYWtwb2ludHNcbiAgJWdyaWQtY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4OyAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuICAgIHBhZGRpbmctbGVmdDogKCRndXR0ZXIgLyAyKTtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICB9XG4gICAgfVxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBub25lOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCkge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1yb3coKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIpO1xuICBtYXJnaW4tbGVmdDogKCRncmlkLWd1dHRlci13aWR0aCAvIC0yKTtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7IC8vIFByZXZlbnQgY29sbGFwc2luZ1xuICBwYWRkaW5nLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06ICRzaXplIC8gJGNvbHVtbnM7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBtaXhpbiBmbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cbkBtaXhpbiBmbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuQG1peGluIGZsb2F0LW5vbmUge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gTWl4aW5zXG4vL1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFJUTC9MVFJcblxuQG1peGluIGx0ci1vbmx5KCkge1xuICBAaWYgJHJ0bC1zdXBwb3J0IHtcbiAgICBodG1sOm5vdChbZGlyPXJ0bF0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHJ0bC1vbmx5KCkge1xuICBAaWYgJHJ0bC1zdXBwb3J0IHtcbiAgICBbZGlyPXJ0bF0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsdHItc3R5bGUoKSB7XG4gIEBpZiAkcnRsLXN1cHBvcnQge1xuICAgIGh0bWw6bm90KFtkaXI9cnRsXSkgJiB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBydGwtc3R5bGUoKSB7XG4gIEBpZiAkcnRsLXN1cHBvcnQge1xuICAgIFtkaXI9cnRsXSAmIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEtleWZyYW1lc1xuXG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XG4gIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENhcmV0c1xuXG5AbWl4aW4gY2FyZXQtZG93biB7XG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDEuNSk7XG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XG4gIGhlaWdodDogJGNhcmV0LXdpZHRoO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuQG1peGluIGNhcmV0LXVwIHtcbiAgbWFyZ2luLXRvcDogLTA7XG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XG4gIGhlaWdodDogJGNhcmV0LXdpZHRoO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCB7XG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDIpO1xuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG5AbWl4aW4gY2FyZXQtbGVmdCB7XG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDIpO1xuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFJlc3BvbnNpemUgbG9vcHNcblxuQG1peGluIHJlc3BvbnNpdmUtbG9vcC1iZWZvcmUoJHBhcmVudCwgJHN0YXJ0LWJyZWFrcG9pbnQ6IHNtKSB7XG4gICRjdXItYnJlYWtwb2ludDogJHN0YXJ0LWJyZWFrcG9pbnQ7XG5cbiAgQHdoaWxlICRjdXItYnJlYWtwb2ludCB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRjdXItYnJlYWtwb2ludCk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogKGJyZWFrcG9pbnQtbWluKCRjdXItYnJlYWtwb2ludCkgLSAxKSkge1xuICAgICAgI3skcGFyZW50fSN7JGluZml4fSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgICRjdXItYnJlYWtwb2ludDogYnJlYWtwb2ludC1uZXh0KCRjdXItYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuQG1peGluIHJlc3BvbnNpdmUtbG9vcC1hZnRlcigkcGFyZW50LCAkc3RhcnQtYnJlYWtwb2ludDogc20pIHtcbiAgJGN1ci1icmVha3BvaW50OiAkc3RhcnQtYnJlYWtwb2ludDtcblxuICBAd2hpbGUgJGN1ci1icmVha3BvaW50IHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGN1ci1icmVha3BvaW50KTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBicmVha3BvaW50LW1pbigkY3VyLWJyZWFrcG9pbnQpKSB7XG4gICAgICAjeyRwYXJlbnR9I3skaW5maXh9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGN1ci1icmVha3BvaW50OiBicmVha3BvaW50LW5leHQoJGN1ci1icmVha3BvaW50KTtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENvbG9yc1xuXG4vLyBDb250cmFzdFxuQG1peGluIGNvbG9yLXlpcSgkY29sb3IpIHtcbiAgY29sb3I6IHlpcSgkY29sb3IpO1xufVxuXG5AbWl4aW4gYmctY29sb3ItdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRydGgtY29sb3I6ICMwMDApIHtcbiAgI3skcGFyZW50fSB7IGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50OyB9XG4gIGEjeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuOTUpLCAkYmFja2dyb3VuZDogJHJ0aC1jb2xvcikgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJHJ0aC1jb2xvcjogIzAwMCkge1xuICBAaW5jbHVkZSBiZy1jb2xvci12YXJpYW50KCRwYXJlbnQsICRjb2xvcik7XG4gIEBpbmNsdWRlIGJnLWNvbG9yLXZhcmlhbnQoXCIjeyRwYXJlbnR9LWRhcmtcIiwgcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC45KSwgJGJhY2tncm91bmQ6ICRydGgtY29sb3IpKTtcbiAgQGluY2x1ZGUgYmctY29sb3ItdmFyaWFudChcIiN7JHBhcmVudH0tZGFya2VyXCIsIHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuODUpLCAkYmFja2dyb3VuZDogJHJ0aC1jb2xvcikpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kOiBudWxsLCAkYm9yZGVyOiBudWxsLCAkYWN0aXZlLWJhY2tncm91bmQ6IG51bGwsICRhY3RpdmUtYm9yZGVyOiBudWxsKSB7fVxuXG5AbWl4aW4gYXBwd29yay1idXR0b24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XG4gICRidG4tY29sb3JzOiBnZXQtYnRuLWNvbG9ycygkYmFja2dyb3VuZCwgaWYoJGJvcmRlciwgJGJvcmRlciwgJGJhY2tncm91bmQpKTtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkYnRuLWNvbG9ycywgc2hhZG93KTtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkLFxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgY29sb3I6IHJnYmEtdG8taGV4KCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gICN7JHBhcmVudH06YWN0aXZlLFxuICAjeyRwYXJlbnR9LmFjdGl2ZSxcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWFjdGl2ZSk7XG5cbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJ1dHRvbiBncm91cHNcbiAgLmJ0bi1ncm91cCAjeyRwYXJlbnR9LFxuICAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAjeyRwYXJlbnR9LFxuICAuaW5wdXQtZ3JvdXAtYXBwZW5kICN7JHBhcmVudH0ge1xuICAgIGJvcmRlci1yaWdodDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcbiAgICBib3JkZXItbGVmdDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1idXR0b24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkbWQtY29sb3I6ICRiYWNrZ3JvdW5kKSB7XG4gICRidG4tY29sb3JzOiBnZXQtbWF0ZXJpYWwtYnRuLWNvbG9ycygkYmFja2dyb3VuZCk7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIGJveC1zaGFkb3c6ICRidG4tYm94LXNoYWRvdztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAkYnRuLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgI3skcGFyZW50fSAuYmFkZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBjb2xvcjogcmdiYS10by1oZXgoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgI3skcGFyZW50fSAud2F2ZXMtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gI2ZmZiwgcmdiYSgkY29sb3IsIC4zKSwgcmdiYSgkY29sb3IsIC4yKSkgIWltcG9ydGFudDtcbiAgfVxuXG4gICN7JHBhcmVudH06YWN0aXZlLFxuICAjeyRwYXJlbnR9LmFjdGl2ZSxcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcbiAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRmxhdCBidXR0b25zXG4gICN7JHBhcmVudH0ubWQtYnRuLWZsYXQge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRtZC1jb2xvciAhaW1wb3J0YW50O1xuXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJG1kLWNvbG9yLCAuMSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAud2F2ZXMtcmlwcGxlIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJG1kLWNvbG9yLCAuMykgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0OmFjdGl2ZSxcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdC5hY3RpdmUsXG4gIC5zaG93ID4gI3skcGFyZW50fS5tZC1idG4tZmxhdC5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJG1kLWNvbG9yLCAuMTUpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBEaXNhYmxlZFxuXG4gICN7JHBhcmVudH0uZGlzYWJsZWQsXG4gICN7JHBhcmVudH06ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogJG1hdGVyaWFsLWNvbXBvbmVudC1zaGFkb3cgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cblxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0LmRpc2FibGVkLFxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogT3V0bGluZSBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvcjogbnVsbCwgJGNvbG9yLWhvdmVyOiBudWxsLCAkaG92ZXItY29sb3I6IG51bGwpIHt9XG5cbkBtaXhpbiBhcHB3b3JrLWJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaG92ZXItY29sb3I6IG51bGwpIHtcbiAgJGJ0bi1jb2xvcnM6IGdldC1idG4tY29sb3JzKCRjb2xvciwgJGNvbG9yKTtcbiAgJGNvbG9yLWhvdmVyOiBpZigkaG92ZXItY29sb3IsICRob3Zlci1jb2xvciwgeWlxKCRjb2xvcikpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuXG4gICAgICAuYmFkZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICAgIGNvbG9yOiBpZihhbHBoYSgkY29sb3IpID09IDEsICRjb2xvciwgeWlxKCRjb2xvci1ob3ZlcikpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRidG4tY29sb3JzLCBzaGFkb3cpO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQsXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAjeyRwYXJlbnR9IC5iYWRnZSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgI3skcGFyZW50fTphY3RpdmUsXG4gICN7JHBhcmVudH0uYWN0aXZlLFxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG5cbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC5iYWRnZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBjb2xvcjogaWYoYWxwaGEoJGNvbG9yKSA9PSAxLCAkY29sb3IsIHlpcSgkY29sb3ItaG92ZXIpKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRob3Zlci1jb2xvcjogbnVsbCkge1xuICAkYnRuLWNvbG9yczogZ2V0LW1hdGVyaWFsLWJ0bi1jb2xvcnMoJGNvbG9yKTtcbiAgJGNvbG9yLWhvdmVyOiBpZigkaG92ZXItY29sb3IsICRob3Zlci1jb2xvciwgeWlxKCRjb2xvcikpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY29sb3IgaW5zZXQ7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgIGJveC1zaGFkb3c6ICRidG4tZm9jdXMtYm94LXNoYWRvdztcbiAgICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG5cbiAgICAgIC5iYWRnZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgICAgY29sb3I6IGlmKGFscGhhKCRjb2xvcikgPT0gMSwgJGNvbG9yLCB5aXEoJGNvbG9yLWhvdmVyKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNvbG9yIGluc2V0ICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgI3skcGFyZW50fSAuYmFkZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gICN7JHBhcmVudH0gLndhdmVzLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZDogaWYoJGNvbG9yLWhvdmVyID09ICNmZmYsIHJnYmEoJGNvbG9yLWhvdmVyLCAuMyksIHJnYmEoJGNvbG9yLWhvdmVyLCAuMikpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAjeyRwYXJlbnR9OmFjdGl2ZSxcbiAgI3skcGFyZW50fS5hY3RpdmUsXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWhvdmVyKTtcbiAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93O1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG5cbiAgICAuYmFkZ2Uge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgY29sb3I6IGlmKGFscGhhKCRjb2xvcikgPT0gMSwgJGNvbG9yLCB5aXEoJGNvbG9yLWhvdmVyKSk7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQmFkZ2VzXG5cbkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge31cblxuQG1peGluIGFwcHdvcmstYmFkZ2UtdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJnKSk7XG4gIH1cblxuICAjeyRwYXJlbnR9W2hyZWZdIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpZihhbHBoYSgkYmcpID09IDEsIHJnYmEtdG8taGV4KHJnYmEoJGJnLCAuOTUpLCAjMDAwKSwgcmdiYSgkYmcsIGFscGhhKCRiZykgKyAuMDMpKTtcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiZykpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5idG4gI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJnKSkgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1iYWRnZS1vdXRsaW5lLXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6ICRiZykge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGJnIGluc2V0O1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAjeyRwYXJlbnR9W2hyZWZdIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5idG4gI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGJnIGluc2V0ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRHJvcGRvd25zXG5cbkBtaXhpbiBhcHB3b3JrLWRyb3Bkb3duLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAjeyRwYXJlbnR9IC5kcm9wZG93bi1pdGVtOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgI3skcGFyZW50fSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG4gIH1cblxuICAjeyRwYXJlbnR9LmRyb3Bkb3duLW1lbnUgPiBsaTpub3QoLmRpc2FibGVkKSA+IGE6bm90KC5kcm9wZG93bi1pdGVtKTphY3RpdmUsXG4gICN7JHBhcmVudH0uZHJvcGRvd24tbWVudSA+IGxpLmFjdGl2ZTpub3QoLmRpc2FibGVkKSA+IGE6bm90KC5kcm9wZG93bi1pdGVtKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1kcm9wZG93bi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstZHJvcGRvd24tdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWRyb3Bkb3duLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAjeyRwYXJlbnR9IC5kcm9wZG93bi1pdGVtOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcbiAgfVxuXG4gICN7JHBhcmVudH0uZHJvcGRvd24tbWVudSA+IGxpLmFjdGl2ZTpub3QoLmRpc2FibGVkKSA+IGE6bm90KC5kcm9wZG93bi1pdGVtKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1kcm9wZG93bi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtZHJvcGRvd24tdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTmF2c1xuXG5AbWl4aW4gYXBwd29yay1uYXYtc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQpIHtcbiAgID4gLm5hdiAubmF2LWxpbmssXG4gICYubmF2IC5uYXYtbGluayB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW5hdi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgJHBpbGxzLXNlbGVjdG9yOiBpZigkcGFyZW50ID09ICcnLCAnLm5hdi1waWxscycsICcjeyRwYXJlbnR9Lm5hdi1waWxscywgI3skcGFyZW50fSA+IC5uYXYtcGlsbHMnKTtcblxuICAjeyRwaWxscy1zZWxlY3Rvcn0gLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudH0udGFicy1hbHQubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSxcbiAgI3skcGFyZW50fS50YWJzLWFsdCA+IC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAwIC0ycHggMCAkYmFja2dyb3VuZCBpbnNldDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbmF2LXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgYXBwd29yay1uYXYtdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLW5hdi12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGxpbmstY29sb3I6IG51bGwpIHtcbiAgJHRhYnMtc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcubmF2LXRhYnMnLCAnI3skcGFyZW50fS5uYXYtdGFicycpO1xuICAkcGlsbHMtc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcubmF2LXBpbGxzJywgJyN7JHBhcmVudH0ubmF2LXBpbGxzLCAjeyRwYXJlbnR9ID4gLm5hdi1waWxscycpO1xuXG4gICN7JHRhYnMtc2VsZWN0b3J9IC5uYXYtbGluayB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRjb2xvciwgJGNvbG9yKTtcbiAgfVxuXG4gICN7JHBpbGxzLXNlbGVjdG9yfSAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICBjb2xvcjogaWYoJGxpbmstY29sb3IsICRsaW5rLWNvbG9yLCB5aXEoJGNvbG9yKSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLW5hdi10aGVtZSgkY29sb3IsICRsaW5rLWNvbG9yOiBudWxsKSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtbmF2LXZhcmlhbnQoJycsICRjb2xvciwgJGxpbmstY29sb3IpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFBhZ2luYXRpb25cblxuQG1peGluIGFwcHdvcmstcGFnaW5hdGlvbi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgI3skcGFyZW50fSAucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rLFxuICAjeyRwYXJlbnR9LnBhZ2luYXRpb24gbGkuYWN0aXZlID4gYTpub3QoLnBhZ2UtbGluaykge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLXBhZ2luYXRpb24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLXBhZ2luYXRpb24tdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogUHJvZ3Jlc3MgYmFyc1xuXG5AbWl4aW4gYXBwd29yay1wcm9ncmVzcy1iYXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAucHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTGlzdCBncm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZTogbnVsbCwgJGJhY2tncm91bmQ6IG51bGwsICRjb2xvcjogbnVsbCkge31cblxuQG1peGluIGFwcHdvcmstbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAkYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4xKSwgI2ZmZik7XG4gICRjb2xvcjogeWlxKCRiZyk7XG4gICRob3Zlci1iZzogcmdiYS10by1oZXgocmdiYSgkYmcsIC45OSksICMwMDApO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwuMDcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgYSN7JHBhcmVudH0sXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmc7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLWxpc3QtZ3JvdXAtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLWxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCcubGlzdC1ncm91cC1pdGVtLXByaW1hcnknLCAkYmFja2dyb3VuZCk7XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQWxlcnRzXG5cbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kOiBudWxsLCAkYm9yZGVyOiBudWxsLCAkY29sb3I6IG51bGwpIHt9XG5cbkBtaXhpbiBhcHB3b3JrLWFsZXJ0LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4xNSksICNmZmYpO1xuICAkYm9yZGVyOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuOTQpLCAjMDAwKTtcbiAgJGNvbG9yOiB5aXEoJGJhY2tncm91bmQpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgaHIge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG5cbiAgICAuY2xvc2UsXG4gICAgLmFsZXJ0LWxpbmsge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstYWxlcnQtZGFyay12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIGhyIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoeWlxKCRiYWNrZ3JvdW5kKSwuMik7XG4gICAgfVxuXG4gICAgLmNsb3NlLFxuICAgIC5hbGVydC1saW5rIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVG9vbHRpcHNcblxuQG1peGluIGFwcHdvcmstdG9vbHRpcC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgLnRvb2x0aXAtaW5uZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICAgIH1cblxuICAgICYuYnMtdG9vbHRpcC10b3AgLmFycm93OjpiZWZvcmUsICYuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci10b3AtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gICAgJi5icy10b29sdGlwLXJpZ2h0IC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJyaWdodFwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci1yaWdodC1jb2xvcjogJGJhY2tncm91bmQ7IH1cbiAgICAmLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLmFycm93OjpiZWZvcmUgeyBib3JkZXItYm90dG9tLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxuICAgICYuYnMtdG9vbHRpcC1sZWZ0IC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC5hcnJvdzo6YmVmb3JlIHsgYm9yZGVyLWxlZnQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBQb3BvdmVyc1xuXG5AbWl4aW4gYXBwd29yay1wb3BvdmVyLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gICAgLnBvcG92ZXItaGVhZGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSh5aXEoJGJhY2tncm91bmQpLC4yKTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAucG9wb3Zlci1ib2R5IHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuXG4gICAgJi5icy1wb3BvdmVyLXRvcCAuYXJyb3c6OmFmdGVyLCAmLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJ0b3BcIl0gLmFycm93OjphZnRlciB7IGJvcmRlci10b3AtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gICAgJi5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdzo6YWZ0ZXIsICYuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIC5hcnJvdzo6YWZ0ZXIgeyBib3JkZXItcmlnaHQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gICAgJi5icy1wb3BvdmVyLWJvdHRvbSAuYXJyb3c6OmFmdGVyLCAmLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLmFycm93OjphZnRlciB7IGJvcmRlci1ib3R0b20tY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gICAgJi5icy1wb3BvdmVyLWxlZnQgLmFycm93OjphZnRlciwgJi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwibGVmdFwiXSAuYXJyb3c6OmFmdGVyIHsgYm9yZGVyLWxlZnQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBGb3JtIGNvbnRyb2xzXG5cbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1zZWxlY3Qtc2l6ZSgkc2l6ZSwgJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XG4gIC5jdXN0b20tc2VsZWN0LSN7JHNpemV9LFxuICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gLmN1c3RvbS1zZWxlY3Qge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgKCRwYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkcGFkZGluZy14IGNlbnRlcjtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAmLFxuICAgICAgJltzaXplPVwiMFwiXTpub3QoW211bHRpcGxlXSkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAkcGFkZGluZy14IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW3NpemU9XCIwXCJdOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJGRlZmF1bHQtYmFja2dyb3VuZDogbnVsbCkge1xuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBAaWYgJGRlZmF1bHQtYmFja2dyb3VuZCB7XG4gICAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAgIC5jdXN0b20tY29udHJvbC1pbnB1dDphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAgICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRiYWNrZ3JvdW5kLCAuNCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAmLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xuICAgIH1cblxuICAgICYuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1jb250cm9sLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgYXBwd29yay1jdXN0b20tY29udHJvbC12YXJpYW50KCcuY3VzdG9tLWNvbnRyb2wnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWNvbnRyb2wtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkZGVmYXVsdC1iYWNrZ3JvdW5kOiBudWxsKSB7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIEBpZiAkZGVmYXVsdC1iYWNrZ3JvdW5kIHtcbiAgICAgIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuICAgICAgLmN1c3RvbS1jb250cm9sLWlucHV0OmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuICAgICYuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XG4gICAgfVxuXG4gICAgJi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRiYWNrZ3JvdW5kKSwgXCIjXCIsIFwiJTIzXCIpKTtcbiAgICB9XG5cbiAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmFja2dyb3VuZCwgLjE1KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJy5jdXN0b20tY29udHJvbCcsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZTogbnVsbCwgJGNvbG9yOiBudWxsKSB7fVxuXG5AbWl4aW4gYXBwd29yay1mb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IpIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgcGFkZGluZzogLjVyZW07XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IC4ycmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLC44KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wsXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkY29sb3IsLjI1KSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQsXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgICAmOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGNvbG9yLCAuNCk7XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZywgJ19DT0xPUl8nLCB5aXEoJGNvbG9yKSksIFwiI1wiLCBcIiUyM1wiKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZywgJ19DT0xPUl8nLCB5aXEoJGNvbG9yKSksIFwiI1wiLCBcIiUyM1wiKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkY29sb3IsLjMpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvcikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogLjJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsLjgpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLmZvcm0tY29udHJvbCxcbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwICRjb2xvciBpbnNldCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dCxcbiAgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAgICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAuMTUpICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX06Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuICAgICYuaXMtI3skc3RhdGV9OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgeWlxKCRjb2xvcikpLCBcIiNcIiwgXCIlMjNcIikpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfTpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgJi5pcy0jeyRzdGF0ZX06Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xuICAgIH1cbiAgfVxuXG4gIC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDojeyRzdGF0ZX0sXG4gIC5jdXN0b20tZmlsZS1pbnB1dC5pcy0jeyRzdGF0ZX0ge1xuICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstY3VzdG9tLWZpbGUtaW5wdXQtdGhlbWUoJGNvbG9yKSB7XG4gIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1jdXN0b20tZmlsZS1pbnB1dC10aGVtZSgkY29sb3IpIHtcbiAgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQ7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZm9ybS1jb250cm9sLXNpemUoJHNpemUsICRsaW5lLWhlaWdodCwgJHBhZGRpbmcteSwgJGdyb3VwLWJ0bi1mb250LXNpemU6IG51bGwpIHtcbiAgQGlmICRzaXplID09ICcnIHtcbiAgICAuZm9ybS1jb250cm9sLFxuICAgIC5jdXN0b20tc2VsZWN0LFxuICAgIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRwYWRkaW5nLXl9IC0gMXB4KSAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC5mb3JtLWNvbnRyb2wtI3skc2l6ZX0sXG4gICAgLmN1c3RvbS1zZWxlY3QtI3skc2l6ZX0sXG4gICAgLmlucHV0LWdyb3VwLSN7JHNpemV9ID4gLmZvcm0tY29udHJvbCxcbiAgICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gPiAuY3VzdG9tLXNlbGVjdCxcbiAgICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gLmlucHV0LWdyb3VwLXRleHQge1xuICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skcGFkZGluZy15fSAtIDFweCkgIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwLSN7JHNpemV9ID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuICAgIC5pbnB1dC1ncm91cC0jeyRzaXplfSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JHBhZGRpbmcteX0gLSAxcHgpICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6ICRncm91cC1idG4tZm9udC1zaXplO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1mb3JtLWNvbnRyb2wtdGhlbWUoJGNvbG9yKSB7XG4gIC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gIC5jdXN0b20tc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1mb3JtLWNvbnRyb2wtdGhlbWUoJGNvbG9yKSB7XG4gIC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gIC5jdXN0b20tc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQ7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTd2l0Y2hlcnNcblxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItc2l6ZS1iYXNlKCR3aWR0aCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0LCAkaW5uZXItc3BhY2VyOiAkc3dpdGNoZXItaW5uZXItc3BhY2VyKSB7XG4gIHBhZGRpbmctbGVmdDogJHdpZHRoO1xuICBtaW4taGVpZ2h0OiAkaGVpZ2h0O1xuICBmb250LXNpemU6ICRkZXNjcmlwdGlvbi1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XG5cbiAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAkZGVzY3JpcHRpb24tZm9udC1zaXplICogJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xuICAkZGVsdGE6IGlmKCRtYXRlcmlhbC1zdHlsZSwgcHgtdG8tcmVtKGNlaWwocmVtLXRvLXB4KCRoZWlnaHQgKiAuMTI1KSkpLCAwKTtcblxuICAuc3dpdGNoZXItYmxhbmsgLnN3aXRjaGVyLWluZGljYXRvciB7XG4gICAgdG9wOiAkZGVsdGEgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0IC0gKCRkZWx0YSAqIDIpO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlaWdodDtcblxuICAgIEBpZiAkbGluZS1oZWlnaHQtY29tcHV0ZWQgPiAkaGVpZ2h0IHtcbiAgICAgIHRvcDogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLSAkaGVpZ2h0KSAvIDIpICsgJGRlbHRhO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdG9wOiAwICsgJGRlbHRhO1xuICAgIH1cbiAgfVxuXG4gIC5zd2l0Y2hlci1sYWJlbCB7XG4gICAgQGlmICRsaW5lLWhlaWdodC1jb21wdXRlZCA8ICRoZWlnaHQge1xuICAgICAgdG9wOiAoJGhlaWdodCAtICRsaW5lLWhlaWdodC1jb21wdXRlZCkgLyAyO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvcjo6YWZ0ZXIge1xuICAgIGxlZnQ6ICR3aWR0aCAtICRoZWlnaHQ7XG4gIH1cblxuICAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XG4gICAgdG9wOiAkZGVsdGEgKiAtMTtcbiAgICBtYXJnaW46ICRpbm5lci1zcGFjZXIgMCAwICRpbm5lci1zcGFjZXI7XG4gICAgd2lkdGg6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyICogMjtcbiAgICBoZWlnaHQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyICogMjtcbiAgfVxuXG4gIC5zd2l0Y2hlci1ubyB7XG4gICAgcGFkZGluZy1yaWdodDogJGlubmVyLXNwYWNlcjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyO1xuICB9XG5cbiAgLnN3aXRjaGVyLXllcyB7XG4gICAgcGFkZGluZy1yaWdodDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XG4gICAgcGFkZGluZy1sZWZ0OiAkaW5uZXItc3BhY2VyO1xuICB9XG5cbiAgQGlmICRtYXRlcmlhbC1zdHlsZSB7XG4gICAgLnN3aXRjaGVyLWluZGljYXRvcjo6YmVmb3JlIHtcbiAgICAgIHRvcDogJGRlbHRhICogLTE7XG4gICAgICB3aWR0aDogJGhlaWdodDtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG5cbiAgICAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAkd2lkdGggLSAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcnRsLXN1cHBvcnQge1xuICAgIFtkaXI9cnRsXSAmIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICR3aWR0aDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkd2lkdGggLSAkaGVpZ2h0O1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRpbm5lci1zcGFjZXI7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItbm8ge1xuICAgICAgcGFkZGluZy1yaWdodDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRpbm5lci1zcGFjZXI7XG4gICAgfVxuXG4gICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLXllcyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5uZXItc3BhY2VyO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcbiAgICB9XG5cbiAgICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgICAgIFtkaXI9cnRsXSAmIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvcjo6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6ICR3aWR0aCAtICRoZWlnaHQ7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXNpemUoJHNpemUsICR3aWR0aCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0LCAkaW5uZXItc3BhY2VyOiAkc3dpdGNoZXItaW5uZXItc3BhY2VyKSB7XG4gIC5zd2l0Y2hlci0jeyRzaXplfSxcbiAgLmZvcm0tZ3JvdXAtI3skc2l6ZX0gLnN3aXRjaGVyIHtcbiAgICBAaW5jbHVkZSBhcHB3b3JrLXN3aXRjaGVyLXNpemUtYmFzZSgkd2lkdGgsICRoZWlnaHQsICRmb250LXNpemUsICRkZXNjcmlwdGlvbi1mb250LXNpemUsICRkZXNjcmlwdGlvbi1saW5lLWhlaWdodCwgJGlubmVyLXNwYWNlcik7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRzZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJycsICcjeyRwYXJlbnR9LnN3aXRjaGVyJyk7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0gLnN3aXRjaGVyLWlucHV0OmZvY3VzIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkYmFja2dyb3VuZCwgLjQpO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IC5zd2l0Y2hlci1pbnB1dDphY3RpdmUgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLXN3aXRjaGVyLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kKSB7XG4gICRzZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJycsICcjeyRwYXJlbnR9LnN3aXRjaGVyJyk7XG5cbiAgI3skc2VsZWN0b3J9IC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkYmFja2dyb3VuZCwgLjUpO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJhY2tncm91bmQsIC4xNSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXRoZW1lKCRiYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdmFyaWFudCgnJywgJGJhY2tncm91bmQpO1xufVxuXG5AbWl4aW4gYXBwd29yay1zd2l0Y2hlci12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XG4gIC5zd2l0Y2hlci1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgJjpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogeWlxKCRjb2xvcikgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRjb2xvciwgLjQpICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICY6YWN0aXZlIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgfiAuc3dpdGNoZXItbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IpIHtcbiAgLnN3aXRjaGVyLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgLjUpICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAuMTUpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgfiAuc3dpdGNoZXItbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7fVxuXG5AbWl4aW4gYXBwd29yay10YWJsZS1yb3ctdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCkge1xuICAkYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4xKSwgI2ZmZik7XG4gICRjb2xvcjogeWlxKCRiZyk7XG4gICRob3Zlci1iZzogcmdiYS10by1oZXgocmdiYSgkYmcsIC45OSksICMwMDApO1xuXG4gIC50YWJsZSAjeyRwYXJlbnR9LFxuICAudGFibGUgI3skcGFyZW50fSA+IHRoLFxuICAudGFibGUgI3skcGFyZW50fSA+IHRkIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjAzNSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAudGFibGUtaG92ZXIgI3skcGFyZW50fTpob3ZlcixcbiAgLnRhYmxlLWhvdmVyICN7JHBhcmVudH06aG92ZXIgPiB0ZCxcbiAgLnRhYmxlLWhvdmVyICN7JHBhcmVudH06aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJnO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTmF2YmFyXG5cbkBtaXhpbiBhcHB3b3JrLW5hdmJhci12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiBudWxsLCAkYWN0aXZlLWNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XG4gICRjb2xvcnM6IGdldC1uYXYtY29sb3JzKCRiZywgJGFjdGl2ZS1jb2xvciwgJGNvbG9yLCAkYm9yZGVyKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJnKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItbmF2IHtcbiAgICAgIC5uYXYtbGluayB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGRpc2FibGVkLWNvbG9yKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAgIC5uYXYtbGluay5zaG93LFxuICAgICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBib3JkZXIpO1xuICAgIH1cblxuICAgIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKSA9PSAjZmZmLCAkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnLCAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZyk7XG4gICAgfVxuXG4gICAgLm5hdmJhci10ZXh0IHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG5cbiAgICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBociB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTaWRlbmF2XG5cbkBtaXhpbiBhcHB3b3JrLXNpZGVuYXYtdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCwgJGFjdGl2ZS1jb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCwgJG1lbnUtYmc6IG51bGwpIHtcbiAgJGNvbG9yczogZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yLCAkY29sb3IsICRib3JkZXIpO1xuICAkeWlxLXBlcmNlbnQ6IG1hcC1nZXQoJGNvbG9ycywgeWlxLXBlcmNlbnQpO1xuXG4gIEBpZiBub3QgJG1lbnUtYmcge1xuICAgICRtZW51LWJnOiByZ2JhLXRvLWhleChyZ2JhKG1hcC1nZXQoJGNvbG9ycywgYmcpLCAxIC0gaWYoJHlpcS1wZXJjZW50ID4gLjc1LCAuMDI1LCAuMDUpKSwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCAjZmZmLCAjMDAwKSk7XG4gIH1cblxuICAkbWVudS1hY3RpdmUtYmc6IHJnYmEtdG8taGV4KHJnYmEoJG1lbnUtYmcsIDEgLSBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIC4wMjUsIC4wNSkpLCBpZigkeWlxLXBlcmNlbnQgPCAuMjUsICNmZmYsICMwMDApKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJnKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgIC5zaWRlbmF2LWxpbmssXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2LFxuICAgIC5zaWRlbmF2LWhvcml6b250YWwtbmV4dCB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaWRlbmF2LWl0ZW0uZGlzYWJsZWQgLnNpZGVuYXYtbGluayxcbiAgICAuc2lkZW5hdi1ob3Jpem9udGFsLXByZXYuZGlzYWJsZWQsXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1uZXh0LmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGRpc2FibGVkLWNvbG9yKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWl0ZW0ub3Blbjpub3QoLnNpZGVuYXYtaXRlbS1jbG9zaW5nKSA+IC5zaWRlbmF2LXRvZ2dsZSxcbiAgICAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbmsge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6bm90KC5zaWRlbmF2LXRvZ2dsZSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnUtYmc7XG4gICAgfVxuXG4gICAgJi5zaWRlbmF2LWhvcml6b250YWwgLnNpZGVuYXYtbWVudSA+IC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazpub3QoLnNpZGVuYXYtdG9nZ2xlKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudS1hY3RpdmUtYmc7XG4gICAgfVxuXG4gICAgJi5zaWRlbmF2LWhvcml6b250YWwgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtOm5vdCguc2lkZW5hdi1pdGVtLWNsb3NpbmcpID4gLnNpZGVuYXYtbWVudSxcbiAgICAmLnNpZGVuYXYtaG9yaXpvbnRhbCAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWVudS1iZztcbiAgICB9XG5cbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0uc2lkZW5hdi1pdGVtLWNsb3NpbmcgLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LW1lbnUsXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLnNpZGVuYXYtaXRlbS1jbG9zaW5nIC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi10b2dnbGUge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XG4gICAgfVxuXG4gICAgLnNpZGVuYXYtdGV4dCB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWhlYWRlciB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBtdXRlZC1jb2xvcik7XG4gICAgfVxuXG4gICAgaHIsXG4gICAgLnNpZGVuYXYtZGl2aWRlcixcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LW1lbnU6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaGVhZGVyOjpiZWZvcmUsXG4gICAgLnNpZGVuYXYtYmxvY2s6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XG4gICAgfVxuXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtdG9nZ2xlOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYS10by1oZXgobWFwLWdldCgkY29sb3JzLCBib3JkZXIpLCAkbWVudS1iZyk7XG4gICAgfVxuXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YmVmb3JlLFxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazo6YmVmb3JlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAkbWVudS1iZztcbiAgICB9XG5cbiAgICAucHNfX3RodW1iLXksXG4gICAgLnBzX19yYWlsLXkucHMtLWNsaWNraW5nID4gLnBzX190aHVtYi15IHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEobWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpLCBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIG1hcC1nZXQoJGNvbG9ycywgb3BhY2l0eSkgLSAuNCwgbWFwLWdldCgkY29sb3JzLCBvcGFjaXR5KSAtIC4yKSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBGb290ZXJcblxuQG1peGluIGFwcHdvcmstZm9vdGVyLXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6IG51bGwsICRhY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcbiAgJGNvbG9yczogZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yLCAkY29sb3IsICRib3JkZXIpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmcpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xuXG4gICAgLmZvb3Rlci1saW5rIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgZGlzYWJsZWQtY29sb3IpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlci10ZXh0IHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgfVxuXG4gICAgLnNob3cgPiAuZm9vdGVyLWxpbmssXG4gICAgLmFjdGl2ZSA+IC5mb290ZXItbGluayxcbiAgICAuZm9vdGVyLWxpbmsuc2hvdyxcbiAgICAuZm9vdGVyLWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgfVxuXG4gICAgaHIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSZWJvb3Rcbi8vXG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgZGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICBjYXB0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuIiwiLy8gVHlwZVxuLy9cblxuQGluY2x1ZGUgcnRsLW9ubHkge1xuICAubGlzdC11bnN0eWxlZCxcbiAgLmxpc3QtaW5saW5lIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gIC5saXN0LWlubGluZS1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGxpc3QtaW5saW5lLXBhZGRpbmc7XG4gIH1cbn1cbiIsIi8vIFV0aWxpdGllc1xuLy9cblxuLm9wYWNpdHktMjUgICAgICAgICAgICB7IG9wYWNpdHk6IC4yNSAhaW1wb3J0YW50OyB9XG4ub3BhY2l0eS01MCAgICAgICAgICAgIHsgb3BhY2l0eTogLjUgIWltcG9ydGFudDsgfVxuLm9wYWNpdHktNzUgICAgICAgICAgICB7IG9wYWNpdHk6IC43NSAhaW1wb3J0YW50OyB9XG4ub3BhY2l0eS0xMDAgICAgICAgICAgIHsgb3BhY2l0eTogMSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXRpbnkgICAgICAgICAgICAgeyBmb250LXNpemU6ICR0aW55LWZvbnQtc2l6ZSAhaW1wb3J0YW50OyB9XG4udGV4dC1iaWcgICAgICAgICAgICAgIHsgZm9udC1zaXplOiAkYmlnLWZvbnQtc2l6ZSAhaW1wb3J0YW50OyB9XG4udGV4dC1sYXJnZSAgICAgICAgICAgIHsgZm9udC1zaXplOiAkbGFyZ2UtZm9udC1zaXplICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXhsYXJnZSAgICAgICAgICAgeyBmb250LXNpemU6ICR4bGFyZ2UtZm9udC1zaXplICFpbXBvcnRhbnQ7IH1cblxuLmxpbmUtaGVpZ2h0LTEgICAgICAgICB7IGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7IH1cbi5saW5lLWhlaWdodC1jb25kZW5jZWQgeyBsaW5lLWhlaWdodDogMS4zICFpbXBvcnRhbnQ7IH1cbi5saW5lLWhlaWdodC1pbmhlcml0ICAgeyBsaW5lLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWV4cGFuZGVkICAgICAgICAgeyBsZXR0ZXItc3BhY2luZzogKCgxIC8gKHN0cmlwLXVuaXQoJGZvbnQtc2l6ZS1iYXNlKSAqIDE2KSkgKiAxZW0pICFpbXBvcnRhbnQ7IH1cblxuLmZvbnQtd2VpZ2h0LWxpZ2h0ICAgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LXNlbWlib2xkICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaWJvbGQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGRlciAgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyICFpbXBvcnRhbnQ7IH1cbi50ZXh0LWRlY29yYXRpb24tbm9uZSAgeyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuLnRleHQtdHJhbnNmb3JtLW5vbmUgICB7IHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLm92ZXJmbG93LWhpZGRlbiAgICAgICB7IG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuLm92ZXJmbG93LXNjcm9sbCAgICAgICB7IG92ZXJmbG93OiBzY3JvbGwgIWltcG9ydGFudDsgfVxuLm92ZXJmbG93LWF1dG8gICAgICAgICB7IG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLmJveC1zaGFkb3ctbm9uZSAgICAgICB7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uY3Vyc29yLXBvaW50ZXIgICAgICAgIHsgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7IH1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBMYXlvdXQgY29udGFpbmVyc1xuXG4uY29udGFpbmVyLXAteCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy14LXNtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLXgtc20gIWltcG9ydGFudDtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLXggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy14ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5jb250YWluZXItbS0teCB7XG4gIG1hcmdpbi1yaWdodDogLSRjb250YWluZXItcGFkZGluZy14LXNtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAtJGNvbnRhaW5lci1wYWRkaW5nLXgtc20gIWltcG9ydGFudDtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGNvbnRhaW5lci1wYWRkaW5nLXggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogLSRjb250YWluZXItcGFkZGluZy14ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmNvbnRhaW5lci1wLXkge1xuICAmOm5vdChbY2xhc3NePVwicHQtXCJdKTpub3QoW2NsYXNzKj1cIiBwdC1cIl0pIHtcbiAgICBwYWRkaW5nLXRvcDogJGNvbnRhaW5lci1wYWRkaW5nLXkgIWltcG9ydGFudDtcbiAgfVxuICAmOm5vdChbY2xhc3NePVwicGItXCJdKTpub3QoW2NsYXNzKj1cIiBwYi1cIl0pIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGNvbnRhaW5lci1wYWRkaW5nLXkgIWltcG9ydGFudDtcbiAgfVxufVxuLmNvbnRhaW5lci1tLS15IHtcbiAgJjpub3QoW2NsYXNzXj1cIm10LVwiXSk6bm90KFtjbGFzcyo9XCIgbXQtXCJdKSB7XG4gICAgbWFyZ2luLXRvcDogLSRjb250YWluZXItcGFkZGluZy15ICFpbXBvcnRhbnQ7XG4gIH1cbiAgJjpub3QoW2NsYXNzXj1cIm1iLVwiXSk6bm90KFtjbGFzcyo9XCIgbWItXCJdKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRjb250YWluZXItcGFkZGluZy15ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuXG4vLyBUcmFuc2Zvcm1zXG4vL1xuXG4ucm90YXRlLTkwIHsgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG4ucm90YXRlLTE4MCB7IHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbi5yb3RhdGUtMjcwIHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxuLnJvdGF0ZS0tOTAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyB9XG4ucm90YXRlLS0xODAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxuLnJvdGF0ZS0tMjcwIHsgdHJhbnNmb3JtOiByb3RhdGUoLTI3MGRlZyk7IH1cbi5yb3RhdGUtMCB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpICFpbXBvcnRhbnQ7IH1cblxuLnNjYWxlWC0tMSB7IHRyYW5zZm9ybTogc2NhbGVYKC0xKTsgfVxuLnNjYWxlWS0tMSB7IHRyYW5zZm9ybTogc2NhbGVZKC0xKTsgfVxuXG5AaW5jbHVkZSBydGwtb25seSB7XG4gIC5yb3RhdGUtOTAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyB9XG4gIC5yb3RhdGUtMTgwIHsgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7IH1cbiAgLnJvdGF0ZS0yNzAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMjcwZGVnKTsgfVxuICAucm90YXRlLS05MCB7IHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAucm90YXRlLS0xODAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5yb3RhdGUtLTI3MCB7IHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cblxuICAuc2NhbGVYLS0xIHsgdHJhbnNmb3JtOiBzY2FsZVgoMSk7IH1cbiAgLnNjYWxlWS0tMSB7IHRyYW5zZm9ybTogc2NhbGVZKDEpOyB9XG5cbiAgLnNjYWxlWC0tMS1ydGwgeyB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7IH1cbiAgLnNjYWxlWS0tMS1ydGwgeyB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7IH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBCb3JkZXJlZCByb3dzXG5cbi5yb3ctYm9yZGVyZWQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICA+IC5jb2wsXG4gICA+IFtjbGFzc149XCJjb2wtXCJdLFxuICAgPiBbY2xhc3MqPVwiIGNvbC1cIl0sXG4gICA+IFtjbGFzc149XCJjb2wgXCJdLFxuICAgPiBbY2xhc3MqPVwiIGNvbCBcIl0sXG4gICA+IFtjbGFzcyQ9XCIgY29sXCJdLFxuICAgPiBbY2xhc3M9XCJjb2xcIl0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogMXB4O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYm9yZGVyZWQtcm93LWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogLTFweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRib3JkZXJlZC1yb3ctYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICYucm93LWJvcmRlci1saWdodCB7XG4gICAgID4gLmNvbCxcbiAgICAgPiBbY2xhc3NePVwiY29sLVwiXSxcbiAgICAgPiBbY2xhc3MqPVwiIGNvbC1cIl0sXG4gICAgID4gW2NsYXNzXj1cImNvbCBcIl0sXG4gICAgID4gW2NsYXNzKj1cIiBjb2wgXCJdLFxuICAgICA+IFtjbGFzcyQ9XCIgY29sXCJdLFxuICAgICA+IFtjbGFzcz1cImNvbFwiXSB7XG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGdyYXktMTAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBydGwtb25seSB7XG4gIC5yb3ctYm9yZGVyZWQgPiAuY29sOjphZnRlcixcbiAgLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149XCJjb2wtXCJdOjphZnRlcixcbiAgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyo9XCIgY29sLVwiXTo6YWZ0ZXIsXG4gIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3NePVwiY29sIFwiXTo6YWZ0ZXIsXG4gIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MqPVwiIGNvbCBcIl06OmFmdGVyLFxuICAucm93LWJvcmRlcmVkID4gW2NsYXNzJD1cIiBjb2xcIl06OmFmdGVyLFxuICAucm93LWJvcmRlcmVkID4gW2NsYXNzPVwiY29sXCJdOjphZnRlciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTFweDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFdpZHRoXG5cbkBlYWNoICRicmVha3BvaW50IGluIHNsaWNlLWxpc3QobWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpLCAyKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAudyN7JGluZml4fS0xMDAgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgLncjeyRpbmZpeH0tYXV0byB7IHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE5lZ2F0aXZlIGhvcml6b250YWwgbWFyZ2luc1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJHJ0bC1wcmVmaXg6IGlmKCRydGwtc3VwcG9ydCA9PSB0cnVlLCAnaHRtbDpub3QoW2Rpcj1ydGxdKSBib2R5Om5vdChbZGlyPXJ0bF0pICcsICcnKTtcblxuICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgICN7JHJ0bC1wcmVmaXh9Lm1yI3skaW5maXh9LS0jeyRzaXplfSxcbiAgICAgICN7JHJ0bC1wcmVmaXh9Lm14I3skaW5maXh9LS0jeyRzaXplfSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgICN7JHJ0bC1wcmVmaXh9Lm1sI3skaW5maXh9LS0jeyRzaXplfSxcbiAgICAgICN7JHJ0bC1wcmVmaXh9Lm14I3skaW5maXh9LS0jeyRzaXplfSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBAaWYgJHJ0bC1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAubXIjeyRpbmZpeH0tLSN7JHNpemV9LFxuICAgICAgICAubXgjeyRpbmZpeH0tLSN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWwjeyRpbmZpeH0tLSN7JHNpemV9LFxuICAgICAgICAubXgjeyRpbmZpeH0tLSN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBGbGV4XG5cbi5mbGV4LXRydW5jYXRlICB7IG1pbi13aWR0aDogMCAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAuZmxleC1iYXNpcyN7JGluZml4fS0xMDAgeyBmbGV4LWJhc2lzOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleC1iYXNpcyN7JGluZml4fS1hdXRvIHsgZmxleC1iYXNpczogYXV0byAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLy8gSUUgZml4XG4uZC1mbGV4LFxuLmQtaW5saW5lLWZsZXgsXG4ubWVkaWEsXG4ubWVkaWEgPiA6bm90KC5tZWRpYS1ib2R5KSxcbi5qdW1ib3Ryb24sXG4uY2FyZCB7XG4gIGZsZXgtc2hyaW5rOiAxO1xufVxuLy8gRml4IElFIHBhcmVudCBjb250YWluZXIgaGVpZ2h0IGJ1ZyB3aGVuIGNvbnRhaW5pbmcgaW1hZ2Ugd2l0aCBmbHVpZCB3aWR0aFxuLmllLW1oLTEge1xuICBtaW4taGVpZ2h0OiAxcHg7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVGV4dCBjb2xvclxuXG4udGV4dC1kYXJrIHtcbiAgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7XG5cbiAgJltocmVmXSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3IgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpmb2N1czpub3QoOmhvdmVyKSB7XG4gICAgICBjb2xvcjogJGJvZHktY29sb3IgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLnRleHQtbXV0ZWRbaHJlZl0ge1xuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGNvbG9yOiAkdGV4dC1tdXRlZC1ob3ZlciAhaW1wb3J0YW50OyB9XG59XG5cbi50ZXh0LWxpZ2h0IHtcbiAgY29sb3I6ICR0ZXh0LWxpZ2h0ICFpbXBvcnRhbnQ7XG5cbiAgJltocmVmXSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBjb2xvcjogJHRleHQtbXV0ZWQtaG92ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi50ZXh0LWxpZ2h0ZXIge1xuICBjb2xvcjogJHRleHQtbGlnaHRlciAhaW1wb3J0YW50O1xuXG4gICZbaHJlZl0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgY29sb3I6ICR0ZXh0LW11dGVkLWhvdmVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4udGV4dC1saWdodGVzdCB7XG4gIGNvbG9yOiAkdGV4dC1saWdodGVzdCAhaW1wb3J0YW50O1xuXG4gICZbaHJlZl0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgY29sb3I6ICR0ZXh0LW11dGVkLWhvdmVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQmFja2dyb3VuZCBjb2xvclxuXG4uYmctZGFyayB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5LTkwMCAhaW1wb3J0YW50OyB9XG5hLmJnLWRhcmsge1xuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5LTkwMCAhaW1wb3J0YW50OyB9XG59XG5cbi5iZy1saWdodCB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5LTEwMCAhaW1wb3J0YW50OyB9XG5hLmJnLWxpZ2h0IHtcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0yMDAgIWltcG9ydGFudDsgfVxufVxuXG4uYmctbGlnaHRlciB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5LTUwICFpbXBvcnRhbnQ7IH1cbmEuYmctbGlnaHRlciB7XG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTAwICFpbXBvcnRhbnQ7IH1cbn1cblxuLmJnLWxpZ2h0ZXN0IHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMjUgIWltcG9ydGFudDsgfVxuYS5iZy1saWdodGVzdCB7XG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktNTAgIWltcG9ydGFudDsgfVxufVxuXG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQm9yZGVyIGNvbG9yXG5cbi5ib3JkZXItbGlnaHQge1xuICBib3JkZXItY29sb3I6ICRncmF5LTEwMCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWRhcmsge1xuICBib3JkZXItY29sb3I6ICRncmF5LTkwMCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXRyYW5zcGFyZW50IHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFJUTFxuXG5AaW5jbHVkZSBydGwtb25seSB7XG4gIC8vIEJvcmRlcnNcbiAgLy9cblxuICAuYm9yZGVyICAgICAgICAgIHsgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuICAuYm9yZGVyLTAgICAgICAgIHsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmJvcmRlci10b3AtMCAgICB7IGJvcmRlci10b3A6IDAgIWltcG9ydGFudDsgfVxuICAuYm9yZGVyLXJpZ2h0LTAgIHsgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAuYm9yZGVyLWJvdHRvbS0wIHsgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC5ib3JkZXItbGVmdC0wICAgeyBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC5ib3JkZXItI3skY29sb3J9IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmJvcmRlci13aGl0ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3VuZGVkLXRvcCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgfVxuICAucm91bmRlZC1yaWdodCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3VuZGVkLWJvdHRvbSB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgfVxuICAucm91bmRlZC1sZWZ0IHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5yb3VuZGVkLWNpcmNsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucm91bmRlZC0wIHtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBGbG9hdFxuICAvL1xuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAgIC5mbG9hdCN7JGluZml4fS1sZWZ0ICB7IEBpbmNsdWRlIGZsb2F0LXJpZ2h0OyB9XG4gICAgICAuZmxvYXQjeyRpbmZpeH0tcmlnaHQgeyBAaW5jbHVkZSBmbG9hdC1sZWZ0OyB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBhbGlnbm1lbnRcbiAgLy9cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgICAudGV4dCN7JGluZml4fS1yaWdodCAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICAvLyBTcGFjaW5nXG4gIC8vXG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICAgQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuICAgICAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG5cbiAgICAgICAgICAuI3skYWJicmV2fSN7JGluZml4fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAuI3skYWJicmV2fXQjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAgICN7JHByb3B9LXRvcDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JGFiYnJldn1iI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgICAjeyRwcm9wfS1ib3R0b206ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JGFiYnJldn1sI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgICAjeyRwcm9wfS1yaWdodDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXG4gICAgICAubSN7JGluZml4fS1hdXRvIHsgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5tdCN7JGluZml4fS1hdXRvLFxuICAgICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAubXIjeyRpbmZpeH0tYXV0byxcbiAgICAgIC5teCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5tYiN7JGluZml4fS1hdXRvLFxuICAgICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAubWwjeyRpbmZpeH0tYXV0byxcbiAgICAgIC5teCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCYXNlXG4vL1xuXG5ib2R5IHtcbiAgLW1vei1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwibGlnYVwiIG9uO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICBmb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAud2F2ZXMtcmlwcGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIElFIEZpeGVzXG5cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gIC8vIEZpeCBJRSBwYXJlbnQgY29udGFpbmVyIGhlaWdodCBidWcgd2hlbiBjb250YWluaW5nIGltYWdlIHdpdGggZmx1aWQgd2lkdGhcbiAgLmNhcmQsXG4gIC5jYXJkLWJvZHksXG4gIC5tZWRpYSxcbiAgLmZsZXgtY29sdW1uLFxuICAudGFiLWNvbnRlbnQge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENvbnRhaW5lcnNcblxuLmNvbnRhaW5lcixcbi5jb250YWluZXItZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmcteC1zbTtcbiAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmcteC1zbTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLXg7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmcteDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFRodW1ibmFpbHNcblxuLmltZy10aHVtYm5haWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaW1nLXRodW1ibmFpbCBpbWcge1xuICB6LWluZGV4OiAxO1xufVxuXG4uaW1nLXRodW1ibmFpbC1jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB6LWluZGV4OiAzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgLmltZy10aHVtYm5haWw6aG92ZXIgJixcbiAgLmltZy10aHVtYm5haWw6Zm9jdXMgJiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vLyBPdmVybGF5IGVmZmVjdFxuLmltZy10aHVtYm5haWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcblxuICAuaW1nLXRodW1ibmFpbDpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSAmIHtcbiAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmltZy10aHVtYm5haWwtc2hhZG93IHtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuMnM7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDIwcHggcmdiYSgkYmxhY2ssIC40KTtcbiAgfVxufVxuXG4vLyBab29tLWluIGVmZmVjdFxuLmltZy10aHVtYm5haWwtem9vbS1pbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaW1nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCk7XG4gIH1cblxuICAuaW1nLXRodW1ibmFpbC1jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSguNik7XG4gIH1cblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgaW1nIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICB9XG5cbiAgICAuaW1nLXRodW1ibmFpbC1jb250ZW50IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE1hdGVyaWFsIGFuaW1hdGlvbnNcblxuQGlmICRtYXRlcmlhbC1zdHlsZSB7XG4gIEBpbmNsdWRlIGtleWZyYW1lcyhkcm9wZG93bkFuaW1hdGlvbikge1xuICAgIDAlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIH1cbiAgICA4MCUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBrZXlmcmFtZXModG9wVG9vbHRpcEFuaW1hdGlvbikge1xuICAgIDAlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBrZXlmcmFtZXMoYm90dG9tVG9vbHRpcEFuaW1hdGlvbikge1xuICAgIDAlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUga2V5ZnJhbWVzKGxlZnRUb29sdGlwQW5pbWF0aW9uKSB7XG4gICAgMCUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGtleWZyYW1lcyhyaWdodFRvb2x0aXBBbmltYXRpb24pIHtcbiAgICAwJSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogUlRMXG5cbkBpZiAkcnRsLXN1cHBvcnQge1xuICBbZGlyPXJ0bF0gYm9keSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgICBkaXJlY3Rpb246IHJ0bCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBUYWJsZXNcbi8vXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaWYgJGNvbG9yICE9IHByaW1hcnkgYW5kICRjb2xvciAhPSBsaWdodCB7XG4gICAgQGluY2x1ZGUgYXBwd29yay10YWJsZS1yb3ctdmFyaWFudCgnLnRhYmxlLSN7JGNvbG9yfScsICR2YWx1ZSk7XG4gIH1cbn1cblxuLnRhYmxlLnRhYmxlLWZpeGVkIHtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cblxuLnRhYmxlIHRoIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pYm9sZDtcbn1cblxuLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQWN0aXZlXG5cbi50YWJsZS1hY3RpdmUsXG4udGFibGUtYWN0aXZlID4gdGgsXG4udGFibGUtYWN0aXZlID4gdGQge1xuICBib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMDM1KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWFjdGl2ZS1iZztcbn1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIsXG4udGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJHRhYmxlLWFjdGl2ZS1iZywgLjk5KSwgIzAwMCk7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogV2l0aGluIGNhcmRcblxuLmNhcmQtdGFibGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC10YWJsZSxcbi5jYXJkLXRhYmxlIHRoLFxuLmNhcmQtdGFibGUgdGQge1xuICBib3JkZXItY29sb3I6ICRjYXJkLWlubmVyLWJvcmRlci1jb2xvcjtcbn1cblxuLmNhcmQtdGFibGUgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkLFxuLmNhcmQtdGFibGUgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkLFxuLmNhcmQtdGFibGUgPiB0Zm9vdDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgID4gdGQsXG4gICA+IHRoIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBpbmNsdWRlIGx0ci1vbmx5IHtcbiAgLmNhcmQtdGFibGUgPiB0aGVhZCA+IHRyLFxuICAuY2FyZC10YWJsZSA+IHRib2R5ID4gdHIsXG4gIC5jYXJkLXRhYmxlID4gdGZvb3QgPiB0ciB7XG4gICAgID4gdGQsXG4gICAgID4gdGgge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtc3BhY2VyLXg7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1zcGFjZXIteDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbmRlbmNlZFxuICAuY2FyZC1jb25kZW5jZWQgLmNhcmQtdGFibGUgPiB0aGVhZCA+IHRyLFxuICAuY2FyZC1jb25kZW5jZWQgLmNhcmQtdGFibGUgPiB0Ym9keSA+IHRyLFxuICAuY2FyZC1jb25kZW5jZWQgLmNhcmQtdGFibGUgPiB0Zm9vdCA+IHRyIHtcbiAgICAgPiB0ZCxcbiAgICAgPiB0aCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY2FyZC1zcGFjZXIteC1zbTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLXNwYWNlci14LXNtO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgLmNhcmQtdGFibGUgPiB0aGVhZCA+IHRyLFxuICAuY2FyZC10YWJsZSA+IHRib2R5ID4gdHIsXG4gIC5jYXJkLXRhYmxlID4gdGZvb3QgPiB0ciB7XG4gICAgID4gdGQsXG4gICAgID4gdGgge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLXNwYWNlci14O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtc3BhY2VyLXg7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbmRlbmNlZFxuICAuY2FyZC1jb25kZW5jZWQgLmNhcmQtdGFibGUgPiB0aGVhZCA+IHRyLFxuICAuY2FyZC1jb25kZW5jZWQgLmNhcmQtdGFibGUgPiB0Ym9keSA+IHRyLFxuICAuY2FyZC1jb25kZW5jZWQgLmNhcmQtdGFibGUgPiB0Zm9vdCA+IHRyIHtcbiAgICAgPiB0ZCxcbiAgICAgPiB0aCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNhcmQtc3BhY2VyLXg7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCdXR0b25zXG4vL1xuXG4uYnRuIHtcbiAgZm9udC1zaXplOiAkaW5wdXQtYnRuLWZvbnQtc2l6ZTtcblxuICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59XG5cbi8vIEJhYmdlIHdpdGhpbiBidXR0b25cbi5idG4gLmJhZGdlIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xufVxuXG5sYWJlbC5idG4ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEFsdGVybmF0ZSBidXR0b25zXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaWYgJGNvbG9yICE9IHByaW1hcnkge1xuICAgIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAgICAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1idXR0b24tdmFyaWFudCgnLmJ0bi0jeyRjb2xvcn0nLCAkdmFsdWUpO1xuICAgICAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1idXR0b24tb3V0bGluZS12YXJpYW50KCcuYnRuLW91dGxpbmUtI3skY29sb3J9JywgJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLXZhcmlhbnQoJy5idG4tI3skY29sb3J9JywgJHZhbHVlKTtcbiAgICAgIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfScsICR2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbi8vIERlZmF1bHQgYnV0dG9uXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1idXR0b24tdmFyaWFudCgnLmJ0bi1kZWZhdWx0JywgJGJ0bi1kZWZhdWx0LWJnLCAkYnRuLWRlZmF1bHQtY29sb3IsICRidG4tZGVmYXVsdC1jb2xvcik7XG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLWRlZmF1bHQnLCAkYnRuLWRlZmF1bHQtYm9yZGVyLCAkYnRuLWRlZmF1bHQtY29sb3IpO1xufSBAZWxzZSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLXZhcmlhbnQoJy5idG4tZGVmYXVsdCcsICRidG4tZGVmYXVsdC1iZywgJGJ0bi1kZWZhdWx0LWNvbG9yLCAkYnRuLWRlZmF1bHQtYm9yZGVyKTtcbiAgQGluY2x1ZGUgYXBwd29yay1idXR0b24tb3V0bGluZS12YXJpYW50KCcuYnRuLW91dGxpbmUtZGVmYXVsdCcsICRidG4tZGVmYXVsdC1ib3JkZXIsICRidG4tZGVmYXVsdC1jb2xvcik7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU2l6ZXNcblxuLmJ0bi14bCB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRpbnB1dC1idG4tcGFkZGluZy15LXhsLCAkaW5wdXQtYnRuLXBhZGRpbmcteC14bCwgJGlucHV0LWJ0bi1mb250LXNpemUteGwsICRpbnB1dC1idG4tbGluZS1oZWlnaHQteGwsICRidG4tYm9yZGVyLXJhZGl1cy14bCk7XG59XG5cbi5idG4tbGcge1xuICBmb250LXNpemU6ICRpbnB1dC1idG4tZm9udC1zaXplLWxnO1xufVxuXG4uYnRuLXNtIHtcbiAgZm9udC1zaXplOiAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTtcbn1cblxuLmJ0bi14cyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRpbnB1dC1idG4tcGFkZGluZy15LXhzLCAkaW5wdXQtYnRuLXBhZGRpbmcteC14cywgJGlucHV0LWJ0bi1mb250LXNpemUteHMsICRpbnB1dC1idG4tbGluZS1oZWlnaHQteHMsICRidG4tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogUm91bmQgYnV0dG9uXG5cbi5idG4tcm91bmQge1xuICBib3JkZXItcmFkaXVzOiA2MHJlbSAhaW1wb3J0YW50O1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEljb24gYnV0dG9uXG5cbi5pY29uLWJ0biB7XG4gICRpY29uLWJ0bi1zaXplOiAgICAoJGlucHV0LWJ0bi1mb250LXNpemUgICAgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSAgICArICgkaW5wdXQtYnRuLXBhZGRpbmcteSAgICAqIDIpO1xuICAkaWNvbi1idG4tc2l6ZS14bDogKCRpbnB1dC1idG4tZm9udC1zaXplLXhsICogJGlucHV0LWJ0bi1saW5lLWhlaWdodC14bCkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXkteGwgKiAyKTtcbiAgJGljb24tYnRuLXNpemUtbGc6ICgkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcpICsgKCRpbnB1dC1idG4tcGFkZGluZy15LWxnICogMik7XG4gICRpY29uLWJ0bi1zaXplLXNtOiAoJGlucHV0LWJ0bi1mb250LXNpemUtc20gKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAqIDIpO1xuICAkaWNvbi1idG4tc2l6ZS14czogKCRpbnB1dC1idG4tZm9udC1zaXplLXhzICogJGlucHV0LWJ0bi1saW5lLWhlaWdodC14cykgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXkteHMgKiAyKTtcbiAgJGJvcmRlcnMtd2lkdGg6ICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICogMjtcblxuICB3aWR0aDogY2FsYygjeyRpY29uLWJ0bi1zaXplfSArICN7JGJvcmRlcnMtd2lkdGh9KSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogJGljb24tYnRuLXNpemU7XG5cbiAgJi5idG4teGwge1xuICAgIHdpZHRoOiBjYWxjKCN7JGljb24tYnRuLXNpemUteGx9ICsgI3skYm9yZGVycy13aWR0aH0pICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6ICRpY29uLWJ0bi1zaXplLXhsO1xuICB9XG5cbiAgJi5idG4tbGcge1xuICAgIHdpZHRoOiBjYWxjKCN7JGljb24tYnRuLXNpemUtbGd9ICsgI3skYm9yZGVycy13aWR0aH0pICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6ICRpY29uLWJ0bi1zaXplLWxnO1xuICB9XG5cbiAgJi5idG4tc20ge1xuICAgIHdpZHRoOiBjYWxjKCN7JGljb24tYnRuLXNpemUtc219ICsgI3skYm9yZGVycy13aWR0aH0pICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6ICRpY29uLWJ0bi1zaXplLXNtO1xuICB9XG5cbiAgJi5idG4teHMge1xuICAgIHdpZHRoOiBjYWxjKCN7JGljb24tYnRuLXNpemUteHN9ICsgI3skYm9yZGVycy13aWR0aH0pICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6ICRpY29uLWJ0bi1zaXplLXhzO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogV2l0aG91dCBib3JkZXJcblxuLmJ0bi5ib3JkZXJsZXNzIHtcbiAgJjpub3QoLmFjdGl2ZSk6bm90KDphY3RpdmUpOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpLFxuICA6bm90KC5zaG93KSA+ICYuZHJvcGRvd24tdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBCdXR0b24gZ3JvdXBzXG4vL1xuXG5AaWYgbm90ICRtYXRlcmlhbC1zdHlsZSB7XG4gIDpub3QoLmJ0bi1ncm91cCkgPiAuYnRuLWdyb3VwID4gLmJ0bjpub3QoLmJ0bi1kZWZhdWx0KTpub3QoW2NsYXNzKj1cImJ0bi1vdXRsaW5lLVwiXSk6Zmlyc3QtY2hpbGQsXG4gIC5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoLmJ0bi1kZWZhdWx0KTpub3QoW2NsYXNzKj1cImJ0bi1vdXRsaW5lLVwiXSk6Zmlyc3QtY2hpbGQsXG4gIC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bjpub3QoLmJ0bi1kZWZhdWx0KTpub3QoW2NsYXNzKj1cImJ0bi1vdXRsaW5lLVwiXSk6Zmlyc3QtY2hpbGQsXG4gIC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuOm5vdCguYnRuLWRlZmF1bHQpOm5vdChbY2xhc3MqPVwiYnRuLW91dGxpbmUtXCJdKTpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIDpub3QoLmJ0bi1ncm91cCkgPiAuYnRuLWdyb3VwID4gLmJ0bjpub3QoLmJ0bi1kZWZhdWx0KTpub3QoW2NsYXNzKj1cImJ0bi1vdXRsaW5lLVwiXSk6bGFzdC1jaGlsZCxcbiAgLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZCA+IC5idG46bm90KC5idG4tZGVmYXVsdCk6bm90KFtjbGFzcyo9XCJidG4tb3V0bGluZS1cIl0pOmxhc3QtY2hpbGQsXG4gIDpub3QoLmJ0bi1ncm91cCkgPiAuYnRuLWdyb3VwID4gLmRyb3Bkb3duLXRvZ2dsZTpub3QoLmJ0bi1kZWZhdWx0KTpub3QoW2NsYXNzKj1cImJ0bi1vdXRsaW5lLVwiXSksXG4gIC5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQgPiAuZHJvcGRvd24tdG9nZ2xlOm5vdCguYnRuLWRlZmF1bHQpOm5vdChbY2xhc3MqPVwiYnRuLW91dGxpbmUtXCJdKSxcbiAgLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuOm5vdCguYnRuLWRlZmF1bHQpOm5vdChbY2xhc3MqPVwiYnRuLW91dGxpbmUtXCJdKTpsYXN0LWNoaWxkLFxuICAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0bjpub3QoLmJ0bi1kZWZhdWx0KTpub3QoW2NsYXNzKj1cImJ0bi1vdXRsaW5lLVwiXSk6bGFzdC1jaGlsZCxcbiAgLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuZHJvcGRvd24tdG9nZ2xlOm5vdCguYnRuLWRlZmF1bHQpOm5vdChbY2xhc3MqPVwiYnRuLW91dGxpbmUtXCJdKSxcbiAgLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5kcm9wZG93bi10b2dnbGU6bm90KC5idG4tZGVmYXVsdCk6bm90KFtjbGFzcyo9XCJidG4tb3V0bGluZS1cIl0pIHtcbiAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU2l6aW5nXG5cbi5idG4tZ3JvdXAteHMgPiAuYnRuIHtcbiAgQGV4dGVuZCAuYnRuLXhzO1xufVxuXG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWJ0bi1mb250LXNpemUtc207XG59XG5cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHtcbiAgZm9udC1zaXplOiAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZztcbn1cblxuLmJ0bi1ncm91cC14bCA+IC5idG4ge1xuICBAZXh0ZW5kIC5idG4teGw7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU3BsaXQgYnV0dG9uXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQsXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCxcbi5idG4tZ3JvdXAtbGcgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCxcbi5pbnB1dC1ncm91cC1sZyAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCxcbi5idG4teGwgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LFxuLmJ0bi1ncm91cC14bCA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogLjdlbTtcbiAgcGFkZGluZy1sZWZ0OiAuN2VtO1xufVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCxcbi5idG4tZ3JvdXAtc20gPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCxcbi5pbnB1dC1ncm91cC1zbSAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6IC42ZW07XG4gIHBhZGRpbmctbGVmdDogLjZlbTtcbn1cblxuLmJ0bi14cyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsXG4uYnRuLWdyb3VwLXhzID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAuNWVtO1xuICBwYWRkaW5nLWxlZnQ6IC41ZW07XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogUlRMXG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgLmJ0bi1ncm91cCAuYnRuOm5vdCguYnRuLXJvdW5kKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50KTtcbiAgfVxuXG4gIC5idG4tZ3JvdXAgLmJ0bi14czpub3QoLmJ0bi1yb3VuZCksXG4gIC5idG4tZ3JvdXAteHMgLmJ0bjpub3QoLmJ0bi1yb3VuZCkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMteHMgIWltcG9ydGFudCk7XG4gIH1cblxuICAuYnRuLWdyb3VwIC5idG4tc206bm90KC5idG4tcm91bmQpLFxuICAuYnRuLWdyb3VwLXNtIC5idG46bm90KC5idG4tcm91bmQpIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtICFpbXBvcnRhbnQpO1xuICB9XG5cbiAgLmJ0bi1ncm91cCAuYnRuLWxnOm5vdCguYnRuLXJvdW5kKSxcbiAgLmJ0bi1ncm91cC1sZyAuYnRuOm5vdCguYnRuLXJvdW5kKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyAhaW1wb3J0YW50KTtcbiAgfVxuXG4gIC5idG4tZ3JvdXAgLmJ0bi14bDpub3QoLmJ0bi1yb3VuZCksXG4gIC5idG4tZ3JvdXAteGwgLmJ0bjpub3QoLmJ0bi1yb3VuZCkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMteGwgIWltcG9ydGFudCk7XG4gIH1cblxuICAuYnRuLWdyb3VwIHtcbiAgICAuYnRuICsgLmJ0bixcbiAgICAuYnRuICsgLmJ0bi1ncm91cCxcbiAgICAuYnRuLWdyb3VwICsgLmJ0bixcbiAgICAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYnRuLWJvcmRlci13aWR0aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gICAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwICFpbXBvcnRhbnQpO1xuICAgIH1cblxuICAgID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCAhaW1wb3J0YW50KTtcbiAgICB9XG4gIH1cblxuICAuYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgICAuYnRuOm5vdChbY2xhc3MqPWJ0bi1vdXRsaW5lXSkge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCksXG4gICAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCAhaW1wb3J0YW50KTtcbiAgICB9XG5cbiAgICA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCAhaW1wb3J0YW50KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhZGdlc1xuLy9cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpZiAkY29sb3IgIT0gcHJpbWFyeSBhbmQgJGNvbG9yICE9IGxpZ2h0IHtcbiAgICBAaW5jbHVkZSBhcHB3b3JrLWJhZGdlLXZhcmlhbnQoJy5iYWRnZS0jeyRjb2xvcn0nLCAkdmFsdWUpO1xuICAgIEBpbmNsdWRlIGFwcHdvcmstYmFkZ2Utb3V0bGluZS12YXJpYW50KCcuYmFkZ2Utb3V0bGluZS0jeyRjb2xvcn0nLCAkdmFsdWUpO1xuICB9XG59XG5cbkBpbmNsdWRlIGFwcHdvcmstYmFkZ2UtdmFyaWFudCgnLmJhZGdlLWRlZmF1bHQnLCAkYmFkZ2UtZGVmYXVsdC1iZywgJGJvZHktY29sb3IpO1xuQGluY2x1ZGUgYXBwd29yay1iYWRnZS1vdXRsaW5lLXZhcmlhbnQoJy5iYWRnZS1vdXRsaW5lLWRlZmF1bHQnLCAkYmFkZ2UtZGVmYXVsdC1iZywgJGJhZGdlLW91dGxpbmUtZGVmYXVsdC1jb2xvcik7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRG90c1xuXG4uYmFkZ2UuYmFkZ2UtZG90IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAuNWVtO1xuICBoZWlnaHQ6IC41ZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBJbmRpY2F0b3JzXG5cbi5iYWRnZS5pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogYXV0bztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDI1JSk7XG5cbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIDI1JSk7XG4gIH1cblxuICAmOm5vdCguYmFkZ2UtZG90KSB7XG4gICAgcGFkZGluZzogMCAuMmVtO1xuICAgIGZvbnQtc2l6ZTogLjZlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwJSk7XG5cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtMTAlKTtcbiAgICB9XG4gIH1cbn1cblxuQGlmICRtYXRlcmlhbC1zdHlsZSB7XG4gIC5idG4gLmJhZGdlLmluZGljYXRvcjpub3QoLmJhZGdlLWRvdCkge1xuICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gIH1cbn1cbiIsIi8vIERyb3Bkb3duc1xuLy9cblxuW2RhdGEtdHJpZ2dlcj1ob3Zlcl0ge1xuICBvdXRsaW5lOiAwO1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbjogJGRyb3Bkb3duLXNwYWNlciAwO1xuICBib3gtc2hhZG93OiAkZHJvcGRvd24tYm94LXNoYWRvdztcblxuICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uc1xuICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb246IGRyb3Bkb3duQW5pbWF0aW9uIC4yNXM7XG5cbiAgICAmLmRyb3Bkb3duLW1lbnUtcmlnaHQsXG4gICAgJi5kcm9wZG93bi1tZW51LXJpZ2h0IC5kcm9wZG93bi1tZW51IHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcbiAgICB9XG5cbiAgICAuZHJvcHVwICYge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG4gICAgfVxuXG4gICAgLmRyb3B1cCAmLmRyb3Bkb3duLW1lbnUtcmlnaHQsXG4gICAgLmRyb3B1cCAmLmRyb3Bkb3duLW1lbnUtcmlnaHQgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5tZWdhLWRyb3Bkb3duID4gJiB7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmRyb3Bkb3duLWl0ZW0ge1xuICBsaW5lLWhlaWdodDogJGRyb3Bkb3duLWxpbmstbGluZS1oZWlnaHQ7XG59XG5cbi8vIEJhZGdlIHdpdGhpbiBkcm9wZG93biBtZW51XG4uZHJvcGRvd24tbWVudSAuYmFkZ2VbY2xhc3NePVwiZmxvYXQtXCJdLFxuLmRyb3Bkb3duLW1lbnUgLmJhZGdlW2NsYXNzKj1cIiBmbG9hdC1cIl0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLjA3MWVtO1xufVxuXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgLmRyb3Bkb3duLWl0ZW0sXG4gIC5kcm9wZG93bi1tZW51ID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICAvLyBSaXBwbGVcbiAgICAud2F2ZXMtcmlwcGxlIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjEpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYuYWN0aXZlIC53YXZlcy1yaXBwbGUsXG4gICAgJi5kaXNhYmxlZCAud2F2ZXMtcmlwcGxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGlkZGVuIGRyb3Bkb3duIHRvZ2dsZSBhcnJvd1xuLmRyb3Bkb3duLXRvZ2dsZS5oaWRlLWFycm93LFxuLmRyb3Bkb3duLXRvZ2dsZS1oaWRlLWFycm93ID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE1ha2UgQm9vdHN0cmFwIDMgcGFnaW5hdGlvbiBjb21wYXRpYmxlIHdpdGggQm9vdHN0cmFwIDRcblxuLmRyb3Bkb3duLW1lbnUgPiBsaTpub3QoLmRyb3Bkb3duLWl0ZW0pIHtcbiAgID4gYTpub3QoLmRyb3Bkb3duLWl0ZW0pIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRkcm9wZG93bi1saW5rLWxpbmUtaGVpZ2h0O1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItYmc7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUgPiBhOm5vdCguZHJvcGRvd24taXRlbSksXG4gID4gYTpub3QoLmRyb3Bkb3duLWl0ZW0pOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnO1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5kaXNhYmxlZCA+IGE6bm90KC5kcm9wZG93bi1pdGVtKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRHJvcGRvd24gdG9nZ2xlXG5cbi5kcm9wZG93bi10b2dnbGUge1xuICAmOjphZnRlcixcbiAgJjo6YmVmb3JlIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmOjphZnRlcixcbiAgLmRyb3B1cCAmOjphZnRlcixcbiAgLmRyb3ByaWdodCAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IC41ZW07XG4gIH1cblxuICAuZHJvcGxlZnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC41ZW07XG4gIH1cbn1cblxuQGluY2x1ZGUgcnRsLW9ubHkge1xuICAuZHJvcGRvd24tdG9nZ2xlOjphZnRlcixcbiAgLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNWVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmJlZm9yZSxcbiAgLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAuZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IC41ZW07XG5cbiAgICAgIEBpbmNsdWRlIGNhcmV0LXJpZ2h0O1xuICAgIH1cblxuICAgIC5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAuNWVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTmVzdGVkIGRyb3Bkb3duc1xuXG4uZHJvcGRvd24tbWVudSAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5kcm9wZG93bi1tZW51IC5kcm9wZG93bi10b2dnbGUgPiAuZHJvcGRvd24taXRlbSB7XG4gcG9zaXRpb246IHJlbGF0aXZlO1xuIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IChtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkgLSAxKSkge1xuICAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkpIHtcbiAgLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLXRvZ2dsZSA+IC5kcm9wZG93bi1pdGVtOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAvIDI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IC4zNzVyZW07XG4gICAgaGVpZ2h0OiAuMzc1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR0ZXh0LW11dGVkO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoMCwgLTUwJSk7XG5cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXggLyAyO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSgwLCAtNTAlKSBzY2FsZVgoLTEpO1xuICAgIH1cbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi10b2dnbGU6aG92ZXIgPiAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLWxpbmstaG92ZXItYmc7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuXG4gICAgICsgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUtcmlnaHQgLmRyb3Bkb3duLW1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cbiIsIi8vIE5hdlxuLy9cblxuQGluY2x1ZGUgcnRsLW9ubHkge1xuICAubmF2IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5uYXYtbGluayB7XG4gIGxpbmUtaGVpZ2h0OiAkbmF2LWxpbmstbGluZS1oZWlnaHQ7XG5cbiAgJi5kaXNhYmxlZCB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIFRhYiBhbmQgcGlsbHMgbGlua1xuLm5hdi10YWJzLFxuLm5hdi1waWxscyB7XG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAgIC5uYXYtbGluayB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1idG4tZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluazpub3QoLmFjdGl2ZSkge1xuICAgIGNvbG9yOiAkbmF2LWxpbmstY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KC5uYXYtZmlsbCk6bm90KC5uYXYtanVzdGlmaWVkKSAubmF2LWxpbmsge1xuICAgIG1hcmdpbi1yaWdodDogJG5hdi1zcGFjZXI7XG5cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRuYXYtc3BhY2VyO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluayAuYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7XG4gIH1cblxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbms6bm90KC5hY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgLm5hdi10YWJzIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAubmF2LXRhYnMgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5uYXYtdGFicyAubmF2LWxpbmsge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDAgMnB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cblxuICAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi10YWJzIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDJweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcyBlYXNlLW91dDtcbiAgfVxufVxuXG4vLyBUYWIgbGlua1xuLm5hdi10YWJzIC5uYXYtbGluayB7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEFsdGVybmF0aXZlIHRhYnNcblxuLm5hdi10YWJzLnRhYnMtYWx0IC5uYXYtbGluayxcbi50YWJzLWFsdCA+IC5uYXYtdGFicyAubmF2LWxpbmsge1xuICBib3JkZXItd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIExpZ2h0IG5hdnMgKG1hdGVyaWFsIG9ubHkpXG5cbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAkbWF0ZXJpYWwtbGlnaHQtbmF2LWxpbmstY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4gICRtYXRlcmlhbC1saWdodC1uYXYtbGluay1kaXNhYmxlZC1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiAgJG1hdGVyaWFsLWxpZ2h0LW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuICAkbWF0ZXJpYWwtbGlnaHQtbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiBudWxsICFkZWZhdWx0O1xuXG4gIC5uYXYtdGFicy5tZC10YWJzLWxpZ2h0LFxuICAubWQtdGFicy1saWdodCA+IC5uYXYtdGFicyxcbiAgLm1kLXRhYnMtbGlnaHQgPiBkaXYgPiAubmF2LXRhYnMsXG4gIC5uYXYtcGlsbHMubWQtcGlsbHMtbGlnaHQsXG4gIC5tZC1waWxscy1saWdodCA+IC5uYXYtcGlsbHMsXG4gIC5tZC1waWxscy1saWdodCA+IGRpdiA+IC5uYXYtcGlsbHMge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG1hdGVyaWFsLWxpZ2h0LW5hdi1saW5rLWNvbG9yO1xuICAgIH1cblxuICAgIC5uYXYtbGluazpob3ZlcixcbiAgICAubmF2LWxpbms6Zm9jdXMsXG4gICAgLm5hdi1saW5rLmZvY3VzLFxuICAgIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG1hdGVyaWFsLWxpZ2h0LW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIH1cblxuICAgIC5uYXYtbGluay5kaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJG1hdGVyaWFsLWxpZ2h0LW5hdi1saW5rLWRpc2FibGVkLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5hdi10YWJzLm1kLXRhYnMtbGlnaHQsXG4gIC5tZC10YWJzLWxpZ2h0ID4gLm5hdi10YWJzLFxuICAubWQtdGFicy1saWdodCA+IGRpdiA+IC5uYXYtdGFicyB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkbWF0ZXJpYWwtbGlnaHQtbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3IsICRtYXRlcmlhbC1saWdodC1uYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcikgIWltcG9ydGFudDtcblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJG1hdGVyaWFsLWxpZ2h0LW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYXRlcmlhbC1zdHlsZSAubmF2LXBpbGxzLm1kLXBpbGxzLWxpZ2h0LFxuICAubWF0ZXJpYWwtc3R5bGUgLm1kLXBpbGxzLWxpZ2h0ID4gLm5hdi1waWxscyxcbiAgLm1hdGVyaWFsLXN0eWxlIC5tZC1waWxscy1saWdodCA+IGRpdiA+IC5uYXYtcGlsbHMge1xuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbWF0ZXJpYWwtbGlnaHQtbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIGNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU2l6aW5nXG5cbi5uYXYtbGcge1xuICBAaW5jbHVkZSBhcHB3b3JrLW5hdi1zaXplKCRuYXYtbGluay1wYWRkaW5nLXktbGcsICRuYXYtbGluay1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRuYXYtbGluay1saW5lLWhlaWdodC1sZyk7XG59XG4ubmF2LXNtIHtcbiAgQGluY2x1ZGUgYXBwd29yay1uYXYtc2l6ZSgkbmF2LWxpbmstcGFkZGluZy15LXNtLCAkbmF2LWxpbmstcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkbmF2LWxpbmstbGluZS1oZWlnaHQtc20pO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFRhYmJlZCBwYW5lbHNcblxuLm5hdi10YWJzLXRvcCxcbi5uYXYtdGFicy1yaWdodCxcbi5uYXYtdGFicy1ib3R0b20sXG4ubmF2LXRhYnMtbGVmdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgID4gLm5hdixcbiAgID4gZGl2ID4gLm5hdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgID4gLm5hdiAubmF2LWxpbmssXG4gICA+IGRpdiA+IC5uYXYgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5uYXYtdGFicy1yaWdodCxcbi5uYXYtdGFicy1sZWZ0IHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgID4gLm5hdixcbiAgID4gZGl2ID4gLm5hdiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDA7XG4gIH1cblxuICAgPiAubmF2IC5uYXYtbGluayxcbiAgID4gZGl2ID4gLm5hdiAubmF2LWxpbmsge1xuICAgIG1hcmdpbjogMCAwICRuYXYtc3BhY2VyIDAgIWltcG9ydGFudDtcbiAgfVxuXG4gICA+IC50YWItY29udGVudCB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG59XG5cbi8vIFRvcCB0YWJzXG4ubmF2LXRhYnMtdG9wIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgPiAubmF2IC5uYXYtbGluayxcbiAgID4gZGl2ID4gLm5hdiAubmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgICB9XG4gIH1cbn1cblxuLy8gUmlnaHQgdGFic1xuLm5hdi10YWJzLXJpZ2h0IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICA+IC5uYXYgLm5hdi1pdGVtLFxuICAgPiBkaXYgPiAubmF2IC5uYXYtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAgPiAubmF2IC5uYXYtbGluayxcbiAgID4gZGl2ID4gLm5hdiAubmF2LWxpbmsge1xuICAgIEBpZiAkbWF0ZXJpYWwtc3R5bGUgIT0gdHJ1ZSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGJvcmRlci1yYWRpdXMgJGJvcmRlci1yYWRpdXMgMCk7XG5cbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMgMCAwICRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcblxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCb3R0b20gdGFic1xuLm5hdi10YWJzLWJvdHRvbSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcblxuICAgPiAubmF2IC5uYXYtaXRlbSxcbiAgID4gZGl2ID4gLm5hdiAubmF2LWl0ZW0ge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICA+IC5uYXYgLm5hdi1saW5rLFxuICAgPiBkaXYgPiAubmF2IC5uYXYtbGluayB7XG4gICAgQGlmICRtYXRlcmlhbC1zdHlsZSAhPSB0cnVlIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRib3JkZXItcmFkaXVzICRib3JkZXItcmFkaXVzKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG4gICAgfVxuICB9XG59XG5cbi8vIExlZnQgdGFic1xuLm5hdi10YWJzLWxlZnQge1xuICAgPiAubmF2IC5uYXYtaXRlbSxcbiAgID4gZGl2ID4gLm5hdiAubmF2LWl0ZW0ge1xuICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgfVxuXG4gICA+IC5uYXYgLm5hdi1saW5rLFxuICAgPiBkaXYgPiAubmF2IC5uYXYtbGluayB7XG4gICAgIEBpZiAkbWF0ZXJpYWwtc3R5bGUgIT0gdHJ1ZSB7XG4gICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyAwIDAgJGJvcmRlci1yYWRpdXMpO1xuXG4gICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cyAwKTtcbiAgICAgICB9XG4gICAgIH1cblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG5cbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVGFiIGNvbnRlbnRcblxuLm5hdi10YWJzLXRvcCA+IC50YWItY29udGVudCxcbi5uYXYtdGFicy1yaWdodCA+IC50YWItY29udGVudCxcbi5uYXYtdGFicy1ib3R0b20gPiAudGFiLWNvbnRlbnQsXG4ubmF2LXRhYnMtbGVmdCA+IC50YWItY29udGVudCB7XG4gIGZsZXgtc2hyaW5rOiAxO1xuICBib3JkZXI6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJveC1zaGFkb3c6ICRjYXJkLXNoYWRvdztcbn1cblxuLm5hdi10YWJzLXRvcCA+IC50YWItY29udGVudCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRib3JkZXItcmFkaXVzICRib3JkZXItcmFkaXVzKTtcbn1cblxuLm5hdi10YWJzLXJpZ2h0ID4gLnRhYi1jb250ZW50IHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyAwIDAgJGJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cyAwKTtcbiAgfVxufVxuXG4ubmF2LXRhYnMtYm90dG9tID4gLnRhYi1jb250ZW50IHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cyAwIDApO1xufVxuXG4ubmF2LXRhYnMtbGVmdCA+IC50YWItY29udGVudCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cyAwKTtcbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzIDAgMCAkYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBSZXNwb25zaXZlIG5hdlxuXG5AaW5jbHVkZSByZXNwb25zaXZlLWxvb3AtYmVmb3JlKCcubmF2LXJlc3BvbnNpdmUnKSB7XG4gICA+IC5uYXYsXG4gICA+IGRpdiA+IC5uYXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgLm5hdi1pdGVtIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgfVxuXG4gICAgJi5jYXJkLWhlYWRlci10YWJzLFxuICAgICYuY2FyZC1oZWFkZXItcGlsbHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTEgKiAkbmF2LXNwYWNlcjtcbiAgICB9XG4gIH1cblxuICAgPiAubmF2LXRhYnMsXG4gICA+IC5uYXYtcGlsbHMsXG4gICA+IGRpdiA+IC5uYXYtdGFicyxcbiAgID4gZGl2ID4gLm5hdi1waWxscyB7XG4gICAgLm5hdi1pdGVtIHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5uYXYtbGluayB7XG4gICAgICBtYXJnaW46IDAgMCAkbmF2LXNwYWNlciAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgID4gLm5hdi10YWJzOm5vdCgudGFicy1hbHQpLFxuICAgPiBkaXYgPiAubmF2LXRhYnM6bm90KC50YWJzLWFsdCkge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBAaWYgJG1hdGVyaWFsLXN0eWxlICE9IHRydWUge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJi5uYXYtdGFicy10b3AgPiAudGFiLWNvbnRlbnQsXG4gICYubmF2LXRhYnMtcmlnaHQgPiAudGFiLWNvbnRlbnQsXG4gICYubmF2LXRhYnMtYm90dG9tID4gLnRhYi1jb250ZW50LFxuICAmLm5hdi10YWJzLWxlZnQgPiAudGFiLWNvbnRlbnQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmLm5hdi10YWJzLWJvdHRvbSxcbiAgJi5uYXYtdGFicy1yaWdodCxcbiAgJi5uYXYtdGFicy1sZWZ0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIFBhZ2luYXRpb25cbi8vXG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLy8gQWRkIHNwYWNpbmcgYmV0d2VlbiBwYWdpbmF0aW9uIGl0ZW1zXG4ucGFnZS1pdGVtICsgLnBhZ2UtaXRlbSAucGFnZS1saW5rLFxuLnBhZ2luYXRpb24gbGkgKyBsaSA+IGE6bm90KC5wYWdlLWxpbmspIHtcbiAgbWFyZ2luLWxlZnQ6ICRwYWdpbmF0aW9uLXNwYWNlcjtcblxuICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgIG1hcmdpbi1yaWdodDogJHBhZ2luYXRpb24tc3BhY2VyO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5wYWdlLWxpbmssXG4ucGFnZS1saW5rID4gYSB7XG4gIG1pbi13aWR0aDogY2FsYygje1wiI3soJGZvbnQtc2l6ZS1iYXNlICogJHBhZ2luYXRpb24tbGluZS1oZWlnaHQpICsgKCRwYWdpbmF0aW9uLXBhZGRpbmcteSAqIDIpfSArICN7JHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoICogMn1cIn0pO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAkcGFnaW5hdGlvbi1saW5lLWhlaWdodCAhaW1wb3J0YW50O1xuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuXG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAgIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICB9XG59XG5cbi5wYWdlLWxpbmsuYnRuLXByaW1hcnkge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTWFrZSBCb290c3RyYXAgMyBwYWdpbmF0aW9uIGNvbXBhdGlibGUgd2l0aCBCb290c3RyYXAgNFxuXG4ucGFnaW5hdGlvbiA+IGxpID4gYTpub3QoLnBhZ2UtbGluaykge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBtaW4td2lkdGg6IGNhbGMoI3tcIiN7KCRmb250LXNpemUtYmFzZSAqICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0KSArICgkcGFnaW5hdGlvbi1wYWRkaW5nLXkgKiAyKX0gKyAjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aCAqIDJ9XCJ9KTtcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAkcGFnaW5hdGlvbi1saW5lLWhlaWdodCAhaW1wb3J0YW50O1xuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAgIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTWF0ZXJpYWwgcmlwcGxlXG5cbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAucGFnZS1saW5rIC53YXZlcy1yaXBwbGUsXG4gIC5wYWdpbmF0aW9uID4gbGkgLndhdmVzLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMSkgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYWdlLWxpbmsud2F2ZXMtZWZmZWN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmsgLndhdmVzLXJpcHBsZSxcbiAgLnBhZ2UtaXRlbS5kaXNhYmxlZCAucGFnZS1saW5rIC53YXZlcy1yaXBwbGUsXG4gIC5wYWdpbmF0aW9uID4gbGkuYWN0aXZlIC53YXZlcy1yaXBwbGUsXG4gIC5wYWdpbmF0aW9uID4gbGkuZGlzYWJsZWQgLndhdmVzLXJpcHBsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU2l6aW5nXG5cbi5wYWdpbmF0aW9uLWxnIC5wYWdlLWxpbmssXG4ucGFnaW5hdGlvbi1sZyA+IGxpID4gYTpub3QoLnBhZ2UtbGluaykge1xuICBtaW4td2lkdGg6IGNhbGMoI3tcIiN7KCRmb250LXNpemUtbGcgKiAkcGFnaW5hdGlvbi1saW5lLWhlaWdodCkgKyAoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnICogMil9ICsgI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggKiAyfVwifSk7XG5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWxpbmssXG4ucGFnaW5hdGlvbi1zbSA+IGxpID4gYTpub3QoLnBhZ2UtbGluaykge1xuICBtaW4td2lkdGg6IGNhbGMoI3tcIiN7KCRmb250LXNpemUtc20gKiAkcGFnaW5hdGlvbi1saW5lLWhlaWdodCkgKyAoJHBhZ2luYXRpb24tcGFkZGluZy15LXNtICogMil9ICsgI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggKiAyfVwifSk7XG5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBBbGVydHNcbi8vXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaWYgJGNvbG9yICE9IHByaW1hcnkgYW5kICRjb2xvciAhPSBsaWdodCB7XG4gICAgQGluY2x1ZGUgYXBwd29yay1hbGVydC12YXJpYW50KCcuYWxlcnQtI3skY29sb3J9JywgJHZhbHVlKTtcbiAgICBAaW5jbHVkZSBhcHB3b3JrLWFsZXJ0LWRhcmstdmFyaWFudCgnLmFsZXJ0LWRhcmstI3skY29sb3J9JywgJHZhbHVlKTtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFJUTFxuXG5AaW5jbHVkZSBydGwtb25seSB7XG4gIC5hbGVydC1kaXNtaXNzaWJsZSB7XG4gICAgcGFkZGluZy1yaWdodDogJGFsZXJ0LXBhZGRpbmcteDtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkY2xvc2UtZm9udC1zaXplICsgJGFsZXJ0LXBhZGRpbmcteCAqIDIpO1xuICB9XG5cbiAgLmFsZXJ0LWRpc21pc3NpYmxlIC5jbG9zZSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxufVxuIiwiLy8gVG9vbHRpcHNcbi8vXG5cbi50b29sdGlwLWlubmVyIHtcbiAgYm94LXNoYWRvdzogJHRvb2x0aXAtYm94LXNoYWRvdztcbn1cblxuLm1vZGFsLW9wZW4gLnRvb2x0aXAge1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLXRvcCArIDI7XG59XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaWYgJGNvbG9yICE9IHByaW1hcnkgYW5kICRjb2xvciAhPSBsaWdodCB7XG4gICAgQGluY2x1ZGUgYXBwd29yay10b29sdGlwLXZhcmlhbnQoJy50b29sdGlwLSN7JGNvbG9yfSwgLnRvb2x0aXAtI3skY29sb3J9ID4gLnRvb2x0aXAsIC5uZ2ItdG9vbHRpcC0jeyRjb2xvcn0gKyBuZ2ItdG9vbHRpcC13aW5kb3cnLCByZ2JhLXRvLWhleCgkdmFsdWUpKTtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE1hdGVyaWFsXG5cbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAudG9vbHRpcCB7XG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnRvb2x0aXAuYnMtdG9vbHRpcC10b3AsXG4gIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBhbmltYXRpb246IHRvcFRvb2x0aXBBbmltYXRpb24gLjI1cztcbiAgfVxuXG4gIC50b29sdGlwLmJzLXRvb2x0aXAtcmlnaHQsXG4gIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIGFuaW1hdGlvbjogcmlnaHRUb29sdGlwQW5pbWF0aW9uIC4yNXM7XG4gIH1cblxuICAudG9vbHRpcC5icy10b29sdGlwLWJvdHRvbSxcbiAgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIGFuaW1hdGlvbjogYm90dG9tVG9vbHRpcEFuaW1hdGlvbiAuMjVzO1xuICB9XG5cbiAgLnRvb2x0aXAuYnMtdG9vbHRpcC1sZWZ0LFxuICAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIGFuaW1hdGlvbjogbGVmdFRvb2x0aXBBbmltYXRpb24gLjI1cztcbiAgfVxufVxuIiwiLy8gUG9wb3ZlcnNcbi8vXG5cbi5wb3BvdmVyIHtcbiAgYm94LXNoYWRvdzogJHBvcG92ZXItYm94LXNoYWRvdztcblxuICAuYXJyb3cge1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cblxuLm1vZGFsLW9wZW4gLnBvcG92ZXIge1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLXRvcCArIDE7XG59XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaWYgJGNvbG9yICE9IHByaW1hcnkgYW5kICRjb2xvciAhPSBsaWdodCB7XG4gICAgQGluY2x1ZGUgYXBwd29yay1wb3BvdmVyLXZhcmlhbnQoJy5wb3BvdmVyLSN7JGNvbG9yfSwgLnBvcG92ZXItI3skY29sb3J9ID4gLnBvcG92ZXIsIC5uZ2ItcG9wb3Zlci0jeyRjb2xvcn0gKyBuZ2ItcG9wb3Zlci13aW5kb3cnLCByZ2JhLXRvLWhleCgkdmFsdWUpKTtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE1hdGVyaWFsXG5cbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAucG9wb3ZlciB7XG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBvcG92ZXItaGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIH1cblxuICAuYnMtcG9wb3Zlci10b3AsXG4gIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBhbmltYXRpb246IHRvcFRvb2x0aXBBbmltYXRpb24gLjI1cztcbiAgfVxuXG4gIC5icy1wb3BvdmVyLXJpZ2h0LFxuICAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBhbmltYXRpb246IHJpZ2h0VG9vbHRpcEFuaW1hdGlvbiAuMjVzO1xuICB9XG5cbiAgLmJzLXBvcG92ZXItYm90dG9tLFxuICAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgYW5pbWF0aW9uOiBib3R0b21Ub29sdGlwQW5pbWF0aW9uIC4yNXM7XG4gIH1cblxuICAuYnMtcG9wb3Zlci1sZWZ0LFxuICAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIGFuaW1hdGlvbjogbGVmdFRvb2x0aXBBbmltYXRpb24gLjI1cztcbiAgfVxufVxuIiwiLy8gRm9ybXNcbi8vXG5cbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAuZm9ybS1jb250cm9sIHtcbiAgICAkbWF0ZXJpYWwtaW5wdXQtZGlzYWJsZWQtY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4gICAgJG1hdGVyaWFsLWlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvcjogbnVsbCAhZGVmYXVsdDtcblxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJG1hdGVyaWFsLWlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRtYXRlcmlhbC1pbnB1dC1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIDpub3QoLmlucHV0LWdyb3VwKSA+IC5mb3JtLWNvbnRyb2w6bm90KFtjbGFzcyo9J3B4LSddKTpub3QoW2NsYXNzKj0ncGwtJ10pIHtcbiAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICA6bm90KC5pbnB1dC1ncm91cCkgPiAuZm9ybS1jb250cm9sOm5vdChbY2xhc3MqPSdweC0nXSk6bm90KFtjbGFzcyo9J3ByLSddKSB7XG4gICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU2l6aW5nXG5cbi5mb3JtLWNvbnRyb2wge1xuICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xufVxuXG4uZm9ybS1jb250cm9sLXNtLFxuLmlucHV0LWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wge1xuICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xufVxuXG4uZm9ybS1jb250cm9sLWxnLFxuLmlucHV0LWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wge1xuICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sW3NpemU9XCIwXCJdOm5vdChbbXVsdGlwbGVdKSB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodDtcbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbC1zbVtzaXplPVwiMFwiXTpub3QoW211bHRpcGxlXSkge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wtbGdbc2l6ZT1cIjBcIl06bm90KFttdWx0aXBsZV0pIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xufVxuXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1mb3JtLWNvbnRyb2wtc2l6ZSgnJywgJGlucHV0LWxpbmUtaGVpZ2h0LCAkaW5wdXQtYnRuLXBhZGRpbmcteSk7XG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtZm9ybS1jb250cm9sLXNpemUoJ3NtJywgJGlucHV0LWxpbmUtaGVpZ2h0LXNtLCAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSwgJGlucHV0LWJ0bi1mb250LXNpemUtc20pO1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWZvcm0tY29udHJvbC1zaXplKCdsZycsICRpbnB1dC1saW5lLWhlaWdodC1sZywgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcsICRpbnB1dC1idG4tZm9udC1zaXplLWxnKTtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBUZXh0XG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuXG4gIC5mb3JtLWlubGluZSAmIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEludmVydGVkXG5cbi5mb3JtLWNvbnRyb2wtaW52ZXJ0ZWQge1xuICBib3JkZXItY29sb3I6ICRpbnB1dC1pbnZlcnRlZC1ib3JkZXItY29sb3I7XG5cbiAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1pbnZlcnRlZC1iZztcbiAgICBjb2xvcjogJGlucHV0LWludmVydGVkLWNvbG9yO1xuICB9XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtaW52ZXJ0ZWQtcGxhY2Vob2xkZXItY29sb3I7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtaW52ZXJ0ZWQtZGlzYWJsZWQtYmcgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGlucHV0LWludmVydGVkLWRpc2FibGVkLWNvbG9yICFpbXBvcnRhbnQ7XG5cbiAgICBAaWYgJG1hdGVyaWFsLXN0eWxlICE9IHRydWUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtaW52ZXJ0ZWQtZGlzYWJsZWQtYmcgIWltcG9ydGFudDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRtYXRlcmlhbC1pbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1ib3JkZXItY29sb3I6IG51bGwgIWRlZmF1bHQ7XG5cbiAgICAgIGJvcmRlci1jb2xvcjogJG1hdGVyaWFsLWlucHV0LWludmVydGVkLWRpc2FibGVkLWJvcmRlci1jb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIG9wdGlvbiB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBMYWJlbHNcblxuLmZvcm0tbGFiZWwsXG4uY29sLWZvcm0tbGFiZWwsXG4uY29sLWZvcm0tbGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogaWYoJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIT0gMHB4LCBjYWxjKCN7JGlucHV0LWJ0bi1wYWRkaW5nLXl9IC0gI3skaW5wdXQtYnRuLWJvcmRlci13aWR0aCAqIDJ9KSwgJGlucHV0LWJ0bi1wYWRkaW5nLXkpO1xuICBmb250LXdlaWdodDogJGxhYmVsLWZvbnQtd2VpZ2h0O1xuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG59XG5cbi5jb2wtZm9ybS1sYWJlbCxcbi5jb2wtZm9ybS1sZWdlbmQge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1idG4tbGluZS1oZWlnaHQ7XG59XG5cbi5mb3JtLWxhYmVsLXNtLFxuLmNvbC1mb3JtLWxhYmVsLXNtLFxuLmNvbC1mb3JtLWxlZ2VuZC1zbSB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTtcbn1cblxuLmZvcm0tbGFiZWwtbGcsXG4uY29sLWZvcm0tbGFiZWwtbGcsXG4uY29sLWZvcm0tbGVnZW5kLWxnIHtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnO1xufVxuXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgLmZvcm0tbGFiZWwsXG4gIC5jb2wtZm9ybS1sYWJlbCxcbiAgLmNvbC1mb3JtLWxlZ2VuZCxcbiAgLmZvcm0tbGFiZWwtc20sXG4gIC5jb2wtZm9ybS1sYWJlbC1zbSxcbiAgLmNvbC1mb3JtLWxlZ2VuZC1zbSxcbiAgLmNvbC1mb3JtLWxhYmVsLWxnLFxuICAuY29sLWZvcm0tbGVnZW5kLWxnLFxuICAuZm9ybS1sYWJlbC1sZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuXG4uZm9ybS1jaGVjayB7XG4gIG1pbi1oZWlnaHQ6ICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlO1xuXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5AaW5jbHVkZSBydGwtb25seSB7XG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbmxpbmUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14O1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVmFsaWRhdGlvbiBzdGF0ZXNcblxuQGlmICRtYXRlcmlhbC1zdHlsZSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtZm9ybS12YWxpZGF0aW9uLXN0YXRlKFwidmFsaWRcIiwgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IpO1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWZvcm0tdmFsaWRhdGlvbi1zdGF0ZShcImludmFsaWRcIiwgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcik7XG59IEBlbHNlIHtcbiAgQGluY2x1ZGUgYXBwd29yay1mb3JtLXZhbGlkYXRpb24tc3RhdGUoXCJ2YWxpZFwiLCAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcik7XG4gIEBpbmNsdWRlIGFwcHdvcmstZm9ybS12YWxpZGF0aW9uLXN0YXRlKFwiaW52YWxpZFwiLCAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yKTtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBJbmxpbmUgZm9ybXNcblxuLmZvcm0taW5saW5lIC5jdXN0b20tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICBAaW5jbHVkZSBydGwtb25seSB7XG4gICAgLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDtcbiAgICB9XG4gIH1cbiAgLmZvcm0taW5saW5lIC5jdXN0b20tY29udHJvbCxcbiAgLmZvcm0taW5saW5lIC5jdXN0b20tc2VsZWN0LFxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC5mb3JtLWlubGluZSAuZm9ybS10ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLmZvcm0taW5saW5lIC5mb3JtLWxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIEN1c3RvbSBmb3Jtc1xuLy9cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBDdXN0b20gY29udHJvbFxuXG4uY3VzdG9tLWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcblxuICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tY29udHJvbC1ndXR0ZXI7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbi5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBJbmRpY2F0b3JcbiAgJjo6YmVmb3JlIHtcbiAgICB0b3A6IHB4LXRvLXJlbShmbG9vcihyZW0tdG8tcHgoKCgoJGxpbmUtaGVpZ2h0LWJhc2UgKiAkZm9udC1zaXplLWJhc2UpIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDIpKSkpO1xuICAgIGxlZnQ6IDA7XG4gICAgYm9yZGVyOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgICB9XG5cbiAgICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gTWF0ZXJpYWwgc2hhZG93XG4gICY6OmFmdGVyIHtcbiAgICBAaWYgJG1hdGVyaWFsLXN0eWxlICE9IHRydWUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBweC10by1yZW0oZmxvb3IocmVtLXRvLXB4KCgoKCRsaW5lLWhlaWdodC1iYXNlICogJGZvbnQtc2l6ZS1iYXNlKSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyKSkpKTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgLjA4KTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKSB0cmFuc2xhdGVaKDApO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDaGVja2JveCBpbmRpY2F0b3Jcbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXNpemU6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLXNpemU7XG59XG5cbi8vIFJhZGlvIGluZGljYXRvclxuLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtc2l6ZTogJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmctc2l6ZTtcbn1cblxuLy8gSW5kaWNhdG9yIHN0YXRlc1xuLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6YWN0aXZlIH4gJiB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDphY3RpdmU6bm90KDpjaGVja2VkKSB+ICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQgfiAmLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmN1c3RvbS1jb250cm9sLWlucHV0IH4gJiB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvciAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmcgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmNoZWNrZWQgfiAmLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZCB+ICYsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gTWF0ZXJpYWwgc3RhdGVzXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgLy8gU2hhZG93XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICAgIC5jdXN0b20tY29udHJvbC1pbnB1dDpmb2N1cyB+ICYge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMi4yNSkgdHJhbnNsYXRlWigwKTtcbiAgICB9XG5cbiAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6YWN0aXZlIH4gJiB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKSB0cmFuc2xhdGVaKDApO1xuICAgIH1cblxuICAgIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB+ICYsXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdIC5jdXN0b20tY29udHJvbC1pbnB1dCB+ICYge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEhpZGUgcmFkaW8gYnVsbGV0XG4gIC5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0Om5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwIDA7XG4gIH1cblxuICAuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc7XG4gIH1cbn1cblxuLmN1c3RvbS1jb250cm9scy1zdGFja2VkIC5jdXN0b20tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbn1cblxuQGluY2x1ZGUgcnRsLW9ubHkge1xuICAuY3VzdG9tLWNvbnRyb2wtaW5saW5lIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRjdXN0b20tY29udHJvbC1zcGFjZXIteDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEN1c3RvbSBzZWxlY3RcblxuLmN1c3RvbS1zZWxlY3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuXG4gICZbc2l6ZT1cIjBcIl06bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbiAgfVxuXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXJ0bCAhaW1wb3J0YW50O1xuXG4gICAgJixcbiAgICAmW3NpemU9XCIwXCJdOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJG1hdGVyaWFsLWlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRtYXRlcmlhbC1pbnB1dC1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBJbnZlcnRlZFxuLmN1c3RvbS1zZWxlY3QtaW52ZXJ0ZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItaW52ZXJ0ZWQgIWltcG9ydGFudDtcblxuICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1pbnZlcnRlZC1ydGwgIWltcG9ydGFudDtcbiAgfVxuXG4gICYsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1pbnZlcnRlZC1iZztcbiAgICBjb2xvcjogJGlucHV0LWludmVydGVkLWNvbG9yO1xuXG4gICAgQGlmICRtYXRlcmlhbC1zdHlsZSAhPSB0cnVlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRpbnB1dC1pbnZlcnRlZC1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1zZWxlY3QtaW52ZXJ0ZWQtZGlzYWJsZWQtYmcgIWltcG9ydGFudDtcblxuICAgIEBpZiAkbWF0ZXJpYWwtc3R5bGUgIT0gdHJ1ZSB7XG4gICAgICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtaW52ZXJ0ZWQtZGlzYWJsZWQtY29sb3IgIWltcG9ydGFudDtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG1hdGVyaWFsLWlucHV0LWludmVydGVkLWRpc2FibGVkLWJvcmRlci1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRpbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LWludmVydGVkLXBsYWNlaG9sZGVyLWNvbG9yO1xuICB9XG5cbiAgb3B0aW9uIHtcbiAgICBjb2xvcjogJGJvZHktY29sb3IgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBTaXppbmdcbkBpbmNsdWRlIGFwcHdvcmstY3VzdG9tLXNlbGVjdC1zaXplKCdzbScsICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbSwgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtLCAkaW5wdXQtaGVpZ2h0LXNtLCAkZm9udC1zaXplLXNtLCAkbGluZS1oZWlnaHQtc20pO1xuQGluY2x1ZGUgYXBwd29yay1jdXN0b20tc2VsZWN0LXNpemUoJ2xnJywgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnLCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGcsICRpbnB1dC1oZWlnaHQtbGcsICRmb250LXNpemUtbGcsICRsaW5lLWhlaWdodC1sZyk7XG5cbi8vIE1hdGVyaWFsIHN0eWxlXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgQGluY2x1ZGUgbHRyLW9ubHkge1xuICAgIDpub3QoLmlucHV0LWdyb3VwKSA+IC5jdXN0b20tc2VsZWN0Om5vdChbY2xhc3MqPSdweC0nXSk6bm90KFtjbGFzcyo9J3BsLSddKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgOm5vdCguaW5wdXQtZ3JvdXApID4gLmN1c3RvbS1zZWxlY3Q6bm90KFtjbGFzcyo9J3B4LSddKTpub3QoW2NsYXNzKj0ncHItJ10pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgICAmOm5vdChbc2l6ZV0pLFxuICAgICAgJltzaXplPVwiMFwiXSxcbiAgICAgICZbc2l6ZT1cIjFcIl0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgICA6bm90KC5pbnB1dC1ncm91cCkgPiAuY3VzdG9tLXNlbGVjdDpub3QoW2NsYXNzKj0ncHgtJ10pOm5vdChbY2xhc3MqPSdwbC0nXSkge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICA6bm90KC5pbnB1dC1ncm91cCkgPiAuY3VzdG9tLXNlbGVjdDpub3QoW2NsYXNzKj0ncHgtJ10pOm5vdChbY2xhc3MqPSdwci0nXSk6bm90KFttdWx0aXBsZV0pIHtcbiAgICAgICY6bm90KFtzaXplXSksXG4gICAgICAmW3NpemU9XCIwXCJdLFxuICAgICAgJltzaXplPVwiMVwiXSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE11bHRpcGxlIHNlbGVjdFxuLy9cblxuLmN1c3RvbS1zZWxlY3RbY2xhc3NdW211bHRpcGxlXSxcbi5jdXN0b20tc2VsZWN0W3NpemVdOm5vdChbc2l6ZT1cIjFcIl0pOm5vdChbc2l6ZT1cIjBcIl0pIHtcbiAgcGFkZGluZy1yaWdodDogaWYoJG1hdGVyaWFsLXN0eWxlLCAwLCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgpICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogaWYoJG1hdGVyaWFsLXN0eWxlLCAwLCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgpICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5jdXN0b20tc2VsZWN0LXNtLFxuLmlucHV0LWdyb3VwLXNtIC5jdXN0b20tc2VsZWN0IHtcbiAgJltjbGFzc11bbXVsdGlwbGVdLFxuICAmW3NpemVdOm5vdChbc2l6ZT1cIjFcIl0pOm5vdChbc2l6ZT1cIjBcIl0pIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBpZigkbWF0ZXJpYWwtc3R5bGUsIDAsICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbSkgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IGlmKCRtYXRlcmlhbC1zdHlsZSwgMCwgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtKSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5jdXN0b20tc2VsZWN0LWxnLFxuLmlucHV0LWdyb3VwLWxnIC5jdXN0b20tc2VsZWN0IHtcbiAgJltjbGFzc11bbXVsdGlwbGVdLFxuICAmW3NpemVdOm5vdChbc2l6ZT1cIjFcIl0pOm5vdChbc2l6ZT1cIjBcIl0pIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBpZigkbWF0ZXJpYWwtc3R5bGUsIDAsICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZykgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IGlmKCRtYXRlcmlhbC1zdHlsZSwgMCwgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnKSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRmlsZSBpbnB1dFxuXG4uY3VzdG9tLWZpbGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogMDtcblxuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAwIDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgfVxuXG4gIC5jdXN0b20tZmlsZS1pbnB1dDpkaXNhYmxlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1kaXNhYmxlZC1iZztcblxuICAgIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkbWF0ZXJpYWwtaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJG1hdGVyaWFsLWlucHV0LWRpc2FibGVkLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IC42NTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFN3aXRjaGVyc1xuLy9cblxuLnN3aXRjaGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogJHN3aXRjaGVyLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiA2MHJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICBAaW5jbHVkZSBhcHB3b3JrLXN3aXRjaGVyLXNpemUtYmFzZSgkc3dpdGNoZXItd2lkdGgsICRzd2l0Y2hlci1oZWlnaHQsICRzd2l0Y2hlci1mb250LXNpemUsICRzd2l0Y2hlci1sYWJlbC1mb250LXNpemUsICRzd2l0Y2hlci1sYWJlbC1saW5lLWhlaWdodCk7XG5cbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRzd2l0Y2hlci1zcGFjZXIteDtcbiAgfVxuXG4gIC5mb3JtLWlubGluZSAmIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogSW5wdXRcblxuLnN3aXRjaGVyLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEluZGljYXRvclxuXG4uc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiA2MHJlbTtcbiAgYmFja2dyb3VuZDogJHN3aXRjaGVyLW9mZi1iZztcbiAgY29sb3I6ICRzd2l0Y2hlci1vZmYtY29sb3I7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IC4ycztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbGVmdCwgcmlnaHQsIGJhY2tncm91bmQsIGJveC1zaGFkb3c7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgLjA4KTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKSB0cmFuc2xhdGVaKDApO1xuXG4gICAgICAuc3dpdGNoZXItaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgyLjI1KSB0cmFuc2xhdGVaKDApO1xuICAgICAgfVxuXG4gICAgICAuc3dpdGNoZXItaW5wdXQ6YWN0aXZlIH4gJiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlWigwKTtcbiAgICAgIH1cblxuICAgICAgLnN3aXRjaGVyLWlucHV0OmRpc2FibGVkIH4gJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBEZXNjcmlwdGlvblxuXG4uc3dpdGNoZXItbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAkc3dpdGNoZXItZ3V0dGVyO1xuICBjb2xvcjogJHN3aXRjaGVyLWxhYmVsLWNvbG9yO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc3dpdGNoZXItZ3V0dGVyO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENoZWNrZWQgLyBVbmNoZWNrZWQgc3RhdGVzXG5cbi5zd2l0Y2hlci1ubyxcbi5zd2l0Y2hlci15ZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMnM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsIHJpZ2h0O1xuXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgID4gKiB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXRlcmlhbC1zdHlsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zd2l0Y2hlci1ubyB7XG4gIGxlZnQ6IDA7XG5cbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG5cbi5zd2l0Y2hlci15ZXMge1xuICBsZWZ0OiAtMTAwJTtcblxuICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgIHJpZ2h0OiAtMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgLnN3aXRjaGVyLWlucHV0Om5vdCg6Y2hlY2tlZCkgfiAuc3dpdGNoZXItaW5kaWNhdG9yICYge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIENoZWNrZWQgc3RhdGVcbi5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XG4gIC5zd2l0Y2hlci1ubyB7XG4gICAgbGVmdDogMTAwJTtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLnN3aXRjaGVyLXllcyB7XG4gICAgbGVmdDogMDtcblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogSG9sZGVyXG5cbi5zd2l0Y2hlci1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6ICRzd2l0Y2hlci1ob2xkZXItYmc7XG4gIGJveC1zaGFkb3c6ICRzd2l0Y2hlci1ob2xkZXItc2hhZG93O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMnM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsIHJpZ2h0LCBiYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIERpc2FibGVkXG5cbi5zd2l0Y2hlci1pbnB1dDpkaXNhYmxlZCxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuc3dpdGNoZXItaW5wdXQge1xuICAgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgIH4gLnN3aXRjaGVyLWxhYmVsIHtcbiAgICBjb2xvcjogJHN3aXRjaGVyLWxhYmVsLWRpc2FibGVkLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFN0YWNrZWRcblxuLnN3aXRjaGVycy1zdGFja2VkIC5zd2l0Y2hlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2hlci1zcGFjZXIteTtcblxuICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU3F1YXJlXG5cbi5zd2l0Y2hlci1zcXVhcmUsXG4uc3dpdGNoZXItc3F1YXJlIC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dpdGNoZXItc3F1YXJlLWJvcmRlci1yYWRpdXM7XG4gIH0gQGVsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLnN3aXRjaGVyLXNxdWFyZSAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IGlmKCRtYXRlcmlhbC1zdHlsZSwgJHN3aXRjaGVyLXNxdWFyZS1ib3JkZXItcmFkaXVzLCBjYWxjKCN7JHN3aXRjaGVyLXNxdWFyZS1ib3JkZXItcmFkaXVzfSAtIDJweCkpO1xuICB9IEBlbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU2l6ZXNcblxuQGluY2x1ZGUgYXBwd29yay1zd2l0Y2hlci1zaXplKFwic21cIiwgJHN3aXRjaGVyLXdpZHRoLXNtLCAkc3dpdGNoZXItaGVpZ2h0LXNtLCAkc3dpdGNoZXItZm9udC1zaXplLCAkc3dpdGNoZXItbGFiZWwtZm9udC1zaXplLXNtLCAkc3dpdGNoZXItbGFiZWwtbGluZS1oZWlnaHQtc20pO1xuQGluY2x1ZGUgYXBwd29yay1zd2l0Y2hlci1zaXplKFwibGdcIiwgJHN3aXRjaGVyLXdpZHRoLWxnLCAkc3dpdGNoZXItaGVpZ2h0LWxnLCAkc3dpdGNoZXItZm9udC1zaXplLCAkc3dpdGNoZXItbGFiZWwtZm9udC1zaXplLWxnLCAkc3dpdGNoZXItbGFiZWwtbGluZS1oZWlnaHQtbGcpO1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFZhcmlhdGlvbnNcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpZiAkY29sb3IgIT0gcHJpbWFyeSBhbmQgJGNvbG9yICE9IGxpZ2h0IHtcbiAgICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgICAgIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdmFyaWFudCgnLnN3aXRjaGVyLSN7JGNvbG9yfScsICR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBhcHB3b3JrLXN3aXRjaGVyLXZhcmlhbnQoJy5zd2l0Y2hlci0jeyRjb2xvcn0nLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFZhbGlkYXRpb24gc3RhdGVzXG5cbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXZhbGlkYXRpb24tc3RhdGUoXCJ2YWxpZFwiLCAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcik7XG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdmFsaWRhdGlvbi1zdGF0ZShcImludmFsaWRcIiwgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcik7XG59IEBlbHNlIHtcbiAgQGluY2x1ZGUgYXBwd29yay1zd2l0Y2hlci12YWxpZGF0aW9uLXN0YXRlKFwidmFsaWRcIiwgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IpO1xuICBAaW5jbHVkZSBhcHB3b3JrLXN3aXRjaGVyLXZhbGlkYXRpb24tc3RhdGUoXCJpbnZhbGlkXCIsICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IpO1xufVxuIiwiLy8gSW5wdXQgZ3JvdXBzXG4vL1xuXG4uaW5wdXQtZ3JvdXAgLmN1c3RvbS1zZWxlY3Qge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBNYXRlcmlhbFxuXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgLmlucHV0LWdyb3VwLXRleHQge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgfVxuXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQge1xuICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1wcmVwZW5kIC5pbnB1dC1ncm91cC10ZXh0OmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dDpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYXBwZW5kIC5pbnB1dC1ncm91cC10ZXh0Omxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1hcHBlbmQgLmlucHV0LWdyb3VwLXRleHQ6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2w6Zmlyc3QtY2hpbGQsXG4gIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tc2VsZWN0OmZpcnN0LWNoaWxkLFxuICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbCxcbiAgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCArIC5jdXN0b20tc2VsZWN0LFxuICAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCArIC5mb3JtLWNvbnRyb2wsXG4gIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tc2VsZWN0ICsgLmN1c3RvbS1zZWxlY3Qge1xuICAgICY6bm90KFtjbGFzcyo9J3B4LSddKTpub3QoW2NsYXNzKj0ncGwtJ10pIHtcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbDpsYXN0LWNoaWxkOm5vdChbY2xhc3MqPSdweC0nXSk6bm90KFtjbGFzcyo9J3ByLSddKSB7XG4gICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3Q6bGFzdC1jaGlsZDpub3QoW2NsYXNzKj0ncHgtJ10pOm5vdChbY2xhc3MqPSdwci0nXSkge1xuICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogUlRMXG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgLy8gUmVzZXQgaW5wdXQgYm9yZGVyIHJhZGl1c1xuXG4gIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sLFxuICAuaW5wdXQtZ3JvdXAgLmN1c3RvbS1zZWxlY3QsXG4gIC5pbnB1dC1ncm91cCAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gIC5pbnB1dC1ncm91cCAuY3VzdG9tLWZpbGUtbGFiZWw6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50KTtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wsXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICAuaW5wdXQtZ3JvdXAtc20gJiB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtICFpbXBvcnRhbnQpO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cC1sZyAmIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcgIWltcG9ydGFudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgYWRkb24gYm9yZGVyIHJhZGl1c1xuXG4gIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kLFxuICAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgICAuYnRuLFxuICAgIC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudCk7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQsXG4gIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQge1xuICAgIC5idG4sXG4gICAgLmlucHV0LWdyb3VwLXRleHQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSAhaW1wb3J0YW50KTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCxcbiAgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCB7XG4gICAgLmJ0bixcbiAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnICFpbXBvcnRhbnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBib3JkZXIgcmFkaXVzXG5cbiAgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wsXG4gIC5pbnB1dC1ncm91cCAuY3VzdG9tLXNlbGVjdCB7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwICFpbXBvcnRhbnQpO1xuICAgIH1cblxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwICFpbXBvcnRhbnQpO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cCAuY3VzdG9tLWZpbGUge1xuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwICFpbXBvcnRhbnQpO1xuICAgIH1cblxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwICFpbXBvcnRhbnQpO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuLFxuICAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbiAgLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpLFxuICAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmItZHJvcGRvd24gPiAuYnRuLFxuICAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5iLWRyb3Bkb3duID4gLmJ0bixcbiAgLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuYi1kcm9wZG93bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sXG4gIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmItZHJvcGRvd24gPiAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDAgIWltcG9ydGFudCk7XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4gIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4sXG4gIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmxhc3QtY2hpbGQpLFxuICAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5iLWRyb3Bkb3duID4gLmJ0bixcbiAgLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmItZHJvcGRvd24gPiAuYnRuLFxuICAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYi1kcm9wZG93bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSA+IC5idG4sXG4gIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5iLWRyb3Bkb3duOm5vdCg6bGFzdC1jaGlsZCkgPiAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCAhaW1wb3J0YW50KTtcbiAgfVxuXG4gIC8vIE1hcmdpbnNcblxuICAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCxcbiAgLmlucHV0LWdyb3VwIC5jdXN0b20tc2VsZWN0LFxuICAuaW5wdXQtZ3JvdXAgLmN1c3RvbS1maWxlIHtcbiAgICAgKyAuZm9ybS1jb250cm9sLFxuICAgICArIC5jdXN0b20tc2VsZWN0LFxuICAgICArIC5jdXN0b20tZmlsZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLXByZXBlbmQsXG4gIC5pbnB1dC1ncm91cC1hcHBlbmQge1xuICAgIC5idG4gKyAuYnRuLFxuICAgIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgICAuaW5wdXQtZ3JvdXAtdGV4dCArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAgIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0biB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLXByZXBlbmQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG4iLCIvLyBNb2RhbHNcbi8vXG5cbi5tb2RhbCB7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtdG9wO1xufVxuXG4ubW9kYWwtYmFja2Ryb3Age1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLXRvcCAtIDE7XG59XG5cbi5tb2RhbC1jb250ZW50IHtcbiAgYm94LXNoYWRvdzogJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cztcblxuICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi5tb2RhbC1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICgkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCArIDFyZW0pIGlmKCRtYXRlcmlhbC1zdHlsZSwgMCwgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICRtb2RhbC1oZWFkZXItcGFkZGluZy14O1xuXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgcGFkZGluZy1yaWdodDogJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg7XG4gICAgcGFkZGluZy1sZWZ0OiAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCArIDFyZW07XG4gIH1cbn1cblxuLm1vZGFsLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRtb2RhbC1mb290ZXItcGFkZGluZztcblxuICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICA+ICoge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLjI1cmVtO1xuICAgIH1cblxuICAgICA+IDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuMjVyZW07XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQ2xvc2UgYnV0dG9uXG5cbi5tb2RhbC1oZWFkZXIgLmNsb3NlLFxuLm1vZGFsLXNsaWRlIC5jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcblxuICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6ICRtb2RhbC1oZWFkZXItcGFkZGluZy14O1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogUmVzcG9uc2l2ZVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBib3gtc2hhZG93OiAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwO1xuICB9XG5cbiAgbmdiLW1vZGFsLXdpbmRvdy5tb2RhbC1zbSB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG4gIC5tb2RhbC1zbSAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1zbTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIG5nYi1tb2RhbC13aW5kb3cubW9kYWwtbGcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuICAubW9kYWwtbGcgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbGc7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBUb3AgbW9kYWxzXG5cbi5tb2RhbC10b3Age1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDAgIWltcG9ydGFudCk7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTbGlkZSBtb2RhbHNcblxuLm1vZGFsLXNsaWRlLFxuLm1vZGFsLXNsaWRlIC5tb2RhbCB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4ubW9kYWwtc2xpZGUge1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAobWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgc20pKSkge1xuICAgICAgd2lkdGg6ICRtb2RhbC1zbGlkZS13aWR0aDtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgcGFkZGluZy10b3A6ICgkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQgKiAkY2xvc2UtZm9udC1zaXplKSArICRtb2RhbC1oZWFkZXItcGFkZGluZy15O1xuICAgIHBhZGRpbmctYm90dG9tOiAoJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICogJGNsb3NlLWZvbnQtc2l6ZSkgKyAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuXG4gIC5tb2RhbC1ib2R5IHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cblxuICAuY2xvc2Uge1xuICAgIHRvcDogJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgLyAyO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEZpbGwtSW4gbW9kYWxzXG5cbi5tb2RhbC1maWxsLWluIHtcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nLXRvcDogKCRtb2RhbC10aXRsZS1saW5lLWhlaWdodCAqICRjbG9zZS1mb250LXNpemUpICsgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk7XG4gICAgcGFkZGluZy1ib3R0b206ICgkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQgKiAkY2xvc2UtZm9udC1zaXplKSArICRtb2RhbC1oZWFkZXItcGFkZGluZy15O1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTJyZW07XG4gICAgcmlnaHQ6ICRtb2RhbC1oZWFkZXItcGFkZGluZy14O1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteDtcbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBBbmltYXRpb25zXG5cbi8vIERlZmF1bHRcblxuLm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNTBweCkgc2NhbGUoLjgpO1xufVxuXG4ubW9kYWwuc2hvdyAubW9kYWwtZGlhbG9nIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xufVxuXG4vLyBUb3BcblxuLm1vZGFsLXRvcC5mYWRlIC5tb2RhbC1kaWFsb2csXG4ubW9kYWwtdG9wIC5tb2RhbC5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xufVxuXG4ubW9kYWwtdG9wLnNob3cgLm1vZGFsLWRpYWxvZyxcbi5tb2RhbC10b3AgLm1vZGFsLnNob3cgLm1vZGFsLWRpYWxvZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLy8gU2xpZGVcblxuLm1vZGFsLXNsaWRlLmZhZGUgLm1vZGFsLWRpYWxvZyxcbi5tb2RhbC1zbGlkZSAubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9nIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxufVxuXG4ubW9kYWwtc2xpZGUuc2hvdyAubW9kYWwtZGlhbG9nLFxuLm1vZGFsLXNsaWRlIC5tb2RhbC5zaG93IC5tb2RhbC1kaWFsb2cge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgIWltcG9ydGFudDtcbn1cblxuLy8gRmlsbC1JblxuXG4ubW9kYWwtZmlsbC1pbi5mYWRlIC5tb2RhbC1kaWFsb2csXG4ubW9kYWwtZmlsbC1pbiAubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSguNSwgLjUpO1xufVxuXG4ubW9kYWwtZmlsbC1pbi5zaG93IC5tb2RhbC1kaWFsb2csXG4ubW9kYWwtZmlsbC1pbiAubW9kYWwuc2hvdyAubW9kYWwtZGlhbG9nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcbn1cbiIsIi8vIEJyZWFkY3J1bWJzXG4vL1xuXG4uYnJlYWRjcnVtYi1pdGVtLFxuLmJyZWFkY3J1bWItaXRlbSBhIHtcbiAgY29sb3I6ICRicmVhZGNydW1iLWNvbG9yO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogUlRMXG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06OmJlZm9yZSB7XG4gICAgY29udGVudDogXCIjeyRicmVhZGNydW1iLWRpdmlkZXItcnRsfVwiO1xuICB9XG59XG4iLCIvLyBMaXN0IGdyb3Vwc1xuLy9cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpZiAkY29sb3IgIT0gcHJpbWFyeSBhbmQgJGNvbG9yICE9IGxpZ2h0IHtcbiAgICBAaW5jbHVkZSBhcHB3b3JrLWxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCcubGlzdC1ncm91cC1pdGVtLSN7JGNvbG9yfScsICR2YWx1ZSk7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBSVExcblxuQGluY2x1ZGUgcnRsLW9ubHkge1xuICAubGlzdC1ncm91cCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuIiwiLy8gTmF2YmFyXG4vL1xuXG4ubmF2YmFyIHtcbiAgei1pbmRleDogMjtcbn1cblxuLmZpeGVkLXRvcCB7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgLm5hdmJhci1uYXYge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAubmF2YmFyLWJyYW5kIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRuYXZiYXItcGFkZGluZy14O1xuICB9XG59XG5cbi5uYXZiYXIubmF2YmFyLWRhcmsge1xuICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xufVxuXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgY29sb3I6ICRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xufVxuXG4ubmF2YmFyLm5hdmJhci1saWdodCB7XG4gIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xufVxuXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5kaXNhYmxlZCB7XG4gIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi8vIElFIGZpeFxuLm5hdmJhci1jb2xsYXBzZSxcbi5uYXZiYXItYnJhbmQsXG4ubmF2YmFyLXRleHQge1xuICBmbGV4LXNocmluazogMTtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBSdWxlcnNcblxuLm5hdmJhci1kYXJrIGhyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKTtcbn1cblxuLm5hdmJhci1saWdodCBociB7XG4gIGJvcmRlci1jb2xvcjogJGdyYXktMTAwO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEljb25zXG5cbi5uYXZiYXItaWNvbiB7XG4gIGZvbnQtc2l6ZTogMTMwJTtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTZWFyY2ggYm94XG5cbi5uYXZiYXItc2VhcmNoLWJveCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcblxuICAmOm5vdCguYWN0aXZlKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi5uYXZiYXItc2VhcmNoLWlucHV0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiAwO1xuICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggLjNzIGVhc2UtaW4tb3V0O1xuXG4gIC5uYXZiYXItc2VhcmNoLWJveC5hY3RpdmUgJiB7XG4gICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuXG4gICAgLm5hdmJhci1kYXJrICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I7XG4gICAgfVxuXG4gICAgLm5hdmJhci1saWdodCAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLm5hdmJhci1zZWFyY2gtY2FuY2VsIHtcbiAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgZm9udC1zaXplOiAxLjU1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBvcGFjaXR5OiAuNTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5uYXZiYXItZXhwYW5kIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgLm5hdmJhci1zZWFyY2gtYm94Lm5hdi1saW5rIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgIC5uYXZiYXItc2VhcmNoLWlucHV0IHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItc2VhcmNoLWlucHV0IC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLXNlYXJjaC1jYW5jZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYubmF2YmFyLWRhcmsgLm5hdmJhci1zZWFyY2gtYm94IHtcbiAgICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5uYXZiYXItbGlnaHQgLm5hdmJhci1zZWFyY2gtYm94IHtcbiAgICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE1lZ2EgZHJvcGRvd25cblxuLm1lZ2EtZHJvcGRvd24ge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG4iLCIvLyBDYXJkc1xuLy9cblxuLmNhcmQge1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3gtc2hhZG93OiAkY2FyZC1zaGFkb3c7XG59XG5cbi5jYXJkLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgLmNhcmQtbGluayArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1yaWdodDogJGNhcmQtc3BhY2VyLXg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmNhcmQtaGVhZGVyIHtcbiAgbGluZS1oZWlnaHQ6ICRjb21wb25lbnQtbGluZS1oZWlnaHQ7XG5cbiAgQGlmICRtYXRlcmlhbC1zdHlsZSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICB9XG59XG5cbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgfVxufVxuXG4vLyBJbm5lciBib3JkZXJzXG5cbi5jYXJkLWhlYWRlcixcbi5jYXJkLWZvb3Rlcixcbi5jYXJkIGhyIHtcbiAgYm9yZGVyLWNvbG9yOiAkY2FyZC1pbm5lci1ib3JkZXItY29sb3I7XG59XG5cbi5jYXJkIC5saXN0LWdyb3VwLWl0ZW0ge1xuICBib3JkZXItY29sb3I6IHJnYmEtdG8taGV4KCRjYXJkLWlubmVyLWJvcmRlci1jb2xvcik7XG59XG5cbi5jYXJkIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3NePVwiY29sLVwiXSxcbi5jYXJkIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MqPVwiIGNvbC1cIl0sXG4uY2FyZCAucm93LWJvcmRlcmVkID4gW2NsYXNzXj1cImNvbCBcIl0sXG4uY2FyZCAucm93LWJvcmRlcmVkID4gW2NsYXNzKj1cIiBjb2wgXCJdLFxuLmNhcmQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyQ9XCIgY29sXCJdLFxuLmNhcmQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcz1cImNvbFwiXSB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogJGNhcmQtaW5uZXItYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogSGVhZGVyIC8gVGl0bGUgd2l0aCBlbGVtZW50cyhjb250cm9scylcblxuLmNhcmQtaGVhZGVyLndpdGgtZWxlbWVudHMsXG4uY2FyZC10aXRsZS53aXRoLWVsZW1lbnRzIHtcbiAgZGlzcGxheTogZmxleDtcblxuICB3aWR0aDogMTAwJTtcblxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5jYXJkLWhlYWRlci53aXRoLWVsZW1lbnRzIHtcbiAgcGFkZGluZy10b3A6ICRjYXJkLXNwYWNlci15IC8gMjtcbiAgcGFkZGluZy1ib3R0b206ICRjYXJkLXNwYWNlci15IC8gMjtcbn1cblxuLmNhcmQtaGVhZGVyLWVsZW1lbnRzLFxuLmNhcmQtdGl0bGUtZWxlbWVudHMge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICAmICsgJixcbiAgPiAqICsgKiB7XG4gICAgbWFyZ2luLWxlZnQ6IC4yNXJlbTtcblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC4yNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4uY2FyZC1oZWFkZXItdGl0bGUge1xuICBwYWRkaW5nOiAoJGNhcmQtc3BhY2VyLXkgLyAyKSAwO1xufVxuXG4uY2FyZC1oZWFkZXItZWxlbWVudHMge1xuICBwYWRkaW5nLXRvcDogLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogLjI1cmVtO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIExpc3QgZ3JvdXBzXG5cbi5jYXJkID4gLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRjYXJkLXNwYWNlci14O1xuICBwYWRkaW5nLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENvbmRlbmNlZFxuXG4uY2FyZC1jb25kZW5jZWQge1xuICAuY2FyZC1oZWFkZXIsXG4gIC5jYXJkLWZvb3RlcixcbiAgPiAubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1zcGFjZXIteC1zbTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLXNwYWNlci14LXNtO1xuICB9XG5cbiAgLmNhcmQtYm9keSxcbiAgLmNhcmQtaW1nLW92ZXJsYXkge1xuICAgIHBhZGRpbmc6ICRjYXJkLXNwYWNlci14LXNtO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogSG92ZXJhYmxlXG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmNhcmQtaG92ZXJbY2xhc3NdLFxuaHRtbFtkaXI9cnRsXSAuY2FyZC1ob3ZlcltjbGFzc10ge1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xuXG4gICY6bm90KDpob3Zlcikge1xuICAgIGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFJUTFxuXG5AaW5jbHVkZSBydGwtb25seSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAuY2FyZC1ncm91cCAuY2FyZCB7XG4gICAgICBib3JkZXI6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzO1xuXG4gICAgICArIC5jYXJkIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgIC5jYXJkLWdyb3VwIC5jYXJkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgIC5jYXJkLWltZy10b3Age1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZC1pbWctYm90dG9tIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jYXJkLWdyb3VwIC5jYXJkOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuXG4gICAgICAgIC5jYXJkLWltZy10b3Age1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNhcmQtZ3JvdXAgLmNhcmQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQWNjb3JkaW9uc1xuLy9cblxuLm5nYi1hY2NvcmRpb24td2l0aC1pY29uIC5jYXJkLWhlYWRlciA+IGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5jb2xsYXBzZS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB3aWR0aDogLjg3NXJlbTtcbiAgaGVpZ2h0OiAuODc1cmVtO1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogLS4yNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLS4yNXJlbTtcbiAgICB3aWR0aDogLjVyZW07XG4gICAgaGVpZ2h0OiAuNXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAuMDYyNXJlbSBzb2xpZCAkZ3JheS00MDA7XG4gICAgYm9yZGVyLWxlZnQ6IC4wNjI1cmVtIHNvbGlkICRncmF5LTQwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cbiAgICBbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gJiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ2Fyb3VzZWxcbi8vXG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsXG4gIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXG4gICAgQHN1cHBvcnRzICh0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJvdXNlbC1pdGVtLW5leHQsXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblxuICAgIEBzdXBwb3J0cyAodHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgfVxuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0tcHJldixcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblxuICAgIEBzdXBwb3J0cyAodHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB9XG4gIH1cblxuICAuY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyAvLyBvdmVycmlkZSA8b2w+IGRlZmF1bHRcbiAgfVxuXG4gIC5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbiAgLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gIH1cbn1cbiIsIi8vIENsb3NlIGJ1dHRvbnNcbi8vXG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgLmNsb3NlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuIiwiLy8gRm9vdGVyXG4vL1xuXG4uZm9vdGVyLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8vIERhcmsgZm9vdGVyXG4uZm9vdGVyLWRhcmsge1xuICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuXG4gIC5mb290ZXItbGluayB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstaG92ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmZvb3Rlci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgfVxuXG4gIC5zaG93ID4gLmZvb3Rlci1saW5rLFxuICAuYWN0aXZlID4gLmZvb3Rlci1saW5rLFxuICAuZm9vdGVyLWxpbmsuc2hvdyxcbiAgLmZvb3Rlci1saW5rLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gIH1cblxuICBociB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc2lkZW5hdi1kYXJrLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG4vLyBMaWdodCBmb290ZXJcbi5mb290ZXItbGlnaHQge1xuICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAuZm9vdGVyLWxpbmsge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5mb290ZXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICB9XG5cbiAgLnNob3cgPiAuZm9vdGVyLWxpbmssXG4gIC5hY3RpdmUgPiAuZm9vdGVyLWxpbmssXG4gIC5mb290ZXItbGluay5zaG93LFxuICAuZm9vdGVyLWxpbmsuYWN0aXZlIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gIH1cblxuICBociB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc2lkZW5hdi1saWdodC1ib3JkZXItY29sb3I7XG4gIH1cbn1cbiIsIi5zaWRlbmF2IHtcbiAgZGlzcGxheTogZmxleDtcblxuICAucHNfX3RodW1iLXksXG4gIC5wc19fcmFpbC15IHtcbiAgICB3aWR0aDogLjEyNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBzX19yYWlsLXkge1xuICAgIHJpZ2h0OiAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBsZWZ0OiAuMjVyZW0gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAucHNfX3JhaWwteTpob3ZlcixcbiAgLnBzX19yYWlsLXk6Zm9jdXMsXG4gIC5wc19fcmFpbC15LnBzLS1jbGlja2luZyxcbiAgLnBzX19yYWlsLXk6aG92ZXIgPiAucHNfX3RodW1iLXksXG4gIC5wc19fcmFpbC15OmZvY3VzID4gLnBzX190aHVtYi15LFxuICAucHNfX3JhaWwteS5wcy0tY2xpY2tpbmcgPiAucHNfX3RodW1iLXkge1xuICAgIHdpZHRoOiAuMzc1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnNpZGVuYXYtaW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5zaWRlbmF2LWl0ZW0sXG4uc2lkZW5hdi1oZWFkZXIsXG4uc2lkZW5hdi1kaXZpZGVyLFxuLnNpZGVuYXYtYmxvY2sge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uc2lkZW5hdi1pdGVtIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAmLnNpZGVuYXYtaXRlbS1hbmltYXRpbmcge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAkc2lkZW5hdi1hbmltYXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQ7XG4gIH1cbn1cblxuLnNpZGVuYXYtaXRlbSAuc2lkZW5hdi1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4OiAwIDEgYXV0bztcblxuICAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+ICYge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaWJvbGQ7XG4gIH1cblxuICAuc2lkZW5hdi1pdGVtLmRpc2FibGVkICYge1xuICAgIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNpZGVuYXY6bm90KC5zaWRlbmF2LW5vLWFuaW1hdGlvbikgJiB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHNpZGVuYXYtYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG5cbiAgID4gOm5vdCguc2lkZW5hdi1pY29uKSB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbn1cblxuLnNpZGVuYXYtdG9nZ2xlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG5cbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gIH1cblxuICAuc2lkZW5hdi1pdGVtLm9wZW46bm90KC5zaWRlbmF2LWl0ZW0tY2xvc2luZykgPiAmIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC00NWRlZyk7XG5cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICB9XG5cbiAgLnNpZGVuYXY6bm90KC5zaWRlbmF2LW5vLWFuaW1hdGlvbikgJiB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHNpZGVuYXYtYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCB0cmFuc2Zvcm07XG4gIH1cbn1cblxuLnNpZGVuYXYtbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICAuc2lkZW5hdjpub3QoLnNpZGVuYXYtbm8tYW5pbWF0aW9uKSAmIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjtcbiAgfVxuXG4gIC5zaWRlbmF2LWl0ZW0ub3BlbiA+ICYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLnNpZGVuYXYtaWNvbiB7XG4gIGZsZXgtZ3JvdzogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbi1yaWdodDogJHNpZGVuYXYtaWNvbi1leHBhbmRlZC1zcGFjZXI7XG4gIGZvbnQtc2l6ZTogJHNpZGVuYXYtaWNvbi1leHBhbmRlZC1mb250LXNpemU7XG5cbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRzaWRlbmF2LWljb24tZXhwYW5kZWQtc3BhY2VyO1xuICB9XG59XG5cbi5zaWRlbmF2LWRpdmlkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQ7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVmVydGljYWxcblxuLnNpZGVuYXYtdmVydGljYWwge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICY6bm90KC5zaWRlbmF2LW5vLWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246IHdpZHRoICRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjtcbiAgfVxuXG4gICYsXG4gIC5zaWRlbmF2LWJsb2NrLFxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0sXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaGVhZGVyIHtcbiAgICB3aWR0aDogJHNpZGVuYXYtd2lkdGg7XG4gIH1cblxuICAuc2lkZW5hdi1pbm5lciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgICA+IC5zaWRlbmF2LWl0ZW0ge1xuICAgICAgbWFyZ2luOiAkc2lkZW5hdi1pdGVtLXNwYWNlciAwO1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlbmF2LWl0ZW0gLnNpZGVuYXYtbGluayxcbiAgLnNpZGVuYXYtaGVhZGVyLFxuICAuc2lkZW5hdi1ibG9jayB7XG4gICAgcGFkZGluZzogJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXkgJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXg7XG4gIH1cblxuICAuc2lkZW5hdi1kaXZpZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteTtcbiAgICBtYXJnaW4tYm90dG9tOiAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLnNpZGVuYXYtaXRlbSAuc2lkZW5hdi10b2dnbGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoI3skc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteH0gKyAjeyRjYXJldC13aWR0aCAqIDN9KTtcblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteDtcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYygjeyRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14fSArICN7JGNhcmV0LXdpZHRoICogM30pO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteDtcblxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6ICRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zaWRlbmF2LW1lbnUge1xuICAgIHBhZGRpbmctdG9wOiAkc2lkZW5hdi12ZXJ0aWNhbC1tZW51LWxpbmstcGFkZGluZy15O1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2lkZW5hdi12ZXJ0aWNhbC1tZW51LWxpbmstcGFkZGluZy15O1xuXG4gICAgLnNpZGVuYXYtbGluayB7XG4gICAgICBwYWRkaW5nLXRvcDogJHNpZGVuYXYtdmVydGljYWwtbWVudS1saW5rLXBhZGRpbmcteTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkc2lkZW5hdi12ZXJ0aWNhbC1tZW51LWxpbmstcGFkZGluZy15O1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlbmF2LWljb24ge1xuICAgIHdpZHRoOiAkc2lkZW5hdi1pY29uLWV4cGFuZGVkLXdpZHRoO1xuICB9XG5cbiAgLnNpZGVuYXYtbWVudSAuc2lkZW5hdi1pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gTGV2ZWxzXG4gIC8vXG5cbiAgJHNpZGVuYXYtZmlyc3QtbGV2ZWwtc3BhY2VyOiAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteCArICRzaWRlbmF2LWljb24tZXhwYW5kZWQtd2lkdGggKyAkc2lkZW5hdi1pY29uLWV4cGFuZGVkLXNwYWNlcjtcblxuICAuc2lkZW5hdi1tZW51IC5zaWRlbmF2LWxpbmsge1xuICAgIHBhZGRpbmctbGVmdDogJHNpZGVuYXYtZmlyc3QtbGV2ZWwtc3BhY2VyO1xuXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRzaWRlbmF2LWZpcnN0LWxldmVsLXNwYWNlcjtcbiAgICAgIHBhZGRpbmctbGVmdDogJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXg7XG4gICAgfVxuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkc2lkZW5hdi1tYXgtbGV2ZWxzIHtcbiAgICAkc2VsZWN0b3I6ICcnO1xuXG4gICAgQGZvciAkbCBmcm9tIDEgdGhyb3VnaCAkaSB7XG4gICAgICAkc2VsZWN0b3I6IFwiI3skc2VsZWN0b3J9IC5zaWRlbmF2LW1lbnVcIjtcbiAgICB9XG5cbiAgICAjeyRzZWxlY3Rvcn0gLnNpZGVuYXYtbGluayB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRzaWRlbmF2LWZpcnN0LWxldmVsLXNwYWNlciArICgkc2lkZW5hdi12ZXJ0aWNhbC1tZW51LWxldmVsLXNwYWNlciAqICgkaSAtIDEpKTtcblxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHNpZGVuYXYtZmlyc3QtbGV2ZWwtc3BhY2VyICsgKCRzaWRlbmF2LXZlcnRpY2FsLW1lbnUtbGV2ZWwtc3BhY2VyICogKCRpIC0gMSkpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogSG9yaXpvbnRhbFxuXG4uc2lkZW5hdi1ob3Jpem9udGFsIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLnNpZGVuYXYtaW5uZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4OiAwIDEgMTAwJTtcbiAgfVxuXG4gIC5zaWRlbmF2LWl0ZW0gLnNpZGVuYXYtbGluayB7XG4gICAgcGFkZGluZzogJHNpZGVuYXYtaG9yaXpvbnRhbC1saW5rLXBhZGRpbmcteSAkc2lkZW5hdi1ob3Jpem9udGFsLWxpbmstcGFkZGluZy14O1xuICB9XG5cbiAgLnNpZGVuYXYtaXRlbSAuc2lkZW5hdi10b2dnbGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoI3skc2lkZW5hdi1ob3Jpem9udGFsLWxpbmstcGFkZGluZy14fSArICN7JGNhcmV0LXdpZHRoICogM30pO1xuXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRzaWRlbmF2LWhvcml6b250YWwtbGluay1wYWRkaW5nLXg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoI3skc2lkZW5hdi1ob3Jpem9udGFsLWxpbmstcGFkZGluZy14fSArICN7JGNhcmV0LXdpZHRoICogM30pO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkc2lkZW5hdi1ob3Jpem9udGFsLWxpbmstcGFkZGluZy14O1xuXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogJHNpZGVuYXYtaG9yaXpvbnRhbC1saW5rLXBhZGRpbmcteDtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbSA+IC5zaWRlbmF2LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gIH1cblxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW06bm90KC5zaWRlbmF2LWl0ZW0tY2xvc2luZykub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTM1ZGVnKTtcblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC0xMzVkZWcpO1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlbmF2LWhlYWRlcixcbiAgLnNpZGVuYXYtZGl2aWRlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNpZGVuYXYtbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAkc2lkZW5hdi1tZW51LXdpZHRoO1xuXG4gICAgLnNpZGVuYXYtbWVudSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLnNpZGVuYXYtbGluayB7XG4gICAgICBwYWRkaW5nLXRvcDogJHNpZGVuYXYtaG9yaXpvbnRhbC1tZW51LWxpbmstcGFkZGluZy15O1xuICAgICAgcGFkZGluZy1ib3R0b206ICRzaWRlbmF2LWhvcml6b250YWwtbWVudS1saW5rLXBhZGRpbmcteTtcbiAgICB9XG4gIH1cblxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0gPiAuc2lkZW5hdi1tZW51IHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOm5vdCguc2lkZW5hdi1uby1hbmltYXRpb24pIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtbWVudSB7XG4gICAgYW5pbWF0aW9uOiBzaWRlbmF2RHJvcGRvd25TaG93ICRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIC8vIExldmVsc1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRzaWRlbmF2LW1heC1sZXZlbHMge1xuICAgICRzZWxlY3RvcjogJyc7XG5cbiAgICBAZm9yICRsIGZyb20gMSB0aHJvdWdoICRpIHtcbiAgICAgICRzZWxlY3RvcjogXCIjeyRzZWxlY3Rvcn0gLnNpZGVuYXYtbWVudVwiO1xuICAgIH1cblxuICAgICN7JHNlbGVjdG9yfSAuc2lkZW5hdi1saW5rIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJHNpZGVuYXYtaG9yaXpvbnRhbC1tZW51LWxldmVsLXNwYWNlciAqICRpO1xuXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc2lkZW5hdi1ob3Jpem9udGFsLW1lbnUtbGV2ZWwtc3BhY2VyICogJGk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHNpZGVuYXYtaG9yaXpvbnRhbC1saW5rLXBhZGRpbmcteDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNpZGVuYXYtaG9yaXpvbnRhbC13cmFwcGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZmxleDogMCAxIDEwMCU7XG4gIHdpZHRoOiAwO1xuXG4gIC5zaWRlbmF2Om5vdCguc2lkZW5hdi1uby1hbmltYXRpb24pICYgLnNpZGVuYXYtaW5uZXIge1xuICAgIHRyYW5zaXRpb246IG1hcmdpbiAkc2lkZW5hdi1hbmltYXRpb24tZHVyYXRpb247XG4gIH1cbn1cblxuLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2LFxuLnNpZGVuYXYtaG9yaXpvbnRhbC1uZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiAkc2lkZW5hdi1jb250cm9sLXdpZHRoO1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRzaWRlbmF2LWNvbnRyb2wtYXJyb3ctc2l6ZTtcbiAgICBoZWlnaHQ6ICRzaWRlbmF2LWNvbnRyb2wtYXJyb3ctc2l6ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG5cbiAgJi5kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2OjphZnRlciB7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcblxuICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgfVxufVxuXG4uc2lkZW5hdi1ob3Jpem9udGFsLW5leHQ6OmFmdGVyIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xuXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDEzNWRlZyk7XG4gIH1cbn1cblxuQGluY2x1ZGUga2V5ZnJhbWVzKHNpZGVuYXZEcm9wZG93blNob3cpIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0uNXJlbSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBVbml2ZXJzYWwgY29sb3JpbmdcblxuLnNpZGVuYXYtZGFyayB7XG4gIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG5cbiAgLnNpZGVuYXYtbGluayxcbiAgLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2LFxuICAuc2lkZW5hdi1ob3Jpem9udGFsLW5leHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlbmF2LWl0ZW0uZGlzYWJsZWQgLnNpZGVuYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNpZGVuYXYtaXRlbS5vcGVuOm5vdCguc2lkZW5hdi1pdGVtLWNsb3NpbmcpID4gLnNpZGVuYXYtdG9nZ2xlLFxuICAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICB9XG5cbiAgLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOm5vdCguc2lkZW5hdi10b2dnbGUpIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2lkZW5hdi1kYXJrLW1lbnUtYmc7XG4gIH1cblxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0uc2lkZW5hdi1pdGVtLWNsb3NpbmcgLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LW1lbnUsXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5zaWRlbmF2LWl0ZW0tY2xvc2luZyAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtdG9nZ2xlIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICB9XG5cbiAgLnNpZGVuYXYtdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gIH1cblxuICAuc2lkZW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4gIH1cblxuICBocixcbiAgLnNpZGVuYXYtZGl2aWRlcixcbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gPiAuc2lkZW5hdi1tZW51OjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJHNpZGVuYXYtZGFyay1ib3JkZXItY29sb3IgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaGVhZGVyOjpiZWZvcmUsXG4gIC5zaWRlbmF2LWJsb2NrOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZW5hdi1kYXJrLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICB9XG5cbiAgLnBzX190aHVtYi15IHtcbiAgICBiYWNrZ3JvdW5kOiAkbmF2YmFyLWRhcmstY29sb3IgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2lkZW5hdi1saWdodCB7XG4gIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuXG4gIC5zaWRlbmF2LWxpbmssXG4gIC5zaWRlbmF2LWhvcml6b250YWwtcHJldixcbiAgLnNpZGVuYXYtaG9yaXpvbnRhbC1uZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuc2lkZW5hdi1pdGVtLmRpc2FibGVkIC5zaWRlbmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuc2lkZW5hdi1pdGVtLm9wZW46bm90KC5zaWRlbmF2LWl0ZW0tY2xvc2luZykgPiAuc2lkZW5hdi10b2dnbGUsXG4gIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICB9XG5cbiAgLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOm5vdCguc2lkZW5hdi10b2dnbGUpIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2lkZW5hdi1saWdodC1tZW51LWJnO1xuICB9XG5cbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLnNpZGVuYXYtaXRlbS1jbG9zaW5nIC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1tZW51LFxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0uc2lkZW5hdi1pdGVtLWNsb3NpbmcgLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LXRvZ2dsZSB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gIH1cblxuICAuc2lkZW5hdi10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gIH1cblxuICAuc2lkZW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICB9XG5cbiAgaHIsXG4gIC5zaWRlbmF2LWRpdmlkZXIsXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtbWVudTo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICRzaWRlbmF2LWxpZ2h0LWJvcmRlci1jb2xvciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1oZWFkZXI6OmJlZm9yZSxcbiAgLnNpZGVuYXYtYmxvY2s6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZW5hdi1saWdodC1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gIH1cblxuICAucHNfX3RodW1iLXkge1xuICAgIGJhY2tncm91bmQ6ICRuYXZiYXItbGlnaHQtY29sb3IgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENvbGxhcHNlZFxuXG5AbWl4aW4gc2lkZW5hdi1jb2xsYXBzZWQoKSB7XG4gIHdpZHRoOiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg7XG5cbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtIHtcbiAgICB3aWR0aDogJHNpZGVuYXYtd2lkdGggKyAoJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoIC0gJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXggLSAkc2lkZW5hdi1pY29uLWV4cGFuZGVkLXdpZHRoKTtcbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbSA+IC5zaWRlbmF2LWxpbmsge1xuICAgIHBhZGRpbmctbGVmdDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xuICB9XG5cbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1oZWFkZXIsXG4gIC5zaWRlbmF2LWJsb2NrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXggKiAyKSAtICRzaWRlbmF2LWljb24tZXhwYW5kZWQtc3BhY2VyO1xuICAgIHBhZGRpbmctbGVmdDogJHNpZGVuYXYtaWNvbi1leHBhbmRlZC1zcGFjZXI7XG4gICAgd2lkdGg6ICRzaWRlbmF2LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy15O1xuICAgICAgYm90dG9tOiAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteTtcbiAgICAgIGxlZnQ6IC0xICogKCRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aCAqIC43NSk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGggLyAyO1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbSA+IC5zaWRlbmF2LW1lbnUsXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtbWVudSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGggLSAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteCAtICRzaWRlbmF2LWljb24tZXhwYW5kZWQtd2lkdGg7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgLnNpZGVuYXYtbGluayB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gPiAuc2lkZW5hdi1tZW51IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IGNhbGMoI3skc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGggLyAyfSAtIDFweCk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAtKCRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aCAtICRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14IC0gJHNpZGVuYXYtaWNvbi1leHBhbmRlZC13aWR0aCk7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQ7XG4gICAgfVxuICB9XG5cbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtdG9nZ2xlLFxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbmsge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoI3soJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoIC8gMikgLSAoJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoIC0gJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXggLSAkc2lkZW5hdi1pY29uLWV4cGFuZGVkLXdpZHRoKX0gLSA0cHgpO1xuICAgICAgd2lkdGg6IDhweDtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbSA+IC5zaWRlbmF2LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aCAtICRzaWRlbmF2LWNvbnRyb2wtYXJyb3ctc2l6ZSAtIC4zNzVyZW07XG4gIH1cblxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0gPiAuc2lkZW5hdi1saW5rIC5zaWRlbmF2LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAtJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xuICAgIHdpZHRoOiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbkBtaXhpbiBzaWRlbmF2LWNvbGxhcHNlZC1ydGwoKSB7XG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbSA+IC5zaWRlbmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14O1xuICB9XG5cbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1oZWFkZXIsXG4gIC5zaWRlbmF2LWJsb2NrIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc2lkZW5hdi1pY29uLWV4cGFuZGVkLXNwYWNlcjtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteCAqIDIpIC0gJHNpZGVuYXYtaWNvbi1leHBhbmRlZC1zcGFjZXI7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IC0xICogKCRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aCAqIC43NSk7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbSA+IC5zaWRlbmF2LW1lbnUsXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtbWVudSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGggLSAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteCAtICRzaWRlbmF2LWljb24tZXhwYW5kZWQtd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LW1lbnU6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IGNhbGMoI3skc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGggLyAyfSAtIDFweCk7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IC0oJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoIC0gJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXggLSAkc2lkZW5hdi1pY29uLWV4cGFuZGVkLXdpZHRoKTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YmVmb3JlLFxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoI3soJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoIC8gMikgLSAoJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoIC0gJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXggLSAkc2lkZW5hdi1pY29uLWV4cGFuZGVkLXdpZHRoKX0gLSA0cHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtID4gLnNpZGVuYXYtdG9nZ2xlOjphZnRlciB7XG4gICAgcmlnaHQ6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aCAtICRzaWRlbmF2LWNvbnRyb2wtYXJyb3ctc2l6ZSAtIC4zNzVyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbSA+IC5zaWRlbmF2LWxpbmsgLnNpZGVuYXYtaWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAkc2lkZW5hdi1pY29uLWV4cGFuZGVkLXNwYWNlcjtcbiAgfVxufVxuXG4uc2lkZW5hdi1jb2xsYXBzZWQ6bm90KDpob3Zlcikge1xuICBAaW5jbHVkZSBzaWRlbmF2LWNvbGxhcHNlZCgpO1xuXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgQGluY2x1ZGUgc2lkZW5hdi1jb2xsYXBzZWQtcnRsKCk7XG4gIH1cbn1cbiIsIi8vIExheW91dHNcbi8vXG5cbi5sYXlvdXQtd3JhcHBlcixcbi5sYXlvdXQtaW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZmxleDogMSAxIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubGF5b3V0LXdyYXBwZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubGF5b3V0LWlubmVyIHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG59XG5cbi5sYXlvdXQtY29udGFpbmVyLFxuLmxheW91dC1jb250ZW50LFxuLmxheW91dC1jb250ZW50ID4gKixcbi5sYXlvdXQtc2lkZW5hdiB7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbn1cblxuLmxheW91dC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IDA7XG5cbiAgLmxheW91dC13aXRob3V0LXNpZGVuYXYgJiB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5sYXlvdXQtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ubGF5b3V0LW5hdmJhcixcbi5sYXlvdXQtZm9vdGVyIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5sYXlvdXQtbmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuXG4gIC5uYXZiYXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmxheW91dC1zaWRlbmF2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxIDAgYXV0bztcblxuICAuc2lkZW5hdiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zaWRlbmF2LXZlcnRpY2FsIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBMYXlvdXQgMVxuXG4ubGF5b3V0LTEge1xuICAubGF5b3V0LWlubmVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLmxheW91dC1jb250ZW50IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIHdpZHRoOiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBMYXlvdXQgMlxuXG4ubGF5b3V0LTIge1xuICAubGF5b3V0LWNvbnRhaW5lciB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAubGF5b3V0LWNvbnRlbnQge1xuICAgIC8vIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBSZXZlcnNlZCBsYXlvdXRcblxuLmxheW91dC1yZXZlcnNlZCB7XG4gIC5sYXlvdXQtMSAubGF5b3V0LWNvbnRhaW5lciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG5cbiAgLmxheW91dC0yIC5sYXlvdXQtaW5uZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFRvZ2dsZVxuXG4ubGF5b3V0LXNpZGVuYXYtdG9nZ2xlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU21hbGwgc2NyZWVucyBsYXlvdXRcblxuQG1lZGlhIChtYXgtd2lkdGg6IChtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZykgLSAxKSkge1xuICAubGF5b3V0LXNpZGVuYXYge1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtO1xuXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIH1cblxuICAgIC5sYXlvdXQtcmV2ZXJzZWQgJiB7XG4gICAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB9XG5cbiAgICAubGF5b3V0LWV4cGFuZGVkICYge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5sYXlvdXQtZXhwYW5kZWQgYm9keSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgICAmLmxheW91dC1yZXZlcnNlZCAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIH1cbiAgfVxuXG4gIC5sYXlvdXQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWJhY2tkcm9wLWJnO1xuICAgIG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC5sYXlvdXQtZXhwYW5kZWQgJiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAubGF5b3V0LXNpZGVuYXYtMTAwdmggLmxheW91dC1zaWRlbmF2LFxuICAubGF5b3V0LXNpZGVuYXYtMTAwdmggLmxheW91dC1vdmVybGF5IHtcbiAgICBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBDb2xsYXBzZWQgbGF5b3V0XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLy8gU2lkZW5hdiBzdHlsZVxuXG4gIC5sYXlvdXQtY29sbGFwc2VkOm5vdCgubGF5b3V0LW9mZmNhbnZhcyk6bm90KC5sYXlvdXQtZml4ZWQtb2ZmY2FudmFzKSB7XG4gICAgLmxheW91dC1zaWRlbmF2Om5vdCg6aG92ZXIpIC5zaWRlbmF2LXZlcnRpY2FsLFxuICAgIC5sYXlvdXQtc2lkZW5hdi5zaWRlbmF2LXZlcnRpY2FsOm5vdCg6aG92ZXIpIHtcbiAgICAgIEBpbmNsdWRlIHNpZGVuYXYtY29sbGFwc2VkKCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcnRsLW9ubHkge1xuICAgICYubGF5b3V0LWNvbGxhcHNlZDpub3QoLmxheW91dC1vZmZjYW52YXMpOm5vdCgubGF5b3V0LWZpeGVkLW9mZmNhbnZhcykge1xuICAgICAgLmxheW91dC1zaWRlbmF2Om5vdCg6aG92ZXIpIC5zaWRlbmF2LXZlcnRpY2FsLFxuICAgICAgLmxheW91dC1zaWRlbmF2LnNpZGVuYXYtdmVydGljYWw6bm90KDpob3Zlcikge1xuICAgICAgICBAaW5jbHVkZSBzaWRlbmF2LWNvbGxhcHNlZC1ydGwoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTaWRlbmF2IHBvc2l0aW9uXG5cbiAgLmxheW91dC1jb2xsYXBzZWQge1xuICAgIC5sYXlvdXQtc2lkZW5hdjpob3ZlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0kc2lkZW5hdi13aWR0aCArICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcbiAgICB9XG5cbiAgICAmLmxheW91dC1yZXZlcnNlZCAubGF5b3V0LXNpZGVuYXY6aG92ZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kc2lkZW5hdi13aWR0aCArICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBydGwtb25seSB7XG4gICAgJi5sYXlvdXQtY29sbGFwc2VkIHtcbiAgICAgIC5sYXlvdXQtc2lkZW5hdjpob3ZlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kc2lkZW5hdi13aWR0aCArICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcbiAgICAgIH1cblxuICAgICAgJi5sYXlvdXQtcmV2ZXJzZWQgLmxheW91dC1zaWRlbmF2OmhvdmVyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJHNpZGVuYXYtd2lkdGggKyAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE9mZi1jYW52YXMgbGF5b3V0XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmxheW91dC1jb2xsYXBzZWQubGF5b3V0LW9mZmNhbnZhcyB7XG4gICAgLmxheW91dC1zaWRlbmF2IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLSRzaWRlbmF2LXdpZHRoO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB9XG5cbiAgICAmLmxheW91dC1yZXZlcnNlZCAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kc2lkZW5hdi13aWR0aDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBydGwtb25seSB7XG4gICAgJi5sYXlvdXQtY29sbGFwc2VkLmxheW91dC1vZmZjYW52YXMge1xuICAgICAgLmxheW91dC1zaWRlbmF2IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRzaWRlbmF2LXdpZHRoO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSlcbiAgICAgIH1cblxuICAgICAgJi5sYXlvdXQtcmV2ZXJzZWQgLmxheW91dC1zaWRlbmF2IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJHNpZGVuYXYtd2lkdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRml4ZWQgYW5kIGZpeGVkIG9mZi1jYW52YXMgbGF5b3V0XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLy8gU2lkZW5hdlxuXG4gIC5sYXlvdXQtZml4ZWQsXG4gIC5sYXlvdXQtZml4ZWQtb2ZmY2FudmFzIHtcbiAgICAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLmxheW91dC1yZXZlcnNlZCAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgICAmLmxheW91dC1maXhlZCxcbiAgICAmLmxheW91dC1maXhlZC1vZmZjYW52YXMge1xuICAgICAgLmxheW91dC1zaWRlbmF2IHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG5cbiAgICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtc2lkZW5hdiB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEZpeGVkIG9mZi1jYW52YXNcblxuICAubGF5b3V0LWZpeGVkLW9mZmNhbnZhcy5sYXlvdXQtY29sbGFwc2VkIHtcbiAgICAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB9XG5cbiAgICAmLmxheW91dC1yZXZlcnNlZCAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgICAmLmxheW91dC1maXhlZC1vZmZjYW52YXMubGF5b3V0LWNvbGxhcHNlZCB7XG4gICAgICAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtc2lkZW5hdiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udGFpbmVyXG5cbiAgLmxheW91dC1maXhlZDpub3QoLmxheW91dC1jb2xsYXBzZWQpLFxuICAubGF5b3V0LWZpeGVkLW9mZmNhbnZhczpub3QoLmxheW91dC1jb2xsYXBzZWQpIHtcbiAgICAubGF5b3V0LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRzaWRlbmF2LXdpZHRoO1xuICAgIH1cblxuICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRzaWRlbmF2LXdpZHRoO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgICAmLmxheW91dC1maXhlZDpub3QoLmxheW91dC1jb2xsYXBzZWQpLFxuICAgICYubGF5b3V0LWZpeGVkLW9mZmNhbnZhczpub3QoLmxheW91dC1jb2xsYXBzZWQpIHtcbiAgICAgIC5sYXlvdXQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHNpZGVuYXYtd2lkdGg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgJi5sYXlvdXQtcmV2ZXJzZWQgLmxheW91dC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzaWRlbmF2LXdpZHRoO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5sYXlvdXQtZml4ZWQubGF5b3V0LWNvbGxhcHNlZCB7XG4gICAgLmxheW91dC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg7XG4gICAgfVxuXG4gICAgJi5sYXlvdXQtcmV2ZXJzZWQgLmxheW91dC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgICAmLmxheW91dC1maXhlZC5sYXlvdXQtY29sbGFwc2VkIHtcbiAgICAgIC5sYXlvdXQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFJlc2V0IHBhZGRpbmdzXG5odG1sOm5vdCgubGF5b3V0LW5hdmJhci1maXhlZCk6bm90KC5sYXlvdXQtZml4ZWQpOm5vdCgubGF5b3V0LWZpeGVkLW9mZmNhbnZhcykgLmxheW91dC1jb250YWluZXIsXG5odG1sOm5vdCgubGF5b3V0LW5hdmJhci1maXhlZCkgLmxheW91dC0yIC5sYXlvdXQtY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cbmh0bWw6bm90KC5sYXlvdXQtZm9vdGVyLWZpeGVkKSAubGF5b3V0LWNvbnRlbnQge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IChtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZykgLSAxKSkge1xuICAubGF5b3V0LWZpeGVkIC5sYXlvdXQtd3JhcHBlci5sYXlvdXQtMSAubGF5b3V0LXNpZGVuYXYsXG4gIC5sYXlvdXQtZml4ZWQtb2ZmY2FudmFzIC5sYXlvdXQtd3JhcHBlci5sYXlvdXQtMSAubGF5b3V0LXNpZGVuYXYge1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoLmxheW91dC1uYXZiYXItZml4ZWQpIC5sYXlvdXQtMSAubGF5b3V0LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEZpeGVkIG5hdmJhciBsYXlvdXRcblxuLmxheW91dC1uYXZiYXItZml4ZWQgLmxheW91dC1uYXZiYXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLy8gRml4IG5hdmJhciB3aXRoaW4gbGF5b3V0IDEgaW4gZml4ZWQgbW9kZVxuICAubGF5b3V0LWZpeGVkIC5sYXlvdXQtMSAubGF5b3V0LW5hdmJhcixcbiAgLmxheW91dC1maXhlZC1vZmZjYW52YXMgLmxheW91dC0xIC5sYXlvdXQtbmF2YmFyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAvLyBMYXlvdXQgZml4ZWRcblxuICAubGF5b3V0LW5hdmJhci1maXhlZDpub3QoLmxheW91dC1jb2xsYXBzZWQpLFxuICAubGF5b3V0LWZpeGVkLmxheW91dC1uYXZiYXItZml4ZWQ6bm90KC5sYXlvdXQtY29sbGFwc2VkKSxcbiAgLmxheW91dC1maXhlZC1vZmZjYW52YXMubGF5b3V0LW5hdmJhci1maXhlZDpub3QoLmxheW91dC1jb2xsYXBzZWQpIHtcbiAgICAubGF5b3V0LTIgLmxheW91dC1uYXZiYXIge1xuICAgICAgbGVmdDogJHNpZGVuYXYtd2lkdGg7XG4gICAgfVxuXG4gICAgJi5sYXlvdXQtcmV2ZXJzZWQgLmxheW91dC0yIC5sYXlvdXQtbmF2YmFyIHtcbiAgICAgIHJpZ2h0OiAkc2lkZW5hdi13aWR0aDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcnRsLW9ubHkge1xuICAgICYubGF5b3V0LW5hdmJhci1maXhlZDpub3QoLmxheW91dC1jb2xsYXBzZWQpLFxuICAgICYubGF5b3V0LWZpeGVkLmxheW91dC1uYXZiYXItZml4ZWQ6bm90KC5sYXlvdXQtY29sbGFwc2VkKSxcbiAgICAmLmxheW91dC1maXhlZC1vZmZjYW52YXMubGF5b3V0LW5hdmJhci1maXhlZDpub3QoLmxheW91dC1jb2xsYXBzZWQpIHtcbiAgICAgIC5sYXlvdXQtMiAubGF5b3V0LW5hdmJhciB7XG4gICAgICAgIHJpZ2h0OiAkc2lkZW5hdi13aWR0aDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgJi5sYXlvdXQtcmV2ZXJzZWQgLmxheW91dC0yIC5sYXlvdXQtbmF2YmFyIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6ICRzaWRlbmF2LXdpZHRoO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExheW91dCBmaXhlZCBvZmYtY2FudmFzXG5cbiAgLmxheW91dC1uYXZiYXItZml4ZWQubGF5b3V0LWNvbGxhcHNlZDpub3QoLmxheW91dC1vZmZjYW52YXMpOm5vdCgubGF5b3V0LWZpeGVkLW9mZmNhbnZhcyksXG4gIC5sYXlvdXQtZml4ZWQubGF5b3V0LW5hdmJhci1maXhlZC5sYXlvdXQtY29sbGFwc2VkIHtcbiAgICAubGF5b3V0LTIgLmxheW91dC1uYXZiYXIge1xuICAgICAgbGVmdDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xuICAgIH1cblxuICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtMiAubGF5b3V0LW5hdmJhciB7XG4gICAgICByaWdodDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBydGwtb25seSB7XG4gICAgJi5sYXlvdXQtbmF2YmFyLWZpeGVkLmxheW91dC1jb2xsYXBzZWQ6bm90KC5sYXlvdXQtb2ZmY2FudmFzKTpub3QoLmxheW91dC1maXhlZC1vZmZjYW52YXMpLFxuICAgICYubGF5b3V0LWZpeGVkLmxheW91dC1uYXZiYXItZml4ZWQubGF5b3V0LWNvbGxhcHNlZCB7XG4gICAgICAubGF5b3V0LTIgLmxheW91dC1uYXZiYXIge1xuICAgICAgICByaWdodDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAmLmxheW91dC1yZXZlcnNlZCAubGF5b3V0LTIgLmxheW91dC1uYXZiYXIge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEZpeGVkIGZvb3RlclxuXG4ubGF5b3V0LWZvb3Rlci1maXhlZCAubGF5b3V0LWZvb3RlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubGF5b3V0LWZvb3Rlci1maXhlZDpub3QoLmxheW91dC1jb2xsYXBzZWQpIHtcbiAgICAubGF5b3V0LXdyYXBwZXI6bm90KC5sYXlvdXQtd2l0aG91dC1zaWRlbmF2KSAubGF5b3V0LWZvb3RlciB7XG4gICAgICBsZWZ0OiAkc2lkZW5hdi13aWR0aDtcbiAgICB9XG5cbiAgICAmLmxheW91dC1yZXZlcnNlZCAubGF5b3V0LXdyYXBwZXI6bm90KC5sYXlvdXQtd2l0aG91dC1zaWRlbmF2KSAubGF5b3V0LWZvb3RlciB7XG4gICAgICByaWdodDogJHNpZGVuYXYtd2lkdGg7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5sYXlvdXQtZm9vdGVyLWZpeGVkLmxheW91dC1jb2xsYXBzZWQ6bm90KC5sYXlvdXQtb2ZmY2FudmFzKTpub3QoLmxheW91dC1maXhlZC1vZmZjYW52YXMpIHtcbiAgICAubGF5b3V0LXdyYXBwZXI6bm90KC5sYXlvdXQtd2l0aG91dC1zaWRlbmF2KSAubGF5b3V0LWZvb3RlciB7XG4gICAgICBsZWZ0OiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg7XG4gICAgfVxuXG4gICAgJi5sYXlvdXQtcmV2ZXJzZWQgLmxheW91dC13cmFwcGVyOm5vdCgubGF5b3V0LXdpdGhvdXQtc2lkZW5hdikgLmxheW91dC1mb290ZXIge1xuICAgICAgcmlnaHQ6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcnRsLW9ubHkge1xuICAgICYubGF5b3V0LWZvb3Rlci1maXhlZDpub3QoLmxheW91dC1jb2xsYXBzZWQpIHtcbiAgICAgIC5sYXlvdXQtd3JhcHBlcjpub3QoLmxheW91dC13aXRob3V0LXNpZGVuYXYpIC5sYXlvdXQtZm9vdGVyIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6ICRzaWRlbmF2LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAmLmxheW91dC1yZXZlcnNlZCAubGF5b3V0LXdyYXBwZXI6bm90KC5sYXlvdXQtd2l0aG91dC1zaWRlbmF2KSAubGF5b3V0LWZvb3RlciB7XG4gICAgICAgIGxlZnQ6ICRzaWRlbmF2LXdpZHRoO1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxheW91dC1mb290ZXItZml4ZWQubGF5b3V0LWNvbGxhcHNlZDpub3QoLmxheW91dC1vZmZjYW52YXMpOm5vdCgubGF5b3V0LWZpeGVkLW9mZmNhbnZhcykge1xuICAgICAgLmxheW91dC13cmFwcGVyOm5vdCgubGF5b3V0LXdpdGhvdXQtc2lkZW5hdikgLmxheW91dC1mb290ZXIge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAmLmxheW91dC1yZXZlcnNlZCAubGF5b3V0LXdyYXBwZXI6bm90KC5sYXlvdXQtd2l0aG91dC1zaWRlbmF2KSAubGF5b3V0LWZvb3RlciB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogWi1JbmRleGVzXG5cbi8vIE5hdmJhclxuLmxheW91dC1uYXZiYXItZml4ZWQgYm9keTpub3QoLm1vZGFsLW9wZW4pLFxuLmxheW91dC1maXhlZCBib2R5Om5vdCgubW9kYWwtb3BlbiksXG4ubGF5b3V0LWZpeGVkLW9mZmNhbnZhcyBib2R5Om5vdCgubW9kYWwtb3Blbikge1xuICAubGF5b3V0LTEgLmxheW91dC1uYXZiYXIge1xuICAgIHotaW5kZXg6ICR6aW5kZXgtbGF5b3V0LWZpeGVkO1xuICB9XG5cbiAgLmxheW91dC0yIC5sYXlvdXQtbmF2YmFyIHtcbiAgICB6LWluZGV4OiAkemluZGV4LWxheW91dC1maXhlZCAtIDU7XG4gIH1cbn1cblxuLmxheW91dC1mb290ZXItZml4ZWQgLmxheW91dC1mb290ZXIge1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4ubGF5b3V0LXNpZGVuYXYtaG9yaXpvbnRhbCB7XG4gIHotaW5kZXg6IDk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAobWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbGcpIC0gMSkpIHtcbiAgLmxheW91dC1zaWRlbmF2IHtcbiAgICB6LWluZGV4OiAkemluZGV4LWxheW91dC1tb2JpbGU7XG4gIH1cblxuICAubGF5b3V0LW92ZXJsYXkge1xuICAgIHotaW5kZXg6ICR6aW5kZXgtbGF5b3V0LW1vYmlsZSAtIDE7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubGF5b3V0LTEge1xuICAgIC5sYXlvdXQtbmF2YmFyIHtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgIH1cblxuICAgIC5sYXlvdXQtc2lkZW5hdiB7XG4gICAgICB6LWluZGV4OiA5O1xuICAgIH1cbiAgfVxuXG4gIC5sYXlvdXQtMiB7XG4gICAgLmxheW91dC1uYXZiYXIge1xuICAgICAgei1pbmRleDogOTtcbiAgICB9XG5cbiAgICAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgei1pbmRleDogMTA7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sbGFwc2VkXG5cbiAgLmxheW91dC1jb2xsYXBzZWQ6bm90KC5sYXlvdXQtb2ZmY2FudmFzKTpub3QoLmxheW91dC1maXhlZC1vZmZjYW52YXMpIHtcbiAgICAubGF5b3V0LTEgLmxheW91dC1zaWRlbmF2OmhvdmVyIHtcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtbGF5b3V0LWZpeGVkIC0gNSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5sYXlvdXQtMiAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgei1pbmRleDogJHppbmRleC1sYXlvdXQtZml4ZWQgKyA1ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRml4ZWRcblxuICAubGF5b3V0LWZpeGVkIGJvZHk6bm90KC5tb2RhbC1vcGVuKSAubGF5b3V0LTEgLmxheW91dC1zaWRlbmF2LFxuICAubGF5b3V0LWZpeGVkLW9mZmNhbnZhcyBib2R5Om5vdCgubW9kYWwtb3BlbikgLmxheW91dC0xIC5sYXlvdXQtc2lkZW5hdiB7XG4gICAgei1pbmRleDogJHppbmRleC1sYXlvdXQtZml4ZWQgLSA1O1xuICB9XG5cbiAgLmxheW91dC1uYXZiYXItZml4ZWQgYm9keTpub3QoLm1vZGFsLW9wZW4pIC5sYXlvdXQtMiAubGF5b3V0LXNpZGVuYXYsXG4gIC5sYXlvdXQtZml4ZWQgYm9keTpub3QoLm1vZGFsLW9wZW4pIC5sYXlvdXQtMiAubGF5b3V0LXNpZGVuYXYsXG4gIC5sYXlvdXQtZml4ZWQtb2ZmY2FudmFzIGJvZHk6bm90KC5tb2RhbC1vcGVuKSAubGF5b3V0LTIgLmxheW91dC1zaWRlbmF2IHtcbiAgICB6LWluZGV4OiAkemluZGV4LWxheW91dC1maXhlZDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zXG5cbi5sYXlvdXQtc2lkZW5hdi1saW5rLW5vLXRyYW5zaXRpb24ge1xuICAubGF5b3V0LXNpZGVuYXYgLnNpZGVuYXYtbGluayxcbiAgLmxheW91dC1zaWRlbmF2LWhvcml6b250YWwgLnNpZGVuYXYtbGluayB7XG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5sYXlvdXQtbm8tdHJhbnNpdGlvbiAubGF5b3V0LXNpZGVuYXYsXG4ubGF5b3V0LW5vLXRyYW5zaXRpb24gLmxheW91dC1zaWRlbmF2LWhvcml6b250YWwge1xuICAmLFxuICAmIC5zaWRlbmF2LFxuICAmIC5zaWRlbmF2LWl0ZW0ge1xuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogKG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIGxnKSAtIDEpKSB7XG4gIC5sYXlvdXQtdHJhbnNpdGlvbmluZyB7XG4gICAgLmxheW91dC1vdmVybGF5IHtcbiAgICAgIGFuaW1hdGlvbjogbGF5b3V0U2lkZW5hdkFuaW1hdGlvbiAkc2lkZW5hdi1hbmltYXRpb24tZHVyYXRpb247XG4gICAgfVxuXG4gICAgLmxheW91dC1zaWRlbmF2IHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmxheW91dC1jb2xsYXBzZWQ6bm90KC5sYXlvdXQtdHJhbnNpdGlvbmluZyk6bm90KC5sYXlvdXQtb2ZmY2FudmFzKTpub3QoLmxheW91dC1maXhlZCk6bm90KC5sYXlvdXQtZml4ZWQtb2ZmY2FudmFzKSAubGF5b3V0LXNpZGVuYXYge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBtYXJnaW4tbGVmdCwgbWFyZ2luLXJpZ2h0LCB3aWR0aDtcbiAgfVxuXG4gIC5sYXlvdXQtdHJhbnNpdGlvbmluZyB7XG4gICAgJi5sYXlvdXQtb2ZmY2FudmFzIC5sYXlvdXQtc2lkZW5hdiB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkc2lkZW5hdi1hbmltYXRpb24tZHVyYXRpb247XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBtYXJnaW4tbGVmdCwgbWFyZ2luLXJpZ2h0LCB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtO1xuICAgIH1cblxuICAgICYubGF5b3V0LWZpeGVkLFxuICAgICYubGF5b3V0LWZpeGVkLW9mZmNhbnZhcyB7XG4gICAgICAubGF5b3V0LWNvbnRhaW5lciB7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogcGFkZGluZy1sZWZ0LCBwYWRkaW5nLXJpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgICYubGF5b3V0LWZpeGVkIHtcbiAgICAgIC5sYXlvdXQtc2lkZW5hdiB7XG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoICRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxheW91dC1maXhlZC1vZmZjYW52YXMge1xuICAgICAgLmxheW91dC1zaWRlbmF2IHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHNpZGVuYXYtYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtO1xuICAgICAgfVxuICAgIH1cblxuICAgICYubGF5b3V0LW5hdmJhci1maXhlZCAubGF5b3V0LTIgLmxheW91dC1uYXZiYXIsXG4gICAgJi5sYXlvdXQtZm9vdGVyLWZpeGVkIC5sYXlvdXQtZm9vdGVyIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsIHJpZ2h0O1xuICAgIH1cblxuICAgICY6bm90KC5sYXlvdXQtb2ZmY2FudmFzKTpub3QoLmxheW91dC1maXhlZCk6bm90KC5sYXlvdXQtZml4ZWQtb2ZmY2FudmFzKSAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHNpZGVuYXYtYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbWFyZ2luLWxlZnQsIG1hcmdpbi1yaWdodCwgd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbi8vIERpc2FibGUgdHJhbnNpdGlvbnMvYW5pbWF0aW9ucyBpbiBJRSAxMC0xMVxuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgLnNpZGVuYXYsXG4gIC5sYXlvdXQtc2lkZW5hdixcbiAgLmxheW91dC1jb250YWluZXIsXG4gIC5sYXlvdXQtbmF2YmFyLFxuICAubGF5b3V0LWZvb3RlciB7XG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxheW91dC1vdmVybGF5IHtcbiAgICBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AaW5jbHVkZSBrZXlmcmFtZXMobGF5b3V0U2lkZW5hdkFuaW1hdGlvbikge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTtcbiAgfVxufVxuIiwiLmFwcC1icmFuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZ3JvdzogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtaW4taGVpZ2h0OiAxcHg7XG59XG5cbi5hcHAtYnJhbmQtbG9nbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmbGV4LWdyb3c6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtaW4taGVpZ2h0OiAxcHg7XG5cbiAgaW1nLFxuICBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5hcHAtYnJhbmQtdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLmFwcC1icmFuZCAubGF5b3V0LXNpZGVuYXYtdG9nZ2xlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIFdpdGhpbiBzaWRlbmF2XG5cbkBtaXhpbiBhcHB3b3JrLWFwcC1icmFuZC1jb2xsYXBzZWQoKSB7XG4gIC5hcHAtYnJhbmQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHdpZHRoOiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg7XG4gIH1cblxuICAuYXBwLWJyYW5kLWxvZ28sXG4gIC5hcHAtYnJhbmQtdGV4dCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmFwcC1icmFuZC1sb2dvIH4gLmFwcC1icmFuZC10ZXh0LFxuICAuYXBwLWJyYW5kIC5sYXlvdXQtc2lkZW5hdi10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnNpZGVuYXYtdmVydGljYWwgLmFwcC1icmFuZCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14IC0gLjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6ICRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14IC0gLjI1cmVtO1xufVxuXG4uc2lkZW5hdi1ob3Jpem9udGFsIC5hcHAtYnJhbmQsXG4uc2lkZW5hdi1ob3Jpem9udGFsIC5hcHAtYnJhbmQgKyAuc2lkZW5hdi1kaXZpZGVyIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG46bm90KC5sYXlvdXQtc2lkZW5hdikgPiAuc2lkZW5hdi12ZXJ0aWNhbC5zaWRlbmF2LWNvbGxhcHNlZDpub3QoLmxheW91dC1zaWRlbmF2KTpub3QoOmhvdmVyKSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstYXBwLWJyYW5kLWNvbGxhcHNlZCgpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbGcpKSB7XG4gIC5sYXlvdXQtY29sbGFwc2VkOm5vdCgubGF5b3V0LW9mZmNhbnZhcyk6bm90KC5sYXlvdXQtZml4ZWQtb2ZmY2FudmFzKSAubGF5b3V0LXNpZGVuYXY6bm90KDpob3Zlcikge1xuICAgIEBpbmNsdWRlIGFwcHdvcmstYXBwLWJyYW5kLWNvbGxhcHNlZCgpO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkF5Q0dBLEFBQUEsV0FBVyxDQUFZO0VBQUUsT0FBTyxFQUFFLGNBQWMsR0FBSzs7QUFDckQsQUFBQSxXQUFXLENBQVk7RUFBRSxPQUFPLEVBQUUsYUFBYSxHQUFLOztBQUNwRCxBQUFBLFdBQVcsQ0FBWTtFQUFFLE9BQU8sRUFBRSxjQUFjLEdBQUs7O0FBQ3JELEFBQUEsWUFBWSxDQUFXO0VBQUUsT0FBTyxFQUFFLFlBQVksR0FBSzs7QUFFbkQsQUFBQSxVQUFVLENBQWE7RUFBRSxTQUFTLEVwQ3FGVCxHQUFHLENvQ3JGd0IsVUFBVSxHQUFJOztBQUNsRSxBQUFBLFNBQVMsQ0FBYztFQUFFLFNBQVMsRXBDc0ZULElBQUksQ29DdEZzQixVQUFVLEdBQUk7O0FBQ2pFLEFBQUEsV0FBVyxDQUFZO0VBQUUsU0FBUyxFcENzRlQsSUFBSSxDb0N0RndCLFVBQVUsR0FBSTs7QUFDbkUsQUFBQSxZQUFZLENBQVc7RUFBRSxTQUFTLEVwQ3NGVCxJQUFJLENvQ3RGeUIsVUFBVSxHQUFJOztBQUVwRSxBQUFBLGNB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 */

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlbmRvci9jc3MvX2FwcHdvcmsvX3V0aWxpdGllcy5zY3NzIiwidmVuZG9yL2Nzcy9hcHB3b3JrLmNzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL192YXJpYWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19taXhpbnMuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX3RhYmxlcy5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fZnVuY3Rpb25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fYmFzZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBO0VBQXVCLHdCQUFBLEVBQUE7O0FDQXZCO0VEQStDLHVCQUFLLEVBQUE7O0FDQ3BEO0VBQXlCLHdCQUF1QixFQUFLOztBREFyRDtFQUF1QixzQkFBQSxFQUFBOztBQ0d2QjtFQUF5QiwwQkFBcUMsRUFBSTs7QURGbEU7RUFBdUIsMkJBQUEsRUFBQTs7QUNJdkI7RURKOEMsMkJBQUssRUFBQTs7QUNLbkQ7RUFBeUIsMkJBQXVDLEVBQUk7O0FBRXBFO0VETG9ELDBCQUFjLEVBQUE7O0FDTWxFO0VBQXlCLDRCQUEyQixFQUFLOztBREx6RDtFQUF1QixnQ0FBQSxFQUFBOztBQ1F2QjtFQUF5QixxQ0FBMkUsRUFBSTs7QUFFeEc7RURUcUQs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LFdEN0JBLEVDOEJEOztBRDFCSDtFQUtJLG1CR3VEa0I7RUY1QnBCLE9BQU07RUR4QlIsU0FBQTtFQUVJLFVBQUE7RUN5QkYsUUFBTztFRDNCVCxXQUFBO0VBS0ksZUFBYTtFQ3lCZix3Q0FBK0I7RUFBL0IsZ0NBQStCLEVBS2hDO0VEdEJZO0lDb0JULHNCQUFxQixFRG5CekI7O0FBQ0E7RUFBYywyQ0FBeUI7RUFBekIsbUNBQXlCO0VBQXpCLDJCQUF5QjtFQUF6QixtREFBeUIsRUFFdkM7RUF2RXlCO0lBc0VYLHFEQTFFb0I7WUEwRXBCLDZDQTFFb0IsRUFLVDs7QUF1RXpCO0VBQWUsaUJBQVcsRUNpRHpCO0VEakREO0lBQ1ksd0NBQXdCO0lBQXhCLGdDQUF3QjtJQ2dDaEMsa0NBQXlCO1lBQXpCLDBCQUF5QixFRDlCN0I7RUFIQTtJQUlBLG9EQUFXO1lBQVgsNENBQVcsRUFBRTtFQUpiO0lBd0JBLDhCQUdTO1lBSFQsc0JBR1MsRUFIVDtFQXhCQTtJQXdCQSxrREFPTTtZQVBOLDBDQU9NLEVBUE47O0FDeXBDRTs7O0VHL3BDQSxtQ0RnR2lDO0VDL0ZqQywwQkprQlc7RUlqQlgsZUppQlcsRUlkVDs7QUNyREo7OztFQUlBLDBCTCtEYSxFSzlEWDs7QUowc0NBOzs7RUcvcENBLG1DRGdHaUM7RUMvRmpDLDBCSmtCVztFSWpCWCxlSmlCVyxFSWRUOztBQ3JESjs7O0VBSUEsMEJMK0RhLEVLOURYOztBSjBzQ0E7OztFRy9wQ0EsbUNEZ0dpQztFQy9GakMsMEJKa0JXO0VJakJYLGVKaUJXLEVJZFQ7O0FDckRKOzs7RUFJQSwwQkwrRGEsRUs5RFg7O0FKMHNDQTs7O0VHL3BDQSxtQ0RnR2lDO0VDL0ZqQywwQkprQlc7RUlqQlgsZUppQlcsRUlkVDs7QUNyREo7OztFQUlBLDBCTCtEYSxFSzlEWDs7QUowc0NBOzs7RUcvcENBLG1DRGdHaUM7RUMvRmpDLDBCSmtCVztFSWpCWCxlSmlCVyxFSWRUOztBQ3JESjs7O0VBSUEsMEJMK0RhLEVLOURYOztBSjBzQ0E7OztFRy9wQ0EsbUNEZ0dpQztFQy9GakMsMEJK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WCwwQlBycENXO0VPc3BDWCxlUHRwQ1csRU9vcENYO0VOeHBCQTtJTWdwQk0sMEJQNW9DSyxFTzZvQ1g7RU5qcEJBOztJTXFwQkUsZVBqcENTLEVDd2dCUjs7QU1xb0JIO0VBQ0EsMEJOOXRDb0I7RU0rdENsQixZUDVwQ1MsRVEvRlg7RUR5dkNBO0lOem5CSSwyQ0RqaUJPLEVPaXFDWDtFQVBBOztJTnBuQkksWUR0aUJPLEVRaEdiOztBUHltQkU7RU13cEJBLHNCUHBwQ1c7RU9xcENYLDBCUHJwQ1c7RU9zcENYLGVQdHBDVyxFT29wQ1g7RU54cEJBO0lNZ3BCTSwwQlA1b0NLLEVPNm9DWDtFTmpwQkE7O0lNcXBCRSxlUGpwQ1MsRUN3Z0JSOztBTXFvQkg7RUFDQSwwQk5wdUNvQjtFTXF1Q2xCLFlQNXBDUyxFUS9GWDtFRHl2Q0E7SU56bkJJLDJDRGppQk8sRU9pcUNYO0VBUEE7O0lOcG5CSSxZRHRpQk8sRVFoR2I7O0FQeW1CRTtFTXdwQkEsc0JQcHBDVztFT3FwQ1gsMEJQcnBDVztFT3NwQ1gsZVB0cENXLEVPb3BDWDtFTnhwQkE7SU1ncEJNLDBCUDVvQ0ssRU82b0NYO0VOanBCQTs7SU1xcEJFLGVQanBDUyxFQ3dnQlI7O0FNcW9CSDtFQUNBLDBCUG52Q3VDO0VPb3ZDckMsWVA1cENTLEVRL0ZYO0VEeXZDQTtJTnpuQkksMkNEamlCTyxFT2lxQ1g7RUFQQTs7SU5wbkJJLFlEdGlCTyxFUWhHYjs7QVB5bUJFO0VNd3BCQSxzQlBwcENXO0VPcXBDWCwwQlBycENXO0VPc3BDWCxlUHRwQ1csRU9vcENYO0VOeHBCQTtJTWdwQk0sMEJQNW9DSyxFTzZvQ1g7RU5qcEJBOztJTXFwQkUsZVBqcENTLEVDd2dCUjs7QU1xb0JIO0VBQ0EsMEJQcnZDb0M7RU9zdkNsQyxlUC9vQ1MsRVE1R1g7RUR5dkNBO0lOem5CSSx5Q0RwaEJPLEVPb3BDWDtFQVBBOztJTnBuQkksZUR6aEJPLEVRN0diOztBUHltQkU7RU13cEJBLHNCUHBwQ1c7RU9xcENYLDBCUHJwQ1c7RU9zcENYLGVQdHBDVyxFT29wQ1g7RU54cEJBO0lNZ3BCTSwwQlA1b0NLLEVPNm9DWDtFTmpwQkE7O0lNcXBCRSxlUGpwQ1MsRUN3Z0JSOztBTXFvQkg7RUFDQSwwQk52dUNvQjtFTXd1Q2xCLFlQNXBDUyxFUS9GWDtFRHl2Q0E7SU56bkJJLDJDRGppQk8sRU9pcUNYO0VBUEE7O0lOcG5CSSxZRHRpQk8sRVFoR2I7O0FQeW1CRTtFTXdwQkEsc0JQcHBDVztFT3FwQ1gsMEJQcnBDVztFT3NwQ1gsZVB0cENXLEVPb3BDWDtFTnhwQkE7SU1ncEJNLDBCUDVvQ0ssRU82b0NYO0VOanBCQTs7SU1xcEJFLGVQanBDUyxFQ3dnQlI7O0FNcW9CSDtFQUNBLHdDUC92Q2dDO0VPZ3dDOUIsWVA1cENTLEVRL0ZYO0VEeXZDQTtJTnpuQkksMkNEamlCTyxFT2lxQ1g7RUFQQTs7SU5wbkJJLFlEdGlCTyxFUWhHYjs7QVJMQTtFQUF5Qix5QkEwTm1CO1VBMU5uQixpQkEwTm1CLEVDek4zQzs7QUFFRDtFQUNFLGNBQThCLEVERmhDOztBQ2twQkU7RU8vbkJGLG9CUGFzQjtFT1p0QixZUitFYSxFUTlFWDs7QVA2bkJBO0VBTTBGLDBCQXhuQnRFLEVBd25CdUc7O0FBTjNIO0VPem5COEIsNEJQT1YsRU9QVTs7QVB5bkI5QjtFT3huQm1DLDZCUE1mLEVPTmU7O0FQd25CbkM7RU92bkJvQywyQlBLaEIsRU9MZ0I7O0FQdW5CcEM7RU8vbkJGLG9CUE9zQjtFT050QixZUitFYSxFUTlFWDs7QVA2bkJBO0VBTTBGLDBCQTluQnRFLEVBOG5CdUc7O0FBTjNIO0VPem5COEIsNEJQQ1YsRU9EVTs7QVB5bkI5QjtFT3huQm1DLDZCUEFmLEVPQWU7O0FQd25CbkM7RU92bkJvQywyQlBEaEIsRU9DZ0I7O0FQdW5CcEM7RU8vbkJGLG9CUlJ5QztFUVN6QyxZUitFYSxFUTlFWDs7QVA2bkJBO0VBTTBGLDBCRDdvQm5ELEVDNm9Cb0Y7O0FBTjNIO0VPem5COEIsNEJSZFMsRVFjVDs7QVB5bkI5QjtFT3huQm1DLDZCUmZJLEVRZUo7O0FQd25CbkM7RU92bkJvQywyQlJoQkcsRVFnQkg7O0FQdW5CcEM7RU8vbkJGLG9CUlZzQztFUVd0QyxlUjRGYSxFUTNGWDs7QVA2bkJBO0VBTTBGLDBCRC9vQnRELEVDK29CdUY7O0FBTjNIO0VPem5COEIsNEJSaEJNLEVRZ0JOOztBUHluQjlCO0VPeG5CbUMsNkJSakJDLEVRaUJEOztBUHduQm5DO0VPdm5Cb0MsMkJSbEJBLEVRa0JBOztBUHVuQnBDO0VPL25CRixvQlBJc0I7RU9IdEIsWVIrRWEsRVE5RVg7O0FQNm5CQTtFQU0wRiwwQkFqb0J0RSxFQWlvQnVHOztBQU4zSDtFT3puQjhCLDRCUEZWLEVPRVU7O0FQeW5COUI7RU94bkJtQyw2QlBIZixFT0dlOztBUHduQm5DO0VPdm5Cb0MsMkJQSmhCLEVPSWdCOztBUHVuQnBDO0VPL25CRixvQlI2RmE7RVE1RmIsWVIrRWEsRVE5RVg7O0FQNm5CQTtFQU0wRiwwQkR4aUIvRSxFQ3dpQmdIOztBQU4zSDtFT3puQjhCLDRCUnVGbkIsRVF2Rm1COztBUHluQjlCO0VPeG5CbUMsNkJSc0Z4QixFUXRGd0I7O0FQd25CbkM7RU92bkJvQywyQlJxRnpCLEVRckZ5Qjs7QVI3QnRDO0VBQXlCLGtEQWtIWjtVQWxIWSwwQ0FrSFosRUFoSGI7RUFGQTtJQUN5QixXQUFTLEVDRy9COztBQUdIO0VESEEsY0FBdUIsRUNLdEI7O0FBOHBCQztFT3puQkYsMEJBQW1CO0VBQW5CLG9CUFpzQixFT3VCcEI7RVA4bUJBO0lPdm5CRix1Q1JxRGE7SVFyRGIsd0JBQW1CO0lBR2YsWVJrRFMsRUMwa0JSO0VBUkg7SU85bUJBLHdCQUVPO0lBRlAsWVI0Q1csRVEzQ1g7RVA2bUJBO0lFclN5QixxQ0FBTSxFQUFBO0VGcVMvQjtJQWlCd0YsMEJBdHBCcEUsRUFzcEJxRztFQWpCekg7SU9ybUJnQiw0QlBoQ0ksRU9nQ0o7RVBxbUJoQjtJT3JtQmdCLDZCUGhDSSxFT2dDSjtFUHFtQmhCO0lPcm1CZ0IsMkJQaENJLEVPZ0NKOztBUHFtQmhCO0VPem5CRiwwQkFBbUI7RUFBbkIsb0JQbEJzQixFTzZCcEI7RVA4bUJBO0lPdm5CRix1Q1JxRGE7SVFyRGIsd0JBQW1CO0lBR2YsWVJrRFMsRUMwa0JSO0VBUkg7SU85bUJBLHdCQUVPO0lBRlAsWVI0Q1csRVEzQ1g7RVA2bUJBO0lFclN5QixxQ0FBTSxFQUFBO0VGcVMvQjtJQWlCd0YsMEJBNXBCcEUsRUE0cEJxRztFQWpCekg7SU9ybUJnQiw0QlB0Q0ksRU9zQ0o7RVBxbUJoQjtJT3JtQmdCLDZCUHRDSSxFT3NDSjtFUHFtQmhCO0lPcm1CZ0IsMkJQdENJLEVPc0NKOztBUHFtQmhCO0VPem5CRiwwQkFBbUI7RUFBbkIsb0JSakN5QyxFUTRDdkM7RVA4bUJBO0lPdm5CRix1Q1JxRGE7SVFyRGIsd0JBQW1CO0lBR2YsWVJrRFMsRUMwa0JSO0VBUkg7SU85bUJBLHdCQUVPO0lBRlAsWVI0Q1csRVEzQ1g7RVA2bUJBO0lFclN5QixxQ0FBTSxFQUFBO0VGcVMvQjtJQWlCd0YsMEJEM3FCakQsRUMycUJrRjtFQWpCekg7SU9ybUJnQiw0QlJyRHVCLEVRcUR2QjtFUHFtQmhCO0lPcm1CZ0IsNkJSckR1QixFUXFEdkI7RVBxbUJoQjtJT3JtQmdCLDJCUnJEdUIsRVFxRHZCOztBUHFtQmhCO0VPem5CRiwwQkFBbUI7RUFBbkIsb0JSbkNzQyxFUThDcEM7RVA4bUJBO0lPdm5CRixxQ1JrRWE7SVFsRWIsd0JBQW1CO0lBR2YsZVIrRFMsRUM2akJSO0VBUkg7SU85bUJBLHdCQUVPO0lBRlAsZVJ5RFcsRVF4RFg7RVA2bUJBO0lFclN5QixxQ0FBTSxFQUFBO0VGcVMvQjtJQWlCd0YsMEJEN3FCcEQsRUM2cUJxRjtFQWpCekg7SU9ybUJnQiw0QlJ2RG9CLEVRdURwQjtFUHFtQmhCO0lPcm1CZ0IsNkJSdkRvQixFUXVEcEI7RVBxbUJoQjtJT3JtQmdCLDJCUnZEb0IsRVF1RHBCOztBUHFtQmhCO0VPem5CRiwwQkFBbUI7RUFBbkIsb0JQckJzQixFT2dDcEI7RVA4bUJBO0lPdm5CRix1Q1JxRGE7SVFyRGIsd0JBQW1CO0lBR2YsWVJrRFMsRUMwa0JSO0VBUkg7SU85bUJBLHdCQUVPO0lBRlAsWVI0Q1csRVEzQ1g7RVA2bUJBO0lFclN5QixxQ0FBTSxFQUFBO0VGcVMvQjtJQWlCd0YsMEJBL3BCcEUsRUErcEJxRztFQWpCekg7SU9ybUJnQiw0QlB6Q0ksRU95Q0o7RVBxbUJoQjtJT3JtQmdCLDZCUHpDSSxFT3lDSjtFUHFtQmhCO0lPcm1CZ0IsMkJQekNJLEVPeUNKOztBUHFtQmhCO0VPem5CRiwwQkFBbUI7RUFBbkIsb0JSb0VhLEVRekRYO0VQOG1CQTtJT3ZuQkYsdUNScURhO0lRckRiLHdCQUFtQjtJQUdmLFlSa0RTLEVDMGtCUjtFQVJIO0lPOW1CQSx3QkFFTztJQUZQLFlSNENXLEVRM0NYO0VQNm1CQTtJRXJTeUIscUNBQU0sRUFBQTtFRnFTL0I7SUFpQndGLDBCRHRrQjdFLEVDc2tCOEc7RUFqQnpIO0lPcm1CZ0IsNEJSZ0RMLEVRaERLO0VQcW1CaEI7SU9ybUJnQiw2QlJnREwsRVFoREs7RVBxbUJoQjtJT3JtQmdCLDJCUmdETCxFUWhESzs7QVJsRGxCO0VBQXlCLGdDQStOZCxFQzFNVjs7QUFFRDs7RURyQkEsK0JBbU9LLEVDM01KOztBRHZCRDs7RUMyQkUsNkJBaVorRixFRDFhakc7O0FDNEJBO0VEM0JBLDRCQXlOVyxFQzVMVjs7QUQ1QkQ7RUFBeUIsMkJBOE5wQixFQzlMSjs7QUFFRDtFQUNFLHlCQXFZK0YsRURwYWpHOztBQWNBO0VBQ0UsZUF4QndDLEVDMER6QztFQ3BCRztJRmZKLFlBQUEsRUNrQ0c7O0FEeEJIO0VBS0ksdUNBeUlHLEVDcEZOO0VBMUZDO0lEMENFLDJDQW9JRztJQzNHSCxZQXNKNEMsRURsT2hEO0VBeUNBO0lBcUJBLGdDQW1IMkMsRUFuSDlCO0VBckJiO0lBcUJBLGdDQW1IMkMsRUFuSDlCO0VBckJiO0lBcUJBLGdDQW1IMkMsRUFuSDlCO0VBckJiO0lBcUJBLGdDQW1IMkMsRUFuSDlCO0VBckJiO0lBc0JjLHNEQUE2QjtJQ3NCdkMsdUJBQWdEO0lBRzlDLGtEQUFvRCxFQU12RDtFRHJESDtJQ3dESSwwQkFBNkIsRUQ3QmpDOztBQUdBOzs7RUFvQkEsb0NBQWM7RUFDWixpQkFwRXNDO0VBbUV4QyxzQkE0Rk8sRUN6RU47O0FBRUQ7O0VEckJBLGtCQVFLO0VBUkwsa0JFN0M0QixFRHNFM0I7O0FBRUQ7OztFQUdFLDhCRGpCSjtFQ2tCSSxpQkQzRmMsRUM0RmY7O0FBRUQ7OztFQUdFLDJCRHBCZ0I7RUNxQmhCLGlCQXRFMEIsRUF1RTNCOztBQW1CRDtFRDFEQSx1QkFzQ1EsRUMyQlA7O0FBb29CQztFTWhvQkksY0VWVTtFRkNkLG9CUCtGVTtFT2pGTixlTm5KZ0IsRU1xSXBCOztBTitvQkE7RU0xbkJJLG1CQUFZO0VBQ1osVUV2Qk07RVJtcEJSLFdBQVU7RU14bkJaLGNBQWE7RUFDWCxrQkU1Qlk7RUY2QlosZUpqS2tCO0VGMnhCbEIsYUFBWTtFTXZuQmQscUJBQW1CO0VBQ25CLHlDTnJLb0I7RU1zS3BCLFlBQVE7RUFDTixlRWlCYSxFRmhCYjs7QUFXRjs7O0VBRUUsaUNFN0UyQyxFRnFLN0M7RUExRkE7OztJQTBGQSxpQ0FBVztJQUNULGlFSjlRa0I7WUk4UWxCLHlESjlRa0IsRUkrUWxCO0VBNUZGOzs7Ozs7OztJQWlHSSxlSnBSUyxFSXFSVDs7QUFSSjs7O0VBeUJJLGVOdFNnQixFQTB6QmY7O0FNN2lCTDs7Ozs7Ozs7Ozs7OztFQWtDQSxzQk4vU29CLEVNZ1RwQjs7QUFuQ0E7OztFQXNDRSxxRE5uVGtCO1VNbVRsQiw2Q05uVGtCLEVNb1RiOztBQXZDUDs7O0VBbUNBLHNCTmhUb0I7RU1pVGYsMEJOalRlLEVNNlRoQjs7QUFoREo7Ozs7Ozs7O0VBdklFLGVFa0RhLEVGakRiOztBQU9FO0VBVEosMFJBa0JhLEVBQ1Q7O0FObXNCRjtFTTFyQkssZ1NBQ04sRU42ckJJOztBTXZyQkg7RUFVRixpQ0FBb0IsRU4wckJmO0VNcHNCSDtJQWFBLGlDRTdFMkMsRUY4RTNDOztBQWRBO0VBdUdBLGdFQUF1QjtVQUF2Qix3REFBdUIsRUFDbEI7O0FOOGZQO0VNaG9CSSxjRVZVO0VGQ2Qsb0JQK0ZVO0VPakZOLGVOdEpnQixFTXdJcEI7O0FOK29CQTtFTTFuQkksbUJBQVk7RUFDWixVRXZCTTtFUm1wQlIsV0FBVTtFTXhuQlosY0FBYTtFQUNYLGtCRTVCWTtFRjZCWixlSmpLa0I7RUYyeEJsQixhQUFZO0VNdm5CZCxxQkFBbUI7RUFDbkIseUNOeEtvQjtFTXlLcEIsWUFBUTtFQUNOLGVFaUJhLEVGaEJiOztBQVdGOzs7RUFFRSxpQ0U3RTJDLEVGcUs3QztFQTFGQTs7O0lBMEZBLGlDQUFXO0lBQ1QsaUVKOVFrQjtZSThRbEIseURKOVFrQixFSStRbEI7RUE1RkY7Ozs7Ozs7O0lBaUdJLGVKcFJTLEVJcVJUOztBQVJKOzs7RUF5QkksZU56U2dCLEVBNnpCZjs7QU03aUJMOzs7Ozs7Ozs7Ozs7O0VBa0NBLHNCTmxUb0IsRU1tVHBCOztBQW5DQTs7O0VBc0NFLHFETnRUa0I7VU1zVGxCLDZDTnRUa0IsRU11VGI7O0FBdkNQOzs7RUFtQ0Esc0JOblRvQjtFTW9UZiwwQk5wVGUsRU1nVWhCOztBQWhESjs7Ozs7Ozs7RUF2SUUsZUVrRGEsRUZqRGI7O0FBT0U7RUFUSiwwUkFrQmEsRUFDVDs7QU5tc0JGO0VNMXJCSyxnU0FDTixFTjZyQkk7O0FNdnJCSDtFQVVGLGlDQUFvQixFTjByQmY7RU1wc0JIO0lBYUEsaUNFN0UyQyxFRjhFM0M7O0FBZEE7RUF1R0EsZ0VBQXVCO1VBQXZCLHdEQUF1QixFQUNsQjs7QU5wR1Q7RURWTSxlQUFNO0VBQ04sWUFBcUMsRUNZMUM7O0FEbExEO0VDK0xFOzs7SUR4Qk0sc0JBQXNCO0lDNEIxQixZQUFXLEVEbENUO0VBRUU7SUNvQ0osY0FBYSxFRGxDWDtFQUVFO0lDb0NKLDRCQUEyQixFRDFDekIsRUFBQTs7QUF6TE47RUFBeUIsbUJBQVM7RUNHaEMscUJEc0xhLEVDaExkOztBQUVEO0VBQ0UsaUJBQWdCLEVBbURqQjtFQXBERDtJREZ5QixlQW1LeUI7SUNwSjlDLFFBQU87SURkWCx3Q0FWa0M7SUFVVCx1QkFWRjtJQzJCbkIsbUNBQWtDO0lEZnRDLDZCQUF1QjtJQUFFLDRCQUFnQjtJQUFoQixvQkFBZ0I7SUNrQnJDLHFCQUFvQixFRGJ4QjtFQ05BO0lBa0NNLGNBQWEsRURiakI7O0FDa0NGO0VBQ0UseUJEeUhLLEVDeEhOOztBQUdEO0VDaEJJLHlCRnVJdUMsRUNySDFDOztBRHZCRDtFQUVJLHlCRzBEa0I7VUgxRGxCLGlCRzBEa0IsRUYvQm5COztBRHhCQztFQzJCQSx1QkRsRm1CLEVBMER2Qjs7QUMyQkU7O0VEdEJFLCtDQUNEO0VDd0JDLHFDQUFrRSxFRGpCdEU7O0FDb0JFOztFRG5CWSx3U0FBNkIsRUNzQnhDOztBRHJCVzs7RUFDZCxpVEFBWSxFQUFFOztBQzBEZDtFQUNFLGVEakNGO0VDa0NFLHFCRHBCZSxFQ3FCaEI7O0FBWUQ7RUFDRSxlRGhERjtFQ2lERSwyUkR4QmU7RUN5QmYsNkJEeEJzQjtFQ3lCdEIseUZTeklDO0VUeUlELGlGU3pJQztFVHlJRCx5RVN6SUM7RVR5SUQsK0dTeklDLEVUbUtGO0VBOUJEO0lBT0ksdUJEeEJnQixFQ3lCakI7O0FBeUJIO0VEUkksMlJBQWlCLEVBa0JmO0VDVk47SUFTSSwyQ0RHRztJRXpJSCxZRG9MNEM7SUQvRDVDLDBCQUFpQixFQWNmO0VDTk47SURTTSxzREFBTTtJQ2NOLHVCQUF3RCxFRGR4RDtFQ1ROO0lBK0JJLGdDRHpCdUMsRUFEckM7RUNMTjtJQStCSSxnQ0R6QnVDLEVBRHJDO0VDTE47SUErQkksZ0NEekJ1QyxFQURyQztFQ0xOO0lBK0JJLGdDRHpCdUMsRUFEckM7RUNMTjtJQW1DSSwwQkFBNkIsRUQxQjNCOztBUXBISjs7RUFDQSwyQ1A2SWlEO0VPNUlqRCwyQlJ5S0c7RVF6S0gsMkNBRU87RUFFRCxtQlBuQnVCO0VPb0J2QixpQlJ4Q1EsRUtqQ2hCO0VHa0VFOztJSDFFQSxzQkFLRCxFSml0Qkk7O0FPNW9CSDs7RUFDQSwwQ1JrSEs7RVFqSEwseUJQbVgrRjtFT25YL0YsMENBRU87RUFFRCxnQlJyRDJDO0VRc0QzQyxpQlBab0IsRUk3RDVCO0VHa0VFOztJSDFFQSx3QkFLRCxFSml0Qkk7O0FBbmRMOztFRHJFTSxtQ0FBUztFQUNULGtDQUFxQztFQ3dFekMsd0JEdkU0QjtFQU54QixrQ0FBUyxFQytFZDs7QUFFRDs7O0VEaEZNLG1DQUFxQztFQUNuQyxrQ0FDRCxFQUNEOztBQ3NGTjs7O0VEckZNLGtDQUFxQztFQUNuQyxpQ0FDRCxFQ3lGSjs7QUFNSDtFQUNFLGVEakdpQjtFQU5iLFlBQVMsRUN5R2Q7O0FBRUQ7RUR0R00sNkJBQXFDO0VDd0d6Qyx5RlN4UkM7RVR3UkQsaUZTeFJDO0VUd1JELHlFU3hSQztFVHdSRCwrR1N4UkMsRVR1VEY7RUQ1SUs7SUFDQSxvQkF6RU8sRUE0RVA7SUFKQTtNQUNBLGFBQXFDLEVBQ25DOztBQTVMUjtFQUF5QixtQkFBUztFQ0NoQyxzQkFBcUI7RURBdkIsc0JXd0NVO0VYeENlLGlCQUFTO0VDR2hDLHFCQUFvQjtFREZ0Qix1QkFBdUI7RUFBRSxvQkFBUztFT21WNUIsdUJJdlJMO0VKNlFDLHFCTjhNc0M7RU03TXRDLG9CTmxSOEI7RU1tUjlCLGlCSTNRUSxFVnpDVDtFUW9MZ0I7SUYxQ2Isa0JKaEtXLEVJaUtYO0VOcTVCRjtJTWg1QkksZ0JJM0dMO0lKNEdLLGlCR2xLa0I7SUh5SnRCLG9CSWpHcUI7SUorR2pCLHNCTjBXa0M7SU1sV2xDLE9BQWMsRUFJbEI7RUFFRTtJQUdGLGVBQWlCLEVBSWY7RU4wNEJ3QjtJTWg0QjFCLFdBQXFCLEVBQ3JCO0VBRUU7SUFDQSxPQUFxQztJTms0QnJDLDRCVWxpQ0g7SUp1UEMsZ0JBQVc7SUFDVCxpQkp2U2tCLEVJd1NsQjtFR25TRjtJSHVTSSx1Qkk3UEw7SUo4UEssdUJKN1NnQixFRnlsQ25CO0VBRUQ7SUFDRSx3Qk16eUJHO0lBYkwsc0JJdlBELEVWK2lDRTtFRHhrQ0g7SUFuQnlCO01BQ3pCLGVBQXVCO01BQUUsZ0JBQTZCLEVBRzdCLEVBQUE7O0FDb0J6QjtFQUNFLG1CQUFrQjtFRGhCcEIsWUFBQTtFQUF5QixVQUFBO0VDbUJ2QixXQUFVO0VEbEJaLFdBQUEsRUNvQkM7O0FEbEJEO0VBQXlCLG1CQUFpQjtFQ3lCeEMsUUFBTztFRHhCVCxpQkFBQTtFQUF5QixxQkFBZ0I7RUMyQnZDLGtDRDdDZ0M7RUFvQmxDLDZCQXBCa0M7RUFvQlQsa0JBQVU7RUM0QmpDLGdCQUFlO0VEM0JqQixpQ0FBdUI7VUFBdkIseUJBQXVCO0VBQUUseUVBQWdDO0VBQWhDLGlFQUFnQztFQUFoQyx5REFBZ0M7RUFBaEMsNkVBQWdDO0VDOEJ2RCwwQkFBaUI7S0FBakIsdUJBQWlCO01BQWpCLHNCQUFpQjtVQUFqQixrQkFBaUIsRURPbkI7O0FDaUNBO0VEbkJBLG1CQUFZO0VBQUUsc0JBQVc7RUNzQnZCLHFCRWN3QjtFSG5DMUIsZUF4RDBDO0VBd0Q1QixpQkFBVztFQ3dCdkIsZ0JBQWUsRUFNaEI7O0FBS0Q7O0VEN0JBLG1CQUFXO0VBQUUsT0FBQTtFQ2lDWCxZQUFXO0VEaENiLGFBQVc7RUFBRSxtQkFBVztFQ21DdEIsaUNBQXdCO1VBQXhCLHlCQUF3QjtFRGYxQix5Q0FBYztFQUFkLGlDQUFjLEVDMkJiOztBQUVEO0VBQ0UsUUQ5QkYsRUNvQ0M7O0FBRUQ7RUFDRSxZRHBCVyxFQzhCWjtFQUhDO0lEOUNGLDhCQVFhLEVDd0NWOztBQUlIO0VBRUksV0R4QlM7RUN5QlQsOEJEeEJVLEVBL0JkOztBQ29EQTtFRHBEQSxRQUFBLEVDc0VHOztBQU1IO0VBQ0UsWUFBVztFQzFIVCxtQkFBbUI7RUZvSG5CLFFBQUE7RUNTRixlRFQyQjtFQUN6QixxQkFBaUI7RUNVbkIsaUJVbkdRO0VWb0dSLHVGRHZMZ0M7VUN1TGhDLCtFRHZMZ0M7RUV1RDlCLGlDQUF3QjtVQUF4Qix5QkFBd0I7RUZvSHhCLHFEQUFnQjtFQUFoQiw2Q0FBZ0IsRUNvQm5COztBRE5LOztFQ2NGLFlBQVc7RURWVCwrQkFBTSxFQUhOO0VBREE7O0lDa0JBLG9DQUEyQjtZQUEzQiw0QkFBMkIsRURsQjNCOztBQUFBOztFQUlBLDBCQUFNO0VBQ04sb0JBQXFDLEVBQ25DOztBQUZGO0VBQ0EsZUFBcUM7RUFDbkMsZ0JNOUREO0VMMEZMLHNCVWxMZSxFWG9KWDs7QUFIQTs7RUFHQSx1QkF0RkcsRUFrRkg7O0FDcUROO0VEakRNLG1DQUFNLEVFdElSOztBS3NKRjs7RUF1SUksbUJJalJNO0VKdVFWLHFCSXRRYztFSnVRZCxtQk4vUTZCO0VNZ1I3QixtQkl0UStCLEVKMEk3QjtFRUphOztJRjFDYixrQkpoS1csRUlpS1g7RU5xNUJGOztJTWg1QkksWUlyR007SUpzR04saUJHbEtrQjtJSHlKdEIsb0JJakdxQjtJSitHakIsc0JJMUdVO0lKa0hWLE9BQWMsRUFJbEI7RUFFRTs7SUFHRixnQkFBaUIsRUFJZjtFTjA0QndCOztJTWg0QjFCLGVBQXFCLEVBQ3JCO0VBRUU7O0lBQ0EsT0FBcUM7SU5rNEJyQyw0QlVsaUNIO0lKdVBDLGdCQUFXO0lBQ1QsaUJKdlNrQixFSXdTbEI7RUduU0Y7O0lIdVNJLHVCSTdQTDtJSjhQSyx1Qko3U2dCLEVGeWxDbkI7RUFFRDs7SUFDRSx3Qk16eUJHO0lBYkwsc0JJdlBELEVWK2lDRTs7QU1uNUJEOztFQXVJSSxzQklyUk47RUoyUUUsb0JJM1FGO0VKNFFFLGdCUGpUaUQ7RU9rVGpELGtCTnlOa0MsRU1yVmhDO0VFSmE7O0lGMUNiLGtCSmhLVyxFSWlLWDtFTnE1QkY7O0lNaDVCSSxlSXpHTjtJSjBHTSxnQkdsS2tCO0lIeUp0QixvQklqR3FCO0lKK0dqQixxQkkvR047SUp1SE0sT0FBYyxFQUlsQjtFQUVFOztJQUdGLGFBQWlCLEVBSWY7RU4wNEJ3Qjs7SU1oNEIxQixhQUFxQixFQUNyQjtFQUVFOztJQUNBLE9BQXFDO0lOazRCckMsNEJVbGlDSDtJSnVQQyxlQUFXO0lBQ1QsZ0JKdlNrQixFSXdTbEI7RUduU0Y7O0lIdVNJLHVCSTdQTDtJSjhQSyxxQko3U2dCLEVGeWxDbkI7RUFFRDs7SUFDRSxzQk16eUJHO0lBYkwsc0JJdlBELEVWK2lDRTs7QVN6bENEO0VIdVNJLG9CTjdRZ0I7RU04UWhCLFlQM01PLEVDMmpDVjs7QUFFRDtFQUNFLHVEQWpvQ2tCO1VBaW9DbEIsK0NBam9Da0IsRU11UXBCOztBQUFBO0VBdUJJLG9DSjdUUztVSTZUVCw0Qko3VFMsRUZxcUNaOztBU2hxQ0Q7RUh1U0ksb0JOblJnQjtFTW9SaEIsWVAzTU8sRUMyakNWOztBQUVEO0VBQ0UscURBdm9Da0I7VUF1b0NsQiw2Q0F2b0NrQixFTTZRcEI7O0FBQUE7RUF1Qkksb0NKN1RTO1VJNlRULDRCSjdUUyxFRnFxQ1o7O0FTaHFDRDtFSHVTSSxvQlBsU21DO0VPbVNuQyxZUDNNTyxFQzJqQ1Y7O0FBRUQ7RUFDRSxzRER0cENxQztVQ3NwQ3JDLDhDRHRwQ3FDLEVPNFJ2Qzs7QUFBQTtFQXVCSSxvQ0o3VFM7VUk2VFQsNEJKN1RTLEVGcXFDWjs7QVNocUNEO0VIdVNJLG9CUHBTZ0M7RU9xU2hDLGVQOUxPLEVDOGlDVjs7QUFFRDtFQUNFLHNERHhwQ2tDO1VDd3BDbEMsOENEeHBDa0MsRU84UnBDOztBQUFBO0VBdUJJLG9DSjdUUztVSTZUVCw0Qko3VFMsRUZxcUNaOztBU2hxQ0Q7RUh1U0ksb0JOdFJnQjtFTXVSaEIsWVAzTU8sRUMyakNWOztBQUVEO0VBQ0UscURBMW9Da0I7VUEwb0NsQiw2Q0Exb0NrQixFTWdScEI7O0FBQUE7RUF1Qkksb0NKN1RTO1VJNlRULDRCSjdUUyxFRnFxQ1o7O0FTaHFDRDtFSHVTSSxrQ1A5UzRCO0VPK1M1QixZUDNNTyxFQzJqQ1Y7O0FBRUQ7RUFDRSxvRERscUM4QjtVQ2txQzlCLDRDRGxxQzhCLEVPd1NoQzs7QUFBQTtFQXVCSSxvQ0o3VFM7VUk2VFQsNEJKN1RTLEVGcXFDWjs7QU16L0JHO0VBTUEsK0JBQXdCO0VBQ3hCLHVCQUEyQixFQUMzQjs7QUFSQTtFQWFGLGdFSmxKc0I7VUlrSnRCLHdESmxKc0IsRUltSmpCOztBQWRIO0VBa0JKLG9DQUFtQjtVQUFuQiw0QkFBbUIsRUFDZDs7QUFuQkQ7RUEwQkEsMEJBRUgsRU4yZ0NJOztBTXZpQ0Q7RUFNQSwrQkFBd0I7RUFDeEIsdUJBQTJCLEVBQzNCOztBQVJBO0VBYUYsZ0VKbEpzQjtVSWtKdEIsd0RKbEpzQixFSW1KakI7O0FBZEg7RUFrQkosb0NBQW1CO1VBQW5CLDRCQUFtQixFQUNkOztBQW5CRDtFQTBCQSwwQkFFSCxFTjJnQ0k7O0FEdHRDUDtFQUF5QixvQkFBUztNQUFULG1CQUFTO1VBQVQsZUFBUztFQ0NoQyxZQUFXLEVEQWI7O0FDR0E7RURGQSw2QkFBdUIsRUNJdEI7O0FETkQ7RUFBeUIsY0F5SFYsRUN4SGQ7O0FBRUQ7RUFDRSxjQUE4QixFREZoQzs7QUNLQTtFREhBLGtEQThHYTtVQTlHYiwwQ0E4R2EsRUNyR1o7O0FBRUQ7RUFDRSxtQkFBa0I7RURUcEIsNkNDOGEwQyxFRDNhMUM7O0FDZUE7RURkQSwyQkMwYTBDLEVBM1l6Qzs7QURyQkQ7O0VDNEJFLG1CQUFrQjtFRDNCcEIsU0FBQTtFQUF5QixpQkMrWmlCO0VBall4QyxVQUFTO0VEN0JYLFdBQUE7RUFBeUIsa0JBY2U7RUNrQnRDLHNDQUE2QjtVQUE3Qiw4QkFBNkIsRUFNOUI7O0FEcENEO0VDMENFO0lBQ0Usa0REOENTO1lDOUNULDBDRDhDUyxFQzdDVjtFRDNCRDtJQUNBLGdCR21FdUIsRUR0RHJCO0VEa0JGO0lBQ0UsbUJTNURELEVUNkRBLEVBQUE7O0FEbkRIO0VDdURFO0lEN0JGLGdCQUlRLEVBQ0o7RUMyQkY7SUR4QkYsaUJBaU1XLEVBL0xQLEVBQUE7O0FDOEJKO0VEbEJBLGNBQVksRUFBRTs7QUNrQmQ7RUR6RnlCLHFDQXdFa0I7RUNuRXZDLHNDRG1FdUMsRUN3QnhDOztBQU1IOztFRDNCZSw0QkFBMEI7RUM4QnZDLHNCQUFxQixFRDdCdkI7O0FDZ0NBO0VEOUJhLGdCQUFXO0VDaUNwQixPQUFNO0VEaENWLFNBQVc7RUFBRSxVQUFXO0VDbUNwQixXQUFVO0VEZmQsVUFBYTtFQUNYLGdCQUFnQjtFQURsQixZQUFhLEVDNEJWO0VEbEJDO0lDREo7TURFSSxhQWdKTyxFQy9IUixFQUFBOztBQW5CSDtFRFRBLGVBQWE7RUFBYix3QkFhYTtFQWJiLDJCQWFjO0VDcUJWLGFEcEJXO0VDcUJYLGlCRHBCWSxFQ3FCYjs7QUEzQkg7RUE4Qkksb0JEcEJXO01Db0JYLHFCRHBCVztVQ29CWCxhRHBCVztFQ3FCWCxlRHBCVztFQ3FCWCxlRHBCYztFQXJCbEIsa0JBR0ssRUN3Q0Y7O0FBbENIO0VEVEEsY0F3QkY7RUF4QkUsWUFBQTtFQUFBLHdCQUFhO1VBQWIsZ0JBQWEsRUNpRFY7O0FBTUg7RUR2REEscUJBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFBYixlQUFhO0VBQWIsd0JBNkNjO0VBN0NkLDJCQTRDZTtFQTVDZixrQkFBYSxFQUFiOztBQ3VEQTtFRHZEQSxhQUFhO0VBQWIsWUFBYTtFQUFiLFVBQUE7RUFBQSx3QkFBYTtFQUFiLHlCQUFhO1VBQWIsaUJBQWEsRUNzRVY7O0FBZkg7RURnQkksbUJBQWdCO0VBQUUsV0FBTztFQUN6QixpQkN3UXNDO0VEeFFuQixnQkFBTztFQ0sxQix3QkFBZTtVQUFmLGdCQUFlLEVBTWhCOztBQVFIO0VBQ0UsZ0REckIrQztVQ3FCL0Msd0NEckIrQyxFQ3NCaEQ7O0FBRUQ7RURWTSwwQ0FBTTtVQUFOLGtDQUFNLEVBQ047O0FBSUE7O0VDYUoscUNBQTRCO1VBQTVCLDZCQUE0QixFRGxCeEI7O0FDcUJOOztFRGpCTSxpQ0FBTTtVQUFOLHlCQUFNLEVBQ047O0FBSkE7O0VDNkJKLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUQ5QnZCOztBQ3FDTjs7RURqQ00sNENBQU07VUFBTixvQ0FBTSxFQUNOOztBQUpBOztFQzZDSixtQ0FBd0I7VUFBeEIsMkJBQXdCLEVEMUNwQjs7QUM2Q047O0VEakRNLCtCQUFNO1VBQU4sdUJBQU0sRUFDTjs7QUEzTE47O0VDQ0UsZURpSFcsRUM1R1o7RURGRDs7SUNBSSxlRGNzQyxFQWRuQjs7QVdxR3ZCO0VBa0JNLGtDQUFXO0VWd2NiLDBCRGpkUztFTzRvQ1gsZVA1b0NXLEVPNm9DWDs7QUFFRTs7RUFFQSxlUGpwQ1MsRU9pcENUO0VQOXZDcUI7OztJT2t3Q3ZCLDBCUHJwQ1c7SU9zcENYLGVQdHBDVyxFQTVHWTtFTzJ2Q3JCOztJQUZJLHNCTjd0Q2M7SU04dENkLDBCTjl0Q2M7SU0rdENsQixlUC9vQ1MsRU9ncENUOztBSXpwQ0o7RUFrQk0sa0NBQVc7RVZ3Y2IsMEJEamRTO0VPNG9DWCxlUDVvQ1csRU82b0NYOztBQUVFOztFQUVBLGVQanBDUyxFT2lwQ1Q7RVA5dkNxQjs7O0lPa3dDdkIsMEJQcnBDVztJT3NwQ1gsZVB0cENXLEVBNUdZO0VPMnZDckI7O0lBRkksc0JObnVDYztJTW91Q2QsMEJOcHVDYztJTXF1Q2xCLGVQL29DUyxFT2dwQ1Q7O0FJenBDSjtFQWtCTSxrQ0FBVztFVndjYiwwQkRqZFM7RU80b0NYLGVQNW9DVyxFTzZvQ1g7O0FBRUU7O0VBRUEsZVBqcENTLEVPaXBDVDtFUDl2Q3FCOzs7SU9rd0N2QiwwQlBycENXO0lPc3BDWCxlUHRwQ1csRUE1R1k7RU8ydkNyQjs7SUFGSSxzQlBsdkNpQztJT212Q2pDLDBCUG52Q2lDO0lPb3ZDckMsZVAvb0NTLEVPZ3BDVDs7QUl6cENKO0VBa0JNLGtDQUFXO0VWd2NiLDBCRGpkUztFTzRvQ1gsZVA1b0NXLEVPNm9DWDs7QUFFRTs7RUFFQSxlUGpwQ1MsRU9pcENUO0VQOXZDcUI7OztJT2t3Q3ZCLDBCUHJwQ1c7SU9zcENYLGVQdHBDVyxFQTVHWTtFTzJ2Q3JCOztJQUZJLHNCUHB2QzhCO0lPcXZDOUIsMEJQcnZDOEI7SU9zdkNsQyxlUC9vQ1MsRU9ncENUOztBSXpwQ0o7RUFrQk0sa0NBQVc7RVZ3Y2IsMEJEamRTO0VPNG9DWCxlUDVvQ1csRU82b0NYOztBQUVFOztFQUVBLGVQanBDUyxFT2lwQ1Q7RVA5dkNxQjs7O0lPa3dDdkIsMEJQcnBDVztJT3NwQ1gsZVB0cENXLEVBNUdZO0VPMnZDckI7O0lBRkksc0JOdHVDYztJTXV1Q2QsMEJOdnVDYztJTXd1Q2xCLGVQL29DUyxFT2dwQ1Q7O0FJenBDSjtFQWtCTSxrQ0FBVztFVndjYiwwQkRqZFM7RU80b0NYLGVQNW9DVyxFTzZvQ1g7O0FBRUU7O0VBRUEsZVBqcENTLEVPaXBDVDtFUDl2Q3FCOzs7SU9rd0N2QiwwQlBycENXO0lPc3BDWCxlUHRwQ1csRUE1R1k7RU8ydkNyQjs7SUFGSSxvQ1A5dkMwQjtJTyt2QzFCLHdDUC92QzBCO0lPZ3dDOUIsZVAvb0NTLEVPZ3BDVDs7QVBsd0NKO0VBQXlCLFdBQVMsRUNDakM7O0FBRUQ7RUFDRSxjQThsQnNDLEVEaG1CeEM7O0FDZ0JBO0VBQ0Us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QVc7RUFBRSxVQUFTO0VDaUNwQixXQUFVLEVBU1g7RUR6Q1k7SUNtQ1QsMENNNG9DcUI7SU41b0NyQixrQ000b0NxQixFUDNwQ3pCO0VBQUE7SUFBQSxxQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYSxFQUFiOztBQ3VCQTtFRHZCQSxvQkFBQTtNQUFBLHFCQUFBO1VBQUEsYUFBQTtFQ3lCRSxxQkRmWTtNQ2VaLGVEZlk7RUNnQlosc0JNK25DcUI7RU45bkNyQixnQkErYzJDLEVBemM1Qzs7QUFFRDtFQUNFLFlEcEJXO0VDcUJYLFVEcEJJO0VDcUJKLHNCRHBCVyxFQ3FCWjs7QUFLRDtFQUNFLGlCRDdDVztFQzhDWCw2QkR2Q0c7RUN1Q0gsOEJEdkNHO01DdUNILDJCRHZDRztVQ3VDSCx1QkR2Q0csRUMrSUo7RUExR0Q7SUFLSSwrQk0wbUNxQjtJTjFtQ3JCLHVCTTBtQ3FCLEVOem1DdEI7RUFOSDs7OztJQVlJLGlCVWhEK0IsRVhSbkM7RUM0Q0E7SUQ1Q0EsNkJBQWE7SUFBYiw4QkFBYTtRQUFiLDJCQUFhO1lBQWIsdUJBQWE7SUFBYixvQkFBYTtRQUFiLG1CQUFhO1lBQWIsZUFBYSxFQUFiO0lDNENBO01ENUNBLG9CQXlDTyxFQXpDUDtFQzRDQTs7O0lBMkJJLHNCVWxEQSxFVGxFQTtFRHlGSjtJRDRCSSxvQldyREM7SVhxRGtCLHVCV3JEbEI7SVYwREQsV0FBVSxFQzFIVjtFRHlGSjtJRDRCSSxtQ0FBaUIsRUFhZjtJQ3pDTjtNQTZDTSxZVXBFRixFVjBFQztFQW5ETDtJQXVESSxzQlU1RUM7SVhrRUMseUJXbEVELEVYZ0VHO0lDM0NSO01BMkRNLHNCVWhGRDtNWDhETyx5Qlc5RFAsRVgrREM7RUMxQ047SUQ4Q00sZU8ya0NILEVQMWtDSztFQy9DUjtJRDBDTSxnQkFBcUMsRUFLbkM7RUMvQ1I7SUQrQ1EsbUJDZ0NzSCxFRGxDeEg7RUM3Q047SUQrQ1EsbUJBQ0QsRUFIRDtFQzdDTjtJRCtDUSxtQkFDRCxFQUhEO0VDN0NOO0lEK0NRLG1CQUNELEVBSEQ7RUM3Q047SUQrQ1EsbUJBQ0QsRUFIRDs7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b0MsRUFaakI7SUNnZXpCOzs7TVV2ZUssZVhtQnFDLEVXbEJ4QztFVnNlRjtJVWxlRSx3Q0FDRCxFVm9mRTtFQW5CSDs7SUF1QkksZUQzZXNDLEVXSTFDO0VWZ2RBO0lVNWNFLGdDSjh1Q21DLEVJN3VDbkM7RVYyY0Y7O0lVcmNJLDZCWGhDOEIsRUNzZ0IvQjtFQWpDSDtJVTViQSxlWHhCMEMsRVd5QnhDO0VWMmJGO0lVN2JBLDZCWHhDa0MsRUM4Z0IvQjtFQXpDSDs7O0lVOWFFLDZDQUFrQixFQUNsQjtFVjZhRjs7SUFtREksd0NEeGhCOEIsRVcrRGxDO0VWc2FBO0lVbmFFLHNDSm9zQ3NDLEVJbnNDdEM7RVZrYUY7SVUvWkUsMEJYckR3QyxFV3NEeEM7RVY4WkY7SVUxWkksNkNBQ0QsRVZ5ZEE7O0FPN2VEO0VHOEJBLGdCQXdCQyxFSHZERDtFR2lDWTtJQUVaLGdCQUF5QyxFVnNkeEM7RVVqZG1CO0lBQ3BCLHVCQWNDLEVEbkdEO0VUMmlCaUI7O0lVN2NqQixtQkFvQkQ7SUFyQkQsc0JBTUc7SUFGQyx1QkFBK0I7SUFDL0Isc0JKZ3BDbUI7SUlycEN2QixpQkFJbUMsRUpxcEMvQjtJTjNzQmU7O01VaGNiLFlBQVc7TUFkakIsbUJEN0ZQO01DK0dhLGFBSEQ7TVYyY0MsZ0JVM2NEO01Kc29DRyxrQkFBaUI7TUFDakIsZUFBQztNQUNELGlCQUFpQixFQUNyQjtFTnZyQitCOztJTTZyQmpDLG1CQUFhO0lBQ2Isc0JBQW1DO0lBQ2pDLDRCQUNELEVBUkM7SUFKRjs7TUFDTSw0QkFBb0I7TUFDcEIsb0NBQWlCO01BQWpCLDRCQUFpQixFQUNyQjtFTjNxQm9DO0lNaXJCdEMsWUFBYTtJQUNiLG1CQUFhO0lBQ1gsT0FBQTtJTjlxQkUsVUFBUztJTW1xQlAsNEJBQVk7SUFDWixlQUFZO0lBQ1osdUJBQWlCO0lBQ3JCLFNBQVk7SUFDWix1QkU5bkMyQyxFRituQzNDO0VBSWlDOztJTmhxQi9CLFlBQVc7SU11cEJULG1CQUFlO0lBQ2YsU0FBQztJQUNELFFBQUM7SUFDTCxlQUFjO0lBQ2QsaUJFOW5DUTtJRitu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RURwQnVCLG1CQUFpQztFQ3VCdEQsa0JBQWlCLEVEdEJyQjs7QUN5Qm9COztFRHhCSyxjQUFjLEVDMkJwQzs7QUFpQkg7RUFoQ0U7SURoQkYsaUJBQXVCO0lBQUUsZ0JBQWdDO0lDbUJyRCxnQlU2RUQsRVgvRkg7RUNxQkU7O0lEcEJ1QixtQkFBaUM7SUN1QnRELGtCQUFpQixFRHRCckI7RUN5Qm9COztJRHhCSyxjQUFjLEVDMkJwQyxFQUFBOztBQXE2SUgscy9qbEJBQXMvamxCIiwiZmlsZSI6InZlbmRvci9jc3MvYXBwd29yay5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBVdGlsaXRpZXNcbi8vXG5cbi5vcGFjaXR5LTI1ICAgICAgICAgICAgeyBvcGFjaXR5OiAuMjUgIWltcG9ydGFudDsgfVxuLm9wYWNpdHktNTAgICAgICAgICAgICB7IG9wYWNpdHk6IC41ICFpbXBvcnRhbnQ7IH1cbi5vcGFjaXR5LTc1ICAgICAgICAgICAgeyBvcGFjaXR5OiAuNzUgIWltcG9ydGFudDsgfVxuLm9wYWNpdHktMTAwICAgICAgICAgICB7IG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxuXG4udGV4dC10aW55ICAgICAgICAgICAgIHsgZm9udC1zaXplOiAkdGlueS1mb250LXNpemUgIWltcG9ydGFudDsgfVxuLnRleHQtYmlnICAgICAgICAgICAgICB7IGZvbnQtc2l6ZTogJGJpZy1mb250LXNpemUgIWltcG9ydGFudDsgfVxuLnRleHQtbGFyZ2UgICAgICAgICAgICB7IGZvbnQtc2l6ZTogJGxhcmdlLWZvbnQtc2l6ZSAhaW1wb3J0YW50OyB9XG4udGV4dC14bGFyZ2UgICAgICAgICAgIHsgZm9udC1zaXplOiAkeGxhcmdlLWZvbnQtc2l6ZSAhaW1wb3J0YW50OyB9XG5cbi5saW5lLWhlaWdodC0xICAgICAgICAgeyBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50OyB9XG4ubGluZS1oZWlnaHQtY29uZGVuY2VkIHsgbGluZS1oZWlnaHQ6IDEuMyAhaW1wb3J0YW50OyB9XG4ubGluZS1oZWlnaHQtaW5oZXJpdCAgIHsgbGluZS1oZWlnaHQ6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuXG4udGV4dC1leHBhbmRlZCAgICAgICAgIHsgbGV0dGVyLXNwYWNpbmc6ICgoMSAvIChzdHJpcC11bml0KCRmb250LXNpemUtYmFzZSkgKiAxNikpICogMWVtKSAhaW1wb3J0YW50OyB9XG5cbi5mb250LXdlaWdodC1saWdodCAgICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1zZW1pYm9sZCAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWlib2xkICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ib2xkZXIgICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlciAhaW1wb3J0YW50OyB9XG4udGV4dC1kZWNvcmF0aW9uLW5vbmUgIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXRyYW5zZm9ybS1ub25lICAgeyB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5vdmVyZmxvdy1oaWRkZW4gICAgICAgeyBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7IH1cbi5vdmVyZmxvdy1zY3JvbGwgICAgICAgeyBvdmVyZmxvdzogc2Nyb2xsICFpbXBvcnRhbnQ7IH1cbi5vdmVyZmxvdy1hdXRvICAgICAgICAgeyBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5ib3gtc2hhZG93LW5vbmUgICAgICAgeyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmN1cnNvci1wb2ludGVyICAgICAgICB7IGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50OyB9XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTGF5b3V0IGNvbnRhaW5lcnNcblxuLmNvbnRhaW5lci1wLXgge1xuICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmcteC1zbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy14LXNtICFpbXBvcnRhbnQ7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy14ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmcteCAhaW1wb3J0YW50O1xuICB9XG59XG4uY29udGFpbmVyLW0tLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0kY29udGFpbmVyLXBhZGRpbmcteC1zbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogLSRjb250YWluZXItcGFkZGluZy14LXNtICFpbXBvcnRhbnQ7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIG1hcmdpbi1yaWdodDogLSRjb250YWluZXItcGFkZGluZy14ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IC0kY29udGFpbmVyLXBhZGRpbmcteCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5jb250YWluZXItcC15IHtcbiAgJjpub3QoW2NsYXNzXj1cInB0LVwiXSk6bm90KFtjbGFzcyo9XCIgcHQtXCJdKSB7XG4gICAgcGFkZGluZy10b3A6ICRjb250YWluZXItcGFkZGluZy15ICFpbXBvcnRhbnQ7XG4gIH1cbiAgJjpub3QoW2NsYXNzXj1cInBiLVwiXSk6bm90KFtjbGFzcyo9XCIgcGItXCJdKSB7XG4gICAgcGFkZGluZy1ib3R0b206ICRjb250YWluZXItcGFkZGluZy15ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5jb250YWluZXItbS0teSB7XG4gICY6bm90KFtjbGFzc149XCJtdC1cIl0pOm5vdChbY2xhc3MqPVwiIG10LVwiXSkge1xuICAgIG1hcmdpbi10b3A6IC0kY29udGFpbmVyLXBhZGRpbmcteSAhaW1wb3J0YW50O1xuICB9XG4gICY6bm90KFtjbGFzc149XCJtYi1cIl0pOm5vdChbY2xhc3MqPVwiIG1iLVwiXSkge1xuICAgIG1hcmdpbi1ib3R0b206IC0kY29udGFpbmVyLXBhZGRpbmcteSAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLy8gVHJhbnNmb3Jtc1xuLy9cblxuLnJvdGF0ZS05MCB7IHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuLnJvdGF0ZS0xODAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4ucm90YXRlLTI3MCB7IHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cbi5yb3RhdGUtLTkwIHsgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsgfVxuLnJvdGF0ZS0tMTgwIHsgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7IH1cbi5yb3RhdGUtLTI3MCB7IHRyYW5zZm9ybTogcm90YXRlKC0yNzBkZWcpOyB9XG4ucm90YXRlLTAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSAhaW1wb3J0YW50OyB9XG5cbi5zY2FsZVgtLTEgeyB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7IH1cbi5zY2FsZVktLTEgeyB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7IH1cblxuQGluY2x1ZGUgcnRsLW9ubHkge1xuICAucm90YXRlLTkwIHsgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsgfVxuICAucm90YXRlLTE4MCB7IHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpOyB9XG4gIC5yb3RhdGUtMjcwIHsgdHJhbnNmb3JtOiByb3RhdGUoLTI3MGRlZyk7IH1cbiAgLnJvdGF0ZS0tOTAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cbiAgLnJvdGF0ZS0tMTgwIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAucm90YXRlLS0yNzAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XG5cbiAgLnNjYWxlWC0tMSB7IHRyYW5zZm9ybTogc2NhbGVYKDEpOyB9XG4gIC5zY2FsZVktLTEgeyB0cmFuc2Zvcm06IHNjYWxlWSgxKTsgfVxuXG4gIC5zY2FsZVgtLTEtcnRsIHsgdHJhbnNmb3JtOiBzY2FsZVgoLTEpOyB9XG4gIC5zY2FsZVktLTEtcnRsIHsgdHJhbnNmb3JtOiBzY2FsZVkoLTEpOyB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQm9yZGVyZWQgcm93c1xuXG4ucm93LWJvcmRlcmVkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgPiAuY29sLFxuICAgPiBbY2xhc3NePVwiY29sLVwiXSxcbiAgID4gW2NsYXNzKj1cIiBjb2wtXCJdLFxuICAgPiBbY2xhc3NePVwiY29sIFwiXSxcbiAgID4gW2NsYXNzKj1cIiBjb2wgXCJdLFxuICAgPiBbY2xhc3MkPVwiIGNvbFwiXSxcbiAgID4gW2NsYXNzPVwiY29sXCJdIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDFweDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlcmVkLXJvdy1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYm9yZGVyZWQtcm93LWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLnJvdy1ib3JkZXItbGlnaHQge1xuICAgICA+IC5jb2wsXG4gICAgID4gW2NsYXNzXj1cImNvbC1cIl0sXG4gICAgID4gW2NsYXNzKj1cIiBjb2wtXCJdLFxuICAgICA+IFtjbGFzc149XCJjb2wgXCJdLFxuICAgICA+IFtjbGFzcyo9XCIgY29sIFwiXSxcbiAgICAgPiBbY2xhc3MkPVwiIGNvbFwiXSxcbiAgICAgPiBbY2xhc3M9XCJjb2xcIl0ge1xuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRncmF5LTEwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgcnRsLW9ubHkge1xuICAucm93LWJvcmRlcmVkID4gLmNvbDo6YWZ0ZXIsXG4gIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3NePVwiY29sLVwiXTo6YWZ0ZXIsXG4gIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MqPVwiIGNvbC1cIl06OmFmdGVyLFxuICAucm93LWJvcmRlcmVkID4gW2NsYXNzXj1cImNvbCBcIl06OmFmdGVyLFxuICAucm93LWJvcmRlcmVkID4gW2NsYXNzKj1cIiBjb2wgXCJdOjphZnRlcixcbiAgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyQ9XCIgY29sXCJdOjphZnRlcixcbiAgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcz1cImNvbFwiXTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0xcHg7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBXaWR0aFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBzbGljZS1saXN0KG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSwgMikge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgLncjeyRpbmZpeH0tMTAwIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgIC53I3skaW5maXh9LWF1dG8geyB3aWR0aDogYXV0byAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBOZWdhdGl2ZSBob3Jpem9udGFsIG1hcmdpbnNcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRydGwtcHJlZml4OiBpZigkcnRsLXN1cHBvcnQgPT0gdHJ1ZSwgJ2h0bWw6bm90KFtkaXI9cnRsXSkgYm9keTpub3QoW2Rpcj1ydGxdKSAnLCAnJyk7XG5cbiAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICAjeyRydGwtcHJlZml4fS5tciN7JGluZml4fS0tI3skc2l6ZX0sXG4gICAgICAjeyRydGwtcHJlZml4fS5teCN7JGluZml4fS0tI3skc2l6ZX0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAjeyRydGwtcHJlZml4fS5tbCN7JGluZml4fS0tI3skc2l6ZX0sXG4gICAgICAjeyRydGwtcHJlZml4fS5teCN7JGluZml4fS0tI3skc2l6ZX0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgQGlmICRydGwtc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgLm1yI3skaW5maXh9LS0jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LS0jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1sI3skaW5maXh9LS0jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LS0jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRmxleFxuXG4uZmxleC10cnVuY2F0ZSAgeyBtaW4td2lkdGg6IDAgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgLmZsZXgtYmFzaXMjeyRpbmZpeH0tMTAwIHsgZmxleC1iYXNpczogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgtYmFzaXMjeyRpbmZpeH0tYXV0byB7IGZsZXgtYmFzaXM6IGF1dG8gIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vIElFIGZpeFxuLmQtZmxleCxcbi5kLWlubGluZS1mbGV4LFxuLm1lZGlhLFxuLm1lZGlhID4gOm5vdCgubWVkaWEtYm9keSksXG4uanVtYm90cm9uLFxuLmNhcmQge1xuICBmbGV4LXNocmluazogMTtcbn1cbi8vIEZpeCBJRSBwYXJlbnQgY29udGFpbmVyIGhlaWdodCBidWcgd2hlbiBjb250YWluaW5nIGltYWdlIHdpdGggZmx1aWQgd2lkdGhcbi5pZS1taC0xIHtcbiAgbWluLWhlaWdodDogMXB4O1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFRleHQgY29sb3JcblxuLnRleHQtZGFyayB7XG4gIGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50O1xuXG4gICZbaHJlZl0ge1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6Zm9jdXM6bm90KDpob3Zlcikge1xuICAgICAgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi50ZXh0LW11dGVkW2hyZWZdIHtcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBjb2xvcjogJHRleHQtbXV0ZWQtaG92ZXIgIWltcG9ydGFudDsgfVxufVxuXG4udGV4dC1saWdodCB7XG4gIGNvbG9yOiAkdGV4dC1saWdodCAhaW1wb3J0YW50O1xuXG4gICZbaHJlZl0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgY29sb3I6ICR0ZXh0LW11dGVkLWhvdmVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4udGV4dC1saWdodGVyIHtcbiAgY29sb3I6ICR0ZXh0LWxpZ2h0ZXIgIWltcG9ydGFudDtcblxuICAmW2hyZWZdIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGNvbG9yOiAkdGV4dC1tdXRlZC1ob3ZlciAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLnRleHQtbGlnaHRlc3Qge1xuICBjb2xvcjogJHRleHQtbGlnaHRlc3QgIWltcG9ydGFudDtcblxuICAmW2hyZWZdIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGNvbG9yOiAkdGV4dC1tdXRlZC1ob3ZlciAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEJhY2tncm91bmQgY29sb3JcblxuLmJnLWRhcmsgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS05MDAgIWltcG9ydGFudDsgfVxuYS5iZy1kYXJrIHtcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS05MDAgIWltcG9ydGFudDsgfVxufVxuXG4uYmctbGlnaHQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDAgIWltcG9ydGFudDsgfVxuYS5iZy1saWdodCB7XG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMjAwICFpbXBvcnRhbnQ7IH1cbn1cblxuLmJnLWxpZ2h0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS01MCAhaW1wb3J0YW50OyB9XG5hLmJnLWxpZ2h0ZXIge1xuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5LTEwMCAhaW1wb3J0YW50OyB9XG59XG5cbi5iZy1saWdodGVzdCB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5LTI1ICFpbXBvcnRhbnQ7IH1cbmEuYmctbGlnaHRlc3Qge1xuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5LTUwICFpbXBvcnRhbnQ7IH1cbn1cblxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEJvcmRlciBjb2xvclxuXG4uYm9yZGVyLWxpZ2h0IHtcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheS0xMDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1kYXJrIHtcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheS05MDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci10cmFuc3BhcmVudCB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBSVExcblxuQGluY2x1ZGUgcnRsLW9ubHkge1xuICAvLyBCb3JkZXJzXG4gIC8vXG5cbiAgLmJvcmRlciAgICAgICAgICB7IGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgLmJvcmRlci0wICAgICAgICB7IGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG4gIC5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmJvcmRlci1yaWdodC0wICB7IGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLmJvcmRlci1ib3R0b20tMCB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAuYm9yZGVyLWxlZnQtMCAgIHsgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAuYm9yZGVyLSN7JGNvbG9yfSB7XG4gICAgICBib3JkZXItY29sb3I6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5ib3JkZXItd2hpdGUge1xuICAgIGJvcmRlci1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgfVxuICAucm91bmRlZC10b3Age1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdW5kZWQtcmlnaHQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgfVxuICAucm91bmRlZC1ib3R0b20ge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdW5kZWQtbGVmdCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucm91bmRlZC1jaXJjbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnJvdW5kZWQtMCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gRmxvYXRcbiAgLy9cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgICAuZmxvYXQjeyRpbmZpeH0tbGVmdCAgeyBAaW5jbHVkZSBmbG9hdC1yaWdodDsgfVxuICAgICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgQGluY2x1ZGUgZmxvYXQtbGVmdDsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgYWxpZ25tZW50XG4gIC8vXG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICAgLnRleHQjeyRpbmZpeH0tbGVmdCAgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgICAgLnRleHQjeyRpbmZpeH0tcmlnaHQgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3BhY2luZ1xuICAvL1xuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAgIEBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuXG4gICAgICAgICAgLiN7JGFiYnJldn0jeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgLiN7JGFiYnJldn10I3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgICAjeyRwcm9wfS10b3A6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JGFiYnJldn1yI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRhYmJyZXZ9YiN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gU29tZSBzcGVjaWFsIG1hcmdpbiB1dGlsc1xuICAgICAgLm0jeyRpbmZpeH0tYXV0byB7IG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgICAubXQjeyRpbmZpeH0tYXV0byxcbiAgICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLm1yI3skaW5maXh9LWF1dG8sXG4gICAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAubWIjeyRpbmZpeH0tYXV0byxcbiAgICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLm1sI3skaW5maXh9LWF1dG8sXG4gICAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVXRpbGl0aWVzXG4vL1xuXG4ub3BhY2l0eS0yNSAgICAgICAgICAgIHsgb3BhY2l0eTogLjI1ICFpbXBvcnRhbnQ7IH1cbi5vcGFjaXR5LTUwICAgICAgICAgICAgeyBvcGFjaXR5OiAuNSAhaW1wb3J0YW50OyB9XG4ub3BhY2l0eS03NSAgICAgICAgICAgIHsgb3BhY2l0eTogLjc1ICFpbXBvcnRhbnQ7IH1cbi5vcGFjaXR5LTEwMCAgICAgICAgICAgeyBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtdGlueSAgICAgICAgICAgICB7IGZvbnQtc2l6ZTogJHRpbnktZm9udC1zaXplICFpbXBvcnRhbnQ7IH1cbi50ZXh0LWJpZyAgICAgICAgICAgICAgeyBmb250LXNpemU6ICRiaWctZm9udC1zaXplICFpbXBvcnRhbnQ7IH1cbi50ZXh0LWxhcmdlICAgICAgICAgICAgeyBmb250LXNpemU6ICRsYXJnZS1mb250LXNpemUgIWltcG9ydGFudDsgfVxuLnRleHQteGxhcmdlICAgICAgICAgICB7IGZvbnQtc2l6ZTogJHhsYXJnZS1mb250LXNpemUgIWltcG9ydGFudDsgfVxuXG4ubGluZS1oZWlnaHQtMSAgICAgICAgIHsgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDsgfVxuLmxpbmUtaGVpZ2h0LWNvbmRlbmNlZCB7IGxpbmUtaGVpZ2h0OiAxLjMgIWltcG9ydGFudDsgfVxuLmxpbmUtaGVpZ2h0LWluaGVyaXQgICB7IGxpbmUtaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtZXhwYW5kZWQgICAgICAgICB7IGxldHRlci1zcGFjaW5nOiAoKDEgLyAoc3RyaXAtdW5pdCgkZm9udC1zaXplLWJhc2UpICogMTYpKSAqIDFlbSkgIWltcG9ydGFudDsgfVxuXG4uZm9udC13ZWlnaHQtbGlnaHQgICAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtc2VtaWJvbGQgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pYm9sZCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZGVyICAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXIgIWltcG9ydGFudDsgfVxuLnRleHQtZGVjb3JhdGlvbi1ub25lICB7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG4udGV4dC10cmFuc2Zvcm0tbm9uZSAgIHsgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ub3ZlcmZsb3ctaGlkZGVuICAgICAgIHsgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG4ub3ZlcmZsb3ctc2Nyb2xsICAgICAgIHsgb3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50OyB9XG4ub3ZlcmZsb3ctYXV0byAgICAgICAgIHsgb3ZlcmZsb3c6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4uYm94LXNoYWRvdy1ub25lICAgICAgIHsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5jdXJzb3ItcG9pbnRlciAgICAgICAgeyBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDsgfVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIExheW91dCBjb250YWluZXJzXG5cbi5jb250YWluZXItcC14IHtcbiAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLXgtc20gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmcteC1zbSAhaW1wb3J0YW50O1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmcteCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLXggIWltcG9ydGFudDtcbiAgfVxufVxuLmNvbnRhaW5lci1tLS14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNvbnRhaW5lci1wYWRkaW5nLXgtc20gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IC0kY29udGFpbmVyLXBhZGRpbmcteC1zbSAhaW1wb3J0YW50O1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kY29udGFpbmVyLXBhZGRpbmcteCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAtJGNvbnRhaW5lci1wYWRkaW5nLXggIWltcG9ydGFudDtcbiAgfVxufVxuXG4uY29udGFpbmVyLXAteSB7XG4gICY6bm90KFtjbGFzc149XCJwdC1cIl0pOm5vdChbY2xhc3MqPVwiIHB0LVwiXSkge1xuICAgIHBhZGRpbmctdG9wOiAkY29udGFpbmVyLXBhZGRpbmcteSAhaW1wb3J0YW50O1xuICB9XG4gICY6bm90KFtjbGFzc149XCJwYi1cIl0pOm5vdChbY2xhc3MqPVwiIHBiLVwiXSkge1xuICAgIHBhZGRpbmctYm90dG9tOiAkY29udGFpbmVyLXBhZGRpbmcteSAhaW1wb3J0YW50O1xuICB9XG59XG4uY29udGFpbmVyLW0tLXkge1xuICAmOm5vdChbY2xhc3NePVwibXQtXCJdKTpub3QoW2NsYXNzKj1cIiBtdC1cIl0pIHtcbiAgICBtYXJnaW4tdG9wOiAtJGNvbnRhaW5lci1wYWRkaW5nLXkgIWltcG9ydGFudDtcbiAgfVxuICAmOm5vdChbY2xhc3NePVwibWItXCJdKTpub3QoW2NsYXNzKj1cIiBtYi1cIl0pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtJGNvbnRhaW5lci1wYWRkaW5nLXkgIWltcG9ydGFudDtcbiAgfVxufVxuXG5cbi8vIFRyYW5zZm9ybXNcbi8vXG5cbi5yb3RhdGUtOTAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cbi5yb3RhdGUtMTgwIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuLnJvdGF0ZS0yNzAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XG4ucm90YXRlLS05MCB7IHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH1cbi5yb3RhdGUtLTE4MCB7IHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpOyB9XG4ucm90YXRlLS0yNzAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMjcwZGVnKTsgfVxuLnJvdGF0ZS0wIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgIWltcG9ydGFudDsgfVxuXG4uc2NhbGVYLS0xIHsgdHJhbnNmb3JtOiBzY2FsZVgoLTEpOyB9XG4uc2NhbGVZLS0xIHsgdHJhbnNmb3JtOiBzY2FsZVkoLTEpOyB9XG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgLnJvdGF0ZS05MCB7IHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH1cbiAgLnJvdGF0ZS0xODAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxuICAucm90YXRlLTI3MCB7IHRyYW5zZm9ybTogcm90YXRlKC0yNzBkZWcpOyB9XG4gIC5yb3RhdGUtLTkwIHsgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG4gIC5yb3RhdGUtLTE4MCB7IHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLnJvdGF0ZS0tMjcwIHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxuXG4gIC5zY2FsZVgtLTEgeyB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgfVxuICAuc2NhbGVZLS0xIHsgdHJhbnNmb3JtOiBzY2FsZVkoMSk7IH1cblxuICAuc2NhbGVYLS0xLXJ0bCB7IHRyYW5zZm9ybTogc2NhbGVYKC0xKTsgfVxuICAuc2NhbGVZLS0xLXJ0bCB7IHRyYW5zZm9ybTogc2NhbGVZKC0xKTsgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEJvcmRlcmVkIHJvd3NcblxuLnJvdy1ib3JkZXJlZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgID4gLmNvbCxcbiAgID4gW2NsYXNzXj1cImNvbC1cIl0sXG4gICA+IFtjbGFzcyo9XCIgY29sLVwiXSxcbiAgID4gW2NsYXNzXj1cImNvbCBcIl0sXG4gICA+IFtjbGFzcyo9XCIgY29sIFwiXSxcbiAgID4gW2NsYXNzJD1cIiBjb2xcIl0sXG4gICA+IFtjbGFzcz1cImNvbFwiXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAxcHg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXJlZC1yb3ctYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAtMXB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJvcmRlcmVkLXJvdy1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJi5yb3ctYm9yZGVyLWxpZ2h0IHtcbiAgICAgPiAuY29sLFxuICAgICA+IFtjbGFzc149XCJjb2wtXCJdLFxuICAgICA+IFtjbGFzcyo9XCIgY29sLVwiXSxcbiAgICAgPiBbY2xhc3NePVwiY29sIFwiXSxcbiAgICAgPiBbY2xhc3MqPVwiIGNvbCBcIl0sXG4gICAgID4gW2NsYXNzJD1cIiBjb2xcIl0sXG4gICAgID4gW2NsYXNzPVwiY29sXCJdIHtcbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JheS0xMDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgLnJvdy1ib3JkZXJlZCA+IC5jb2w6OmFmdGVyLFxuICAucm93LWJvcmRlcmVkID4gW2NsYXNzXj1cImNvbC1cIl06OmFmdGVyLFxuICAucm93LWJvcmRlcmVkID4gW2NsYXNzKj1cIiBjb2wtXCJdOjphZnRlcixcbiAgLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149XCJjb2wgXCJdOjphZnRlcixcbiAgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyo9XCIgY29sIFwiXTo6YWZ0ZXIsXG4gIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MkPVwiIGNvbFwiXTo6YWZ0ZXIsXG4gIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3M9XCJjb2xcIl06OmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAtMXB4O1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogV2lkdGhcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gc2xpY2UtbGlzdChtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cyksIDIpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgIC53I3skaW5maXh9LTEwMCB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICAudyN7JGluZml4fS1hdXRvIHsgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTmVnYXRpdmUgaG9yaXpvbnRhbCBtYXJnaW5zXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkcnRsLXByZWZpeDogaWYoJHJ0bC1zdXBwb3J0ID09IHRydWUsICdodG1sOm5vdChbZGlyPXJ0bF0pIGJvZHk6bm90KFtkaXI9cnRsXSkgJywgJycpO1xuXG4gICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgI3skcnRsLXByZWZpeH0ubXIjeyRpbmZpeH0tLSN7JHNpemV9LFxuICAgICAgI3skcnRsLXByZWZpeH0ubXgjeyRpbmZpeH0tLSN7JHNpemV9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgI3skcnRsLXByZWZpeH0ubWwjeyRpbmZpeH0tLSN7JHNpemV9LFxuICAgICAgI3skcnRsLXByZWZpeH0ubXgjeyRpbmZpeH0tLSN7JHNpemV9IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcnRsLXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgIC5tciN7JGluZml4fS0tI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS0tI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tbCN7JGluZml4fS0tI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS0tI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEZsZXhcblxuLmZsZXgtdHJ1bmNhdGUgIHsgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgIC5mbGV4LWJhc2lzI3skaW5maXh9LTEwMCB7IGZsZXgtYmFzaXM6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4LWJhc2lzI3skaW5maXh9LWF1dG8geyBmbGV4LWJhc2lzOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4vLyBJRSBmaXhcbi5kLWZsZXgsXG4uZC1pbmxpbmUtZmxleCxcbi5tZWRpYSxcbi5tZWRpYSA+IDpub3QoLm1lZGlhLWJvZHkpLFxuLmp1bWJvdHJvbixcbi5jYXJkIHtcbiAgZmxleC1zaHJpbms6IDE7XG59XG4vLyBGaXggSUUgcGFyZW50IGNvbnRhaW5lciBoZWlnaHQgYnVnIHdoZW4gY29udGFpbmluZyBpbWFnZSB3aXRoIGZsdWlkIHdpZHRoXG4uaWUtbWgtMSB7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBUZXh0IGNvbG9yXG5cbi50ZXh0LWRhcmsge1xuICBjb2xvcjogJGJvZHktY29sb3IgIWltcG9ydGFudDtcblxuICAmW2hyZWZdIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmZvY3VzOm5vdCg6aG92ZXIpIHtcbiAgICAgIGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4udGV4dC1tdXRlZFtocmVmXSB7XG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgY29sb3I6ICR0ZXh0LW11dGVkLWhvdmVyICFpbXBvcnRhbnQ7IH1cbn1cblxuLnRleHQtbGlnaHQge1xuICBjb2xvcjogJHRleHQtbGlnaHQgIWltcG9ydGFudDtcblxuICAmW2hyZWZdIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGNvbG9yOiAkdGV4dC1tdXRlZC1ob3ZlciAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLnRleHQtbGlnaHRlciB7XG4gIGNvbG9yOiAkdGV4dC1saWdodGVyICFpbXBvcnRhbnQ7XG5cbiAgJltocmVmXSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBjb2xvcjogJHRleHQtbXV0ZWQtaG92ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi50ZXh0LWxpZ2h0ZXN0IHtcbiAgY29sb3I6ICR0ZXh0LWxpZ2h0ZXN0ICFpbXBvcnRhbnQ7XG5cbiAgJltocmVmXSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBjb2xvcjogJHRleHQtbXV0ZWQtaG92ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBCYWNrZ3JvdW5kIGNvbG9yXG5cbi5iZy1kYXJrIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktOTAwICFpbXBvcnRhbnQ7IH1cbmEuYmctZGFyayB7XG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktOTAwICFpbXBvcnRhbnQ7IH1cbn1cblxuLmJnLWxpZ2h0IHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTAwICFpbXBvcnRhbnQ7IH1cbmEuYmctbGlnaHQge1xuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5LTIwMCAhaW1wb3J0YW50OyB9XG59XG5cbi5iZy1saWdodGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktNTAgIWltcG9ydGFudDsgfVxuYS5iZy1saWdodGVyIHtcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDAgIWltcG9ydGFudDsgfVxufVxuXG4uYmctbGlnaHRlc3QgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0yNSAhaW1wb3J0YW50OyB9XG5hLmJnLWxpZ2h0ZXN0IHtcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS01MCAhaW1wb3J0YW50OyB9XG59XG5cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBCb3JkZXIgY29sb3JcblxuLmJvcmRlci1saWdodCB7XG4gIGJvcmRlci1jb2xvcjogJGdyYXktMTAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItZGFyayB7XG4gIGJvcmRlci1jb2xvcjogJGdyYXktOTAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItdHJhbnNwYXJlbnQge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogUlRMXG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgLy8gQm9yZGVyc1xuICAvL1xuXG4gIC5ib3JkZXIgICAgICAgICAgeyBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4gIC5ib3JkZXItMCAgICAgICAgeyBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuICAuYm9yZGVyLXRvcC0wICAgIHsgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5ib3JkZXItcmlnaHQtMCAgeyBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5ib3JkZXItYm90dG9tLTAgeyBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmJvcmRlci1sZWZ0LTAgICB7IGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLmJvcmRlci0jeyRjb2xvcn0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuYm9yZGVyLXdoaXRlIHtcbiAgICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdW5kZWQtdG9wIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3VuZGVkLXJpZ2h0IHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdW5kZWQtYm90dG9tIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3VuZGVkLWxlZnQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnJvdW5kZWQtY2lyY2xlIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5yb3VuZGVkLTAge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEZsb2F0XG4gIC8vXG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICAgLmZsb2F0I3skaW5maXh9LWxlZnQgIHsgQGluY2x1ZGUgZmxvYXQtcmlnaHQ7IH1cbiAgICAgIC5mbG9hdCN7JGluZml4fS1yaWdodCB7IEBpbmNsdWRlIGZsb2F0LWxlZnQ7IH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIGFsaWdubWVudFxuICAvL1xuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAgIC50ZXh0I3skaW5maXh9LWxlZnQgICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC50ZXh0I3skaW5maXh9LXJpZ2h0ICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNwYWNpbmdcbiAgLy9cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XG4gICAgICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcblxuICAgICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAgIC4jeyRhYmJyZXZ9dCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICAgI3skcHJvcH0tdG9wOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRhYmJyZXZ9ciN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICAgI3skcHJvcH0tbGVmdDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skYWJicmV2fWwjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFNvbWUgc3BlY2lhbCBtYXJnaW4gdXRpbHNcbiAgICAgIC5tI3skaW5maXh9LWF1dG8geyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAgICAgLm10I3skaW5maXh9LWF1dG8sXG4gICAgICAubXkjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5tciN7JGluZml4fS1hdXRvLFxuICAgICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLm1iI3skaW5maXh9LWF1dG8sXG4gICAgICAubXkjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5tbCN7JGluZml4fS1hdXRvLFxuICAgICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDJweCwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQ29sb3JzXG5cbiR3aGl0ZTogICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICAgICAjMTgxQzIxICFkZWZhdWx0O1xuJGdyYXktMjU6ICAgICAgcmdiYSgkYmxhY2ssIC4wMTUpICFkZWZhdWx0O1xuJGdyYXktNTA6ICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICAgICByZ2JhKCRibGFjaywgLjA2KSAhZGVmYXVsdDtcbiRncmF5LTIwMDogICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJGdyYXktNDAwOiAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRncmF5LTUwMDogICAgIHJnYmEoJGJsYWNrLCAuNCkgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJGdyYXktNzAwOiAgICAgcmdiYSgkYmxhY2ssIC42KSAhZGVmYXVsdDtcbiRncmF5LTgwMDogICAgIHJnYmEoJGJsYWNrLCAuOCkgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuXG4kZ3JheXM6IChcbiAgXCIyNVwiOiAkZ3JheS0yNSxcbiAgXCI1MFwiOiAkZ3JheS01MFxuKSAhZGVmYXVsdDtcblxuJGJsdWU6ICAgICAgICAgIzFlNzBjZCAhZGVmYXVsdDtcbiRpbmRpZ286ICAgICAgICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgICAgICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICAgICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAgICAgICNkOTUzNGYgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgICAgICAjRkVCNzQ0ICFkZWZhdWx0O1xuJHllbGxvdzogICAgICAgI0ZGRDk1MCAhZGVmYXVsdDtcbiRncmVlbjogICAgICAgICMwMkJDNzcgIWRlZmF1bHQ7XG4kdGVhbDogICAgICAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICAgICAgIzI4YzNkNyAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKFxuICBcInByaW1hcnlcIjogICAkaW5kaWdvLFxuICBcInNlY29uZGFyeVwiOiAjODg5N0FBLFxuICBcInN1Y2Nlc3NcIjogICAkZ3JlZW4sXG4gIFwiaW5mb1wiOiAgICAgICRjeWFuLFxuICBcIndhcm5pbmdcIjogICAkeWVsbG93LFxuICBcImRhbmdlclwiOiAgICAkcmVkLFxuICBcImRhcmtcIjogICAgICAkZ3JheS05MDBcbikgIWRlZmF1bHQ7XG5cbiRib2R5LWNvbG9yOiAgICAgICAjNEU1MTU1ICFkZWZhdWx0OyAvLyM0YTRhNGFcblxuLy8gIzA2Y1xuJGxpbmstY29sb3I6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6IGxpZ2h0ZW4oJGxpbmstY29sb3IsIDEwJSkgIWRlZmF1bHQ7XG5cbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRm9udHNcblxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiUm9ib3RvXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogIFwiU0ZNb25vLVJlZ3VsYXJcIiwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgLjg5NHJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUteGw6ICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS14czogICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1zZW1pYm9sZDogICA1MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgOTAwICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgMS40NyAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC14bDogICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC14czogICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAyLjI1cmVtICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgIDEuODEzcmVtICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgIDEuNTYzcmVtICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgIDEuMzEzcmVtICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgJGZvbnQtd2VpZ2h0LXNlbWlib2xkICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgIDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAkc3BhY2VyICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgNHJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgM3JlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAycmVtICFkZWZhdWx0O1xuXG4kdGlueS1mb250LXNpemU6ICAgICAgICAgNzAlICFkZWZhdWx0O1xuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgIDg1JSAhZGVmYXVsdDtcbiRiaWctZm9udC1zaXplOiAgICAgICAgICAxMTIlICFkZWZhdWx0O1xuJGxhcmdlLWZvbnQtc2l6ZTogICAgICAgIDE1MCUgIWRlZmF1bHQ7XG4keGxhcmdlLWZvbnQtc2l6ZTogICAgICAgMTcwJSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTUwMCkgIWRlZmF1bHQ7XG4kdGV4dC1tdXRlZC1ob3ZlcjogICAgICAgcmdiYS10by1oZXgoJGdyYXktNjAwKSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiByZ2JhLXRvLWhleCgkZ3JheS01MDApICFkZWZhdWx0O1xuJHRleHQtbGlnaHQ6ICAgICAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTQwMCkgIWRlZmF1bHQ7XG4kdGV4dC1saWdodGVyOiAgICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktMzAwKSAhZGVmYXVsdDtcbiR0ZXh0LWxpZ2h0ZXN0OiAgICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS0yMDApICFkZWZhdWx0O1xuXG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgbm9uZSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBHcmlkXG5cbiRncmlkLWd1dHRlci13aWR0aDogMS41cmVtICFkZWZhdWx0O1xuXG4kY29udGFpbmVyLXBhZGRpbmcteDogMnJlbSAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy14LXNtOiAxcmVtICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLXk6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBDb21wb25lbnRzXG5cbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywuMDYpICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXhsOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXhzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGNvbXBvbmVudC1saW5lLWhlaWdodDogICAgICAgICAgIDEuNTQgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aDogICAgMnB4ICFkZWZhdWx0O1xuXG4kZmxvYXRpbmctY29tcG9uZW50LWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdzogICAgICAgMCAxcHggNnB4IHJnYmEoMCwgMCwgMCwgLjA5KSAhZGVmYXVsdDtcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRib3JkZXJlZC1yb3ctYm9yZGVyLWNvbG9yOiAgICAgICAkaHItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgLjQyZW0gIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogWi1pbmRleCBtYXN0ZXIgbGlzdFxuXG4kemluZGV4LWxheW91dC1maXhlZDogIDEwODAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLXRvcDogICAgIDEwOTAgIWRlZmF1bHQ7XG4kemluZGV4LWxheW91dC1tb2JpbGU6IDExMDAgIWRlZmF1bHQ7XG4kemluZGV4LW5vdGlmaWNhdGlvbjogIDk5OTk5OSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBUYWJsZXNcblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAuNjI1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAuMzEyNXJlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMjUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICByZ2JhKCRibGFjaywgLjAzNSkgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgIHJnYmEtdG8taGV4KCR0YWJsZS1ob3Zlci1iZykgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgcmdiYS10by1oZXgoJGdyYXktMTAwKSAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAkZ3JheS01MCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICByZ2JhKCR3aGl0ZSwgLjAzKSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6IGxpZ2h0ZW4ocmdiYS10by1oZXgoJGdyYXktOTAwKSwgNyUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQnV0dG9uc1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAuNDM4cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgMS4xMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAxLjU0ICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS14czogICAwICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgteHM6ICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS14czogICAkZm9udC1zaXplLXhzICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC14czogJGxpbmUtaGVpZ2h0LXhzICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAuMTg4cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgLjY4NzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAxLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS14bDogICAuODc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgteGw6ICAgMi4xMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS14bDogICAkZm9udC1zaXplLXhsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC14bDogJGxpbmUtaGVpZ2h0LXhsICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci1yYWRpdXMteHM6ICAgICAkYm9yZGVyLXJhZGl1cy14cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy14bDogICAgICRib3JkZXItcmFkaXVzLXhsICFkZWZhdWx0O1xuXG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC4yNSkgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xuXG4kYnRuLWRlZmF1bHQtYmc6ICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1ib3JkZXI6ICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1jb2xvcjogICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEZvcm1zXG5cbiRsYWJlbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgLjgzMTI1cmVtICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtc2VtaWJvbGQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktMTAwKSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICR0ZXh0LWxpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgICAgIHB4LXRvLXJlbShmbG9vcihyZW0tdG8tcHgoKCRpbnB1dC1idG4tZm9udC1zaXplICogJGlucHV0LWJ0bi1saW5lLWhlaWdodCkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXkgKiAyKSkpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItc206ICAgICAgICAgICAgICAgICAgICAgcHgtdG8tcmVtKGZsb29yKHJlbS10by1weCgoJGlucHV0LWJ0bi1mb250LXNpemUtc20gKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAqIDIpKSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1sZzogICAgICAgICAgICAgICAgICAgICBweC10by1yZW0oZmxvb3IocmVtLXRvLXB4KCgkZm9udC1zaXplLWxnICogJGxpbmUtaGVpZ2h0LWxnKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAqIDIpKSkpICFkZWZhdWx0O1xuXG4kaW5wdXQtaW52ZXJ0ZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoI2ZmZiwgLjMpICFkZWZhdWx0O1xuJGlucHV0LWludmVydGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGlucHV0LWludmVydGVkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtaW52ZXJ0ZWQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtaW52ZXJ0ZWQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgIHJnYmEoI2ZmZiwgLjcpICFkZWZhdWx0O1xuJGlucHV0LWludmVydGVkLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICByZ2JhKCNmZmYsIC4xKSAhZGVmYXVsdDtcbiRpbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgJGlucHV0LWludmVydGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgICAgIDEuMTI1cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogICAgIDFweCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgICAgICAoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICsgLjQzOHJlbSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgICAgXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA5LjUgNy41JyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMC43NSA0LjM1IDQuMTggNi43NSA4Ljc1IDAuNzUnIHN0eWxlPSdmaWxsOm5vbmU7c3Ryb2tlOl9DT0xPUl87c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDoxLjVweCcvJTNFJTNDL3N2ZyUzRVwiICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICAgICA2NSUgNjUlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAgICAgICBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEwIDEwJyUzRSUzQ2NpcmNsZSBjeD0nNScgY3k9JzUnIHI9JzQuNScgc3R5bGU9J2ZpbGw6X0NPTE9SXycvJTNFJTNDcGF0aCBkPSdNNSwxQTQsNCwwLDEsMSwxLDUsNCw0LDAsMCwxLDUsMU01LDBhNSw1LDAsMSwwLDUsNUE1LDUsMCwwLDAsNSwwWicgc3R5bGU9J2ZpbGw6X0NPTE9SXycvJTNFJTNDL3N2ZyUzRVwiICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmctc2l6ZTogICAgICAgICAgICA0MCUgNDAlICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgbm9uZSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAgICAgICAgICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW52ZXJ0ZWQtZGlzYWJsZWQtY29sb3I6ICAgICAkaW5wdXQtaW52ZXJ0ZWQtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbnZlcnRlZC1kaXNhYmxlZC1iZzogICAgICAgICRpbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgICAgICAgICAxN3B4IDEycHggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICAgICAgICAgIHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCRUFBQUFNQ0FZQUFBQ0VKVmEvQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUY1SlJFRlVLQlZqZVBiOHhYOEdDZ0VUaGZyQjJnZVBJU3pFZU1mRHg2L2gvNzkvOWRqVU1qSXhOUkxsblIxYk5qV0FGS01iQWhJRHlSRmxDRWd6dWtFd0E4QUdreHJGSUsrQk1GZ3pqQ0RWRUpnK1pKcG83eUJyUW1jUEhrTUFSNVlmNTVIOUpONEFBQUFBU1VWT1JLNUNZSUk9JykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItaW52ZXJ0ZWQ6ICAgICAgICAgIHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCRUFBQUFNQ0FZQUFBQ0VKVmEvQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFFcEpSRUZVZU5waStQLy92d01RTTFDQ0dZYVhJU3dNeElFS0lBN0JJcjRHaUR1WWlEU2tDNGdQb1lrZGdvcVQ1QjBPSUY0QXhHZWdOQWU1WVNJSXhKT2c5SENOWXFvWUFoQmdBS0hXQmcraFJyTnhBQUFBQUVsRlRrU3VRbUNDJykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcnRsOiAgICAgICAgICAgICAgIHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCRUFBQUFNQ0FZQUFBQ0VKVmEvQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFFdEpSRUZVZU5waVlLQVFQSHYrNGo4VEF4WEE0REdFeGNQSHIrSC92My8xMkNRWm1aZ2FkMnpaMUVEUUpTQkZJTVhrR2dEM0RycEJwQmlBQVVCZUEyRlNvNWhoTkoxZ0FJQUFBd0MxTXlLRlJsNm9td0FBQUFCSlJVNUVya0pnZ2c9PScpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWludmVydGVkLXJ0bDogICAgICB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkVBQUFBTUNBWUFBQUNFSlZhL0FBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBRk5KUkVGVWVOcGkrUC8vUHdNRjJBRkVNekZRQVF3ZVExaUF1QUtJUTdESXJRSGlEbUpkMGdYRWg5REVEMEhGaWZiT1B5Q3VBdUlyVUxFclVQNC9vdjJERkYyQ1FEd0pTcE1VeFF5ajZRUURBQVFZQUt4OG95QkEvM2xDQUFBQUFFbEZUa1N1UW1DQycpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRHJvcGRvd25zXG5cbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAkZmxvYXRpbmctY29tcG9uZW50LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAkZHJvcGRvd24tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgLjQzOHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgJGRyb3Bkb3duLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgJGdyYXktNTAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1saW5lLWhlaWdodDogICAgJGNvbXBvbmVudC1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICR0ZXh0LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBOYXZzXG5cbiRuYXYtc3BhY2VyOiAgICAgICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgJGNvbXBvbmVudC1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJG5hdi1saW5rLXBhZGRpbmcteS1sZzogICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgIDEuMzEyNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1saW5lLWhlaWdodC1sZzogICAgICAgICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJG5hdi1saW5rLXBhZGRpbmcteS1zbTogICAgICAgICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14LXNtOiAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kbmF2LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAkdGV4dC1tdXRlZC1ob3ZlciAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICR0ZXh0LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBOYXZiYXJcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuN3JlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuOCkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjQpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4wNikgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgIC45Mzc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgMSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAkdGV4dC1saWdodGVyICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAkcGFnaW5hdGlvbi1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLXNwYWNlcjogICAgICAgICAgICAgICAgLjE4NzVyZW0gIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQ2FyZHNcblxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14LXNtOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkYmxhY2ssLjA2KSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDRweCByZ2JhKCRibGFjaywuMDA5KSAhZGVmYXVsdDtcbi8vICRjYXJkLXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDRweCByZ2JhKCRibGFjaywuMDMpICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFRvb2x0aXBzXG5cbiR0b29sdGlwLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS04MDApICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgMSAhZGVmYXVsdDtcbiR0b29sdGlwLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogUG9wb3ZlcnNcblxuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICRncmF5LTUwICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6IC42MjVyZW0gIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAuODU4ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkZm9udC13ZWlnaHQtc2VtaWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgIC40MTdlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgIC41ODNlbSAhZGVmYXVsdDtcbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6ICAgIDEwcmVtICFkZWZhdWx0O1xuXG4kYmFkZ2UtZGVmYXVsdC1iZzogICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYmFkZ2Utb3V0bGluZS1kZWZhdWx0LWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBNb2RhbHNcblxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgMS41NjI1cmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1wYWRkaW5nOiAgICAgICAgICAgMS4yNXJlbSAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgMXB4ICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3cgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcblxuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgMzVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgIDIyLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgIC41ICFkZWZhdWx0O1xuXG4kbW9kYWwtc2xpZGUtd2lkdGg6ICAgICAgICAgICAgICAyMHJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgLjE1cyAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkbW9kYWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBBbGVydHNcblxuJGFsZXJ0LXBhZGRpbmcteTogMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgIC42MjVyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgJGdyYXktNTAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogMTByZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgI2ZmZiAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYS10by1oZXgoJGJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAuOTM3NXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMjUgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICR0ZXh0LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgJHRleHQtbXV0ZWQtaG92ZXIgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgJGdyYXktNTAgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgIDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAwcHggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6IDBweCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgbm9uZSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBGaWd1cmVzXG5cbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgIDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICR0ZXh0LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgIFwiL1wiICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1ydGw6ICAgXCJcXFxcXCIgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU3dpdGNoZXJzXG5cbiRzd2l0Y2hlci1zcGFjZXIteDogICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLXNwYWNlci15OiAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1ndXR0ZXI6ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoZXItaW5uZXItc3BhY2VyOiAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJHN3aXRjaGVyLXNxdWFyZS1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJHN3aXRjaGVyLWxhYmVsLWNvbG9yOiAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRzd2l0Y2hlci1sYWJlbC1kaXNhYmxlZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kc3dpdGNoZXItd2lkdGg6ICAgICAgICAgICAgICAgIDIuMzc1cmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWhlaWdodDogICAgICAgICAgICAgICAxLjM3NXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1mb250LXNpemU6ICAgICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1sYWJlbC1mb250LXNpemU6ICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJHN3aXRjaGVyLWxhYmVsLWxpbmUtaGVpZ2h0OiAgICAxLjQgIWRlZmF1bHQ7XG5cbiRzd2l0Y2hlci13aWR0aC1zbTogICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1oZWlnaHQtc206ICAgICAgICAgICAgMS4xMjVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoZXItbGFiZWwtZm9udC1zaXplLXNtOiAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kc3dpdGNoZXItbGFiZWwtbGluZS1oZWlnaHQtc206IDEuNDg2ICFkZWZhdWx0O1xuXG4kc3dpdGNoZXItd2lkdGgtbGc6ICAgICAgICAgICAgIDMuMjVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoZXItaGVpZ2h0LWxnOiAgICAgICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoZXItbGFiZWwtZm9udC1zaXplLWxnOiAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kc3dpdGNoZXItbGFiZWwtbGluZS1oZWlnaHQtbGc6IDEuNDcgIWRlZmF1bHQ7XG5cbiRzd2l0Y2hlci1vZmYtY29sb3I6ICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuJHN3aXRjaGVyLW9mZi1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kc3dpdGNoZXItaG9sZGVyLWJnOiAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kc3dpdGNoZXItaG9sZGVyLXNoYWRvdzogICAgICAgIDAgMCAwIDFweCByZ2JhKCRibGFjaywgLjA0KSwgMCAxcHggNnB4IHJnYmEoJGJsYWNrLCAuMDkpICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENsb3NlXG5cbiRjbG9zZS1mb250LXdlaWdodDogMzAwICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6IDNyZW0gIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU2lkZW5hdlxuXG4kc2lkZW5hdi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgIDE1LjYyNXJlbSAhZGVmYXVsdDsgLy8yNTBweFxuJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoOiAgICAgICAgICAgICAgICA0LjM3NXJlbSAhZGVmYXVsdDsgLy83MHB4XG5cbiRzaWRlbmF2LWl0ZW0tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAgLjA2MjVyZW0gIWRlZmF1bHQ7XG5cbiRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy15OiAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXg6ICAgICAgICAycmVtICFkZWZhdWx0O1xuJHNpZGVuYXYtdmVydGljYWwtbWVudS1saW5rLXBhZGRpbmcteTogICAuNjI1cmVtICFkZWZhdWx0O1xuJHNpZGVuYXYtdmVydGljYWwtbWVudS1sZXZlbC1zcGFjZXI6ICAgICAxcmVtICFkZWZhdWx0O1xuXG4kc2lkZW5hdi1ob3Jpem9udGFsLWxpbmstcGFkZGluZy15OiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc2lkZW5hdi1ob3Jpem9udGFsLWxpbmstcGFkZGluZy14OiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc2lkZW5hdi1ob3Jpem9udGFsLW1lbnUtbGluay1wYWRkaW5nLXk6IC42MjVyZW0gIWRlZmF1bHQ7XG4kc2lkZW5hdi1ob3Jpem9udGFsLW1lbnUtbGV2ZWwtc3BhY2VyOiAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRzaWRlbmF2LW1lbnUtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgMTIuNXJlbSAhZGVmYXVsdDs7IC8vMjAwcHhcbiRzaWRlbmF2LWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgICAgICAgMi4yNXJlbSAhZGVmYXVsdDtcbiRzaWRlbmF2LWNvbnRyb2wtYXJyb3ctc2l6ZTogICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRzaWRlbmF2LWljb24tZXhwYW5kZWQtd2lkdGg6ICAgICAgICAgICAgMS43NXJlbSAhZGVmYXVsdDtcbiRzaWRlbmF2LWljb24tZXhwYW5kZWQtZm9udC1zaXplOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzaWRlbmF2LWljb24tZXhwYW5kZWQtc3BhY2VyOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kc2lkZW5hdi1hbmltYXRpb24tZHVyYXRpb246ICAgICAgICAgICAgIC4ycyAhZGVmYXVsdDtcblxuJHNpZGVuYXYtbWF4LWxldmVsczogICAgICAgICAgICAgICAgICAgICA1ICFkZWZhdWx0O1xuXG4kc2lkZW5hdi1kYXJrLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpICFkZWZhdWx0O1xuJHNpZGVuYXYtZGFyay1tZW51LWJnOiAgICAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNikgIWRlZmF1bHQ7XG4kc2lkZW5hdi1saWdodC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA2KSAhZGVmYXVsdDtcbiRzaWRlbmF2LWxpZ2h0LW1lbnUtYmc6ICAgICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDUpICFkZWZhdWx0O1xuXG4vLyBDb25maWdcbiRydGwtc3VwcG9ydDogZmFsc2UgIWRlZmF1bHQ7XG4kbWF0ZXJpYWwtc3R5bGU6IGZhbHNlO1xuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNy41JSksICRob3Zlci1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMCUpLCAkYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKSwgJGFjdGl2ZS1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMi41JSkpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdyk7XG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkYm9yZGVyLCAuNSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgZm9yIHRoZSBwcmVzc2VkL2FjdGl2ZSBzdGF0ZVxuICAgIH1cbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRib3JkZXIsIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3IsICRjb2xvci1ob3ZlcjogY29sb3IteWlxKCRjb2xvciksICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLCAkYWN0aXZlLWJvcmRlcjogJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAvLyBNYW51YWxseSBkZWNsYXJlIHRvIHByb3ZpZGUgYW4gb3ZlcnJpZGUgdG8gdGhlIGJyb3dzZXIgZGVmYXVsdFxuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfSBAZWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuIiwiLy8gQnV0dG9uc1xuLy9cblxuLmJ0biB7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWJ0bi1mb250LXNpemU7XG5cbiAgQGlmICRtYXRlcmlhbC1zdHlsZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxufVxuXG4vLyBCYWJnZSB3aXRoaW4gYnV0dG9uXG4uYnRuIC5iYWRnZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcbn1cblxubGFiZWwuYnRuIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBBbHRlcm5hdGUgYnV0dG9uc1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGlmICRjb2xvciAhPSBwcmltYXJ5IHtcbiAgICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgICAgIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLXZhcmlhbnQoJy5idG4tI3skY29sb3J9JywgJHZhbHVlKTtcbiAgICAgIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfScsICR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBhcHB3b3JrLWJ1dHRvbi12YXJpYW50KCcuYnRuLSN7JGNvbG9yfScsICR2YWx1ZSk7XG4gICAgICBAaW5jbHVkZSBhcHB3b3JrLWJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJy5idG4tb3V0bGluZS0jeyRjb2xvcn0nLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBEZWZhdWx0IGJ1dHRvblxuQGlmICRtYXRlcmlhbC1zdHlsZSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLXZhcmlhbnQoJy5idG4tZGVmYXVsdCcsICRidG4tZGVmYXVsdC1iZywgJGJ0bi1kZWZhdWx0LWNvbG9yLCAkYnRuLWRlZmF1bHQtY29sb3IpO1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJy5idG4tb3V0bGluZS1kZWZhdWx0JywgJGJ0bi1kZWZhdWx0LWJvcmRlciwgJGJ0bi1kZWZhdWx0LWNvbG9yKTtcbn0gQGVsc2Uge1xuICBAaW5jbHVkZSBhcHB3b3JrLWJ1dHRvbi12YXJpYW50KCcuYnRuLWRlZmF1bHQnLCAkYnRuLWRlZmF1bHQtYmcsICRidG4tZGVmYXVsdC1jb2xvciwgJGJ0bi1kZWZhdWx0LWJvcmRlcik7XG4gIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLWRlZmF1bHQnLCAkYnRuLWRlZmF1bHQtYm9yZGVyLCAkYnRuLWRlZmF1bHQtY29sb3IpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFNpemVzXG5cbi5idG4teGwge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkaW5wdXQtYnRuLXBhZGRpbmcteS14bCwgJGlucHV0LWJ0bi1wYWRkaW5nLXgteGwsICRpbnB1dC1idG4tZm9udC1zaXplLXhsLCAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhsLCAkYnRuLWJvcmRlci1yYWRpdXMteGwpO1xufVxuXG4uYnRuLWxnIHtcbiAgZm9udC1zaXplOiAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZztcbn1cblxuLmJ0bi1zbSB7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWJ0bi1mb250LXNpemUtc207XG59XG5cbi5idG4teHMge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkaW5wdXQtYnRuLXBhZGRpbmcteS14cywgJGlucHV0LWJ0bi1wYWRkaW5nLXgteHMsICRpbnB1dC1idG4tZm9udC1zaXplLXhzLCAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhzLCAkYnRuLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFJvdW5kIGJ1dHRvblxuXG4uYnRuLXJvdW5kIHtcbiAgYm9yZGVyLXJhZGl1czogNjByZW0gIWltcG9ydGFudDtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBJY29uIGJ1dHRvblxuXG4uaWNvbi1idG4ge1xuICAkaWNvbi1idG4tc2l6ZTogICAgKCRpbnB1dC1idG4tZm9udC1zaXplICAgICogJGlucHV0LWJ0bi1saW5lLWhlaWdodCkgICAgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXkgICAgKiAyKTtcbiAgJGljb24tYnRuLXNpemUteGw6ICgkaW5wdXQtYnRuLWZvbnQtc2l6ZS14bCAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQteGwpICsgKCRpbnB1dC1idG4tcGFkZGluZy15LXhsICogMik7XG4gICRpY29uLWJ0bi1zaXplLWxnOiAoJGlucHV0LWJ0bi1mb250LXNpemUtbGcgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAqIDIpO1xuICAkaWNvbi1idG4tc2l6ZS1zbTogKCRpbnB1dC1idG4tZm9udC1zaXplLXNtICogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gKiAyKTtcbiAgJGljb24tYnRuLXNpemUteHM6ICgkaW5wdXQtYnRuLWZvbnQtc2l6ZS14cyAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQteHMpICsgKCRpbnB1dC1idG4tcGFkZGluZy15LXhzICogMik7XG4gICRib3JkZXJzLXdpZHRoOiAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAqIDI7XG5cbiAgd2lkdGg6IGNhbGMoI3skaWNvbi1idG4tc2l6ZX0gKyAjeyRib3JkZXJzLXdpZHRofSkgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6ICRpY29uLWJ0bi1zaXplO1xuXG4gICYuYnRuLXhsIHtcbiAgICB3aWR0aDogY2FsYygjeyRpY29uLWJ0bi1zaXplLXhsfSArICN7JGJvcmRlcnMtd2lkdGh9KSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAkaWNvbi1idG4tc2l6ZS14bDtcbiAgfVxuXG4gICYuYnRuLWxnIHtcbiAgICB3aWR0aDogY2FsYygjeyRpY29uLWJ0bi1zaXplLWxnfSArICN7JGJvcmRlcnMtd2lkdGh9KSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAkaWNvbi1idG4tc2l6ZS1sZztcbiAgfVxuXG4gICYuYnRuLXNtIHtcbiAgICB3aWR0aDogY2FsYygjeyRpY29uLWJ0bi1zaXplLXNtfSArICN7JGJvcmRlcnMtd2lkdGh9KSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAkaWNvbi1idG4tc2l6ZS1zbTtcbiAgfVxuXG4gICYuYnRuLXhzIHtcbiAgICB3aWR0aDogY2FsYygjeyRpY29uLWJ0bi1zaXplLXhzfSArICN7JGJvcmRlcnMtd2lkdGh9KSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAkaWNvbi1idG4tc2l6ZS14cztcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFdpdGhvdXQgYm9yZGVyXG5cbi5idG4uYm9yZGVybGVzcyB7XG4gICY6bm90KC5hY3RpdmUpOm5vdCg6YWN0aXZlKTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSxcbiAgOm5vdCguc2hvdykgPiAmLmRyb3Bkb3duLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuXG4vL1xuLy8gQ29sb3Igc3lzdGVtXG4vL1xuXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRncmF5czogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGdyYXlzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcIjEwMFwiOiAkZ3JheS0xMDAsXG4gICAgXCIyMDBcIjogJGdyYXktMjAwLFxuICAgIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgICBcIjQwMFwiOiAkZ3JheS00MDAsXG4gICAgXCI1MDBcIjogJGdyYXktNTAwLFxuICAgIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgICBcIjcwMFwiOiAkZ3JheS03MDAsXG4gICAgXCI4MDBcIjogJGdyYXktODAwLFxuICAgIFwiOTAwXCI6ICRncmF5LTkwMFxuICApLFxuICAkZ3JheXNcbik7XG5cblxuJGJsdWU6ICAgICMwMDdiZmYgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNlODNlOGMgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzI4YTc0NSAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMxN2EyYjggIWRlZmF1bHQ7XG5cbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRjb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gICAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gICAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gICAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gICAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gICAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICAgIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gICAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4gICksXG4gICRjb2xvcnNcbik7XG5cbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuXG4kdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gICAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gICAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgICBcImRhcmtcIjogICAgICAgJGRhcmtcbiAgKSxcbiAgJHRoZW1lLWNvbG9yc1xuKTtcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDglICFkZWZhdWx0O1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6ICAxNTAgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICBmYWxzZSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc3BhY2VyczogbWFwLW1lcmdlKFxuICAoXG4gICAgMDogMCxcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgMzogJHNwYWNlcixcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXG4gICAgNTogKCRzcGFjZXIgKiAzKVxuICApLFxuICAkc3BhY2Vyc1xuKTtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc2l6ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDI1OiAyNSUsXG4gICAgNTA6IDUwJSxcbiAgICA3NTogNzUlLFxuICAgIDEwMDogMTAwJSxcbiAgICBhdXRvOiBhdXRvXG4gICksXG4gICRzaXplc1xuKTtcblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgIHVuZGVybGluZSAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIEZvbnRzXG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogLjg3NSkgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAoJHNwYWNlciAvIDIpICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICA1LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgICAgICA0LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAgICAgICAgICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICA4MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjJlbSAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRrYmQtYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgICAgICAuM3JlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuXG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgIGxpZ2h0ZW4oJGdyYXktOTAwLCA3LjUlKSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogICAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybXNcblxuJGxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDI1JSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogJGlucHV0LWJ0bi1saW5lLWhlaWdodCkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lcn0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXItc206ICAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1zbSAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20pICsgKCRpbnB1dC1idG4tcGFkZGluZy15LXNtICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItc219ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyLWxnOiAgICAgICAgICAgICAgICAgKCRmb250LXNpemUtbGcgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLWxnfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjogICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk6ICAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14OiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDogICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbjogICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplOiAgICAgIDUwJSA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3c6ICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZzogIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdzogICBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6ICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogICAgbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNiAyLjk3NCA3LjI1IDggMi4xOTN6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlOiAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA0JyUzRSUzQ3BhdGggc3Ryb2tlPScjeyRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3J9JyBkPSdNMCAyaDQnLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdzogIG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodDogICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAxcmVtICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcbiRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzRSUzQ3BhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aDogICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgMCAwIDAgJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGggcmdiYSgkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3IsIC41KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgNzUlICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgMTI1JSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIElFL0VkZ2VcbiRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjogICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93OiAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogICAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiAgICAgICAgICAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXRleHQ6IChcbiAgZW46IFwiQnJvd3NlXCJcbikgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgdGhlbWUtY29sb3IoXCJkYW5nZXJcIikgIWRlZmF1bHQ7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRncmF5LTkwMCwgNSUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcblxuLy8gTmF2c1xuXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTIwMCAkZ3JheS0yMDAgJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJGdyYXktMzAwICRncmF5LTMwMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICAgICAgKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcblxuLy8gTmF2YmFyXG5cbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICgkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpIC8gMiAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtY29sb3J9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIENhcmRzXG5cbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBjYWxjKCN7JGNhcmQtYm9yZGVyLXJhZGl1c30gLSAjeyRjYXJkLWJvcmRlci13aWR0aH0pICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWRlY2stbWFyZ2luOiAgICAgICAgICAgICAgICAgICRjYXJkLWdyb3VwLW1hcmdpbiAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgICAgICAgICAgMyAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLW1hcmdpbjogICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAhZGVmYXVsdDtcblxuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cblxuLy8gUG9wb3ZlcnNcblxuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBCYWRnZXNcblxuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgNzUlICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC40ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgICAgICAgLjZlbSAhZGVmYXVsdDtcbi8vIFVzZSBhIGhpZ2hlciB0aGFuIG5vcm1hbCB2YWx1ZSB0byBlbnN1cmUgY29tcGxldGVseSByb3VuZGVkIGVkZ2VzIHdoZW5cbi8vIGN1c3RvbWl6aW5nIHBhZGRpbmcgb3IgZm9udC1zaXplIG9uIGxhYmVscy5cbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGFsZXJ0LWJnLWxldmVsOiAgICAgICAgICAgICAgICAgICAgLTEwICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1sZXZlbDogICAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3ItbGV2ZWw6ICAgICAgICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAuNzUpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgOTAlICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBDYXJvdXNlbFxuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41LTIuNS0yLjUgMi41LTIuNS0xLjUtMS41eicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjUgMi41IDIuNS0yLjUgMi41IDEuNSAxLjUgNC00LTQtNHonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgdHJhbnNmb3JtIC42cyBlYXNlICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuXG5cbi8vIENsb3NlXG5cbiRjbG9zZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgMCAxcHggMCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy8gUHJpbnRpbmdcbiRwcmludC1wYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgIGEzICFkZWZhdWx0O1xuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIE1peGluc1xuLy9cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBSVEwvTFRSXG5cbkBtaXhpbiBsdHItb25seSgpIHtcbiAgQGlmICRydGwtc3VwcG9ydCB7XG4gICAgaHRtbDpub3QoW2Rpcj1ydGxdKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBydGwtb25seSgpIHtcbiAgQGlmICRydGwtc3VwcG9ydCB7XG4gICAgW2Rpcj1ydGxdIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbHRyLXN0eWxlKCkge1xuICBAaWYgJHJ0bC1zdXBwb3J0IHtcbiAgICBodG1sOm5vdChbZGlyPXJ0bF0pICYge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcnRsLXN0eWxlKCkge1xuICBAaWYgJHJ0bC1zdXBwb3J0IHtcbiAgICBbZGlyPXJ0bF0gJiB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBLZXlmcmFtZXNcblxuQG1peGluIGtleWZyYW1lcygkbmFtZSkge1xuICBALXdlYmtpdC1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIEBjb250ZW50O1xuICB9XG4gIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBDYXJldHNcblxuQG1peGluIGNhcmV0LWRvd24ge1xuICBtYXJnaW4tdG9wOiAtMSAqICgkY2FyZXQtd2lkdGggLyAxLjUpO1xuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5cbkBtaXhpbiBjYXJldC11cCB7XG4gIG1hcmdpbi10b3A6IC0wO1xuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG5AbWl4aW4gY2FyZXQtcmlnaHQge1xuICBtYXJnaW4tdG9wOiAtMSAqICgkY2FyZXQtd2lkdGggLyAyKTtcbiAgd2lkdGg6ICRjYXJldC13aWR0aDtcbiAgaGVpZ2h0OiAkY2FyZXQtd2lkdGg7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItbGVmdDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuQG1peGluIGNhcmV0LWxlZnQge1xuICBtYXJnaW4tdG9wOiAtMSAqICgkY2FyZXQtd2lkdGggLyAyKTtcbiAgd2lkdGg6ICRjYXJldC13aWR0aDtcbiAgaGVpZ2h0OiAkY2FyZXQtd2lkdGg7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBSZXNwb25zaXplIGxvb3BzXG5cbkBtaXhpbiByZXNwb25zaXZlLWxvb3AtYmVmb3JlKCRwYXJlbnQsICRzdGFydC1icmVha3BvaW50OiBzbSkge1xuICAkY3VyLWJyZWFrcG9pbnQ6ICRzdGFydC1icmVha3BvaW50O1xuXG4gIEB3aGlsZSAkY3VyLWJyZWFrcG9pbnQge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkY3VyLWJyZWFrcG9pbnQpO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IChicmVha3BvaW50LW1pbigkY3VyLWJyZWFrcG9pbnQpIC0gMSkpIHtcbiAgICAgICN7JHBhcmVudH0jeyRpbmZpeH0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkY3VyLWJyZWFrcG9pbnQ6IGJyZWFrcG9pbnQtbmV4dCgkY3VyLWJyZWFrcG9pbnQpO1xuICB9XG59XG5cbkBtaXhpbiByZXNwb25zaXZlLWxvb3AtYWZ0ZXIoJHBhcmVudCwgJHN0YXJ0LWJyZWFrcG9pbnQ6IHNtKSB7XG4gICRjdXItYnJlYWtwb2ludDogJHN0YXJ0LWJyZWFrcG9pbnQ7XG5cbiAgQHdoaWxlICRjdXItYnJlYWtwb2ludCB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRjdXItYnJlYWtwb2ludCk7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogYnJlYWtwb2ludC1taW4oJGN1ci1icmVha3BvaW50KSkge1xuICAgICAgI3skcGFyZW50fSN7JGluZml4fSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgICRjdXItYnJlYWtwb2ludDogYnJlYWtwb2ludC1uZXh0KCRjdXItYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBDb2xvcnNcblxuLy8gQ29udHJhc3RcbkBtaXhpbiBjb2xvci15aXEoJGNvbG9yKSB7XG4gIGNvbG9yOiB5aXEoJGNvbG9yKTtcbn1cblxuQG1peGluIGJnLWNvbG9yLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkcnRoLWNvbG9yOiAjMDAwKSB7XG4gICN7JHBhcmVudH0geyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDsgfVxuICBhI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjk1KSwgJGJhY2tncm91bmQ6ICRydGgtY29sb3IpICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRydGgtY29sb3I6ICMwMDApIHtcbiAgQGluY2x1ZGUgYmctY29sb3ItdmFyaWFudCgkcGFyZW50LCAkY29sb3IpO1xuICBAaW5jbHVkZSBiZy1jb2xvci12YXJpYW50KFwiI3skcGFyZW50fS1kYXJrXCIsIHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuOSksICRiYWNrZ3JvdW5kOiAkcnRoLWNvbG9yKSk7XG4gIEBpbmNsdWRlIGJnLWNvbG9yLXZhcmlhbnQoXCIjeyRwYXJlbnR9LWRhcmtlclwiLCByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjg1KSwgJGJhY2tncm91bmQ6ICRydGgtY29sb3IpKTtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBCdXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkYmFja2dyb3VuZDogbnVsbCwgJGJvcmRlcjogbnVsbCwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBudWxsLCAkYWN0aXZlLWJvcmRlcjogbnVsbCkge31cblxuQG1peGluIGFwcHdvcmstYnV0dG9uLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCkge1xuICAkYnRuLWNvbG9yczogZ2V0LWJ0bi1jb2xvcnMoJGJhY2tncm91bmQsIGlmKCRib3JkZXIsICRib3JkZXIsICRiYWNrZ3JvdW5kKSk7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnRuLWNvbG9ycywgYm9yZGVyKTtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnRuLWNvbG9ycywgYm9yZGVyKTtcbiAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWhvdmVyKTtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIHNoYWRvdyk7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnRuLWNvbG9ycywgYm9yZGVyKSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAjeyRwYXJlbnR9IC5iYWRnZSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGNvbG9yOiByZ2JhLXRvLWhleCgkYmFja2dyb3VuZCk7XG4gIH1cblxuICAjeyRwYXJlbnR9OmFjdGl2ZSxcbiAgI3skcGFyZW50fS5hY3RpdmUsXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUge1xuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnRuLWNvbG9ycywgYm9yZGVyKTtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1hY3RpdmUpO1xuXG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBCdXR0b24gZ3JvdXBzXG4gIC5idG4tZ3JvdXAgI3skcGFyZW50fSxcbiAgLmlucHV0LWdyb3VwLXByZXBlbmQgI3skcGFyZW50fSxcbiAgLmlucHV0LWdyb3VwLWFwcGVuZCAjeyRwYXJlbnR9IHtcbiAgICBib3JkZXItcmlnaHQ6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkIG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWFjdGl2ZSk7XG4gICAgYm9yZGVyLWxlZnQ6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkIG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWFjdGl2ZSk7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJG1kLWNvbG9yOiAkYmFja2dyb3VuZCkge1xuICAkYnRuLWNvbG9yczogZ2V0LW1hdGVyaWFsLWJ0bi1jb2xvcnMoJGJhY2tncm91bmQpO1xuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICBib3gtc2hhZG93OiAkYnRuLWJveC1zaGFkb3c7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWhvdmVyKTtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgY29sb3I6IHJnYmEtdG8taGV4KCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gICN7JHBhcmVudH0gLndhdmVzLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZDogaWYoJGNvbG9yID09ICNmZmYsIHJnYmEoJGNvbG9yLCAuMyksIHJnYmEoJGNvbG9yLCAuMikpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAjeyRwYXJlbnR9OmFjdGl2ZSxcbiAgI3skcGFyZW50fS5hY3RpdmUsXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWFjdGl2ZSk7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIEZsYXQgYnV0dG9uc1xuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkbWQtY29sb3IgIWltcG9ydGFudDtcblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRtZC1jb2xvciwgLjEpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLndhdmVzLXJpcHBsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRtZC1jb2xvciwgLjMpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdDphY3RpdmUsXG4gICN7JHBhcmVudH0ubWQtYnRuLWZsYXQuYWN0aXZlLFxuICAuc2hvdyA+ICN7JHBhcmVudH0ubWQtYnRuLWZsYXQuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRtZC1jb2xvciwgLjE1KSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gRGlzYWJsZWRcblxuICAjeyRwYXJlbnR9LmRpc2FibGVkLFxuICAjeyRwYXJlbnR9OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6ICRtYXRlcmlhbC1jb21wb25lbnQtc2hhZG93ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG5cbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdC5kaXNhYmxlZCxcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE91dGxpbmUgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3I6IG51bGwsICRjb2xvci1ob3ZlcjogbnVsbCwgJGhvdmVyLWNvbG9yOiBudWxsKSB7fVxuXG5AbWl4aW4gYXBwd29yay1idXR0b24tb3V0bGluZS12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGhvdmVyLWNvbG9yOiBudWxsKSB7XG4gICRidG4tY29sb3JzOiBnZXQtYnRuLWNvbG9ycygkY29sb3IsICRjb2xvcik7XG4gICRjb2xvci1ob3ZlcjogaWYoJGhvdmVyLWNvbG9yLCAkaG92ZXItY29sb3IsIHlpcSgkY29sb3IpKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcblxuICAgICAgLmJhZGdlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgICBjb2xvcjogaWYoYWxwaGEoJGNvbG9yKSA9PSAxLCAkY29sb3IsIHlpcSgkY29sb3ItaG92ZXIpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkYnRuLWNvbG9ycywgc2hhZG93KTtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkLFxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgI3skcGFyZW50fSAuYmFkZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gICN7JHBhcmVudH06YWN0aXZlLFxuICAjeyRwYXJlbnR9LmFjdGl2ZSxcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWhvdmVyKTtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuXG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAuYmFkZ2Uge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgY29sb3I6IGlmKGFscGhhKCRjb2xvcikgPT0gMSwgJGNvbG9yLCB5aXEoJGNvbG9yLWhvdmVyKSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaG92ZXItY29sb3I6IG51bGwpIHtcbiAgJGJ0bi1jb2xvcnM6IGdldC1tYXRlcmlhbC1idG4tY29sb3JzKCRjb2xvcik7XG4gICRjb2xvci1ob3ZlcjogaWYoJGhvdmVyLWNvbG9yLCAkaG92ZXItY29sb3IsIHlpcSgkY29sb3IpKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNvbG9yIGluc2V0O1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICBib3gtc2hhZG93OiAkYnRuLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuXG4gICAgICAuYmFkZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICAgIGNvbG9yOiBpZihhbHBoYSgkY29sb3IpID09IDEsICRjb2xvciwgeWlxKCRjb2xvci1ob3ZlcikpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZGlzYWJsZWQsXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjb2xvciBpbnNldCAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICAjeyRwYXJlbnR9IC53YXZlcy1yaXBwbGUge1xuICAgIGJhY2tncm91bmQ6IGlmKCRjb2xvci1ob3ZlciA9PSAjZmZmLCByZ2JhKCRjb2xvci1ob3ZlciwgLjMpLCByZ2JhKCRjb2xvci1ob3ZlciwgLjIpKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgI3skcGFyZW50fTphY3RpdmUsXG4gICN7JHBhcmVudH0uYWN0aXZlLFxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1ob3Zlcik7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdztcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuXG4gICAgLmJhZGdlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGNvbG9yOiBpZihhbHBoYSgkY29sb3IpID09IDEsICRjb2xvciwgeWlxKCRjb2xvci1ob3ZlcikpO1xuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEJhZGdlc1xuXG5AbWl4aW4gYmFkZ2UtdmFyaWFudCgkYmcpIHt9XG5cbkBtaXhpbiBhcHB3b3JrLWJhZGdlLXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6IG51bGwpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiZykpO1xuICB9XG5cbiAgI3skcGFyZW50fVtocmVmXSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoYWxwaGEoJGJnKSA9PSAxLCByZ2JhLXRvLWhleChyZ2JhKCRiZywgLjk1KSwgIzAwMCksIHJnYmEoJGJnLCBhbHBoYSgkYmcpICsgLjAzKSk7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmcpKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuYnRuICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZyAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiZykpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstYmFkZ2Utb3V0bGluZS12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiAkYmcpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRiZyBpbnNldDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgI3skcGFyZW50fVtocmVmXSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuYnRuICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRiZyBpbnNldCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIERyb3Bkb3duc1xuXG5AbWl4aW4gYXBwd29yay1kcm9wZG93bi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgI3skcGFyZW50fSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gICN7JHBhcmVudH0gLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCk6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICB9XG5cbiAgI3skcGFyZW50fS5kcm9wZG93bi1tZW51ID4gbGk6bm90KC5kaXNhYmxlZCkgPiBhOm5vdCguZHJvcGRvd24taXRlbSk6YWN0aXZlLFxuICAjeyRwYXJlbnR9LmRyb3Bkb3duLW1lbnUgPiBsaS5hY3RpdmU6bm90KC5kaXNhYmxlZCkgPiBhOm5vdCguZHJvcGRvd24taXRlbSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstZHJvcGRvd24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLWRyb3Bkb3duLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1kcm9wZG93bi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgI3skcGFyZW50fSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG4gIH1cblxuICAjeyRwYXJlbnR9LmRyb3Bkb3duLW1lbnUgPiBsaS5hY3RpdmU6bm90KC5kaXNhYmxlZCkgPiBhOm5vdCguZHJvcGRvd24taXRlbSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZHJvcGRvd24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWRyb3Bkb3duLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE5hdnNcblxuQG1peGluIGFwcHdvcmstbmF2LXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XG4gICA+IC5uYXYgLm5hdi1saW5rLFxuICAmLm5hdiAubmF2LWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1uYXYtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRwaWxscy1zZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJy5uYXYtcGlsbHMnLCAnI3skcGFyZW50fS5uYXYtcGlsbHMsICN7JHBhcmVudH0gPiAubmF2LXBpbGxzJyk7XG5cbiAgI3skcGlsbHMtc2VsZWN0b3J9IC5uYXYtbGluay5hY3RpdmUge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcbiAgICB9XG4gIH1cblxuICAjeyRwYXJlbnR9LnRhYnMtYWx0Lm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmUsXG4gICN7JHBhcmVudH0udGFicy1hbHQgPiAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAtMnB4IDAgJGJhY2tncm91bmQgaW5zZXQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW5hdi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstbmF2LXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1uYXYtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRsaW5rLWNvbG9yOiBudWxsKSB7XG4gICR0YWJzLXNlbGVjdG9yOiBpZigkcGFyZW50ID09ICcnLCAnLm5hdi10YWJzJywgJyN7JHBhcmVudH0ubmF2LXRhYnMnKTtcbiAgJHBpbGxzLXNlbGVjdG9yOiBpZigkcGFyZW50ID09ICcnLCAnLm5hdi1waWxscycsICcjeyRwYXJlbnR9Lm5hdi1waWxscywgI3skcGFyZW50fSA+IC5uYXYtcGlsbHMnKTtcblxuICAjeyR0YWJzLXNlbGVjdG9yfSAubmF2LWxpbmsge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkY29sb3IsICRjb2xvcik7XG4gIH1cblxuICAjeyRwaWxscy1zZWxlY3Rvcn0gLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgY29sb3I6IGlmKCRsaW5rLWNvbG9yLCAkbGluay1jb2xvciwgeWlxKCRjb2xvcikpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1uYXYtdGhlbWUoJGNvbG9yLCAkbGluay1jb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLW5hdi12YXJpYW50KCcnLCAkY29sb3IsICRsaW5rLWNvbG9yKTtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBQYWdpbmF0aW9uXG5cbkBtaXhpbiBhcHB3b3JrLXBhZ2luYXRpb24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICN7JHBhcmVudH0gLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayxcbiAgI3skcGFyZW50fS5wYWdpbmF0aW9uIGxpLmFjdGl2ZSA+IGE6bm90KC5wYWdlLWxpbmspIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1wYWdpbmF0aW9uLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgYXBwd29yay1wYWdpbmF0aW9uLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFByb2dyZXNzIGJhcnNcblxuQG1peGluIGFwcHdvcmstcHJvZ3Jlc3MtYmFyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgLnByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIExpc3QgZ3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGU6IG51bGwsICRiYWNrZ3JvdW5kOiBudWxsLCAkY29sb3I6IG51bGwpIHt9XG5cbkBtaXhpbiBhcHB3b3JrLWxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgJGJnOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMSksICNmZmYpO1xuICAkY29sb3I6IHlpcSgkYmcpO1xuICAkaG92ZXItYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJnLCAuOTkpLCAjMDAwKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjA3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIGEjeyRwYXJlbnR9LFxuICBidXR0b24jeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJnO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1saXN0LWdyb3VwLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgYXBwd29yay1saXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgnLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5JywgJGJhY2tncm91bmQpO1xuXG4gIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEFsZXJ0c1xuXG5AbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZDogbnVsbCwgJGJvcmRlcjogbnVsbCwgJGNvbG9yOiBudWxsKSB7fVxuXG5AbWl4aW4gYXBwd29yay1hbGVydC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMTUpLCAjZmZmKTtcbiAgJGJvcmRlcjogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjk0KSwgIzAwMCk7XG4gICRjb2xvcjogeWlxKCRiYWNrZ3JvdW5kKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIGhyIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRib3JkZXI7XG4gICAgfVxuXG4gICAgLmNsb3NlLFxuICAgIC5hbGVydC1saW5rIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLWFsZXJ0LWRhcmstdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICBociB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKHlpcSgkYmFja2dyb3VuZCksLjIpO1xuICAgIH1cblxuICAgIC5jbG9zZSxcbiAgICAuYWxlcnQtbGluayB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFRvb2x0aXBzXG5cbkBtaXhpbiBhcHB3b3JrLXRvb2x0aXAtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIC50b29sdGlwLWlubmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcbiAgICB9XG5cbiAgICAmLmJzLXRvb2x0aXAtdG9wIC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJ0b3BcIl0gLmFycm93OjpiZWZvcmUgeyBib3JkZXItdG9wLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxuICAgICYuYnMtdG9vbHRpcC1yaWdodCAuYXJyb3c6OmJlZm9yZSwgJi5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwicmlnaHRcIl0gLmFycm93OjpiZWZvcmUgeyBib3JkZXItcmlnaHQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gICAgJi5icy10b29sdGlwLWJvdHRvbSAuYXJyb3c6OmJlZm9yZSwgJi5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIC5hcnJvdzo6YmVmb3JlIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJhY2tncm91bmQ7IH1cbiAgICAmLmJzLXRvb2x0aXAtbGVmdCAuYXJyb3c6OmJlZm9yZSwgJi5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwibGVmdFwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci1sZWZ0LWNvbG9yOiAkYmFja2dyb3VuZDsgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogUG9wb3ZlcnNcblxuQG1peGluIGFwcHdvcmstcG9wb3Zlci12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAgIC5wb3BvdmVyLWhlYWRlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoeWlxKCRiYWNrZ3JvdW5kKSwuMik7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuXG4gICAgLnBvcG92ZXItYm9keSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuXG4gICAgLmFycm93OjpiZWZvcmUgeyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cblxuICAgICYuYnMtcG9wb3Zlci10b3AgLmFycm93OjphZnRlciwgJi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwidG9wXCJdIC5hcnJvdzo6YWZ0ZXIgeyBib3JkZXItdG9wLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxuICAgICYuYnMtcG9wb3Zlci1yaWdodCAuYXJyb3c6OmFmdGVyLCAmLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJyaWdodFwiXSAuYXJyb3c6OmFmdGVyIHsgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkYmFja2dyb3VuZDsgfVxuICAgICYuYnMtcG9wb3Zlci1ib3R0b20gLmFycm93OjphZnRlciwgJi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIC5hcnJvdzo6YWZ0ZXIgeyBib3JkZXItYm90dG9tLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxuICAgICYuYnMtcG9wb3Zlci1sZWZ0IC5hcnJvdzo6YWZ0ZXIsICYuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0gLmFycm93OjphZnRlciB7IGJvcmRlci1sZWZ0LWNvbG9yOiAkYmFja2dyb3VuZDsgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRm9ybSBjb250cm9sc1xuXG5AbWl4aW4gYXBwd29yay1jdXN0b20tc2VsZWN0LXNpemUoJHNpemUsICRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRoZWlnaHQsICRmb250LXNpemUsICRsaW5lLWhlaWdodCkge1xuICAuY3VzdG9tLXNlbGVjdC0jeyRzaXplfSxcbiAgLmlucHV0LWdyb3VwLSN7JHNpemV9IC5jdXN0b20tc2VsZWN0IHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICgkcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJHBhZGRpbmcteCBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG5cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgJixcbiAgICAgICZbc2l6ZT1cIjBcIl06bm90KFttdWx0aXBsZV0pIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmcteDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgJHBhZGRpbmcteCBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltzaXplPVwiMFwiXTpub3QoW211bHRpcGxlXSkge1xuICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1jdXN0b20tY29udHJvbC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwsICRkZWZhdWx0LWJhY2tncm91bmQ6IG51bGwpIHtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgQGlmICRkZWZhdWx0LWJhY2tncm91bmQge1xuICAgICAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgICAmOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkYmFja2dyb3VuZCwgLjQpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgJi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcbiAgICB9XG5cbiAgICAmLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1jdXN0b20tY29udHJvbC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstY3VzdG9tLWNvbnRyb2wtdmFyaWFudCgnLmN1c3RvbS1jb250cm9sJywgJGJhY2tncm91bmQsICRjb2xvcik7XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJGRlZmF1bHQtYmFja2dyb3VuZDogbnVsbCkge1xuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBAaWYgJGRlZmF1bHQtYmFja2dyb3VuZCB7XG4gICAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAgIC5jdXN0b20tY29udHJvbC1pbnB1dDphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAmLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xuICAgIH1cblxuICAgICYuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkYmFja2dyb3VuZCksIFwiI1wiLCBcIiUyM1wiKSk7XG4gICAgfVxuXG4gICAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJhY2tncm91bmQsIC4xNSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1jb250cm9sLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1jdXN0b20tY29udHJvbC12YXJpYW50KCcuY3VzdG9tLWNvbnRyb2wnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcbn1cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGU6IG51bGwsICRjb2xvcjogbnVsbCkge31cblxuQG1peGluIGFwcHdvcmstZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgIHBhZGRpbmc6IC41cmVtO1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAuMnJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwuOCk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAuZm9ybS1jb250cm9sLFxuICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGNvbG9yLC4yNSkgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0LFxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgJiB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuICAgICAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuICAgICAgJjphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRjb2xvciwgLjQpO1xuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgeWlxKCRjb2xvcikpLCBcIiNcIiwgXCIlMjNcIikpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgeWlxKCRjb2xvcikpLCBcIiNcIiwgXCIlMjNcIikpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tZmlsZS1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGNvbG9yLC4zKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1mb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IpIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgcGFkZGluZzogLjVyZW07XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IC4ycmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLC44KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wsXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQsXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgICAmOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuICAgICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgJiB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgLjE1KSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAmLmlzLSN7JHN0YXRlfTpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsIHlpcSgkY29sb3IpKSwgXCIjXCIsIFwiJTIzXCIpKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX06Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuICAgICYuaXMtI3skc3RhdGV9OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcbiAgICB9XG4gIH1cblxuICAud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6I3skc3RhdGV9LFxuICAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtI3skc3RhdGV9IHtcbiAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgJGNvbG9yIGluc2V0ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1maWxlLWlucHV0LXRoZW1lKCRjb2xvcikge1xuICAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWZpbGUtaW5wdXQtdGhlbWUoJGNvbG9yKSB7XG4gIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgJGNvbG9yIGluc2V0O1xuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWZvcm0tY29udHJvbC1zaXplKCRzaXplLCAkbGluZS1oZWlnaHQsICRwYWRkaW5nLXksICRncm91cC1idG4tZm9udC1zaXplOiBudWxsKSB7XG4gIEBpZiAkc2l6ZSA9PSAnJyB7XG4gICAgLmZvcm0tY29udHJvbCxcbiAgICAuY3VzdG9tLXNlbGVjdCxcbiAgICAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgLmlucHV0LWdyb3VwLXRleHQge1xuICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skcGFkZGluZy15fSAtIDFweCkgIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAuZm9ybS1jb250cm9sLSN7JHNpemV9LFxuICAgIC5jdXN0b20tc2VsZWN0LSN7JHNpemV9LFxuICAgIC5pbnB1dC1ncm91cC0jeyRzaXplfSA+IC5mb3JtLWNvbnRyb2wsXG4gICAgLmlucHV0LWdyb3VwLSN7JHNpemV9ID4gLmN1c3RvbS1zZWxlY3QsXG4gICAgLmlucHV0LWdyb3VwLSN7JHNpemV9IC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JHBhZGRpbmcteX0gLSAxcHgpICFpbXBvcnRhbnQ7XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cC0jeyRzaXplfSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbiAgICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRwYWRkaW5nLXl9IC0gMXB4KSAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAkZ3JvdXAtYnRuLWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstZm9ybS1jb250cm9sLXRoZW1lKCRjb2xvcikge1xuICAuZm9ybS1jb250cm9sOmZvY3VzLFxuICAuY3VzdG9tLXNlbGVjdDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZm9ybS1jb250cm9sLXRoZW1lKCRjb2xvcikge1xuICAuZm9ybS1jb250cm9sOmZvY3VzLFxuICAuY3VzdG9tLXNlbGVjdDpmb2N1cyB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgJGNvbG9yIGluc2V0O1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU3dpdGNoZXJzXG5cbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXNpemUtYmFzZSgkd2lkdGgsICRoZWlnaHQsICRmb250LXNpemUsICRkZXNjcmlwdGlvbi1mb250LXNpemUsICRkZXNjcmlwdGlvbi1saW5lLWhlaWdodCwgJGlubmVyLXNwYWNlcjogJHN3aXRjaGVyLWlubmVyLXNwYWNlcikge1xuICBwYWRkaW5nLWxlZnQ6ICR3aWR0aDtcbiAgbWluLWhlaWdodDogJGhlaWdodDtcbiAgZm9udC1zaXplOiAkZGVzY3JpcHRpb24tZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xuXG4gICRsaW5lLWhlaWdodC1jb21wdXRlZDogJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSAqICRkZXNjcmlwdGlvbi1saW5lLWhlaWdodDtcbiAgJGRlbHRhOiBpZigkbWF0ZXJpYWwtc3R5bGUsIHB4LXRvLXJlbShjZWlsKHJlbS10by1weCgkaGVpZ2h0ICogLjEyNSkpKSwgMCk7XG5cbiAgLnN3aXRjaGVyLWJsYW5rIC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgIHRvcDogJGRlbHRhICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGhlaWdodDogJGhlaWdodCAtICgkZGVsdGEgKiAyKTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWlnaHQ7XG5cbiAgICBAaWYgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkID4gJGhlaWdodCB7XG4gICAgICB0b3A6ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC0gJGhlaWdodCkgLyAyKSArICRkZWx0YTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRvcDogMCArICRkZWx0YTtcbiAgICB9XG4gIH1cblxuICAuc3dpdGNoZXItbGFiZWwge1xuICAgIEBpZiAkbGluZS1oZWlnaHQtY29tcHV0ZWQgPCAkaGVpZ2h0IHtcbiAgICAgIHRvcDogKCRoZWlnaHQgLSAkbGluZS1oZWlnaHQtY29tcHV0ZWQpIC8gMjtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cblxuICAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgICBsZWZ0OiAkd2lkdGggLSAkaGVpZ2h0O1xuICB9XG5cbiAgLnN3aXRjaGVyLWluZGljYXRvcjo6YWZ0ZXIge1xuICAgIHRvcDogJGRlbHRhICogLTE7XG4gICAgbWFyZ2luOiAkaW5uZXItc3BhY2VyIDAgMCAkaW5uZXItc3BhY2VyO1xuICAgIHdpZHRoOiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlciAqIDI7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlciAqIDI7XG4gIH1cblxuICAuc3dpdGNoZXItbm8ge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRpbm5lci1zcGFjZXI7XG4gICAgcGFkZGluZy1sZWZ0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcbiAgfVxuXG4gIC5zd2l0Y2hlci15ZXMge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyO1xuICAgIHBhZGRpbmctbGVmdDogJGlubmVyLXNwYWNlcjtcbiAgfVxuXG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAgIC5zd2l0Y2hlci1pbmRpY2F0b3I6OmJlZm9yZSB7XG4gICAgICB0b3A6ICRkZWx0YSAqIC0xO1xuICAgICAgd2lkdGg6ICRoZWlnaHQ7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuXG4gICAgLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yOjpiZWZvcmUge1xuICAgICAgbGVmdDogJHdpZHRoIC0gJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICBAaWYgJHJ0bC1zdXBwb3J0IHtcbiAgICBbZGlyPXJ0bF0gJiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkd2lkdGg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XG4gICAgICByaWdodDogJHdpZHRoIC0gJGhlaWdodDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLWluZGljYXRvcjo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkaW5uZXItc3BhY2VyO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLW5vIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkaW5uZXItc3BhY2VyO1xuICAgIH1cblxuICAgIFtkaXI9cnRsXSAmIC5zd2l0Y2hlci15ZXMge1xuICAgICAgcGFkZGluZy1yaWdodDogJGlubmVyLXNwYWNlcjtcbiAgICAgIHBhZGRpbmctbGVmdDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XG4gICAgfVxuXG4gICAgQGlmICRtYXRlcmlhbC1zdHlsZSB7XG4gICAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmJlZm9yZSB7XG4gICAgICAgIHJpZ2h0OiAkd2lkdGggLSAkaGVpZ2h0O1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1zd2l0Y2hlci1zaXplKCRzaXplLCAkd2lkdGgsICRoZWlnaHQsICRmb250LXNpemUsICRkZXNjcmlwdGlvbi1mb250LXNpemUsICRkZXNjcmlwdGlvbi1saW5lLWhlaWdodCwgJGlubmVyLXNwYWNlcjogJHN3aXRjaGVyLWlubmVyLXNwYWNlcikge1xuICAuc3dpdGNoZXItI3skc2l6ZX0sXG4gIC5mb3JtLWdyb3VwLSN7JHNpemV9IC5zd2l0Y2hlciB7XG4gICAgQGluY2x1ZGUgYXBwd29yay1zd2l0Y2hlci1zaXplLWJhc2UoJHdpZHRoLCAkaGVpZ2h0LCAkZm9udC1zaXplLCAkZGVzY3JpcHRpb24tZm9udC1zaXplLCAkZGVzY3JpcHRpb24tbGluZS1oZWlnaHQsICRpbm5lci1zcGFjZXIpO1xuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAkc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcnLCAnI3skcGFyZW50fS5zd2l0Y2hlcicpO1xuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcblxuICAjeyRzZWxlY3Rvcn0gLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IC5zd2l0Y2hlci1pbnB1dDpmb2N1cyB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGJhY2tncm91bmQsIC40KTtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6YWN0aXZlIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgYXBwd29yay1zd2l0Y2hlci12YXJpYW50KCcnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCkge1xuICAkc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcnLCAnI3skcGFyZW50fS5zd2l0Y2hlcicpO1xuXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJGJhY2tncm91bmQsIC41KTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRiYWNrZ3JvdW5kLCAuMTUpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci10aGVtZSgkYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kKTtcbn1cblxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvcikge1xuICAuc3dpdGNoZXItaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgICY6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IHlpcSgkY29sb3IpICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkY29sb3IsIC40KSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAmOmFjdGl2ZSB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIH4gLnN3aXRjaGVyLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XG4gIC5zd2l0Y2hlci1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsIC41KSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgLjE1KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIH4gLnN3aXRjaGVyLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge31cblxuQG1peGluIGFwcHdvcmstdGFibGUtcm93LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQpIHtcbiAgJGJnOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMSksICNmZmYpO1xuICAkY29sb3I6IHlpcSgkYmcpO1xuICAkaG92ZXItYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJnLCAuOTkpLCAjMDAwKTtcblxuICAudGFibGUgI3skcGFyZW50fSxcbiAgLnRhYmxlICN7JHBhcmVudH0gPiB0aCxcbiAgLnRhYmxlICN7JHBhcmVudH0gPiB0ZCB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4wMzUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLnRhYmxlLWhvdmVyICN7JHBhcmVudH06aG92ZXIsXG4gIC50YWJsZS1ob3ZlciAjeyRwYXJlbnR9OmhvdmVyID4gdGQsXG4gIC50YWJsZS1ob3ZlciAjeyRwYXJlbnR9OmhvdmVyID4gdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iZztcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE5hdmJhclxuXG5AbWl4aW4gYXBwd29yay1uYXZiYXItdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCwgJGFjdGl2ZS1jb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCkge1xuICAkY29sb3JzOiBnZXQtbmF2LWNvbG9ycygkYmcsICRhY3RpdmUtY29sb3IsICRjb2xvciwgJGJvcmRlcik7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBiZykgIWltcG9ydGFudDtcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XG5cbiAgICAubmF2YmFyLWJyYW5kIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2YmFyLW5hdiB7XG4gICAgICAubmF2LWxpbmsge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XG5cbiAgICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBkaXNhYmxlZC1jb2xvcikgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKTtcbiAgICB9XG5cbiAgICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZihtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcikgPT0gI2ZmZiwgJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZywgJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmcpO1xuICAgIH1cblxuICAgIC5uYXZiYXItdGV4dCB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuXG4gICAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaHIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU2lkZW5hdlxuXG5AbWl4aW4gYXBwd29yay1zaWRlbmF2LXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6IG51bGwsICRhY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwsICRtZW51LWJnOiBudWxsKSB7XG4gICRjb2xvcnM6IGdldC1uYXYtY29sb3JzKCRiZywgJGFjdGl2ZS1jb2xvciwgJGNvbG9yLCAkYm9yZGVyKTtcbiAgJHlpcS1wZXJjZW50OiBtYXAtZ2V0KCRjb2xvcnMsIHlpcS1wZXJjZW50KTtcblxuICBAaWYgbm90ICRtZW51LWJnIHtcbiAgICAkbWVudS1iZzogcmdiYS10by1oZXgocmdiYShtYXAtZ2V0KCRjb2xvcnMsIGJnKSwgMSAtIGlmKCR5aXEtcGVyY2VudCA+IC43NSwgLjAyNSwgLjA1KSksIGlmKCR5aXEtcGVyY2VudCA8IC4yNSwgI2ZmZiwgIzAwMCkpO1xuICB9XG5cbiAgJG1lbnUtYWN0aXZlLWJnOiByZ2JhLXRvLWhleChyZ2JhKCRtZW51LWJnLCAxIC0gaWYoJHlpcS1wZXJjZW50ID4gLjc1LCAuMDI1LCAuMDUpKSwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCAjZmZmLCAjMDAwKSk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBiZykgIWltcG9ydGFudDtcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XG5cbiAgICAuc2lkZW5hdi1saW5rLFxuICAgIC5zaWRlbmF2LWhvcml6b250YWwtcHJldixcbiAgICAuc2lkZW5hdi1ob3Jpem9udGFsLW5leHQge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2lkZW5hdi1pdGVtLmRpc2FibGVkIC5zaWRlbmF2LWxpbmssXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2LmRpc2FibGVkLFxuICAgIC5zaWRlbmF2LWhvcml6b250YWwtbmV4dC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBkaXNhYmxlZC1jb2xvcikgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2lkZW5hdi1pdGVtLm9wZW46bm90KC5zaWRlbmF2LWl0ZW0tY2xvc2luZykgPiAuc2lkZW5hdi10b2dnbGUsXG4gICAgLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgfVxuXG4gICAgLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOm5vdCguc2lkZW5hdi10b2dnbGUpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZW51LWJnO1xuICAgIH1cblxuICAgICYuc2lkZW5hdi1ob3Jpem9udGFsIC5zaWRlbmF2LW1lbnUgPiAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6bm90KC5zaWRlbmF2LXRvZ2dsZSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnUtYWN0aXZlLWJnO1xuICAgIH1cblxuICAgICYuc2lkZW5hdi1ob3Jpem9udGFsIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbTpub3QoLnNpZGVuYXYtaXRlbS1jbG9zaW5nKSA+IC5zaWRlbmF2LW1lbnUsXG4gICAgJi5zaWRlbmF2LWhvcml6b250YWwgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gPiAuc2lkZW5hdi10b2dnbGUge1xuICAgICAgYmFja2dyb3VuZDogJG1lbnUtYmc7XG4gICAgfVxuXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLnNpZGVuYXYtaXRlbS1jbG9zaW5nIC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1tZW51LFxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5zaWRlbmF2LWl0ZW0tY2xvc2luZyAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtdG9nZ2xlIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xuICAgIH1cblxuICAgIC5zaWRlbmF2LXRleHQge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuc2lkZW5hdi1oZWFkZXIge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgbXV0ZWQtY29sb3IpO1xuICAgIH1cblxuICAgIGhyLFxuICAgIC5zaWRlbmF2LWRpdmlkZXIsXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gPiAuc2lkZW5hdi1tZW51OjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcikgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWhlYWRlcjo6YmVmb3JlLFxuICAgIC5zaWRlbmF2LWJsb2NrOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBib3JkZXIpO1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEtdG8taGV4KG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKSwgJG1lbnUtYmcpO1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1pdGVtLm9wZW4gPiAuc2lkZW5hdi10b2dnbGU6OmJlZm9yZSxcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6OmJlZm9yZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJG1lbnUtYmc7XG4gICAgfVxuXG4gICAgLnBzX190aHVtYi15LFxuICAgIC5wc19fcmFpbC15LnBzLS1jbGlja2luZyA+IC5wc19fdGh1bWIteSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKSwgaWYoJHlpcS1wZXJjZW50ID4gLjc1LCBtYXAtZ2V0KCRjb2xvcnMsIG9wYWNpdHkpIC0gLjQsIG1hcC1nZXQoJGNvbG9ycywgb3BhY2l0eSkgLSAuMikpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRm9vdGVyXG5cbkBtaXhpbiBhcHB3b3JrLWZvb3Rlci12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiBudWxsLCAkYWN0aXZlLWNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XG4gICRjb2xvcnM6IGdldC1uYXYtY29sb3JzKCRiZywgJGFjdGl2ZS1jb2xvciwgJGNvbG9yLCAkYm9yZGVyKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJnKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgIC5mb290ZXItbGluayB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGRpc2FibGVkLWNvbG9yKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXItdGV4dCB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgIH1cblxuICAgIC5zaG93ID4gLmZvb3Rlci1saW5rLFxuICAgIC5hY3RpdmUgPiAuZm9vdGVyLWxpbmssXG4gICAgLmZvb3Rlci1saW5rLnNob3csXG4gICAgLmZvb3Rlci1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgIH1cblxuICAgIGhyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBib3JkZXIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gVGFibGVzXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGlmICRjb2xvciAhPSBwcmltYXJ5IGFuZCAkY29sb3IgIT0gbGlnaHQge1xuICAgIEBpbmNsdWRlIGFwcHdvcmstdGFibGUtcm93LXZhcmlhbnQoJy50YWJsZS0jeyRjb2xvcn0nLCAkdmFsdWUpO1xuICB9XG59XG5cbi50YWJsZS50YWJsZS1maXhlZCB7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG59XG5cbi50YWJsZSB0aCB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaWJvbGQ7XG59XG5cbi50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEFjdGl2ZVxuXG4udGFibGUtYWN0aXZlLFxuLnRhYmxlLWFjdGl2ZSA+IHRoLFxuLnRhYmxlLWFjdGl2ZSA+IHRkIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjAzNSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1hY3RpdmUtYmc7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtYWN0aXZlOmhvdmVyLFxuLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtYWN0aXZlOmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCR0YWJsZS1hY3RpdmUtYmcsIC45OSksICMwMDApO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFdpdGhpbiBjYXJkXG5cbi5jYXJkLXRhYmxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGFibGUsXG4uY2FyZC10YWJsZSB0aCxcbi5jYXJkLXRhYmxlIHRkIHtcbiAgYm9yZGVyLWNvbG9yOiAkY2FyZC1pbm5lci1ib3JkZXItY29sb3I7XG59XG5cbi5jYXJkLXRhYmxlID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCxcbi5jYXJkLXRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCxcbi5jYXJkLXRhYmxlID4gdGZvb3Q6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB7XG4gICA+IHRkLFxuICAgPiB0aCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AaW5jbHVkZSBsdHItb25seSB7XG4gIC5jYXJkLXRhYmxlID4gdGhlYWQgPiB0cixcbiAgLmNhcmQtdGFibGUgPiB0Ym9keSA+IHRyLFxuICAuY2FyZC10YWJsZSA+IHRmb290ID4gdHIge1xuICAgICA+IHRkLFxuICAgICA+IHRoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNhcmQtc3BhY2VyLXg7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb25kZW5jZWRcbiAgLmNhcmQtY29uZGVuY2VkIC5jYXJkLXRhYmxlID4gdGhlYWQgPiB0cixcbiAgLmNhcmQtY29uZGVuY2VkIC5jYXJkLXRhYmxlID4gdGJvZHkgPiB0cixcbiAgLmNhcmQtY29uZGVuY2VkIC5jYXJkLXRhYmxlID4gdGZvb3QgPiB0ciB7XG4gICAgID4gdGQsXG4gICAgID4gdGgge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtc3BhY2VyLXgtc207XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1zcGFjZXIteC1zbTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBydGwtb25seSB7XG4gIC5jYXJkLXRhYmxlID4gdGhlYWQgPiB0cixcbiAgLmNhcmQtdGFibGUgPiB0Ym9keSA+IHRyLFxuICAuY2FyZC10YWJsZSA+IHRmb290ID4gdHIge1xuICAgICA+IHRkLFxuICAgICA+IHRoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1zcGFjZXIteDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb25kZW5jZWRcbiAgLmNhcmQtY29uZGVuY2VkIC5jYXJkLXRhYmxlID4gdGhlYWQgPiB0cixcbiAgLmNhcmQtY29uZGVuY2VkIC5jYXJkLXRhYmxlID4gdGJvZHkgPiB0cixcbiAgLmNhcmQtY29uZGVuY2VkIC5jYXJkLXRhYmxlID4gdGZvb3QgPiB0ciB7XG4gICAgID4gdGQsXG4gICAgID4gdGgge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLXNwYWNlci14O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtc3BhY2VyLXg7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRnVuY3Rpb25zXG4vL1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE1hdGhcblxuJHBpOiAzLjE0MTU5MjY1MzU5O1xuJF9wcmVjaXNpb246IDEwO1xuXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwKSB7XG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBpZiAkZXhwIDwgMXtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gc3FydCgkcikge1xuICAkeDA6IDE7XG4gICR4MTogJHgwO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTAge1xuICAgICR4MTogJHgwIC0gKCR4MCAqICR4MCAtIGFicygkcikpIC8gKDIgKiAkeDApO1xuICAgICR4MDogJHgxO1xuICB9XG5cbiAgQHJldHVybiAkeDE7XG59XG5cbkBmdW5jdGlvbiBmYWN0KCRudW0pIHtcbiAgJGZhY3Q6IDE7XG4gIEBpZiAkbnVtID4gMHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRudW0ge1xuICAgICAgJGZhY3Q6ICRmYWN0ICogJGk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGZhY3Q7XG59XG5cbkBmdW5jdGlvbiBfdG9fdW5pdGxlc3NfcmFkKCRhbmdsZSkge1xuICBAaWYgdW5pdCgkYW5nbGUpID09IFwiZGVnXCIge1xuICAgICRhbmdsZTogJGFuZ2xlIC8gMTgwZGVnICogJHBpO1xuICB9XG4gIEBpZiB1bml0KCRhbmdsZSkgPT0gXCJyYWRcIiB7XG4gICAgJGFuZ2xlOiAkYW5nbGUgLyAxcmFkO1xuICB9XG4gIEByZXR1cm4gJGFuZ2xlO1xufVxuXG5AZnVuY3Rpb24gc2luKCRhbmdsZSl7XG4gICRhOiBfdG9fdW5pdGxlc3NfcmFkKCRhbmdsZSk7XG4gICRzaW46ICRhO1xuICBAZm9yICRuIGZyb20gMSB0aHJvdWdoICRfcHJlY2lzaW9uIHtcbiAgICAkc2luOiAkc2luICsgKHBvdygtMSwgJG4pIC8gZmFjdCgyICogJG4gKyAxKSApICogcG93KCRhLCAoMiAqICRuICsgMSkpO1xuICB9XG4gIEByZXR1cm4gJHNpbjtcbn1cblxuQGZ1bmN0aW9uIGNvcygkYW5nbGUpe1xuICAkYTogX3RvX3VuaXRsZXNzX3JhZCgkYW5nbGUpO1xuICAkY29zOiAxO1xuICBAZm9yICRuIGZyb20gMSB0aHJvdWdoICRfcHJlY2lzaW9uIHtcbiAgICAkY29zOiAkY29zICsgKCBwb3coLTEsJG4pIC8gZmFjdCgyKiRuKSApICogcG93KCRhLDIqJG4pO1xuICB9XG4gIEByZXR1cm4gJGNvcztcbn1cblxuQGZ1bmN0aW9uIHRhbigkYW5nbGUpe1xuICBAcmV0dXJuIHNpbigkYW5nbGUpIC8gY29zKCRhbmdsZSk7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTGlzdHNcblxuQGZ1bmN0aW9uIHNsaWNlLWxpc3QoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xuICAkcmVzdWx0OiBudWxsO1xuXG4gIEBpZiB0eXBlLW9mKCRzdGFydCkgIT0gbnVtYmVyIG9yIHR5cGUtb2YoJGVuZCkgIT0gbnVtYmVyIHtcbiAgICBAd2FybiBcIkVpdGhlciAkc3RhcnQgb3IgJGVuZCBhcmUgbm90IGEgbnVtYmVyIGZvciBgc2xpY2VgLlwiO1xuICB9XG5cbiAgQGVsc2UgaWYgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHdhcm4gXCJUaGUgc3RhcnQgaW5kZXggaGFzIHRvIGJlIGxlc3NlciB0aGFuIG9yIGVxdWFscyB0byB0aGUgZW5kIGluZGV4IGZvciBgc2xpY2VgLlwiO1xuICB9XG5cbiAgQGVsc2UgaWYgJHN0YXJ0IDwgMSBvciAkZW5kIDwgMSB7XG4gICAgQHdhcm4gXCJMaXN0IGluZGV4ZXMgbXVzdCBiZSBub24temVybyBpbnRlZ2VycyBmb3IgYHNsaWNlYC5cIjtcbiAgfVxuXG4gIEBlbHNlIGlmICRzdGFydCA+IGxlbmd0aCgkbGlzdCkge1xuICAgIEB3YXJuIFwiTGlzdCBpbmRleCBpcyAjeyRzdGFydH0gYnV0IGxpc3QgaXMgb25seSAje2xlbmd0aCgkbGlzdCl9IGl0ZW0gbG9uZyBmb3IgYHNsaWNlYC5cIjtcbiAgfVxuXG4gIEBlbHNlIGlmICRlbmQgPiBsZW5ndGgoJGxpc3QpIHtcbiAgICBAd2FybiBcIkxpc3QgaW5kZXggaXMgI3skZW5kfSBidXQgbGlzdCBpcyBvbmx5ICN7bGVuZ3RoKCRsaXN0KX0gaXRlbSBsb25nIGZvciBgc2xpY2VgLlwiO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgICRyZXN1bHQ6ICgpO1xuXG4gICAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU3RyaW5nc1xuXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBDb2xvcnNcblxuQGZ1bmN0aW9uIHJnYmEtdG8taGV4KCRjb2xvciwgJGJhY2tncm91bmQ6ICNmZmYpIHtcbiAgQGlmICRjb2xvciBhbmQgYWxwaGEoJGNvbG9yKSAhPSAxIHtcbiAgICAkcGVyY2VudDogYWxwaGEoJGNvbG9yKSAqIDEwMCU7XG4gICAgJG9wYXF1ZTogb3BhY2lmeSgkY29sb3IsIDEpO1xuXG4gICAgQHJldHVybiBtaXgoJG9wYXF1ZSwgJGJhY2tncm91bmQsICRwZXJjZW50KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkY29sb3I7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIHlpcS12YWx1ZSgkY29sb3IpIHtcbiAgQGlmICRjb2xvciA9PSB0cmFuc3BhcmVudCB7XG4gICAgQHJldHVybiAkYm9keS1jb2xvcjtcbiAgfSBAZWxzZSBpZiBhbHBoYSgkY29sb3IpICE9IDEge1xuICAgICRjb2xvcjogcmdiYS10by1oZXgoJGNvbG9yKTtcbiAgfVxuXG4gICRyOiByZWQoJGNvbG9yKTtcbiAgJGc6IGdyZWVuKCRjb2xvcik7XG4gICRiOiBibHVlKCRjb2xvcik7XG5cbiAgQHJldHVybiAoKCRyICogMjk5KSArICgkZyAqIDU4NykgKyAoJGIgKiAxMTQpKSAvIDEwMDA7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG5AZnVuY3Rpb24geWlxKCRjb2xvcikge1xuICAkeWlxOiB5aXEtdmFsdWUoJGNvbG9yKTtcblxuICBAaWYgKCR5aXEgPj0gMTYwKSB7XG4gICAgQHJldHVybiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjQwKSwgIzAwMCk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gI2ZmZjtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFVuaXRzXG5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcbiAgQGlmIHR5cGUtb2YoJG51bWJlcikgPT0gJ251bWJlcicgYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XG4gICAgQHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XG4gIH1cblxuICBAcmV0dXJuICRudW1iZXI7XG59XG5cbkBmdW5jdGlvbiBweC10by1yZW0oJHZhbHVlKSB7XG4gIC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBmb250IHNpemUgPSBgMTZweGBcbiAgQHJldHVybiAoc3RyaXAtdW5pdCgkdmFsdWUpIC8gMTYpICogMXJlbTtcbn1cblxuQGZ1bmN0aW9uIHJlbS10by1weCgkdmFsdWUpIHtcbiAgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0IGZvbnQgc2l6ZSA9IGAxNnB4YFxuICBAcmV0dXJuIChzdHJpcC11bml0KCR2YWx1ZSkgKiAxNikgKiAxcHg7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVXRpbGl0aWVzXG5cbkBmdW5jdGlvbiBnZXQtYnRuLWNvbG9ycygkYmFja2dyb3VuZCwgJGJvcmRlcikge1xuICBAaWYgJGJhY2tncm91bmQgPT0gdHJhbnNwYXJlbnQge1xuICAgICRidG4tc2hhZG93OiByZ2JhKHJnYmEtdG8taGV4KCRib3JkZXIsICMwMDApLCAuMDUpO1xuXG4gICAgQHJldHVybiAoXG4gICAgICBiZy1ob3ZlcjogIHJnYmEoJGJvcmRlciwgLjA2KSxcbiAgICAgIGJnLWFjdGl2ZTogcmdiYSgkYm9yZGVyLCAuMTIpLFxuICAgICAgYm9yZGVyOiAgICAkYm9yZGVyLFxuICAgICAgc2hhZG93OiAgICBpZigkZW5hYmxlLXNoYWRvd3MsICgkYnRuLWJveC1zaGFkb3csIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoICRidG4tc2hhZG93KSwgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggJGJ0bi1zaGFkb3cpXG4gICAgKTtcbiAgfSBAZWxzZSBpZiBhbHBoYSgkYmFja2dyb3VuZCkgIT0gMSB7XG4gICAgJGJnLWFscGhhOiAgIGFscGhhKCRiYWNrZ3JvdW5kKTtcbiAgICAkYnRuLXNoYWRvdzogcmdiYSgkYmFja2dyb3VuZCwgJGJnLWFscGhhIC0gKCRiZy1hbHBoYSAqIDU1IC8gMTAwKSApO1xuXG4gICAgQHJldHVybiAoXG4gICAgICBiZy1ob3ZlcjogIHJnYmEoJGJhY2tncm91bmQsICRiZy1hbHBoYSArIDAuMDUpLFxuICAgICAgYmctYWN0aXZlOiByZ2JhKCRiYWNrZ3JvdW5kLCAkYmctYWxwaGEgKyAwLjEzKSxcbiAgICAgIGJvcmRlcjogICAgdHJhbnNwYXJlbnQsXG4gICAgICBzaGFkb3c6ICAgIGlmKCRlbmFibGUtc2hhZG93cywgKCRidG4tYm94LXNoYWRvdywgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggJGJ0bi1zaGFkb3cpLCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCAkYnRuLXNoYWRvdylcbiAgICApO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIChcbiAgICAgIGJnLWhvdmVyOiAgcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjk1KSwgIzAwMCksXG4gICAgICBiZy1hY3RpdmU6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC44NyksICMwMDApLFxuICAgICAgYm9yZGVyOiAgICB0cmFuc3BhcmVudCxcbiAgICAgIHNoYWRvdzogICAgaWYoJGVuYWJsZS1zaGFkb3dzLCAoJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRiYWNrZ3JvdW5kLCAuNCkpLCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRiYWNrZ3JvdW5kLCAuNCkpXG4gICAgKTtcbiAgfVxufVxuXG5AZnVuY3Rpb24gZ2V0LW1hdGVyaWFsLWJ0bi1jb2xvcnMoJGJhY2tncm91bmQpIHtcbiAgQGlmIGFscGhhKCRiYWNrZ3JvdW5kKSAhPSAxIHtcbiAgICAkYmFja2dyb3VuZDogcmdiYS10by1oZXgoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQHJldHVybiAoXG4gICAgYmctaG92ZXI6ICByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuOTUpLCAjZmZmKSxcbiAgICBiZy1hY3RpdmU6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC44NyksICNmZmYpLFxuICApO1xufVxuXG5AZnVuY3Rpb24gZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yOiBudWxsLCAkaW5hY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcbiAgJGJnOiByZ2JhLXRvLWhleCgkYmcpO1xuICAkYWN0aXZlLWNvbG9yOiByZ2JhLXRvLWhleCgkYWN0aXZlLWNvbG9yKTtcbiAgJGFjdGl2ZS1jb2xvcjogaWYoJGFjdGl2ZS1jb2xvciwgJGFjdGl2ZS1jb2xvciwgeWlxKCRiZykpO1xuICAkeWlxLXBlcmNlbnQ6IHlpcS12YWx1ZSgkYmcpIC8gMjU1O1xuICAkeWlxLXBlcmNlbnQtaW52ZXJ0ZWQ6IDEgLSAkeWlxLXBlcmNlbnQ7XG5cbiAgJG9wYWNpdHk6IGlmKCRhY3RpdmUtY29sb3IgPT0gI2ZmZiwgLjYgKyAoLjQgKiAkeWlxLXBlcmNlbnQpLCAuNiArICguNCAqICgxIC0gJHlpcS1wZXJjZW50KSkpO1xuXG4gICRjb2xvcjogaWYoJGluYWN0aXZlLWNvbG9yLCByZ2JhLXRvLWhleCgkaW5hY3RpdmUtY29sb3IsICRiZyksIHJnYmEtdG8taGV4KHJnYmEoJGFjdGl2ZS1jb2xvciwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCAkb3BhY2l0eSAtIC4xNSwgJG9wYWNpdHkpKSwgJGJnKSk7XG4gICRkaXNhYmxlZC1jb2xvcjogcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC42KSwgJGJnKTtcbiAgJG11dGVkLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjc1KSwgJGJnKTtcbiAgJGJvcmRlcjogaWYoJGJvcmRlciwgJGJvcmRlciwgaWYoJHlpcS1wZXJjZW50ID4gLjc1LCByZ2JhKCRhY3RpdmUtY29sb3IsICRvcGFjaXR5IC8gOCksIGlmKCR5aXEtcGVyY2VudCA8IC4yNSwgcmdiYSgkYWN0aXZlLWNvbG9yLCAuMDYpLCByZ2JhKCRhY3RpdmUtY29sb3IsIC4xNSkpKSk7XG5cbiAgQHJldHVybiAoXG4gICAgLy8gTWV0YWRhdGFcbiAgICBvcGFjaXR5OiAkb3BhY2l0eSxcbiAgICB5aXEtcGVyY2VudDogJHlpcS1wZXJjZW50LFxuICAgIHlpcS1wZXJjZW50LWludmVydGVkOiAkeWlxLXBlcmNlbnQtaW52ZXJ0ZWQsXG5cbiAgICAvLyBDb2xvcnNcbiAgICBiZzogJGJnLFxuICAgIGNvbG9yOiAkY29sb3IsXG4gICAgYWN0aXZlLWNvbG9yOiAkYWN0aXZlLWNvbG9yLFxuICAgIGRpc2FibGVkLWNvbG9yOiAkZGlzYWJsZWQtY29sb3IsXG4gICAgbXV0ZWQtY29sb3I6ICRtdXRlZC1jb2xvcixcbiAgICBib3JkZXI6ICRib3JkZXJcbiAgKTtcbn1cbiIsIi8vIEhvdmVyIG1peGluIGFuZCBgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeWAgYXJlIGRlcHJlY2F0ZWQuXG4vL1xuLy8gT3JpZ2luYWxseSBhZGRlZCBkdXJpbmcgb3VyIGFscGhhcyBhbmQgbWFpbnRhaW5lZCBkdXJpbmcgYmV0YXMsIHRoaXMgbWl4aW4gd2FzXG4vLyBkZXNpZ25lZCB0byBwcmV2ZW50IGA6aG92ZXJgIHN0aWNraW5lc3Mgb24gaU9TLWFuIGlzc3VlIHdoZXJlIGhvdmVyIHN0eWxlc1xuLy8gd291bGQgcGVyc2lzdCBhZnRlciBpbml0aWFsIHRvdWNoLlxuLy9cbi8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB3ZSd2ZSBrZXB0IHRoZXNlIG1peGlucyBhbmQgdXBkYXRlZCB0aGVtIHRvXG4vLyBhbHdheXMgcmV0dXJuIHRoZWlyIHJlZ3VsYXIgcHNldWRvLWNsYXNzZXMgaW5zdGVhZCBvZiBhIHNoaW1tZWQgbWVkaWEgcXVlcnkuXG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjUxOTVcblxuQG1peGluIGhvdmVyIHtcbiAgJjpob3ZlciB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cyB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEJhc2Vcbi8vXG5cbmJvZHkge1xuICAtbW96LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJsaWdhXCIgb247XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICBidXR0b24ubGlzdC1ncm91cC1pdGVtIHtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQGlmICRtYXRlcmlhbC1zdHlsZSB7XG4gIC53YXZlcy1yaXBwbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogSUUgRml4ZXNcblxuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgLy8gRml4IElFIHBhcmVudCBjb250YWluZXIgaGVpZ2h0IGJ1ZyB3aGVuIGNvbnRhaW5pbmcgaW1hZ2Ugd2l0aCBmbHVpZCB3aWR0aFxuICAuY2FyZCxcbiAgLmNhcmQtYm9keSxcbiAgLm1lZGlhLFxuICAuZmxleC1jb2x1bW4sXG4gIC50YWItY29udGVudCB7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICB9XG5cbiAgaW1nIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQ29udGFpbmVyc1xuXG4uY29udGFpbmVyLFxuLmNvbnRhaW5lci1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy14LXNtO1xuICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy14LXNtO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmcteDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy14O1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVGh1bWJuYWlsc1xuXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5pbWctdGh1bWJuYWlsIGltZyB7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5pbWctdGh1bWJuYWlsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHotaW5kZXg6IDM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAuaW1nLXRodW1ibmFpbDpob3ZlciAmLFxuICAuaW1nLXRodW1ibmFpbDpmb2N1cyAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8vIE92ZXJsYXkgZWZmZWN0XG4uaW1nLXRodW1ibmFpbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuXG4gIC5pbWctdGh1bWJuYWlsOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpICYge1xuICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaW1nLXRodW1ibmFpbC1zaGFkb3cge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4ycztcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCA1cHggMjBweCByZ2JhKCRibGFjaywgLjQpO1xuICB9XG59XG5cbi8vIFpvb20taW4gZWZmZWN0XG4uaW1nLXRodW1ibmFpbC16b29tLWluIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpbWcge1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwKTtcbiAgfVxuXG4gIC5pbWctdGh1bWJuYWlsLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKC42KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBpbWcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIH1cblxuICAgIC5pbWctdGh1bWJuYWlsLWNvbnRlbnQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTWF0ZXJpYWwgYW5pbWF0aW9uc1xuXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgQGluY2x1ZGUga2V5ZnJhbWVzKGRyb3Bkb3duQW5pbWF0aW9uKSB7XG4gICAgMCUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgfVxuICAgIDgwJSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGtleWZyYW1lcyh0b3BUb29sdGlwQW5pbWF0aW9uKSB7XG4gICAgMCUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGtleWZyYW1lcyhib3R0b21Ub29sdGlwQW5pbWF0aW9uKSB7XG4gICAgMCUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBrZXlmcmFtZXMobGVmdFRvb2x0aXBBbmltYXRpb24pIHtcbiAgICAwJSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUga2V5ZnJhbWVzKHJpZ2h0VG9vbHRpcEFuaW1hdGlvbikge1xuICAgIDAlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBSVExcblxuQGlmICRydGwtc3VwcG9ydCB7XG4gIFtkaXI9cnRsXSBib2R5IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICAgIGRpcmVjdGlvbjogcnRsICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuIl19 */
