.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; }

.btn.btn-link {
  font-size: inherit; }

.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 .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 .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 .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 .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 .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 .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 .form-control-file:valid ~ .valid-feedback,
.was-validated .form-control-file:valid ~ .valid-tooltip,
.form-control-file.is-valid ~ .valid-feedback,
.form-control-file.is-valid ~ .valid-tooltip {
  display: block; }

.was-validated .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='-4 -4 8 8'%3E%3Ccircle r='3' 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 .form-control-file:invalid ~ .invalid-feedback,
.was-validated .form-control-file:invalid ~ .invalid-tooltip,
.form-control-file.is-invalid ~ .invalid-feedback,
.form-control-file.is-invalid ~ .invalid-tooltip {
  display: block; }

.was-validated .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='-4 -4 8 8'%3E%3Ccircle r='3' 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%; }

.custom-checkbox .custom-control-input:indeterminate:not(:checked) ~ .custom-control-label::before {
  background-size: 0.5rem; }

.custom-radio .custom-control-label::before {
  background-size: 0.5rem; }

.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:indeterminate ~ .custom-control-label::before,
fieldset[disabled] .custom-control-input:indeterminate ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23a3a4a6' d='M0 2h4'/%3E%3C/svg%3E") !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='-4 -4 8 8'%3E%3Ccircle r='3' 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,iVBORw0KGgoAAAANSUhEUgAAACIAAAAYCAYAAACfpi8JAAAABGdBTUEAALGPC/xhBQAAAKBJREFUSA3t1kEKgCAQBVCTDtciulJ2pWjRiapTaPwokUEjRW0zgaHSOI9PQWLbD4Mhfr7kz/1te4bYKO4JJ8KJ0ATouqUbqeuuH5TRekypb6Scsr2s6zIrHBgLQQ1qs0EAiMU8CNRmhcRgXEQRyBcMRRSDvGF8iKIQHyaEwLOixm8APm2Mq2HoVgMS6u3uZ/9q3MNj5gyhaXEinAhNgK5PpzhEO/hSMK4AAAAASUVORK5CYII=") !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,iVBORw0KGgoAAAANSUhEUgAAACIAAAAYCAYAAACfpi8JAAAABGdBTUEAALGPC/xhBQAAAJ5JREFUSA3t1G0KgCAMBuCMDtZlojOFhzVfUaFlH44N/0yIspw+vGhTCGHFNQ1u8+D16/IGqVHkB0vEEqEJ0P5CX3D78V+0x9qNWe/FNqtz7ogIz4B41IpBAGBgEgK1opBOTEWoQH5iLgg1yAfmhlCFPGCaCIwVO76YrNWwgePRTp/yZm4N04dg1TdAUYmfmjJx790gNDFLxBKhCdD+CQ3GHngvJTGKAAAAAElFTkSuQmCC") !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::after {
  display: block;
  clear: both;
  content: ""; }

.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; }

.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); }

.accordion .card {
  border-radius: 0.25rem !important;
  border: 1px solid rgba(24, 28, 33, 0.06) !important; }
  .accordion .card .card-header:last-child {
    border-bottom: 0; }

.close:focus {
  outline: 0; }

.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: none;
  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-logo .demo {
        display: none;
    }*/ }
  :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 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  :not(.layout-sidenav) > .sidenav-vertical.sidenav-collapsed:not(.layout-sidenav):not(:hover) .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-logo .demo {
        display: none;
    }*/ }
    .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 {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9yL2Nzcy9hcHB3b3JrLmNzcyIsInNvdXJjZXMiOlsidmVuZG9yL2Nzcy9hcHB3b3JrLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19pbmNsdWRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Z1bmN0aW9ucy5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fZnVuY3Rpb25zLnNjc3MiLCJ2ZW5kb3IvY3NzL19jdXN0b20tdmFyaWFibGVzL19hcHB3b3JrLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL192YXJpYWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFkZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2l6ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2l6ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1oaWRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL192aXNpYmlsaXR5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19hbGVydC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2FyZXQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3gtc2hhZG93LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZmxvYXQuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX21peGlucy5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fcmVib290LnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL190eXBlLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL191dGlsaXRpZXMuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2Jhc2Uuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX3RhYmxlcy5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fYnV0dG9ucy5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fYnV0dG9uLWdyb3VwLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19iYWRnZS5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fZHJvcGRvd24uc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX25hdi5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fcGFnaW5hdGlvbi5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fYWxlcnQuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX3Rvb2x0aXAuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX3BvcG92ZXIuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2Zvcm1zLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19jdXN0b20tZm9ybXMuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX3N3aXRjaGVyLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19pbnB1dC1ncm91cC5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fbW9kYWwuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2JyZWFkY3J1bWIuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2xpc3QtZ3JvdXAuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX25hdmJhci5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fY2FyZC5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fYWNjb3JkaW9uLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19jYXJvdXNlbC5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fY2xvc2Uuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2Zvb3Rlci5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fc2lkZW5hdi5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fbGF5b3V0LnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19hcHAtYnJhbmQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICdfYXBwd29yay9pbmNsdWRlJztcclxuQGltcG9ydCAnX2FwcHdvcmsvcmVib290JztcclxuQGltcG9ydCAnX2FwcHdvcmsvdHlwZSc7XHJcbkBpbXBvcnQgJ19hcHB3b3JrL3V0aWxpdGllcyc7XHJcbkBpbXBvcnQgJ19hcHB3b3JrL2Jhc2UnO1xyXG5AaW1wb3J0ICdfYXBwd29yay90YWJsZXMnO1xyXG5AaW1wb3J0ICdfYXBwd29yay9idXR0b25zJztcclxuQGltcG9ydCAnX2FwcHdvcmsvYnV0dG9uLWdyb3VwJztcclxuQGltcG9ydCAnX2FwcHdvcmsvYmFkZ2UnO1xyXG5AaW1wb3J0ICdfYXBwd29yay9kcm9wZG93bic7XHJcbkBpbXBvcnQgJ19hcHB3b3JrL25hdic7XHJcbkBpbXBvcnQgJ19hcHB3b3JrL3BhZ2luYXRpb24nO1xyXG5AaW1wb3J0ICdfYXBwd29yay9hbGVydCc7XHJcbkBpbXBvcnQgJ19hcHB3b3JrL3Rvb2x0aXAnO1xyXG5AaW1wb3J0ICdfYXBwd29yay9wb3BvdmVyJztcclxuQGltcG9ydCAnX2FwcHdvcmsvZm9ybXMnO1xyXG5AaW1wb3J0ICdfYXBwd29yay9jdXN0b20tZm9ybXMnO1xyXG5AaW1wb3J0ICdfYXBwd29yay9zd2l0Y2hlcic7XHJcbkBpbXBvcnQgJ19hcHB3b3JrL2lucHV0LWdyb3VwJztcclxuQGltcG9ydCAnX2FwcHdvcmsvbW9kYWwnO1xyXG5AaW1wb3J0ICdfYXBwd29yay9icmVhZGNydW1iJztcclxuQGltcG9ydCAnX2FwcHdvcmsvbGlzdC1ncm91cCc7XHJcbkBpbXBvcnQgJ19hcHB3b3JrL25hdmJhcic7XHJcbkBpbXBvcnQgJ19hcHB3b3JrL2NhcmQnO1xyXG5AaW1wb3J0ICdfYXBwd29yay9hY2NvcmRpb24nO1xyXG5AaW1wb3J0ICdfYXBwd29yay9jYXJvdXNlbCc7XHJcbkBpbXBvcnQgJ19hcHB3b3JrL2Nsb3NlJztcclxuQGltcG9ydCAnX2FwcHdvcmsvZm9vdGVyJztcclxuQGltcG9ydCAnX2FwcHdvcmsvc2lkZW5hdic7XHJcbkBpbXBvcnQgJ19hcHB3b3JrL2xheW91dCc7XHJcbkBpbXBvcnQgJ19hcHB3b3JrL2FwcC1icmFuZCc7XHJcbiIsIkBpbXBvcnQgJy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mdW5jdGlvbnMnO1xyXG5AaW1wb3J0ICdmdW5jdGlvbnMnO1xyXG5AaW1wb3J0ICcuLi9fY3VzdG9tLXZhcmlhYmxlcy9hcHB3b3JrJztcclxuQGltcG9ydCAndmFyaWFibGVzJztcclxuQGltcG9ydCAnLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlcyc7XHJcbkBpbXBvcnQgJy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMnO1xyXG5AaW1wb3J0ICdtaXhpbnMnO1xyXG4iLCIvLyBCb290c3RyYXAgZnVuY3Rpb25zXG4vL1xuLy8gVXRpbGl0eSBtaXhpbnMgYW5kIGZ1bmN0aW9ucyBmb3IgZXZhbHVhdGluZyBzb3VyY2UgY29kZSBhY3Jvc3Mgb3VyIHZhcmlhYmxlcywgbWFwcywgYW5kIG1peGlucy5cblxuLy8gQXNjZW5kaW5nXG4vLyBVc2VkIHRvIGV2YWx1YXRlIFNhc3MgbWFwcyBsaWtlIG91ciBncmlkIGJyZWFrcG9pbnRzLlxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xuICAkcHJldi1rZXk6IG51bGw7XG4gICRwcmV2LW51bTogbnVsbDtcbiAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gU3RhcnRzIGF0IHplcm9cbi8vIEFub3RoZXIgZ3JpZCBtaXhpbiB0aGF0IGVuc3VyZXMgdGhlIG1pbi13aWR0aCBvZiB0aGUgbG93ZXN0IGJyZWFrcG9pbnQgc3RhcnRzIGF0IDAuXG5AbWl4aW4gX2Fzc2VydC1zdGFydHMtYXQtemVybygkbWFwKSB7XG4gICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICRmaXJzdC12YWx1ZTogbnRoKCR2YWx1ZXMsIDEpO1xuICBAaWYgJGZpcnN0LXZhbHVlICE9IDAge1xuICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiBgJGdyaWQtYnJlYWtwb2ludHNgIG11c3Qgc3RhcnQgYXQgMCwgYnV0IHN0YXJ0cyBhdCAjeyRmaXJzdC12YWx1ZX0uXCI7XG4gIH1cbn1cblxuLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8gVXNlZCBvbiBvdXIgU1ZHIGljb24gYmFja2dyb3VuZHMgZm9yIGN1c3RvbSBmb3Jtcy5cbi8vXG4vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIikge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG5AZnVuY3Rpb24gY29sb3IteWlxKCRjb2xvcikge1xuICAkcjogcmVkKCRjb2xvcik7XG4gICRnOiBncmVlbigkY29sb3IpO1xuICAkYjogYmx1ZSgkY29sb3IpO1xuXG4gICR5aXE6ICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpIC8gMTAwMDtcblxuICBAaWYgKCR5aXEgPj0gJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZCkge1xuICAgIEByZXR1cm4gJHlpcS10ZXh0LWRhcms7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJHlpcS10ZXh0LWxpZ2h0O1xuICB9XG59XG5cbi8vIFJldHJpZXZlIGNvbG9yIFNhc3MgbWFwc1xuQGZ1bmN0aW9uIGNvbG9yKCRrZXk6IFwiYmx1ZVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yKCRrZXk6IFwicHJpbWFyeVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIGdyYXkoJGtleTogXCIxMDBcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGdyYXlzLCAka2V5KTtcbn1cblxuLy8gUmVxdWVzdCBhIHRoZW1lIGNvbG9yIGxldmVsXG5AZnVuY3Rpb24gdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLW5hbWU6IFwicHJpbWFyeVwiLCAkbGV2ZWw6IDApIHtcbiAgJGNvbG9yOiB0aGVtZS1jb2xvcigkY29sb3ItbmFtZSk7XG4gICRjb2xvci1iYXNlOiBpZigkbGV2ZWwgPiAwLCAkYmxhY2ssICR3aGl0ZSk7XG4gICRsZXZlbDogYWJzKCRsZXZlbCk7XG5cbiAgQHJldHVybiBtaXgoJGNvbG9yLWJhc2UsICRjb2xvciwgJGxldmVsICogJHRoZW1lLWNvbG9yLWludGVydmFsKTtcbn1cbiIsIi8vIEZ1bmN0aW9uc1xyXG4vL1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE1hdGhcclxuXHJcbiRwaTogMy4xNDE1OTI2NTM1OTtcclxuJF9wcmVjaXNpb246IDEwO1xyXG5cclxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cCkge1xyXG4gICR2YWx1ZTogJGJhc2U7XHJcbiAgQGlmICRleHAgPiAxIHtcclxuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cCB7XHJcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpZiAkZXhwIDwgMXtcclxuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHAge1xyXG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xyXG4gICAgfVxyXG4gIH1cclxuICBAcmV0dXJuICR2YWx1ZTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHNxcnQoJHIpIHtcclxuICAkeDA6IDE7XHJcbiAgJHgxOiAkeDA7XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTAge1xyXG4gICAgJHgxOiAkeDAgLSAoJHgwICogJHgwIC0gYWJzKCRyKSkgLyAoMiAqICR4MCk7XHJcbiAgICAkeDA6ICR4MTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHgxO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZmFjdCgkbnVtKSB7XHJcbiAgJGZhY3Q6IDE7XHJcbiAgQGlmICRudW0gPiAwe1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbnVtIHtcclxuICAgICAgJGZhY3Q6ICRmYWN0ICogJGk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEByZXR1cm4gJGZhY3Q7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBfdG9fdW5pdGxlc3NfcmFkKCRhbmdsZSkge1xyXG4gIEBpZiB1bml0KCRhbmdsZSkgPT0gXCJkZWdcIiB7XHJcbiAgICAkYW5nbGU6ICRhbmdsZSAvIDE4MGRlZyAqICRwaTtcclxuICB9XHJcbiAgQGlmIHVuaXQoJGFuZ2xlKSA9PSBcInJhZFwiIHtcclxuICAgICRhbmdsZTogJGFuZ2xlIC8gMXJhZDtcclxuICB9XHJcbiAgQHJldHVybiAkYW5nbGU7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBzaW4oJGFuZ2xlKXtcclxuICAkYTogX3RvX3VuaXRsZXNzX3JhZCgkYW5nbGUpO1xyXG4gICRzaW46ICRhO1xyXG4gIEBmb3IgJG4gZnJvbSAxIHRocm91Z2ggJF9wcmVjaXNpb24ge1xyXG4gICAgJHNpbjogJHNpbiArIChwb3coLTEsICRuKSAvIGZhY3QoMiAqICRuICsgMSkgKSAqIHBvdygkYSwgKDIgKiAkbiArIDEpKTtcclxuICB9XHJcbiAgQHJldHVybiAkc2luO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gY29zKCRhbmdsZSl7XHJcbiAgJGE6IF90b191bml0bGVzc19yYWQoJGFuZ2xlKTtcclxuICAkY29zOiAxO1xyXG4gIEBmb3IgJG4gZnJvbSAxIHRocm91Z2ggJF9wcmVjaXNpb24ge1xyXG4gICAgJGNvczogJGNvcyArICggcG93KC0xLCRuKSAvIGZhY3QoMiokbikgKSAqIHBvdygkYSwyKiRuKTtcclxuICB9XHJcbiAgQHJldHVybiAkY29zO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdGFuKCRhbmdsZSl7XHJcbiAgQHJldHVybiBzaW4oJGFuZ2xlKSAvIGNvcygkYW5nbGUpO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTGlzdHNcclxuXHJcbkBmdW5jdGlvbiBzbGljZS1saXN0KCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcclxuICAkcmVzdWx0OiBudWxsO1xyXG5cclxuICBAaWYgdHlwZS1vZigkc3RhcnQpICE9IG51bWJlciBvciB0eXBlLW9mKCRlbmQpICE9IG51bWJlciB7XHJcbiAgICBAd2FybiBcIkVpdGhlciAkc3RhcnQgb3IgJGVuZCBhcmUgbm90IGEgbnVtYmVyIGZvciBgc2xpY2VgLlwiO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHN0YXJ0ID4gJGVuZCB7XHJcbiAgICBAd2FybiBcIlRoZSBzdGFydCBpbmRleCBoYXMgdG8gYmUgbGVzc2VyIHRoYW4gb3IgZXF1YWxzIHRvIHRoZSBlbmQgaW5kZXggZm9yIGBzbGljZWAuXCI7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkc3RhcnQgPCAxIG9yICRlbmQgPCAxIHtcclxuICAgIEB3YXJuIFwiTGlzdCBpbmRleGVzIG11c3QgYmUgbm9uLXplcm8gaW50ZWdlcnMgZm9yIGBzbGljZWAuXCI7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkc3RhcnQgPiBsZW5ndGgoJGxpc3QpIHtcclxuICAgIEB3YXJuIFwiTGlzdCBpbmRleCBpcyAjeyRzdGFydH0gYnV0IGxpc3QgaXMgb25seSAje2xlbmd0aCgkbGlzdCl9IGl0ZW0gbG9uZyBmb3IgYHNsaWNlYC5cIjtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICRlbmQgPiBsZW5ndGgoJGxpc3QpIHtcclxuICAgIEB3YXJuIFwiTGlzdCBpbmRleCBpcyAjeyRlbmR9IGJ1dCBsaXN0IGlzIG9ubHkgI3tsZW5ndGgoJGxpc3QpfSBpdGVtIGxvbmcgZm9yIGBzbGljZWAuXCI7XHJcbiAgfVxyXG5cclxuICBAZWxzZSB7XHJcbiAgICAkcmVzdWx0OiAoKTtcclxuXHJcbiAgICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XHJcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRyZXN1bHQ7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBTdHJpbmdzXHJcblxyXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XHJcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XHJcblxyXG4gIEBpZiAkaW5kZXgge1xyXG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkc3RyaW5nO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQ29sb3JzXHJcblxyXG5AZnVuY3Rpb24gcmdiYS10by1oZXgoJGNvbG9yLCAkYmFja2dyb3VuZDogI2ZmZikge1xyXG4gIEBpZiAkY29sb3IgYW5kIGFscGhhKCRjb2xvcikgIT0gMSB7XHJcbiAgICAkcGVyY2VudDogYWxwaGEoJGNvbG9yKSAqIDEwMCU7XHJcbiAgICAkb3BhcXVlOiBvcGFjaWZ5KCRjb2xvciwgMSk7XHJcblxyXG4gICAgQHJldHVybiBtaXgoJG9wYXF1ZSwgJGJhY2tncm91bmQsICRwZXJjZW50KTtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQHJldHVybiAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24geWlxLXZhbHVlKCRjb2xvcikge1xyXG4gIEBpZiAkY29sb3IgPT0gdHJhbnNwYXJlbnQge1xyXG4gICAgQHJldHVybiAkYm9keS1jb2xvcjtcclxuICB9IEBlbHNlIGlmIGFscGhhKCRjb2xvcikgIT0gMSB7XHJcbiAgICAkY29sb3I6IHJnYmEtdG8taGV4KCRjb2xvcik7XHJcbiAgfVxyXG5cclxuICAkcjogcmVkKCRjb2xvcik7XHJcbiAgJGc6IGdyZWVuKCRjb2xvcik7XHJcbiAgJGI6IGJsdWUoJGNvbG9yKTtcclxuXHJcbiAgQHJldHVybiAoKCRyICogMjk5KSArICgkZyAqIDU4NykgKyAoJGIgKiAxMTQpKSAvIDEwMDA7XHJcbn1cclxuXHJcbi8vIENvbG9yIGNvbnRyYXN0XHJcbkBmdW5jdGlvbiB5aXEoJGNvbG9yKSB7XHJcbiAgJHlpcTogeWlxLXZhbHVlKCRjb2xvcik7XHJcblxyXG4gIEBpZiAoJHlpcSA+PSAxNjApIHtcclxuICAgIEByZXR1cm4gcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC40MCksICMwMDApO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHJldHVybiAjZmZmO1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFVuaXRzXHJcblxyXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtYmVyKSB7XHJcbiAgQGlmIHR5cGUtb2YoJG51bWJlcikgPT0gJ251bWJlcicgYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XHJcbiAgICBAcmV0dXJuICRudW1iZXIgLyAoJG51bWJlciAqIDAgKyAxKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJG51bWJlcjtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHB4LXRvLXJlbSgkdmFsdWUpIHtcclxuICAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQgZm9udCBzaXplID0gYDE2cHhgXHJcbiAgQHJldHVybiAoc3RyaXAtdW5pdCgkdmFsdWUpIC8gMTYpICogMXJlbTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHJlbS10by1weCgkdmFsdWUpIHtcclxuICAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQgZm9udCBzaXplID0gYDE2cHhgXHJcbiAgQHJldHVybiAoc3RyaXAtdW5pdCgkdmFsdWUpICogMTYpICogMXB4O1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogVXRpbGl0aWVzXHJcblxyXG5AZnVuY3Rpb24gZ2V0LWJ0bi1jb2xvcnMoJGJhY2tncm91bmQsICRib3JkZXIpIHtcclxuICBAaWYgJGJhY2tncm91bmQgPT0gdHJhbnNwYXJlbnQge1xyXG4gICAgJGJ0bi1zaGFkb3c6IHJnYmEocmdiYS10by1oZXgoJGJvcmRlciwgIzAwMCksIC4wNSk7XHJcblxyXG4gICAgQHJldHVybiAoXHJcbiAgICAgIGJnLWhvdmVyOiAgcmdiYSgkYm9yZGVyLCAuMDYpLFxyXG4gICAgICBiZy1hY3RpdmU6IHJnYmEoJGJvcmRlciwgLjEyKSxcclxuICAgICAgYm9yZGVyOiAgICAkYm9yZGVyLFxyXG4gICAgICBzaGFkb3c6ICAgIGlmKCRlbmFibGUtc2hhZG93cywgKCRidG4tYm94LXNoYWRvdywgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggJGJ0bi1zaGFkb3cpLCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCAkYnRuLXNoYWRvdylcclxuICAgICk7XHJcbiAgfSBAZWxzZSBpZiBhbHBoYSgkYmFja2dyb3VuZCkgIT0gMSB7XHJcbiAgICAkYmctYWxwaGE6ICAgYWxwaGEoJGJhY2tncm91bmQpO1xyXG4gICAgJGJ0bi1zaGFkb3c6IHJnYmEoJGJhY2tncm91bmQsICRiZy1hbHBoYSAtICgkYmctYWxwaGEgKiA1NSAvIDEwMCkgKTtcclxuXHJcbiAgICBAcmV0dXJuIChcclxuICAgICAgYmctaG92ZXI6ICByZ2JhKCRiYWNrZ3JvdW5kLCAkYmctYWxwaGEgKyAwLjA1KSxcclxuICAgICAgYmctYWN0aXZlOiByZ2JhKCRiYWNrZ3JvdW5kLCAkYmctYWxwaGEgKyAwLjEzKSxcclxuICAgICAgYm9yZGVyOiAgICB0cmFuc3BhcmVudCxcclxuICAgICAgc2hhZG93OiAgICBpZigkZW5hYmxlLXNoYWRvd3MsICgkYnRuLWJveC1zaGFkb3csIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoICRidG4tc2hhZG93KSwgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggJGJ0bi1zaGFkb3cpXHJcbiAgICApO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHJldHVybiAoXHJcbiAgICAgIGJnLWhvdmVyOiAgcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjk1KSwgIzAwMCksXHJcbiAgICAgIGJnLWFjdGl2ZTogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjg3KSwgIzAwMCksXHJcbiAgICAgIGJvcmRlcjogICAgdHJhbnNwYXJlbnQsXHJcbiAgICAgIHNoYWRvdzogICAgaWYoJGVuYWJsZS1zaGFkb3dzLCAoJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRiYWNrZ3JvdW5kLCAuNCkpLCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRiYWNrZ3JvdW5kLCAuNCkpXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGdldC1tYXRlcmlhbC1idG4tY29sb3JzKCRiYWNrZ3JvdW5kKSB7XHJcbiAgQGlmIGFscGhhKCRiYWNrZ3JvdW5kKSAhPSAxIHtcclxuICAgICRiYWNrZ3JvdW5kOiByZ2JhLXRvLWhleCgkYmFja2dyb3VuZCk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIChcclxuICAgIGJnLWhvdmVyOiAgcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjk1KSwgI2ZmZiksXHJcbiAgICBiZy1hY3RpdmU6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC44NyksICNmZmYpLFxyXG4gICk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBnZXQtbmF2LWNvbG9ycygkYmcsICRhY3RpdmUtY29sb3I6IG51bGwsICRpbmFjdGl2ZS1jb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCkge1xyXG4gICRiZzogcmdiYS10by1oZXgoJGJnKTtcclxuICAkYWN0aXZlLWNvbG9yOiByZ2JhLXRvLWhleCgkYWN0aXZlLWNvbG9yKTtcclxuICAkYWN0aXZlLWNvbG9yOiBpZigkYWN0aXZlLWNvbG9yLCAkYWN0aXZlLWNvbG9yLCB5aXEoJGJnKSk7XHJcbiAgJHlpcS1wZXJjZW50OiB5aXEtdmFsdWUoJGJnKSAvIDI1NTtcclxuICAkeWlxLXBlcmNlbnQtaW52ZXJ0ZWQ6IDEgLSAkeWlxLXBlcmNlbnQ7XHJcblxyXG4gICRvcGFjaXR5OiBpZigkYWN0aXZlLWNvbG9yID09ICNmZmYsIC42ICsgKC40ICogJHlpcS1wZXJjZW50KSwgLjYgKyAoLjQgKiAoMSAtICR5aXEtcGVyY2VudCkpKTtcclxuXHJcbiAgJGNvbG9yOiBpZigkaW5hY3RpdmUtY29sb3IsIHJnYmEtdG8taGV4KCRpbmFjdGl2ZS1jb2xvciwgJGJnKSwgcmdiYS10by1oZXgocmdiYSgkYWN0aXZlLWNvbG9yLCBpZigkeWlxLXBlcmNlbnQgPCAuMjUsICRvcGFjaXR5IC0gLjE1LCAkb3BhY2l0eSkpLCAkYmcpKTtcclxuICAkZGlzYWJsZWQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuNiksICRiZyk7XHJcbiAgJG11dGVkLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjc1KSwgJGJnKTtcclxuICAkYm9yZGVyOiBpZigkYm9yZGVyLCAkYm9yZGVyLCBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIHJnYmEoJGFjdGl2ZS1jb2xvciwgJG9wYWNpdHkgLyA4KSwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCByZ2JhKCRhY3RpdmUtY29sb3IsIC4wNiksIHJnYmEoJGFjdGl2ZS1jb2xvciwgLjE1KSkpKTtcclxuXHJcbiAgQHJldHVybiAoXHJcbiAgICAvLyBNZXRhZGF0YVxyXG4gICAgb3BhY2l0eTogJG9wYWNpdHksXHJcbiAgICB5aXEtcGVyY2VudDogJHlpcS1wZXJjZW50LFxyXG4gICAgeWlxLXBlcmNlbnQtaW52ZXJ0ZWQ6ICR5aXEtcGVyY2VudC1pbnZlcnRlZCxcclxuXHJcbiAgICAvLyBDb2xvcnNcclxuICAgIGJnOiAkYmcsXHJcbiAgICBjb2xvcjogJGNvbG9yLFxyXG4gICAgYWN0aXZlLWNvbG9yOiAkYWN0aXZlLWNvbG9yLFxyXG4gICAgZGlzYWJsZWQtY29sb3I6ICRkaXNhYmxlZC1jb2xvcixcclxuICAgIG11dGVkLWNvbG9yOiAkbXV0ZWQtY29sb3IsXHJcbiAgICBib3JkZXI6ICRib3JkZXJcclxuICApO1xyXG59XHJcbiIsIiIsIi8vIFZhcmlhYmxlc1xyXG4vL1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIENvbG9yc1xyXG5cclxuJHdoaXRlOiAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJGJsYWNrOiAgICAgICAgIzE4MUMyMSAhZGVmYXVsdDtcclxuJGdyYXktMjU6ICAgICAgcmdiYSgkYmxhY2ssIC4wMTUpICFkZWZhdWx0O1xyXG4kZ3JheS01MDogICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcclxuJGdyYXktMTAwOiAgICAgcmdiYSgkYmxhY2ssIC4wNikgIWRlZmF1bHQ7XHJcbiRncmF5LTIwMDogICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XHJcbiRncmF5LTMwMDogICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XHJcbiRncmF5LTQwMDogICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XHJcbiRncmF5LTUwMDogICAgIHJnYmEoJGJsYWNrLCAuNCkgIWRlZmF1bHQ7XHJcbiRncmF5LTYwMDogICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XHJcbiRncmF5LTcwMDogICAgIHJnYmEoJGJsYWNrLCAuNikgIWRlZmF1bHQ7XHJcbiRncmF5LTgwMDogICAgIHJnYmEoJGJsYWNrLCAuOCkgIWRlZmF1bHQ7XHJcbiRncmF5LTkwMDogICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XHJcblxyXG4kZ3JheXM6IChcclxuICBcIjI1XCI6ICRncmF5LTI1LFxyXG4gIFwiNTBcIjogJGdyYXktNTBcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRibHVlOiAgICAgICAgICMxZTcwY2QgIWRlZmF1bHQ7XHJcbiRpbmRpZ286ICAgICAgICM2NjEwZjIgIWRlZmF1bHQ7XHJcbiRwdXJwbGU6ICAgICAgICM2ZjQyYzEgIWRlZmF1bHQ7XHJcbiRwaW5rOiAgICAgICAgICNlODNlOGMgIWRlZmF1bHQ7XHJcbiRyZWQ6ICAgICAgICAgICNkOTUzNGYgIWRlZmF1bHQ7XHJcbiRvcmFuZ2U6ICAgICAgICNGRUI3NDQgIWRlZmF1bHQ7XHJcbiR5ZWxsb3c6ICAgICAgICNGRkQ5NTAgIWRlZmF1bHQ7XHJcbiRncmVlbjogICAgICAgICMwMkJDNzcgIWRlZmF1bHQ7XHJcbiR0ZWFsOiAgICAgICAgICMyMGM5OTcgIWRlZmF1bHQ7XHJcbiRjeWFuOiAgICAgICAgICMyOGMzZDcgIWRlZmF1bHQ7XHJcblxyXG4kdGhlbWUtY29sb3JzOiAoXHJcbiAgXCJwcmltYXJ5XCI6ICAgJGluZGlnbyxcclxuICBcInNlY29uZGFyeVwiOiAjODg5N0FBLFxyXG4gIFwic3VjY2Vzc1wiOiAgICRncmVlbixcclxuICBcImluZm9cIjogICAgICAkY3lhbixcclxuICBcIndhcm5pbmdcIjogICAkeWVsbG93LFxyXG4gIFwiZGFuZ2VyXCI6ICAgICRyZWQsXHJcbiAgXCJkYXJrXCI6ICAgICAgJGdyYXktOTAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kYm9keS1jb2xvcjogICAgICAgIzRFNTE1NSAhZGVmYXVsdDsgLy8jNGE0YTRhXHJcblxyXG4vLyAjMDZjXHJcbiRsaW5rLWNvbG9yOiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcclxuJGxpbmstaG92ZXItY29sb3I6IGxpZ2h0ZW4oJGxpbmstY29sb3IsIDEwJSkgIWRlZmF1bHQ7XHJcblxyXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEZvbnRzXHJcblxyXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogXCJSb2JvdG9cIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XHJcbiRmb250LWZhbWlseS1zZXJpZjogICAgICBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcclxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogIFwiU0ZNb25vLVJlZ3VsYXJcIiwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xyXG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XHJcblxyXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgLjg5NHJlbSAhZGVmYXVsdDtcclxuJGZvbnQtc2l6ZS14bDogICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XHJcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xyXG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xyXG4kZm9udC1zaXplLXhzOiAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcclxuXHJcbiRmb250LXdlaWdodC1zZW1pYm9sZDogICA1MDAgIWRlZmF1bHQ7XHJcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICA5MDAgIWRlZmF1bHQ7XHJcblxyXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgMS40NyAhZGVmYXVsdDtcclxuJGxpbmUtaGVpZ2h0LXhsOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcclxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcclxuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcclxuJGxpbmUtaGVpZ2h0LXhzOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcclxuXHJcbiRoMS1mb250LXNpemU6ICAgICAgICAgICAyLjI1cmVtICFkZWZhdWx0O1xyXG4kaDItZm9udC1zaXplOiAgICAgICAgICAgMS44MTNyZW0gIWRlZmF1bHQ7XHJcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAxLjU2M3JlbSAhZGVmYXVsdDtcclxuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgIDEuMzEzcmVtICFkZWZhdWx0O1xyXG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcclxuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcclxuXHJcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAkZm9udC13ZWlnaHQtc2VtaWJvbGQgIWRlZmF1bHQ7XHJcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAxLjEgIWRlZmF1bHQ7XHJcbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAkc3BhY2VyICFkZWZhdWx0O1xyXG5cclxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgIDRyZW0gIWRlZmF1bHQ7XHJcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7XHJcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAzcmVtICFkZWZhdWx0O1xyXG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgMnJlbSAhZGVmYXVsdDtcclxuXHJcbiR0aW55LWZvbnQtc2l6ZTogICAgICAgICA3MCUgIWRlZmF1bHQ7XHJcbiRzbWFsbC1mb250LXNpemU6ICAgICAgICA4NSUgIWRlZmF1bHQ7XHJcbiRiaWctZm9udC1zaXplOiAgICAgICAgICAxMTIlICFkZWZhdWx0O1xyXG4kbGFyZ2UtZm9udC1zaXplOiAgICAgICAgMTUwJSAhZGVmYXVsdDtcclxuJHhsYXJnZS1mb250LXNpemU6ICAgICAgIDE3MCUgIWRlZmF1bHQ7XHJcblxyXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktNTAwKSAhZGVmYXVsdDtcclxuJHRleHQtbXV0ZWQtaG92ZXI6ICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTYwMCkgIWRlZmF1bHQ7XHJcbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiByZ2JhLXRvLWhleCgkZ3JheS01MDApICFkZWZhdWx0O1xyXG4kdGV4dC1saWdodDogICAgICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktNDAwKSAhZGVmYXVsdDtcclxuJHRleHQtbGlnaHRlcjogICAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTMwMCkgIWRlZmF1bHQ7XHJcbiR0ZXh0LWxpZ2h0ZXN0OiAgICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS0yMDApICFkZWZhdWx0O1xyXG5cclxuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogIG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogR3JpZFxyXG5cclxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAxLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kY29udGFpbmVyLXBhZGRpbmcteDogMnJlbSAhZGVmYXVsdDtcclxuJGNvbnRhaW5lci1wYWRkaW5nLXgtc206IDFyZW0gIWRlZmF1bHQ7XHJcbiRjb250YWluZXItcGFkZGluZy15OiAxLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQ29tcG9uZW50c1xyXG5cclxuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLC4wNikgIWRlZmF1bHQ7XHJcbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XHJcblxyXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xyXG4kYm9yZGVyLXJhZGl1cy14bDogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG4kYm9yZGVyLXJhZGl1cy14czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG4kY29tcG9uZW50LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgMS41NCAhZGVmYXVsdDtcclxuJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGg6ICAgIDJweCAhZGVmYXVsdDtcclxuXHJcbiRmbG9hdGluZy1jb21wb25lbnQtYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcclxuJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3c6ICAgICAgIDAgMXB4IDZweCByZ2JhKDAsIDAsIDAsIC4wOSkgIWRlZmF1bHQ7XHJcblxyXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRib3JkZXJlZC1yb3ctYm9yZGVyLWNvbG9yOiAgICAgICAkaHItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG5cclxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgIC40MmVtICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFotaW5kZXggbWFzdGVyIGxpc3RcclxuXHJcbiR6aW5kZXgtbGF5b3V0LWZpeGVkOiAgMTA4MCAhZGVmYXVsdDtcclxuJHppbmRleC1tb2RhbC10b3A6ICAgICAxMDkwICFkZWZhdWx0O1xyXG4kemluZGV4LWxheW91dC1tb2JpbGU6IDExMDAgIWRlZmF1bHQ7XHJcbiR6aW5kZXgtbm90aWZpY2F0aW9uOiAgOTk5OTk5ICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFRhYmxlc1xyXG5cclxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAuNjI1cmVtICFkZWZhdWx0O1xyXG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgIC4zMTI1cmVtICFkZWZhdWx0O1xyXG5cclxuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICByZ2JhKCRibGFjaywgLjAyNSkgIWRlZmF1bHQ7XHJcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMzUpICFkZWZhdWx0O1xyXG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgIHJnYmEtdG8taGV4KCR0YWJsZS1ob3Zlci1iZykgIWRlZmF1bHQ7XHJcblxyXG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgIHJnYmEtdG8taGV4KCRncmF5LTEwMCkgIWRlZmF1bHQ7XHJcblxyXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICRncmF5LTUwICFkZWZhdWx0O1xyXG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XHJcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgcmdiYSgkd2hpdGUsIC4wMykgIWRlZmF1bHQ7XHJcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XHJcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogbGlnaHRlbihyZ2JhLXRvLWhleCgkZ3JheS05MDApLCA3JSkgIWRlZmF1bHQ7XHJcbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEJ1dHRvbnNcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgIC40MzhyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgIDEuMTI1cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgIDEuNTQgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteS14czogICAwICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteC14czogICAuNXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1mb250LXNpemUteHM6ICAgJGZvbnQtc2l6ZS14cyAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1saW5lLWhlaWdodC14czogJGxpbmUtaGVpZ2h0LXhzICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgLjE4OHJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgLjY4NzVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgIC43NXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgMS41cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteS14bDogICAuODc1cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteC14bDogICAyLjEyNXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1mb250LXNpemUteGw6ICAgJGZvbnQtc2l6ZS14bCAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1saW5lLWhlaWdodC14bDogJGxpbmUtaGVpZ2h0LXhsICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1ib3JkZXItcmFkaXVzLXhzOiAgICAgJGJvcmRlci1yYWRpdXMteHMgIWRlZmF1bHQ7XHJcbiRidG4tYm9yZGVyLXJhZGl1cy14bDogICAgICRib3JkZXItcmFkaXVzLXhsICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcclxuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC4yNSkgIWRlZmF1bHQ7XHJcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgIG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4kYnRuLWRlZmF1bHQtYmc6ICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuJGJ0bi1kZWZhdWx0LWJvcmRlcjogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xyXG4kYnRuLWRlZmF1bHQtY29sb3I6ICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogRm9ybXNcclxuXHJcbiRsYWJlbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgLjgzMTI1cmVtICFkZWZhdWx0O1xyXG4kbGFiZWwtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1zZW1pYm9sZCAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRpbnB1dC1saW5lLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcclxuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktMTAwKSAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICR0ZXh0LWxpZ2h0ICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgICAgICBweC10by1yZW0oZmxvb3IocmVtLXRvLXB4KCgkaW5wdXQtYnRuLWZvbnQtc2l6ZSAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQpICsgKCRpbnB1dC1idG4tcGFkZGluZy15ICogMikpKSkgIWRlZmF1bHQ7XHJcbiRpbnB1dC1oZWlnaHQtaW5uZXItc206ICAgICAgICAgICAgICAgICAgICAgcHgtdG8tcmVtKGZsb29yKHJlbS10by1weCgoJGlucHV0LWJ0bi1mb250LXNpemUtc20gKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAqIDIpKSkpICFkZWZhdWx0O1xyXG4kaW5wdXQtaGVpZ2h0LWlubmVyLWxnOiAgICAgICAgICAgICAgICAgICAgIHB4LXRvLXJlbShmbG9vcihyZW0tdG8tcHgoKCRmb250LXNpemUtbGcgKiAkbGluZS1oZWlnaHQtbGcpICsgKCRpbnB1dC1idG4tcGFkZGluZy15LWxnICogMikpKSkgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtaW52ZXJ0ZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoI2ZmZiwgLjMpICFkZWZhdWx0O1xyXG4kaW5wdXQtaW52ZXJ0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRpbnB1dC1pbnZlcnRlZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWludmVydGVkLWJnICFkZWZhdWx0O1xyXG4kaW5wdXQtaW52ZXJ0ZWQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgIHJnYmEoI2ZmZiwgLjcpICFkZWZhdWx0O1xyXG4kaW5wdXQtaW52ZXJ0ZWQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgIHJnYmEoI2ZmZiwgLjEpICFkZWZhdWx0O1xyXG4kaW5wdXQtaW52ZXJ0ZWQtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICRpbnB1dC1pbnZlcnRlZC1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xyXG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcclxuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAxLjEyNXJlbSAhZGVmYXVsdDtcclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAgICAgMXB4ICFkZWZhdWx0O1xyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgICAgICgkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKyAuNDM4cmVtKSAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgICAgXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA5LjUgNy41JyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMC43NSA0LjM1IDQuMTggNi43NSA4Ljc1IDAuNzUnIHN0eWxlPSdmaWxsOm5vbmU7c3Ryb2tlOl9DT0xPUl87c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDoxLjVweCcvJTNFJTNDL3N2ZyUzRVwiICFkZWZhdWx0O1xyXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZy1zaXplOiAgICAgICAgIDY1JSAhZGVmYXVsdDtcclxuJGN1c3RvbS1jaGVja2JveC1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNCclM0UlM0NwYXRoIHN0cm9rZT0nX0NPTE9SXycgZD0nTTAgMmg0Jy8lM0UlM0Mvc3ZnJTNFXCIgIWRlZmF1bHQ7XHJcbiRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1iZy1zaXplOiAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnOiAgICAgICAgICAgICAgICAgXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM0UlM0NjaXJjbGUgcj0nMycgZmlsbD0nX0NPTE9SXycvJTNFJTNDL3N2ZyUzRVwiICFkZWZhdWx0O1xyXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZy1zaXplOiAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XHJcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgIG5vbmUgIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgbm9uZSAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAgICAgICAgICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArIDFyZW0gIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtaW52ZXJ0ZWQtZGlzYWJsZWQtY29sb3I6ICAgICAkaW5wdXQtaW52ZXJ0ZWQtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWludmVydGVkLWRpc2FibGVkLWJnOiAgICAgICAgJGlucHV0LWludmVydGVkLWRpc2FibGVkLWJnICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgICAgICAgICAxN3B4IDEycHggIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgICAgICAgICAgdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNJQUFBQVlDQVlBQUFDZnBpOEpBQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBS0JKUkVGVVNBM3Qxa0VLZ0NBUUJWQ1REdGNpdWxKMnBXalJpYXBUYVB3b2tVRWpSVzB6Z2FIU09JOVBRV0xiRDRNaGZyN2t6LzF0ZTRiWUtPNEpKOEtKMEFUb3VxVWJxZXV1SDVUUmVreXBiNlNjc3IyczZ6SXJIQmdMUVExcXMwRUFpTVU4Q05SbWhjUmdYRVFSeUJjTVJSU0R2R0Y4aUtJUUh5YUV3TE9peG04QVBtMk1xMkhvVmdNUzZ1M3VaLzlxM01OajVneWhhWEVpbkFoTmdLNVBwemhFTy9oU01LNEFBQUFBU1VWT1JLNUNZSUk9JykgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1pbnZlcnRlZDogICAgICAgICAgdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNJQUFBQVlDQVlBQUFDZnBpOEpBQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBSjVKUkVGVVNBM3QxRzBLZ0NBTUJ1Q01EdFpsb2pPRmh6VmZVYUZsSDQ0Ti8weUlzcHcrdkdoVENHSEZOUTF1OCtEMTYvSUdxVkhrQjB2RUVxRUowUDVDWDNENzhWKzB4OXFOV2UvRk5xdHo3b2dJejRCNDFJcEJBR0JnRWdLMW9wQk9URVdvUUg1aUxnZzF5QWZtaGxDRlBHQ2FDSXdWTzc2WXJOV3dnZVBSVHAveVptNE4wNGRnMVRkQVVZbWZtakp4NzkwZ05ERkx4QktoQ2REK0NRM0dIbmd2SlRHS0FBQUFBRWxGVGtTdVFtQ0MnKSAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXJ0bDogICAgICAgICAgICAgICB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0lBQUFBWUNBWUFBQUNmcGk4SkFBQUFCR2RCVFVFQUFMR1BDL3hoQlFBQUFLZEpSRUZVU0EzdGxsRUtnQ0FNaGxNNlhBL1JsYklyUlErZHFEcUZ4UjhwdEV3TkZIdVlEK0xjM0Q1K0hDcXF3bU5adHgwSXNqQ0hMYzhnVm9wcndZcXdJbFFCYXRkTjI2bGQ2NTQ2WW13aDVUQlBvNHFKRGNWSUpFTENVQ0QxcDRSQTdyTnJ2c0traHJBZ1dNVEM1SUM0Z2NUQTVJSjRnUGhnY2tJNFFWd3d1U0ZRVTJCNkcyaHQrRksxcUt1TytRWjRRVndIVSs4WkVINzBxTEtzQ0N0Q0ZhRDJiKzdJQVpHZFBQeHVXWUdNQUFBQUFFbEZUa1N1UW1DQycpICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItaW52ZXJ0ZWQtcnRsOiAgICAgIHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDSUFBQUFZQ0FZQUFBQ2ZwaThKQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUp0SlJFRlVTQTN0bGxFS3dDQUlobWQwc0YxbTdFeWp3N2FNQ0hMV1doanR3UjRpVTM0L2ZoS0NiZkh5M3UrSVlCWno1UFlLa3ExSUIzVkVIYUVPME5pR09UN0Q1VUVUbmJFRGdLdXp0bGxta3BCclZ2RkpNUWlVajFNekFDTUtrVUh3OEFGR0hLSUE2WVNaQXZFQWVZR1pCc0dDVkdDbVFtQlBpeHUzOE0yRTBZNnA5SDY0TXJFN0VGTWFGTkwvU00wNC9RWlFaOVNSM3pweUExaVlIbmJTTFBJUUFBQUFBRWxGVGtTdVFtQ0MnKSAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBEcm9wZG93bnNcclxuXHJcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICRmbG9hdGluZy1jb21wb25lbnQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93ICFkZWZhdWx0O1xyXG5cclxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgIC40MzhyZW0gIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAxLjI1cmVtICFkZWZhdWx0O1xyXG5cclxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgJGRyb3Bkb3duLWxpbmstY29sb3IgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAkZ3JheS01MCAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWxpbmstbGluZS1oZWlnaHQ6ICAgICRjb21wb25lbnQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcblxyXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcclxuXHJcbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBOYXZzXHJcblxyXG4kbmF2LXNwYWNlcjogICAgICAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xyXG5cclxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcclxuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcclxuJG5hdi1saW5rLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgJGNvbXBvbmVudC1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuXHJcbiRuYXYtbGluay1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XHJcbiRuYXYtbGluay1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgIDEuMzEyNXJlbSAhZGVmYXVsdDtcclxuJG5hdi1saW5rLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xyXG5cclxuJG5hdi1saW5rLXBhZGRpbmcteS1zbTogICAgICAgICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XHJcbiRuYXYtbGluay1wYWRkaW5nLXgtc206ICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XHJcbiRuYXYtbGluay1saW5lLWhlaWdodC1zbTogICAgICAgICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcclxuXHJcbiRuYXYtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICR0ZXh0LW11dGVkLWhvdmVyICFkZWZhdWx0O1xyXG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkdGV4dC1saWdodGVyICFkZWZhdWx0O1xyXG5cclxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMTAwICFkZWZhdWx0O1xyXG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xyXG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG5cclxuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTmF2YmFyXHJcblxyXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjdyZW0gIWRlZmF1bHQ7XHJcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjgpICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcclxuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC40KSAhZGVmYXVsdDtcclxuXHJcbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcclxuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XHJcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMDYpICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFBhZ2luYXRpb25cclxuXHJcbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAuOTM3NXJlbSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAxICFkZWZhdWx0O1xyXG5cclxuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XHJcblxyXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJnICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICRncmF5LTIwMCAhZGVmYXVsdDtcclxuXHJcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAkcGFnaW5hdGlvbi1iZyAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XHJcblxyXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgIG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4kcGFnaW5hdGlvbi1zcGFjZXI6ICAgICAgICAgICAgICAgIC4xODc1cmVtICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIENhcmRzXHJcblxyXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xyXG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XHJcbiRjYXJkLXNwYWNlci14LXNtOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XHJcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRjYXJkLWlubmVyLWJvcmRlci1jb2xvcjogIHJnYmEoJGJsYWNrLC4wNikgIWRlZmF1bHQ7XHJcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG5cclxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xyXG5cclxuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xyXG4kY2FyZC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCA0cHggcmdiYSgkYmxhY2ssLjAwOSkgIWRlZmF1bHQ7XHJcbi8vICRjYXJkLXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDRweCByZ2JhKCRibGFjaywuMDMpICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFRvb2x0aXBzXHJcblxyXG4kdG9vbHRpcC1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1iZzogICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS04MDApICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1vcGFjaXR5OiAgICAxICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFBvcG92ZXJzXHJcblxyXG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XHJcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93ICFkZWZhdWx0O1xyXG5cclxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgJGdyYXktNTAgIWRlZmF1bHQ7XHJcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogLjYyNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEJhZGdlc1xyXG5cclxuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgLjg1OGVtICFkZWZhdWx0O1xyXG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkZm9udC13ZWlnaHQtc2VtaWJvbGQgIWRlZmF1bHQ7XHJcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xyXG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAuNDE3ZW0gIWRlZmF1bHQ7XHJcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAuNTgzZW0gIWRlZmF1bHQ7XHJcbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6ICAgIDEwcmVtICFkZWZhdWx0O1xyXG5cclxuJGJhZGdlLWRlZmF1bHQtYmc6ICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xyXG4kYmFkZ2Utb3V0bGluZS1kZWZhdWx0LWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBNb2RhbHNcclxuXHJcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgIDEuNTYyNXJlbSAhZGVmYXVsdDtcclxuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcclxuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbiRtb2RhbC1mb290ZXItcGFkZGluZzogICAgICAgICAgIDEuMjVyZW0gJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XHJcblxyXG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAwcHggIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgIDFweCAhZGVmYXVsdDtcclxuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93ICFkZWZhdWx0O1xyXG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcclxuXHJcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgIDM1cmVtICFkZWZhdWx0O1xyXG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcclxuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgMjIuNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgIC41ICFkZWZhdWx0O1xyXG5cclxuJG1vZGFsLXNsaWRlLXdpZHRoOiAgICAgICAgICAgICAgMjByZW0gIWRlZmF1bHQ7XHJcblxyXG4kbW9kYWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAuMTVzICFkZWZhdWx0O1xyXG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gJG1vZGFsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1vdXQgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQWxlcnRzXHJcblxyXG4kYWxlcnQtcGFkZGluZy15OiAxcmVtICFkZWZhdWx0O1xyXG4kYWxlcnQtcGFkZGluZy14OiAxcmVtICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFByb2dyZXNzIGJhcnNcclxuXHJcbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XHJcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAuNjI1cmVtICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgJGdyYXktNTAgIWRlZmF1bHQ7XHJcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAxMHJlbSAhZGVmYXVsdDtcclxuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICNmZmYgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTGlzdCBncm91cFxyXG5cclxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgIHJnYmEtdG8taGV4KCRib3JkZXItY29sb3IpICFkZWZhdWx0O1xyXG5cclxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcclxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgLjkzNzVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0yNSAhZGVmYXVsdDtcclxuXHJcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICR0ZXh0LWxpZ2h0ZXIgIWRlZmF1bHQ7XHJcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xyXG5cclxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgJHRleHQtbXV0ZWQtaG92ZXIgIWRlZmF1bHQ7XHJcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xyXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAkZ3JheS01MCAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBJbWFnZSB0aHVtYm5haWxzXHJcblxyXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgIDAgIWRlZmF1bHQ7XHJcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgMHB4ICFkZWZhdWx0O1xyXG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6IDBweCAhZGVmYXVsdDtcclxuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEZpZ3VyZXNcclxuXHJcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQnJlYWRjcnVtYnNcclxuXHJcbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgIDAgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgIDAgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogIC41cmVtICFkZWZhdWx0O1xyXG5cclxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcclxuXHJcbiRicmVhZGNydW1iLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgIFwiL1wiICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1kaXZpZGVyLXJ0bDogICBcIi9cIiAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBTd2l0Y2hlcnNcclxuXHJcbiRzd2l0Y2hlci1zcGFjZXIteDogICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItc3BhY2VyLXk6ICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItZ3V0dGVyOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItaW5uZXItc3BhY2VyOiAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRzd2l0Y2hlci1zcXVhcmUtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG4kc3dpdGNoZXItbGFiZWwtY29sb3I6ICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItbGFiZWwtZGlzYWJsZWQtY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRzd2l0Y2hlci13aWR0aDogICAgICAgICAgICAgICAgMi4zNzVyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1oZWlnaHQ6ICAgICAgICAgICAgICAgMS4zNzVyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1mb250LXNpemU6ICAgICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWxhYmVsLWZvbnQtc2l6ZTogICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1sYWJlbC1saW5lLWhlaWdodDogICAgMS40ICFkZWZhdWx0O1xyXG5cclxuJHN3aXRjaGVyLXdpZHRoLXNtOiAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItaGVpZ2h0LXNtOiAgICAgICAgICAgIDEuMTI1cmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItbGFiZWwtZm9udC1zaXplLXNtOiAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1sYWJlbC1saW5lLWhlaWdodC1zbTogMS40ODYgIWRlZmF1bHQ7XHJcblxyXG4kc3dpdGNoZXItd2lkdGgtbGc6ICAgICAgICAgICAgIDMuMjVyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1oZWlnaHQtbGc6ICAgICAgICAgICAgMS43NXJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWxhYmVsLWZvbnQtc2l6ZS1sZzogICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItbGFiZWwtbGluZS1oZWlnaHQtbGc6IDEuNDcgIWRlZmF1bHQ7XHJcblxyXG4kc3dpdGNoZXItb2ZmLWNvbG9yOiAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLW9mZi1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1ob2xkZXItYmc6ICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWhvbGRlci1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIC4wNCksIDAgMXB4IDZweCByZ2JhKCRibGFjaywgLjA5KSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDbG9zZVxyXG5cclxuJGNsb3NlLWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XHJcbiRjbG9zZS10ZXh0LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcclxuJGNsb3NlLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEp1bWJvdHJvblxyXG5cclxuJGp1bWJvdHJvbi1wYWRkaW5nOiAzcmVtICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFNpZGVuYXZcclxuXHJcbiRzaWRlbmF2LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTUuNjI1cmVtICFkZWZhdWx0OyAvLzI1MHB4XHJcbiRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDogICAgICAgICAgICAgICAgNC4zNzVyZW0gIWRlZmF1bHQ7IC8vNzBweFxyXG5cclxuJHNpZGVuYXYtaXRlbS1zcGFjZXI6ICAgICAgICAgICAgICAgICAgICAuMDYyNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy15OiAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xyXG4kc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteDogICAgICAgIDJyZW0gIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LXZlcnRpY2FsLW1lbnUtbGluay1wYWRkaW5nLXk6ICAgLjYyNXJlbSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtdmVydGljYWwtbWVudS1sZXZlbC1zcGFjZXI6ICAgICAxcmVtICFkZWZhdWx0O1xyXG5cclxuJHNpZGVuYXYtaG9yaXpvbnRhbC1saW5rLXBhZGRpbmcteTogICAgICAxcmVtICFkZWZhdWx0O1xyXG4kc2lkZW5hdi1ob3Jpem9udGFsLWxpbmstcGFkZGluZy14OiAgICAgIDFyZW0gIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LWhvcml6b250YWwtbWVudS1saW5rLXBhZGRpbmcteTogLjYyNXJlbSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtaG9yaXpvbnRhbC1tZW51LWxldmVsLXNwYWNlcjogICAxcmVtICFkZWZhdWx0O1xyXG5cclxuJHNpZGVuYXYtbWVudS13aWR0aDogICAgICAgICAgICAgICAgICAgICAxMi41cmVtICFkZWZhdWx0OzsgLy8yMDBweFxyXG4kc2lkZW5hdi1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAgICAgIDIuMjVyZW0gIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LWNvbnRyb2wtYXJyb3ctc2l6ZTogICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kc2lkZW5hdi1pY29uLWV4cGFuZGVkLXdpZHRoOiAgICAgICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LWljb24tZXhwYW5kZWQtZm9udC1zaXplOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtaWNvbi1leHBhbmRlZC1zcGFjZXI6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kc2lkZW5hdi1hbmltYXRpb24tZHVyYXRpb246ICAgICAgICAgICAgIC4ycyAhZGVmYXVsdDtcclxuXHJcbiRzaWRlbmF2LW1heC1sZXZlbHM6ICAgICAgICAgICAgICAgICAgICAgNSAhZGVmYXVsdDtcclxuXHJcbiRzaWRlbmF2LWRhcmstYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMikgIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LWRhcmstbWVudS1iZzogICAgICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDYpICFkZWZhdWx0O1xyXG4kc2lkZW5hdi1saWdodC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA2KSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtbGlnaHQtbWVudS1iZzogICAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBDb25maWdcclxuJHJ0bC1zdXBwb3J0OiBmYWxzZSAhZGVmYXVsdDtcclxuJG1hdGVyaWFsLXN0eWxlOiBmYWxzZTtcclxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuXG4vL1xuLy8gQ29sb3Igc3lzdGVtXG4vL1xuXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRncmF5czogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGdyYXlzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcIjEwMFwiOiAkZ3JheS0xMDAsXG4gICAgXCIyMDBcIjogJGdyYXktMjAwLFxuICAgIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgICBcIjQwMFwiOiAkZ3JheS00MDAsXG4gICAgXCI1MDBcIjogJGdyYXktNTAwLFxuICAgIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgICBcIjcwMFwiOiAkZ3JheS03MDAsXG4gICAgXCI4MDBcIjogJGdyYXktODAwLFxuICAgIFwiOTAwXCI6ICRncmF5LTkwMFxuICApLFxuICAkZ3JheXNcbik7XG5cblxuJGJsdWU6ICAgICMwMDdiZmYgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNlODNlOGMgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzI4YTc0NSAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMxN2EyYjggIWRlZmF1bHQ7XG5cbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRjb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gICAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gICAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gICAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gICAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gICAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICAgIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gICAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4gICksXG4gICRjb2xvcnNcbik7XG5cbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuXG4kdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gICAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gICAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgICBcImRhcmtcIjogICAgICAgJGRhcmtcbiAgKSxcbiAgJHRoZW1lLWNvbG9yc1xuKTtcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDglICFkZWZhdWx0O1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6ICAxNTAgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICBmYWxzZSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc3BhY2VyczogbWFwLW1lcmdlKFxuICAoXG4gICAgMDogMCxcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgMzogJHNwYWNlcixcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXG4gICAgNTogKCRzcGFjZXIgKiAzKVxuICApLFxuICAkc3BhY2Vyc1xuKTtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc2l6ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDI1OiAyNSUsXG4gICAgNTA6IDUwJSxcbiAgICA3NTogNzUlLFxuICAgIDEwMDogMTAwJSxcbiAgICBhdXRvOiBhdXRvXG4gICksXG4gICRzaXplc1xuKTtcblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgIHVuZGVybGluZSAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIEZvbnRzXG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogLjg3NSkgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAoJHNwYWNlciAvIDIpICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICA1LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgICAgICA0LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAgICAgICAgICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICA4MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjJlbSAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRrYmQtYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgICAgICAuM3JlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuXG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgIGxpZ2h0ZW4oJGdyYXktOTAwLCA3LjUlKSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogICAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybXNcblxuJGxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDI1JSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogJGlucHV0LWJ0bi1saW5lLWhlaWdodCkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lcn0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXItc206ICAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1zbSAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20pICsgKCRpbnB1dC1idG4tcGFkZGluZy15LXNtICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItc219ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyLWxnOiAgICAgICAgICAgICAgICAgKCRmb250LXNpemUtbGcgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLWxnfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjogICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk6ICAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14OiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDogICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbjogICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplOiAgICAgIDUwJSA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3c6ICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZzogIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdzogICBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6ICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogICAgbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNiAyLjk3NCA3LjI1IDggMi4xOTN6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlOiAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA0JyUzRSUzQ3BhdGggc3Ryb2tlPScjeyRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3J9JyBkPSdNMCAyaDQnLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdzogIG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodDogICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAxcmVtICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcbiRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzRSUzQ3BhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aDogICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgMCAwIDAgJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGggcmdiYSgkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3IsIC41KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgNzUlICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgMTI1JSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIElFL0VkZ2VcbiRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjogICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93OiAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogICAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiAgICAgICAgICAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXRleHQ6IChcbiAgZW46IFwiQnJvd3NlXCJcbikgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgdGhlbWUtY29sb3IoXCJkYW5nZXJcIikgIWRlZmF1bHQ7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRncmF5LTkwMCwgNSUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcblxuLy8gTmF2c1xuXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTIwMCAkZ3JheS0yMDAgJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJGdyYXktMzAwICRncmF5LTMwMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICAgICAgKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcblxuLy8gTmF2YmFyXG5cbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICgkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpIC8gMiAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtY29sb3J9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIENhcmRzXG5cbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBjYWxjKCN7JGNhcmQtYm9yZGVyLXJhZGl1c30gLSAjeyRjYXJkLWJvcmRlci13aWR0aH0pICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWRlY2stbWFyZ2luOiAgICAgICAgICAgICAgICAgICRjYXJkLWdyb3VwLW1hcmdpbiAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgICAgICAgICAgMyAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLW1hcmdpbjogICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAhZGVmYXVsdDtcblxuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cblxuLy8gUG9wb3ZlcnNcblxuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBCYWRnZXNcblxuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgNzUlICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC40ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgICAgICAgLjZlbSAhZGVmYXVsdDtcbi8vIFVzZSBhIGhpZ2hlciB0aGFuIG5vcm1hbCB2YWx1ZSB0byBlbnN1cmUgY29tcGxldGVseSByb3VuZGVkIGVkZ2VzIHdoZW5cbi8vIGN1c3RvbWl6aW5nIHBhZGRpbmcgb3IgZm9udC1zaXplIG9uIGxhYmVscy5cbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGFsZXJ0LWJnLWxldmVsOiAgICAgICAgICAgICAgICAgICAgLTEwICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1sZXZlbDogICAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3ItbGV2ZWw6ICAgICAgICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAuNzUpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgOTAlICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBDYXJvdXNlbFxuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41LTIuNS0yLjUgMi41LTIuNS0xLjUtMS41eicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjUgMi41IDIuNS0yLjUgMi41IDEuNSAxLjUgNC00LTQtNHonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgdHJhbnNmb3JtIC42cyBlYXNlICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuXG5cbi8vIENsb3NlXG5cbiRjbG9zZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgMCAxcHggMCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy8gUHJpbnRpbmdcbiRwcmludC1wYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgIGEzICFkZWZhdWx0O1xuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIFRvZ2dsZXNcbi8vXG4vLyBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZ2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgY2VydGFpbiB0aGVtZSBmZWF0dXJlcy5cblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwibWl4aW5zL2JyZWFrcG9pbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2hvdmVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2ltYWdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL2JhZGdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9zY3JlZW4tcmVhZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzZXQtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWVtcGhhc2lzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtaGlkZVwiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LXRydW5jYXRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Zpc2liaWxpdHlcIjtcblxuLy8gLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcIm1peGlucy9hbGVydFwiO1xuQGltcG9ydCBcIm1peGlucy9idXR0b25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL2NhcmV0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdC1ncm91cFwiO1xuQGltcG9ydCBcIm1peGlucy9uYXYtZGl2aWRlclwiO1xuQGltcG9ydCBcIm1peGlucy9mb3Jtc1wiO1xuQGltcG9ydCBcIm1peGlucy90YWJsZS1yb3dcIjtcblxuLy8gLy8gU2tpbnNcbkBpbXBvcnQgXCJtaXhpbnMvYmFja2dyb3VuZC12YXJpYW50XCI7XG5AaW1wb3J0IFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm94LXNoYWRvd1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmFkaWVudHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdHJhbnNpdGlvblwiO1xuXG4vLyAvLyBMYXlvdXRcbkBpbXBvcnQgXCJtaXhpbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZC1mcmFtZXdvcmtcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZFwiO1xuQGltcG9ydCBcIm1peGlucy9mbG9hdFwiO1xuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMnB4LCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvdmVyIG1peGluIGFuZCBgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeWAgYXJlIGRlcHJlY2F0ZWQuXG4vL1xuLy8gT3JpZ2luYWxseSBhZGRlZCBkdXJpbmcgb3VyIGFscGhhcyBhbmQgbWFpbnRhaW5lZCBkdXJpbmcgYmV0YXMsIHRoaXMgbWl4aW4gd2FzXG4vLyBkZXNpZ25lZCB0byBwcmV2ZW50IGA6aG92ZXJgIHN0aWNraW5lc3Mgb24gaU9TLWFuIGlzc3VlIHdoZXJlIGhvdmVyIHN0eWxlc1xuLy8gd291bGQgcGVyc2lzdCBhZnRlciBpbml0aWFsIHRvdWNoLlxuLy9cbi8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB3ZSd2ZSBrZXB0IHRoZXNlIG1peGlucyBhbmQgdXBkYXRlZCB0aGVtIHRvXG4vLyBhbHdheXMgcmV0dXJuIHRoZWlyIHJlZ3VsYXIgcHNldWRvLWNsYXNzZXMgaW5zdGVhZCBvZiBhIHNoaW1tZWQgbWVkaWEgcXVlcnkuXG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjUxOTVcblxuQG1peGluIGhvdmVyIHtcbiAgJjpob3ZlciB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cyB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGluZGVudGF0aW9uLCBtZWRpYS1xdWVyeS1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0xeCk7XG5cbiAgLy8gQXV0b3ByZWZpeGVyIHRha2VzIGNhcmUgb2YgYWRkaW5nIC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyBhbmQgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbyxcbiAgLy8gYnV0IGRvZXNuJ3QgY29udmVydCBkcHB4PT5kcGkuXG4gIC8vIFRoZXJlJ3Mgbm8gc3VjaCB0aGluZyBhcyB1bnByZWZpeGVkIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gc2luY2UgaXQncyBub25zdGFuZGFyZC5cbiAgLy8gQ29tcGF0aWJpbGl0eSBpbmZvOiBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAvLyBJRTktMTEgZG9uJ3Qgc3VwcG9ydCBkcHB4XG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7IC8vIFN0YW5kYXJkaXplZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0yeCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxufVxuIiwiQG1peGluIGJhZGdlLXZhcmlhbnQoJGJnKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuXG4gICZbaHJlZl0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmcsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSZXNpemUgYW55dGhpbmdcblxuQG1peGluIHJlc2l6YWJsZSgkZGlyZWN0aW9uKSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBQZXIgQ1NTMyBVSSwgYHJlc2l6ZWAgb25seSBhcHBsaWVzIHdoZW4gYG92ZXJmbG93YCBpc24ndCBgdmlzaWJsZWBcbiAgcmVzaXplOiAkZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxufVxuIiwiLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHBzOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuIiwiLy8gU2l6aW5nIHNob3J0Y3V0c1xuXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQ6ICR3aWR0aCkge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tYmxvY2stbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuXG4gIEBpZiAoJGlnbm9yZS13YXJuaW5nICE9IHRydWUpIHtcbiAgICBAd2FybiBcIlRoZSBgdGV4dC1oaWRlKClgIG1peGluIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYXMgb2YgdjQuMS4wLiBJdCB3aWxsIGJlIHJlbW92ZWQgZW50aXJlbHkgaW4gdjUuXCI7XG4gIH1cbn1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFZpc2liaWxpdHlcblxuQG1peGluIGludmlzaWJsZSgkdmlzaWJpbGl0eSkge1xuICB2aXNpYmlsaXR5OiAkdmlzaWJpbGl0eSAhaW1wb3J0YW50O1xufVxuIiwiQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuXG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNy41JSksICRob3Zlci1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMCUpLCAkYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKSwgJGFjdGl2ZS1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMi41JSkpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdyk7XG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkYm9yZGVyLCAuNSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgZm9yIHRoZSBwcmVzc2VkL2FjdGl2ZSBzdGF0ZVxuICAgIH1cbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRib3JkZXIsIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3IsICRjb2xvci1ob3ZlcjogY29sb3IteWlxKCRjb2xvciksICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLCAkYWN0aXZlLWJvcmRlcjogJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAvLyBNYW51YWxseSBkZWNsYXJlIHRvIHByb3ZpZGUgYW4gb3ZlcnJpZGUgdG8gdGhlIGJyb3dzZXIgZGVmYXVsdFxuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfSBAZWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuIiwiQG1peGluIGNhcmV0LWRvd24ge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtcmlnaHQge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtbGVmdCB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJldC13aWR0aCAqIC44NTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtd2lkdGggKiAuODU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd247XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cDtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXJpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXdpZHRoICogLjg1O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXdpZHRoICogLjg1O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1sZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLnBhZ2UtbGluayB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgLnBhZ2UtaXRlbSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgJi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogJG5hdi1kaXZpZGVyLWNvbG9yLCAkbWFyZ2luLXk6ICRuYXYtZGl2aWRlci1tYXJnaW4teSkge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogJG1hcmdpbi15IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3I7XG59XG4iLCIvLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygpIHtcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvcikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkZm9ybS1mZWVkYmFjay1mb250LXNpemU7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAkdG9vbHRpcC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLmZvcm0tY29udHJvbCxcbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sLWZpbGUge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3IsIDI1JSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcobGlnaHRlbigkY29sb3IsIDEwJSkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGJvZHktYmcsIDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGN1c3RvbSBmaWxlXG4gIC5jdXN0b20tZmlsZS1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjphZnRlciB7IGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICYsXG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciB7XG4gICAgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0sXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJnLWdyYWRpZW50LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuIiwiQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gICAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkZ3V0dGVyIC8gMik7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogbm9uZTsgLy8gUmVzZXQgZWFybGllciBncmlkIHRpZXJzXG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tbGFzdCB7IG9yZGVyOiAkY29sdW1ucyArIDE7IH1cblxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7IG9yZGVyOiAkaTsgfVxuICAgICAgfVxuXG4gICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2Utcm93KCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIC0yKTtcbiAgbWFyZ2luLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAtMik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2UgdXNlIGBmbGV4YCB2YWx1ZXNcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4OyAvLyBQcmV2ZW50IGNvbGxhcHNpbmdcbiAgcGFkZGluZy1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiAkc2l6ZSAvICRjb2x1bW5zO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AbWl4aW4gZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5AbWl4aW4gZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cbkBtaXhpbiBmbG9hdC1ub25lIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIE1peGluc1xyXG4vL1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFJUTC9MVFJcclxuXHJcbkBtaXhpbiBsdHItb25seSgpIHtcclxuICBAaWYgJHJ0bC1zdXBwb3J0IHtcclxuICAgIGh0bWw6bm90KFtkaXI9cnRsXSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJ0bC1vbmx5KCkge1xyXG4gIEBpZiAkcnRsLXN1cHBvcnQge1xyXG4gICAgW2Rpcj1ydGxdIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbHRyLXN0eWxlKCkge1xyXG4gIEBpZiAkcnRsLXN1cHBvcnQge1xyXG4gICAgaHRtbDpub3QoW2Rpcj1ydGxdKSAmIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBydGwtc3R5bGUoKSB7XHJcbiAgQGlmICRydGwtc3VwcG9ydCB7XHJcbiAgICBbZGlyPXJ0bF0gJiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEtleWZyYW1lc1xyXG5cclxuQG1peGluIGtleWZyYW1lcygkbmFtZSkge1xyXG4gIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIENhcmV0c1xyXG5cclxuQG1peGluIGNhcmV0LWRvd24ge1xyXG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDEuNSk7XHJcbiAgd2lkdGg6ICRjYXJldC13aWR0aDtcclxuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcclxuICBib3JkZXI6IDFweCBzb2xpZDtcclxuICBib3JkZXItdG9wOiAwO1xyXG4gIGJvcmRlci1sZWZ0OiAwO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxufVxyXG5cclxuQG1peGluIGNhcmV0LXVwIHtcclxuICBtYXJnaW4tdG9wOiAtMDtcclxuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xyXG4gIGhlaWdodDogJGNhcmV0LXdpZHRoO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkO1xyXG4gIGJvcmRlci1ib3R0b206IDA7XHJcbiAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxufVxyXG5cclxuQG1peGluIGNhcmV0LXJpZ2h0IHtcclxuICBtYXJnaW4tdG9wOiAtMSAqICgkY2FyZXQtd2lkdGggLyAyKTtcclxuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xyXG4gIGhlaWdodDogJGNhcmV0LXdpZHRoO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkO1xyXG4gIGJvcmRlci10b3A6IDA7XHJcbiAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxufVxyXG5cclxuQG1peGluIGNhcmV0LWxlZnQge1xyXG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDIpO1xyXG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XHJcbiAgaGVpZ2h0OiAkY2FyZXQtd2lkdGg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQ7XHJcbiAgYm9yZGVyLXRvcDogMDtcclxuICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogUmVzcG9uc2l6ZSBsb29wc1xyXG5cclxuQG1peGluIHJlc3BvbnNpdmUtbG9vcC1iZWZvcmUoJHBhcmVudCwgJHN0YXJ0LWJyZWFrcG9pbnQ6IHNtKSB7XHJcbiAgJGN1ci1icmVha3BvaW50OiAkc3RhcnQtYnJlYWtwb2ludDtcclxuXHJcbiAgQHdoaWxlICRjdXItYnJlYWtwb2ludCB7XHJcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGN1ci1icmVha3BvaW50KTtcclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogKGJyZWFrcG9pbnQtbWluKCRjdXItYnJlYWtwb2ludCkgLSAxKSkge1xyXG4gICAgICAjeyRwYXJlbnR9I3skaW5maXh9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICRjdXItYnJlYWtwb2ludDogYnJlYWtwb2ludC1uZXh0KCRjdXItYnJlYWtwb2ludCk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcmVzcG9uc2l2ZS1sb29wLWFmdGVyKCRwYXJlbnQsICRzdGFydC1icmVha3BvaW50OiBzbSkge1xyXG4gICRjdXItYnJlYWtwb2ludDogJHN0YXJ0LWJyZWFrcG9pbnQ7XHJcblxyXG4gIEB3aGlsZSAkY3VyLWJyZWFrcG9pbnQge1xyXG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRjdXItYnJlYWtwb2ludCk7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IGJyZWFrcG9pbnQtbWluKCRjdXItYnJlYWtwb2ludCkpIHtcclxuICAgICAgI3skcGFyZW50fSN7JGluZml4fSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAkY3VyLWJyZWFrcG9pbnQ6IGJyZWFrcG9pbnQtbmV4dCgkY3VyLWJyZWFrcG9pbnQpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIENvbG9yc1xyXG5cclxuLy8gQ29udHJhc3RcclxuQG1peGluIGNvbG9yLXlpcSgkY29sb3IpIHtcclxuICBjb2xvcjogeWlxKCRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBiZy1jb2xvci12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJHJ0aC1jb2xvcjogIzAwMCkge1xyXG4gICN7JHBhcmVudH0geyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDsgfVxyXG4gIGEjeyRwYXJlbnR9IHtcclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC45NSksICRiYWNrZ3JvdW5kOiAkcnRoLWNvbG9yKSAhaW1wb3J0YW50OyB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRydGgtY29sb3I6ICMwMDApIHtcclxuICBAaW5jbHVkZSBiZy1jb2xvci12YXJpYW50KCRwYXJlbnQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYmctY29sb3ItdmFyaWFudChcIiN7JHBhcmVudH0tZGFya1wiLCByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjkpLCAkYmFja2dyb3VuZDogJHJ0aC1jb2xvcikpO1xyXG4gIEBpbmNsdWRlIGJnLWNvbG9yLXZhcmlhbnQoXCIjeyRwYXJlbnR9LWRhcmtlclwiLCByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjg1KSwgJGJhY2tncm91bmQ6ICRydGgtY29sb3IpKTtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEJ1dHRvbnNcclxuXHJcbkBtaXhpbiBidXR0b24tdmFyaWFudCgkYmFja2dyb3VuZDogbnVsbCwgJGJvcmRlcjogbnVsbCwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBudWxsLCAkYWN0aXZlLWJvcmRlcjogbnVsbCkge31cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWJ1dHRvbi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcclxuICAkYnRuLWNvbG9yczogZ2V0LWJ0bi1jb2xvcnMoJGJhY2tncm91bmQsIGlmKCRib3JkZXIsICRib3JkZXIsICRiYWNrZ3JvdW5kKSk7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcclxuICAgIEBpbmNsdWRlIGhvdmVyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xyXG4gICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1ob3Zlcik7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cyxcclxuICAgICYuZm9jdXMge1xyXG4gICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRidG4tY29sb3JzLCBzaGFkb3cpO1xyXG4gICAgfVxyXG5cclxuICAgICYuZGlzYWJsZWQsXHJcbiAgICAmOmRpc2FibGVkIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fSAuYmFkZ2Uge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgY29sb3I6IHJnYmEtdG8taGV4KCRiYWNrZ3JvdW5kKTtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH06YWN0aXZlLFxyXG4gICN7JHBhcmVudH0uYWN0aXZlLFxyXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xyXG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcclxuXHJcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcclxuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQnV0dG9uIGdyb3Vwc1xyXG4gIC5idG4tZ3JvdXAgI3skcGFyZW50fSxcclxuICAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAjeyRwYXJlbnR9LFxyXG4gIC5pbnB1dC1ncm91cC1hcHBlbmQgI3skcGFyZW50fSB7XHJcbiAgICBib3JkZXItcmlnaHQ6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkIG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWFjdGl2ZSk7XHJcbiAgICBib3JkZXItbGVmdDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWJ1dHRvbi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwsICRtZC1jb2xvcjogJGJhY2tncm91bmQpIHtcclxuICAkYnRuLWNvbG9yczogZ2V0LW1hdGVyaWFsLWJ0bi1jb2xvcnMoJGJhY2tncm91bmQpO1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgYm94LXNoYWRvdzogJGJ0bi1ib3gtc2hhZG93O1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBAaW5jbHVkZSBob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWhvdmVyKTtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJveC1zaGFkb3c6ICRidG4tZm9jdXMtYm94LXNoYWRvdztcclxuICAgIH1cclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgIGNvbG9yOiByZ2JhLXRvLWhleCgkYmFja2dyb3VuZCk7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9IC53YXZlcy1yaXBwbGUge1xyXG4gICAgYmFja2dyb3VuZDogaWYoJGNvbG9yID09ICNmZmYsIHJnYmEoJGNvbG9yLCAuMyksIHJnYmEoJGNvbG9yLCAuMikpICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9OmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9LmFjdGl2ZSxcclxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWFjdGl2ZSk7XHJcbiAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93O1xyXG4gIH1cclxuXHJcbiAgLy8gRmxhdCBidXR0b25zXHJcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdCB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJG1kLWNvbG9yICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgJjpmb2N1cyxcclxuICAgICYuZm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRtZC1jb2xvciwgLjEpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLndhdmVzLXJpcHBsZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJG1kLWNvbG9yLCAuMykgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0ubWQtYnRuLWZsYXQ6YWN0aXZlLFxyXG4gICN7JHBhcmVudH0ubWQtYnRuLWZsYXQuYWN0aXZlLFxyXG4gIC5zaG93ID4gI3skcGFyZW50fS5tZC1idG4tZmxhdC5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgkbWQtY29sb3IsIC4xNSkgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC8vIERpc2FibGVkXHJcblxyXG4gICN7JHBhcmVudH0uZGlzYWJsZWQsXHJcbiAgI3skcGFyZW50fTpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogJG1hdGVyaWFsLWNvbXBvbmVudC1zaGFkb3cgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0ubWQtYnRuLWZsYXQuZGlzYWJsZWQsXHJcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdDpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBPdXRsaW5lIGJ1dHRvbnNcclxuXHJcbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvcjogbnVsbCwgJGNvbG9yLWhvdmVyOiBudWxsLCAkaG92ZXItY29sb3I6IG51bGwpIHt9XHJcblxyXG5AbWl4aW4gYXBwd29yay1idXR0b24tb3V0bGluZS12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGhvdmVyLWNvbG9yOiBudWxsKSB7XHJcbiAgJGJ0bi1jb2xvcnM6IGdldC1idG4tY29sb3JzKCRjb2xvciwgJGNvbG9yKTtcclxuICAkY29sb3ItaG92ZXI6IGlmKCRob3Zlci1jb2xvciwgJGhvdmVyLWNvbG9yLCB5aXEoJGNvbG9yKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgQGluY2x1ZGUgaG92ZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcclxuXHJcbiAgICAgIC5iYWRnZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xyXG4gICAgICAgIGNvbG9yOiBpZihhbHBoYSgkY29sb3IpID09IDEsICRjb2xvciwgeWlxKCRjb2xvci1ob3ZlcikpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cyxcclxuICAgICYuZm9jdXMge1xyXG4gICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRidG4tY29sb3JzLCBzaGFkb3cpO1xyXG4gICAgfVxyXG5cclxuICAgICYuZGlzYWJsZWQsXHJcbiAgICAmOmRpc2FibGVkIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fSAuYmFkZ2Uge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9OmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9LmFjdGl2ZSxcclxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnRuLWNvbG9ycywgYm9yZGVyKTtcclxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWhvdmVyKTtcclxuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XHJcblxyXG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XHJcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuYmFkZ2Uge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XHJcbiAgICAgIGNvbG9yOiBpZihhbHBoYSgkY29sb3IpID09IDEsICRjb2xvciwgeWlxKCRjb2xvci1ob3ZlcikpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRob3Zlci1jb2xvcjogbnVsbCkge1xyXG4gICRidG4tY29sb3JzOiBnZXQtbWF0ZXJpYWwtYnRuLWNvbG9ycygkY29sb3IpO1xyXG4gICRjb2xvci1ob3ZlcjogaWYoJGhvdmVyLWNvbG9yLCAkaG92ZXItY29sb3IsIHlpcSgkY29sb3IpKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY29sb3IgaW5zZXQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgICBib3gtc2hhZG93OiAkYnRuLWZvY3VzLWJveC1zaGFkb3c7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XHJcblxyXG4gICAgICAuYmFkZ2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcclxuICAgICAgICBjb2xvcjogaWYoYWxwaGEoJGNvbG9yKSA9PSAxLCAkY29sb3IsIHlpcSgkY29sb3ItaG92ZXIpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuZGlzYWJsZWQsXHJcbiAgICAmOmRpc2FibGVkIHtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjb2xvciBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9IC5iYWRnZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0gLndhdmVzLXJpcHBsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiBpZigkY29sb3ItaG92ZXIgPT0gI2ZmZiwgcmdiYSgkY29sb3ItaG92ZXIsIC4zKSwgcmdiYSgkY29sb3ItaG92ZXIsIC4yKSkgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH06YWN0aXZlLFxyXG4gICN7JHBhcmVudH0uYWN0aXZlLFxyXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xyXG4gICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdztcclxuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XHJcblxyXG4gICAgLmJhZGdlIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xyXG4gICAgICBjb2xvcjogaWYoYWxwaGEoJGNvbG9yKSA9PSAxLCAkY29sb3IsIHlpcSgkY29sb3ItaG92ZXIpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBCYWRnZXNcclxuXHJcbkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge31cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWJhZGdlLXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6IG51bGwpIHtcclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcclxuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiZykpO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fVtocmVmXSB7XHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGlmKGFscGhhKCRiZykgPT0gMSwgcmdiYS10by1oZXgocmdiYSgkYmcsIC45NSksICMwMDApLCByZ2JhKCRiZywgYWxwaGEoJGJnKSArIC4wMykpO1xyXG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmcpKTtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJ0biAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZyAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJnKSkgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWJhZGdlLW91dGxpbmUtdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogJGJnKSB7XHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYmcgaW5zZXQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fVtocmVmXSB7XHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5idG4gI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRiZyBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIERyb3Bkb3duc1xyXG5cclxuQG1peGluIGFwcHdvcmstZHJvcGRvd24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgI3skcGFyZW50fSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXHJcbiAgI3skcGFyZW50fSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKTphY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fS5kcm9wZG93bi1tZW51ID4gbGk6bm90KC5kaXNhYmxlZCkgPiBhOm5vdCguZHJvcGRvd24taXRlbSk6YWN0aXZlLFxyXG4gICN7JHBhcmVudH0uZHJvcGRvd24tbWVudSA+IGxpLmFjdGl2ZTpub3QoLmRpc2FibGVkKSA+IGE6bm90KC5kcm9wZG93bi1pdGVtKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1kcm9wZG93bi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1kcm9wZG93bi12YXJpYW50KCcnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZHJvcGRvd24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgI3skcGFyZW50fSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKS5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fS5kcm9wZG93bi1tZW51ID4gbGkuYWN0aXZlOm5vdCguZGlzYWJsZWQpID4gYTpub3QoLmRyb3Bkb3duLWl0ZW0pIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWRyb3Bkb3duLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWRyb3Bkb3duLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTmF2c1xyXG5cclxuQG1peGluIGFwcHdvcmstbmF2LXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XHJcbiAgID4gLm5hdiAubmF2LWxpbmssXHJcbiAgJi5uYXYgLm5hdi1saW5rIHtcclxuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1uYXYtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJHBpbGxzLXNlbGVjdG9yOiBpZigkcGFyZW50ID09ICcnLCAnLm5hdi1waWxscycsICcjeyRwYXJlbnR9Lm5hdi1waWxscywgI3skcGFyZW50fSA+IC5uYXYtcGlsbHMnKTtcclxuXHJcbiAgI3skcGlsbHMtc2VsZWN0b3J9IC5uYXYtbGluay5hY3RpdmUge1xyXG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0udGFicy1hbHQubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9LnRhYnMtYWx0ID4gLm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmUge1xyXG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xyXG4gICAgICBib3gtc2hhZG93OiAwIC0ycHggMCAkYmFja2dyb3VuZCBpbnNldDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW5hdi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1uYXYtdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLW5hdi12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGxpbmstY29sb3I6IG51bGwpIHtcclxuICAkdGFicy1zZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJy5uYXYtdGFicycsICcjeyRwYXJlbnR9Lm5hdi10YWJzJyk7XHJcbiAgJHBpbGxzLXNlbGVjdG9yOiBpZigkcGFyZW50ID09ICcnLCAnLm5hdi1waWxscycsICcjeyRwYXJlbnR9Lm5hdi1waWxscywgI3skcGFyZW50fSA+IC5uYXYtcGlsbHMnKTtcclxuXHJcbiAgI3skdGFicy1zZWxlY3Rvcn0gLm5hdi1saW5rIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkY29sb3IsICRjb2xvcik7XHJcbiAgfVxyXG5cclxuICAjeyRwaWxscy1zZWxlY3Rvcn0gLm5hdi1saW5rLmFjdGl2ZSB7XHJcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAgICAgY29sb3I6IGlmKCRsaW5rLWNvbG9yLCAkbGluay1jb2xvciwgeWlxKCRjb2xvcikpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtbmF2LXRoZW1lKCRjb2xvciwgJGxpbmstY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLW5hdi12YXJpYW50KCcnLCAkY29sb3IsICRsaW5rLWNvbG9yKTtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFBhZ2luYXRpb25cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXBhZ2luYXRpb24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgI3skcGFyZW50fSAucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rLFxyXG4gICN7JHBhcmVudH0ucGFnaW5hdGlvbiBsaS5hY3RpdmUgPiBhOm5vdCgucGFnZS1saW5rKSB7XHJcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstcGFnaW5hdGlvbi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1wYWdpbmF0aW9uLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogUHJvZ3Jlc3MgYmFyc1xyXG5cclxuQG1peGluIGFwcHdvcmstcHJvZ3Jlc3MtYmFyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAucHJvZ3Jlc3MtYmFyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBMaXN0IGdyb3Vwc1xyXG5cclxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZTogbnVsbCwgJGJhY2tncm91bmQ6IG51bGwsICRjb2xvcjogbnVsbCkge31cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4xKSwgI2ZmZik7XHJcbiAgJGNvbG9yOiB5aXEoJGJnKTtcclxuICAkaG92ZXItYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJnLCAuOTkpLCAjMDAwKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjA3KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICBhI3skcGFyZW50fSxcclxuICBidXR0b24jeyRwYXJlbnR9IHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmc7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWxpc3QtZ3JvdXAtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJy5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcclxuXHJcbiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xyXG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBBbGVydHNcclxuXHJcbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kOiBudWxsLCAkYm9yZGVyOiBudWxsLCAkY29sb3I6IG51bGwpIHt9XHJcblxyXG5AbWl4aW4gYXBwd29yay1hbGVydC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kKSB7XHJcbiAgJGJhY2tncm91bmQ6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4xNSksICNmZmYpO1xyXG4gICRib3JkZXI6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC45NCksICMwMDApO1xyXG4gICRjb2xvcjogeWlxKCRiYWNrZ3JvdW5kKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgaHIge1xyXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5hbGVydC1saW5rIHtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWFsZXJ0LWRhcmstdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIGhyIHtcclxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSh5aXEoJGJhY2tncm91bmQpLC4yKTtcclxuICAgIH1cclxuXHJcbiAgICAuY2xvc2UsXHJcbiAgICAuYWxlcnQtbGluayB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogVG9vbHRpcHNcclxuXHJcbkBtaXhpbiBhcHB3b3JrLXRvb2x0aXAtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICAudG9vbHRpcC1pbm5lciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gICAgfVxyXG5cclxuICAgICYuYnMtdG9vbHRpcC10b3AgLmFycm93OjpiZWZvcmUsICYuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci10b3AtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgICAmLmJzLXRvb2x0aXAtcmlnaHQgLmFycm93OjpiZWZvcmUsICYuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIC5hcnJvdzo6YmVmb3JlIHsgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gICAgJi5icy10b29sdGlwLWJvdHRvbSAuYXJyb3c6OmJlZm9yZSwgJi5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIC5hcnJvdzo6YmVmb3JlIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJhY2tncm91bmQ7IH1cclxuICAgICYuYnMtdG9vbHRpcC1sZWZ0IC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC5hcnJvdzo6YmVmb3JlIHsgYm9yZGVyLWxlZnQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogUG9wb3ZlcnNcclxuXHJcbkBtaXhpbiBhcHB3b3JrLXBvcG92ZXItdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG5cclxuICAgIC5wb3BvdmVyLWhlYWRlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSh5aXEoJGJhY2tncm91bmQpLC4yKTtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgLnBvcG92ZXItYm9keSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC5hcnJvdzo6YmVmb3JlIHsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XHJcblxyXG4gICAgJi5icy1wb3BvdmVyLXRvcCAuYXJyb3c6OmFmdGVyLCAmLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJ0b3BcIl0gLmFycm93OjphZnRlciB7IGJvcmRlci10b3AtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgICAmLmJzLXBvcG92ZXItcmlnaHQgLmFycm93OjphZnRlciwgJi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwicmlnaHRcIl0gLmFycm93OjphZnRlciB7IGJvcmRlci1yaWdodC1jb2xvcjogJGJhY2tncm91bmQ7IH1cclxuICAgICYuYnMtcG9wb3Zlci1ib3R0b20gLmFycm93OjphZnRlciwgJi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIC5hcnJvdzo6YWZ0ZXIgeyBib3JkZXItYm90dG9tLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gICAgJi5icy1wb3BvdmVyLWxlZnQgLmFycm93OjphZnRlciwgJi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwibGVmdFwiXSAuYXJyb3c6OmFmdGVyIHsgYm9yZGVyLWxlZnQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogRm9ybSBjb250cm9sc1xyXG5cclxuQG1peGluIGFwcHdvcmstY3VzdG9tLXNlbGVjdC1zaXplKCRzaXplLCAkcGFkZGluZy15LCAkcGFkZGluZy14LCAkaGVpZ2h0LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQpIHtcclxuICAuY3VzdG9tLXNlbGVjdC0jeyRzaXplfSxcclxuICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gLmN1c3RvbS1zZWxlY3Qge1xyXG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAoJHBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAkcGFkZGluZy15ICRwYWRkaW5nLXg7XHJcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkcGFkZGluZy14IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcblxyXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgJixcclxuICAgICAgJltzaXplPVwiMFwiXTpub3QoW211bHRpcGxlXSkge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLXg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAkcGFkZGluZy14IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZbc2l6ZT1cIjBcIl06bm90KFttdWx0aXBsZV0pIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstY3VzdG9tLWNvbnRyb2wtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkZGVmYXVsdC1iYWNrZ3JvdW5kOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgQGlmICRkZWZhdWx0LWJhY2tncm91bmQge1xyXG4gICAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICAgLmN1c3RvbS1jb250cm9sLWlucHV0OmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVmYXVsdC1iYWNrZ3JvdW5kO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcclxuICAgICAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgICAmOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGJhY2tncm91bmQsIC40KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgJi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgfVxyXG5cclxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRldGVybWluYXRlLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG5cclxuICAgICYuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1jb250cm9sLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJy5jdXN0b20tY29udHJvbCcsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1jdXN0b20tY29udHJvbC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwsICRkZWZhdWx0LWJhY2tncm91bmQ6IG51bGwpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBAaWYgJGRlZmF1bHQtYmFja2dyb3VuZCB7XHJcbiAgICAgIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWJhY2tncm91bmQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICYuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgfVxyXG5cclxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG5cclxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGJhY2tncm91bmQpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG5cclxuICAgIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJhY2tncm91bmQsIC4xNSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1jdXN0b20tY29udHJvbC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1jdXN0b20tY29udHJvbC12YXJpYW50KCcuY3VzdG9tLWNvbnRyb2wnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxufVxyXG5cclxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGU6IG51bGwsICRjb2xvcjogbnVsbCkge31cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvcikge1xyXG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgei1pbmRleDogNTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcclxuICAgIHBhZGRpbmc6IC41cmVtO1xyXG4gICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogLjJyZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwuOCk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIH1cclxuXHJcbiAgLmZvcm0tY29udHJvbCxcclxuICAuY3VzdG9tLXNlbGVjdCB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcclxuICAgICYuaXMtI3skc3RhdGV9IHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkY29sb3IsLjI1KSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxyXG4gICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sLWZpbGU6I3skc3RhdGV9LFxyXG4gIC5mb3JtLWNvbnRyb2wtZmlsZS5pcy0jeyRzdGF0ZX0ge1xyXG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxyXG4gICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0LFxyXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0IHtcclxuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxyXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xyXG4gICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgICAmOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRjb2xvciwgLjQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxyXG4gICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dCB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcclxuICAgICYuaXMtI3skc3RhdGV9IHtcclxuICAgICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZywgJ19DT0xPUl8nLCB5aXEoJGNvbG9yKSksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXHJcbiAgICAmLmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgeWlxKCRjb2xvcikpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY3VzdG9tLWZpbGUtaW5wdXQge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXHJcbiAgICAmLmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRjb2xvciwuMykgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XHJcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDEwMCU7XHJcbiAgICB6LWluZGV4OiA1O1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xyXG4gICAgcGFkZGluZzogLjVyZW07XHJcbiAgICB3aWR0aDogMjUwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAuMnJlbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLC44KTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgfVxyXG5cclxuICAuZm9ybS1jb250cm9sLFxyXG4gIC5jdXN0b20tc2VsZWN0IHtcclxuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxyXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcclxuICAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbC1maWxlOiN7JHN0YXRlfSxcclxuICAuZm9ybS1jb250cm9sLWZpbGUuaXMtI3skc3RhdGV9IHtcclxuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcclxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dCxcclxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcclxuICAgICYuaXMtI3skc3RhdGV9IHtcclxuICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICAgJjphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsIC4xNSkgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcclxuICAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX06Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgJi5pcy0jeyRzdGF0ZX06Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgeWlxKCRjb2xvcikpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX06Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgJi5pcy0jeyRzdGF0ZX06Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6I3skc3RhdGV9LFxyXG4gIC5jdXN0b20tZmlsZS1pbnB1dC5pcy0jeyRzdGF0ZX0ge1xyXG4gICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcclxuICAgICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1maWxlLWlucHV0LXRoZW1lKCRjb2xvcikge1xyXG4gIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1maWxlLWlucHV0LXRoZW1lKCRjb2xvcikge1xyXG4gIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XHJcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwICRjb2xvciBpbnNldDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWZvcm0tY29udHJvbC1zaXplKCRzaXplLCAkbGluZS1oZWlnaHQsICRwYWRkaW5nLXksICRncm91cC1idG4tZm9udC1zaXplOiBudWxsKSB7XHJcbiAgQGlmICRzaXplID09ICcnIHtcclxuICAgIC5mb3JtLWNvbnRyb2wsXHJcbiAgICAuY3VzdG9tLXNlbGVjdCxcclxuICAgIC5jdXN0b20tZmlsZS1sYWJlbCxcclxuICAgIC5pbnB1dC1ncm91cC10ZXh0IHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skcGFkZGluZy15fSAtIDFweCkgIWltcG9ydGFudDtcclxuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIC5mb3JtLWNvbnRyb2wtI3skc2l6ZX0sXHJcbiAgICAuY3VzdG9tLXNlbGVjdC0jeyRzaXplfSxcclxuICAgIC5pbnB1dC1ncm91cC0jeyRzaXplfSA+IC5mb3JtLWNvbnRyb2wsXHJcbiAgICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gPiAuY3VzdG9tLXNlbGVjdCxcclxuICAgIC5pbnB1dC1ncm91cC0jeyRzaXplfSAuaW5wdXQtZ3JvdXAtdGV4dCB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JHBhZGRpbmcteX0gLSAxcHgpICFpbXBvcnRhbnQ7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmlucHV0LWdyb3VwLSN7JHNpemV9ID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxyXG4gICAgLmlucHV0LWdyb3VwLSN7JHNpemV9ID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRwYWRkaW5nLXl9IC0gMXB4KSAhaW1wb3J0YW50O1xyXG4gICAgICBmb250LXNpemU6ICRncm91cC1idG4tZm9udC1zaXplO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstZm9ybS1jb250cm9sLXRoZW1lKCRjb2xvcikge1xyXG4gIC5mb3JtLWNvbnRyb2w6Zm9jdXMsXHJcbiAgLmN1c3RvbS1zZWxlY3Q6Zm9jdXMge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1mb3JtLWNvbnRyb2wtdGhlbWUoJGNvbG9yKSB7XHJcbiAgLmZvcm0tY29udHJvbDpmb2N1cyxcclxuICAuY3VzdG9tLXNlbGVjdDpmb2N1cyB7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XHJcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwICRjb2xvciBpbnNldDtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBTd2l0Y2hlcnNcclxuXHJcbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXNpemUtYmFzZSgkd2lkdGgsICRoZWlnaHQsICRmb250LXNpemUsICRkZXNjcmlwdGlvbi1mb250LXNpemUsICRkZXNjcmlwdGlvbi1saW5lLWhlaWdodCwgJGlubmVyLXNwYWNlcjogJHN3aXRjaGVyLWlubmVyLXNwYWNlcikge1xyXG4gIHBhZGRpbmctbGVmdDogJHdpZHRoO1xyXG4gIG1pbi1oZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgZm9udC1zaXplOiAkZGVzY3JpcHRpb24tZm9udC1zaXplO1xyXG4gIGxpbmUtaGVpZ2h0OiAkZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XHJcblxyXG4gICRsaW5lLWhlaWdodC1jb21wdXRlZDogJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSAqICRkZXNjcmlwdGlvbi1saW5lLWhlaWdodDtcclxuICAkZGVsdGE6IGlmKCRtYXRlcmlhbC1zdHlsZSwgcHgtdG8tcmVtKGNlaWwocmVtLXRvLXB4KCRoZWlnaHQgKiAuMTI1KSkpLCAwKTtcclxuXHJcbiAgLnN3aXRjaGVyLWJsYW5rIC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgdG9wOiAkZGVsdGEgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIGhlaWdodDogJGhlaWdodCAtICgkZGVsdGEgKiAyKTtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkaGVpZ2h0O1xyXG5cclxuICAgIEBpZiAkbGluZS1oZWlnaHQtY29tcHV0ZWQgPiAkaGVpZ2h0IHtcclxuICAgICAgdG9wOiAoKCRsaW5lLWhlaWdodC1jb21wdXRlZCAtICRoZWlnaHQpIC8gMikgKyAkZGVsdGE7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgdG9wOiAwICsgJGRlbHRhO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnN3aXRjaGVyLWxhYmVsIHtcclxuICAgIEBpZiAkbGluZS1oZWlnaHQtY29tcHV0ZWQgPCAkaGVpZ2h0IHtcclxuICAgICAgdG9wOiAoJGhlaWdodCAtICRsaW5lLWhlaWdodC1jb21wdXRlZCkgLyAyO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIHRvcDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvcjo6YWZ0ZXIge1xyXG4gICAgbGVmdDogJHdpZHRoIC0gJGhlaWdodDtcclxuICB9XHJcblxyXG4gIC5zd2l0Y2hlci1pbmRpY2F0b3I6OmFmdGVyIHtcclxuICAgIHRvcDogJGRlbHRhICogLTE7XHJcbiAgICBtYXJnaW46ICRpbm5lci1zcGFjZXIgMCAwICRpbm5lci1zcGFjZXI7XHJcbiAgICB3aWR0aDogJGhlaWdodCAtICRpbm5lci1zcGFjZXIgKiAyO1xyXG4gICAgaGVpZ2h0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlciAqIDI7XHJcbiAgfVxyXG5cclxuICAuc3dpdGNoZXItbm8ge1xyXG4gICAgcGFkZGluZy1yaWdodDogJGlubmVyLXNwYWNlcjtcclxuICAgIHBhZGRpbmctbGVmdDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XHJcbiAgfVxyXG5cclxuICAuc3dpdGNoZXIteWVzIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkaW5uZXItc3BhY2VyO1xyXG4gIH1cclxuXHJcbiAgQGlmICRtYXRlcmlhbC1zdHlsZSB7XHJcbiAgICAuc3dpdGNoZXItaW5kaWNhdG9yOjpiZWZvcmUge1xyXG4gICAgICB0b3A6ICRkZWx0YSAqIC0xO1xyXG4gICAgICB3aWR0aDogJGhlaWdodDtcclxuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvcjo6YmVmb3JlIHtcclxuICAgICAgbGVmdDogJHdpZHRoIC0gJGhlaWdodDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkcnRsLXN1cHBvcnQge1xyXG4gICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XHJcbiAgICAgIHJpZ2h0OiAkd2lkdGggLSAkaGVpZ2h0O1xyXG4gICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIFtkaXI9cnRsXSAmIC5zd2l0Y2hlci1pbmRpY2F0b3I6OmFmdGVyIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAkaW5uZXItc3BhY2VyO1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIH1cclxuXHJcbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItbm8ge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAkaW5uZXItc3BhY2VyO1xyXG4gICAgfVxyXG5cclxuICAgIFtkaXI9cnRsXSAmIC5zd2l0Y2hlci15ZXMge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5uZXItc3BhY2VyO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xyXG4gICAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmJlZm9yZSB7XHJcbiAgICAgICAgcmlnaHQ6ICR3aWR0aCAtICRoZWlnaHQ7XHJcbiAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItc2l6ZSgkc2l6ZSwgJHdpZHRoLCAkaGVpZ2h0LCAkZm9udC1zaXplLCAkZGVzY3JpcHRpb24tZm9udC1zaXplLCAkZGVzY3JpcHRpb24tbGluZS1oZWlnaHQsICRpbm5lci1zcGFjZXI6ICRzd2l0Y2hlci1pbm5lci1zcGFjZXIpIHtcclxuICAuc3dpdGNoZXItI3skc2l6ZX0sXHJcbiAgLmZvcm0tZ3JvdXAtI3skc2l6ZX0gLnN3aXRjaGVyIHtcclxuICAgIEBpbmNsdWRlIGFwcHdvcmstc3dpdGNoZXItc2l6ZS1iYXNlKCR3aWR0aCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0LCAkaW5uZXItc3BhY2VyKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRzZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJycsICcjeyRwYXJlbnR9LnN3aXRjaGVyJyk7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgI3skc2VsZWN0b3J9IC5zd2l0Y2hlci1pbnB1dDpmb2N1cyB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkYmFja2dyb3VuZCwgLjQpO1xyXG4gIH1cclxuXHJcbiAgI3skc2VsZWN0b3J9IC5zd2l0Y2hlci1pbnB1dDphY3RpdmUgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLXN3aXRjaGVyLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kKSB7XHJcbiAgJHNlbGVjdG9yOiBpZigkcGFyZW50ID09ICcnLCAnJywgJyN7JHBhcmVudH0uc3dpdGNoZXInKTtcclxuXHJcbiAgI3skc2VsZWN0b3J9IC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRiYWNrZ3JvdW5kLCAuNSk7XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIH1cclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRiYWNrZ3JvdW5kLCAuMTUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdGhlbWUoJGJhY2tncm91bmQpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kKTtcclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvcikge1xyXG4gIC5zd2l0Y2hlci1pbnB1dCB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcclxuICAgICYuaXMtI3skc3RhdGV9IHtcclxuICAgICAgJjpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29sb3I6IHlpcSgkY29sb3IpICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Zm9jdXMgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRjb2xvciwgLjQpICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6YWN0aXZlIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICB+IC5zd2l0Y2hlci1sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XHJcbiAgLnN3aXRjaGVyLWlucHV0IHtcclxuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxyXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xyXG4gICAgICB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAuNSkgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsIC4xNSkgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIH4gLnN3aXRjaGVyLWxhYmVsIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBUYWJsZXNcclxuXHJcbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7fVxyXG5cclxuQG1peGluIGFwcHdvcmstdGFibGUtcm93LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQpIHtcclxuICAkYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4xKSwgI2ZmZik7XHJcbiAgJGNvbG9yOiB5aXEoJGJnKTtcclxuICAkaG92ZXItYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJnLCAuOTkpLCAjMDAwKTtcclxuXHJcbiAgLnRhYmxlICN7JHBhcmVudH0sXHJcbiAgLnRhYmxlICN7JHBhcmVudH0gPiB0aCxcclxuICAudGFibGUgI3skcGFyZW50fSA+IHRkIHtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwuMDM1KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICAudGFibGUtaG92ZXIgI3skcGFyZW50fTpob3ZlcixcclxuICAudGFibGUtaG92ZXIgI3skcGFyZW50fTpob3ZlciA+IHRkLFxyXG4gIC50YWJsZS1ob3ZlciAjeyRwYXJlbnR9OmhvdmVyID4gdGgge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJnO1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE5hdmJhclxyXG5cclxuQG1peGluIGFwcHdvcmstbmF2YmFyLXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6IG51bGwsICRhY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcclxuICAkY29sb3JzOiBnZXQtbmF2LWNvbG9ycygkYmcsICRhY3RpdmUtY29sb3IsICRjb2xvciwgJGJvcmRlcik7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBiZykgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuXHJcbiAgICAubmF2YmFyLWJyYW5kIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1uYXYge1xyXG4gICAgICAubmF2LWxpbmsge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgZGlzYWJsZWQtY29sb3IpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2hvdyA+IC5uYXYtbGluayxcclxuICAgICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcclxuICAgICAgLm5hdi1saW5rLnNob3csXHJcbiAgICAgIC5uYXYtbGluay5hY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLXRvZ2dsZXIge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBib3JkZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWYobWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpID09ICNmZmYsICRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcsICRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnKTtcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLXRleHQge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGhyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogU2lkZW5hdlxyXG5cclxuQG1peGluIGFwcHdvcmstc2lkZW5hdi12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiBudWxsLCAkYWN0aXZlLWNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsLCAkbWVudS1iZzogbnVsbCkge1xyXG4gICRjb2xvcnM6IGdldC1uYXYtY29sb3JzKCRiZywgJGFjdGl2ZS1jb2xvciwgJGNvbG9yLCAkYm9yZGVyKTtcclxuICAkeWlxLXBlcmNlbnQ6IG1hcC1nZXQoJGNvbG9ycywgeWlxLXBlcmNlbnQpO1xyXG5cclxuICBAaWYgbm90ICRtZW51LWJnIHtcclxuICAgICRtZW51LWJnOiByZ2JhLXRvLWhleChyZ2JhKG1hcC1nZXQoJGNvbG9ycywgYmcpLCAxIC0gaWYoJHlpcS1wZXJjZW50ID4gLjc1LCAuMDI1LCAuMDUpKSwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCAjZmZmLCAjMDAwKSk7XHJcbiAgfVxyXG5cclxuICAkbWVudS1hY3RpdmUtYmc6IHJnYmEtdG8taGV4KHJnYmEoJG1lbnUtYmcsIDEgLSBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIC4wMjUsIC4wNSkpLCBpZigkeWlxLXBlcmNlbnQgPCAuMjUsICNmZmYsICMwMDApKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJnKSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG5cclxuICAgIC5zaWRlbmF2LWxpbmssXHJcbiAgICAuc2lkZW5hdi1ob3Jpem9udGFsLXByZXYsXHJcbiAgICAuc2lkZW5hdi1ob3Jpem9udGFsLW5leHQge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcblxyXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1pdGVtLmRpc2FibGVkIC5zaWRlbmF2LWxpbmssXHJcbiAgICAuc2lkZW5hdi1ob3Jpem9udGFsLXByZXYuZGlzYWJsZWQsXHJcbiAgICAuc2lkZW5hdi1ob3Jpem9udGFsLW5leHQuZGlzYWJsZWQge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBkaXNhYmxlZC1jb2xvcikgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1pdGVtLm9wZW46bm90KC5zaWRlbmF2LWl0ZW0tY2xvc2luZykgPiAuc2lkZW5hdi10b2dnbGUsXHJcbiAgICAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbmsge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazpub3QoLnNpZGVuYXYtdG9nZ2xlKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZW51LWJnO1xyXG4gICAgfVxyXG5cclxuICAgICYuc2lkZW5hdi1ob3Jpem9udGFsIC5zaWRlbmF2LW1lbnUgPiAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6bm90KC5zaWRlbmF2LXRvZ2dsZSkge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudS1hY3RpdmUtYmc7XHJcbiAgICB9XHJcblxyXG4gICAgJi5zaWRlbmF2LWhvcml6b250YWwgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtOm5vdCguc2lkZW5hdi1pdGVtLWNsb3NpbmcpID4gLnNpZGVuYXYtbWVudSxcclxuICAgICYuc2lkZW5hdi1ob3Jpem9udGFsIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtdG9nZ2xlIHtcclxuICAgICAgYmFja2dyb3VuZDogJG1lbnUtYmc7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLnNpZGVuYXYtaXRlbS1jbG9zaW5nIC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1tZW51LFxyXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLnNpZGVuYXYtaXRlbS1jbG9zaW5nIC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi10b2dnbGUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LXRleHQge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWhlYWRlciB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIG11dGVkLWNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBocixcclxuICAgIC5zaWRlbmF2LWRpdmlkZXIsXHJcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LW1lbnU6OmJlZm9yZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBib3JkZXIpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1oZWFkZXI6OmJlZm9yZSxcclxuICAgIC5zaWRlbmF2LWJsb2NrOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtdG9nZ2xlOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhLXRvLWhleChtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlciksICRtZW51LWJnKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1pdGVtLm9wZW4gPiAuc2lkZW5hdi10b2dnbGU6OmJlZm9yZSxcclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazo6YmVmb3JlIHtcclxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICRtZW51LWJnO1xyXG4gICAgfVxyXG5cclxuICAgIC5wc19fdGh1bWIteSxcclxuICAgIC5wc19fcmFpbC15LnBzLS1jbGlja2luZyA+IC5wc19fdGh1bWIteSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEobWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpLCBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIG1hcC1nZXQoJGNvbG9ycywgb3BhY2l0eSkgLSAuNCwgbWFwLWdldCgkY29sb3JzLCBvcGFjaXR5KSAtIC4yKSkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBGb290ZXJcclxuXHJcbkBtaXhpbiBhcHB3b3JrLWZvb3Rlci12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiBudWxsLCAkYWN0aXZlLWNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XHJcbiAgJGNvbG9yczogZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yLCAkY29sb3IsICRib3JkZXIpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmcpICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcblxyXG4gICAgLmZvb3Rlci1saW5rIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGRpc2FibGVkLWNvbG9yKSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZvb3Rlci10ZXh0IHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2hvdyA+IC5mb290ZXItbGluayxcclxuICAgIC5hY3RpdmUgPiAuZm9vdGVyLWxpbmssXHJcbiAgICAuZm9vdGVyLWxpbmsuc2hvdyxcclxuICAgIC5mb290ZXItbGluay5hY3RpdmUge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIGhyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIFJlYm9vdFxyXG4vL1xyXG5cclxuQGluY2x1ZGUgcnRsLW9ubHkge1xyXG4gIGRkIHtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICB9XHJcbiAgY2FwdGlvbiB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICB9XHJcbn1cclxuIiwiLy8gVHlwZVxyXG4vL1xyXG5cclxuQGluY2x1ZGUgcnRsLW9ubHkge1xyXG4gIC5saXN0LXVuc3R5bGVkLFxyXG4gIC5saXN0LWlubGluZSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gIH1cclxuICAubGlzdC1pbmxpbmUtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIG1hcmdpbi1sZWZ0OiAkbGlzdC1pbmxpbmUtcGFkZGluZztcclxuICB9XHJcbn1cclxuIiwiLy8gVXRpbGl0aWVzXHJcbi8vXHJcblxyXG4ub3BhY2l0eS0yNSAgICAgICAgICAgIHsgb3BhY2l0eTogLjI1ICFpbXBvcnRhbnQ7IH1cclxuLm9wYWNpdHktNTAgICAgICAgICAgICB7IG9wYWNpdHk6IC41ICFpbXBvcnRhbnQ7IH1cclxuLm9wYWNpdHktNzUgICAgICAgICAgICB7IG9wYWNpdHk6IC43NSAhaW1wb3J0YW50OyB9XHJcbi5vcGFjaXR5LTEwMCAgICAgICAgICAgeyBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7IH1cclxuXHJcbi50ZXh0LXRpbnkgICAgICAgICAgICAgeyBmb250LXNpemU6ICR0aW55LWZvbnQtc2l6ZSAhaW1wb3J0YW50OyB9XHJcbi50ZXh0LWJpZyAgICAgICAgICAgICAgeyBmb250LXNpemU6ICRiaWctZm9udC1zaXplICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtbGFyZ2UgICAgICAgICAgICB7IGZvbnQtc2l6ZTogJGxhcmdlLWZvbnQtc2l6ZSAhaW1wb3J0YW50OyB9XHJcbi50ZXh0LXhsYXJnZSAgICAgICAgICAgeyBmb250LXNpemU6ICR4bGFyZ2UtZm9udC1zaXplICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5saW5lLWhlaWdodC0xICAgICAgICAgeyBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50OyB9XHJcbi5saW5lLWhlaWdodC1jb25kZW5jZWQgeyBsaW5lLWhlaWdodDogMS4zICFpbXBvcnRhbnQ7IH1cclxuLmxpbmUtaGVpZ2h0LWluaGVyaXQgICB7IGxpbmUtaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cclxuXHJcbi50ZXh0LWV4cGFuZGVkICAgICAgICAgeyBsZXR0ZXItc3BhY2luZzogKCgxIC8gKHN0cmlwLXVuaXQoJGZvbnQtc2l6ZS1iYXNlKSAqIDE2KSkgKiAxZW0pICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5mb250LXdlaWdodC1saWdodCAgICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cclxuLmZvbnQtd2VpZ2h0LXNlbWlib2xkICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaWJvbGQgIWltcG9ydGFudDsgfVxyXG4uZm9udC13ZWlnaHQtYm9sZGVyICAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXIgIWltcG9ydGFudDsgfVxyXG4udGV4dC1kZWNvcmF0aW9uLW5vbmUgIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtdHJhbnNmb3JtLW5vbmUgICB7IHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5vdmVyZmxvdy1oaWRkZW4gICAgICAgeyBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7IH1cclxuLm92ZXJmbG93LXNjcm9sbCAgICAgICB7IG92ZXJmbG93OiBzY3JvbGwgIWltcG9ydGFudDsgfVxyXG4ub3ZlcmZsb3ctYXV0byAgICAgICAgIHsgb3ZlcmZsb3c6IGF1dG8gIWltcG9ydGFudDsgfVxyXG5cclxuLmJveC1zaGFkb3ctbm9uZSAgICAgICB7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxyXG5cclxuLmN1cnNvci1wb2ludGVyICAgICAgICB7IGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50OyB9XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTGF5b3V0IGNvbnRhaW5lcnNcclxuXHJcbi5jb250YWluZXItcC14IHtcclxuICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmcteC1zbSAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLXgtc20gIWltcG9ydGFudDtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLXggIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLXggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuLmNvbnRhaW5lci1tLS14IHtcclxuICBtYXJnaW4tcmlnaHQ6IC0kY29udGFpbmVyLXBhZGRpbmcteC1zbSAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1sZWZ0OiAtJGNvbnRhaW5lci1wYWRkaW5nLXgtc20gIWltcG9ydGFudDtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtJGNvbnRhaW5lci1wYWRkaW5nLXggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtJGNvbnRhaW5lci1wYWRkaW5nLXggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5jb250YWluZXItcC15IHtcclxuICAmOm5vdChbY2xhc3NePVwicHQtXCJdKTpub3QoW2NsYXNzKj1cIiBwdC1cIl0pIHtcclxuICAgIHBhZGRpbmctdG9wOiAkY29udGFpbmVyLXBhZGRpbmcteSAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAmOm5vdChbY2xhc3NePVwicGItXCJdKTpub3QoW2NsYXNzKj1cIiBwYi1cIl0pIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkY29udGFpbmVyLXBhZGRpbmcteSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4uY29udGFpbmVyLW0tLXkge1xyXG4gICY6bm90KFtjbGFzc149XCJtdC1cIl0pOm5vdChbY2xhc3MqPVwiIG10LVwiXSkge1xyXG4gICAgbWFyZ2luLXRvcDogLSRjb250YWluZXItcGFkZGluZy15ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gICY6bm90KFtjbGFzc149XCJtYi1cIl0pOm5vdChbY2xhc3MqPVwiIG1iLVwiXSkge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLSRjb250YWluZXItcGFkZGluZy15ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gVHJhbnNmb3Jtc1xyXG4vL1xyXG5cclxuLnJvdGF0ZS05MCB7IHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxyXG4ucm90YXRlLTE4MCB7IHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cclxuLnJvdGF0ZS0yNzAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XHJcbi5yb3RhdGUtLTkwIHsgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsgfVxyXG4ucm90YXRlLS0xODAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxyXG4ucm90YXRlLS0yNzAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMjcwZGVnKTsgfVxyXG4ucm90YXRlLTAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSAhaW1wb3J0YW50OyB9XHJcblxyXG4uc2NhbGVYLS0xIHsgdHJhbnNmb3JtOiBzY2FsZVgoLTEpOyB9XHJcbi5zY2FsZVktLTEgeyB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7IH1cclxuXHJcbkBpbmNsdWRlIHJ0bC1vbmx5IHtcclxuICAucm90YXRlLTkwIHsgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsgfVxyXG4gIC5yb3RhdGUtMTgwIHsgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7IH1cclxuICAucm90YXRlLTI3MCB7IHRyYW5zZm9ybTogcm90YXRlKC0yNzBkZWcpOyB9XHJcbiAgLnJvdGF0ZS0tOTAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cclxuICAucm90YXRlLS0xODAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XHJcbiAgLnJvdGF0ZS0tMjcwIHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxyXG5cclxuICAuc2NhbGVYLS0xIHsgdHJhbnNmb3JtOiBzY2FsZVgoMSk7IH1cclxuICAuc2NhbGVZLS0xIHsgdHJhbnNmb3JtOiBzY2FsZVkoMSk7IH1cclxuXHJcbiAgLnNjYWxlWC0tMS1ydGwgeyB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7IH1cclxuICAuc2NhbGVZLS0xLXJ0bCB7IHRyYW5zZm9ybTogc2NhbGVZKC0xKTsgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQm9yZGVyZWQgcm93c1xyXG5cclxuLnJvdy1ib3JkZXJlZCB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgID4gLmNvbCxcclxuICAgPiBbY2xhc3NePVwiY29sLVwiXSxcclxuICAgPiBbY2xhc3MqPVwiIGNvbC1cIl0sXHJcbiAgID4gW2NsYXNzXj1cImNvbCBcIl0sXHJcbiAgID4gW2NsYXNzKj1cIiBjb2wgXCJdLFxyXG4gICA+IFtjbGFzcyQ9XCIgY29sXCJdLFxyXG4gICA+IFtjbGFzcz1cImNvbFwiXSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nLXRvcDogMXB4O1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGJvdHRvbTogLTFweDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGhlaWdodDogMDtcclxuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXJlZC1yb3ctYm9yZGVyLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgbGVmdDogLTFweDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAwO1xyXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRib3JkZXJlZC1yb3ctYm9yZGVyLWNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5yb3ctYm9yZGVyLWxpZ2h0IHtcclxuICAgICA+IC5jb2wsXHJcbiAgICAgPiBbY2xhc3NePVwiY29sLVwiXSxcclxuICAgICA+IFtjbGFzcyo9XCIgY29sLVwiXSxcclxuICAgICA+IFtjbGFzc149XCJjb2wgXCJdLFxyXG4gICAgID4gW2NsYXNzKj1cIiBjb2wgXCJdLFxyXG4gICAgID4gW2NsYXNzJD1cIiBjb2xcIl0sXHJcbiAgICAgPiBbY2xhc3M9XCJjb2xcIl0ge1xyXG4gICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRncmF5LTEwMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgcnRsLW9ubHkge1xyXG4gIC5yb3ctYm9yZGVyZWQgPiAuY29sOjphZnRlcixcclxuICAucm93LWJvcmRlcmVkID4gW2NsYXNzXj1cImNvbC1cIl06OmFmdGVyLFxyXG4gIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MqPVwiIGNvbC1cIl06OmFmdGVyLFxyXG4gIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3NePVwiY29sIFwiXTo6YWZ0ZXIsXHJcbiAgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyo9XCIgY29sIFwiXTo6YWZ0ZXIsXHJcbiAgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyQ9XCIgY29sXCJdOjphZnRlcixcclxuICAucm93LWJvcmRlcmVkID4gW2NsYXNzPVwiY29sXCJdOjphZnRlciB7XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gICAgcmlnaHQ6IC0xcHg7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogV2lkdGhcclxuXHJcbkBlYWNoICRicmVha3BvaW50IGluIHNsaWNlLWxpc3QobWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpLCAyKSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xyXG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XHJcbiAgICAudyN7JGluZml4fS0xMDAgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XHJcbiAgICAudyN7JGluZml4fS1hdXRvIHsgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE5lZ2F0aXZlIGhvcml6b250YWwgbWFyZ2luc1xyXG5cclxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XHJcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcclxuICAgICRydGwtcHJlZml4OiBpZigkcnRsLXN1cHBvcnQgPT0gdHJ1ZSwgJ2h0bWw6bm90KFtkaXI9cnRsXSkgYm9keTpub3QoW2Rpcj1ydGxdKSAnLCAnJyk7XHJcblxyXG4gICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xyXG4gICAgICAjeyRydGwtcHJlZml4fS5tciN7JGluZml4fS0tI3skc2l6ZX0sXHJcbiAgICAgICN7JHJ0bC1wcmVmaXh9Lm14I3skaW5maXh9LS0jeyRzaXplfSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICAgICN7JHJ0bC1wcmVmaXh9Lm1sI3skaW5maXh9LS0jeyRzaXplfSxcclxuICAgICAgI3skcnRsLXByZWZpeH0ubXgjeyRpbmZpeH0tLSN7JHNpemV9IHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLSRsZW5ndGggIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGlmICRydGwtc3VwcG9ydCA9PSB0cnVlIHtcclxuICAgICAgICAubXIjeyRpbmZpeH0tLSN7JHNpemV9LFxyXG4gICAgICAgIC5teCN7JGluZml4fS0tI3skc2l6ZX0ge1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tbCN7JGluZml4fS0tI3skc2l6ZX0sXHJcbiAgICAgICAgLm14I3skaW5maXh9LS0jeyRzaXplfSB7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogRmxleFxyXG5cclxuLmZsZXgtdHJ1bmNhdGUgIHsgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7IH1cclxuXHJcbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xyXG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XHJcbiAgICAuZmxleC1iYXNpcyN7JGluZml4fS0xMDAgeyBmbGV4LWJhc2lzOiAxMDAlICFpbXBvcnRhbnQ7IH1cclxuICAgIC5mbGV4LWJhc2lzI3skaW5maXh9LWF1dG8geyBmbGV4LWJhc2lzOiBhdXRvICFpbXBvcnRhbnQ7IH1cclxuICB9XHJcbn1cclxuXHJcbi8vIElFIGZpeFxyXG4uZC1mbGV4LFxyXG4uZC1pbmxpbmUtZmxleCxcclxuLm1lZGlhLFxyXG4ubWVkaWEgPiA6bm90KC5tZWRpYS1ib2R5KSxcclxuLmp1bWJvdHJvbixcclxuLmNhcmQge1xyXG4gIGZsZXgtc2hyaW5rOiAxO1xyXG59XHJcbi8vIEZpeCBJRSBwYXJlbnQgY29udGFpbmVyIGhlaWdodCBidWcgd2hlbiBjb250YWluaW5nIGltYWdlIHdpdGggZmx1aWQgd2lkdGhcclxuLmllLW1oLTEge1xyXG4gIG1pbi1oZWlnaHQ6IDFweDtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFRleHQgY29sb3JcclxuXHJcbi50ZXh0LWRhcmsge1xyXG4gIGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50O1xyXG5cclxuICAmW2hyZWZdIHtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICY6Zm9jdXM6bm90KDpob3Zlcikge1xyXG4gICAgICBjb2xvcjogJGJvZHktY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi50ZXh0LW11dGVkW2hyZWZdIHtcclxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGNvbG9yOiAkdGV4dC1tdXRlZC1ob3ZlciAhaW1wb3J0YW50OyB9XHJcbn1cclxuXHJcbi50ZXh0LWxpZ2h0IHtcclxuICBjb2xvcjogJHRleHQtbGlnaHQgIWltcG9ydGFudDtcclxuXHJcbiAgJltocmVmXSB7XHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGNvbG9yOiAkdGV4dC1tdXRlZC1ob3ZlciAhaW1wb3J0YW50OyB9XHJcbiAgfVxyXG59XHJcblxyXG4udGV4dC1saWdodGVyIHtcclxuICBjb2xvcjogJHRleHQtbGlnaHRlciAhaW1wb3J0YW50O1xyXG5cclxuICAmW2hyZWZdIHtcclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgY29sb3I6ICR0ZXh0LW11dGVkLWhvdmVyICFpbXBvcnRhbnQ7IH1cclxuICB9XHJcbn1cclxuXHJcbi50ZXh0LWxpZ2h0ZXN0IHtcclxuICBjb2xvcjogJHRleHQtbGlnaHRlc3QgIWltcG9ydGFudDtcclxuXHJcbiAgJltocmVmXSB7XHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGNvbG9yOiAkdGV4dC1tdXRlZC1ob3ZlciAhaW1wb3J0YW50OyB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEJhY2tncm91bmQgY29sb3JcclxuXHJcbi5iZy1kYXJrIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktOTAwICFpbXBvcnRhbnQ7IH1cclxuYS5iZy1kYXJrIHtcclxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5LTkwMCAhaW1wb3J0YW50OyB9XHJcbn1cclxuXHJcbi5iZy1saWdodCB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5LTEwMCAhaW1wb3J0YW50OyB9XHJcbmEuYmctbGlnaHQge1xyXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMjAwICFpbXBvcnRhbnQ7IH1cclxufVxyXG5cclxuLmJnLWxpZ2h0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS01MCAhaW1wb3J0YW50OyB9XHJcbmEuYmctbGlnaHRlciB7XHJcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDAgIWltcG9ydGFudDsgfVxyXG59XHJcblxyXG4uYmctbGlnaHRlc3QgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0yNSAhaW1wb3J0YW50OyB9XHJcbmEuYmctbGlnaHRlc3Qge1xyXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktNTAgIWltcG9ydGFudDsgfVxyXG59XHJcblxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEJvcmRlciBjb2xvclxyXG5cclxuLmJvcmRlci1saWdodCB7XHJcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheS0xMDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJvcmRlci1kYXJrIHtcclxuICBib3JkZXItY29sb3I6ICRncmF5LTkwMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYm9yZGVyLXRyYW5zcGFyZW50IHtcclxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBSVExcclxuXHJcbkBpbmNsdWRlIHJ0bC1vbmx5IHtcclxuICAvLyBCb3JkZXJzXHJcbiAgLy9cclxuXHJcbiAgLmJvcmRlciAgICAgICAgICB7IGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cclxuICAuYm9yZGVyLTAgICAgICAgIHsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cclxuICAuYm9yZGVyLXRvcC0wICAgIHsgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50OyB9XHJcbiAgLmJvcmRlci1yaWdodC0wICB7IGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cclxuICAuYm9yZGVyLWJvdHRvbS0wIHsgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XHJcbiAgLmJvcmRlci1sZWZ0LTAgICB7IGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyB9XHJcblxyXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xyXG4gICAgLmJvcmRlci0jeyRjb2xvcn0ge1xyXG4gICAgICBib3JkZXItY29sb3I6ICR2YWx1ZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJvcmRlci13aGl0ZSB7XHJcbiAgICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnJvdW5kZWQge1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcclxuICB9XHJcbiAgLnJvdW5kZWQtdG9wIHtcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcclxuICB9XHJcbiAgLnJvdW5kZWQtcmlnaHQge1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIC5yb3VuZGVkLWJvdHRvbSB7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIC5yb3VuZGVkLWxlZnQge1xyXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5yb3VuZGVkLWNpcmNsZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5yb3VuZGVkLTAge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLy8gRmxvYXRcclxuICAvL1xyXG5cclxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xyXG4gICAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcclxuXHJcbiAgICAgIC5mbG9hdCN7JGluZml4fS1sZWZ0ICB7IEBpbmNsdWRlIGZsb2F0LXJpZ2h0OyB9XHJcbiAgICAgIC5mbG9hdCN7JGluZml4fS1yaWdodCB7IEBpbmNsdWRlIGZsb2F0LWxlZnQ7IH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFJlc3BvbnNpdmUgYWxpZ25tZW50XHJcbiAgLy9cclxuXHJcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcclxuICAgICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XHJcblxyXG4gICAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XHJcbiAgICAgIC50ZXh0I3skaW5maXh9LXJpZ2h0ICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gU3BhY2luZ1xyXG4gIC8vXHJcblxyXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XHJcbiAgICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xyXG5cclxuICAgICAgQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xyXG4gICAgICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcclxuXHJcbiAgICAgICAgICAuI3skYWJicmV2fSN7JGluZml4fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cclxuICAgICAgICAgIC4jeyRhYmJyZXZ9dCN7JGluZml4fS0jeyRzaXplfSxcclxuICAgICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XHJcbiAgICAgICAgICAgICN7JHByb3B9LXRvcDogJGxlbmd0aCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLiN7JGFiYnJldn1yI3skaW5maXh9LSN7JHNpemV9LFxyXG4gICAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcclxuICAgICAgICAgICAgI3skcHJvcH0tbGVmdDogJGxlbmd0aCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLiN7JGFiYnJldn1iI3skaW5maXh9LSN7JHNpemV9LFxyXG4gICAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcclxuICAgICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuI3skYWJicmV2fWwjeyRpbmZpeH0tI3skc2l6ZX0sXHJcbiAgICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xyXG4gICAgICAgICAgICAjeyRwcm9wfS1yaWdodDogJGxlbmd0aCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gU29tZSBzcGVjaWFsIG1hcmdpbiB1dGlsc1xyXG4gICAgICAubSN7JGluZml4fS1hdXRvIHsgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH1cclxuICAgICAgLm10I3skaW5maXh9LWF1dG8sXHJcbiAgICAgIC5teSN7JGluZml4fS1hdXRvIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgICAgLm1yI3skaW5maXh9LWF1dG8sXHJcbiAgICAgIC5teCN7JGluZml4fS1hdXRvIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICAgIC5tYiN7JGluZml4fS1hdXRvLFxyXG4gICAgICAubXkjeyRpbmZpeH0tYXV0byB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICAgIC5tbCN7JGluZml4fS1hdXRvLFxyXG4gICAgICAubXgjeyRpbmZpeH0tYXV0byB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gQmFzZVxyXG4vL1xyXG5cclxuYm9keSB7XHJcbiAgLW1vei1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwibGlnYVwiIG9uO1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgICAgICAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0ge1xyXG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQGlmICRtYXRlcmlhbC1zdHlsZSB7XHJcbiAgLndhdmVzLXJpcHBsZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBJRSBGaXhlc1xyXG5cclxuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcclxuICAvLyBGaXggSUUgcGFyZW50IGNvbnRhaW5lciBoZWlnaHQgYnVnIHdoZW4gY29udGFpbmluZyBpbWFnZSB3aXRoIGZsdWlkIHdpZHRoXHJcbiAgLmNhcmQsXHJcbiAgLmNhcmQtYm9keSxcclxuICAubWVkaWEsXHJcbiAgLmZsZXgtY29sdW1uLFxyXG4gIC50YWItY29udGVudCB7XHJcbiAgICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgfVxyXG5cclxuICBpbWcge1xyXG4gICAgbWluLWhlaWdodDogMXB4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIENvbnRhaW5lcnNcclxuXHJcbi5jb250YWluZXIsXHJcbi5jb250YWluZXItZmx1aWQge1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy14LXNtO1xyXG4gIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLXgtc207XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy14O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmcteDtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBUaHVtYm5haWxzXHJcblxyXG4uaW1nLXRodW1ibmFpbCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uaW1nLXRodW1ibmFpbCBpbWcge1xyXG4gIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi5pbWctdGh1bWJuYWlsLWNvbnRlbnQge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgei1pbmRleDogMztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBvcGFjaXR5OiAwO1xyXG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcblxyXG4gIC5pbWctdGh1bWJuYWlsOmhvdmVyICYsXHJcbiAgLmltZy10aHVtYm5haWw6Zm9jdXMgJiB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLy8gT3ZlcmxheSBlZmZlY3RcclxuLmltZy10aHVtYm5haWwtb3ZlcmxheSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICB6LWluZGV4OiAyO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XHJcblxyXG4gIC5pbWctdGh1bWJuYWlsOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpICYge1xyXG4gICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLmltZy10aHVtYm5haWwtc2hhZG93IHtcclxuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4ycztcclxuXHJcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgYm94LXNoYWRvdzogMCA1cHggMjBweCByZ2JhKCRibGFjaywgLjQpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gWm9vbS1pbiBlZmZlY3RcclxuLmltZy10aHVtYm5haWwtem9vbS1pbiB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgaW1nIHtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDApO1xyXG4gIH1cclxuXHJcbiAgLmltZy10aHVtYm5haWwtY29udGVudCB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSguNik7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICBpbWcge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICB9XHJcblxyXG4gICAgLmltZy10aHVtYm5haWwtY29udGVudCB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE1hdGVyaWFsIGFuaW1hdGlvbnNcclxuXHJcbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xyXG4gIEBpbmNsdWRlIGtleWZyYW1lcyhkcm9wZG93bkFuaW1hdGlvbikge1xyXG4gICAgMCUge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgfVxyXG4gICAgODAlIHtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBrZXlmcmFtZXModG9wVG9vbHRpcEFuaW1hdGlvbikge1xyXG4gICAgMCUge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGtleWZyYW1lcyhib3R0b21Ub29sdGlwQW5pbWF0aW9uKSB7XHJcbiAgICAwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGtleWZyYW1lcyhsZWZ0VG9vbHRpcEFuaW1hdGlvbikge1xyXG4gICAgMCUge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGtleWZyYW1lcyhyaWdodFRvb2x0aXBBbmltYXRpb24pIHtcclxuICAgIDAlIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBSVExcclxuXHJcbkBpZiAkcnRsLXN1cHBvcnQge1xyXG4gIFtkaXI9cnRsXSBib2R5IHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XHJcbiAgICBkaXJlY3Rpb246IHJ0bCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iLCIvLyBUYWJsZXNcclxuLy9cclxuXHJcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xyXG4gIEBpZiAkY29sb3IgIT0gcHJpbWFyeSBhbmQgJGNvbG9yICE9IGxpZ2h0IHtcclxuICAgIEBpbmNsdWRlIGFwcHdvcmstdGFibGUtcm93LXZhcmlhbnQoJy50YWJsZS0jeyRjb2xvcn0nLCAkdmFsdWUpO1xyXG4gIH1cclxufVxyXG5cclxuLnRhYmxlLnRhYmxlLWZpeGVkIHtcclxuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG59XHJcblxyXG4udGFibGUgdGgge1xyXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaWJvbGQ7XHJcbn1cclxuXHJcbi50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlIHtcclxuICBtYXgtd2lkdGg6IG5vbmU7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBBY3RpdmVcclxuXHJcbi50YWJsZS1hY3RpdmUsXHJcbi50YWJsZS1hY3RpdmUgPiB0aCxcclxuLnRhYmxlLWFjdGl2ZSA+IHRkIHtcclxuICBib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMDM1KTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYWN0aXZlLWJnO1xyXG59XHJcblxyXG4udGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlcixcclxuLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIgPiB0ZCxcclxuLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIgPiB0aCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYS10by1oZXgocmdiYSgkdGFibGUtYWN0aXZlLWJnLCAuOTkpLCAjMDAwKTtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFdpdGhpbiBjYXJkXHJcblxyXG4uY2FyZC10YWJsZSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLmNhcmQtdGFibGUsXHJcbi5jYXJkLXRhYmxlIHRoLFxyXG4uY2FyZC10YWJsZSB0ZCB7XHJcbiAgYm9yZGVyLWNvbG9yOiAkY2FyZC1pbm5lci1ib3JkZXItY29sb3I7XHJcbn1cclxuXHJcbi5jYXJkLXRhYmxlID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCxcclxuLmNhcmQtdGFibGUgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkLFxyXG4uY2FyZC10YWJsZSA+IHRmb290OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQge1xyXG4gICA+IHRkLFxyXG4gICA+IHRoIHtcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBsdHItb25seSB7XHJcbiAgLmNhcmQtdGFibGUgPiB0aGVhZCA+IHRyLFxyXG4gIC5jYXJkLXRhYmxlID4gdGJvZHkgPiB0cixcclxuICAuY2FyZC10YWJsZSA+IHRmb290ID4gdHIge1xyXG4gICAgID4gdGQsXHJcbiAgICAgPiB0aCB7XHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtc3BhY2VyLXg7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNhcmQtc3BhY2VyLXg7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBDb25kZW5jZWRcclxuICAuY2FyZC1jb25kZW5jZWQgLmNhcmQtdGFibGUgPiB0aGVhZCA+IHRyLFxyXG4gIC5jYXJkLWNvbmRlbmNlZCAuY2FyZC10YWJsZSA+IHRib2R5ID4gdHIsXHJcbiAgLmNhcmQtY29uZGVuY2VkIC5jYXJkLXRhYmxlID4gdGZvb3QgPiB0ciB7XHJcbiAgICAgPiB0ZCxcclxuICAgICA+IHRoIHtcclxuICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY2FyZC1zcGFjZXIteC1zbTtcclxuICAgICAgICBib3JkZXItbGVmdDogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1zcGFjZXIteC1zbTtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIHJ0bC1vbmx5IHtcclxuICAuY2FyZC10YWJsZSA+IHRoZWFkID4gdHIsXHJcbiAgLmNhcmQtdGFibGUgPiB0Ym9keSA+IHRyLFxyXG4gIC5jYXJkLXRhYmxlID4gdGZvb3QgPiB0ciB7XHJcbiAgICAgPiB0ZCxcclxuICAgICA+IHRoIHtcclxuICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNhcmQtc3BhY2VyLXg7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtc3BhY2VyLXg7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIENvbmRlbmNlZFxyXG4gIC5jYXJkLWNvbmRlbmNlZCAuY2FyZC10YWJsZSA+IHRoZWFkID4gdHIsXHJcbiAgLmNhcmQtY29uZGVuY2VkIC5jYXJkLXRhYmxlID4gdGJvZHkgPiB0cixcclxuICAuY2FyZC1jb25kZW5jZWQgLmNhcmQtdGFibGUgPiB0Zm9vdCA+IHRyIHtcclxuICAgICA+IHRkLFxyXG4gICAgID4gdGgge1xyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1zcGFjZXIteDtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcclxuICAgICAgICBib3JkZXItbGVmdDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBCdXR0b25zXHJcbi8vXHJcblxyXG4uYnRuIHtcclxuICBmb250LXNpemU6ICRpbnB1dC1idG4tZm9udC1zaXplO1xyXG5cclxuICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBCYWJnZSB3aXRoaW4gYnV0dG9uXHJcbi5idG4gLmJhZGdlIHtcclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XHJcbn1cclxuXHJcbmxhYmVsLmJ0biB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEFsdGVybmF0ZSBidXR0b25zXHJcblxyXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcclxuICBAaWYgJGNvbG9yICE9IHByaW1hcnkge1xyXG4gICAgQGlmICRtYXRlcmlhbC1zdHlsZSB7XHJcbiAgICAgIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLXZhcmlhbnQoJy5idG4tI3skY29sb3J9JywgJHZhbHVlKTtcclxuICAgICAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1idXR0b24tb3V0bGluZS12YXJpYW50KCcuYnRuLW91dGxpbmUtI3skY29sb3J9JywgJHZhbHVlKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAaW5jbHVkZSBhcHB3b3JrLWJ1dHRvbi12YXJpYW50KCcuYnRuLSN7JGNvbG9yfScsICR2YWx1ZSk7XHJcbiAgICAgIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfScsICR2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBEZWZhdWx0IGJ1dHRvblxyXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWJ1dHRvbi12YXJpYW50KCcuYnRuLWRlZmF1bHQnLCAkYnRuLWRlZmF1bHQtYmcsICRidG4tZGVmYXVsdC1jb2xvciwgJGJ0bi1kZWZhdWx0LWNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJy5idG4tb3V0bGluZS1kZWZhdWx0JywgJGJ0bi1kZWZhdWx0LWJvcmRlciwgJGJ0bi1kZWZhdWx0LWNvbG9yKTtcclxufSBAZWxzZSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1idXR0b24tdmFyaWFudCgnLmJ0bi1kZWZhdWx0JywgJGJ0bi1kZWZhdWx0LWJnLCAkYnRuLWRlZmF1bHQtY29sb3IsICRidG4tZGVmYXVsdC1ib3JkZXIpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLWRlZmF1bHQnLCAkYnRuLWRlZmF1bHQtYm9yZGVyLCAkYnRuLWRlZmF1bHQtY29sb3IpO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogU2l6ZXNcclxuXHJcbi5idG4teGwge1xyXG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRpbnB1dC1idG4tcGFkZGluZy15LXhsLCAkaW5wdXQtYnRuLXBhZGRpbmcteC14bCwgJGlucHV0LWJ0bi1mb250LXNpemUteGwsICRpbnB1dC1idG4tbGluZS1oZWlnaHQteGwsICRidG4tYm9yZGVyLXJhZGl1cy14bCk7XHJcbn1cclxuXHJcbi5idG4tbGcge1xyXG4gIGZvbnQtc2l6ZTogJGlucHV0LWJ0bi1mb250LXNpemUtbGc7XHJcbn1cclxuXHJcbi5idG4tc20ge1xyXG4gIGZvbnQtc2l6ZTogJGlucHV0LWJ0bi1mb250LXNpemUtc207XHJcbn1cclxuXHJcbi5idG4teHMge1xyXG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRpbnB1dC1idG4tcGFkZGluZy15LXhzLCAkaW5wdXQtYnRuLXBhZGRpbmcteC14cywgJGlucHV0LWJ0bi1mb250LXNpemUteHMsICRpbnB1dC1idG4tbGluZS1oZWlnaHQteHMsICRidG4tYm9yZGVyLXJhZGl1cy14cyk7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBSb3VuZCBidXR0b25cclxuXHJcbi5idG4tcm91bmQge1xyXG4gIGJvcmRlci1yYWRpdXM6IDYwcmVtICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBMaW5rIGJ1dHRvbnNcclxuXHJcbi5idG4uYnRuLWxpbmsge1xyXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuXHJcbiAgQGlmICRtYXRlcmlhbC1zdHlsZSB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuXHJcbiAgICAud2F2ZXMtcmlwcGxlIHtcclxuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEljb24gYnV0dG9uXHJcblxyXG4uaWNvbi1idG4ge1xyXG4gICRpY29uLWJ0bi1zaXplOiAgICAoJGlucHV0LWJ0bi1mb250LXNpemUgICAgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSAgICArICgkaW5wdXQtYnRuLXBhZGRpbmcteSAgICAqIDIpO1xyXG4gICRpY29uLWJ0bi1zaXplLXhsOiAoJGlucHV0LWJ0bi1mb250LXNpemUteGwgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhsKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS14bCAqIDIpO1xyXG4gICRpY29uLWJ0bi1zaXplLWxnOiAoJGlucHV0LWJ0bi1mb250LXNpemUtbGcgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAqIDIpO1xyXG4gICRpY29uLWJ0bi1zaXplLXNtOiAoJGlucHV0LWJ0bi1mb250LXNpemUtc20gKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAqIDIpO1xyXG4gICRpY29uLWJ0bi1zaXplLXhzOiAoJGlucHV0LWJ0bi1mb250LXNpemUteHMgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhzKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS14cyAqIDIpO1xyXG4gICRib3JkZXJzLXdpZHRoOiAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAqIDI7XHJcblxyXG4gIHdpZHRoOiBjYWxjKCN7JGljb24tYnRuLXNpemV9ICsgI3skYm9yZGVycy13aWR0aH0pICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZzogMDtcclxuICBsaW5lLWhlaWdodDogJGljb24tYnRuLXNpemU7XHJcblxyXG4gICYuYnRuLXhsIHtcclxuICAgIHdpZHRoOiBjYWxjKCN7JGljb24tYnRuLXNpemUteGx9ICsgI3skYm9yZGVycy13aWR0aH0pICFpbXBvcnRhbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogJGljb24tYnRuLXNpemUteGw7XHJcbiAgfVxyXG5cclxuICAmLmJ0bi1sZyB7XHJcbiAgICB3aWR0aDogY2FsYygjeyRpY29uLWJ0bi1zaXplLWxnfSArICN7JGJvcmRlcnMtd2lkdGh9KSAhaW1wb3J0YW50O1xyXG4gICAgbGluZS1oZWlnaHQ6ICRpY29uLWJ0bi1zaXplLWxnO1xyXG4gIH1cclxuXHJcbiAgJi5idG4tc20ge1xyXG4gICAgd2lkdGg6IGNhbGMoI3skaWNvbi1idG4tc2l6ZS1zbX0gKyAjeyRib3JkZXJzLXdpZHRofSkgIWltcG9ydGFudDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkaWNvbi1idG4tc2l6ZS1zbTtcclxuICB9XHJcblxyXG4gICYuYnRuLXhzIHtcclxuICAgIHdpZHRoOiBjYWxjKCN7JGljb24tYnRuLXNpemUteHN9ICsgI3skYm9yZGVycy13aWR0aH0pICFpbXBvcnRhbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogJGljb24tYnRuLXNpemUteHM7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogV2l0aG91dCBib3JkZXJcclxuXHJcbi5idG4uYm9yZGVybGVzcyB7XHJcbiAgJjpub3QoLmFjdGl2ZSk6bm90KDphY3RpdmUpOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpLFxyXG4gIDpub3QoLnNob3cpID4gJi5kcm9wZG93bi10b2dnbGU6bm90KDpob3Zlcik6bm90KDpmb2N1cykge1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iLCIvLyBCdXR0b24gZ3JvdXBzXHJcbi8vXHJcblxyXG5AaWYgbm90ICRtYXRlcmlhbC1zdHlsZSB7XHJcbiAgOm5vdCguYnRuLWdyb3VwKSA+IC5idG4tZ3JvdXAgPiAuYnRuOm5vdCguYnRuLWRlZmF1bHQpOm5vdChbY2xhc3MqPVwiYnRuLW91dGxpbmUtXCJdKTpmaXJzdC1jaGlsZCxcclxuICAuYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZCA+IC5idG46bm90KC5idG4tZGVmYXVsdCk6bm90KFtjbGFzcyo9XCJidG4tb3V0bGluZS1cIl0pOmZpcnN0LWNoaWxkLFxyXG4gIC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bjpub3QoLmJ0bi1kZWZhdWx0KTpub3QoW2NsYXNzKj1cImJ0bi1vdXRsaW5lLVwiXSk6Zmlyc3QtY2hpbGQsXHJcbiAgLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG46bm90KC5idG4tZGVmYXVsdCk6bm90KFtjbGFzcyo9XCJidG4tb3V0bGluZS1cIl0pOmZpcnN0LWNoaWxkIHtcclxuICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgOm5vdCguYnRuLWdyb3VwKSA+IC5idG4tZ3JvdXAgPiAuYnRuOm5vdCguYnRuLWRlZmF1bHQpOm5vdChbY2xhc3MqPVwiYnRuLW91dGxpbmUtXCJdKTpsYXN0LWNoaWxkLFxyXG4gIC5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCguYnRuLWRlZmF1bHQpOm5vdChbY2xhc3MqPVwiYnRuLW91dGxpbmUtXCJdKTpsYXN0LWNoaWxkLFxyXG4gIDpub3QoLmJ0bi1ncm91cCkgPiAuYnRuLWdyb3VwID4gLmRyb3Bkb3duLXRvZ2dsZTpub3QoLmJ0bi1kZWZhdWx0KTpub3QoW2NsYXNzKj1cImJ0bi1vdXRsaW5lLVwiXSksXHJcbiAgLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGU6bm90KC5idG4tZGVmYXVsdCk6bm90KFtjbGFzcyo9XCJidG4tb3V0bGluZS1cIl0pLFxyXG4gIC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bjpub3QoLmJ0bi1kZWZhdWx0KTpub3QoW2NsYXNzKj1cImJ0bi1vdXRsaW5lLVwiXSk6bGFzdC1jaGlsZCxcclxuICAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0bjpub3QoLmJ0bi1kZWZhdWx0KTpub3QoW2NsYXNzKj1cImJ0bi1vdXRsaW5lLVwiXSk6bGFzdC1jaGlsZCxcclxuICAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5kcm9wZG93bi10b2dnbGU6bm90KC5idG4tZGVmYXVsdCk6bm90KFtjbGFzcyo9XCJidG4tb3V0bGluZS1cIl0pLFxyXG4gIC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuZHJvcGRvd24tdG9nZ2xlOm5vdCguYnRuLWRlZmF1bHQpOm5vdChbY2xhc3MqPVwiYnRuLW91dGxpbmUtXCJdKSB7XHJcbiAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBTaXppbmdcclxuXHJcbi5idG4tZ3JvdXAteHMgPiAuYnRuIHtcclxuICBAZXh0ZW5kIC5idG4teHM7XHJcbn1cclxuXHJcbi5idG4tZ3JvdXAtc20gPiAuYnRuIHtcclxuICBmb250LXNpemU6ICRpbnB1dC1idG4tZm9udC1zaXplLXNtO1xyXG59XHJcblxyXG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7XHJcbiAgZm9udC1zaXplOiAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZztcclxufVxyXG5cclxuLmJ0bi1ncm91cC14bCA+IC5idG4ge1xyXG4gIEBleHRlbmQgLmJ0bi14bDtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFNwbGl0IGJ1dHRvblxyXG5cclxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCxcclxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsXHJcbi5idG4tZ3JvdXAtbGcgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCxcclxuLmlucHV0LWdyb3VwLWxnIC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LFxyXG4uYnRuLXhsICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCxcclxuLmJ0bi1ncm91cC14bCA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcclxuICBwYWRkaW5nLXJpZ2h0OiAuN2VtO1xyXG4gIHBhZGRpbmctbGVmdDogLjdlbTtcclxufVxyXG5cclxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsXHJcbi5idG4tZ3JvdXAtc20gPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCxcclxuLmlucHV0LWdyb3VwLXNtIC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcclxuICBwYWRkaW5nLXJpZ2h0OiAuNmVtO1xyXG4gIHBhZGRpbmctbGVmdDogLjZlbTtcclxufVxyXG5cclxuLmJ0bi14cyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsXHJcbi5idG4tZ3JvdXAteHMgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XHJcbiAgcGFkZGluZy1yaWdodDogLjVlbTtcclxuICBwYWRkaW5nLWxlZnQ6IC41ZW07XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBSVExcclxuXHJcbkBpbmNsdWRlIHJ0bC1vbmx5IHtcclxuICAuYnRuLWdyb3VwIC5idG46bm90KC5idG4tcm91bmQpIHtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudCk7XHJcbiAgfVxyXG5cclxuICAuYnRuLWdyb3VwIC5idG4teHM6bm90KC5idG4tcm91bmQpLFxyXG4gIC5idG4tZ3JvdXAteHMgLmJ0bjpub3QoLmJ0bi1yb3VuZCkge1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy14cyAhaW1wb3J0YW50KTtcclxuICB9XHJcblxyXG4gIC5idG4tZ3JvdXAgLmJ0bi1zbTpub3QoLmJ0bi1yb3VuZCksXHJcbiAgLmJ0bi1ncm91cC1zbSAuYnRuOm5vdCguYnRuLXJvdW5kKSB7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtICFpbXBvcnRhbnQpO1xyXG4gIH1cclxuXHJcbiAgLmJ0bi1ncm91cCAuYnRuLWxnOm5vdCguYnRuLXJvdW5kKSxcclxuICAuYnRuLWdyb3VwLWxnIC5idG46bm90KC5idG4tcm91bmQpIHtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcgIWltcG9ydGFudCk7XHJcbiAgfVxyXG5cclxuICAuYnRuLWdyb3VwIC5idG4teGw6bm90KC5idG4tcm91bmQpLFxyXG4gIC5idG4tZ3JvdXAteGwgLmJ0bjpub3QoLmJ0bi1yb3VuZCkge1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy14bCAhaW1wb3J0YW50KTtcclxuICB9XHJcblxyXG4gIC5idG4tZ3JvdXAge1xyXG4gICAgLmJ0biArIC5idG4sXHJcbiAgICAuYnRuICsgLmJ0bi1ncm91cCxcclxuICAgIC5idG4tZ3JvdXAgKyAuYnRuLFxyXG4gICAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYnRuLWJvcmRlci13aWR0aDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgPiAuYnRuOmZpcnN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxyXG4gICAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcclxuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDAgIWltcG9ydGFudCk7XHJcbiAgICB9XHJcblxyXG4gICAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxyXG4gICAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XHJcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCAhaW1wb3J0YW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5idG4tZ3JvdXAtdmVydGljYWwge1xyXG4gICAgLmJ0bjpub3QoW2NsYXNzKj1idG4tb3V0bGluZV0pIHtcclxuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSxcclxuICAgID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xyXG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwICFpbXBvcnRhbnQpO1xyXG4gICAgfVxyXG5cclxuICAgID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XHJcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDAgIWltcG9ydGFudCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEJhZGdlc1xyXG4vL1xyXG5cclxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XHJcbiAgQGlmICRjb2xvciAhPSBwcmltYXJ5IGFuZCAkY29sb3IgIT0gbGlnaHQge1xyXG4gICAgQGluY2x1ZGUgYXBwd29yay1iYWRnZS12YXJpYW50KCcuYmFkZ2UtI3skY29sb3J9JywgJHZhbHVlKTtcclxuICAgIEBpbmNsdWRlIGFwcHdvcmstYmFkZ2Utb3V0bGluZS12YXJpYW50KCcuYmFkZ2Utb3V0bGluZS0jeyRjb2xvcn0nLCAkdmFsdWUpO1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYXBwd29yay1iYWRnZS12YXJpYW50KCcuYmFkZ2UtZGVmYXVsdCcsICRiYWRnZS1kZWZhdWx0LWJnLCAkYm9keS1jb2xvcik7XHJcbkBpbmNsdWRlIGFwcHdvcmstYmFkZ2Utb3V0bGluZS12YXJpYW50KCcuYmFkZ2Utb3V0bGluZS1kZWZhdWx0JywgJGJhZGdlLWRlZmF1bHQtYmcsICRiYWRnZS1vdXRsaW5lLWRlZmF1bHQtY29sb3IpO1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIERvdHNcclxuXHJcbi5iYWRnZS5iYWRnZS1kb3Qge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICB3aWR0aDogLjVlbTtcclxuICBoZWlnaHQ6IC41ZW07XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBJbmRpY2F0b3JzXHJcblxyXG4uYmFkZ2UuaW5kaWNhdG9yIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiBhdXRvO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtYXJnaW46IDA7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMjUlKTtcclxuXHJcbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgMjUlKTtcclxuICB9XHJcblxyXG4gICY6bm90KC5iYWRnZS1kb3QpIHtcclxuICAgIHBhZGRpbmc6IDAgLjJlbTtcclxuICAgIGZvbnQtc2l6ZTogLjZlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xMCUpO1xyXG5cclxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTEwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICAuYnRuIC5iYWRnZS5pbmRpY2F0b3I6bm90KC5iYWRnZS1kb3QpIHtcclxuICAgIGZvbnQtc2l6ZTogLjc1ZW07XHJcbiAgfVxyXG59XHJcbiIsIi8vIERyb3Bkb3duc1xyXG4vL1xyXG5cclxuW2RhdGEtdHJpZ2dlcj1ob3Zlcl0ge1xyXG4gIG91dGxpbmU6IDA7XHJcbn1cclxuXHJcbi5kcm9wZG93bi1tZW51IHtcclxuICBtYXJnaW46ICRkcm9wZG93bi1zcGFjZXIgMDtcclxuICBib3gtc2hhZG93OiAkZHJvcGRvd24tYm94LXNoYWRvdztcclxuXHJcbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIH1cclxuXHJcbiAgLy8gQW5pbWF0aW9uc1xyXG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICBhbmltYXRpb246IGRyb3Bkb3duQW5pbWF0aW9uIC4yNXM7XHJcblxyXG4gICAgJi5kcm9wZG93bi1tZW51LXJpZ2h0LFxyXG4gICAgJi5kcm9wZG93bi1tZW51LXJpZ2h0IC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIC5kcm9wdXAgJiB7XHJcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIC5kcm9wdXAgJi5kcm9wZG93bi1tZW51LXJpZ2h0LFxyXG4gICAgLmRyb3B1cCAmLmRyb3Bkb3duLW1lbnUtcmlnaHQgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubWVnYS1kcm9wZG93biA+ICYge1xyXG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5kcm9wZG93bi1pdGVtIHtcclxuICBsaW5lLWhlaWdodDogJGRyb3Bkb3duLWxpbmstbGluZS1oZWlnaHQ7XHJcbn1cclxuXHJcbi8vIEJhZGdlIHdpdGhpbiBkcm9wZG93biBtZW51XHJcbi5kcm9wZG93bi1tZW51IC5iYWRnZVtjbGFzc149XCJmbG9hdC1cIl0sXHJcbi5kcm9wZG93bi1tZW51IC5iYWRnZVtjbGFzcyo9XCIgZmxvYXQtXCJdIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdG9wOiAuMDcxZW07XHJcbn1cclxuXHJcbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xyXG4gIC5kcm9wZG93bi1pdGVtLFxyXG4gIC5kcm9wZG93bi1tZW51ID4gbGkge1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuXHJcbiAgICAvLyBSaXBwbGVcclxuICAgIC53YXZlcy1yaXBwbGUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC4xKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUgLndhdmVzLXJpcHBsZSxcclxuICAgICYuZGlzYWJsZWQgLndhdmVzLXJpcHBsZSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEhpZGRlbiBkcm9wZG93biB0b2dnbGUgYXJyb3dcclxuLmRyb3Bkb3duLXRvZ2dsZS5oaWRlLWFycm93LFxyXG4uZHJvcGRvd24tdG9nZ2xlLWhpZGUtYXJyb3cgPiAuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAmOjpiZWZvcmUsXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE1ha2UgQm9vdHN0cmFwIDMgcGFnaW5hdGlvbiBjb21wYXRpYmxlIHdpdGggQm9vdHN0cmFwIDRcclxuXHJcbi5kcm9wZG93bi1tZW51ID4gbGk6bm90KC5kcm9wZG93bi1pdGVtKSB7XHJcbiAgID4gYTpub3QoLmRyb3Bkb3duLWl0ZW0pIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xyXG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkZHJvcGRvd24tbGluay1saW5lLWhlaWdodDtcclxuXHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWJnO1xyXG4gICAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuYWN0aXZlID4gYTpub3QoLmRyb3Bkb3duLWl0ZW0pLFxyXG4gID4gYTpub3QoLmRyb3Bkb3duLWl0ZW0pOmFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtYmc7XHJcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxuXHJcbiAgJi5kaXNhYmxlZCA+IGE6bm90KC5kcm9wZG93bi1pdGVtKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcclxuXHJcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIERyb3Bkb3duIHRvZ2dsZVxyXG5cclxuLmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgJjo6YWZ0ZXIsXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gICY6OmFmdGVyLFxyXG4gIC5kcm9wdXAgJjo6YWZ0ZXIsXHJcbiAgLmRyb3ByaWdodCAmOjphZnRlciB7XHJcbiAgICBtYXJnaW4tbGVmdDogLjVlbTtcclxuICB9XHJcblxyXG4gIC5kcm9wbGVmdCAmOjpiZWZvcmUge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAuNWVtO1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgcnRsLW9ubHkge1xyXG4gIC5kcm9wZG93bi10b2dnbGU6OmFmdGVyLFxyXG4gIC5kcm9wdXAgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAuNWVtO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgfVxyXG5cclxuICAuZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YmVmb3JlLFxyXG4gIC5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcclxuICAgIC5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTo6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNWVtO1xyXG5cclxuICAgICAgQGluY2x1ZGUgY2FyZXQtcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IC41ZW07XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG5cclxuICAgICAgQGluY2x1ZGUgY2FyZXQtbGVmdDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyIHtcclxuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTmVzdGVkIGRyb3Bkb3duc1xyXG5cclxuLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLXRvZ2dsZSA+IC5kcm9wZG93bi1pdGVtIHtcclxuIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IChtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkgLSAxKSkge1xyXG4gIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1tZW51IHtcclxuICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmctbGVmdDogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3JkZXItd2lkdGg6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuXHJcbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkpIHtcclxuICAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24tdG9nZ2xlID4gLmRyb3Bkb3duLWl0ZW06OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHJpZ2h0OiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXggLyAyO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogLjM3NXJlbTtcclxuICAgIGhlaWdodDogLjM3NXJlbTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICR0ZXh0LW11dGVkO1xyXG4gICAgYm9yZGVyLXRvcDogMDtcclxuICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoMCwgLTUwJSk7XHJcblxyXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgIGxlZnQ6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAvIDI7XHJcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoMCwgLTUwJSkgc2NhbGVYKC0xKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi10b2dnbGU6aG92ZXIgPiAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbGluay1ob3Zlci1iZztcclxuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcclxuXHJcbiAgICAgKyAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5kcm9wZG93bi1tZW51LXJpZ2h0IC5kcm9wZG93bi1tZW51IHtcclxuICAgIHJpZ2h0OiAxMDAlO1xyXG4gICAgbGVmdDogYXV0bztcclxuICB9XHJcbn1cclxuIiwiLy8gTmF2XHJcbi8vXHJcblxyXG5AaW5jbHVkZSBydGwtb25seSB7XHJcbiAgLm5hdiB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLm5hdi1saW5rIHtcclxuICBsaW5lLWhlaWdodDogJG5hdi1saW5rLWxpbmUtaGVpZ2h0O1xyXG5cclxuICAmLmRpc2FibGVkIHtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBUYWIgYW5kIHBpbGxzIGxpbmtcclxuLm5hdi10YWJzLFxyXG4ubmF2LXBpbGxzIHtcclxuICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICAgIC5uYXYtbGluayB7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xyXG4gICAgICBmb250LXNpemU6ICRpbnB1dC1idG4tZm9udC1zaXplO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm5hdi1saW5rOm5vdCguYWN0aXZlKSB7XHJcbiAgICBjb2xvcjogJG5hdi1saW5rLWNvbG9yO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6bm90KC5uYXYtZmlsbCk6bm90KC5uYXYtanVzdGlmaWVkKSAubmF2LWxpbmsge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkbmF2LXNwYWNlcjtcclxuXHJcbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbmF2LXNwYWNlcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5uYXYtbGluayAuYmFkZ2Uge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAtMXB4O1xyXG4gIH1cclxuXHJcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rOm5vdCguYWN0aXZlKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB9XHJcbn1cclxuXHJcbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xyXG4gIC5uYXYtdGFicyB7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgfVxyXG5cclxuICAubmF2LXRhYnMgLm5hdi1pdGVtIHtcclxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLm5hdi10YWJzIC5uYXYtbGluayB7XHJcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAwIDJweDtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgfVxyXG5cclxuICAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSxcclxuICAubmF2LXRhYnMgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDJweDtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjNzIGVhc2Utb3V0O1xyXG4gIH1cclxufVxyXG5cclxuLy8gVGFiIGxpbmtcclxuLm5hdi10YWJzIC5uYXYtbGluayB7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuXHJcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG5cclxuICAmLmFjdGl2ZSB7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQWx0ZXJuYXRpdmUgdGFic1xyXG5cclxuLm5hdi10YWJzLnRhYnMtYWx0IC5uYXYtbGluayxcclxuLnRhYnMtYWx0ID4gLm5hdi10YWJzIC5uYXYtbGluayB7XHJcbiAgYm9yZGVyLXdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBMaWdodCBuYXZzIChtYXRlcmlhbCBvbmx5KVxyXG5cclxuQGlmICRtYXRlcmlhbC1zdHlsZSB7XHJcbiAgJG1hdGVyaWFsLWxpZ2h0LW5hdi1saW5rLWNvbG9yOiBudWxsICFkZWZhdWx0O1xyXG4gICRtYXRlcmlhbC1saWdodC1uYXYtbGluay1kaXNhYmxlZC1jb2xvcjogbnVsbCAhZGVmYXVsdDtcclxuICAkbWF0ZXJpYWwtbGlnaHQtbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6IG51bGwgIWRlZmF1bHQ7XHJcbiAgJG1hdGVyaWFsLWxpZ2h0LW5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogbnVsbCAhZGVmYXVsdDtcclxuXHJcbiAgLm5hdi10YWJzLm1kLXRhYnMtbGlnaHQsXHJcbiAgLm1kLXRhYnMtbGlnaHQgPiAubmF2LXRhYnMsXHJcbiAgLm1kLXRhYnMtbGlnaHQgPiBkaXYgPiAubmF2LXRhYnMsXHJcbiAgLm5hdi1waWxscy5tZC1waWxscy1saWdodCxcclxuICAubWQtcGlsbHMtbGlnaHQgPiAubmF2LXBpbGxzLFxyXG4gIC5tZC1waWxscy1saWdodCA+IGRpdiA+IC5uYXYtcGlsbHMge1xyXG4gICAgLm5hdi1saW5rIHtcclxuICAgICAgY29sb3I6ICRtYXRlcmlhbC1saWdodC1uYXYtbGluay1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAubmF2LWxpbms6aG92ZXIsXHJcbiAgICAubmF2LWxpbms6Zm9jdXMsXHJcbiAgICAubmF2LWxpbmsuZm9jdXMsXHJcbiAgICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xyXG4gICAgICBjb2xvcjogJG1hdGVyaWFsLWxpZ2h0LW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXYtbGluay5kaXNhYmxlZCB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICRtYXRlcmlhbC1saWdodC1uYXYtbGluay1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm5hdi10YWJzLm1kLXRhYnMtbGlnaHQsXHJcbiAgLm1kLXRhYnMtbGlnaHQgPiAubmF2LXRhYnMsXHJcbiAgLm1kLXRhYnMtbGlnaHQgPiBkaXYgPiAubmF2LXRhYnMge1xyXG4gICAgLm5hdi1saW5rIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRtYXRlcmlhbC1saWdodC1uYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvciwgJG1hdGVyaWFsLWxpZ2h0LW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yKSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiAkbWF0ZXJpYWwtbGlnaHQtbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5tYXRlcmlhbC1zdHlsZSAubmF2LXBpbGxzLm1kLXBpbGxzLWxpZ2h0LFxyXG4gIC5tYXRlcmlhbC1zdHlsZSAubWQtcGlsbHMtbGlnaHQgPiAubmF2LXBpbGxzLFxyXG4gIC5tYXRlcmlhbC1zdHlsZSAubWQtcGlsbHMtbGlnaHQgPiBkaXYgPiAubmF2LXBpbGxzIHtcclxuICAgIC5uYXYtbGluay5hY3RpdmUge1xyXG4gICAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJG1hdGVyaWFsLWxpZ2h0LW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xyXG4gICAgICAgIGNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBTaXppbmdcclxuXHJcbi5uYXYtbGcge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbmF2LXNpemUoJG5hdi1saW5rLXBhZGRpbmcteS1sZywgJG5hdi1saW5rLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJG5hdi1saW5rLWxpbmUtaGVpZ2h0LWxnKTtcclxufVxyXG4ubmF2LXNtIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW5hdi1zaXplKCRuYXYtbGluay1wYWRkaW5nLXktc20sICRuYXYtbGluay1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRuYXYtbGluay1saW5lLWhlaWdodC1zbSk7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBUYWJiZWQgcGFuZWxzXHJcblxyXG4ubmF2LXRhYnMtdG9wLFxyXG4ubmF2LXRhYnMtcmlnaHQsXHJcbi5uYXYtdGFicy1ib3R0b20sXHJcbi5uYXYtdGFicy1sZWZ0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgPiAubmF2LFxyXG4gICA+IGRpdiA+IC5uYXYge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIGJvcmRlcjogMDtcclxuICB9XHJcblxyXG4gICA+IC5uYXYgLm5hdi1saW5rLFxyXG4gICA+IGRpdiA+IC5uYXYgLm5hdi1saW5rIHtcclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubmF2LXRhYnMtcmlnaHQsXHJcbi5uYXYtdGFicy1sZWZ0IHtcclxuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuXHJcbiAgID4gLm5hdixcclxuICAgPiBkaXYgPiAubmF2IHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4LWdyb3c6IDA7XHJcbiAgfVxyXG5cclxuICAgPiAubmF2IC5uYXYtbGluayxcclxuICAgPiBkaXYgPiAubmF2IC5uYXYtbGluayB7XHJcbiAgICBtYXJnaW46IDAgMCAkbmF2LXNwYWNlciAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAgPiAudGFiLWNvbnRlbnQge1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLy8gVG9wIHRhYnNcclxuLm5hdi10YWJzLXRvcCB7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgID4gLm5hdiAubmF2LWxpbmssXHJcbiAgID4gZGl2ID4gLm5hdiAubmF2LWxpbmsge1xyXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIFJpZ2h0IHRhYnNcclxuLm5hdi10YWJzLXJpZ2h0IHtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcblxyXG4gICA+IC5uYXYgLm5hdi1pdGVtLFxyXG4gICA+IGRpdiA+IC5uYXYgLm5hdi1pdGVtIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcclxuXHJcbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgID4gLm5hdiAubmF2LWxpbmssXHJcbiAgID4gZGl2ID4gLm5hdiAubmF2LWxpbmsge1xyXG4gICAgQGlmICRtYXRlcmlhbC1zdHlsZSAhPSB0cnVlIHtcclxuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwICRib3JkZXItcmFkaXVzICRib3JkZXItcmFkaXVzIDApO1xyXG5cclxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzIDAgMCAkYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xyXG5cclxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcclxuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gQm90dG9tIHRhYnNcclxuLm5hdi10YWJzLWJvdHRvbSB7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG5cclxuICAgPiAubmF2IC5uYXYtaXRlbSxcclxuICAgPiBkaXYgPiAubmF2IC5uYXYtaXRlbSB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcblxyXG4gICA+IC5uYXYgLm5hdi1saW5rLFxyXG4gICA+IGRpdiA+IC5uYXYgLm5hdi1saW5rIHtcclxuICAgIEBpZiAkbWF0ZXJpYWwtc3R5bGUgIT0gdHJ1ZSB7XHJcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRib3JkZXItcmFkaXVzICRib3JkZXItcmFkaXVzKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG5cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTGVmdCB0YWJzXHJcbi5uYXYtdGFicy1sZWZ0IHtcclxuICAgPiAubmF2IC5uYXYtaXRlbSxcclxuICAgPiBkaXYgPiAubmF2IC5uYXYtaXRlbSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAgPiAubmF2IC5uYXYtbGluayxcclxuICAgPiBkaXYgPiAubmF2IC5uYXYtbGluayB7XHJcbiAgICAgQGlmICRtYXRlcmlhbC1zdHlsZSAhPSB0cnVlIHtcclxuICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMgMCAwICRib3JkZXItcmFkaXVzKTtcclxuXHJcbiAgICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGJvcmRlci1yYWRpdXMgJGJvcmRlci1yYWRpdXMgMCk7XHJcbiAgICAgICB9XHJcbiAgICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcclxuXHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIFRhYiBjb250ZW50XHJcblxyXG4ubmF2LXRhYnMtdG9wID4gLnRhYi1jb250ZW50LFxyXG4ubmF2LXRhYnMtcmlnaHQgPiAudGFiLWNvbnRlbnQsXHJcbi5uYXYtdGFicy1ib3R0b20gPiAudGFiLWNvbnRlbnQsXHJcbi5uYXYtdGFicy1sZWZ0ID4gLnRhYi1jb250ZW50IHtcclxuICBmbGV4LXNocmluazogMTtcclxuICBib3JkZXI6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG4gIGJhY2tncm91bmQ6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcclxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG4gIGJveC1zaGFkb3c6ICRjYXJkLXNoYWRvdztcclxufVxyXG5cclxuLm5hdi10YWJzLXRvcCA+IC50YWItY29udGVudCB7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGJvcmRlci1yYWRpdXMgJGJvcmRlci1yYWRpdXMpO1xyXG59XHJcblxyXG4ubmF2LXRhYnMtcmlnaHQgPiAudGFiLWNvbnRlbnQge1xyXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMgMCAwICRib3JkZXItcmFkaXVzKTtcclxuICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwICRib3JkZXItcmFkaXVzICRib3JkZXItcmFkaXVzIDApO1xyXG4gIH1cclxufVxyXG5cclxuLm5hdi10YWJzLWJvdHRvbSA+IC50YWItY29udGVudCB7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cyAwIDApO1xyXG59XHJcblxyXG4ubmF2LXRhYnMtbGVmdCA+IC50YWItY29udGVudCB7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwICRib3JkZXItcmFkaXVzICRib3JkZXItcmFkaXVzIDApO1xyXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzIDAgMCAkYm9yZGVyLXJhZGl1cyk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogUmVzcG9uc2l2ZSBuYXZcclxuXHJcbkBpbmNsdWRlIHJlc3BvbnNpdmUtbG9vcC1iZWZvcmUoJy5uYXYtcmVzcG9uc2l2ZScpIHtcclxuICAgPiAubmF2LFxyXG4gICA+IGRpdiA+IC5uYXYge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGJvcmRlcjogMDtcclxuXHJcbiAgICAubmF2LWl0ZW0ge1xyXG4gICAgICBmbGV4LWJhc2lzOiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgICYuY2FyZC1oZWFkZXItdGFicyxcclxuICAgICYuY2FyZC1oZWFkZXItcGlsbHMge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAtMSAqICRuYXYtc3BhY2VyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgID4gLm5hdi10YWJzLFxyXG4gICA+IC5uYXYtcGlsbHMsXHJcbiAgID4gZGl2ID4gLm5hdi10YWJzLFxyXG4gICA+IGRpdiA+IC5uYXYtcGlsbHMge1xyXG4gICAgLm5hdi1pdGVtIHtcclxuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdi1saW5rIHtcclxuICAgICAgbWFyZ2luOiAwIDAgJG5hdi1zcGFjZXIgMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgID4gLm5hdi10YWJzOm5vdCgudGFicy1hbHQpLFxyXG4gICA+IGRpdiA+IC5uYXYtdGFiczpub3QoLnRhYnMtYWx0KSB7XHJcbiAgICAubmF2LWxpbmsge1xyXG4gICAgICBAaWYgJG1hdGVyaWFsLXN0eWxlICE9IHRydWUge1xyXG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudCk7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLm5hdi10YWJzLXRvcCA+IC50YWItY29udGVudCxcclxuICAmLm5hdi10YWJzLXJpZ2h0ID4gLnRhYi1jb250ZW50LFxyXG4gICYubmF2LXRhYnMtYm90dG9tID4gLnRhYi1jb250ZW50LFxyXG4gICYubmF2LXRhYnMtbGVmdCA+IC50YWItY29udGVudCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgJi5uYXYtdGFicy1ib3R0b20sXHJcbiAgJi5uYXYtdGFicy1yaWdodCxcclxuICAmLm5hdi10YWJzLWxlZnQge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iLCIvLyBQYWdpbmF0aW9uXHJcbi8vXHJcblxyXG5AaW5jbHVkZSBydGwtb25seSB7XHJcbiAgLnBhZ2luYXRpb24ge1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vIEFkZCBzcGFjaW5nIGJldHdlZW4gcGFnaW5hdGlvbiBpdGVtc1xyXG4ucGFnZS1pdGVtICsgLnBhZ2UtaXRlbSAucGFnZS1saW5rLFxyXG4ucGFnaW5hdGlvbiBsaSArIGxpID4gYTpub3QoLnBhZ2UtbGluaykge1xyXG4gIG1hcmdpbi1sZWZ0OiAkcGFnaW5hdGlvbi1zcGFjZXI7XHJcblxyXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRwYWdpbmF0aW9uLXNwYWNlcjtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLnBhZ2UtbGluayxcclxuLnBhZ2UtbGluayA+IGEge1xyXG4gIG1pbi13aWR0aDogY2FsYygje1wiI3soJGZvbnQtc2l6ZS1iYXNlICogJHBhZ2luYXRpb24tbGluZS1oZWlnaHQpICsgKCRwYWdpbmF0aW9uLXBhZGRpbmcteSAqIDIpfSArICN7JHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoICogMn1cIn0pO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBsaW5lLWhlaWdodDogJHBhZ2luYXRpb24tbGluZS1oZWlnaHQgIWltcG9ydGFudDtcclxuXHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XHJcblxyXG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzIHtcclxuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi5wYWdlLWxpbmsuYnRuLXByaW1hcnkge1xyXG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE1ha2UgQm9vdHN0cmFwIDMgcGFnaW5hdGlvbiBjb21wYXRpYmxlIHdpdGggQm9vdHN0cmFwIDRcclxuXHJcbi5wYWdpbmF0aW9uID4gbGkgPiBhOm5vdCgucGFnZS1saW5rKSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLXBhZGRpbmcteSAkcGFnaW5hdGlvbi1wYWRkaW5nLXg7XHJcbiAgbWluLXdpZHRoOiBjYWxjKCN7XCIjeygkZm9udC1zaXplLWJhc2UgKiAkcGFnaW5hdGlvbi1saW5lLWhlaWdodCkgKyAoJHBhZ2luYXRpb24tcGFkZGluZy15ICogMil9ICsgI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggKiAyfVwifSk7XHJcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWJnO1xyXG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1jb2xvcjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbGluZS1oZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0ICFpbXBvcnRhbnQ7XHJcblxyXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xyXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XHJcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taG92ZXItY29sb3I7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG5cclxuICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xyXG4gIH1cclxuXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taG92ZXItY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTWF0ZXJpYWwgcmlwcGxlXHJcblxyXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICAucGFnZS1saW5rIC53YXZlcy1yaXBwbGUsXHJcbiAgLnBhZ2luYXRpb24gPiBsaSAud2F2ZXMtcmlwcGxlIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjEpICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAucGFnZS1saW5rLndhdmVzLWVmZmVjdCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmsgLndhdmVzLXJpcHBsZSxcclxuICAucGFnZS1pdGVtLmRpc2FibGVkIC5wYWdlLWxpbmsgLndhdmVzLXJpcHBsZSxcclxuICAucGFnaW5hdGlvbiA+IGxpLmFjdGl2ZSAud2F2ZXMtcmlwcGxlLFxyXG4gIC5wYWdpbmF0aW9uID4gbGkuZGlzYWJsZWQgLndhdmVzLXJpcHBsZSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogU2l6aW5nXHJcblxyXG4ucGFnaW5hdGlvbi1sZyAucGFnZS1saW5rLFxyXG4ucGFnaW5hdGlvbi1sZyA+IGxpID4gYTpub3QoLnBhZ2UtbGluaykge1xyXG4gIG1pbi13aWR0aDogY2FsYygje1wiI3soJGZvbnQtc2l6ZS1sZyAqICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0KSArICgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcgKiAyKX0gKyAjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aCAqIDJ9XCJ9KTtcclxuXHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWxpbmssXHJcbi5wYWdpbmF0aW9uLXNtID4gbGkgPiBhOm5vdCgucGFnZS1saW5rKSB7XHJcbiAgbWluLXdpZHRoOiBjYWxjKCN7XCIjeygkZm9udC1zaXplLXNtICogJHBhZ2luYXRpb24tbGluZS1oZWlnaHQpICsgKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSAqIDIpfSArICN7JHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoICogMn1cIn0pO1xyXG5cclxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtKTtcclxufVxyXG4iLCIvLyBBbGVydHNcclxuLy9cclxuXHJcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xyXG4gIEBpZiAkY29sb3IgIT0gcHJpbWFyeSBhbmQgJGNvbG9yICE9IGxpZ2h0IHtcclxuICAgIEBpbmNsdWRlIGFwcHdvcmstYWxlcnQtdmFyaWFudCgnLmFsZXJ0LSN7JGNvbG9yfScsICR2YWx1ZSk7XHJcbiAgICBAaW5jbHVkZSBhcHB3b3JrLWFsZXJ0LWRhcmstdmFyaWFudCgnLmFsZXJ0LWRhcmstI3skY29sb3J9JywgJHZhbHVlKTtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBSVExcclxuXHJcbkBpbmNsdWRlIHJ0bC1vbmx5IHtcclxuICAuYWxlcnQtZGlzbWlzc2libGUge1xyXG4gICAgcGFkZGluZy1yaWdodDogJGFsZXJ0LXBhZGRpbmcteDtcclxuICAgIHBhZGRpbmctbGVmdDogKCRjbG9zZS1mb250LXNpemUgKyAkYWxlcnQtcGFkZGluZy14ICogMik7XHJcbiAgfVxyXG5cclxuICAuYWxlcnQtZGlzbWlzc2libGUgLmNsb3NlIHtcclxuICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgbGVmdDogMDtcclxuICB9XHJcbn1cclxuIiwiLy8gVG9vbHRpcHNcclxuLy9cclxuXHJcbi50b29sdGlwLWlubmVyIHtcclxuICBib3gtc2hhZG93OiAkdG9vbHRpcC1ib3gtc2hhZG93O1xyXG59XHJcblxyXG4ubW9kYWwtb3BlbiAudG9vbHRpcCB7XHJcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC10b3AgKyAyO1xyXG59XHJcblxyXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcclxuICBAaWYgJGNvbG9yICE9IHByaW1hcnkgYW5kICRjb2xvciAhPSBsaWdodCB7XHJcbiAgICBAaW5jbHVkZSBhcHB3b3JrLXRvb2x0aXAtdmFyaWFudCgnLnRvb2x0aXAtI3skY29sb3J9LCAudG9vbHRpcC0jeyRjb2xvcn0gPiAudG9vbHRpcCwgLm5nYi10b29sdGlwLSN7JGNvbG9yfSArIG5nYi10b29sdGlwLXdpbmRvdycsIHJnYmEtdG8taGV4KCR2YWx1ZSkpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE1hdGVyaWFsXHJcblxyXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICAudG9vbHRpcCB7XHJcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAudG9vbHRpcC5icy10b29sdGlwLXRvcCxcclxuICAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XHJcbiAgICBhbmltYXRpb246IHRvcFRvb2x0aXBBbmltYXRpb24gLjI1cztcclxuICB9XHJcblxyXG4gIC50b29sdGlwLmJzLXRvb2x0aXAtcmlnaHQsXHJcbiAgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XHJcbiAgICBhbmltYXRpb246IHJpZ2h0VG9vbHRpcEFuaW1hdGlvbiAuMjVzO1xyXG4gIH1cclxuXHJcbiAgLnRvb2x0aXAuYnMtdG9vbHRpcC1ib3R0b20sXHJcbiAgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xyXG4gICAgYW5pbWF0aW9uOiBib3R0b21Ub29sdGlwQW5pbWF0aW9uIC4yNXM7XHJcbiAgfVxyXG5cclxuICAudG9vbHRpcC5icy10b29sdGlwLWxlZnQsXHJcbiAgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcclxuICAgIGFuaW1hdGlvbjogbGVmdFRvb2x0aXBBbmltYXRpb24gLjI1cztcclxuICB9XHJcbn1cclxuIiwiLy8gUG9wb3ZlcnNcclxuLy9cclxuXHJcbi5wb3BvdmVyIHtcclxuICBib3gtc2hhZG93OiAkcG9wb3Zlci1ib3gtc2hhZG93O1xyXG5cclxuICAuYXJyb3cge1xyXG4gICAgei1pbmRleDogMTtcclxuICB9XHJcbn1cclxuXHJcbi5tb2RhbC1vcGVuIC5wb3BvdmVyIHtcclxuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLXRvcCArIDE7XHJcbn1cclxuXHJcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xyXG4gIEBpZiAkY29sb3IgIT0gcHJpbWFyeSBhbmQgJGNvbG9yICE9IGxpZ2h0IHtcclxuICAgIEBpbmNsdWRlIGFwcHdvcmstcG9wb3Zlci12YXJpYW50KCcucG9wb3Zlci0jeyRjb2xvcn0sIC5wb3BvdmVyLSN7JGNvbG9yfSA+IC5wb3BvdmVyLCAubmdiLXBvcG92ZXItI3skY29sb3J9ICsgbmdiLXBvcG92ZXItd2luZG93JywgcmdiYS10by1oZXgoJHZhbHVlKSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTWF0ZXJpYWxcclxuXHJcbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xyXG4gIC5wb3BvdmVyIHtcclxuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5wb3BvdmVyLWhlYWRlciB7XHJcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XHJcbiAgfVxyXG5cclxuICAuYnMtcG9wb3Zlci10b3AsXHJcbiAgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xyXG4gICAgYW5pbWF0aW9uOiB0b3BUb29sdGlwQW5pbWF0aW9uIC4yNXM7XHJcbiAgfVxyXG5cclxuICAuYnMtcG9wb3Zlci1yaWdodCxcclxuICAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcclxuICAgIGFuaW1hdGlvbjogcmlnaHRUb29sdGlwQW5pbWF0aW9uIC4yNXM7XHJcbiAgfVxyXG5cclxuICAuYnMtcG9wb3Zlci1ib3R0b20sXHJcbiAgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xyXG4gICAgYW5pbWF0aW9uOiBib3R0b21Ub29sdGlwQW5pbWF0aW9uIC4yNXM7XHJcbiAgfVxyXG5cclxuICAuYnMtcG9wb3Zlci1sZWZ0LFxyXG4gIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XHJcbiAgICBhbmltYXRpb246IGxlZnRUb29sdGlwQW5pbWF0aW9uIC4yNXM7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvcm1zXHJcbi8vXHJcblxyXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICAuZm9ybS1jb250cm9sIHtcclxuICAgICRtYXRlcmlhbC1pbnB1dC1kaXNhYmxlZC1jb2xvcjogbnVsbCAhZGVmYXVsdDtcclxuICAgICRtYXRlcmlhbC1pbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3I6IG51bGwgIWRlZmF1bHQ7XHJcblxyXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG5cclxuICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRtYXRlcmlhbC1pbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICRtYXRlcmlhbC1pbnB1dC1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgOm5vdCguaW5wdXQtZ3JvdXApID4gLmZvcm0tY29udHJvbDpub3QoW2NsYXNzKj0ncHgtJ10pOm5vdChbY2xhc3MqPSdwbC0nXSkge1xyXG4gICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIDpub3QoLmlucHV0LWdyb3VwKSA+IC5mb3JtLWNvbnRyb2w6bm90KFtjbGFzcyo9J3B4LSddKTpub3QoW2NsYXNzKj0ncHItJ10pIHtcclxuICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogU2l6aW5nXHJcblxyXG4uZm9ybS1jb250cm9sIHtcclxuICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xyXG59XHJcblxyXG4uZm9ybS1jb250cm9sLXNtLFxyXG4uaW5wdXQtZ3JvdXAtc20gLmZvcm0tY29udHJvbCB7XHJcbiAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcclxufVxyXG5cclxuLmZvcm0tY29udHJvbC1sZyxcclxuLmlucHV0LWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wge1xyXG4gIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XHJcbn1cclxuXHJcbnNlbGVjdC5mb3JtLWNvbnRyb2xbc2l6ZT1cIjBcIl06bm90KFttdWx0aXBsZV0pIHtcclxuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XHJcbn1cclxuXHJcbnNlbGVjdC5mb3JtLWNvbnRyb2wtc21bc2l6ZT1cIjBcIl06bm90KFttdWx0aXBsZV0pIHtcclxuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XHJcbn1cclxuXHJcbnNlbGVjdC5mb3JtLWNvbnRyb2wtbGdbc2l6ZT1cIjBcIl06bm90KFttdWx0aXBsZV0pIHtcclxuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XHJcbn1cclxuXHJcbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtZm9ybS1jb250cm9sLXNpemUoJycsICRpbnB1dC1saW5lLWhlaWdodCwgJGlucHV0LWJ0bi1wYWRkaW5nLXkpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtZm9ybS1jb250cm9sLXNpemUoJ3NtJywgJGlucHV0LWxpbmUtaGVpZ2h0LXNtLCAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSwgJGlucHV0LWJ0bi1mb250LXNpemUtc20pO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtZm9ybS1jb250cm9sLXNpemUoJ2xnJywgJGlucHV0LWxpbmUtaGVpZ2h0LWxnLCAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZywgJGlucHV0LWJ0bi1mb250LXNpemUtbGcpO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogVGV4dFxyXG5cclxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xyXG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcclxuXHJcbiAgLmZvcm0taW5saW5lICYge1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogSW52ZXJ0ZWRcclxuXHJcbi5mb3JtLWNvbnRyb2wtaW52ZXJ0ZWQge1xyXG4gIGJvcmRlci1jb2xvcjogJGlucHV0LWludmVydGVkLWJvcmRlci1jb2xvcjtcclxuXHJcbiAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWludmVydGVkLWJnO1xyXG4gICAgY29sb3I6ICRpbnB1dC1pbnZlcnRlZC1jb2xvcjtcclxuICB9XHJcblxyXG4gICY6OnBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiAkaW5wdXQtaW52ZXJ0ZWQtcGxhY2Vob2xkZXItY29sb3I7XHJcbiAgfVxyXG5cclxuICAmOmRpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1iZyAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRpbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xyXG5cclxuICAgIEBpZiAkbWF0ZXJpYWwtc3R5bGUgIT0gdHJ1ZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWludmVydGVkLWRpc2FibGVkLWJnICFpbXBvcnRhbnQ7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJG1hdGVyaWFsLWlucHV0LWludmVydGVkLWRpc2FibGVkLWJvcmRlci1jb2xvcjogbnVsbCAhZGVmYXVsdDtcclxuXHJcbiAgICAgIGJvcmRlci1jb2xvcjogJG1hdGVyaWFsLWlucHV0LWludmVydGVkLWRpc2FibGVkLWJvcmRlci1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3B0aW9uIHtcclxuICAgIGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIExhYmVsc1xyXG5cclxuLmZvcm0tbGFiZWwsXHJcbi5jb2wtZm9ybS1sYWJlbCxcclxuLmNvbC1mb3JtLWxlZ2VuZCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogaWYoJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIT0gMHB4LCBjYWxjKCN7JGlucHV0LWJ0bi1wYWRkaW5nLXl9IC0gI3skaW5wdXQtYnRuLWJvcmRlci13aWR0aCAqIDJ9KSwgJGlucHV0LWJ0bi1wYWRkaW5nLXkpO1xyXG4gIGZvbnQtd2VpZ2h0OiAkbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xyXG59XHJcblxyXG4uY29sLWZvcm0tbGFiZWwsXHJcbi5jb2wtZm9ybS1sZWdlbmQge1xyXG4gIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0O1xyXG59XHJcblxyXG4uZm9ybS1sYWJlbC1zbSxcclxuLmNvbC1mb3JtLWxhYmVsLXNtLFxyXG4uY29sLWZvcm0tbGVnZW5kLXNtIHtcclxuICBmb250LXNpemU6ICRmb250LXNpemUtc20gIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTtcclxufVxyXG5cclxuLmZvcm0tbGFiZWwtbGcsXHJcbi5jb2wtZm9ybS1sYWJlbC1sZyxcclxuLmNvbC1mb3JtLWxlZ2VuZC1sZyB7XHJcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnICFpbXBvcnRhbnQ7XHJcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc7XHJcbn1cclxuXHJcbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xyXG4gIC5mb3JtLWxhYmVsLFxyXG4gIC5jb2wtZm9ybS1sYWJlbCxcclxuICAuY29sLWZvcm0tbGVnZW5kLFxyXG4gIC5mb3JtLWxhYmVsLXNtLFxyXG4gIC5jb2wtZm9ybS1sYWJlbC1zbSxcclxuICAuY29sLWZvcm0tbGVnZW5kLXNtLFxyXG4gIC5jb2wtZm9ybS1sYWJlbC1sZyxcclxuICAuY29sLWZvcm0tbGVnZW5kLWxnLFxyXG4gIC5mb3JtLWxhYmVsLWxnIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQ2hlY2tib3hlcyBhbmQgcmFkaW9zXHJcblxyXG4uZm9ybS1jaGVjayB7XHJcbiAgbWluLWhlaWdodDogJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcblxyXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBydGwtb25seSB7XHJcbiAgLmZvcm0tY2hlY2staW5wdXQge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgfVxyXG5cclxuICAuZm9ybS1jaGVjay1pbmxpbmUge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgfVxyXG5cclxuICAuZm9ybS1jaGVjay1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBWYWxpZGF0aW9uIHN0YXRlc1xyXG5cclxuQGlmICRtYXRlcmlhbC1zdHlsZSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1mb3JtLXZhbGlkYXRpb24tc3RhdGUoXCJ2YWxpZFwiLCAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1mb3JtLXZhbGlkYXRpb24tc3RhdGUoXCJpbnZhbGlkXCIsICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IpO1xyXG59IEBlbHNlIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWZvcm0tdmFsaWRhdGlvbi1zdGF0ZShcInZhbGlkXCIsICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWZvcm0tdmFsaWRhdGlvbi1zdGF0ZShcImludmFsaWRcIiwgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcik7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBJbmxpbmUgZm9ybXNcclxuXHJcbi5mb3JtLWlubGluZSAuY3VzdG9tLWNvbnRyb2wge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgQGluY2x1ZGUgcnRsLW9ubHkge1xyXG4gICAgLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIH1cclxuXHJcbiAgICAuZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDtcclxuICAgIH1cclxuICB9XHJcbiAgLmZvcm0taW5saW5lIC5jdXN0b20tY29udHJvbCxcclxuICAuZm9ybS1pbmxpbmUgLmN1c3RvbS1zZWxlY3QsXHJcbiAgLmZvcm0taW5saW5lIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLmZvcm0taW5saW5lIC5mb3JtLXRleHQge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICB9XHJcblxyXG4gIC5mb3JtLWlubGluZSAuZm9ybS1sYWJlbCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEN1c3RvbSBmb3Jtc1xyXG4vL1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEN1c3RvbSBjb250cm9sXHJcblxyXG4uY3VzdG9tLWNvbnRyb2wge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtaW4taGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XHJcblxyXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcclxuICBwb3NpdGlvbjogc3RhdGljO1xyXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAmOjpiZWZvcmUsXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gSW5kaWNhdG9yXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIHRvcDogcHgtdG8tcmVtKGZsb29yKHJlbS10by1weCgoKCgkbGluZS1oZWlnaHQtYmFzZSAqICRmb250LXNpemUtYmFzZSkgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMikpKSk7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYm9yZGVyOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XHJcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuXHJcbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRtYXRlcmlhbC1zdHlsZSB7XHJcbiAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE1hdGVyaWFsIHNoYWRvd1xyXG4gICY6OmFmdGVyIHtcclxuICAgIEBpZiAkbWF0ZXJpYWwtc3R5bGUgIT0gdHJ1ZSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiBweC10by1yZW0oZmxvb3IocmVtLXRvLXB4KCgoKCRsaW5lLWhlaWdodC1iYXNlICogJGZvbnQtc2l6ZS1iYXNlKSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyKSkpKTtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgei1pbmRleDogMTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XHJcbiAgICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAuMDgpO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlWigwKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIENoZWNrYm94IGluZGljYXRvclxyXG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICBiYWNrZ3JvdW5kLXNpemU6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLXNpemU7XHJcbn1cclxuXHJcbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGU6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICBiYWNrZ3JvdW5kLXNpemU6ICRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1iZy1zaXplO1xyXG59XHJcblxyXG4vLyBSYWRpbyBpbmRpY2F0b3JcclxuLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgYmFja2dyb3VuZC1zaXplOiAkY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZy1zaXplO1xyXG59XHJcblxyXG4vLyBJbmRpY2F0b3Igc3RhdGVzXHJcbi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6YWN0aXZlIH4gJiB7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gIH1cclxuXHJcbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmFjdGl2ZTpub3QoOmNoZWNrZWQpIH4gJiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xyXG4gIH1cclxuXHJcbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIH4gJixcclxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmN1c3RvbS1jb250cm9sLWlucHV0IH4gJiB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDppbmRldGVybWluYXRlIH4gJixcclxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAmIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmcsICdfQ09MT1JfJywgJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZCB+ICYsXHJcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gJiB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZCB+ICYsXHJcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gJiB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWF0ZXJpYWwgc3RhdGVzXHJcbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xyXG4gIC8vIFNoYWRvd1xyXG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xyXG4gICAgLmN1c3RvbS1jb250cm9sLWlucHV0OmZvY3VzIH4gJiB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMi4yNSkgdHJhbnNsYXRlWigwKTtcclxuICAgIH1cclxuXHJcbiAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6YWN0aXZlIH4gJiB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlWigwKTtcclxuICAgIH1cclxuXHJcbiAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQgfiAmLFxyXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdIC5jdXN0b20tY29udHJvbC1pbnB1dCB+ICYge1xyXG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBIaWRlIHJhZGlvIGJ1bGxldFxyXG4gIC5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0Om5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDA7XHJcbiAgfVxyXG5cclxuICAuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZztcclxuICB9XHJcbn1cclxuXHJcbi5jdXN0b20tY29udHJvbHMtc3RhY2tlZCAuY3VzdG9tLWNvbnRyb2wge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xyXG59XHJcblxyXG5AaW5jbHVkZSBydGwtb25seSB7XHJcbiAgLmN1c3RvbS1jb250cm9sLWlubGluZSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICBtYXJnaW4tbGVmdDogJGN1c3RvbS1jb250cm9sLXNwYWNlci14O1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEN1c3RvbSBzZWxlY3RcclxuXHJcbi5jdXN0b20tc2VsZWN0IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3IgIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG4gIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xyXG5cclxuICAmW3NpemU9XCIwXCJdOm5vdChbbXVsdGlwbGVdKSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcnRsICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgJixcclxuICAgICZbc2l6ZT1cIjBcIl06bm90KFttdWx0aXBsZV0pIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14O1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuXHJcbiAgICAmOmRpc2FibGVkIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkbWF0ZXJpYWwtaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiAkbWF0ZXJpYWwtaW5wdXQtZGlzYWJsZWQtY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEludmVydGVkXHJcbi5jdXN0b20tc2VsZWN0LWludmVydGVkIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItaW52ZXJ0ZWQgIWltcG9ydGFudDtcclxuXHJcbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1pbnZlcnRlZC1ydGwgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gICYsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtaW52ZXJ0ZWQtYmc7XHJcbiAgICBjb2xvcjogJGlucHV0LWludmVydGVkLWNvbG9yO1xyXG5cclxuICAgIEBpZiAkbWF0ZXJpYWwtc3R5bGUgIT0gdHJ1ZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtaW52ZXJ0ZWQtYm9yZGVyLWNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1pbnZlcnRlZC1kaXNhYmxlZC1iZyAhaW1wb3J0YW50O1xyXG5cclxuICAgIEBpZiAkbWF0ZXJpYWwtc3R5bGUgIT0gdHJ1ZSB7XHJcbiAgICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1pbnZlcnRlZC1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJG1hdGVyaWFsLWlucHV0LWludmVydGVkLWRpc2FibGVkLWJvcmRlci1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogJGlucHV0LWludmVydGVkLWRpc2FibGVkLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogJGlucHV0LWludmVydGVkLXBsYWNlaG9sZGVyLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgb3B0aW9uIHtcclxuICAgIGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gU2l6aW5nXHJcbkBpbmNsdWRlIGFwcHdvcmstY3VzdG9tLXNlbGVjdC1zaXplKCdzbScsICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbSwgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtLCAkaW5wdXQtaGVpZ2h0LXNtLCAkZm9udC1zaXplLXNtLCAkbGluZS1oZWlnaHQtc20pO1xyXG5AaW5jbHVkZSBhcHB3b3JrLWN1c3RvbS1zZWxlY3Qtc2l6ZSgnbGcnLCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGcsICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZywgJGlucHV0LWhlaWdodC1sZywgJGZvbnQtc2l6ZS1sZywgJGxpbmUtaGVpZ2h0LWxnKTtcclxuXHJcbi8vIE1hdGVyaWFsIHN0eWxlXHJcbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xyXG4gIEBpbmNsdWRlIGx0ci1vbmx5IHtcclxuICAgIDpub3QoLmlucHV0LWdyb3VwKSA+IC5jdXN0b20tc2VsZWN0Om5vdChbY2xhc3MqPSdweC0nXSk6bm90KFtjbGFzcyo9J3BsLSddKSB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIH1cclxuXHJcbiAgICA6bm90KC5pbnB1dC1ncm91cCkgPiAuY3VzdG9tLXNlbGVjdDpub3QoW2NsYXNzKj0ncHgtJ10pOm5vdChbY2xhc3MqPSdwci0nXSk6bm90KFttdWx0aXBsZV0pIHtcclxuICAgICAgJjpub3QoW3NpemVdKSxcclxuICAgICAgJltzaXplPVwiMFwiXSxcclxuICAgICAgJltzaXplPVwiMVwiXSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGluY2x1ZGUgcnRsLW9ubHkge1xyXG4gICAgOm5vdCguaW5wdXQtZ3JvdXApID4gLmN1c3RvbS1zZWxlY3Q6bm90KFtjbGFzcyo9J3B4LSddKTpub3QoW2NsYXNzKj0ncGwtJ10pIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIH1cclxuXHJcbiAgICA6bm90KC5pbnB1dC1ncm91cCkgPiAuY3VzdG9tLXNlbGVjdDpub3QoW2NsYXNzKj0ncHgtJ10pOm5vdChbY2xhc3MqPSdwci0nXSk6bm90KFttdWx0aXBsZV0pIHtcclxuICAgICAgJjpub3QoW3NpemVdKSxcclxuICAgICAgJltzaXplPVwiMFwiXSxcclxuICAgICAgJltzaXplPVwiMVwiXSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggIWltcG9ydGFudDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNdWx0aXBsZSBzZWxlY3RcclxuLy9cclxuXHJcbi5jdXN0b20tc2VsZWN0W2NsYXNzXVttdWx0aXBsZV0sXHJcbi5jdXN0b20tc2VsZWN0W3NpemVdOm5vdChbc2l6ZT1cIjFcIl0pOm5vdChbc2l6ZT1cIjBcIl0pIHtcclxuICBwYWRkaW5nLXJpZ2h0OiBpZigkbWF0ZXJpYWwtc3R5bGUsIDAsICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCkgIWltcG9ydGFudDtcclxuICBwYWRkaW5nLWxlZnQ6IGlmKCRtYXRlcmlhbC1zdHlsZSwgMCwgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14KSAhaW1wb3J0YW50O1xyXG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmN1c3RvbS1zZWxlY3Qtc20sXHJcbi5pbnB1dC1ncm91cC1zbSAuY3VzdG9tLXNlbGVjdCB7XHJcbiAgJltjbGFzc11bbXVsdGlwbGVdLFxyXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSk6bm90KFtzaXplPVwiMFwiXSkge1xyXG4gICAgcGFkZGluZy1yaWdodDogaWYoJG1hdGVyaWFsLXN0eWxlLCAwLCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc20pICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IGlmKCRtYXRlcmlhbC1zdHlsZSwgMCwgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtKSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLmN1c3RvbS1zZWxlY3QtbGcsXHJcbi5pbnB1dC1ncm91cC1sZyAuY3VzdG9tLXNlbGVjdCB7XHJcbiAgJltjbGFzc11bbXVsdGlwbGVdLFxyXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSk6bm90KFtzaXplPVwiMFwiXSkge1xyXG4gICAgcGFkZGluZy1yaWdodDogaWYoJG1hdGVyaWFsLXN0eWxlLCAwLCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGcpICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IGlmKCRtYXRlcmlhbC1zdHlsZSwgMCwgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnKSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEZpbGUgaW5wdXRcclxuXHJcbi5jdXN0b20tZmlsZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jdXN0b20tZmlsZS1sYWJlbCB7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcclxuXHJcbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIGJvcmRlci1yaWdodDogJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yO1xyXG4gICAgICBib3JkZXItbGVmdDogMDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgMCAwICRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcclxuICB9XHJcblxyXG4gIC5jdXN0b20tZmlsZS1pbnB1dDpkaXNhYmxlZCB+ICYge1xyXG4gICAgYmFja2dyb3VuZDogJGlucHV0LWRpc2FibGVkLWJnO1xyXG5cclxuICAgIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRtYXRlcmlhbC1pbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICRtYXRlcmlhbC1pbnB1dC1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIG9wYWNpdHk6IC42NTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gU3dpdGNoZXJzXHJcbi8vXHJcblxyXG4uc3dpdGNoZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWFyZ2luLXJpZ2h0OiAkc3dpdGNoZXItc3BhY2VyLXg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxuICBib3JkZXItcmFkaXVzOiA2MHJlbTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblxyXG4gIEBpbmNsdWRlIGFwcHdvcmstc3dpdGNoZXItc2l6ZS1iYXNlKCRzd2l0Y2hlci13aWR0aCwgJHN3aXRjaGVyLWhlaWdodCwgJHN3aXRjaGVyLWZvbnQtc2l6ZSwgJHN3aXRjaGVyLWxhYmVsLWZvbnQtc2l6ZSwgJHN3aXRjaGVyLWxhYmVsLWxpbmUtaGVpZ2h0KTtcclxuXHJcbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIG1hcmdpbi1sZWZ0OiAkc3dpdGNoZXItc3BhY2VyLXg7XHJcbiAgfVxyXG5cclxuICAuZm9ybS1pbmxpbmUgJiB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcblxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogSW5wdXRcclxuXHJcbi5zd2l0Y2hlci1pbnB1dCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6IC0xO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBJbmRpY2F0b3JcclxuXHJcbi5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgYm9yZGVyLXJhZGl1czogNjByZW07XHJcbiAgYmFja2dyb3VuZDogJHN3aXRjaGVyLW9mZi1iZztcclxuICBjb2xvcjogJHN3aXRjaGVyLW9mZi1jb2xvcjtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjJzO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsIHJpZ2h0LCBiYWNrZ3JvdW5kLCBib3gtc2hhZG93O1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG5cclxuICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAuMDgpO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZVooMCk7XHJcblxyXG4gICAgICAuc3dpdGNoZXItaW5wdXQ6Zm9jdXMgfiAmIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMi4yNSkgdHJhbnNsYXRlWigwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnN3aXRjaGVyLWlucHV0OmFjdGl2ZSB+ICYge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKSB0cmFuc2xhdGVaKDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuc3dpdGNoZXItaW5wdXQ6ZGlzYWJsZWQgfiAmIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBEZXNjcmlwdGlvblxyXG5cclxuLnN3aXRjaGVyLWxhYmVsIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBhZGRpbmctbGVmdDogJHN3aXRjaGVyLWd1dHRlcjtcclxuICBjb2xvcjogJHN3aXRjaGVyLWxhYmVsLWNvbG9yO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQ2hlY2tlZCAvIFVuY2hlY2tlZCBzdGF0ZXNcclxuXHJcbi5zd2l0Y2hlci1ubyxcclxuLnN3aXRjaGVyLXllcyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IC4ycztcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBsZWZ0LCByaWdodDtcclxuXHJcbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICA+ICoge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5zd2l0Y2hlci1ubyB7XHJcbiAgbGVmdDogMDtcclxuXHJcbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogYXV0bztcclxuICB9XHJcbn1cclxuXHJcbi5zd2l0Y2hlci15ZXMge1xyXG4gIGxlZnQ6IC0xMDAlO1xyXG5cclxuICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgcmlnaHQ6IC0xMDAlO1xyXG4gICAgbGVmdDogYXV0bztcclxuICB9XHJcblxyXG4gIC5zd2l0Y2hlci1pbnB1dDpub3QoOmNoZWNrZWQpIH4gLnN3aXRjaGVyLWluZGljYXRvciAmIHtcclxuICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gQ2hlY2tlZCBzdGF0ZVxyXG4uc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gIC5zd2l0Y2hlci1ubyB7XHJcbiAgICBsZWZ0OiAxMDAlO1xyXG4gICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgcmlnaHQ6IDEwMCU7XHJcbiAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc3dpdGNoZXIteWVzIHtcclxuICAgIGxlZnQ6IDA7XHJcblxyXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogSG9sZGVyXHJcblxyXG4uc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBib3JkZXItcmFkaXVzOiA5OTlweDtcclxuICBiYWNrZ3JvdW5kOiAkc3dpdGNoZXItaG9sZGVyLWJnO1xyXG4gIGJveC1zaGFkb3c6ICRzd2l0Y2hlci1ob2xkZXItc2hhZG93O1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IC4ycztcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBsZWZ0LCByaWdodCwgYmFja2dyb3VuZDtcclxuXHJcbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogYXV0bztcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBEaXNhYmxlZFxyXG5cclxuLnN3aXRjaGVyLWlucHV0OmRpc2FibGVkLFxyXG5maWVsZHNldFtkaXNhYmxlZF0gLnN3aXRjaGVyLWlucHV0IHtcclxuICAgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgIG9wYWNpdHk6IC41O1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50O1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgIH4gLnN3aXRjaGVyLWxhYmVsIHtcclxuICAgIGNvbG9yOiAkc3dpdGNoZXItbGFiZWwtZGlzYWJsZWQtY29sb3IgIWltcG9ydGFudDtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogU3RhY2tlZFxyXG5cclxuLnN3aXRjaGVycy1zdGFja2VkIHtcclxuICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHJcbiAgLnN3aXRjaGVyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaGVyLXNwYWNlci15O1xyXG5cclxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogU3F1YXJlXHJcblxyXG4uc3dpdGNoZXItc3F1YXJlLFxyXG4uc3dpdGNoZXItc3F1YXJlIC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaGVyLXNxdWFyZS1ib3JkZXItcmFkaXVzO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICB9XHJcbn1cclxuXHJcbi5zd2l0Y2hlci1zcXVhcmUgLnN3aXRjaGVyLWluZGljYXRvcjo6YWZ0ZXIge1xyXG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xyXG4gICAgYm9yZGVyLXJhZGl1czogaWYoJG1hdGVyaWFsLXN0eWxlLCAkc3dpdGNoZXItc3F1YXJlLWJvcmRlci1yYWRpdXMsIGNhbGMoI3skc3dpdGNoZXItc3F1YXJlLWJvcmRlci1yYWRpdXN9IC0gMnB4KSk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFNpemVzXHJcblxyXG5AaW5jbHVkZSBhcHB3b3JrLXN3aXRjaGVyLXNpemUoXCJzbVwiLCAkc3dpdGNoZXItd2lkdGgtc20sICRzd2l0Y2hlci1oZWlnaHQtc20sICRzd2l0Y2hlci1mb250LXNpemUsICRzd2l0Y2hlci1sYWJlbC1mb250LXNpemUtc20sICRzd2l0Y2hlci1sYWJlbC1saW5lLWhlaWdodC1zbSk7XHJcbkBpbmNsdWRlIGFwcHdvcmstc3dpdGNoZXItc2l6ZShcImxnXCIsICRzd2l0Y2hlci13aWR0aC1sZywgJHN3aXRjaGVyLWhlaWdodC1sZywgJHN3aXRjaGVyLWZvbnQtc2l6ZSwgJHN3aXRjaGVyLWxhYmVsLWZvbnQtc2l6ZS1sZywgJHN3aXRjaGVyLWxhYmVsLWxpbmUtaGVpZ2h0LWxnKTtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBWYXJpYXRpb25zXHJcblxyXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcclxuICBAaWYgJGNvbG9yICE9IHByaW1hcnkgYW5kICRjb2xvciAhPSBsaWdodCB7XHJcbiAgICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICAgICAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci12YXJpYW50KCcuc3dpdGNoZXItI3skY29sb3J9JywgJHZhbHVlKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAaW5jbHVkZSBhcHB3b3JrLXN3aXRjaGVyLXZhcmlhbnQoJy5zd2l0Y2hlci0jeyRjb2xvcn0nLCAkdmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFZhbGlkYXRpb24gc3RhdGVzXHJcblxyXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXZhbGlkYXRpb24tc3RhdGUoXCJ2YWxpZFwiLCAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci12YWxpZGF0aW9uLXN0YXRlKFwiaW52YWxpZFwiLCAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yKTtcclxufSBAZWxzZSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1zd2l0Y2hlci12YWxpZGF0aW9uLXN0YXRlKFwidmFsaWRcIiwgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstc3dpdGNoZXItdmFsaWRhdGlvbi1zdGF0ZShcImludmFsaWRcIiwgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcik7XHJcbn1cclxuIiwiLy8gSW5wdXQgZ3JvdXBzXHJcbi8vXHJcblxyXG4uaW5wdXQtZ3JvdXAgLmN1c3RvbS1zZWxlY3Qge1xyXG4gIGZsZXg6IDAgMSBhdXRvO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG59XHJcblxyXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE1hdGVyaWFsXHJcblxyXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICAuaW5wdXQtZ3JvdXAtdGV4dCB7XHJcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XHJcbiAgfVxyXG5cclxuICAuaW5wdXQtZ3JvdXAtdGV4dCArIC5pbnB1dC1ncm91cC10ZXh0IHtcclxuICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dDpmaXJzdC1jaGlsZCB7XHJcbiAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmlucHV0LWdyb3VwLXByZXBlbmQgLmlucHV0LWdyb3VwLXRleHQ6bGFzdC1jaGlsZCB7XHJcbiAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmlucHV0LWdyb3VwLWFwcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dDpsYXN0LWNoaWxkIHtcclxuICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaW5wdXQtZ3JvdXAtYXBwZW5kIC5pbnB1dC1ncm91cC10ZXh0OmZpcnN0LWNoaWxkIHtcclxuICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOmZpcnN0LWNoaWxkLFxyXG4gIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tc2VsZWN0OmZpcnN0LWNoaWxkLFxyXG4gIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLFxyXG4gIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wgKyAuY3VzdG9tLXNlbGVjdCxcclxuICAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCArIC5mb3JtLWNvbnRyb2wsXHJcbiAgLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3QgKyAuY3VzdG9tLXNlbGVjdCB7XHJcbiAgICAmOm5vdChbY2xhc3MqPSdweC0nXSk6bm90KFtjbGFzcyo9J3BsLSddKSB7XHJcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbDpsYXN0LWNoaWxkOm5vdChbY2xhc3MqPSdweC0nXSk6bm90KFtjbGFzcyo9J3ByLSddKSB7XHJcbiAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3Q6bGFzdC1jaGlsZDpub3QoW2NsYXNzKj0ncHgtJ10pOm5vdChbY2xhc3MqPSdwci0nXSkge1xyXG4gICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggIWltcG9ydGFudDtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBSVExcclxuXHJcbkBpbmNsdWRlIHJ0bC1vbmx5IHtcclxuICAvLyBSZXNldCBpbnB1dCBib3JkZXIgcmFkaXVzXHJcblxyXG4gIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sLFxyXG4gIC5pbnB1dC1ncm91cCAuY3VzdG9tLXNlbGVjdCxcclxuICAuaW5wdXQtZ3JvdXAgLmN1c3RvbS1maWxlLWxhYmVsLFxyXG4gIC5pbnB1dC1ncm91cCAuY3VzdG9tLWZpbGUtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzICFpbXBvcnRhbnQpO1xyXG4gIH1cclxuXHJcbiAgLmZvcm0tY29udHJvbCxcclxuICAuY3VzdG9tLXNlbGVjdCB7XHJcbiAgICAuaW5wdXQtZ3JvdXAtc20gJiB7XHJcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20gIWltcG9ydGFudCk7XHJcbiAgICB9XHJcblxyXG4gICAgLmlucHV0LWdyb3VwLWxnICYge1xyXG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnICFpbXBvcnRhbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUmVzZXQgYWRkb24gYm9yZGVyIHJhZGl1c1xyXG5cclxuICAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCxcclxuICAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kIHtcclxuICAgIC5idG4sXHJcbiAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XHJcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCxcclxuICAuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kIHtcclxuICAgIC5idG4sXHJcbiAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XHJcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20gIWltcG9ydGFudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCxcclxuICAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kIHtcclxuICAgIC5idG4sXHJcbiAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XHJcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcgIWltcG9ydGFudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBSZW1vdmUgYm9yZGVyIHJhZGl1c1xyXG5cclxuICAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCxcclxuICAuaW5wdXQtZ3JvdXAgLmN1c3RvbS1zZWxlY3Qge1xyXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDAgIWltcG9ydGFudCk7XHJcbiAgICB9XHJcblxyXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCAhaW1wb3J0YW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbnB1dC1ncm91cCAuY3VzdG9tLWZpbGUge1xyXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCxcclxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwICFpbXBvcnRhbnQpO1xyXG4gICAgfVxyXG5cclxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLFxyXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCAhaW1wb3J0YW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuLFxyXG4gIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcclxuICAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sXHJcbiAgLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcclxuICAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXHJcbiAgLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSxcclxuICAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmItZHJvcGRvd24gPiAuYnRuLFxyXG4gIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmItZHJvcGRvd24gPiAuYnRuLFxyXG4gIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmItZHJvcGRvd246bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLFxyXG4gIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmItZHJvcGRvd24gPiAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCAhaW1wb3J0YW50KTtcclxuICB9XHJcblxyXG4gIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcclxuICAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxyXG4gIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4sXHJcbiAgLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXHJcbiAgLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcclxuICAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmxhc3QtY2hpbGQpLFxyXG4gIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmItZHJvcGRvd24gPiAuYnRuLFxyXG4gIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5iLWRyb3Bkb3duID4gLmJ0bixcclxuICAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYi1kcm9wZG93bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSA+IC5idG4sXHJcbiAgLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmItZHJvcGRvd246bm90KDpsYXN0LWNoaWxkKSA+IC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDAgIWltcG9ydGFudCk7XHJcbiAgfVxyXG5cclxuICAvLyBNYXJnaW5zXHJcblxyXG4gIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sLFxyXG4gIC5pbnB1dC1ncm91cCAuY3VzdG9tLXNlbGVjdCxcclxuICAuaW5wdXQtZ3JvdXAgLmN1c3RvbS1maWxlIHtcclxuICAgICArIC5mb3JtLWNvbnRyb2wsXHJcbiAgICAgKyAuY3VzdG9tLXNlbGVjdCxcclxuICAgICArIC5jdXN0b20tZmlsZSB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmlucHV0LWdyb3VwLXByZXBlbmQsXHJcbiAgLmlucHV0LWdyb3VwLWFwcGVuZCB7XHJcbiAgICAuYnRuICsgLmJ0bixcclxuICAgIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcclxuICAgIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQsXHJcbiAgICAuaW5wdXQtZ3JvdXAtdGV4dCArIC5idG4ge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbnB1dC1ncm91cC1wcmVwZW5kIHtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcclxuICB9XHJcblxyXG4gIC5pbnB1dC1ncm91cC1hcHBlbmQge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIH1cclxufVxyXG4iLCIvLyBNb2RhbHNcclxuLy9cclxuXHJcbi5tb2RhbCB7XHJcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC10b3A7XHJcbn1cclxuXHJcbi5tb2RhbC1iYWNrZHJvcCB7XHJcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC10b3AgLSAxO1xyXG59XHJcblxyXG4ubW9kYWwtY29udGVudCB7XHJcbiAgYm94LXNoYWRvdzogJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cztcclxuXHJcbiAgQGlmICRtYXRlcmlhbC1zdHlsZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLm1vZGFsLWhlYWRlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICgkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCArIDFyZW0pIGlmKCRtYXRlcmlhbC1zdHlsZSwgMCwgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICRtb2RhbC1oZWFkZXItcGFkZGluZy14O1xyXG5cclxuICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgcGFkZGluZy1yaWdodDogJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICsgMXJlbTtcclxuICB9XHJcbn1cclxuXHJcbi5tb2RhbC1mb290ZXIge1xyXG4gIHBhZGRpbmc6ICRtb2RhbC1mb290ZXItcGFkZGluZztcclxuXHJcbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICA+ICoge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgICA+IDpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogLjI1cmVtO1xyXG4gICAgfVxyXG5cclxuICAgICA+IDpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC4yNXJlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDbG9zZSBidXR0b25cclxuXHJcbi5tb2RhbC1oZWFkZXIgLmNsb3NlLFxyXG4ubW9kYWwtc2xpZGUgLmNsb3NlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgcmlnaHQ6ICRtb2RhbC1oZWFkZXItcGFkZGluZy14O1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XHJcblxyXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICByaWdodDogYXV0bztcclxuICAgIGxlZnQ6ICRtb2RhbC1oZWFkZXItcGFkZGluZy14O1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFJlc3BvbnNpdmVcclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuICAubW9kYWwtY29udGVudCB7XHJcbiAgICBib3gtc2hhZG93OiAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwO1xyXG4gIH1cclxuXHJcbiAgbmdiLW1vZGFsLXdpbmRvdy5tb2RhbC1zbSB7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgfVxyXG4gIC5tb2RhbC1zbSAubW9kYWwtZGlhbG9nIHtcclxuICAgIG1heC13aWR0aDogJG1vZGFsLXNtO1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gIG5nYi1tb2RhbC13aW5kb3cubW9kYWwtbGcge1xyXG4gICAgbWF4LXdpZHRoOiBub25lO1xyXG4gIH1cclxuICAubW9kYWwtbGcgLm1vZGFsLWRpYWxvZyB7XHJcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1sZztcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBUb3AgbW9kYWxzXHJcblxyXG4ubW9kYWwtdG9wIHtcclxuICAubW9kYWwtZGlhbG9nIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgfVxyXG5cclxuICAubW9kYWwtY29udGVudCB7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwICFpbXBvcnRhbnQpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFNsaWRlIG1vZGFsc1xyXG5cclxuLm1vZGFsLXNsaWRlLFxyXG4ubW9kYWwtc2xpZGUgLm1vZGFsIHtcclxuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubW9kYWwtc2xpZGUge1xyXG4gIC5tb2RhbC1kaWFsb2cge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IChtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBzbSkpKSB7XHJcbiAgICAgIHdpZHRoOiAkbW9kYWwtc2xpZGUtd2lkdGg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubW9kYWwtY29udGVudCB7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIHBhZGRpbmctdG9wOiAoJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICogJGNsb3NlLWZvbnQtc2l6ZSkgKyAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAoJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICogJGNsb3NlLWZvbnQtc2l6ZSkgKyAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgfVxyXG5cclxuICAubW9kYWwtYm9keSB7XHJcbiAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgfVxyXG5cclxuICAuY2xvc2Uge1xyXG4gICAgdG9wOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAvIDI7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBGaWxsLUluIG1vZGFsc1xyXG5cclxuLm1vZGFsLWZpbGwtaW4ge1xyXG4gIC5tb2RhbC1kaWFsb2cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgcGFkZGluZy10b3A6ICgkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQgKiAkY2xvc2UtZm9udC1zaXplKSArICRtb2RhbC1oZWFkZXItcGFkZGluZy15O1xyXG4gICAgcGFkZGluZy1ib3R0b206ICgkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQgKiAkY2xvc2UtZm9udC1zaXplKSArICRtb2RhbC1oZWFkZXItcGFkZGluZy15O1xyXG4gICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgfVxyXG5cclxuICAubW9kYWwtY29udGVudCB7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICB9XHJcblxyXG4gIC5jbG9zZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC0ycmVtO1xyXG4gICAgcmlnaHQ6ICRtb2RhbC1oZWFkZXItcGFkZGluZy14O1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG5cclxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICBsZWZ0OiAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBBbmltYXRpb25zXHJcblxyXG4vLyBEZWZhdWx0XHJcblxyXG4ubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9nIHtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUwcHgpIHNjYWxlKC44KTtcclxufVxyXG5cclxuLm1vZGFsLnNob3cgLm1vZGFsLWRpYWxvZyB7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xyXG59XHJcblxyXG4vLyBUb3BcclxuXHJcbi5tb2RhbC10b3AuZmFkZSAubW9kYWwtZGlhbG9nLFxyXG4ubW9kYWwtdG9wIC5tb2RhbC5mYWRlIC5tb2RhbC1kaWFsb2cge1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbn1cclxuXHJcbi5tb2RhbC10b3Auc2hvdyAubW9kYWwtZGlhbG9nLFxyXG4ubW9kYWwtdG9wIC5tb2RhbC5zaG93IC5tb2RhbC1kaWFsb2cge1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxufVxyXG5cclxuLy8gU2xpZGVcclxuXHJcbi5tb2RhbC1zbGlkZS5mYWRlIC5tb2RhbC1kaWFsb2csXHJcbi5tb2RhbC1zbGlkZSAubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9nIHtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcblxyXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG4gIH1cclxufVxyXG5cclxuLm1vZGFsLXNsaWRlLnNob3cgLm1vZGFsLWRpYWxvZyxcclxuLm1vZGFsLXNsaWRlIC5tb2RhbC5zaG93IC5tb2RhbC1kaWFsb2cge1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyBGaWxsLUluXHJcblxyXG4ubW9kYWwtZmlsbC1pbi5mYWRlIC5tb2RhbC1kaWFsb2csXHJcbi5tb2RhbC1maWxsLWluIC5tb2RhbC5mYWRlIC5tb2RhbC1kaWFsb2cge1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoLjUsIC41KTtcclxufVxyXG5cclxuLm1vZGFsLWZpbGwtaW4uc2hvdyAubW9kYWwtZGlhbG9nLFxyXG4ubW9kYWwtZmlsbC1pbiAubW9kYWwuc2hvdyAubW9kYWwtZGlhbG9nIHtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpO1xyXG59XHJcbiIsIi8vIEJyZWFkY3J1bWJzXHJcbi8vXHJcblxyXG4uYnJlYWRjcnVtYi1pdGVtLFxyXG4uYnJlYWRjcnVtYi1pdGVtIGEge1xyXG4gIGNvbG9yOiAkYnJlYWRjcnVtYi1jb2xvcjtcclxuXHJcbiAgQGluY2x1ZGUgaG92ZXIge1xyXG4gICAgY29sb3I6ICRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBSVExcclxuXHJcbkBpbmNsdWRlIHJ0bC1vbmx5IHtcclxuICAuYnJlYWRjcnVtYi1pdGVtICsuYnJlYWRjcnVtYi1pdGVtIHtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcclxuICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgY29udGVudDogXCIjeyRicmVhZGNydW1iLWRpdmlkZXItcnRsfVwiO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBMaXN0IGdyb3Vwc1xyXG4vL1xyXG5cclxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XHJcbiAgQGlmICRjb2xvciAhPSBwcmltYXJ5IGFuZCAkY29sb3IgIT0gbGlnaHQge1xyXG4gICAgQGluY2x1ZGUgYXBwd29yay1saXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgnLmxpc3QtZ3JvdXAtaXRlbS0jeyRjb2xvcn0nLCAkdmFsdWUpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFJUTFxyXG5cclxuQGluY2x1ZGUgcnRsLW9ubHkge1xyXG4gIC5saXN0LWdyb3VwIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgfVxyXG59XHJcbiIsIi8vIE5hdmJhclxyXG4vL1xyXG5cclxuLm5hdmJhciB7XHJcbiAgei1pbmRleDogMjtcclxufVxyXG5cclxuLmZpeGVkLXRvcCB7XHJcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcclxufVxyXG5cclxuQGluY2x1ZGUgcnRsLW9ubHkge1xyXG4gIC5uYXZiYXItbmF2IHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgfVxyXG5cclxuICAubmF2YmFyLWJyYW5kIHtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIG1hcmdpbi1sZWZ0OiAkbmF2YmFyLXBhZGRpbmcteDtcclxuICB9XHJcbn1cclxuXHJcbi5uYXZiYXIubmF2YmFyLWRhcmsge1xyXG4gIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XHJcbn1cclxuXHJcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuZGlzYWJsZWQge1xyXG4gIGNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3IgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm5hdmJhci5uYXZiYXItbGlnaHQge1xyXG4gIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xyXG59XHJcblxyXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5kaXNhYmxlZCB7XHJcbiAgY29sb3I6ICRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3IgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8gSUUgZml4XHJcbi5uYXZiYXItY29sbGFwc2UsXHJcbi5uYXZiYXItYnJhbmQsXHJcbi5uYXZiYXItdGV4dCB7XHJcbiAgZmxleC1zaHJpbms6IDE7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBSdWxlcnNcclxuXHJcbi5uYXZiYXItZGFyayBociB7XHJcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKTtcclxufVxyXG5cclxuLm5hdmJhci1saWdodCBociB7XHJcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheS0xMDA7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBJY29uc1xyXG5cclxuLm5hdmJhci1pY29uIHtcclxuICBmb250LXNpemU6IDEzMCU7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBTZWFyY2ggYm94XHJcblxyXG4ubmF2YmFyLXNlYXJjaC1ib3gge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBtYXJnaW46IDA7XHJcblxyXG4gICY6bm90KC5hY3RpdmUpIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbi5uYXZiYXItc2VhcmNoLWlucHV0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBtYXgtd2lkdGg6IDA7XHJcbiAgdHJhbnNpdGlvbjogbWF4LXdpZHRoIC4zcyBlYXNlLWluLW91dDtcclxuXHJcbiAgLm5hdmJhci1zZWFyY2gtYm94LmFjdGl2ZSAmIHtcclxuICAgIG1heC13aWR0aDogMTAwdnc7XHJcbiAgfVxyXG5cclxuICAuZm9ybS1jb250cm9sIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG5cclxuICAgIC5uYXZiYXItZGFyayAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1saWdodCAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm5hdmJhci1zZWFyY2gtY2FuY2VsIHtcclxuICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtd2VpZ2h0OiAxMDA7XHJcbiAgZm9udC1zaXplOiAxLjU1ZW07XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgb3BhY2l0eTogLjU7XHJcblxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLm5hdmJhci1leHBhbmQge1xyXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XHJcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcclxuXHJcbiAgICAmI3skaW5maXh9IHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xyXG4gICAgICAgIC5uYXZiYXItc2VhcmNoLWJveC5uYXYtbGluayB7XHJcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcclxuICAgICAgICAubmF2YmFyLXNlYXJjaC1pbnB1dCB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm5hdmJhci1zZWFyY2gtaW5wdXQgLmZvcm0tY29udHJvbCB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm5hdmJhci1zZWFyY2gtY2FuY2VsIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubmF2YmFyLWRhcmsgLm5hdmJhci1zZWFyY2gtYm94IHtcclxuICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm5hdmJhci1saWdodCAubmF2YmFyLXNlYXJjaC1ib3gge1xyXG4gICAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTWVnYSBkcm9wZG93blxyXG5cclxuLm1lZ2EtZHJvcGRvd24ge1xyXG4gIC5kcm9wZG93bi1tZW51IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gIH1cclxufVxyXG4iLCIvLyBDYXJkc1xyXG4vL1xyXG5cclxuLmNhcmQge1xyXG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbiAgYm94LXNoYWRvdzogJGNhcmQtc2hhZG93O1xyXG59XHJcblxyXG4uY2FyZC1saW5rIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbkBpbmNsdWRlIHJ0bC1vbmx5IHtcclxuICAuY2FyZC1saW5rICsgLmNhcmQtbGluayB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRjYXJkLXNwYWNlci14O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uY2FyZC1oZWFkZXIge1xyXG4gIGxpbmUtaGVpZ2h0OiAkY29tcG9uZW50LWxpbmUtaGVpZ2h0O1xyXG5cclxuICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcclxuICB9XHJcbn1cclxuXHJcbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xyXG4gIC5jYXJkLWZvb3RlciB7XHJcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBJbm5lciBib3JkZXJzXHJcblxyXG4uY2FyZC1oZWFkZXIsXHJcbi5jYXJkLWZvb3RlcixcclxuLmNhcmQgaHIge1xyXG4gIGJvcmRlci1jb2xvcjogJGNhcmQtaW5uZXItYm9yZGVyLWNvbG9yO1xyXG59XHJcblxyXG4uY2FyZCAubGlzdC1ncm91cC1pdGVtIHtcclxuICBib3JkZXItY29sb3I6IHJnYmEtdG8taGV4KCRjYXJkLWlubmVyLWJvcmRlci1jb2xvcik7XHJcbn1cclxuXHJcbi5jYXJkIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3NePVwiY29sLVwiXSxcclxuLmNhcmQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyo9XCIgY29sLVwiXSxcclxuLmNhcmQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149XCJjb2wgXCJdLFxyXG4uY2FyZCAucm93LWJvcmRlcmVkID4gW2NsYXNzKj1cIiBjb2wgXCJdLFxyXG4uY2FyZCAucm93LWJvcmRlcmVkID4gW2NsYXNzJD1cIiBjb2xcIl0sXHJcbi5jYXJkIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3M9XCJjb2xcIl0ge1xyXG4gICY6OmJlZm9yZSxcclxuICAmOjphZnRlciB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjYXJkLWlubmVyLWJvcmRlci1jb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBIZWFkZXIgLyBUaXRsZSB3aXRoIGVsZW1lbnRzKGNvbnRyb2xzKVxyXG5cclxuLmNhcmQtaGVhZGVyLndpdGgtZWxlbWVudHMsXHJcbi5jYXJkLXRpdGxlLndpdGgtZWxlbWVudHMge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG5cclxuLmNhcmQtaGVhZGVyLndpdGgtZWxlbWVudHMge1xyXG4gIHBhZGRpbmctdG9wOiAkY2FyZC1zcGFjZXIteSAvIDI7XHJcbiAgcGFkZGluZy1ib3R0b206ICRjYXJkLXNwYWNlci15IC8gMjtcclxufVxyXG5cclxuLmNhcmQtaGVhZGVyLWVsZW1lbnRzLFxyXG4uY2FyZC10aXRsZS1lbGVtZW50cyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcblxyXG4gICYgKyAmLFxyXG4gID4gKiArICoge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC4yNXJlbTtcclxuXHJcbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IC4yNXJlbTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY2FyZC1oZWFkZXItdGl0bGUge1xyXG4gIHBhZGRpbmc6ICgkY2FyZC1zcGFjZXIteSAvIDIpIDA7XHJcbn1cclxuXHJcbi5jYXJkLWhlYWRlci1lbGVtZW50cyB7XHJcbiAgcGFkZGluZy10b3A6IC4yNXJlbTtcclxuICBwYWRkaW5nLWJvdHRvbTogLjI1cmVtO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTGlzdCBncm91cHNcclxuXHJcbi5jYXJkID4gLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbSB7XHJcbiAgcGFkZGluZy1yaWdodDogJGNhcmQtc3BhY2VyLXg7XHJcbiAgcGFkZGluZy1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIENvbmRlbmNlZFxyXG5cclxuLmNhcmQtY29uZGVuY2VkIHtcclxuICAuY2FyZC1oZWFkZXIsXHJcbiAgLmNhcmQtZm9vdGVyLFxyXG4gID4gLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1zcGFjZXIteC1zbTtcclxuICAgIHBhZGRpbmctbGVmdDogJGNhcmQtc3BhY2VyLXgtc207XHJcbiAgfVxyXG5cclxuICAuY2FyZC1ib2R5LFxyXG4gIC5jYXJkLWltZy1vdmVybGF5IHtcclxuICAgIHBhZGRpbmc6ICRjYXJkLXNwYWNlci14LXNtO1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEhvdmVyYWJsZVxyXG5cclxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuY2FyZC1ob3ZlcltjbGFzc10sXHJcbmh0bWxbZGlyPXJ0bF0gLmNhcmQtaG92ZXJbY2xhc3NdIHtcclxuICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG5cclxuICAmOm5vdCg6aG92ZXIpIHtcclxuICAgIGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBSVExcclxuXHJcbkBpbmNsdWRlIHJ0bC1vbmx5IHtcclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgICAuY2FyZC1ncm91cCAuY2FyZCB7XHJcbiAgICAgIGJvcmRlcjogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cztcclxuXHJcbiAgICAgICsgLmNhcmQge1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcclxuICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xyXG4gICAgICAuY2FyZC1ncm91cCAuY2FyZDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xyXG5cclxuICAgICAgICAuY2FyZC1pbWctdG9wIHtcclxuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2FyZC1pbWctYm90dG9tIHtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuY2FyZC1ncm91cCAuY2FyZDpsYXN0LWNoaWxkIHtcclxuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xyXG5cclxuICAgICAgICAuY2FyZC1pbWctdG9wIHtcclxuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSB7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5jYXJkLWdyb3VwIC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcblxyXG4gICAgICAgIC5jYXJkLWltZy10b3AsXHJcbiAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSB7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBBY2NvcmRpb25zXHJcbi8vXHJcblxyXG4uY29sbGFwc2UtaWNvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICB3aWR0aDogLjg3NXJlbTtcclxuICBoZWlnaHQ6IC44NzVyZW07XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLXRvcDogLS4yNXJlbTtcclxuICAgIG1hcmdpbi1sZWZ0OiAtLjI1cmVtO1xyXG4gICAgd2lkdGg6IC41cmVtO1xyXG4gICAgaGVpZ2h0OiAuNXJlbTtcclxuICAgIGJvcmRlci1ib3R0b206IC4wNjI1cmVtIHNvbGlkICRncmF5LTQwMDtcclxuICAgIGJvcmRlci1sZWZ0OiAuMDYyNXJlbSBzb2xpZCAkZ3JheS00MDA7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuXHJcbiAgICBbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gJiB7XHJcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYWNjb3JkaW9uIC5jYXJkIHtcclxuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xyXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7XHJcblxyXG4gIC5jYXJkLWhlYWRlcjpsYXN0LWNoaWxkIHtcclxuICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcbiIsIi8vIENhcm91c2VsXHJcbi8vXHJcblxyXG5AaW5jbHVkZSBydGwtb25seSB7XHJcbiAgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsXHJcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuXHJcbiAgICBAc3VwcG9ydHMgKHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QpIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jYXJvdXNlbC1pdGVtLW5leHQsXHJcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcblxyXG4gICAgQHN1cHBvcnRzICh0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNhcm91c2VsLWl0ZW0tcHJldixcclxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcblxyXG4gICAgQHN1cHBvcnRzICh0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogYXV0bztcclxuICB9XHJcblxyXG4gIC5jYXJvdXNlbC1jb250cm9sLW5leHQge1xyXG4gICAgcmlnaHQ6IGF1dG87XHJcbiAgICBsZWZ0OiAwO1xyXG4gIH1cclxuXHJcbiAgLmNhcm91c2VsLWluZGljYXRvcnMge1xyXG4gICAgcGFkZGluZy1yaWdodDogMDsgLy8gb3ZlcnJpZGUgPG9sPiBkZWZhdWx0XHJcbiAgfVxyXG5cclxuICAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXHJcbiAgLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcclxuICB9XHJcbn1cclxuIiwiLy8gQ2xvc2UgYnV0dG9uc1xyXG4vL1xyXG5cclxuLmNsb3NlOmZvY3VzIHtcclxuICBvdXRsaW5lOiAwO1xyXG59XHJcblxyXG5AaW5jbHVkZSBydGwtb25seSB7XHJcbiAgLmNsb3NlIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb290ZXJcclxuLy9cclxuXHJcbi5mb290ZXItbGluayB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4vLyBEYXJrIGZvb3RlclxyXG4uZm9vdGVyLWRhcmsge1xyXG4gIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XHJcblxyXG4gIC5mb290ZXItbGluayB7XHJcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmLmRpc2FibGVkIHtcclxuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvb3Rlci10ZXh0IHtcclxuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLnNob3cgPiAuZm9vdGVyLWxpbmssXHJcbiAgLmFjdGl2ZSA+IC5mb290ZXItbGluayxcclxuICAuZm9vdGVyLWxpbmsuc2hvdyxcclxuICAuZm9vdGVyLWxpbmsuYWN0aXZlIHtcclxuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgaHIge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkc2lkZW5hdi1kYXJrLWJvcmRlci1jb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vIExpZ2h0IGZvb3RlclxyXG4uZm9vdGVyLWxpZ2h0IHtcclxuICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcclxuXHJcbiAgLmZvb3Rlci1saW5rIHtcclxuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZm9vdGVyLXRleHQge1xyXG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLnNob3cgPiAuZm9vdGVyLWxpbmssXHJcbiAgLmFjdGl2ZSA+IC5mb290ZXItbGluayxcclxuICAuZm9vdGVyLWxpbmsuc2hvdyxcclxuICAuZm9vdGVyLWxpbmsuYWN0aXZlIHtcclxuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcclxuICB9XHJcblxyXG4gIGhyIHtcclxuICAgIGJvcmRlci1jb2xvcjogJHNpZGVuYXYtbGlnaHQtYm9yZGVyLWNvbG9yO1xyXG4gIH1cclxufVxyXG4iLCIuc2lkZW5hdiB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgLnBzX190aHVtYi15LFxyXG4gIC5wc19fcmFpbC15IHtcclxuICAgIHdpZHRoOiAuMTI1cmVtICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAucHNfX3JhaWwteSB7XHJcbiAgICByaWdodDogLjI1cmVtICFpbXBvcnRhbnQ7XHJcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgbGVmdDogLjI1cmVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucHNfX3JhaWwteTpob3ZlcixcclxuICAucHNfX3JhaWwteTpmb2N1cyxcclxuICAucHNfX3JhaWwteS5wcy0tY2xpY2tpbmcsXHJcbiAgLnBzX19yYWlsLXk6aG92ZXIgPiAucHNfX3RodW1iLXksXHJcbiAgLnBzX19yYWlsLXk6Zm9jdXMgPiAucHNfX3RodW1iLXksXHJcbiAgLnBzX19yYWlsLXkucHMtLWNsaWNraW5nID4gLnBzX190aHVtYi15IHtcclxuICAgIHdpZHRoOiAuMzc1cmVtICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uc2lkZW5hdi1pbm5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi5zaWRlbmF2LWl0ZW0sXHJcbi5zaWRlbmF2LWhlYWRlcixcclxuLnNpZGVuYXYtZGl2aWRlcixcclxuLnNpZGVuYXYtYmxvY2sge1xyXG4gIGZsZXg6IDAgMCBhdXRvO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuLnNpZGVuYXYtaXRlbSB7XHJcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cclxuICAmLnNpZGVuYXYtaXRlbS1hbmltYXRpbmcge1xyXG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0ICRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dDtcclxuICB9XHJcbn1cclxuXHJcbi5zaWRlbmF2LWl0ZW0gLnNpZGVuYXYtbGluayB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBmbGV4OiAwIDEgYXV0bztcclxuXHJcbiAgLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAmIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaWJvbGQ7XHJcbiAgfVxyXG5cclxuICAuc2lkZW5hdi1pdGVtLmRpc2FibGVkICYge1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuc2lkZW5hdjpub3QoLnNpZGVuYXYtbm8tYW5pbWF0aW9uKSAmIHtcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjtcclxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgID4gOm5vdCguc2lkZW5hdi1pY29uKSB7XHJcbiAgICBmbGV4OiAwIDEgYXV0bztcclxuICB9XHJcbn1cclxuXHJcbi5zaWRlbmF2LXRvZ2dsZTo6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XHJcbiAgaGVpZ2h0OiAkY2FyZXQtd2lkdGg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQ7XHJcbiAgYm9yZGVyLXRvcDogMDtcclxuICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XHJcblxyXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcclxuICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xyXG4gIH1cclxuXHJcbiAgLnNpZGVuYXYtaXRlbS5vcGVuOm5vdCguc2lkZW5hdi1pdGVtLWNsb3NpbmcpID4gJiB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC00NWRlZyk7XHJcblxyXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2lkZW5hdjpub3QoLnNpZGVuYXYtbm8tYW5pbWF0aW9uKSAmIHtcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjtcclxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCB0cmFuc2Zvcm07XHJcbiAgfVxyXG59XHJcblxyXG4uc2lkZW5hdi1tZW51IHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcblxyXG4gIC5zaWRlbmF2Om5vdCguc2lkZW5hdi1uby1hbmltYXRpb24pICYge1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkc2lkZW5hdi1hbmltYXRpb24tZHVyYXRpb247XHJcbiAgfVxyXG5cclxuICAuc2lkZW5hdi1pdGVtLm9wZW4gPiAmIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgfVxyXG59XHJcblxyXG4uc2lkZW5hdi1pY29uIHtcclxuICBmbGV4LWdyb3c6IDA7XHJcbiAgZmxleC1zaHJpbms6IDA7XHJcbiAgbWFyZ2luLXJpZ2h0OiAkc2lkZW5hdi1pY29uLWV4cGFuZGVkLXNwYWNlcjtcclxuICBmb250LXNpemU6ICRzaWRlbmF2LWljb24tZXhwYW5kZWQtZm9udC1zaXplO1xyXG5cclxuICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRzaWRlbmF2LWljb24tZXhwYW5kZWQtc3BhY2VyO1xyXG4gIH1cclxufVxyXG5cclxuLnNpZGVuYXYtZGl2aWRlciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZDtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFZlcnRpY2FsXHJcblxyXG4uc2lkZW5hdi12ZXJ0aWNhbCB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAmOm5vdCguc2lkZW5hdi1uby1hbmltYXRpb24pIHtcclxuICAgIHRyYW5zaXRpb246IHdpZHRoICRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjtcclxuICB9XHJcblxyXG4gICYsXHJcbiAgLnNpZGVuYXYtYmxvY2ssXHJcbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLFxyXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaGVhZGVyIHtcclxuICAgIHdpZHRoOiAkc2lkZW5hdi13aWR0aDtcclxuICB9XHJcblxyXG4gIC5zaWRlbmF2LWlubmVyIHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4OiAxIDEgYXV0bztcclxuXHJcbiAgICAgPiAuc2lkZW5hdi1pdGVtIHtcclxuICAgICAgbWFyZ2luOiAkc2lkZW5hdi1pdGVtLXNwYWNlciAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNpZGVuYXYtaXRlbSAuc2lkZW5hdi1saW5rLFxyXG4gIC5zaWRlbmF2LWhlYWRlcixcclxuICAuc2lkZW5hdi1ibG9jayB7XHJcbiAgICBwYWRkaW5nOiAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteSAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteDtcclxuICB9XHJcblxyXG4gIC5zaWRlbmF2LWRpdmlkZXIge1xyXG4gICAgbWFyZ2luLXRvcDogJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG5cclxuICAuc2lkZW5hdi1pdGVtIC5zaWRlbmF2LXRvZ2dsZSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCN7JHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXh9ICsgI3skY2FyZXQtd2lkdGggKiAzfSk7XHJcblxyXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXg7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYygjeyRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14fSArICN7JGNhcmV0LXdpZHRoICogM30pO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgcmlnaHQ6ICRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14O1xyXG5cclxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICBsZWZ0OiAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNpZGVuYXYtbWVudSB7XHJcbiAgICBwYWRkaW5nLXRvcDogJHNpZGVuYXYtdmVydGljYWwtbWVudS1saW5rLXBhZGRpbmcteTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkc2lkZW5hdi12ZXJ0aWNhbC1tZW51LWxpbmstcGFkZGluZy15O1xyXG5cclxuICAgIC5zaWRlbmF2LWxpbmsge1xyXG4gICAgICBwYWRkaW5nLXRvcDogJHNpZGVuYXYtdmVydGljYWwtbWVudS1saW5rLXBhZGRpbmcteTtcclxuICAgICAgcGFkZGluZy1ib3R0b206ICRzaWRlbmF2LXZlcnRpY2FsLW1lbnUtbGluay1wYWRkaW5nLXk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2lkZW5hdi1pY29uIHtcclxuICAgIHdpZHRoOiAkc2lkZW5hdi1pY29uLWV4cGFuZGVkLXdpZHRoO1xyXG4gIH1cclxuXHJcbiAgLnNpZGVuYXYtbWVudSAuc2lkZW5hdi1pY29uIHtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuXHJcbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIExldmVsc1xyXG4gIC8vXHJcblxyXG4gICRzaWRlbmF2LWZpcnN0LWxldmVsLXNwYWNlcjogJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXggKyAkc2lkZW5hdi1pY29uLWV4cGFuZGVkLXdpZHRoICsgJHNpZGVuYXYtaWNvbi1leHBhbmRlZC1zcGFjZXI7XHJcblxyXG4gIC5zaWRlbmF2LW1lbnUgLnNpZGVuYXYtbGluayB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRzaWRlbmF2LWZpcnN0LWxldmVsLXNwYWNlcjtcclxuXHJcbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkc2lkZW5hdi1maXJzdC1sZXZlbC1zcGFjZXI7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRzaWRlbmF2LW1heC1sZXZlbHMge1xyXG4gICAgJHNlbGVjdG9yOiAnJztcclxuXHJcbiAgICBAZm9yICRsIGZyb20gMSB0aHJvdWdoICRpIHtcclxuICAgICAgJHNlbGVjdG9yOiBcIiN7JHNlbGVjdG9yfSAuc2lkZW5hdi1tZW51XCI7XHJcbiAgICB9XHJcblxyXG4gICAgI3skc2VsZWN0b3J9IC5zaWRlbmF2LWxpbmsge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6ICRzaWRlbmF2LWZpcnN0LWxldmVsLXNwYWNlciArICgkc2lkZW5hdi12ZXJ0aWNhbC1tZW51LWxldmVsLXNwYWNlciAqICgkaSAtIDEpKTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHNpZGVuYXYtZmlyc3QtbGV2ZWwtc3BhY2VyICsgKCRzaWRlbmF2LXZlcnRpY2FsLW1lbnUtbGV2ZWwtc3BhY2VyICogKCRpIC0gMSkpO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogSG9yaXpvbnRhbFxyXG5cclxuLnNpZGVuYXYtaG9yaXpvbnRhbCB7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgLnNpZGVuYXYtaW5uZXIge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4OiAwIDEgMTAwJTtcclxuICB9XHJcblxyXG4gIC5zaWRlbmF2LWl0ZW0gLnNpZGVuYXYtbGluayB7XHJcbiAgICBwYWRkaW5nOiAkc2lkZW5hdi1ob3Jpem9udGFsLWxpbmstcGFkZGluZy15ICRzaWRlbmF2LWhvcml6b250YWwtbGluay1wYWRkaW5nLXg7XHJcbiAgfVxyXG5cclxuICAuc2lkZW5hdi1pdGVtIC5zaWRlbmF2LXRvZ2dsZSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCN7JHNpZGVuYXYtaG9yaXpvbnRhbC1saW5rLXBhZGRpbmcteH0gKyAjeyRjYXJldC13aWR0aCAqIDN9KTtcclxuXHJcbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkc2lkZW5hdi1ob3Jpem9udGFsLWxpbmstcGFkZGluZy14O1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoI3skc2lkZW5hdi1ob3Jpem9udGFsLWxpbmstcGFkZGluZy14fSArICN7JGNhcmV0LXdpZHRoICogM30pO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgcmlnaHQ6ICRzaWRlbmF2LWhvcml6b250YWwtbGluay1wYWRkaW5nLXg7XHJcblxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGxlZnQ6ICRzaWRlbmF2LWhvcml6b250YWwtbGluay1wYWRkaW5nLXg7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0gPiAuc2lkZW5hdi10b2dnbGU6OmFmdGVyIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcclxuXHJcbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbTpub3QoLnNpZGVuYXYtaXRlbS1jbG9zaW5nKS5vcGVuID4gLnNpZGVuYXYtdG9nZ2xlOjphZnRlciB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDEzNWRlZyk7XHJcblxyXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zaWRlbmF2LWhlYWRlcixcclxuICAuc2lkZW5hdi1kaXZpZGVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5zaWRlbmF2LW1lbnUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6ICRzaWRlbmF2LW1lbnUtd2lkdGg7XHJcblxyXG4gICAgLnNpZGVuYXYtbWVudSB7XHJcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWxpbmsge1xyXG4gICAgICBwYWRkaW5nLXRvcDogJHNpZGVuYXYtaG9yaXpvbnRhbC1tZW51LWxpbmstcGFkZGluZy15O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHNpZGVuYXYtaG9yaXpvbnRhbC1tZW51LWxpbmstcGFkZGluZy15O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtID4gLnNpZGVuYXYtbWVudSB7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XHJcbiAgfVxyXG5cclxuICAmOm5vdCguc2lkZW5hdi1uby1hbmltYXRpb24pIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtbWVudSB7XHJcbiAgICBhbmltYXRpb246IHNpZGVuYXZEcm9wZG93blNob3cgJHNpZGVuYXYtYW5pbWF0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0O1xyXG4gIH1cclxuXHJcbiAgLy8gTGV2ZWxzXHJcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkc2lkZW5hdi1tYXgtbGV2ZWxzIHtcclxuICAgICRzZWxlY3RvcjogJyc7XHJcblxyXG4gICAgQGZvciAkbCBmcm9tIDEgdGhyb3VnaCAkaSB7XHJcbiAgICAgICRzZWxlY3RvcjogXCIjeyRzZWxlY3Rvcn0gLnNpZGVuYXYtbWVudVwiO1xyXG4gICAgfVxyXG5cclxuICAgICN7JHNlbGVjdG9yfSAuc2lkZW5hdi1saW5rIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAkc2lkZW5hdi1ob3Jpem9udGFsLW1lbnUtbGV2ZWwtc3BhY2VyICogJGk7XHJcblxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzaWRlbmF2LWhvcml6b250YWwtbWVudS1sZXZlbC1zcGFjZXIgKiAkaTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzaWRlbmF2LWhvcml6b250YWwtbGluay1wYWRkaW5nLXg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zaWRlbmF2LWhvcml6b250YWwtd3JhcHBlciB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBmbGV4OiAwIDEgMTAwJTtcclxuICB3aWR0aDogMDtcclxuXHJcbiAgLnNpZGVuYXY6bm90KC5zaWRlbmF2LW5vLWFuaW1hdGlvbikgJiAuc2lkZW5hdi1pbm5lciB7XHJcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4gJHNpZGVuYXYtYW5pbWF0aW9uLWR1cmF0aW9uO1xyXG4gIH1cclxufVxyXG5cclxuLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2LFxyXG4uc2lkZW5hdi1ob3Jpem9udGFsLW5leHQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBmbGV4OiAwIDAgYXV0bztcclxuICB3aWR0aDogJHNpZGVuYXYtY29udHJvbC13aWR0aDtcclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogJHNpZGVuYXYtY29udHJvbC1hcnJvdy1zaXplO1xyXG4gICAgaGVpZ2h0OiAkc2lkZW5hdi1jb250cm9sLWFycm93LXNpemU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbiAgfVxyXG5cclxuICAmLmRpc2FibGVkIHtcclxuICAgIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2OjphZnRlciB7XHJcbiAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZyk7XHJcblxyXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoLTEzNWRlZyk7XHJcbiAgfVxyXG59XHJcblxyXG4uc2lkZW5hdi1ob3Jpem9udGFsLW5leHQ6OmFmdGVyIHtcclxuICBib3JkZXItbGVmdDogMDtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcclxuXHJcbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgxMzVkZWcpO1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUga2V5ZnJhbWVzKHNpZGVuYXZEcm9wZG93blNob3cpIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0uNXJlbSk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBVbml2ZXJzYWwgY29sb3JpbmdcclxuXHJcbi5zaWRlbmF2LWRhcmsge1xyXG4gIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XHJcblxyXG4gIC5zaWRlbmF2LWxpbmssXHJcbiAgLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2LFxyXG4gIC5zaWRlbmF2LWhvcml6b250YWwtbmV4dCB7XHJcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNpZGVuYXYtaXRlbS5kaXNhYmxlZCAuc2lkZW5hdi1saW5rIHtcclxuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5zaWRlbmF2LWl0ZW0ub3Blbjpub3QoLnNpZGVuYXYtaXRlbS1jbG9zaW5nKSA+IC5zaWRlbmF2LXRvZ2dsZSxcclxuICAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbmsge1xyXG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XHJcbiAgfVxyXG5cclxuICAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6bm90KC5zaWRlbmF2LXRvZ2dsZSkge1xyXG4gICAgYmFja2dyb3VuZDogJHNpZGVuYXYtZGFyay1tZW51LWJnO1xyXG4gIH1cclxuXHJcbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLnNpZGVuYXYtaXRlbS1jbG9zaW5nIC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1tZW51LFxyXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5zaWRlbmF2LWl0ZW0tY2xvc2luZyAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtdG9nZ2xlIHtcclxuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XHJcbiAgfVxyXG5cclxuICAuc2lkZW5hdi10ZXh0IHtcclxuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLnNpZGVuYXYtaGVhZGVyIHtcclxuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XHJcbiAgfVxyXG5cclxuICBocixcclxuICAuc2lkZW5hdi1kaXZpZGVyLFxyXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtbWVudTo6YmVmb3JlIHtcclxuICAgIGJvcmRlci1jb2xvcjogJHNpZGVuYXYtZGFyay1ib3JkZXItY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaGVhZGVyOjpiZWZvcmUsXHJcbiAgLnNpZGVuYXYtYmxvY2s6OmJlZm9yZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I7XHJcbiAgfVxyXG5cclxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1pdGVtLm9wZW4gPiAuc2lkZW5hdi10b2dnbGU6OmJlZm9yZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZW5hdi1kYXJrLWJvcmRlci1jb2xvcjtcclxuICB9XHJcblxyXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazo6YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XHJcbiAgfVxyXG5cclxuICAucHNfX3RodW1iLXkge1xyXG4gICAgYmFja2dyb3VuZDogJG5hdmJhci1kYXJrLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uc2lkZW5hdi1saWdodCB7XHJcbiAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XHJcblxyXG4gIC5zaWRlbmF2LWxpbmssXHJcbiAgLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2LFxyXG4gIC5zaWRlbmF2LWhvcml6b250YWwtbmV4dCB7XHJcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcclxuXHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNpZGVuYXYtaXRlbS5kaXNhYmxlZCAuc2lkZW5hdi1saW5rIHtcclxuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuc2lkZW5hdi1pdGVtLm9wZW46bm90KC5zaWRlbmF2LWl0ZW0tY2xvc2luZykgPiAuc2lkZW5hdi10b2dnbGUsXHJcbiAgLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rIHtcclxuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcclxuICB9XHJcblxyXG4gIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazpub3QoLnNpZGVuYXYtdG9nZ2xlKSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc2lkZW5hdi1saWdodC1tZW51LWJnO1xyXG4gIH1cclxuXHJcbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLnNpZGVuYXYtaXRlbS1jbG9zaW5nIC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1tZW51LFxyXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5zaWRlbmF2LWl0ZW0tY2xvc2luZyAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtdG9nZ2xlIHtcclxuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLnNpZGVuYXYtdGV4dCB7XHJcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XHJcbiAgfVxyXG5cclxuICAuc2lkZW5hdi1oZWFkZXIge1xyXG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XHJcbiAgfVxyXG5cclxuICBocixcclxuICAuc2lkZW5hdi1kaXZpZGVyLFxyXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtbWVudTo6YmVmb3JlIHtcclxuICAgIGJvcmRlci1jb2xvcjogJHNpZGVuYXYtbGlnaHQtYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWhlYWRlcjo6YmVmb3JlLFxyXG4gIC5zaWRlbmF2LWJsb2NrOjpiZWZvcmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjtcclxuICB9XHJcblxyXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlbmF2LWxpZ2h0LWJvcmRlci1jb2xvcjtcclxuICB9XHJcblxyXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazo6YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLnBzX190aHVtYi15IHtcclxuICAgIGJhY2tncm91bmQ6ICRuYXZiYXItbGlnaHQtY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDb2xsYXBzZWRcclxuXHJcbkBtaXhpbiBzaWRlbmF2LWNvbGxhcHNlZCgpIHtcclxuICB3aWR0aDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xyXG5cclxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ge1xyXG4gICAgd2lkdGg6ICRzaWRlbmF2LXdpZHRoICsgKCRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aCAtICRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14IC0gJHNpZGVuYXYtaWNvbi1leHBhbmRlZC13aWR0aCk7XHJcbiAgfVxyXG5cclxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0gPiAuc2lkZW5hdi1saW5rIHtcclxuICAgIHBhZGRpbmctbGVmdDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xyXG4gIH1cclxuXHJcbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1oZWFkZXIsXHJcbiAgLnNpZGVuYXYtYmxvY2sge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICgkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteCAqIDIpIC0gJHNpZGVuYXYtaWNvbi1leHBhbmRlZC1zcGFjZXI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRzaWRlbmF2LWljb24tZXhwYW5kZWQtc3BhY2VyO1xyXG4gICAgd2lkdGg6ICRzaWRlbmF2LXdpZHRoO1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteTtcclxuICAgICAgYm90dG9tOiAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteTtcclxuICAgICAgbGVmdDogLTEgKiAoJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoICogLjc1KTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGggLyAyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtID4gLnNpZGVuYXYtbWVudSxcclxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LW1lbnUge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aCAtICRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14IC0gJHNpZGVuYXYtaWNvbi1leHBhbmRlZC13aWR0aDtcclxuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICAuc2lkZW5hdi1saW5rIHtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LW1lbnUge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgbGVmdDogY2FsYygjeyRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aCAvIDJ9IC0gMXB4KTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtKCRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aCAtICRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14IC0gJHNpZGVuYXYtaWNvbi1leHBhbmRlZC13aWR0aCk7XHJcbiAgICAgIHdpZHRoOiAwO1xyXG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtdG9nZ2xlLFxyXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluayB7XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luLXRvcDogLTRweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoI3soJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoIC8gMikgLSAoJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoIC0gJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXggLSAkc2lkZW5hdi1pY29uLWV4cGFuZGVkLXdpZHRoKX0gLSA0cHgpO1xyXG4gICAgICB3aWR0aDogOHB4O1xyXG4gICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtID4gLnNpZGVuYXYtdG9nZ2xlOjphZnRlciB7XHJcbiAgICByaWdodDogYXV0bztcclxuICAgIGxlZnQ6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aCAtICRzaWRlbmF2LWNvbnRyb2wtYXJyb3ctc2l6ZSAtIC4zNzVyZW07XHJcbiAgfVxyXG5cclxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0gPiAuc2lkZW5hdi1saW5rIC5zaWRlbmF2LWljb24ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0kc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg7XHJcbiAgICB3aWR0aDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHNpZGVuYXYtY29sbGFwc2VkLXJ0bCgpIHtcclxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0gPiAuc2lkZW5hdi1saW5rIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcclxuICAgIHBhZGRpbmctbGVmdDogJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXg7XHJcbiAgfVxyXG5cclxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWhlYWRlcixcclxuICAuc2lkZW5hdi1ibG9jayB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1yaWdodDogJHNpZGVuYXYtaWNvbi1leHBhbmRlZC1zcGFjZXI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICgkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteCAqIDIpIC0gJHNpZGVuYXYtaWNvbi1leHBhbmRlZC1zcGFjZXI7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgcmlnaHQ6IC0xICogKCRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aCAqIC43NSk7XHJcbiAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0gPiAuc2lkZW5hdi1tZW51LFxyXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtbWVudSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aCAtICRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14IC0gJHNpZGVuYXYtaWNvbi1leHBhbmRlZC13aWR0aDtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIH1cclxuXHJcbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gPiAuc2lkZW5hdi1tZW51OjpiZWZvcmUge1xyXG4gICAgcmlnaHQ6IGNhbGMoI3skc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGggLyAyfSAtIDFweCk7XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtKCRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aCAtICRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14IC0gJHNpZGVuYXYtaWNvbi1leHBhbmRlZC13aWR0aCk7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICB9XHJcblxyXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YmVmb3JlLFxyXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazo6YmVmb3JlIHtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogY2FsYygjeygkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGggLyAyKSAtICgkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGggLSAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteCAtICRzaWRlbmF2LWljb24tZXhwYW5kZWQtd2lkdGgpfSAtIDRweCk7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICB9XHJcblxyXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbSA+IC5zaWRlbmF2LXRvZ2dsZTo6YWZ0ZXIge1xyXG4gICAgcmlnaHQ6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aCAtICRzaWRlbmF2LWNvbnRyb2wtYXJyb3ctc2l6ZSAtIC4zNzVyZW07XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtID4gLnNpZGVuYXYtbGluayAuc2lkZW5hdi1pY29uIHtcclxuICAgIG1hcmdpbi1yaWdodDogLSRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcclxuICAgIG1hcmdpbi1sZWZ0OiAkc2lkZW5hdi1pY29uLWV4cGFuZGVkLXNwYWNlcjtcclxuICB9XHJcbn1cclxuXHJcbi5zaWRlbmF2LWNvbGxhcHNlZDpub3QoOmhvdmVyKSB7XHJcbiAgQGluY2x1ZGUgc2lkZW5hdi1jb2xsYXBzZWQoKTtcclxuXHJcbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgIEBpbmNsdWRlIHNpZGVuYXYtY29sbGFwc2VkLXJ0bCgpO1xyXG4gIH1cclxufVxyXG4iLCIvLyBMYXlvdXRzXHJcbi8vXHJcblxyXG4ubGF5b3V0LXdyYXBwZXIsXHJcbi5sYXlvdXQtaW5uZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgZmxleDogMSAxIGF1dG87XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5sYXlvdXQtd3JhcHBlciB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmxheW91dC1pbm5lciB7XHJcbiAgbWluLWhlaWdodDogMTAwdmg7XHJcbn1cclxuXHJcbi5sYXlvdXQtY29udGFpbmVyLFxyXG4ubGF5b3V0LWNvbnRlbnQsXHJcbi5sYXlvdXQtY29udGVudCA+ICosXHJcbi5sYXlvdXQtc2lkZW5hdiB7XHJcbiAgbWluLWhlaWdodDogMXB4O1xyXG59XHJcblxyXG4ubGF5b3V0LWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICBmbGV4OiAxIDEgYXV0bztcclxuICBwYWRkaW5nOiAwO1xyXG5cclxuICAubGF5b3V0LXdpdGhvdXQtc2lkZW5hdiAmIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLmxheW91dC1jb250ZW50IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG4gIGZsZXg6IDEgMSBhdXRvO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4ubGF5b3V0LW5hdmJhcixcclxuLmxheW91dC1mb290ZXIge1xyXG4gIGZsZXg6IDAgMCBhdXRvO1xyXG59XHJcblxyXG4ubGF5b3V0LW5hdmJhciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHotaW5kZXg6IDI7XHJcblxyXG4gIC5uYXZiYXIge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5sYXlvdXQtc2lkZW5hdiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGZsZXg6IDEgMCBhdXRvO1xyXG5cclxuICAuc2lkZW5hdiB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgLnNpZGVuYXYtdmVydGljYWwge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIExheW91dCAxXHJcblxyXG4ubGF5b3V0LTEge1xyXG4gIC5sYXlvdXQtaW5uZXIge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICB9XHJcblxyXG4gIC5sYXlvdXQtY29udGVudCB7XHJcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBtaW4td2lkdGg6IDA7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTGF5b3V0IDJcclxuXHJcbi5sYXlvdXQtMiB7XHJcbiAgLmxheW91dC1jb250YWluZXIge1xyXG4gICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB3aWR0aDogMDtcclxuICAgIG1pbi13aWR0aDogMDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5sYXlvdXQtY29udGVudCB7XHJcbiAgICAvLyBmbGV4LWJhc2lzOiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogUmV2ZXJzZWQgbGF5b3V0XHJcblxyXG4ubGF5b3V0LXJldmVyc2VkIHtcclxuICAubGF5b3V0LTEgLmxheW91dC1jb250YWluZXIge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gIH1cclxuXHJcbiAgLmxheW91dC0yIC5sYXlvdXQtaW5uZXIge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFRvZ2dsZVxyXG5cclxuLmxheW91dC1zaWRlbmF2LXRvZ2dsZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBTbWFsbCBzY3JlZW5zIGxheW91dFxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IChtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZykgLSAxKSkge1xyXG4gIC5sYXlvdXQtc2lkZW5hdiB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcclxuICAgIHRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtO1xyXG5cclxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICAubGF5b3V0LXJldmVyc2VkICYge1xyXG4gICAgICByaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLmxheW91dC1leHBhbmRlZCAmIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmxheW91dC1leHBhbmRlZCBib2R5IHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBydGwtb25seSB7XHJcbiAgICAmLmxheW91dC1yZXZlcnNlZCAubGF5b3V0LXNpZGVuYXYge1xyXG4gICAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmxheW91dC1vdmVybGF5IHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1iYWNrZHJvcC1iZztcclxuICAgIG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgIC5sYXlvdXQtZXhwYW5kZWQgJiB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmxheW91dC1zaWRlbmF2LTEwMHZoIC5sYXlvdXQtc2lkZW5hdixcclxuICAubGF5b3V0LXNpZGVuYXYtMTAwdmggLmxheW91dC1vdmVybGF5IHtcclxuICAgIGhlaWdodDogMTAwdmggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDb2xsYXBzZWQgbGF5b3V0XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgLy8gU2lkZW5hdiBzdHlsZVxyXG5cclxuICAubGF5b3V0LWNvbGxhcHNlZDpub3QoLmxheW91dC1vZmZjYW52YXMpOm5vdCgubGF5b3V0LWZpeGVkLW9mZmNhbnZhcykge1xyXG4gICAgLmxheW91dC1zaWRlbmF2Om5vdCg6aG92ZXIpIC5zaWRlbmF2LXZlcnRpY2FsLFxyXG4gICAgLmxheW91dC1zaWRlbmF2LnNpZGVuYXYtdmVydGljYWw6bm90KDpob3Zlcikge1xyXG4gICAgICBAaW5jbHVkZSBzaWRlbmF2LWNvbGxhcHNlZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgcnRsLW9ubHkge1xyXG4gICAgJi5sYXlvdXQtY29sbGFwc2VkOm5vdCgubGF5b3V0LW9mZmNhbnZhcyk6bm90KC5sYXlvdXQtZml4ZWQtb2ZmY2FudmFzKSB7XHJcbiAgICAgIC5sYXlvdXQtc2lkZW5hdjpub3QoOmhvdmVyKSAuc2lkZW5hdi12ZXJ0aWNhbCxcclxuICAgICAgLmxheW91dC1zaWRlbmF2LnNpZGVuYXYtdmVydGljYWw6bm90KDpob3Zlcikge1xyXG4gICAgICAgIEBpbmNsdWRlIHNpZGVuYXYtY29sbGFwc2VkLXJ0bCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTaWRlbmF2IHBvc2l0aW9uXHJcblxyXG4gIC5sYXlvdXQtY29sbGFwc2VkIHtcclxuICAgIC5sYXlvdXQtc2lkZW5hdjpob3ZlciB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogLSRzaWRlbmF2LXdpZHRoICsgJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xyXG4gICAgfVxyXG5cclxuICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtc2lkZW5hdjpob3ZlciB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0kc2lkZW5hdi13aWR0aCArICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIHJ0bC1vbmx5IHtcclxuICAgICYubGF5b3V0LWNvbGxhcHNlZCB7XHJcbiAgICAgIC5sYXlvdXQtc2lkZW5hdjpob3ZlciB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJHNpZGVuYXYtd2lkdGggKyAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtc2lkZW5hdjpob3ZlciB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJHNpZGVuYXYtd2lkdGggKyAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBPZmYtY2FudmFzIGxheW91dFxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gIC5sYXlvdXQtY29sbGFwc2VkLmxheW91dC1vZmZjYW52YXMge1xyXG4gICAgLmxheW91dC1zaWRlbmF2IHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAtJHNpZGVuYXYtd2lkdGg7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5sYXlvdXQtcmV2ZXJzZWQgLmxheW91dC1zaWRlbmF2IHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICBtYXJnaW4tbGVmdDogLSRzaWRlbmF2LXdpZHRoO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBydGwtb25seSB7XHJcbiAgICAmLmxheW91dC1jb2xsYXBzZWQubGF5b3V0LW9mZmNhbnZhcyB7XHJcbiAgICAgIC5sYXlvdXQtc2lkZW5hdiB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJHNpZGVuYXYtd2lkdGg7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpXHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtc2lkZW5hdiB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJHNpZGVuYXYtd2lkdGg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogRml4ZWQgYW5kIGZpeGVkIG9mZi1jYW52YXMgbGF5b3V0XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgLy8gU2lkZW5hdlxyXG5cclxuICAubGF5b3V0LWZpeGVkLFxyXG4gIC5sYXlvdXQtZml4ZWQtb2ZmY2FudmFzIHtcclxuICAgIC5sYXlvdXQtc2lkZW5hdiB7XHJcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtc2lkZW5hdiB7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgcnRsLW9ubHkge1xyXG4gICAgJi5sYXlvdXQtZml4ZWQsXHJcbiAgICAmLmxheW91dC1maXhlZC1vZmZjYW52YXMge1xyXG4gICAgICAubGF5b3V0LXNpZGVuYXYge1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtc2lkZW5hdiB7XHJcbiAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRml4ZWQgb2ZmLWNhbnZhc1xyXG5cclxuICAubGF5b3V0LWZpeGVkLW9mZmNhbnZhcy5sYXlvdXQtY29sbGFwc2VkIHtcclxuICAgIC5sYXlvdXQtc2lkZW5hdiB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5sYXlvdXQtcmV2ZXJzZWQgLmxheW91dC1zaWRlbmF2IHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgcnRsLW9ubHkge1xyXG4gICAgJi5sYXlvdXQtZml4ZWQtb2ZmY2FudmFzLmxheW91dC1jb2xsYXBzZWQge1xyXG4gICAgICAubGF5b3V0LXNpZGVuYXYge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5sYXlvdXQtcmV2ZXJzZWQgLmxheW91dC1zaWRlbmF2IHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBDb250YWluZXJcclxuXHJcbiAgLmxheW91dC1maXhlZDpub3QoLmxheW91dC1jb2xsYXBzZWQpLFxyXG4gIC5sYXlvdXQtZml4ZWQtb2ZmY2FudmFzOm5vdCgubGF5b3V0LWNvbGxhcHNlZCkge1xyXG4gICAgLmxheW91dC1jb250YWluZXIge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6ICRzaWRlbmF2LXdpZHRoO1xyXG4gICAgfVxyXG5cclxuICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtY29udGFpbmVyIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogJHNpZGVuYXYtd2lkdGg7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIHJ0bC1vbmx5IHtcclxuICAgICYubGF5b3V0LWZpeGVkOm5vdCgubGF5b3V0LWNvbGxhcHNlZCksXHJcbiAgICAmLmxheW91dC1maXhlZC1vZmZjYW52YXM6bm90KC5sYXlvdXQtY29sbGFwc2VkKSB7XHJcbiAgICAgIC5sYXlvdXQtY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc2lkZW5hdi13aWR0aDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJHNpZGVuYXYtd2lkdGg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5sYXlvdXQtZml4ZWQubGF5b3V0LWNvbGxhcHNlZCB7XHJcbiAgICAubGF5b3V0LWNvbnRhaW5lciB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xyXG4gICAgfVxyXG5cclxuICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtY29udGFpbmVyIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBydGwtb25seSB7XHJcbiAgICAmLmxheW91dC1maXhlZC5sYXlvdXQtY29sbGFwc2VkIHtcclxuICAgICAgLmxheW91dC1jb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBSZXNldCBwYWRkaW5nc1xyXG5odG1sOm5vdCgubGF5b3V0LW5hdmJhci1maXhlZCk6bm90KC5sYXlvdXQtZml4ZWQpOm5vdCgubGF5b3V0LWZpeGVkLW9mZmNhbnZhcykgLmxheW91dC1jb250YWluZXIsXHJcbmh0bWw6bm90KC5sYXlvdXQtbmF2YmFyLWZpeGVkKSAubGF5b3V0LTIgLmxheW91dC1jb250YWluZXIge1xyXG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuaHRtbDpub3QoLmxheW91dC1mb290ZXItZml4ZWQpIC5sYXlvdXQtY29udGVudCB7XHJcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcclxufVxyXG5AbWVkaWEgKG1heC13aWR0aDogKG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIGxnKSAtIDEpKSB7XHJcbiAgLmxheW91dC1maXhlZCAubGF5b3V0LXdyYXBwZXIubGF5b3V0LTEgLmxheW91dC1zaWRlbmF2LFxyXG4gIC5sYXlvdXQtZml4ZWQtb2ZmY2FudmFzIC5sYXlvdXQtd3JhcHBlci5sYXlvdXQtMSAubGF5b3V0LXNpZGVuYXYge1xyXG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICBodG1sOm5vdCgubGF5b3V0LW5hdmJhci1maXhlZCkgLmxheW91dC0xIC5sYXlvdXQtY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogRml4ZWQgbmF2YmFyIGxheW91dFxyXG5cclxuLmxheW91dC1uYXZiYXItZml4ZWQgLmxheW91dC1uYXZiYXIge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgbGVmdDogMDtcclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gIC8vIEZpeCBuYXZiYXIgd2l0aGluIGxheW91dCAxIGluIGZpeGVkIG1vZGVcclxuICAubGF5b3V0LWZpeGVkIC5sYXlvdXQtMSAubGF5b3V0LW5hdmJhcixcclxuICAubGF5b3V0LWZpeGVkLW9mZmNhbnZhcyAubGF5b3V0LTEgLmxheW91dC1uYXZiYXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gTGF5b3V0IGZpeGVkXHJcblxyXG4gIC5sYXlvdXQtbmF2YmFyLWZpeGVkOm5vdCgubGF5b3V0LWNvbGxhcHNlZCksXHJcbiAgLmxheW91dC1maXhlZC5sYXlvdXQtbmF2YmFyLWZpeGVkOm5vdCgubGF5b3V0LWNvbGxhcHNlZCksXHJcbiAgLmxheW91dC1maXhlZC1vZmZjYW52YXMubGF5b3V0LW5hdmJhci1maXhlZDpub3QoLmxheW91dC1jb2xsYXBzZWQpIHtcclxuICAgIC5sYXlvdXQtMiAubGF5b3V0LW5hdmJhciB7XHJcbiAgICAgIGxlZnQ6ICRzaWRlbmF2LXdpZHRoO1xyXG4gICAgfVxyXG5cclxuICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtMiAubGF5b3V0LW5hdmJhciB7XHJcbiAgICAgIHJpZ2h0OiAkc2lkZW5hdi13aWR0aDtcclxuICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIHJ0bC1vbmx5IHtcclxuICAgICYubGF5b3V0LW5hdmJhci1maXhlZDpub3QoLmxheW91dC1jb2xsYXBzZWQpLFxyXG4gICAgJi5sYXlvdXQtZml4ZWQubGF5b3V0LW5hdmJhci1maXhlZDpub3QoLmxheW91dC1jb2xsYXBzZWQpLFxyXG4gICAgJi5sYXlvdXQtZml4ZWQtb2ZmY2FudmFzLmxheW91dC1uYXZiYXItZml4ZWQ6bm90KC5sYXlvdXQtY29sbGFwc2VkKSB7XHJcbiAgICAgIC5sYXlvdXQtMiAubGF5b3V0LW5hdmJhciB7XHJcbiAgICAgICAgcmlnaHQ6ICRzaWRlbmF2LXdpZHRoO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtMiAubGF5b3V0LW5hdmJhciB7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgbGVmdDogJHNpZGVuYXYtd2lkdGg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIExheW91dCBmaXhlZCBvZmYtY2FudmFzXHJcblxyXG4gIC5sYXlvdXQtbmF2YmFyLWZpeGVkLmxheW91dC1jb2xsYXBzZWQ6bm90KC5sYXlvdXQtb2ZmY2FudmFzKTpub3QoLmxheW91dC1maXhlZC1vZmZjYW52YXMpLFxyXG4gIC5sYXlvdXQtZml4ZWQubGF5b3V0LW5hdmJhci1maXhlZC5sYXlvdXQtY29sbGFwc2VkIHtcclxuICAgIC5sYXlvdXQtMiAubGF5b3V0LW5hdmJhciB7XHJcbiAgICAgIGxlZnQ6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcclxuICAgIH1cclxuXHJcbiAgICAmLmxheW91dC1yZXZlcnNlZCAubGF5b3V0LTIgLmxheW91dC1uYXZiYXIge1xyXG4gICAgICByaWdodDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgcnRsLW9ubHkge1xyXG4gICAgJi5sYXlvdXQtbmF2YmFyLWZpeGVkLmxheW91dC1jb2xsYXBzZWQ6bm90KC5sYXlvdXQtb2ZmY2FudmFzKTpub3QoLmxheW91dC1maXhlZC1vZmZjYW52YXMpLFxyXG4gICAgJi5sYXlvdXQtZml4ZWQubGF5b3V0LW5hdmJhci1maXhlZC5sYXlvdXQtY29sbGFwc2VkIHtcclxuICAgICAgLmxheW91dC0yIC5sYXlvdXQtbmF2YmFyIHtcclxuICAgICAgICByaWdodDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtMiAubGF5b3V0LW5hdmJhciB7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgbGVmdDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogRml4ZWQgZm9vdGVyXHJcblxyXG4ubGF5b3V0LWZvb3Rlci1maXhlZCAubGF5b3V0LWZvb3RlciB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgLmxheW91dC1mb290ZXItZml4ZWQ6bm90KC5sYXlvdXQtY29sbGFwc2VkKSB7XHJcbiAgICAubGF5b3V0LXdyYXBwZXI6bm90KC5sYXlvdXQtd2l0aG91dC1zaWRlbmF2KSAubGF5b3V0LWZvb3RlciB7XHJcbiAgICAgIGxlZnQ6ICRzaWRlbmF2LXdpZHRoO1xyXG4gICAgfVxyXG5cclxuICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtd3JhcHBlcjpub3QoLmxheW91dC13aXRob3V0LXNpZGVuYXYpIC5sYXlvdXQtZm9vdGVyIHtcclxuICAgICAgcmlnaHQ6ICRzaWRlbmF2LXdpZHRoO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmxheW91dC1mb290ZXItZml4ZWQubGF5b3V0LWNvbGxhcHNlZDpub3QoLmxheW91dC1vZmZjYW52YXMpOm5vdCgubGF5b3V0LWZpeGVkLW9mZmNhbnZhcykge1xyXG4gICAgLmxheW91dC13cmFwcGVyOm5vdCgubGF5b3V0LXdpdGhvdXQtc2lkZW5hdikgLmxheW91dC1mb290ZXIge1xyXG4gICAgICBsZWZ0OiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5sYXlvdXQtcmV2ZXJzZWQgLmxheW91dC13cmFwcGVyOm5vdCgubGF5b3V0LXdpdGhvdXQtc2lkZW5hdikgLmxheW91dC1mb290ZXIge1xyXG4gICAgICByaWdodDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgcnRsLW9ubHkge1xyXG4gICAgJi5sYXlvdXQtZm9vdGVyLWZpeGVkOm5vdCgubGF5b3V0LWNvbGxhcHNlZCkge1xyXG4gICAgICAubGF5b3V0LXdyYXBwZXI6bm90KC5sYXlvdXQtd2l0aG91dC1zaWRlbmF2KSAubGF5b3V0LWZvb3RlciB7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogJHNpZGVuYXYtd2lkdGg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtd3JhcHBlcjpub3QoLmxheW91dC13aXRob3V0LXNpZGVuYXYpIC5sYXlvdXQtZm9vdGVyIHtcclxuICAgICAgICBsZWZ0OiAkc2lkZW5hdi13aWR0aDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubGF5b3V0LWZvb3Rlci1maXhlZC5sYXlvdXQtY29sbGFwc2VkOm5vdCgubGF5b3V0LW9mZmNhbnZhcyk6bm90KC5sYXlvdXQtZml4ZWQtb2ZmY2FudmFzKSB7XHJcbiAgICAgIC5sYXlvdXQtd3JhcHBlcjpub3QoLmxheW91dC13aXRob3V0LXNpZGVuYXYpIC5sYXlvdXQtZm9vdGVyIHtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtd3JhcHBlcjpub3QoLmxheW91dC13aXRob3V0LXNpZGVuYXYpIC5sYXlvdXQtZm9vdGVyIHtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBsZWZ0OiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBaLUluZGV4ZXNcclxuXHJcbi8vIE5hdmJhclxyXG4ubGF5b3V0LW5hdmJhci1maXhlZCBib2R5Om5vdCgubW9kYWwtb3BlbiksXHJcbi5sYXlvdXQtZml4ZWQgYm9keTpub3QoLm1vZGFsLW9wZW4pLFxyXG4ubGF5b3V0LWZpeGVkLW9mZmNhbnZhcyBib2R5Om5vdCgubW9kYWwtb3Blbikge1xyXG4gIC5sYXlvdXQtMSAubGF5b3V0LW5hdmJhciB7XHJcbiAgICB6LWluZGV4OiAkemluZGV4LWxheW91dC1maXhlZDtcclxuICB9XHJcblxyXG4gIC5sYXlvdXQtMiAubGF5b3V0LW5hdmJhciB7XHJcbiAgICB6LWluZGV4OiAkemluZGV4LWxheW91dC1maXhlZCAtIDU7XHJcbiAgfVxyXG59XHJcblxyXG4ubGF5b3V0LWZvb3Rlci1maXhlZCAubGF5b3V0LWZvb3RlciB7XHJcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcclxufVxyXG5cclxuLmxheW91dC1zaWRlbmF2LWhvcml6b250YWwge1xyXG4gIHotaW5kZXg6IDk7XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAobWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbGcpIC0gMSkpIHtcclxuICAubGF5b3V0LXNpZGVuYXYge1xyXG4gICAgei1pbmRleDogJHppbmRleC1sYXlvdXQtbW9iaWxlO1xyXG4gIH1cclxuXHJcbiAgLmxheW91dC1vdmVybGF5IHtcclxuICAgIHotaW5kZXg6ICR6aW5kZXgtbGF5b3V0LW1vYmlsZSAtIDE7XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgLmxheW91dC0xIHtcclxuICAgIC5sYXlvdXQtbmF2YmFyIHtcclxuICAgICAgei1pbmRleDogMTA7XHJcbiAgICB9XHJcblxyXG4gICAgLmxheW91dC1zaWRlbmF2IHtcclxuICAgICAgei1pbmRleDogOTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5sYXlvdXQtMiB7XHJcbiAgICAubGF5b3V0LW5hdmJhciB7XHJcbiAgICAgIHotaW5kZXg6IDk7XHJcbiAgICB9XHJcblxyXG4gICAgLmxheW91dC1zaWRlbmF2IHtcclxuICAgICAgei1pbmRleDogMTA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBDb2xsYXBzZWRcclxuXHJcbiAgLmxheW91dC1jb2xsYXBzZWQ6bm90KC5sYXlvdXQtb2ZmY2FudmFzKTpub3QoLmxheW91dC1maXhlZC1vZmZjYW52YXMpIHtcclxuICAgIC5sYXlvdXQtMSAubGF5b3V0LXNpZGVuYXY6aG92ZXIge1xyXG4gICAgICB6LWluZGV4OiAkemluZGV4LWxheW91dC1maXhlZCAtIDUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAubGF5b3V0LTIgLmxheW91dC1zaWRlbmF2IHtcclxuICAgICAgei1pbmRleDogJHppbmRleC1sYXlvdXQtZml4ZWQgKyA1ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBGaXhlZFxyXG5cclxuICAubGF5b3V0LWZpeGVkIGJvZHk6bm90KC5tb2RhbC1vcGVuKSAubGF5b3V0LTEgLmxheW91dC1zaWRlbmF2LFxyXG4gIC5sYXlvdXQtZml4ZWQtb2ZmY2FudmFzIGJvZHk6bm90KC5tb2RhbC1vcGVuKSAubGF5b3V0LTEgLmxheW91dC1zaWRlbmF2IHtcclxuICAgIHotaW5kZXg6ICR6aW5kZXgtbGF5b3V0LWZpeGVkIC0gNTtcclxuICB9XHJcblxyXG4gIC5sYXlvdXQtbmF2YmFyLWZpeGVkIGJvZHk6bm90KC5tb2RhbC1vcGVuKSAubGF5b3V0LTIgLmxheW91dC1zaWRlbmF2LFxyXG4gIC5sYXlvdXQtZml4ZWQgYm9keTpub3QoLm1vZGFsLW9wZW4pIC5sYXlvdXQtMiAubGF5b3V0LXNpZGVuYXYsXHJcbiAgLmxheW91dC1maXhlZC1vZmZjYW52YXMgYm9keTpub3QoLm1vZGFsLW9wZW4pIC5sYXlvdXQtMiAubGF5b3V0LXNpZGVuYXYge1xyXG4gICAgei1pbmRleDogJHppbmRleC1sYXlvdXQtZml4ZWQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogVHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnNcclxuXHJcbi5sYXlvdXQtc2lkZW5hdi1saW5rLW5vLXRyYW5zaXRpb24ge1xyXG4gIC5sYXlvdXQtc2lkZW5hdiAuc2lkZW5hdi1saW5rLFxyXG4gIC5sYXlvdXQtc2lkZW5hdi1ob3Jpem9udGFsIC5zaWRlbmF2LWxpbmsge1xyXG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4ubGF5b3V0LW5vLXRyYW5zaXRpb24gLmxheW91dC1zaWRlbmF2LFxyXG4ubGF5b3V0LW5vLXRyYW5zaXRpb24gLmxheW91dC1zaWRlbmF2LWhvcml6b250YWwge1xyXG4gICYsXHJcbiAgJiAuc2lkZW5hdixcclxuICAmIC5zaWRlbmF2LWl0ZW0ge1xyXG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogKG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIGxnKSAtIDEpKSB7XHJcbiAgLmxheW91dC10cmFuc2l0aW9uaW5nIHtcclxuICAgIC5sYXlvdXQtb3ZlcmxheSB7XHJcbiAgICAgIGFuaW1hdGlvbjogbGF5b3V0U2lkZW5hdkFuaW1hdGlvbiAkc2lkZW5hdi1hbmltYXRpb24tZHVyYXRpb247XHJcbiAgICB9XHJcblxyXG4gICAgLmxheW91dC1zaWRlbmF2IHtcclxuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHNpZGVuYXYtYW5pbWF0aW9uLWR1cmF0aW9uO1xyXG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gIC5sYXlvdXQtY29sbGFwc2VkOm5vdCgubGF5b3V0LXRyYW5zaXRpb25pbmcpOm5vdCgubGF5b3V0LW9mZmNhbnZhcyk6bm90KC5sYXlvdXQtZml4ZWQpOm5vdCgubGF5b3V0LWZpeGVkLW9mZmNhbnZhcykgLmxheW91dC1zaWRlbmF2IHtcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjtcclxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG1hcmdpbi1sZWZ0LCBtYXJnaW4tcmlnaHQsIHdpZHRoO1xyXG4gIH1cclxuXHJcbiAgLmxheW91dC10cmFuc2l0aW9uaW5nIHtcclxuICAgICYubGF5b3V0LW9mZmNhbnZhcyAubGF5b3V0LXNpZGVuYXYge1xyXG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkc2lkZW5hdi1hbmltYXRpb24tZHVyYXRpb247XHJcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG1hcmdpbi1sZWZ0LCBtYXJnaW4tcmlnaHQsIHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07XHJcbiAgICB9XHJcblxyXG4gICAgJi5sYXlvdXQtZml4ZWQsXHJcbiAgICAmLmxheW91dC1maXhlZC1vZmZjYW52YXMge1xyXG4gICAgICAubGF5b3V0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHNpZGVuYXYtYW5pbWF0aW9uLWR1cmF0aW9uO1xyXG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHBhZGRpbmctbGVmdCwgcGFkZGluZy1yaWdodDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubGF5b3V0LWZpeGVkIHtcclxuICAgICAgLmxheW91dC1zaWRlbmF2IHtcclxuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAkc2lkZW5hdi1hbmltYXRpb24tZHVyYXRpb247XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmxheW91dC1maXhlZC1vZmZjYW52YXMge1xyXG4gICAgICAubGF5b3V0LXNpZGVuYXYge1xyXG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjtcclxuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5sYXlvdXQtbmF2YmFyLWZpeGVkIC5sYXlvdXQtMiAubGF5b3V0LW5hdmJhcixcclxuICAgICYubGF5b3V0LWZvb3Rlci1maXhlZCAubGF5b3V0LWZvb3RlciB7XHJcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjtcclxuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbGVmdCwgcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjpub3QoLmxheW91dC1vZmZjYW52YXMpOm5vdCgubGF5b3V0LWZpeGVkKTpub3QoLmxheW91dC1maXhlZC1vZmZjYW52YXMpIC5sYXlvdXQtc2lkZW5hdiB7XHJcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjtcclxuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbWFyZ2luLWxlZnQsIG1hcmdpbi1yaWdodCwgd2lkdGg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBEaXNhYmxlIHRyYW5zaXRpb25zL2FuaW1hdGlvbnMgaW4gSUUgMTAtMTFcclxuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcclxuICAuc2lkZW5hdixcclxuICAubGF5b3V0LXNpZGVuYXYsXHJcbiAgLmxheW91dC1jb250YWluZXIsXHJcbiAgLmxheW91dC1uYXZiYXIsXHJcbiAgLmxheW91dC1mb290ZXIge1xyXG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHMgIWltcG9ydGFudDtcclxuICB9XHJcbiAgLmxheW91dC1vdmVybGF5IHtcclxuICAgIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUga2V5ZnJhbWVzKGxheW91dFNpZGVuYXZBbmltYXRpb24pIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5O1xyXG4gIH1cclxufVxyXG4iLCIuYXBwLWJyYW5kIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBmbGV4LWdyb3c6IDA7XHJcbiAgZmxleC1zaHJpbms6IDA7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgbWluLWhlaWdodDogMXB4O1xyXG59XHJcblxyXG4uYXBwLWJyYW5kLWxvZ28ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBmbGV4LWdyb3c6IDA7XHJcbiAgZmxleC1zaHJpbms6IDA7XHJcbiAgbWluLWhlaWdodDogMXB4O1xyXG5cclxuICBpbWcsXHJcbiAgc3ZnIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuLmFwcC1icmFuZC10ZXh0IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLmFwcC1icmFuZCAubGF5b3V0LXNpZGVuYXYtdG9nZ2xlIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLy8gV2l0aGluIHNpZGVuYXZcclxuXHJcbkBtaXhpbiBhcHB3b3JrLWFwcC1icmFuZC1jb2xsYXBzZWQoKSB7XHJcbiAgICAuYXBwLWJyYW5kIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICB3aWR0aDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xyXG4gICAgfVxyXG5cclxuICAgIC5hcHAtYnJhbmQtbG9nbyxcclxuICAgIC5hcHAtYnJhbmQtdGV4dCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLyouYXBwLWJyYW5kLWxvZ28gLmRlbW8ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9Ki9cclxuICAgIC5hcHAtYnJhbmQtbG9nbyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuXHJcbiAgICAgLmFwcC1icmFuZC10ZXh0LFxyXG4gICAgLmFwcC1icmFuZCAubGF5b3V0LXNpZGVuYXYtdG9nZ2xlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2lkZW5hdi12ZXJ0aWNhbCAuYXBwLWJyYW5kIHtcclxuICBwYWRkaW5nLXJpZ2h0OiAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteCAtIC4yNXJlbTtcclxuICBwYWRkaW5nLWxlZnQ6ICRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14IC0gLjI1cmVtO1xyXG59XHJcblxyXG4uc2lkZW5hdi1ob3Jpem9udGFsIC5hcHAtYnJhbmQsXHJcbi5zaWRlbmF2LWhvcml6b250YWwgLmFwcC1icmFuZCArIC5zaWRlbmF2LWRpdmlkZXIge1xyXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuOm5vdCgubGF5b3V0LXNpZGVuYXYpID4gLnNpZGVuYXYtdmVydGljYWwuc2lkZW5hdi1jb2xsYXBzZWQ6bm90KC5sYXlvdXQtc2lkZW5hdik6bm90KDpob3Zlcikge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstYXBwLWJyYW5kLWNvbGxhcHNlZCgpO1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbGcpKSB7XHJcbiAgLmxheW91dC1jb2xsYXBzZWQ6bm90KC5sYXlvdXQtb2ZmY2FudmFzKTpub3QoLmxheW91dC1maXhlZC1vZmZjYW52YXMpIC5sYXlvdXQtc2lkZW5hdjpub3QoOmhvdmVyKSB7XHJcbiAgICBAaW5jbHVkZSBhcHB3b3JrLWFwcC1icmFuZC1jb2xsYXBzZWQoKTtcclxuICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBeUNHQSxBQUFBLFdBQVcsQ0FBWTtFQUFFLE9BQU8sRUFBRSxjQUFjLEdBQUk7O0FBQ3BELEFBQUEsV0FBVyxDQUFZO0VBQUUsT0FBTyxFQUFFLGFBQWEsR0FBSTs7QUFDbkQsQUFBQSxXQUFXLENBQVk7RUFBRSxPQUFPLEVBQUUsY0FBYyxHQUFJOztBQUNwRCxBQUFBLFlBQVksQ0FBVztFQUFFLE9BQU8sRUFBRSxZQUFZLEdBQUk7O0FBRWxELEFBQUEsVUFBVSxDQUFhO0VBQUUsU0FBUyxFcENxRlQsR0FBRyxDb0NyRndCLFVBQVUsR0FBSTs7QUFDbEUsQUFBQSxTQUFTLENBQWM7RUFBRSxTQUFTLEVwQ3NGVCxJQUFJLENvQ3RGc0IsVUFBVSxHQUFJOztBQUNqRSxBQUFBLFdBQVcsQ0FBWTtFQUFFLFNBQVMsRXBDc0ZULElBQUksQ29DdEZ3QixVQUFVLEdBQUk7O0FBQ25FLEFBQUEsWUFBWSxDQUFXO0VBQUUsU0FBUyxFcENzRlQsSUFBSSxDb0N0RnlCLFVBQVUsR0FBSTs7QUFFcEUsQUFBQSxjQUFjLENBQVM7RUFBRSxXQUFXLEVBQUUsWUFBWSxHQUFJOztBQUN0RCxBQUFBLHNCQUFzQixDQUFDO0VBQUUsV0FBVyxFQUFFLGNBQWMsR0FBSTs7QUFDeEQsQUFBQSxvQkFBb0IsQ0FBRztFQUFFLFdBQVcsRUFBRSxrQkFBa0IsR0FBSTs7QUFFNUQsQUFBQSxjQUFjLENBQVM7RUFBRSxjQUFjLEVBQUUsU0FBZ0QsQ0FBQyxVQUFVLEdBQUk7O0FBRXhHLEFBQUEsa0JBQWtCLENBQUs7RUFBRSxXQUFXLEVuQ2dQTixHQUFHLENtQ2hQd0IsVUFBVSxHQUFJOztBQUN2RSxBQUFBLHFCQUFxQixDQUFFO0VBQUUsV0FBVyxFcENnRFgsR0FBRyxDb0NoRGdDLFVBQVUsR0FBSTs7QUFDMUUsQUFBQSxtQkFBbUIsQ0FBSTtFQUFFLFdBQVcsRXBDZ0RYLEdBQUcsQ29DaEQ4QixVQUFVLEdBQUk7O0FBQ3hFLEFBQUEscUJBQXFCLENBQUU7RUFBRSxlQUFlLEVBQUUsZUFBZSxHQUFJOztBQUM3RCxBQUFBLG9CQUFvQixDQUFHO0VBQUUsY0FBYyxFQUFFLGVBQWUsR0FBSTs7QUFFNUQsQUFBQSxnQkFBZ0IsQ0FBTztFQUFFLFFBQVEsRUFBRSxpQkFBaUIsR0FBSTs7QUFDeEQsQUFBQSxnQkFBZ0IsQ0FBTztFQUFFLFFBQVEsRUFBRSxpQkFBaUIsR0FBSTs7QUFDeEQsQUFBQSxjQUFjLENBQVM7RUFBRSxRQUFRLEVBQUUsZUFBZSxHQUFJOztBQUV0RCxBQUFBLGdCQUFnQixDQUFPO0VBQUUsVUFBVSxFQUFFLGVBQWUsR0FBSTs7QUFFeEQsQUFBQSxlQUFlLENBQVE7RUFBRSxNQUFNLEVBQUUsa0JBQWtCLEdBQUk7O0FBS3ZELEFBQUEsY0FBYyxDQUFDO0VBQ2IsYUFBYSxFcEM2RVUsSUFBSSxDb0M3RVksVUFBVTtFQUNqRCxZQUFZLEVwQzRFVyxJQUFJLENvQzVFVyxVQUFVLEdBTWpEO0VqQ2dCRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SWlDeEI1QixBQUFBLGNBQWMsQ0FBQztNQUtYLGFBQWEsRXBDd0VLLElBQUksQ29DeEVjLFVBQVU7TUFDOUMsWUFBWSxFcEN1RU0sSUFBSSxDb0N2RWEsVUFBVSxHQUVoRDs7QUFDRCxBQUFBLGVBQWUsQ0FBQztFQUNkLFlBQVksRXBDb0VXLEtBQUksQ29DcEVZLFVBQVU7RUFDakQsV0FBVyxFcENtRVksS0FBSSxDb0NuRVcsVUFBVSxHQU1qRDtFakNPRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SWlDZjVCLEFBQUEsZUFBZSxDQUFDO01BS1osWUFBWSxFcEMrRE0sS0FBSSxDb0MvRGMsVUFBVTtNQUM5QyxXQUFXLEVwQzhETyxLQUFJLENvQzlEYSxVQUFVLEdBRWhEOztBQUVELEFBQ0UsY0FEWSxBQUNYLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxLQUFLLEFBQVosRUFBYyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sTUFBTSxBQUFiLEdBQWdCO0VBQ3pDLFdBQVcsRXBDMERPLE1BQU0sQ29DMURVLFVBQVUsR0FDN0M7O0FBSEgsQUFJRSxjQUpZLEFBSVgsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLEtBQUssQUFBWixFQUFjLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxNQUFNLEFBQWIsR0FBZ0I7RUFDekMsY0FBYyxFcEN1REksTUFBTSxDb0N2RGEsVUFBVSxHQUNoRDs7QUFFSCxBQUNFLGVBRGEsQUFDWixJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sS0FBSyxBQUFaLEVBQWMsSUFBSyxFQUFBLEFBQUEsS0FBQyxFQUFPLE1BQU0sQUFBYixHQUFnQjtFQUN6QyxVQUFVLEVwQ2tEUSxPQUFNLENvQ2xEVSxVQUFVLEdBQzdDOztBQUhILEFBSUUsZUFKYSxBQUlaLElBQUssRUFBQSxBQUFBLEtBQUMsRUFBTyxLQUFLLEFBQVosRUFBYyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sTUFBTSxBQUFiLEdBQWdCO0VBQ3pDLGFBQWEsRXBDK0NLLE9BQU0sQ29DL0NhLFVBQVUsR0FDaEQ7O0FBT0gsQUFBQSxVQUFVLENBQUM7RUFBRSxTQUFTLEVBQUUsYUFBYSxHQUFJOztBQUN6QyxBQUFBLFdBQVcsQ0FBQztFQUFFLFNBQVMsRUFBRSxjQUFjLEdBQUk7O0FBQzNDLEFBQUEsV0FBVyxDQUFDO0VBQUUsU0FBUyxFQUFFLGNBQWMsR0FBSTs7QUFDM0MsQUFBQSxXQUFXLENBQUM7RUFBRSxTQUFTLEVBQUUsY0FBYyxHQUFJOztBQUMzQyxBQUFBLFlBQVksQ0FBQztFQUFFLFNBQVMsRUFBRSxlQUFlLEdBQUk7O0FBQzdDLEFBQUEsWUFBWSxDQUFDO0VBQUUsU0FBUyxFQUFFLGVBQWUsR0FBSTs7QUFDN0MsQUFBQSxTQUFTLENBQUM7RUFBRSxTQUFTLEVBQUUsWUFBWSxDQUFDLFVBQVUsR0FBSTs7QUFFbEQsQUFBQSxVQUFVLENBQUM7RUFBRSxTQUFTLEVBQUUsVUFBVSxHQUFJOztBQUN0QyxBQUFBLFVBQVUsQ0FBQztFQUFFLFNBQVMsRUFBRSxVQUFVLEdBQUk7O0FBb0J0QyxBQUFBLGFBQWEsQ0FBQztFQUNaLFFBQVEsRUFBRSxNQUFNLEdBaURqQjtFQWxERCxBQUdHLGFBSFUsR0FHUixJQUFJO0VBSFQsYUFBYSxJQUlSLEFBQUEsS0FBQyxFQUFPLE1BQU0sQUFBYjtFQUpOLGFBQWEsSUFLUixBQUFBLEtBQUMsRUFBTyxPQUFPLEFBQWQ7RUFMTixhQUFhLElBTVIsQUFBQSxLQUFDLEVBQU8sTUFBTSxBQUFiO0VBTk4sYUFBYSxJQU9SLEFBQUEsS0FBQyxFQUFPLE9BQU8sQUFBZDtFQVBOLGFBQWEsSUFRUixBQUFBLEtBQUMsRUFBTyxNQUFNLEFBQWI7RUFSTixhQUFhLElBU1IsQUFBQSxLQUFDLENBQU0sS0FBSyxBQUFYLEVBQWE7SUFDZixRQUFRLEVBQUUsUUFBUTtJQUNsQixXQUFXLEVBQUUsR0FBRyxHQXVCakI7SUFsQ0gsQUFhSSxhQWJTLEdBR1IsSUFBSSxBQVVKLFFBQVE7SUFiYixhQUFhLElBSVIsQUFBQSxLQUFDLEVBQU8sTUFBTSxBQUFiLENBU0QsUUFBUTtJQWJiLGFBQWEsSUFLUixBQUFBLEtBQUMsRUFBTyxPQUFPLEFBQWQsQ0FRRCxRQUFRO0lBYmIsYUFBYSxJQU1SLEFBQUEsS0FBQyxFQUFPLE1BQU0sQUFBYixDQU9ELFFBQVE7SUFiYixhQUFhLElBT1IsQUFBQSxLQUFDLEVBQU8sT0FBTyxBQUFkLENBTUQsUUFBUTtJQWJiLGFBQWEsSUFRUixBQUFBLEtBQUMsRUFBTyxNQUFNLEFBQWIsQ0FLRCxRQUFRO0lBYmIsYUFBYSxJQVNSLEFBQUEsS0FBQyxDQUFNLEtBQUssQUFBWCxDQUlELFFBQVEsQ0FBQztNQUNSLE9BQU8sRUFBRSxFQUFFO01BQ1gsUUFBUSxFQUFFLFFBQVE7TUFDbEIsS0FBSyxFQUFFLENBQUM7TUFDUixNQUFNLEVBQUUsSUFBSTtNQUNaLElBQUksRUFBRSxDQUFDO01BQ1AsT0FBTyxFQUFFLEtBQUs7TUFDZCxNQUFNLEVBQUUsQ0FBQztNQUNULFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDcEN2SFosc0JBQU8sR29Dd0hqQjtJQXRCTCxBQXdCSSxhQXhCUyxHQUdSLElBQUksQUFxQkosT0FBTztJQXhCWixhQUFhLElBSVIsQUFBQSxLQUFDLEVBQU8sTUFBTSxBQUFiLENBb0JELE9BQU87SUF4QlosYUFBYSxJQUtSLEFBQUEsS0FBQyxFQUFPLE9BQU8sQUFBZCxDQW1CRCxPQUFPO0lBeEJaLGFBQWEsSUFNUixBQUFBLEtBQUMsRUFBTyxNQUFNLEFBQWIsQ0FrQkQsT0FBTztJQXhCWixhQUFhLElBT1IsQUFBQSxLQUFDLEVBQU8sT0FBTyxBQUFkLENBaUJELE9BQU87SUF4QlosYUFBYSxJQVFSLEFBQUEsS0FBQyxFQUFPLE1BQU0sQUFBYixDQWdCRCxPQUFPO0lBeEJaLGFBQWEsSUFTUixBQUFBLEtBQUMsQ0FBTSxLQUFLLEFBQVgsQ0FlRCxPQUFPLENBQUM7TUFDUCxPQUFPLEVBQUUsRUFBRTtNQUNYLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxDQUFDO01BQ04sTUFBTSxFQUFFLENBQUM7TUFDVCxJQUFJLEVBQUUsSUFBSTtNQUNWLE9BQU8sRUFBRSxLQUFLO01BQ2QsS0FBSyxFQUFFLENBQUM7TUFDUixXQUFXLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3BDbEliLHNCQUFPLEdvQ21JakI7RUFqQ0wsQUE0Q00sYUE1Q08sQUFvQ1YsaUJBQWlCLEdBQ2IsSUFBSSxBQU9KLFFBQVEsRUE1Q2YsYUFBYSxBQW9DVixpQkFBaUIsR0FDYixJQUFJLEFBUUosT0FBTztFQTdDZCxhQUFhLEFBb0NWLGlCQUFpQixJQUViLEFBQUEsS0FBQyxFQUFPLE1BQU0sQUFBYixDQU1ELFFBQVE7RUE1Q2YsYUFBYSxBQW9DVixpQkFBaUIsSUFFYixBQUFBLEtBQUMsRUFBTyxNQUFNLEFBQWIsQ0FPRCxPQUFPO0VBN0NkLGFBQWEsQUFvQ1YsaUJBQWlCLElBR2IsQUFBQSxLQUFDLEVBQU8sT0FBTyxBQUFkLENBS0QsUUFBUTtFQTVDZixhQUFhLEFBb0NWLGlCQUFpQixJQUdiLEFBQUEsS0FBQyxFQUFPLE9BQU8sQUFBZCxDQU1ELE9BQU87RUE3Q2QsYUFBYSxBQW9DVixpQkFBaUIsSUFJYixBQUFBLEtBQUMsRUFBTyxNQUFNLEFBQWIsQ0FJRCxRQUFRO0VBNUNmLGFBQWEsQUFvQ1YsaUJBQWlCLElBSWIsQUFBQSxLQUFDLEVBQU8sTUFBTSxBQUFiLENBS0QsT0FBTztFQTdDZCxhQUFhLEFBb0NWLGlCQUFpQixJQUtiLEFBQUEsS0FBQyxFQUFPLE9BQU8sQUFBZCxDQUdELFFBQVE7RUE1Q2YsYUFBYSxBQW9DVixpQkFBaUIsSUFLYixBQUFBLEtBQUMsRUFBTyxPQUFPLEFBQWQsQ0FJRCxPQUFPO0VBN0NkLGFBQWEsQUFvQ1YsaUJBQWlCLElBTWIsQUFBQSxLQUFDLEVBQU8sTUFBTSxBQUFiLENBRUQsUUFBUTtFQTVDZixhQUFhLEFBb0NWLGlCQUFpQixJQU1iLEFBQUEsS0FBQyxFQUFPLE1BQU0sQUFBYixDQUdELE9BQU87RUE3Q2QsYUFBYSxBQW9DVixpQkFBaUIsSUFPYixBQUFBLEtBQUMsQ0FBTSxLQUFLLEFBQVgsQ0FDRCxRQUFRO0VBNUNmLGFBQWEsQUFvQ1YsaUJBQWlCLElBT2IsQUFBQSxLQUFDLENBQU0sS0FBSyxBQUFYLENBRUQsT0FBTyxDQUFDO0lBQ1AsWUFBWSxFcENoSkwsc0JBQU8sR29DaUpmOztBakM1RkgsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VpQ29IeEIsQUFBQSxTQUFTLENBQU87SUFBRSxLQUFLLEVBQUUsZUFBZSxHQUFJO0VBQzVDLEFBQUEsVUFBVSxDQUFPO0lBQUUsS0FBSyxFQUFFLGVBQWUsR0FBSTs7QWpDckg3QyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RWlDb0h4QixBQUFBLFNBQVMsQ0FBTztJQUFFLEtBQUssRUFBRSxlQUFlLEdBQUk7RUFDNUMsQUFBQSxVQUFVLENBQU87SUFBRSxLQUFLLEVBQUUsZUFBZSxHQUFJOztBakNySDdDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFaUNvSHhCLEFBQUEsU0FBUyxDQUFPO0lBQUUsS0FBSyxFQUFFLGVBQWUsR0FBSTtFQUM1QyxBQUFBLFVBQVUsQ0FBTztJQUFFLEtBQUssRUFBRSxlQUFlLEdBQUk7O0FqQ3JIN0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VpQ29IekIsQUFBQSxTQUFTLENBQU87SUFBRSxLQUFLLEVBQUUsZUFBZSxHQUFJO0VBQzVDLEFBQUEsVUFBVSxDQUFPO0lBQUUsS0FBSyxFQUFFLGVBQWUsR0FBSTs7QUFhM0MsQUFBQSxNQUFNO0FBQ04sTUFBTSxDQUErQjtFQUNuQyxZQUFZLEVuQzVEYixDQUFDLENtQzREdUIsVUFBVSxHQUNsQzs7QUFDRCxBQUFBLE1BQU07QUFDTixNQUFNLENBQStCO0VBQ25DLFdBQVcsRW5DaEVaLENBQUMsQ21DZ0VzQixVQUFVLEdBQ2pDOztBQVBELEFBQUEsTUFBTTtBQUNOLE1BQU0sQ0FBK0I7RUFDbkMsWUFBWSxFbkMzRGIsUUFBZSxDbUMyRFMsVUFBVSxHQUNsQzs7QUFDRCxBQUFBLE1BQU07QUFDTixNQUFNLENBQStCO0VBQ25DLFdBQVcsRW5DL0RaLFFBQWUsQ21DK0RRLFVBQVUsR0FDakM7O0FBUEQsQUFBQSxNQUFNO0FBQ04sTUFBTSxDQUErQjtFQUNuQyxZQUFZLEVuQzFEYixPQUFjLENtQzBEVSxVQUFVLEdBQ2xDOztBQUNELEFBQUEsTUFBTTtBQUNOLE1BQU0sQ0FBK0I7RUFDbkMsV0FBVyxFbkM5RFosT0FBYyxDbUM4RFMsVUFBVSxHQUNqQzs7QUFQRCxBQUFBLE1BQU07QUFDTixNQUFNLENBQStCO0VBQ25DLFlBQVksRXBDNUlYLEtBQUksQ29DNElrQixVQUFVLEdBQ2xDOztBQUNELEFBQUEsTUFBTTtBQUNOLE1BQU0sQ0FBK0I7RUFDbkMsV0FBVyxFcENoSlYsS0FBSSxDb0NnSmlCLFVBQVUsR0FDakM7O0FBUEQsQUFBQSxNQUFNO0FBQ04sTUFBTSxDQUErQjtFQUNuQyxZQUFZLEVuQ3hEYixPQUFlLENtQ3dEUyxVQUFVLEdBQ2xDOztBQUNELEFBQUEsTUFBTTtBQUNOLE1BQU0sQ0FBK0I7RUFDbkMsV0FBVyxFbkM1RFosT0FBZSxDbUM0RFEsVUFBVSxHQUNqQzs7QUFQRCxBQUFBLE1BQU07QUFDTixNQUFNLENBQStCO0VBQ25DLFlBQVksRW5DdkRiLEtBQWEsQ21DdURXLFVBQVUsR0FDbEM7O0FBQ0QsQUFBQSxNQUFNO0FBQ04sTUFBTSxDQUErQjtFQUNuQyxXQUFXLEVuQzNEWixLQUFhLENtQzJEVSxVQUFVLEdBQ2pDOztBakN6SUgsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VpQ2tJdEIsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUE0QjtJQUNuQyxZQUFZLEVuQzVEYixDQUFDLENtQzREdUIsVUFBVSxHQUNsQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBNEI7SUFDbkMsV0FBVyxFbkNoRVosQ0FBQyxDbUNnRXNCLFVBQVUsR0FDakM7RUFQRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQTRCO0lBQ25DLFlBQVksRW5DM0RiLFFBQWUsQ21DMkRTLFVBQVUsR0FDbEM7RUFDRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQTRCO0lBQ25DLFdBQVcsRW5DL0RaLFFBQWUsQ21DK0RRLFVBQVUsR0FDakM7RUFQRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQTRCO0lBQ25DLFlBQVksRW5DMURiLE9BQWMsQ21DMERVLFVBQVUsR0FDbEM7RUFDRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQTRCO0lBQ25DLFdBQVcsRW5DOURaLE9BQWMsQ21DOERTLFVBQVUsR0FDakM7RUFQRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQTRCO0lBQ25DLFlBQVksRXBDNUlYLEtBQUksQ29DNElrQixVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUE0QjtJQUNuQyxXQUFXLEVwQ2hKVixLQUFJLENvQ2dKaUIsVUFBVSxHQUNqQztFQVBELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBNEI7SUFDbkMsWUFBWSxFbkN4RGIsT0FBZSxDbUN3RFMsVUFBVSxHQUNsQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBNEI7SUFDbkMsV0FBVyxFbkM1RFosT0FBZSxDbUM0RFEsVUFBVSxHQUNqQztFQVBELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBNEI7SUFDbkMsWUFBWSxFbkN2RGIsS0FBYSxDbUN1RFcsVUFBVSxHQUNsQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBNEI7SUFDbkMsV0FBVyxFbkMzRFosS0FBYSxDbUMyRFUsVUFBVSxHQUNqQzs7QWpDeklILE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFaUNrSXRCLEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBNEI7SUFDbkMsWUFBWSxFbkM1RGIsQ0FBQyxDbUM0RHVCLFVBQVUsR0FDbEM7RUFDRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQTRCO0lBQ25DLFdBQVcsRW5DaEVaLENBQUMsQ21DZ0VzQixVQUFVLEdBQ2pDO0VBUEQsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUE0QjtJQUNuQyxZQUFZLEVuQzNEYixRQUFlLENtQzJEUyxVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUE0QjtJQUNuQyxXQUFXLEVuQy9EWixRQUFlLENtQytEUSxVQUFVLEdBQ2pDO0VBUEQsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUE0QjtJQUNuQyxZQUFZLEVuQzFEYixPQUFjLENtQzBEVSxVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUE0QjtJQUNuQyxXQUFXLEVuQzlEWixPQUFjLENtQzhEUyxVQUFVLEdBQ2pDO0VBUEQsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUE0QjtJQUNuQyxZQUFZLEVwQzVJWCxLQUFJLENvQzRJa0IsVUFBVSxHQUNsQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBNEI7SUFDbkMsV0FBVyxFcENoSlYsS0FBSSxDb0NnSmlCLFVBQVUsR0FDakM7RUFQRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQTRCO0lBQ25DLFlBQVksRW5DeERiLE9BQWUsQ21Dd0RTLFVBQVUsR0FDbEM7RUFDRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQTRCO0lBQ25DLFdBQVcsRW5DNURaLE9BQWUsQ21DNERRLFVBQVUsR0FDakM7RUFQRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQTRCO0lBQ25DLFlBQVksRW5DdkRiLEtBQWEsQ21DdURXLFVBQVUsR0FDbEM7RUFDRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQTRCO0lBQ25DLFdBQVcsRW5DM0RaLEtBQWEsQ21DMkRVLFVBQVUsR0FDakM7O0FqQ3pJSCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RWlDa0l0QixBQUFBLFNBQVM7RUFDVCxTQUFTLENBQTRCO0lBQ25DLFlBQVksRW5DNURiLENBQUMsQ21DNER1QixVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUE0QjtJQUNuQyxXQUFXLEVuQ2hFWixDQUFDLENtQ2dFc0IsVUFBVSxHQUNqQztFQVBELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBNEI7SUFDbkMsWUFBWSxFbkMzRGIsUUFBZSxDbUMyRFMsVUFBVSxHQUNsQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBNEI7SUFDbkMsV0FBVyxFbkMvRFosUUFBZSxDbUMrRFEsVUFBVSxHQUNqQztFQVBELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBNEI7SUFDbkMsWUFBWSxFbkMxRGIsT0FBYyxDbUMwRFUsVUFBVSxHQUNsQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBNEI7SUFDbkMsV0FBVyxFbkM5RFosT0FBYyxDbUM4RFMsVUFBVSxHQUNqQztFQVBELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBNEI7SUFDbkMsWUFBWSxFcEM1SVgsS0FBSSxDb0M0SWtCLFVBQVUsR0FDbEM7RUFDRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQTRCO0lBQ25DLFdBQVcsRXBDaEpWLEtBQUksQ29DZ0ppQixVQUFVLEdBQ2pDO0VBUEQsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUE0QjtJQUNuQyxZQUFZLEVuQ3hEYixPQUFlLENtQ3dEUyxVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUE0QjtJQUNuQyxXQUFXLEVuQzVEWixPQUFlLENtQzREUSxVQUFVLEdBQ2pDO0VBUEQsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUE0QjtJQUNuQyxZQUFZLEVuQ3ZEYixLQUFhLENtQ3VEVyxVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUE0QjtJQUNuQyxXQUFXLEVuQzNEWixLQUFhLENtQzJEVSxVQUFVLEdBQ2pDOztBakN6SUgsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VpQ2tJdkIsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUE0QjtJQUNuQyxZQUFZLEVuQzVEYixDQUFDLENtQzREdUIsVUFBVSxHQUNsQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBNEI7SUFDbkMsV0FBVyxFbkNoRVosQ0FBQyxDbUNnRXNCLFVBQVUsR0FDakM7RUFQRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQTRCO0lBQ25DLFlBQVksRW5DM0RiLFFBQWUsQ21DMkRTLFVBQVUsR0FDbEM7RUFDRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQTRCO0lBQ25DLFdBQVcsRW5DL0RaLFFBQWUsQ21DK0RRLFVBQVUsR0FDakM7RUFQRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQTRCO0lBQ25DLFlBQVksRW5DMURiLE9BQWMsQ21DMERVLFVBQVUsR0FDbEM7RUFDRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQTRCO0lBQ25DLFdBQVcsRW5DOURaLE9BQWMsQ21DOERTLFVBQVUsR0FDakM7RUFQRCxBQUFBLFNBQVM7RUFDVCxTQUFTLENBQTRCO0lBQ25DLFlBQVksRXBDNUlYLEtBQUksQ29DNElrQixVQUFVLEdBQ2xDO0VBQ0QsQUFBQSxTQUFTO0VBQ1QsU0FBUyxDQUE0QjtJQUNuQyxXQUFXLEVwQ2hKVixLQUFJLENvQ2dKaUIsVUFBVSxHQUNqQztFQVBELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBNEI7SUFDbkMsWUFBWSxFbkN4RGIsT0FBZSxDbUN3RFMsVUFBVSxHQUNsQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBNEI7SUFDbkMsV0FBVyxFbkM1RFosT0FBZSxDbUM0RFEsVUFBVSxHQUNqQztFQVBELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBNEI7SUFDbkMsWUFBWSxFbkN2RGIsS0FBYSxDbUN1RFcsVUFBVSxHQUNsQztFQUNELEFBQUEsU0FBUztFQUNULFNBQVMsQ0FBNEI7SUFDbkMsV0FBVyxFbkMzRFosS0FBYSxDbUMyRFUsVUFBVSxHQUNqQzs7QUFtQlAsQUFBQSxjQUFjLENBQUU7RUFBRSxTQUFTLEVBQUUsWUFBWSxHQUFJOztBQUt6QyxBQUFBLGVBQWUsQ0FBVTtFQUFFLFVBQVUsRUFBRSxlQUFlLEdBQUk7O0FBQzFELEFBQUEsZ0JBQWdCLENBQVU7RUFBRSxVQUFVLEVBQUUsZUFBZSxHQUFJOztBakNsSzNELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFaUNpS3hCLEFBQUEsa0JBQWtCLENBQU87SUFBRSxVQUFVLEVBQUUsZUFBZSxHQUFJO0VBQzFELEFBQUEsbUJBQW1CLENBQU87SUFBRSxVQUFVLEVBQUUsZUFBZSxHQUFJOztBakNsSzNELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFaUNpS3hCLEFBQUEsa0JBQWtCLENBQU87SUFBRSxVQUFVLEVBQUUsZUFBZSxHQUFJO0VBQzFELEFBQUEsbUJBQW1CLENBQU87SUFBRSxVQUFVLEVBQUUsZUFBZSxHQUFJOztBakNsSzNELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFaUNpS3hCLEFBQUEsa0JBQWtCLENBQU87SUFBRSxVQUFVLEVBQUUsZUFBZSxHQUFJO0VBQzFELEFBQUEsbUJBQW1CLENBQU87SUFBRSxVQUFVLEVBQUUsZUFBZSxHQUFJOztBakNsSzNELE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFaUNpS3pCLEFBQUEsa0JBQWtCLENBQU87SUFBRSxVQUFVLEVBQUUsZUFBZSxHQUFJO0VBQzFELEFBQUEsbUJBQW1CLENBQU87SUFBRSxVQUFVLEVBQUUsZUFBZSxHQUFJOztBQUsvRCxBQUFBLE9BQU87QUFDUCxjQUFjO0FBQ2QsTUFBTTtBQUNOLE1BQU0sR0FBRyxJQUFLLENBQUEsV0FBVztBQUN6QixVQUFVO0FBQ1YsS0FBSyxDQUFDO0VBQ0osV0FBVyxFQUFFLENBQUMsR0FDZjs7QUFFRCxBQUFBLFFBQVEsQ0FBQztFQUNQLFVBQVUsRUFBRSxHQUFHLEdBQ2hCOztBQUtELEFBQUEsVUFBVSxDQUFDO0VBQ1QsS0FBSyxFcEN0TVksT0FBTyxDb0NzTUwsVUFBVSxHQVU5QjtFQVhELEFBSUksVUFKTSxDQUdQLEFBQUEsSUFBQyxBQUFBLENBQ0MsTUFBTSxDQUFDO0lBQ04sS0FBSyxFcEN0TVEsT0FBeUIsQ29Dc01iLFVBQVUsR0FDcEM7RUFOTCxBQU9JLFVBUE0sQ0FHUCxBQUFBLElBQUMsQUFBQSxDQUlDLE1BQU0sQUFBQSxJQUFLLENBQUEsTUFBTSxFQUFFO0lBQ2xCLEtBQUssRXBDN01RLE9BQU8sQ29DNk1ELFVBQVUsR0FDOUI7O0FBSUwsQWhDaFBFLFdnQ2dQUyxDQUFBLEFBQUEsSUFBQyxBQUFBLENoQ2hQVCxNQUFNLEVnQ2dQVCxXQUFXLENBQUEsQUFBQSxJQUFDLEFBQUEsQ2hDL09ULE1BQU0sQ0FBQztFZ0NnUGUsS0FBSyxFdEN6SGxCLE9BQW1DLENzQ3lIRyxVQUFVLEdoQzlPekQ7O0FnQ2lQSCxBQUFBLFdBQVcsQ0FBQztFQUNWLEtBQUssRXRDN0hLLE9BQW1DLENzQzZIMUIsVUFBVSxHQUs5QjtFQU5ELEFoQ3BQRSxXZ0NvUFMsQ0FHUixBQUFBLElBQUMsQUFBQSxDaEN2UEQsTUFBTSxFZ0NvUFQsV0FBVyxDQUdSLEFBQUEsSUFBQyxBQUFBLENoQ3RQRCxNQUFNLENBQUM7SWdDdVBpQixLQUFLLEV0Q2hJcEIsT0FBbUMsQ3NDZ0lLLFVBQVUsR2hDclAzRDs7QWdDeVBILEFBQUEsYUFBYSxDQUFDO0VBQ1osS0FBSyxFdENySUssT0FBbUMsQ3NDcUl4QixVQUFVLEdBS2hDO0VBTkQsQWhDNVBFLGFnQzRQVyxDQUdWLEFBQUEsSUFBQyxBQUFBLENoQy9QRCxNQUFNLEVnQzRQVCxhQUFhLENBR1YsQUFBQSxJQUFDLEFBQUEsQ2hDOVBELE1BQU0sQ0FBQztJZ0MrUGlCLEtBQUssRXRDeElwQixPQUFtQyxDc0N3SUssVUFBVSxHaEM3UDNEOztBZ0NpUUgsQUFBQSxjQUFjLENBQUM7RUFDYixLQUFLLEV0QzdJSyxPQUFtQyxDc0M2SXZCLFVBQVUsR0FLakM7RUFORCxBaENwUUUsY2dDb1FZLENBR1gsQUFBQSxJQUFDLEFBQUEsQ2hDdlFELE1BQU0sRWdDb1FULGNBQWMsQ0FHWCxBQUFBLElBQUMsQUFBQSxDaEN0UUQsTUFBTSxDQUFDO0lnQ3VRaUIsS0FBSyxFdENoSnBCLE9BQW1DLENzQ2dKSyxVQUFVLEdoQ3JRM0Q7O0FnQzZRSCxBQUFBLFFBQVEsQ0FBQztFQUFFLGdCQUFnQixFcEN6UloscUJBQU8sQ29DeVJpQixVQUFVLEdBQUk7O0FBQ3JELEFoQ2pSRSxDZ0NpUkQsQUFBQSxRQUFRLEFoQ2pSTixNQUFNLEVnQ2lSVCxDQUFDLEFBQUEsUUFBUSxBaENoUk4sTUFBTSxDQUFDO0VnQ2lSZSxnQkFBZ0IsRXBDM1IxQixxQkFBTyxDb0MyUitCLFVBQVUsR2hDL1E1RDs7QWdDa1JILEFBQUEsU0FBUyxDQUFDO0VBQUUsZ0JBQWdCLEVwQzlSYixzQkFBTyxDb0M4UmtCLFVBQVUsR0FBSTs7QUFDdEQsQWhDdFJFLENnQ3NSRCxBQUFBLFNBQVMsQWhDdFJQLE1BQU0sRWdDc1JULENBQUMsQUFBQSxTQUFTLEFoQ3JSUCxNQUFNLENBQUM7RWdDc1JlLGdCQUFnQixFcENoUzFCLHFCQUFPLENvQ2dTK0IsVUFBVSxHaENwUjVEOztBZ0N1UkgsQUFBQSxXQUFXLENBQUM7RUFBRSxnQkFBZ0IsRXBDblNmLHNCQUFPLENvQ21TbUIsVUFBVSxHQUFJOztBQUN2RCxBaEMzUkUsQ2dDMlJELEFBQUEsV0FBVyxBaEMzUlQsTUFBTSxFZ0MyUlQsQ0FBQyxBQUFBLFdBQVcsQWhDMVJULE1BQU0sQ0FBQztFZ0MyUmUsZ0JBQWdCLEVwQ3JTMUIsc0JBQU8sQ29DcVMrQixVQUFVLEdoQ3pSNUQ7O0FnQzRSSCxBQUFBLFlBQVksQ0FBQztFQUFFLGdCQUFnQixFcEN4U2hCLHVCQUFPLENvQ3dTb0IsVUFBVSxHQUFJOztBQUN4RCxBaENoU0UsQ2dDZ1NELEFBQUEsWUFBWSxBaENoU1YsTUFBTSxFZ0NnU1QsQ0FBQyxBQUFBLFlBQVksQWhDL1JWLE1BQU0sQ0FBQztFZ0NnU2UsZ0JBQWdCLEVwQzFTMUIsc0JBQU8sQ29DMFM4QixVQUFVLEdoQzlSM0Q7O0FnQ3FTSCxBQUFBLGFBQWEsQ0FBQztFQUNaLFlBQVksRXBDbFRDLHNCQUFPLENvQ2tUSSxVQUFVLEdBQ25DOztBQUVELEFBQUEsWUFBWSxDQUFDO0VBQ1gsWUFBWSxFcEN0VEMscUJBQU8sQ29Dc1RJLFVBQVUsR0FDbkM7O0FBRUQsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixZQUFZLEVBQUUsc0JBQXNCLEdBQ3JDOztBQy9URCxBQUFBLElBQUksQ0FBQztFQUNILDBCQUEwQixFQUFFLFNBQVM7RUFDckMsc0JBQXNCLEVBQUUsV0FBVztFQUMzQixjQUFjLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0VBQ2xDLGNBQWMsRUFBRSxrQkFBa0IsR0FDbkM7O0FsQ21ERyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RWtDaEQxQixBQUFBLE1BQU0sQUFBQSxnQkFBZ0IsQ0FBQztJQUNyQixPQUFPLEVBQUUsZUFBZSxHQUN6Qjs7QUFZSCxNQUFNLENBQUMsR0FBRyxPQUFPLGdCQUFnQixFQUFFLElBQUksS0FBSyxnQkFBZ0IsRUFBRSxNQUFNO0VBRWxFLEFBQUEsS0FBSztFQUNMLFVBQVU7RUFDVixNQUFNO0VBQ04sWUFBWTtFQUNaLFlBQVksQ0FBQztJQUNYLFVBQVUsRUFBRSxHQUFHLEdBQ2hCO0VBRUQsQUFBQSxHQUFHLENBQUM7SUFDRixVQUFVLEVBQUUsR0FBRztJQUNmLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBTUgsQUFBQSxVQUFVO0FBQ1YsZ0JBQWdCLENBQUM7RUFDZixhQUFhLEVyQ21FVSxJQUFJO0VxQ2xFM0IsWUFBWSxFckNrRVcsSUFBSSxHcUM1RDVCO0VsQ01HLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJa0NmNUIsQUFBQSxVQUFVO0lBQ1YsZ0JBQWdCLENBQUM7TUFLYixhQUFhLEVyQzhESyxJQUFJO01xQzdEdEIsWUFBWSxFckM2RE0sSUFBSSxHcUMzRHpCOztBQUtELEFBQUEsY0FBYyxDQUFDO0VBQ2IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFFRCxBQUFBLGNBQWMsQ0FBQyxHQUFHLENBQUM7RUFDakIsT0FBTyxFQUFFLENBQUMsR0FDWDs7QUFFRCxBQUFBLHNCQUFzQixDQUFDO0VBQ3JCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsSUFBSSxFQUFFLEdBQUc7RUFDVCxPQUFPLEVBQUUsQ0FBQztFQUNWLE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsbUJBQW1CO0VBQy9CLFNBQVMsRUFBRSxxQkFBcUIsR0FNakM7RUFKQyxBQUFBLGNBQWMsQUFBQSxNQUFNLENBVnRCLHNCQUFzQjtFQVdwQixjQUFjLEFBQUEsTUFBTSxDQVh0QixzQkFBc0IsQ0FXRztJQUNyQixPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQUlILEFBQUEsc0JBQXNCLENBQUM7RUFDckIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUM7RUFDUCxPQUFPLEVBQUUsQ0FBQztFQUNWLE9BQU8sRUFBRSxLQUFLO0VBQ2QsVUFBVSxFQUFFLG1CQUFtQixHQUtoQztFQUhDLEFBQUEsY0FBYyxBQUFBLElBQUssQ0QySkwsTUFBTSxDQzNKTSxJQUFLLENBQUEsTUFBTSxFQVZ2QyxzQkFBc0IsQ0FVcUI7SUFDdkMsT0FBTyxFQUFFLFlBQVksR0FDdEI7O0FBR0gsQUFBQSxxQkFBcUIsQ0FBQztFQUNwQixVQUFVLEVBQUUsY0FBYyxHQUszQjtFQU5ELEFqQ3BGRSxxQmlDb0ZtQixBakNwRmxCLE1BQU0sRWlDb0ZULHFCQUFxQixBakNuRmxCLE1BQU0sQ0FBQztJaUN1Rk4sVUFBVSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDckNqR1gscUJBQU8sR0lZbkI7O0FpQzBGSCxBQUFBLHNCQUFzQixDQUFDO0VBQ3JCLFFBQVEsRUFBRSxNQUFNLEdBb0JqQjtFQXJCRCxBQUdFLHNCQUhvQixDQUdwQixHQUFHLENBQUM7SUFDRixVQUFVLEVBQUUsbUJBQW1CO0lBQy9CLFNBQVMsRUFBRSxjQUFjLEdBQzFCO0VBTkgsQUFRRSxzQkFSb0IsQ0FRcEIsc0JBQXNCLENBQUM7SUFDckIsU0FBUyxFQUFFLHFCQUFxQixDQUFDLFVBQVMsR0FDM0M7RUFWSCxBQWFJLHNCQWJrQixBakM3Rm5CLE1BQU0sQ2lDMEdMLEdBQUcsRUFiUCxzQkFBc0IsQWpDNUZuQixNQUFNLENpQ3lHTCxHQUFHLENBQUM7SUFDRixTQUFTLEVBQUUsVUFBVSxHQUN0QjtFQWZMLEFBaUJJLHNCQWpCa0IsQWpDN0ZuQixNQUFNLENpQzhHTCxzQkFBc0IsRUFqQjFCLHNCQUFzQixBakM1Rm5CLE1BQU0sQ2lDNkdMLHNCQUFzQixDQUFDO0lBQ3JCLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxRQUFRLEdBQzFDOztBSnNwQ0gsQUFBQSxNQUFNLENBQUMsZ0JBQWdCO0FBQ3ZCLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFO0FBQzVCLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUw7RUFDckIsWUFBWSxFQUFFLG9CQUFnQjtFQUM5QixnQkFBZ0IsRW5DbHBDUixPQUFtQztFbUNtcEMzQyxLQUFLLEVuQ25wQ0csT0FBbUMsR21Db3BDNUM7O0FBRUQsQUFBQSxZQUFZLENBQUMsZ0JBQWdCLEFBQUEsTUFBTTtBQUNuQyxZQUFZLENBQUMsZ0JBQWdCLEFBQUEsTUFBTSxHQUFHLEVBQUU7QUFDeEMsWUFBWSxDQUFDLGdCQUFnQixBQUFBLE1BQU0sR0FBRyxFQUFFLENBQUw7RUFDakMsZ0JBQWdCLEVuQ3pwQ1IsT0FBbUMsR21DMHBDNUM7O0FBWkQsQUFBQSxNQUFNLENBQUMsY0FBYztBQUNyQixNQUFNLENBQUMsY0FBYyxHQUFHLEVBQUU7QUFDMUIsTUFBTSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUg7RUFDckIsWUFBWSxFQUFFLG9CQUFnQjtFQUM5QixnQkFBZ0IsRW5DbHBDUixPQUFtQztFbUNtcEMzQyxLQUFLLEVuQ25wQ0csT0FBbUMsR21Db3BDNUM7O0FBRUQsQUFBQSxZQUFZLENBQUMsY0FBYyxBQUFBLE1BQU07QUFDakMsWUFBWSxDQUFDLGNBQWMsQUFBQSxNQUFNLEdBQUcsRUFBRTtBQUN0QyxZQUFZLENBQUMsY0FBYyxBQUFBLE1BQU0sR0FBRyxFQUFFLENBQUg7RUFDakMsZ0JBQWdCLEVuQ3pwQ1IsT0FBbUMsR21DMHBDNUM7O0FBWkQsQUFBQSxNQUFNLENBQUMsV0FBVztBQUNsQixNQUFNLENBQUMsV0FBVyxHQUFHLEVBQUU7QUFDdkIsTUFBTSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUE7RUFDckIsWUFBWSxFQUFFLG9CQUFnQjtFQUM5QixnQkFBZ0IsRW5DbHBDUixPQUFtQztFbUNtcEMzQyxLQUFLLEVuQ25wQ0csT0FBbUMsR21Db3BDNUM7O0FBRUQsQUFBQSxZQUFZLENBQUMsV0FBVyxBQUFBLE1BQU07QUFDOUIsWUFBWSxDQUFDLFdBQVcsQUFBQSxNQUFNLEdBQUcsRUFBRTtBQUNuQyxZQUFZLENBQUMsV0FBVyxBQUFBLE1BQU0sR0FBRyxFQUFFLENBQUE7RUFDakMsZ0JBQWdCLEVuQ3pwQ1IsT0FBbUMsR21DMHBDNUM7O0FBWkQsQUFBQSxNQUFNLENBQUMsY0FBYztBQUNyQixNQUFNLENBQUMsY0FBYyxHQUFHLEVBQUU7QUFDMUIsTUFBTSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUg7RUFDckIsWUFBWSxFQUFFLG9CQUFnQjtFQUM5QixnQkFBZ0IsRW5DbHBDUixPQUFtQztFbUNtcEMzQyxLQUFLLEVuQ25wQ0csT0FBbUMsR21Db3BDNUM7O0FBRUQsQUFBQSxZQUFZLENBQUMsY0FBYyxBQUFBLE1BQU07QUFDakMsWUFBWSxDQUFDLGNBQWMsQUFBQSxNQUFNLEdBQUcsRUFBRTtBQUN0QyxZQUFZLENBQUMsY0FBYyxBQUFBLE1BQU0sR0FBRyxFQUFFLENBQUg7RUFDakMsZ0JBQWdCLEVuQ3pwQ1IsT0FBbUMsR21DMHBDNUM7O0FBWkQsQUFBQSxNQUFNLENBQUMsYUFBYTtBQUNwQixNQUFNLENBQUMsYUFBYSxHQUFHLEVBQUU7QUFDekIsTUFBTSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUY7RUFDckIsWUFBWSxFQUFFLG9CQUFnQjtFQUM5QixnQkFBZ0IsRW5DbHBDUixPQUFtQztFbUNtcEMzQyxLQUFLLEVuQ25wQ0csT0FBbUMsR21Db3BDNUM7O0FBRUQsQUFBQSxZQUFZLENBQUMsYUFBYSxBQUFBLE1BQU07QUFDaEMsWUFBWSxDQUFDLGFBQWEsQUFBQSxNQUFNLEdBQUcsRUFBRTtBQUNyQyxZQUFZLENBQUMsYUFBYSxBQUFBLE1BQU0sR0FBRyxFQUFFLENBQUY7RUFDakMsZ0JBQWdCLEVuQ3pwQ1IsT0FBbUMsR21DMHBDNUM7O0FBWkQsQUFBQSxNQUFNLENBQUMsV0FBVztBQUNsQixNQUFNLENBQUMsV0FBVyxHQUFHLEVBQUU7QUFDdkIsTUFBTSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUE7RUFDckIsWUFBWSxFQUFFLG9CQUFnQjtFQUM5QixnQkFBZ0IsRW5DbHBDUixPQUFtQztFbUNtcEMzQyxLQUFLLEVuQ25wQ0csT0FBbUMsR21Db3BDNUM7O0FBRUQsQUFBQSxZQUFZLENBQUMsV0FBVyxBQUFBLE1BQU07QUFDOUIsWUFBWSxDQUFDLFdBQVcsQUFBQSxNQUFNLEdBQUcsRUFBRTtBQUNuQyxZQUFZLENBQUMsV0FBVyxBQUFBLE1BQU0sR0FBRyxFQUFFLENBQUE7RUFDakMsZ0JBQWdCLEVuQ3pwQ1IsT0FBbUMsR21DMHBDNUM7O0FLenhDSCxBQUFBLE1BQU0sQUFBQSxZQUFZLENBQUM7RUFDakIsWUFBWSxFQUFFLEtBQUssR0FDcEI7O0FBRUQsQUFBQSxNQUFNLENBQUMsRUFBRSxDQUFDO0VBQ1IsV0FBVyxFdENzRFksR0FBRyxHc0NyRDNCOztBQUVELEFBQUEsaUJBQWlCLEdBQUcsTUFBTSxDQUFDO0VBQ3pCLFNBQVMsRUFBRSxJQUFJLEdBQ2hCOztBQUtELEFBQUEsYUFBYTtBQUNiLGFBQWEsR0FBRyxFQUFFO0FBQ2xCLGFBQWEsR0FBRyxFQUFFLENBQUM7RUFDakIsWUFBWSxFdENwQkMsdUJBQU87RXNDcUJwQixnQkFBZ0IsRXhDNEdOLE9BQW1DLEd3QzNHOUM7O0FBRUQsQUFBQSxZQUFZLENBQUMsYUFBYSxBQUFBLE1BQU07QUFDaEMsWUFBWSxDQUFDLGFBQWEsQUFBQSxNQUFNLEdBQUcsRUFBRTtBQUNyQyxZQUFZLENBQUMsYUFBYSxBQUFBLE1BQU0sR0FBRyxFQUFFLENBQUM7RUFDcEMsZ0JBQWdCLEV4Q3NHTixVQUFtQyxHd0NyRzlDOztBQUtELEFBQUEsV0FBVyxDQUFDO0VBQ1YsYUFBYSxFQUFFLENBQUMsR0FDakI7O0FBRUQsQUFBQSxXQUFXO0FBQ1gsV0FBVyxDQUFDLEVBQUU7QUFDZCxXQUFXLENBQUMsRUFBRSxDQUFDO0VBQ2IsWUFBWSxFdEN4Q0Msc0JBQU8sR3NDeUNyQjs7QUFFRCxBQUdHLFdBSFEsR0FBRyxLQUFLLEFBQUEsWUFBWSxHQUFHLEVBQUUsQUFBQSxZQUFZLEdBRzNDLEVBQUU7QUFIUCxXQUFXLEdBQUcsS0FBSyxBQUFBLFlBQVksR0FBRyxFQUFFLEFBQUEsWUFBWSxHQUkzQyxFQUFFO0FBSFAsV0FBVyxHQUFHLEtBQUssQUFBQSxZQUFZLEdBQUcsRUFBRSxBQUFBLFlBQVksR0FFM0MsRUFBRTtBQUZQLFdBQVcsR0FBRyxLQUFLLEFBQUEsWUFBWSxHQUFHLEVBQUUsQUFBQSxZQUFZLEdBRzNDLEVBQUU7QUFGUCxXQUFXLEdBQUcsS0FBSyxBQUFBLFlBQVksR0FBRyxFQUFFLEFBQUEsWUFBWSxHQUMzQyxFQUFFO0FBRFAsV0FBVyxHQUFHLEtBQUssQUFBQSxZQUFZLEdBQUcsRUFBRSxBQUFBLFlBQVksR0FFM0MsRUFBRSxDQUFDO0VBQ0osVUFBVSxFQUFFLENBQUMsR0FDZDs7QUFJRCxBQUtJLFdBTE8sR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUduQixFQUFFLEFBRUYsWUFBWTtBQUxqQixXQUFXLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FJbkIsRUFBRSxBQUNGLFlBQVk7QUFKakIsV0FBVyxHQUFHLEtBQUssR0FBRyxFQUFFLEdBRW5CLEVBQUUsQUFFRixZQUFZO0FBSmpCLFdBQVcsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUduQixFQUFFLEFBQ0YsWUFBWTtBQUhqQixXQUFXLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FDbkIsRUFBRSxBQUVGLFlBQVk7QUFIakIsV0FBVyxHQUFHLEtBQUssR0FBRyxFQUFFLEdBRW5CLEVBQUUsQUFDRixZQUFZLENBQUM7RUFDWixZQUFZLEV0Q3NVTyxNQUFNO0VzQ3JVekIsV0FBVyxFQUFFLENBQUMsR0FDZjs7QUFSTCxBQVVJLFdBVk8sR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUduQixFQUFFLEFBT0YsV0FBVztBQVZoQixXQUFXLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FJbkIsRUFBRSxBQU1GLFdBQVc7QUFUaEIsV0FBVyxHQUFHLEtBQUssR0FBRyxFQUFFLEdBRW5CLEVBQUUsQUFPRixXQUFXO0FBVGhCLFdBQVcsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUduQixFQUFFLEFBTUYsV0FBVztBQVJoQixXQUFXLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FDbkIsRUFBRSxBQU9GLFdBQVc7QUFSaEIsV0FBVyxHQUFHLEtBQUssR0FBRyxFQUFFLEdBRW5CLEVBQUUsQUFNRixXQUFXLENBQUM7RUFDWCxhQUFhLEV0Q2lVTSxNQUFNO0VzQ2hVekIsWUFBWSxFQUFFLENBQUMsR0FDaEI7O0FBS0wsQUFLSSxlQUxXLENBQUMsV0FBVyxHQUFHLEtBQUssR0FBRyxFQUFFLEdBR25DLEVBQUUsQUFFRixZQUFZO0FBTGpCLGVBQWUsQ0FBQyxXQUFXLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FJbkMsRUFBRSxBQUNGLFlBQVk7QUFKakIsZUFBZSxDQUFDLFdBQVcsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUVuQyxFQUFFLEFBRUYsWUFBWTtBQUpqQixlQUFlLENBQUMsV0FBVyxHQUFHLEtBQUssR0FBRyxFQUFFLEdBR25DLEVBQUUsQUFDRixZQUFZO0FBSGpCLGVBQWUsQ0FBQyxXQUFXLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FDbkMsRUFBRSxBQUVGLFlBQVk7QUFIakIsZUFBZSxDQUFDLFdBQVcsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUVuQyxFQUFFLEFBQ0YsWUFBWSxDQUFDO0VBQ1osWUFBWSxFdENxVE8sSUFBSTtFc0NwVHZCLFdBQVcsRUFBRSxDQUFDLEdBQ2Y7O0FBUkwsQUFVSSxlQVZXLENBQUMsV0FBVyxHQUFHLEtBQUssR0FBRyxFQUFFLEdBR25DLEVBQUUsQUFPRixXQUFXO0FBVmhCLGVBQWUsQ0FBQyxXQUFXLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FJbkMsRUFBRSxBQU1GLFdBQVc7QUFUaEIsZUFBZSxDQUFDLFdBQVcsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUVuQyxFQUFFLEFBT0YsV0FBVztBQVRoQixlQUFlLENBQUMsV0FBVyxHQUFHLEtBQUssR0FBRyxFQUFFLEdBR25DLEVBQUUsQUFNRixXQUFXO0FBUmhCLGVBQWUsQ0FBQyxXQUFXLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FDbkMsRUFBRSxBQU9GLFdBQVc7QUFSaEIsZUFBZSxDQUFDLFdBQVcsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUVuQyxFQUFFLEFBTUYsV0FBVyxDQUFDO0VBQ1gsYUFBYSxFdENnVE0sSUFBSTtFc0MvU3ZCLFlBQVksRUFBRSxDQUFDLEdBQ2hCOztBQ3hGUCxBQUFBLElBQUksQ0FBQztFQUNILFNBQVMsRXZDMERjLFFBQU8sR3VDckQvQjs7QUFHRCxBQUFBLElBQUksQ0FBQyxNQUFNLENBQUM7RVhQTixVQUFVLEU1QjZNVyxHQUFHLENBQUMsSUFBRyxDQUFDLFdBQVcsR3VDcE03QztFWExDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sc0JBQXNCLEVBQUUsTUFBTTtJV0duRCxBQUFBLElBQUksQ0FBQyxNQUFNLENBQUM7TVhGUixVQUFVLEVBQUUsSUFBSSxHV0luQjs7QUFFRCxBQUFBLEtBQUssQUFBQSxJQUFJLENBQUM7RUFDUixhQUFhLEVBQUUsQ0FBQyxHQUNqQjs7QU5tSkMsQUFBQSxjQUFjLENBQUg7RUFDVCxZQUFZLEVuQ2tEQyxXQUFXO0VtQ2pEeEIsVUFBVSxFakNqSUMsT0FBTztFaUNrSWxCLEtBQUssRW5DSkcsSUFBSSxHbUN5QmI7RUF4QkQsQTdCekpBLGM2QnlKYyxBN0J6SmIsTUFBTSxDQUFDO0k2QmdLSixZQUFZLEVuQzRDRCxXQUFXO0ltQzNDdEIsVUFBVSxFbkNyQ0osT0FBbUM7SW1Dc0N6QyxLQUFLLEVuQ1ZDLElBQUksR014SlE7RTZCeUp0QixBQVlFLGNBWlksQUFZWCxNQUFNLEVBWlQsY0FBYyxBQWFYLE1BQU0sQ0FBQztJQUNOLFVBQVUsRW5Dc0NtRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0V2RnRGLEdBQUcsQ0E1RnRCLHdCQUFPLEdpQzhJakI7RUFmSCxBQWlCRSxjQWpCWSxBQWlCWCxTQUFTLEVBakJaLGNBQWMsQUFrQlgsU0FBUyxDQUFDO0lBQ1QsWUFBWSxFbkNnQ0QsV0FBVyxDbUNoQ3FCLFVBQVU7SUFDckQsVUFBVSxFakNuSkQsT0FBTyxDaUNtSlEsVUFBVTtJQUNsQyxVQUFVLEVBQUUsZUFBZTtJQUMzQixLQUFLLEVuQ3ZCQyxJQUFJLENtQ3VCSSxVQUFVLEdBQ3pCOztBQUdILEFBQUEsY0FBYyxDQUFDLE1BQU0sQ0FBSDtFQUNoQixVQUFVLEVuQzVCRixJQUFJO0VtQzZCWixLQUFLLEVqQzNKTSxPQUFPLEdpQzRKbkI7O0FBRUQsQUFBQSxjQUFjLEFBQUEsT0FBTztBQUNyQixjQUFjLEFBQUEsT0FBTztBQUNyQixLQUFLLEdBQUcsY0FBYyxBQUFBLGdCQUFnQixDQUFIO0VBQ2pDLFlBQVksRW5DaUJDLFdBQVc7RW1DaEJ4QixVQUFVLEVuQ2hFRixPQUFtQztFbUNxRXpDLFVBQVUsRUFBRSxJQUFJLEdBRW5COztBQUdELEFBQUEsVUFBVSxDQUFDLGNBQWM7QUFDekIsb0JBQW9CLENBQUMsY0FBYztBQUNuQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUg7RUFDN0IsWUFBWSxFakM1RmtCLEdBQUcsQ2lDNEZLLEtBQUssQ25DN0VuQyxPQUFtQztFbUM4RTNDLFdBQVcsRWpDN0ZtQixHQUFHLENpQzZGSSxLQUFLLENuQzlFbEMsT0FBbUMsR21DK0U1Qzs7QUFzRkQsQUFBQSxzQkFBc0IsQ0FBWDtFQUNULFlBQVksRWpDeFFELE9BQU87RWlDeVFsQixVQUFVLEVBQUUsV0FBVztFQUN2QixLQUFLLEVqQzFRTSxPQUFPLEdpQ2tTbkI7RUEzQkQsQTdCalNBLHNCNkJpU3NCLEE3QmpTckIsTUFBTSxDQUFDO0k2QnVTSixZQUFZLEVuQzNGRCxXQUFXO0ltQzRGdEIsVUFBVSxFakM5UUQsT0FBTztJaUMrUWhCLEtBQUssRW5DakpDLElBQUksR014SlE7STZCaVN0QixBQVVJLHNCQVZrQixBN0JqU3JCLE1BQU0sQzZCMlNILE1BQU0sQ0FBQztNQUNMLFVBQVUsRW5DcEpOLElBQUk7TW1DcUpSLEtBQUssRWpDblJFLE9BQU8sR2lDb1JmO0VBYkwsQUFnQkUsc0JBaEJvQixBQWdCbkIsTUFBTSxFQWhCVCxzQkFBc0IsQUFpQm5CLE1BQU0sQ0FBQztJQUNOLFVBQVUsRW5DdEdtRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0V2RnRGLEdBQUcsQ0E1RnRCLHdCQUFPLEdpQzBSakI7RUFuQkgsQUFxQkUsc0JBckJvQixBQXFCbkIsU0FBUyxFQXJCWixzQkFBc0IsQUFzQm5CLFNBQVMsQ0FBQztJQUNULFlBQVksRWpDOVJILE9BQU8sQ2lDOFJLLFVBQVU7SUFDL0IsVUFBVSxFQUFFLHNCQUFzQjtJQUNsQyxLQUFLLEVqQ2hTSSxPQUFPLENpQ2dTRixVQUFVLEdBQ3pCOztBQUdILEFBQUEsc0JBQXNCLENBQUMsTUFBTSxDQUFYO0VBQ2hCLFVBQVUsRWpDclNDLE9BQU87RWlDc1NsQixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUVELEFBQUEsc0JBQXNCLEFBQUEsT0FBTztBQUM3QixzQkFBc0IsQUFBQSxPQUFPO0FBQzdCLEtBQUssR0FBRyxzQkFBc0IsQUFBQSxnQkFBZ0IsQ0FBWDtFQUNqQyxZQUFZLEVuQzFIQyxXQUFXO0VtQzJIeEIsVUFBVSxFbkMzTUYsT0FBbUM7RW1DNE0zQyxLQUFLLEVuQ2hMRyxJQUFJO0VtQ3FMVixVQUFVLEVBQUUsSUFBSSxHQU9uQjtFQWpCRCxBQWFFLHNCQWJvQixBQUFBLE9BQU8sQ0FhM0IsTUFBTTtFQVpSLHNCQUFzQixBQUFBLE9BQU8sQ0FZM0IsTUFBTTtFQVhSLEtBQUssR0FBRyxzQkFBc0IsQUFBQSxnQkFBZ0IsQ0FXNUMsTUFBTSxDQUFDO0lBQ0wsVUFBVSxFbkN6TEosSUFBSTtJbUMwTFYsS0FBSyxFakN4VEksT0FBTyxHaUN5VGpCOztBQTFMSCxBQUFBLFlBQVksQ0FBRDtFQUNULFlBQVksRW5Da0RDLFdBQVc7RW1DakR4QixVQUFVLEVqQ3ZJQyxPQUFPO0VpQ3dJbEIsS0FBSyxFbkNKRyxJQUFJLEdtQ3lCYjtFQXhCRCxBN0J6SkEsWTZCeUpZLEE3QnpKWCxNQUFNLENBQUM7STZCZ0tKLFlBQVksRW5DNENELFdBQVc7SW1DM0N0QixVQUFVLEVuQ3JDSixPQUFtQztJbUNzQ3pDLEtBQUssRW5DVkMsSUFBSSxHTXhKUTtFNkJ5SnRCLEFBWUUsWUFaVSxBQVlULE1BQU0sRUFaVCxZQUFZLEFBYVQsTUFBTSxDQUFDO0lBQ04sVUFBVSxFbkNzQ21HLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDRXZGdEYsR0FBRyxDQWxHdEIsc0JBQU8sR2lDb0pqQjtFQWZILEFBaUJFLFlBakJVLEFBaUJULFNBQVMsRUFqQlosWUFBWSxBQWtCVCxTQUFTLENBQUM7SUFDVCxZQUFZLEVuQ2dDRCxXQUFXLENtQ2hDcUIsVUFBVTtJQUNyRCxVQUFVLEVqQ3pKRCxPQUFPLENpQ3lKUSxVQUFVO0lBQ2xDLFVBQVUsRUFBRSxlQUFlO0lBQzNCLEtBQUssRW5DdkJDLElBQUksQ21DdUJJLFVBQVUsR0FDekI7O0FBR0gsQUFBQSxZQUFZLENBQUMsTUFBTSxDQUFEO0VBQ2hCLFVBQVUsRW5DNUJGLElBQUk7RW1DNkJaLEtBQUssRWpDaktNLE9BQU8sR2lDa0tuQjs7QUFFRCxBQUFBLFlBQVksQUFBQSxPQUFPO0FBQ25CLFlBQVksQUFBQSxPQUFPO0FBQ25CLEtBQUssR0FBRyxZQUFZLEFBQUEsZ0JBQWdCLENBQUQ7RUFDakMsWUFBWSxFbkNpQkMsV0FBVztFbUNoQnhCLFVBQVUsRW5DaEVGLE9BQW1DO0VtQ3FFekMsVUFBVSxFQUFFLElBQUksR0FFbkI7O0FBR0QsQUFBQSxVQUFVLENBQUMsWUFBWTtBQUN2QixvQkFBb0IsQ0FBQyxZQUFZO0FBQ2pDLG1CQUFtQixDQUFDLFlBQVksQ0FBRDtFQUM3QixZQUFZLEVqQzVGa0IsR0FBRyxDaUM0RkssS0FBSyxDbkM3RW5DLE9BQW1DO0VtQzhFM0MsV0FBVyxFakM3Rm1CLEdBQUcsQ2lDNkZJLEtBQUssQ25DOUVsQyxPQUFtQyxHbUMrRTVDOztBQXNGRCxBQUFBLG9CQUFvQixDQUFUO0VBQ1QsWUFBWSxFakM5UUQsT0FBTztFaUMrUWxCLFVBQVUsRUFBRSxXQUFXO0VBQ3ZCLEtBQUssRWpDaFJNLE9BQU8sR2lDd1NuQjtFQTNCRCxBN0JqU0Esb0I2QmlTb0IsQTdCalNuQixNQUFNLENBQUM7STZCdVNKLFlBQVksRW5DM0ZELFdBQVc7SW1DNEZ0QixVQUFVLEVqQ3BSRCxPQUFPO0lpQ3FSaEIsS0FBSyxFbkNqSkMsSUFBSSxHTXhKUTtJNkJpU3RCLEFBVUksb0JBVmdCLEE3QmpTbkIsTUFBTSxDNkIyU0gsTUFBTSxDQUFDO01BQ0wsVUFBVSxFbkNwSk4sSUFBSTtNbUNxSlIsS0FBSyxFakN6UkUsT0FBTyxHaUMwUmY7RUFiTCxBQWdCRSxvQkFoQmtCLEFBZ0JqQixNQUFNLEVBaEJULG9CQUFvQixBQWlCakIsTUFBTSxDQUFDO0lBQ04sVUFBVSxFbkN0R21HLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDRXZGdEYsR0FBRyxDQWxHdEIsc0JBQU8sR2lDZ1NqQjtFQW5CSCxBQXFCRSxvQkFyQmtCLEFBcUJqQixTQUFTLEVBckJaLG9CQUFvQixBQXNCakIsU0FBUyxDQUFDO0lBQ1QsWUFBWSxFakNwU0gsT0FBTyxDaUNvU0ssVUFBVTtJQUMvQixVQUFVLEVBQUUsc0JBQXNCO0lBQ2xDLEtBQUssRWpDdFNJLE9BQU8sQ2lDc1NGLFVBQVUsR0FDekI7O0FBR0gsQUFBQSxvQkFBb0IsQ0FBQyxNQUFNLENBQVQ7RUFDaEIsVUFBVSxFakMzU0MsT0FBTztFaUM0U2xCLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBRUQsQUFBQSxvQkFBb0IsQUFBQSxPQUFPO0FBQzNCLG9CQUFvQixBQUFBLE9BQU87QUFDM0IsS0FBSyxHQUFHLG9CQUFvQixBQUFBLGdCQUFnQixDQUFUO0VBQ2pDLFlBQVksRW5DMUhDLFdBQVc7RW1DMkh4QixVQUFVLEVuQzNNRixPQUFtQztFbUM0TTNDLEtBQUssRW5DaExHLElBQUk7RW1DcUxWLFVBQVUsRUFBRSxJQUFJLEdBT25CO0VBakJELEFBYUUsb0JBYmtCLEFBQUEsT0FBTyxDQWF6QixNQUFNO0VBWlIsb0JBQW9CLEFBQUEsT0FBTyxDQVl6QixNQUFNO0VBWFIsS0FBSyxHQUFHLG9CQUFvQixBQUFBLGdCQUFnQixDQVcxQyxNQUFNLENBQUM7SUFDTCxVQUFVLEVuQ3pMSixJQUFJO0ltQzBMVixLQUFLLEVqQzlUSSxPQUFPLEdpQytUakI7O0FBMUxILEFBQUEsU0FBUyxDQUFFO0VBQ1QsWUFBWSxFbkNrREMsV0FBVztFbUNqRHhCLFVBQVUsRWpDcklDLE9BQU87RWlDc0lsQixLQUFLLEVuQ0pHLElBQUksR21DeUJiO0VBeEJELEE3QnpKQSxTNkJ5SlMsQTdCekpSLE1BQU0sQ0FBQztJNkJnS0osWUFBWSxFbkM0Q0QsV0FBVztJbUMzQ3RCLFVBQVUsRW5DckNKLE9BQW1DO0ltQ3NDekMsS0FBSyxFbkNWQyxJQUFJLEdNeEpRO0U2QnlKdEIsQUFZRSxTQVpPLEFBWU4sTUFBTSxFQVpULFNBQVMsQUFhTixNQUFNLENBQUM7SUFDTixVQUFVLEVuQ3NDbUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENFdkZ0RixHQUFHLENBaEd0Qix1QkFBTyxHaUNrSmpCO0VBZkgsQUFpQkUsU0FqQk8sQUFpQk4sU0FBUyxFQWpCWixTQUFTLEFBa0JOLFNBQVMsQ0FBQztJQUNULFlBQVksRW5DZ0NELFdBQVcsQ21DaENxQixVQUFVO0lBQ3JELFVBQVUsRWpDdkpELE9BQU8sQ2lDdUpRLFVBQVU7SUFDbEMsVUFBVSxFQUFFLGVBQWU7SUFDM0IsS0FBSyxFbkN2QkMsSUFBSSxDbUN1QkksVUFBVSxHQUN6Qjs7QUFHSCxBQUFBLFNBQVMsQ0FBQyxNQUFNLENBQUU7RUFDaEIsVUFBVSxFbkM1QkYsSUFBSTtFbUM2QlosS0FBSyxFakMvSk0sT0FBTyxHaUNnS25COztBQUVELEFBQUEsU0FBUyxBQUFBLE9BQU87QUFDaEIsU0FBUyxBQUFBLE9BQU87QUFDaEIsS0FBSyxHQUFHLFNBQVMsQUFBQSxnQkFBZ0IsQ0FBRTtFQUNqQyxZQUFZLEVuQ2lCQyxXQUFXO0VtQ2hCeEIsVUFBVSxFbkNoRUYsT0FBbUM7RW1DcUV6QyxVQUFVLEVBQUUsSUFBSSxHQUVuQjs7QUFHRCxBQUFBLFVBQVUsQ0FBQyxTQUFTO0FBQ3BCLG9CQUFvQixDQUFDLFNBQVM7QUFDOUIsbUJBQW1CLENBQUMsU0FBUyxDQUFFO0VBQzdCLFlBQVksRWpDNUZrQixHQUFHLENpQzRGSyxLQUFLLENuQzdFbkMsT0FBbUM7RW1DOEUzQyxXQUFXLEVqQzdGbUIsR0FBRyxDaUM2RkksS0FBSyxDbkM5RWxDLE9BQW1DLEdtQytFNUM7O0FBc0ZELEFBQUEsaUJBQWlCLENBQU47RUFDVCxZQUFZLEVqQzVRRCxPQUFPO0VpQzZRbEIsVUFBVSxFQUFFLFdBQVc7RUFDdkIsS0FBSyxFakM5UU0sT0FBTyxHaUNzU25CO0VBM0JELEE3QmpTQSxpQjZCaVNpQixBN0JqU2hCLE1BQU0sQ0FBQztJNkJ1U0osWUFBWSxFbkMzRkQsV0FBVztJbUM0RnRCLFVBQVUsRWpDbFJELE9BQU87SWlDbVJoQixLQUFLLEVuQ2pKQyxJQUFJLEdNeEpRO0k2QmlTdEIsQUFVSSxpQkFWYSxBN0JqU2hCLE1BQU0sQzZCMlNILE1BQU0sQ0FBQztNQUNMLFVBQVUsRW5DcEpOLElBQUk7TW1DcUpSLEtBQUssRWpDdlJFLE9BQU8sR2lDd1JmO0VBYkwsQUFnQkUsaUJBaEJlLEFBZ0JkLE1BQU0sRUFoQlQsaUJBQWlCLEFBaUJkLE1BQU0sQ0FBQztJQUNOLFVBQVUsRW5DdEdtRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0V2RnRGLEdBQUcsQ0FoR3RCLHVCQUFPLEdpQzhSakI7RUFuQkgsQUFxQkUsaUJBckJlLEFBcUJkLFNBQVMsRUFyQlosaUJBQWlCLEFBc0JkLFNBQVMsQ0FBQztJQUNULFlBQVksRWpDbFNILE9BQU8sQ2lDa1NLLFVBQVU7SUFDL0IsVUFBVSxFQUFFLHNCQUFzQjtJQUNsQyxLQUFLLEVqQ3BTSSxPQUFPLENpQ29TRixVQUFVLEdBQ3pCOztBQUdILEFBQUEsaUJBQWlCLENBQUMsTUFBTSxDQUFOO0VBQ2hCLFVBQVUsRWpDelNDLE9BQU87RWlDMFNsQixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUVELEFBQUEsaUJBQWlCLEFBQUEsT0FBTztBQUN4QixpQkFBaUIsQUFBQSxPQUFPO0FBQ3hCLEtBQUssR0FBRyxpQkFBaUIsQUFBQSxnQkFBZ0IsQ0FBTjtFQUNqQyxZQUFZLEVuQzFIQyxXQUFXO0VtQzJIeEIsVUFBVSxFbkMzTUYsT0FBbUM7RW1DNE0zQyxLQUFLLEVuQ2hMRyxJQUFJO0VtQ3FMVixVQUFVLEVBQUUsSUFBSSxHQU9uQjtFQWpCRCxBQWFFLGlCQWJlLEFBQUEsT0FBTyxDQWF0QixNQUFNO0VBWlIsaUJBQWlCLEFBQUEsT0FBTyxDQVl0QixNQUFNO0VBWFIsS0FBSyxHQUFHLGlCQUFpQixBQUFBLGdCQUFnQixDQVd2QyxNQUFNLENBQUM7SUFDTCxVQUFVLEVuQ3pMSixJQUFJO0ltQzBMVixLQUFLLEVqQzVUSSxPQUFPLEdpQzZUakI7O0FBMUxILEFBQUEsWUFBWSxDQUFEO0VBQ1QsWUFBWSxFbkNrREMsV0FBVztFbUNqRHhCLFVBQVUsRWpDeElDLE9BQU87RWlDeUlsQixLQUFLLEVuQ2hDRyxPQUFtQyxHbUNxRDVDO0VBeEJELEE3QnpKQSxZNkJ5SlksQTdCekpYLE1BQU0sQ0FBQztJNkJnS0osWUFBWSxFbkM0Q0QsV0FBVztJbUMzQ3RCLFVBQVUsRW5DckNKLE9BQW1DO0ltQ3NDekMsS0FBSyxFbkN0Q0MsT0FBbUMsR001SHZCO0U2QnlKdEIsQUFZRSxZQVpVLEFBWVQsTUFBTSxFQVpULFlBQVksQUFhVCxNQUFNLENBQUM7SUFDTixVQUFVLEVuQ3NDbUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENFdkZ0RixHQUFHLENBbkd0Qix1QkFBTyxHaUNxSmpCO0VBZkgsQUFpQkUsWUFqQlUsQUFpQlQsU0FBUyxFQWpCWixZQUFZLEFBa0JULFNBQVMsQ0FBQztJQUNULFlBQVksRW5DZ0NELFdBQVcsQ21DaENxQixVQUFVO0lBQ3JELFVBQVUsRWpDMUpELE9BQU8sQ2lDMEpRLFVBQVU7SUFDbEMsVUFBVSxFQUFFLGVBQWU7SUFDM0IsS0FBSyxFbkNuREMsT0FBbUMsQ21DbUQzQixVQUFVLEdBQ3pCOztBQUdILEFBQUEsWUFBWSxDQUFDLE1BQU0sQ0FBRDtFQUNoQixVQUFVLEVuQ3hERixPQUFtQztFbUN5RDNDLEtBQUssRWpDbEtNLE9BQU8sR2lDbUtuQjs7QUFFRCxBQUFBLFlBQVksQUFBQSxPQUFPO0FBQ25CLFlBQVksQUFBQSxPQUFPO0FBQ25CLEtBQUssR0FBRyxZQUFZLEFBQUEsZ0JBQWdCLENBQUQ7RUFDakMsWUFBWSxFbkNpQkMsV0FBVztFbUNoQnhCLFVBQVUsRW5DaEVGLE9BQW1DO0VtQ3FFekMsVUFBVSxFQUFFLElBQUksR0FFbkI7O0FBR0QsQUFBQSxVQUFVLENBQUMsWUFBWTtBQUN2QixvQkFBb0IsQ0FBQyxZQUFZO0FBQ2pDLG1CQUFtQixDQUFDLFlBQVksQ0FBRDtFQUM3QixZQUFZLEVqQzVGa0IsR0FBRyxDaUM0RkssS0FBSyxDbkM3RW5DLE9BQW1DO0VtQzhFM0MsV0FBVyxFakM3Rm1CLEdBQUcsQ2lDNkZJLEtBQUssQ25DOUVsQyxPQUFtQyxHbUMrRTVDOztBQXNGRCxBQUFBLG9CQUFvQixDQUFUO0VBQ1QsWUFBWSxFakMvUUQsT0FBTztFaUNnUmxCLFVBQVUsRUFBRSxXQUFXO0VBQ3ZCLEtBQUssRWpDalJNLE9BQU8sR2lDeVNuQjtFQTNCRCxBN0JqU0Esb0I2QmlTb0IsQTdCalNuQixNQUFNLENBQUM7STZCdVNKLFlBQVksRW5DM0ZELFdBQVc7SW1DNEZ0QixVQUFVLEVqQ3JSRCxPQUFPO0lpQ3NSaEIsS0FBSyxFbkM3S0MsT0FBbUMsR001SHZCO0k2QmlTdEIsQUFVSSxvQkFWZ0IsQTdCalNuQixNQUFNLEM2QjJTSCxNQUFNLENBQUM7TUFDTCxVQUFVLEVuQ2hMTixPQUFtQztNbUNpTHZDLEtBQUssRWpDMVJFLE9BQU8sR2lDMlJmO0VBYkwsQUFnQkUsb0JBaEJrQixBQWdCakIsTUFBTSxFQWhCVCxvQkFBb0IsQUFpQmpCLE1BQU0sQ0FBQztJQUNOLFVBQVUsRW5DdEdtRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0V2RnRGLEdBQUcsQ0FuR3RCLHVCQUFPLEdpQ2lTakI7RUFuQkgsQUFxQkUsb0JBckJrQixBQXFCakIsU0FBUyxFQXJCWixvQkFBb0IsQUFzQmpCLFNBQVMsQ0FBQztJQUNULFlBQVksRWpDclNILE9BQU8sQ2lDcVNLLFVBQVU7SUFDL0IsVUFBVSxFQUFFLHNCQUFzQjtJQUNsQyxLQUFLLEVqQ3ZTSSxPQUFPLENpQ3VTRixVQUFVLEdBQ3pCOztBQUdILEFBQUEsb0JBQW9CLENBQUMsTUFBTSxDQUFUO0VBQ2hCLFVBQVUsRWpDNVNDLE9BQU87RWlDNlNsQixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUVELEFBQUEsb0JBQW9CLEFBQUEsT0FBTztBQUMzQixvQkFBb0IsQUFBQSxPQUFPO0FBQzNCLEtBQUssR0FBRyxvQkFBb0IsQUFBQSxnQkFBZ0IsQ0FBVDtFQUNqQyxZQUFZLEVuQzFIQyxXQUFXO0VtQzJIeEIsVUFBVSxFbkMzTUYsT0FBbUM7RW1DNE0zQyxLQUFLLEVuQzVNRyxPQUFtQztFbUNpTnpDLFVBQVUsRUFBRSxJQUFJLEdBT25CO0VBakJELEFBYUUsb0JBYmtCLEFBQUEsT0FBTyxDQWF6QixNQUFNO0VBWlIsb0JBQW9CLEFBQUEsT0FBTyxDQVl6QixNQUFNO0VBWFIsS0FBSyxHQUFHLG9CQUFvQixBQUFBLGdCQUFnQixDQVcxQyxNQUFNLENBQUM7SUFDTCxVQUFVLEVuQ3JOSixPQUFtQztJbUNzTnpDLEtBQUssRWpDL1RJLE9BQU8sR2lDZ1VqQjs7QUExTEgsQUFBQSxXQUFXLENBQUE7RUFDVCxZQUFZLEVuQ2tEQyxXQUFXO0VtQ2pEeEIsVUFBVSxFakMxSUMsT0FBTztFaUMySWxCLEtBQUssRW5DSkcsSUFBSSxHbUN5QmI7RUF4QkQsQTdCekpBLFc2QnlKVyxBN0J6SlYsTUFBTSxDQUFDO0k2QmdLSixZQUFZLEVuQzRDRCxXQUFXO0ltQzNDdEIsVUFBVSxFbkNyQ0osT0FBbUM7SW1Dc0N6QyxLQUFLLEVuQ1ZDLElBQUksR014SlE7RTZCeUp0QixBQVlFLFdBWlMsQUFZUixNQUFNLEVBWlQsV0FBVyxBQWFSLE1BQU0sQ0FBQztJQUNOLFVBQVUsRW5Dc0NtRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0V2RnRGLEdBQUcsQ0FyR3RCLHNCQUFPLEdpQ3VKakI7RUFmSCxBQWlCRSxXQWpCUyxBQWlCUixTQUFTLEVBakJaLFdBQVcsQUFrQlIsU0FBUyxDQUFDO0lBQ1QsWUFBWSxFbkNnQ0QsV0FBVyxDbUNoQ3FCLFVBQVU7SUFDckQsVUFBVSxFakM1SkQsT0FBTyxDaUM0SlEsVUFBVTtJQUNsQyxVQUFVLEVBQUUsZUFBZTtJQUMzQixLQUFLLEVuQ3ZCQyxJQUFJLENtQ3VCSSxVQUFVLEdBQ3pCOztBQUdILEFBQUEsV0FBVyxDQUFDLE1BQU0sQ0FBQTtFQUNoQixVQUFVLEVuQzVCRixJQUFJO0VtQzZCWixLQUFLLEVqQ3BLTSxPQUFPLEdpQ3FLbkI7O0FBRUQsQUFBQSxXQUFXLEFBQUEsT0FBTztBQUNsQixXQUFXLEFBQUEsT0FBTztBQUNsQixLQUFLLEdBQUcsV0FBVyxBQUFBLGdCQUFnQixDQUFBO0VBQ2pDLFlBQVksRW5DaUJDLFdBQVc7RW1DaEJ4QixVQUFVLEVuQ2hFRixPQUFtQztFbUNxRXpDLFVBQVUsRUFBRSxJQUFJLEdBRW5COztBQUdELEFBQUEsVUFBVSxDQUFDLFdBQVc7QUFDdEIsb0JBQW9CLENBQUMsV0FBVztBQUNoQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUE7RUFDN0IsWUFBWSxFakM1RmtCLEdBQUcsQ2lDNEZLLEtBQUssQ25DN0VuQyxPQUFtQztFbUM4RTNDLFdBQVcsRWpDN0ZtQixHQUFHLENpQzZGSSxLQUFLLENuQzlFbEMsT0FBbUMsR21DK0U1Qzs7QUFzRkQsQUFBQSxtQkFBbUIsQ0FBUjtFQUNULFlBQVksRWpDalJELE9BQU87RWlDa1JsQixVQUFVLEVBQUUsV0FBVztFQUN2QixLQUFLLEVqQ25STSxPQUFPLEdpQzJTbkI7RUEzQkQsQTdCalNBLG1CNkJpU21CLEE3QmpTbEIsTUFBTSxDQUFDO0k2QnVTSixZQUFZLEVuQzNGRCxXQUFXO0ltQzRGdEIsVUFBVSxFakN2UkQsT0FBTztJaUN3UmhCLEtBQUssRW5DakpDLElBQUksR014SlE7STZCaVN0QixBQVVJLG1CQVZlLEE3QmpTbEIsTUFBTSxDNkIyU0gsTUFBTSxDQUFDO01BQ0wsVUFBVSxFbkNwSk4sSUFBSTtNbUNxSlIsS0FBSyxFakM1UkUsT0FBTyxHaUM2UmY7RUFiTCxBQWdCRSxtQkFoQmlCLEFBZ0JoQixNQUFNLEVBaEJULG1CQUFtQixBQWlCaEIsTUFBTSxDQUFDO0lBQ04sVUFBVSxFbkN0R21HLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDRXZGdEYsR0FBRyxDQXJHdEIsc0JBQU8sR2lDbVNqQjtFQW5CSCxBQXFCRSxtQkFyQmlCLEFBcUJoQixTQUFTLEVBckJaLG1CQUFtQixBQXNCaEIsU0FBUyxDQUFDO0lBQ1QsWUFBWSxFakN2U0gsT0FBTyxDaUN1U0ssVUFBVTtJQUMvQixVQUFVLEVBQUUsc0JBQXNCO0lBQ2xDLEtBQUssRWpDelNJLE9BQU8sQ2lDeVNGLFVBQVUsR0FDekI7O0FBR0gsQUFBQSxtQkFBbUIsQ0FBQyxNQUFNLENBQVI7RUFDaEIsVUFBVSxFakM5U0MsT0FBTztFaUMrU2xCLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBRUQsQUFBQSxtQkFBbUIsQUFBQSxPQUFPO0FBQzFCLG1CQUFtQixBQUFBLE9BQU87QUFDMUIsS0FBSyxHQUFHLG1CQUFtQixBQUFBLGdCQUFnQixDQUFSO0VBQ2pDLFlBQVksRW5DMUhDLFdBQVc7RW1DMkh4QixVQUFVLEVuQzNNRixPQUFtQztFbUM0TTNDLEtBQUssRW5DaExHLElBQUk7RW1DcUxWLFVBQVUsRUFBRSxJQUFJLEdBT25CO0VBakJELEFBYUUsbUJBYmlCLEFBQUEsT0FBTyxDQWF4QixNQUFNO0VBWlIsbUJBQW1CLEFBQUEsT0FBTyxDQVl4QixNQUFNO0VBWFIsS0FBSyxHQUFHLG1CQUFtQixBQUFBLGdCQUFnQixDQVd6QyxNQUFNLENBQUM7SUFDTCxVQUFVLEVuQ3pMSixJQUFJO0ltQzBMVixLQUFLLEVqQ2pVSSxPQUFPLEdpQ2tVakI7O0FBMUxILEFBQUEsVUFBVSxDQUFDO0VBQ1QsWUFBWSxFbkMyQ0MsV0FBVztFbUMxQ3hCLFVBQVUsRWpDaEtDLHNCQUFPO0VpQ2lLbEIsS0FBSyxFbkNoQ0csT0FBbUMsR21DcUQ1QztFQXhCRCxBN0J6SkEsVTZCeUpVLEE3QnpKVCxNQUFNLENBQUM7STZCZ0tKLFlBQVksRW5DcUNELFdBQVc7SW1DcEN0QixVQUFVLEVqQ3RLRCxzQkFBTztJaUN1S2hCLEtBQUssRW5DdENDLE9BQW1DLEdNNUh2QjtFNkJ5SnRCLEFBWUUsVUFaUSxBQVlQLE1BQU0sRUFaVCxVQUFVLEFBYVAsTUFBTSxDQUFDO0lBQ04sVUFBVSxFbkMrQnlGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDRWhGNUUsR0FBRyxDQTNIdEIsdUJBQU8sR2lDNktqQjtFQWZILEFBaUJFLFVBakJRLEFBaUJQLFNBQVMsRUFqQlosVUFBVSxBQWtCUCxTQUFTLENBQUM7SUFDVCxZQUFZLEVuQ3lCRCxXQUFXLENtQ3pCcUIsVUFBVTtJQUNyRCxVQUFVLEVqQ2xMRCxzQkFBTyxDaUNrTFEsVUFBVTtJQUNsQyxVQUFVLEVBQUUsZUFBZTtJQUMzQixLQUFLLEVuQ25EQyxPQUFtQyxDbUNtRDNCLFVBQVUsR0FDekI7O0FBR0gsQUFBQSxVQUFVLENBQUMsTUFBTSxDQUFDO0VBQ2hCLFVBQVUsRW5DeERGLE9BQW1DO0VtQ3lEM0MsS0FBSyxFbkN6REcsT0FBbUMsR21DMEQ1Qzs7QUFFRCxBQUFBLFVBQVUsQUFBQSxPQUFPO0FBQ2pCLFVBQVUsQUFBQSxPQUFPO0FBQ2pCLEtBQUssR0FBRyxVQUFVLEFBQUEsZ0JBQWdCLENBQUM7RUFDakMsWUFBWSxFbkNVQyxXQUFXO0VtQ1R4QixVQUFVLEVqQ2pNQyxzQkFBTztFaUNzTWhCLFVBQVUsRUFBRSxJQUFJLEdBRW5COztBQUdELEFBQUEsVUFBVSxDQUFDLFVBQVU7QUFDckIsb0JBQW9CLENBQUMsVUFBVTtBQUMvQixtQkFBbUIsQ0FBQyxVQUFVLENBQUM7RUFDN0IsWUFBWSxFakM1RmtCLEdBQUcsQ2lDNEZLLEtBQUssQ2pDOU1oQyxzQkFBTztFaUMrTWxCLFdBQVcsRWpDN0ZtQixHQUFHLENpQzZGSSxLQUFLLENqQy9NL0Isc0JBQU8sR2lDZ05uQjs7QUFzRkQsQUFBQSxrQkFBa0IsQ0FBUDtFQUNULFlBQVksRWpDdlNELHNCQUFPO0VpQ3dTbEIsVUFBVSxFQUFFLFdBQVc7RUFDdkIsS0FBSyxFakN6U00sc0JBQU8sR2lDaVVuQjtFQTNCRCxBN0JqU0Esa0I2QmlTa0IsQTdCalNqQixNQUFNLENBQUM7STZCdVNKLFlBQVksRW5DbEdELFdBQVc7SW1DbUd0QixVQUFVLEVqQzdTRCxzQkFBTztJaUM4U2hCLEtBQUssRW5DN0tDLE9BQW1DLEdNNUh2QjtJNkJpU3RCLEFBVUksa0JBVmMsQTdCalNqQixNQUFNLEM2QjJTSCxNQUFNLENBQUM7TUFDTCxVQUFVLEVuQ2hMTixPQUFtQztNbUNpTHZDLEtBQUssRW5DckpELElBQUksR21Dc0pUO0VBYkwsQUFnQkUsa0JBaEJnQixBQWdCZixNQUFNLEVBaEJULGtCQUFrQixBQWlCZixNQUFNLENBQUM7SUFDTixVQUFVLEVuQzdHeUYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENFaEY1RSxHQUFHLENBM0h0Qix1QkFBTyxHaUN5VGpCO0VBbkJILEFBcUJFLGtCQXJCZ0IsQUFxQmYsU0FBUyxFQXJCWixrQkFBa0IsQUFzQmYsU0FBUyxDQUFDO0lBQ1QsWUFBWSxFakM3VEgsc0JBQU8sQ2lDNlRLLFVBQVU7SUFDL0IsVUFBVSxFQUFFLHNCQUFzQjtJQUNsQyxLQUFLLEVqQy9USSxzQkFBTyxDaUMrVEYsVUFBVSxHQUN6Qjs7QUFHSCxBQUFBLGtCQUFrQixDQUFDLE1BQU0sQ0FBUDtFQUNoQixVQUFVLEVqQ3BVQyxzQkFBTztFaUNxVWxCLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBRUQsQUFBQSxrQkFBa0IsQUFBQSxPQUFPO0FBQ3pCLGtCQUFrQixBQUFBLE9BQU87QUFDekIsS0FBSyxHQUFHLGtCQUFrQixBQUFBLGdCQUFnQixDQUFQO0VBQ2pDLFlBQVksRW5DaklDLFdBQVc7RW1Da0l4QixVQUFVLEVqQzVVQyxzQkFBTztFaUM2VWxCLEtBQUssRW5DNU1HLE9BQW1DO0VtQ2lOekMsVUFBVSxFQUFFLElBQUksR0FPbkI7RUFqQkQsQUFhRSxrQkFiZ0IsQUFBQSxPQUFPLENBYXZCLE1BQU07RUFaUixrQkFBa0IsQUFBQSxPQUFPLENBWXZCLE1BQU07RUFYUixLQUFLLEdBQUcsa0JBQWtCLEFBQUEsZ0JBQWdCLENBV3hDLE1BQU0sQ0FBQztJQUNMLFVBQVUsRW5Dck5KLE9BQW1DO0ltQ3NOekMsS0FBSyxFbkMxTEMsSUFBSSxHbUMyTFg7O0FBMUxILEFBQUEsU0FBUyxDQUFFO0VBQ1QsWUFBWSxFbkMyQ0MsV0FBVztFbUMxQ3hCLFVBQVUsRWpDaEtDLHFCQUFPO0VpQ2lLbEIsS0FBSyxFbkNKRyxJQUFJLEdtQ3lCYjtFQXhCRCxBN0J6SkEsUzZCeUpTLEE3QnpKUixNQUFNLENBQUM7STZCZ0tKLFlBQVksRW5DcUNELFdBQVc7SW1DcEN0QixVQUFVLEVqQ3RLRCxzQkFBTztJaUN1S2hCLEtBQUssRW5DVkMsSUFBSSxHTXhKUTtFNkJ5SnRCLEFBWUUsU0FaTyxBQVlOLE1BQU0sRUFaVCxTQUFTLEFBYU4sTUFBTSxDQUFDO0lBQ04sVUFBVSxFbkMrQnlGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDRWhGNUUsR0FBRyxDQTNIdEIsdUJBQU8sR2lDNktqQjtFQWZILEFBaUJFLFNBakJPLEFBaUJOLFNBQVMsRUFqQlosU0FBUyxBQWtCTixTQUFTLENBQUM7SUFDVCxZQUFZLEVuQ3lCRCxXQUFXLENtQ3pCcUIsVUFBVTtJQUNyRCxVQUFVLEVqQ2xMRCxxQkFBTyxDaUNrTFEsVUFBVTtJQUNsQyxVQUFVLEVBQUUsZUFBZTtJQUMzQixLQUFLLEVuQ3ZCQyxJQUFJLENtQ3VCSSxVQUFVLEdBQ3pCOztBQUdILEFBQUEsU0FBUyxDQUFDLE1BQU0sQ0FBRTtFQUNoQixVQUFVLEVuQzVCRixJQUFJO0VtQzZCWixLQUFLLEVuQ3pERyxPQUFtQyxHbUMwRDVDOztBQUVELEFBQUEsU0FBUyxBQUFBLE9BQU87QUFDaEIsU0FBUyxBQUFBLE9BQU87QUFDaEIsS0FBSyxHQUFHLFNBQVMsQUFBQSxnQkFBZ0IsQ0FBRTtFQUNqQyxZQUFZLEVuQ1VDLFdBQVc7RW1DVHhCLFVBQVUsRWpDak1DLE9BQU87RWlDc01oQixVQUFVLEVBQUUsSUFBSSxHQUVuQjs7QUFHRCxBQUFBLFVBQVUsQ0FBQyxTQUFTO0FBQ3BCLG9CQUFvQixDQUFDLFNBQVM7QUFDOUIsbUJBQW1CLENBQUMsU0FBUyxDQUFFO0VBQzdCLFlBQVksRWpDNUZrQixHQUFHLENpQzRGSyxLQUFLLENqQzlNaEMsT0FBTztFaUMrTWxCLFdBQVcsRWpDN0ZtQixHQUFHLENpQzZGSSxLQUFLLENqQy9NL0IsT0FBTyxHaUNnTm5COztBQXNGRCxBQUFBLGlCQUFpQixDQUFOO0VBQ1QsWUFBWSxFakN2U0QscUJBQU87RWlDd1NsQixVQUFVLEVBQUUsV0FBVztFQUN2QixLQUFLLEVqQ3pTTSxxQkFBTyxHaUNpVW5CO0VBM0JELEE3QmpTQSxpQjZCaVNpQixBN0JqU2hCLE1BQU0sQ0FBQztJNkJ1U0osWUFBWSxFbkNsR0QsV0FBVztJbUNtR3RCLFVBQVUsRWpDN1NELHFCQUFPO0lpQzhTaEIsS0FBSyxFbkNqSkMsSUFBSSxHTXhKUTtJNkJpU3RCLEFBVUksaUJBVmEsQTdCalNoQixNQUFNLEM2QjJTSCxNQUFNLENBQUM7TUFDTCxVQUFVLEVuQ3BKTixJQUFJO01tQ3FKUixLQUFLLEVuQ2pMRCxPQUFtQyxHbUNrTHhDO0VBYkwsQUFnQkUsaUJBaEJlLEFBZ0JkLE1BQU0sRUFoQlQsaUJBQWlCLEFBaUJkLE1BQU0sQ0FBQztJQUNOLFVBQVUsRW5DN0d5RixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0VoRjVFLEdBQUcsQ0EzSHRCLHVCQUFPLEdpQ3lUakI7RUFuQkgsQUFxQkUsaUJBckJlLEFBcUJkLFNBQVMsRUFyQlosaUJBQWlCLEFBc0JkLFNBQVMsQ0FBQztJQUNULFlBQVksRWpDN1RILHFCQUFPLENpQzZUSyxVQUFVO0lBQy9CLFVBQVUsRUFBRSxzQkFBc0I7SUFDbEMsS0FBSyxFakMvVEkscUJBQU8sQ2lDK1RGLFVBQVUsR0FDekI7O0FBR0gsQUFBQSxpQkFBaUIsQ0FBQyxNQUFNLENBQU47RUFDaEIsVUFBVSxFakNwVUMscUJBQU87RWlDcVVsQixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUVELEFBQUEsaUJBQWlCLEFBQUEsT0FBTztBQUN4QixpQkFBaUIsQUFBQSxPQUFPO0FBQ3hCLEtBQUssR0FBRyxpQkFBaUIsQUFBQSxnQkFBZ0IsQ0FBTjtFQUNqQyxZQUFZLEVuQ2pJQyxXQUFXO0VtQ2tJeEIsVUFBVSxFakM1VUMsc0JBQU87RWlDNlVsQixLQUFLLEVuQ2hMRyxJQUFJO0VtQ3FMVixVQUFVLEVBQUUsSUFBSSxHQU9uQjtFQWpCRCxBQWFFLGlCQWJlLEFBQUEsT0FBTyxDQWF0QixNQUFNO0VBWlIsaUJBQWlCLEFBQUEsT0FBTyxDQVl0QixNQUFNO0VBWFIsS0FBSyxHQUFHLGlCQUFpQixBQUFBLGdCQUFnQixDQVd2QyxNQUFNLENBQUM7SUFDTCxVQUFVLEVuQ3pMSixJQUFJO0ltQzBMVixLQUFLLEVuQ3ROQyxPQUFtQyxHbUN1TjFDOztBQTFMSCxBQUFBLFlBQVksQ0FBRDtFQUNULFlBQVksRWpDL0pELHFCQUFPO0VpQ2dLbEIsVUFBVSxFakN1Q2EsV0FBVztFaUN0Q2xDLEtBQUssRWpDMUhVLE9BQU8sR2lDK0l2QjtFQXhCRCxBN0J6SkEsWTZCeUpZLEE3QnpKWCxNQUFNLENBQUM7STZCZ0tKLFlBQVksRWpDcktILHFCQUFPO0lpQ3NLaEIsVUFBVSxFakN0S0Qsc0JBQU87SWlDdUtoQixLQUFLLEVqQ2hJUSxPQUFPLEdJbENGO0U2QnlKdEIsQUFZRSxZQVpVLEFBWVQsTUFBTSxFQVpULFlBQVksQUFhVCxNQUFNLENBQUM7SUFDTixVQUFVLEVuQ3FCeUYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENFdEU1RSxHQUFHLENGTXpCLG1CQUFtQyxHbUM0QzFDO0VBZkgsQUFpQkUsWUFqQlUsQUFpQlQsU0FBUyxFQWpCWixZQUFZLEFBa0JULFNBQVMsQ0FBQztJQUNULFlBQVksRWpDakxILHFCQUFPLENpQ2lMMkIsVUFBVTtJQUNyRCxVQUFVLEVqQ3FCVyxXQUFXLENpQ3JCUixVQUFVO0lBQ2xDLFVBQVUsRUFBRSxlQUFlO0lBQzNCLEtBQUssRWpDN0lRLE9BQU8sQ2lDNklOLFVBQVUsR0FDekI7O0FBR0gsQUFBQSxZQUFZLENBQUMsTUFBTSxDQUFEO0VBQ2hCLFVBQVUsRWpDbEpLLE9BQU87RWlDbUp0QixLQUFLLEVuQ3pERyxLQUFtQyxHbUMwRDVDOztBQUVELEFBQUEsWUFBWSxBQUFBLE9BQU87QUFDbkIsWUFBWSxBQUFBLE9BQU87QUFDbkIsS0FBSyxHQUFHLFlBQVksQUFBQSxnQkFBZ0IsQ0FBRDtFQUNqQyxZQUFZLEVqQ2hNRCxxQkFBTztFaUNpTWxCLFVBQVUsRWpDak1DLHNCQUFPO0VpQ3NNaEIsVUFBVSxFQUFFLElBQUksR0FFbkI7O0FBR0QsQUFBQSxVQUFVLENBQUMsWUFBWTtBQUN2QixvQkFBb0IsQ0FBQyxZQUFZO0FBQ2pDLG1CQUFtQixDQUFDLFlBQVksQ0FBRDtFQUM3QixZQUFZLEVqQzVGa0IsR0FBRyxDaUM0RkssS0FBSyxDakM5TWhDLHNCQUFPO0VpQytNbEIsV0FBVyxFakM3Rm1CLEdBQUcsQ2lDNkZJLEtBQUssQ2pDL00vQixzQkFBTyxHaUNnTm5COztBQXNGRCxBQUFBLG9CQUFvQixDQUFUO0VBQ1QsWUFBWSxFakN2U0QscUJBQU87RWlDd1NsQixVQUFVLEVBQUUsV0FBVztFQUN2QixLQUFLLEVqQ3pTTSxxQkFBTyxHaUNpVW5CO0VBM0JELEE3QmpTQSxvQjZCaVNvQixBN0JqU25CLE1BQU0sQ0FBQztJNkJ1U0osWUFBWSxFbkNsR0QsV0FBVztJbUNtR3RCLFVBQVUsRWpDN1NELHFCQUFPO0lpQzhTaEIsS0FBSyxFakN2UVEsT0FBTyxHSWxDRjtJNkJpU3RCLEFBVUksb0JBVmdCLEE3QmpTbkIsTUFBTSxDNkIyU0gsTUFBTSxDQUFDO01BQ0wsVUFBVSxFakMxUUMsT0FBTztNaUMyUWxCLEtBQUssRW5DckpELElBQUksR21Dc0pUO0VBYkwsQUFnQkUsb0JBaEJrQixBQWdCakIsTUFBTSxFQWhCVCxvQkFBb0IsQUFpQmpCLE1BQU0sQ0FBQztJQUNOLFVBQVUsRW5DN0d5RixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0VoRjVFLEdBQUcsQ0EzSHRCLHVCQUFPLEdpQ3lUakI7RUFuQkgsQUFxQkUsb0JBckJrQixBQXFCakIsU0FBUyxFQXJCWixvQkFBb0IsQUFzQmpCLFNBQVMsQ0FBQztJQUNULFlBQVksRWpDN1RILHFCQUFPLENpQzZUSyxVQUFVO0lBQy9CLFVBQVUsRUFBRSxzQkFBc0I7SUFDbEMsS0FBSyxFakMvVEkscUJBQU8sQ2lDK1RGLFVBQVUsR0FDekI7O0FBR0gsQUFBQSxvQkFBb0IsQ0FBQyxNQUFNLENBQVQ7RUFDaEIsVUFBVSxFakNwVUMscUJBQU87RWlDcVVsQixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUVELEFBQUEsb0JBQW9CLEFBQUEsT0FBTztBQUMzQixvQkFBb0IsQUFBQSxPQUFPO0FBQzNCLEtBQUssR0FBRyxvQkFBb0IsQUFBQSxnQkFBZ0IsQ0FBVDtFQUNqQyxZQUFZLEVuQ2pJQyxXQUFXO0VtQ2tJeEIsVUFBVSxFakM1VUMsc0JBQU87RWlDNlVsQixLQUFLLEVqQ3RTVSxPQUFPO0VpQzJTcEIsVUFBVSxFQUFFLElBQUksR0FPbkI7RUFqQkQsQUFhRSxvQkFia0IsQUFBQSxPQUFPLENBYXpCLE1BQU07RUFaUixvQkFBb0IsQUFBQSxPQUFPLENBWXpCLE1BQU07RUFYUixLQUFLLEdBQUcsb0JBQW9CLEFBQUEsZ0JBQWdCLENBVzFDLE1BQU0sQ0FBQztJQUNMLFVBQVUsRWpDL1NHLE9BQU87SWlDZ1RwQixLQUFLLEVuQzFMQyxJQUFJLEdtQzJMWDs7QU1oVEwsQUFBQSxPQUFPLEVDQ1AsYUFBYSxHQUFHLElBQUksQ0REWjtFdkJvRE4sT0FBTyxFaEIrRmtCLFFBQU8sQ0FDUCxRQUFRO0VnQi9GakMsU0FBUyxFaEJyQ2MsT0FBTztFZ0JzQzlCLFdBQVcsRWhCN0JZLEdBQUc7RWdCZ0N4QixhQUFhLEVoQm1CaUIsT0FBTSxHdUMxRXZDOztBQUVELEFBQUEsT0FBTyxDQUFDO0VBQ04sU0FBUyxFdkNZYyxJQUFJLEd1Q1g1Qjs7QUFFRCxBQUFBLE9BQU8sQ0FBQztFQUNOLFNBQVMsRXZDU2MsT0FBTSxHdUNSOUI7O0FBRUQsQUFBQSxPQUFPLEVDdkJQLGFBQWEsR0FBRyxJQUFJLENEdUJaO0V2QndDTixPQUFPLEVoQmdGa0IsQ0FBQyxDQUNELE1BQUs7RWdCaEY5QixTQUFTLEVoQm5DYyxPQUFNO0VnQm9DN0IsV0FBVyxFaEIxQlksR0FBRztFZ0I2QnhCLGFBQWEsRWhCbUJpQixPQUFNLEd1QzlEdkM7O0FBS0QsQUFBQSxVQUFVLENBQUM7RUFDVCxhQUFhLEVBQUUsZ0JBQWdCLEdBQ2hDOztBQUtELEFBQUEsSUFBSSxBQUFBLFNBQVMsQ0FBQztFQUNaLFNBQVMsRUFBRSxPQUFPLEdBU25COztBQUtELEFBQUEsU0FBUyxDQUFDO0VBUVIsS0FBSyxFQUFFLHNCQUEyQyxDQUFDLFVBQVU7RUFDN0QsT0FBTyxFQUFFLENBQUM7RUFDVixXQUFXLEVBVFEsVUFBcUYsR0E4QnpHO0VBL0JELEFBWUUsU0FaTyxBQVlOLE9BQU8sRUNwRFYsYUFBYSxHRHdDYixTQUFTLEFDeENPLElBQUksQ0RvRFQ7SUFDUCxLQUFLLEVBQUUsb0JBQThDLENBQUMsVUFBVTtJQUNoRSxXQUFXLEVBWk0sUUFBcUYsR0Fhdkc7RUFmSCxBQWlCRSxTQWpCTyxBQWlCTixPQUFPLENBQUM7SUFDUCxLQUFLLEVBQUUsZ0JBQThDLENBQUMsVUFBVTtJQUNoRSxXQUFXLEVBaEJNLElBQXFGLEdBaUJ2RztFQXBCSCxBQXNCRSxTQXRCTyxBQXNCTixPQUFPLENBQUM7SUFDUCxLQUFLLEVBQUUsb0JBQThDLENBQUMsVUFBVTtJQUNoRSxXQUFXLEVBcEJNLFFBQXFGLEdBcUJ2RztFQXpCSCxBQTJCRSxTQTNCTyxBQTJCTixPQUFPLEVDL0VWLGFBQWEsR0RvRGIsU0FBUyxBQ3BETyxJQUFJLENEK0VUO0lBQ1AsS0FBSyxFQUFFLG9CQUE4QyxDQUFDLFVBQVU7SUFDaEUsV0FBVyxFQXhCTSxRQUFxRixHQXlCdkc7O0FBTUgsQUFDRSxJQURFLEFBQUEsV0FBVyxBQUNaLElBQUssQ0FBQSxPQUFPLENBQUMsSUFBSyxDQUFBLE9BQU8sQ0FBQyxJQUFLLENINkhsQixNQUFNLENHN0htQixJQUFLLENGOUJiLE1BQU07QUUrQnJDLElBQUssQ0FBQSxLQUFLLElBRlosSUFBSSxBQUFBLFdBQVcsQUFFRSxnQkFBZ0IsQUFBQSxJQUFLLENINEh0QixNQUFNLENHNUh1QixJQUFLLENGL0JqQixNQUFNLEVFK0JtQjtFQUN0RCxZQUFZLEVBQUUsc0JBQXNCO0VBQ3BDLFVBQVUsRUFBRSxlQUFlLEdBQzVCOztBQzdIRCxBQUFBLElBQUssQ0FBQSxVQUFVLElBQUksVUFBVSxHQUFHLElBQUksQUFBQSxJQUFLLENQaUt6QyxZQUFZLENPakswQyxJQUFLLEVBQUEsQUFBQSxLQUFDLEVBQU8sY0FBYyxBQUFyQixFQUF1QixZQUFZO0FBQy9GLFVBQVUsR0FBRyxVQUFVLEFBQUEsWUFBWSxHQUFHLElBQUksQUFBQSxJQUFLLENQZ0svQyxZQUFZLENPaEtnRCxJQUFLLEVBRE4sQUFBQSxLQUFDLEVBQU8sY0FBYyxBQUFyQixFQUM2QixZQUFZO0FBQ3JHLG9CQUFvQixHQUFHLElBQUksQUFBQSxJQUFLLENQK0poQyxZQUFZLENPL0ppQyxJQUFLLEVBRlMsQUFBQSxLQUFDLEVBQU8sY0FBYyxBQUFyQixFQUVjLFlBQVk7QUFDdEYsbUJBQW1CLEdBQUcsSUFBSSxBQUFBLElBQUssQ1A4Si9CLFlBQVksQ085SmdDLElBQUssRUFIVSxBQUFBLEtBQUMsRUFBTyxjQUFjLEFBQXJCLEVBR2EsWUFBWSxDQUFDO0VBRWxGLGlCQUFpQixFQUFFLHNCQUFzQixHQUs1Qzs7QUFFRCxBQUFBLElBQUssQ0FaQSxVQUFVLElBWUksVUFBVSxHQUFHLElBQUksQUFBQSxJQUFLLENQcUp6QyxZQUFZLENPckowQyxJQUFLLEVBWkEsQUFBQSxLQUFDLEVBQU8sY0FBYyxBQUFyQixFQVl1QixXQUFXO0FBQzlGLFVBQVUsR0FBRyxVQUFVLEFBQUEsV0FBVyxHQUFHLElBQUksQUFBQSxJQUFLLENQb0o5QyxZQUFZLENPcEorQyxJQUFLLEVBYkwsQUFBQSxLQUFDLEVBQU8sY0FBYyxBQUFyQixFQWE0QixXQUFXO0FBQ25HLElBQUssQ0FkQSxVQUFVLElBY0ksVUFBVSxHQUFHLGdCQUFnQixBQUFBLElBQUssQ1BtSnJELFlBQVksQ09uSnNELElBQUssRUFkWixBQUFBLEtBQUMsRUFBTyxjQUFjLEFBQXJCO0FBZTVELFVBQVUsR0FBRyxVQUFVLEFBQUEsV0FBVyxHQUFHLGdCQUFnQixBQUFBLElBQUssQ1BrSjFELFlBQVksQ09sSjJELElBQUssRUFmakIsQUFBQSxLQUFDLEVBQU8sY0FBYyxBQUFyQjtBQWdCNUQsb0JBQW9CLEdBQUcsSUFBSSxBQUFBLElBQUssQ1BpSmhDLFlBQVksQ09qSmlDLElBQUssRUFoQlMsQUFBQSxLQUFDLEVBQU8sY0FBYyxBQUFyQixFQWdCYyxXQUFXO0FBQ3JGLG1CQUFtQixHQUFHLElBQUksQUFBQSxJQUFLLENQZ0ovQixZQUFZLENPaEpnQyxJQUFLLEVBakJVLEFBQUEsS0FBQyxFQUFPLGNBQWMsQUFBckIsRUFpQmEsV0FBVztBQUNwRixvQkFBb0IsR0FBRyxnQkFBZ0IsQUFBQSxJQUFLLENQK0k1QyxZQUFZLENPL0k2QyxJQUFLLEVBbEJILEFBQUEsS0FBQyxFQUFPLGNBQWMsQUFBckI7QUFtQjVELG1CQUFtQixHQUFHLGdCQUFnQixBQUFBLElBQUssQ1A4STNDLFlBQVksQ085STRDLElBQUssRUFuQkYsQUFBQSxLQUFDLEVBQU8sY0FBYyxBQUFyQixHQW1CMEI7RUFFbEYsa0JBQWtCLEVBQUUsc0JBQXNCLEdBSzdDOztBQVVILEFBQUEsYUFBYSxHQUFHLElBQUksQ0FBQztFQUNuQixTQUFTLEV4Q3dCYyxPQUFNLEd3Q3ZCOUI7O0FBRUQsQUFBQSxhQUFhLEdBQUcsSUFBSSxDQUFDO0VBQ25CLFNBQVMsRXhDbUJjLElBQUksR3dDbEI1Qjs7QUFTRCxBQUFBLHNCQUFzQjtBQUN0QixPQUFPLEdBQUcsc0JBQXNCO0FBQ2hDLGFBQWEsR0FBRyxJQUFJLEdBQUcsc0JBQXNCO0FBQzdDLGVBQWUsQ0FBQyxJQUFJLEdBQUcsc0JBQXNCO0FBQzdDLE9BQU8sR0FBRyxzQkFBc0I7QUFYaEMsYUFBYSxHQUFHLElBQUksR0FXVixzQkFBc0I7QUFDaEMsYUFBYSxHQUFHLElBQUksR0FBRyxzQkFBc0IsQ0FBQztFQUM1QyxhQUFhLEVBQUUsSUFBSTtFQUNuQixZQUFZLEVBQUUsSUFBSSxHQUNuQjs7QUFFRCxBQUFBLE9BQU8sR0FBRyxzQkFBc0I7QUFDaEMsYUFBYSxHQUFHLElBQUksR0FBRyxzQkFBc0I7QUFDN0MsZUFBZSxDQUFDLElBQUksR0FBRyxzQkFBc0IsQ0FBQztFQUM1QyxhQUFhLEVBQUUsSUFBSTtFQUNuQixZQUFZLEVBQUUsSUFBSSxHQUNuQjs7QUFFRCxBQUFBLE9BQU8sR0FBRyxzQkFBc0IsRUFwQ2hDLGFBQWEsR0FBRyxJQUFJLEdBb0NWLHNCQUFzQjtBQUNoQyxhQUFhLEdBQUcsSUFBSSxHQUFHLHNCQUFzQixDQUFDO0VBQzVDLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFlBQVksRUFBRSxJQUFJLEdBQ25COztBUGdWQyxBQUFBLGdCQUFnQixDQUFMO0VBQ1QsZ0JBQWdCLEVqQ3ZYTCxPQUFPO0VpQ3dYbEIsS0FBSyxFbkMxUEcsSUFBSSxHbUMyUGI7O0FBRUQsQTdCalpBLGdCNkJpWmdCLENBQUEsQUFBQSxJQUFDLEFBQUEsQzdCalpoQixNQUFNLEU2QmlaUCxnQkFBZ0IsQ0FBQSxBQUFBLElBQUMsQUFBQSxDN0JoWmhCLE1BQU0sQ0FBQztFNkJrWkosZ0JBQWdCLEVuQzNSVixPQUFtQztFbUM0UnpDLEtBQUssRW5DaFFDLElBQUk7RW1DaVFWLGVBQWUsRUFBRSxJQUFJLEc3QmxaeEI7O0E2QnNaRCxBQUFBLElBQUksQ0FBQyxnQkFBZ0IsQ0FBTDtFQUNkLGdCQUFnQixFakNwWUwsT0FBTyxDaUNvWUksVUFBVTtFQUNoQyxLQUFLLEVuQ3ZRRyxJQUFJLENtQ3VRd0IsVUFBVSxHQUMvQzs7QUFJRCxBQUFBLHdCQUF3QixDQUFiO0VBQ1QsZ0JBQWdCLEVBQUUsV0FBVztFQUM3QixVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDakM1WVYsT0FBTyxDaUM0WVEsS0FBSztFQUMvQixLQUFLLEVqQzdZTSxPQUFPLEdpQzhZbkI7O0FBRUQsQTdCdGFBLHdCNkJzYXdCLENBQUEsQUFBQSxJQUFDLEFBQUEsQzdCdGF4QixNQUFNLEU2QnNhUCx3QkFBd0IsQ0FBQSxBQUFBLElBQUMsQUFBQSxDN0JyYXhCLE1BQU0sQ0FBQztFNkJ1YUosS0FBSyxFakNsWkksT0FBTztFaUNtWmhCLGVBQWUsRUFBRSxJQUFJLEc3QnRheEI7O0E2QjBhRCxBQUFBLElBQUksQ0FBQyx3QkFBd0IsQ0FBYjtFQUNkLGdCQUFnQixFQUFFLHNCQUFzQjtFQUN4QyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDakN6WlYsT0FBTyxDaUN5WlEsS0FBSyxDQUFDLFVBQVU7RUFDMUMsS0FBSyxFakMxWk0sT0FBTyxDaUMwWkosVUFBVSxHQUN6Qjs7QUFyQ0QsQUFBQSxjQUFjLENBQUg7RUFDVCxnQkFBZ0IsRWpDN1hMLE9BQU87RWlDOFhsQixLQUFLLEVuQzFQRyxJQUFJLEdtQzJQYjs7QUFFRCxBN0JqWkEsYzZCaVpjLENBQUEsQUFBQSxJQUFDLEFBQUEsQzdCalpkLE1BQU0sRTZCaVpQLGNBQWMsQ0FBQSxBQUFBLElBQUMsQUFBQSxDN0JoWmQsTUFBTSxDQUFDO0U2QmtaSixnQkFBZ0IsRW5DM1JWLE9BQW1DO0VtQzRSekMsS0FBSyxFbkNoUUMsSUFBSTtFbUNpUVYsZUFBZSxFQUFFLElBQUksRzdCbFp4Qjs7QTZCc1pELEFBQUEsSUFBSSxDQUFDLGNBQWMsQ0FBSDtFQUNkLGdCQUFnQixFakMxWUwsT0FBTyxDaUMwWUksVUFBVTtFQUNoQyxLQUFLLEVuQ3ZRRyxJQUFJLENtQ3VRd0IsVUFBVSxHQUMvQzs7QUFJRCxBQUFBLHNCQUFzQixDQUFYO0VBQ1QsZ0JBQWdCLEVBQUUsV0FBVztFQUM3QixVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDakNsWlYsT0FBTyxDaUNrWlEsS0FBSztFQUMvQixLQUFLLEVqQ25aTSxPQUFPLEdpQ29abkI7O0FBRUQsQTdCdGFBLHNCNkJzYXNCLENBQUEsQUFBQSxJQUFDLEFBQUEsQzdCdGF0QixNQUFNLEU2QnNhUCxzQkFBc0IsQ0FBQSxBQUFBLElBQUMsQUFBQSxDN0JyYXRCLE1BQU0sQ0FBQztFNkJ1YUosS0FBSyxFakN4WkksT0FBTztFaUN5WmhCLGVBQWUsRUFBRSxJQUFJLEc3QnRheEI7O0E2QjBhRCxBQUFBLElBQUksQ0FBQyxzQkFBc0IsQ0FBWDtFQUNkLGdCQUFnQixFQUFFLHNCQUFzQjtFQUN4QyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDakMvWlYsT0FBTyxDaUMrWlEsS0FBSyxDQUFDLFVBQVU7RUFDMUMsS0FBSyxFakNoYU0sT0FBTyxDaUNnYUosVUFBVSxHQUN6Qjs7QUFyQ0QsQUFBQSxXQUFXLENBQUE7RUFDVCxnQkFBZ0IsRWpDM1hMLE9BQU87RWlDNFhsQixLQUFLLEVuQzFQRyxJQUFJLEdtQzJQYjs7QUFFRCxBN0JqWkEsVzZCaVpXLENBQUEsQUFBQSxJQUFDLEFBQUEsQzdCalpYLE1BQU0sRTZCaVpQLFdBQVcsQ0FBQSxBQUFBLElBQUMsQUFBQSxDN0JoWlgsTUFBTSxDQUFDO0U2QmtaSixnQkFBZ0IsRW5DM1JWLE9BQW1DO0VtQzRSekMsS0FBSyxFbkNoUUMsSUFBSTtFbUNpUVYsZUFBZSxFQUFFLElBQUksRzdCbFp4Qjs7QTZCc1pELEFBQUEsSUFBSSxDQUFDLFdBQVcsQ0FBQTtFQUNkLGdCQUFnQixFakN4WUwsT0FBTyxDaUN3WUksVUFBVTtFQUNoQyxLQUFLLEVuQ3ZRRyxJQUFJLENtQ3VRd0IsVUFBVSxHQUMvQzs7QUFJRCxBQUFBLG1CQUFtQixDQUFSO0VBQ1QsZ0JBQWdCLEVBQUUsV0FBVztFQUM3QixVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDakNoWlYsT0FBTyxDaUNnWlEsS0FBSztFQUMvQixLQUFLLEVqQ2paTSxPQUFPLEdpQ2tabkI7O0FBRUQsQTdCdGFBLG1CNkJzYW1CLENBQUEsQUFBQSxJQUFDLEFBQUEsQzdCdGFuQixNQUFNLEU2QnNhUCxtQkFBbUIsQ0FBQSxBQUFBLElBQUMsQUFBQSxDN0JyYW5CLE1BQU0sQ0FBQztFNkJ1YUosS0FBSyxFakN0WkksT0FBTztFaUN1WmhCLGVBQWUsRUFBRSxJQUFJLEc3QnRheEI7O0E2QjBhRCxBQUFBLElBQUksQ0FBQyxtQkFBbUIsQ0FBUjtFQUNkLGdCQUFnQixFQUFFLHNCQUFzQjtFQUN4QyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDakM3WlYsT0FBTyxDaUM2WlEsS0FBSyxDQUFDLFVBQVU7RUFDMUMsS0FBSyxFakM5Wk0sT0FBTyxDaUM4WkosVUFBVSxHQUN6Qjs7QUFyQ0QsQUFBQSxjQUFjLENBQUg7RUFDVCxnQkFBZ0IsRWpDOVhMLE9BQU87RWlDK1hsQixLQUFLLEVuQ3RSRyxPQUFtQyxHbUN1UjVDOztBQUVELEE3QmpaQSxjNkJpWmMsQ0FBQSxBQUFBLElBQUMsQUFBQSxDN0JqWmQsTUFBTSxFNkJpWlAsY0FBYyxDQUFBLEFBQUEsSUFBQyxBQUFBLEM3QmhaZCxNQUFNLENBQUM7RTZCa1pKLGdCQUFnQixFbkMzUlYsT0FBbUM7RW1DNFJ6QyxLQUFLLEVuQzVSQyxPQUFtQztFbUM2UnpDLGVBQWUsRUFBRSxJQUFJLEc3QmxaeEI7O0E2QnNaRCxBQUFBLElBQUksQ0FBQyxjQUFjLENBQUg7RUFDZCxnQkFBZ0IsRWpDM1lMLE9BQU8sQ2lDMllJLFVBQVU7RUFDaEMsS0FBSyxFbkNuU0csT0FBbUMsQ21DbVNQLFVBQVUsR0FDL0M7O0FBSUQsQUFBQSxzQkFBc0IsQ0FBWDtFQUNULGdCQUFnQixFQUFFLFdBQVc7RUFDN0IsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ2pDblpWLE9BQU8sQ2lDbVpRLEtBQUs7RUFDL0IsS0FBSyxFakNwWk0sT0FBTyxHaUNxWm5COztBQUVELEE3QnRhQSxzQjZCc2FzQixDQUFBLEFBQUEsSUFBQyxBQUFBLEM3QnRhdEIsTUFBTSxFNkJzYVAsc0JBQXNCLENBQUEsQUFBQSxJQUFDLEFBQUEsQzdCcmF0QixNQUFNLENBQUM7RTZCdWFKLEtBQUssRWpDelpJLE9BQU87RWlDMFpoQixlQUFlLEVBQUUsSUFBSSxHN0J0YXhCOztBNkIwYUQsQUFBQSxJQUFJLENBQUMsc0JBQXNCLENBQVg7RUFDZCxnQkFBZ0IsRUFBRSxzQkFBc0I7RUFDeEMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ2pDaGFWLE9BQU8sQ2lDZ2FRLEtBQUssQ0FBQyxVQUFVO0VBQzFDLEtBQUssRWpDamFNLE9BQU8sQ2lDaWFKLFVBQVUsR0FDekI7O0FBckNELEFBQUEsYUFBYSxDQUFGO0VBQ1QsZ0JBQWdCLEVqQ2hZTCxPQUFPO0VpQ2lZbEIsS0FBSyxFbkMxUEcsSUFBSSxHbUMyUGI7O0FBRUQsQTdCalpBLGE2QmlaYSxDQUFBLEFBQUEsSUFBQyxBQUFBLEM3QmpaYixNQUFNLEU2QmlaUCxhQUFhLENBQUEsQUFBQSxJQUFDLEFBQUEsQzdCaFpiLE1BQU0sQ0FBQztFNkJrWkosZ0JBQWdCLEVuQzNSVixPQUFtQztFbUM0UnpDLEtBQUssRW5DaFFDLElBQUk7RW1DaVFWLGVBQWUsRUFBRSxJQUFJLEc3QmxaeEI7O0E2QnNaRCxBQUFBLElBQUksQ0FBQyxhQUFhLENBQUY7RUFDZCxnQkFBZ0IsRWpDN1lMLE9BQU8sQ2lDNllJLFVBQVU7RUFDaEMsS0FBSyxFbkN2UUcsSUFBSSxDbUN1UXdCLFVBQVUsR0FDL0M7O0FBSUQsQUFBQSxxQkFBcUIsQ0FBVjtFQUNULGdCQUFnQixFQUFFLFdBQVc7RUFDN0IsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ2pDclpWLE9BQU8sQ2lDcVpRLEtBQUs7RUFDL0IsS0FBSyxFakN0Wk0sT0FBTyxHaUN1Wm5COztBQUVELEE3QnRhQSxxQjZCc2FxQixDQUFBLEFBQUEsSUFBQyxBQUFBLEM3QnRhckIsTUFBTSxFNkJzYVAscUJBQXFCLENBQUEsQUFBQSxJQUFDLEFBQUEsQzdCcmFyQixNQUFNLENBQUM7RTZCdWFKLEtBQUssRWpDM1pJLE9BQU87RWlDNFpoQixlQUFlLEVBQUUsSUFBSSxHN0J0YXhCOztBNkIwYUQsQUFBQSxJQUFJLENBQUMscUJBQXFCLENBQVY7RUFDZCxnQkFBZ0IsRUFBRSxzQkFBc0I7RUFDeEMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ2pDbGFWLE9BQU8sQ2lDa2FRLEtBQUssQ0FBQyxVQUFVO0VBQzFDLEtBQUssRWpDbmFNLE9BQU8sQ2lDbWFKLFVBQVUsR0FDekI7O0FBckNELEFBQUEsV0FBVyxDQUFBO0VBQ1QsZ0JBQWdCLEVqQ3RaTCxxQkFBTztFaUN1WmxCLEtBQUssRW5DMVBHLElBQUksR21DMlBiOztBQUVELEE3QmpaQSxXNkJpWlcsQ0FBQSxBQUFBLElBQUMsQUFBQSxDN0JqWlgsTUFBTSxFNkJpWlAsV0FBVyxDQUFBLEFBQUEsSUFBQyxBQUFBLEM3QmhaWCxNQUFNLENBQUM7RTZCa1pKLGdCQUFnQixFakM1WlAsc0JBQU87RWlDNlpoQixLQUFLLEVuQ2hRQyxJQUFJO0VtQ2lRVixlQUFlLEVBQUUsSUFBSSxHN0JsWnhCOztBNkJzWkQsQUFBQSxJQUFJLENBQUMsV0FBVyxDQUFBO0VBQ2QsZ0JBQWdCLEVqQ25hTCxxQkFBTyxDaUNtYUksVUFBVTtFQUNoQyxLQUFLLEVuQ3ZRRyxJQUFJLENtQ3VRd0IsVUFBVSxHQUMvQzs7QUFJRCxBQUFBLG1CQUFtQixDQUFSO0VBQ1QsZ0JBQWdCLEVBQUUsV0FBVztFQUM3QixVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDakMzYVYscUJBQU8sQ2lDMmFRLEtBQUs7RUFDL0IsS0FBSyxFakM1YU0scUJBQU8sR2lDNmFuQjs7QUFFRCxBN0J0YUEsbUI2QnNhbUIsQ0FBQSxBQUFBLElBQUMsQUFBQSxDN0J0YW5CLE1BQU0sRTZCc2FQLG1CQUFtQixDQUFBLEFBQUEsSUFBQyxBQUFBLEM3QnJhbkIsTUFBTSxDQUFDO0U2QnVhSixLQUFLLEVqQ2piSSxxQkFBTztFaUNrYmhCLGVBQWUsRUFBRSxJQUFJLEc3QnRheEI7O0E2QjBhRCxBQUFBLElBQUksQ0FBQyxtQkFBbUIsQ0FBUjtFQUNkLGdCQUFnQixFQUFFLHNCQUFzQjtFQUN4QyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDakN4YlYscUJBQU8sQ2lDd2JRLEtBQUssQ0FBQyxVQUFVO0VBQzFDLEtBQUssRWpDemJNLHFCQUFPLENpQ3liSixVQUFVLEdBQ3pCOztBQXJDRCxBQUFBLGNBQWMsQ0FBSDtFQUNULGdCQUFnQixFakN0WkwscUJBQU87RWlDdVpsQixLQUFLLEVqQ2hYVSxPQUFPLEdpQ2lYdkI7O0FBRUQsQTdCalpBLGM2QmlaYyxDQUFBLEFBQUEsSUFBQyxBQUFBLEM3QmpaZCxNQUFNLEU2QmlaUCxjQUFjLENBQUEsQUFBQSxJQUFDLEFBQUEsQzdCaFpkLE1BQU0sQ0FBQztFNkJrWkosZ0JBQWdCLEVqQzVaUCxzQkFBTztFaUM2WmhCLEtBQUssRWpDdFhRLE9BQU87RWlDdVhwQixlQUFlLEVBQUUsSUFBSSxHN0JsWnhCOztBNkJzWkQsQUFBQSxJQUFJLENBQUMsY0FBYyxDQUFIO0VBQ2QsZ0JBQWdCLEVqQ25hTCxxQkFBTyxDaUNtYUksVUFBVTtFQUNoQyxLQUFLLEVqQzdYVSxPQUFPLENpQzZYYyxVQUFVLEdBQy9DOztBQUlELEFBQUEsc0JBQXNCLENBQVg7RUFDVCxnQkFBZ0IsRUFBRSxXQUFXO0VBQzdCLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENqQzNhVixxQkFBTyxDaUMyYVEsS0FBSztFQUMvQixLQUFLLEVqQ3JZVSxPQUFPLEdpQ3NZdkI7O0FBRUQsQTdCdGFBLHNCNkJzYXNCLENBQUEsQUFBQSxJQUFDLEFBQUEsQzdCdGF0QixNQUFNLEU2QnNhUCxzQkFBc0IsQ0FBQSxBQUFBLElBQUMsQUFBQSxDN0JyYXRCLE1BQU0sQ0FBQztFNkJ1YUosS0FBSyxFakMxWVEsT0FBTztFaUMyWXBCLGVBQWUsRUFBRSxJQUFJLEc3QnRheEI7O0E2QjBhRCxBQUFBLElBQUksQ0FBQyxzQkFBc0IsQ0FBWDtFQUNkLGdCQUFnQixFQUFFLHNCQUFzQjtFQUN4QyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDakN4YlYscUJBQU8sQ2lDd2JRLEtBQUssQ0FBQyxVQUFVO0VBQzFDLEtBQUssRWpDbFpVLE9BQU8sQ2lDa1pSLFVBQVUsR0FDekI7O0FRamJILEFBQUEsTUFBTSxBQUFBLFVBQVUsQ0FBQztFQUNmLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osYUFBYSxFQUFFLEdBQUc7RUFDbEIsY0FBYyxFQUFFLE1BQU0sR0FDdkI7O0FBS0QsQUFBQSxNQUFNLEFBQUEsVUFBVSxDQUFDO0VBQ2YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLElBQUk7RUFDVCxPQUFPLEVBQUUsWUFBWTtFQUNyQixNQUFNLEVBQUUsQ0FBQztFQUNULFNBQVMsRUFBRSxvQkFBb0IsR0FnQmhDO0VBckJELEFBV0UsTUFYSSxBQUFBLFVBQVUsQUFXYixJQUFLLENBQUEsVUFBVSxFQUFFO0lBQ2hCLE9BQU8sRUFBRSxNQUFNO0lBQ2YsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsS0FBSztJQUNsQixTQUFTLEVBQUUscUJBQXFCLEdBS2pDOztDQzlDSCxBQUFBLEFBQUEsWUFBQyxDQUFELEtBQUMsQUFBQSxFQUFvQjtFQUNuQixPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQUVELEFBQUEsY0FBYyxDQUFDO0VBQ2IsTUFBTSxFekNna0I0QixRQUFPLEN5Q2hrQmhCLENBQUM7RUFDMUIsVUFBVSxFMUM0SHNCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG1CQUFrQixHMEM5RjdEO0VBSkMsQUFBQSxjQUFjLEdBNUJoQixjQUFjLENBNEJPO0lBQ2pCLElBQUksRUFBRSxZQUFZO0lBQ2xCLEtBQUssRUFBRSxZQUFZLEdBQ3BCOztBQUdILEFBQUEsY0FBYyxDQUFDO0VBQ2IsV0FBVyxFMUN1RnFCLElBQUksRzBDdEZyQzs7QUFHRCxBQUFBLGNBQWMsQ0FBQyxNQUFNLENBQUEsQUFBQSxLQUFDLEVBQU8sUUFBUSxBQUFmO0FBQ3RCLGNBQWMsQ0FBQyxNQUFNLENBQUEsQUFBQSxLQUFDLEVBQU8sU0FBUyxBQUFoQixFQUFrQjtFQUN0QyxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsTUFBTSxHQUNaOztBQW1CRCxBQUVFLGdCQUZjLEFBQUEsV0FBVyxBQUV4QixRQUFRLEVBRlgsZ0JBQWdCLEFBQUEsV0FBVyxBQUd4QixPQUFPO0FBRlYsMkJBQTJCLEdBQUcsZ0JBQWdCLEFBQzNDLFFBQVE7QUFEWCwyQkFBMkIsR0FBRyxnQkFBZ0IsQUFFM0MsT0FBTyxDQUFDO0VBQ1AsT0FBTyxFQUFFLGVBQWUsR0FDekI7O0FBTUgsQUFDRyxjQURXLEdBQUcsRUFBRSxBQUFBLElBQUssQ0F2Q3hCLGNBQWMsSUF3Q1QsQ0FBQyxBQUFBLElBQUssQ0F4Q1gsY0FBYyxFQXdDYTtFQUN2QixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFMUMwTm9CLFFBQU8sQ0FDUCxPQUFPO0UwQzFObEMsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsQ0FBQztFQUNULFVBQVUsRUFBRSxJQUFJO0VBQ2hCLEtBQUssRTFDMUNVLE9BQU87RTBDMkN0QixVQUFVLEVBQUUsT0FBTztFQUNuQixXQUFXLEVBQUUsTUFBTTtFQUNuQixXQUFXLEV6Q3lLZSxHQUFHO0V5Q3hLN0IsV0FBVyxFMUNxQ21CLElBQUksRzBDOUJuQztFQW5CSCxBdENoRUUsY3NDZ0VZLEdBQUcsRUFBRSxBQUFBLElBQUssQ0F2Q3hCLGNBQWMsSUF3Q1QsQ0FBQyxBQUFBLElBQUssQ0F4Q1gsY0FBYyxDdEN6QlgsTUFBTSxFc0NnRVQsY0FBYyxHQUFHLEVBQUUsQUFBQSxJQUFLLENBdkN4QixjQUFjLElBd0NULENBQUMsQUFBQSxJQUFLLENBeENYLGNBQWMsQ3RDeEJYLE1BQU0sQ0FBQztJc0M4RUosZ0JBQWdCLEUxQ3hGUCxzQkFBTztJMEN5RmhCLEtBQUssRTFDbERRLE9BQU87STBDbURwQixlQUFlLEVBQUUsSUFBSSxHdEM5RXhCOztBc0M2REgsQUFxQkUsY0FyQlksR0FBRyxFQUFFLEFBQUEsSUFBSyxDQXZDeEIsY0FBYyxDQTREWCxPQUFPLEdBQUcsQ0FBQyxBQUFBLElBQUssQ0E1RG5CLGNBQWM7QUF1Q2QsY0FBYyxHQUFHLEVBQUUsQUFBQSxJQUFLLENBdkN4QixjQUFjLElBNkRWLENBQUMsQUFBQSxJQUFLLENBN0RWLGNBQWMsQ0E2RFcsT0FBTyxDQUFDO0VBQzdCLGdCQUFnQixFMUM3RUwsT0FBTztFMEM4RWxCLEtBQUssRTFDbEdNLElBQUk7RTBDbUdmLGVBQWUsRUFBRSxJQUFJLEdBQ3RCOztBQTFCSCxBQTRCRSxjQTVCWSxHQUFHLEVBQUUsQUFBQSxJQUFLLENBdkN4QixjQUFjLENBbUVYLFNBQVMsR0FBRyxDQUFDLEFBQUEsSUFBSyxDQW5FckIsY0FBYyxFQW1FdUI7RUFDakMsZ0JBQWdCLEVBQUUsV0FBVztFQUM3QixLQUFLLEU1QzBCRyxPQUFtQyxHNENyQjVDOztBQU1ILEFBQ0UsZ0JBRGMsQUFDYixPQUFPLEVBRFYsZ0JBQWdCLEFBRWIsUUFBUSxDQUFDO0VBQ1IsY0FBYyxFQUFFLGlCQUFpQixHQUNsQzs7QUFKSCxBQU1FLGdCQU5jLEFBTWIsT0FBTztBQUNSLE9BQU8sQ0FQVCxnQkFBZ0IsQUFPTCxPQUFPO0FBQ2hCLFVBQVUsQ0FSWixnQkFBZ0IsQUFRRixPQUFPLENBQUM7RUFDbEIsV0FBVyxFQUFFLElBQUksR0FDbEI7O0FBRUQsQUFBQSxTQUFTLENBWlgsZ0JBQWdCLEFBWUgsUUFBUSxDQUFDO0VBQ2xCLFlBQVksRUFBRSxJQUFJLEdBQ25COztBQW9DSCxBQUFBLHNCQUFzQixBQUFBLE9BQU8sQ0FBQztFQUM1QixZQUFZLEVBQUUsWUFBWTtFQUMxQixXQUFXLEVBQUUsWUFBWSxHQUMxQjs7QUFLRCxBQUFBLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQztFQUM5QixRQUFRLEVBQUUsUUFBUSxHQUtuQjtFQU5ELEFBR0UsY0FIWSxDQUFDLGdCQUFnQixBQUc1QixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUdILEFBQUEsY0FBYyxDQUFDLGdCQUFnQixHQUFHLGNBQWMsQ0FBQztFQUNoRCxRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsT0FBTyxHQUNmOztBQUVELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUN0QixBQUFBLGNBQWMsQ0FBQyxjQUFjLENBQUM7SUFDNUIsUUFBUSxFQUFFLE1BQU07SUFDaEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxNQUFNLEVBQUUsQ0FBQztJQUNULFlBQVksRTFDMEdlLE9BQU87STBDekdsQyxLQUFLLEVBQUUsSUFBSTtJQUNYLFlBQVksRUFBRSxDQUFDO0lBQ2YsYUFBYSxFQUFFLENBQUM7SUFDaEIsVUFBVSxFQUFFLElBQUksR0FNakI7O0FBR0gsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBQ3RCLEFBQUEsY0FBYyxDQUFDLGdCQUFnQixHQUFHLGNBQWMsQUFBQSxPQUFPLENBQUM7SUFDdEQsT0FBTyxFQUFFLEVBQUU7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsR0FBRztJQUNSLEtBQUssRUFBRSxRQUE0QjtJQUNuQyxPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxPQUFPO0lBQ2QsTUFBTSxFQUFFLE9BQU87SUFDZixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzVDbkZULE9BQW1DO0k0Q29GM0MsVUFBVSxFQUFFLENBQUM7SUFDYixXQUFXLEVBQUUsQ0FBQztJQUNkLFNBQVMsRUFBRSxjQUFjLENBQUMsa0JBQWtCLEdBTzdDO0VBRUQsQUFBQSxjQUFjLENBQUMsZ0JBQWdCLEFBQUEsTUFBTSxHQUFHLGNBQWMsQUFBQSxJQUFLLENBQUEsU0FBUyxFQUFFO0lBQ3BFLFVBQVUsRTFDak9DLHNCQUFPO0kwQ2tPbEIsS0FBSyxFMUMzTFUsT0FBTyxHMENnTXZCO0lBUEQsQUFJRyxjQUpXLENBQUMsZ0JBQWdCLEFBQUEsTUFBTSxHQUFHLGNBQWMsQUFBQSxJQUFLLENBQUEsU0FBUyxJQUkvRCxjQUFjLENBQUM7TUFDaEIsT0FBTyxFQUFFLEtBQUssR0FDZjtFQTVDSCxBQUFBLGNBQWMsQ0FBQyxjQUFjLENBK0NDO0lBQzVCLEdBQUcsRUFBRSxDQUFDO0lBQ04sSUFBSSxFQUFFLElBQUksR0FDWDtFQUVELEFBQUEsb0JBQW9CLENBQUMsY0FBYyxDQUFDO0lBQ2xDLEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLElBQUksR0FDWDs7QUMvT0gsQUFBQSxTQUFTLENBQUM7RUFDUixXQUFXLEUzQ3VIcUIsSUFBSSxHMkNoSHJDO0VBUkQsQUFHRSxTQUhPLEFBR04sU0FBUyxDQUFDO0lBQ1QsWUFBWSxFQUFFLHNCQUFzQjtJQUNwQyxVQUFVLEVBQUUsc0JBQXNCO0lBQ2xDLEtBQUssRTdDeUhHLE9BQW1DLEM2Q3pIWCxVQUFVLEdBQzNDOztBQUlILEFBVUUsU0FWTyxDQVVQLFNBQVMsQUFBQSxJQUFLLENKK0ZSLE9BQU87QUl4R2YsVUFBVSxDQVNSLFNBQVMsQUFBQSxJQUFLLENKK0ZSLE9BQU8sRUkvRlU7RUFDckIsS0FBSyxFN0N5R0csT0FBbUMsRzZDcEc1QztFQWhCSCxBdkNKRSxTdUNJTyxDQVVQLFNBQVMsQUFBQSxJQUFLLENKK0ZSLE9BQU8sQ25DN0daLE1BQU0sRXVDSVQsU0FBUyxDQVVQLFNBQVMsQUFBQSxJQUFLLENKK0ZSLE9BQU8sQ25DNUdaLE1BQU07RXVDSVQsVUFBVSxDQVNSLFNBQVMsQUFBQSxJQUFLLENKK0ZSLE9BQU8sQ25DN0daLE1BQU07RXVDS1QsVUFBVSxDQVNSLFNBQVMsQUFBQSxJQUFLLENKK0ZSLE9BQU8sQ25DNUdaLE1BQU0sQ0FBQztJdUNpQkosS0FBSyxFM0NZUSxPQUFPLEdJM0J2Qjs7QXVDQ0gsQUFrQkUsU0FsQk8sQUFrQk4sSUFBSyxDQUFBLFNBQVMsQ0FBQyxJQUFLLENBQUEsY0FBYyxFQUFFLFNBQVM7QUFqQmhELFVBQVUsQUFpQlAsSUFBSyxDQUFBLFNBQVMsQ0FBQyxJQUFLLENBQUEsY0FBYyxFQUFFLFNBQVMsQ0FBQztFQUM3QyxZQUFZLEUzQ3NSb0IsUUFBTyxHMkNoUnhDOztBQXpCSCxBQTJCRSxTQTNCTyxDQTJCUCxTQUFTLENBQUMsTUFBTTtBQTFCbEIsVUFBVSxDQTBCUixTQUFTLENBQUMsTUFBTSxDQUFDO0VBQ2YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLElBQUksR0FDVjs7QUE5QkgsQUFnQ0UsU0FoQ08sQ0FnQ1AsU0FBUyxBQUFBLEtBQUssQ0FBQyxTQUFTLEFBQUEsSUFBSyxDSnlFdkIsT0FBTztBSXhHZixVQUFVLENBK0JSLFNBQVMsQUFBQSxLQUFLLENBQUMsU0FBUyxBQUFBLElBQUssQ0p5RXZCLE9BQU8sRUl6RXlCO0VBQ3BDLGdCQUFnQixFQUFFLFdBQVcsR0FDOUI7O0FBNkJILEFBQUEsU0FBUyxDQUFDLFNBQVMsQ0FBQztFQUNsQixlQUFlLEVBQUUsV0FBVyxHQVM3QjtFQVZELEF2Q25FRSxTdUNtRU8sQ0FBQyxTQUFTLEF2Q25FaEIsTUFBTSxFdUNtRVQsU0FBUyxDQUFDLFNBQVMsQXZDbEVoQixNQUFNLENBQUM7SXVDc0VOLG1CQUFtQixFQUFFLFdBQVcsR3ZDcEVqQztFdUNnRUgsQUFPRSxTQVBPLENBQUMsU0FBUyxBQU9oQixPQUFPLENBQUM7SUFDUCxtQkFBbUIsRTNDckZSLElBQUksRzJDc0ZoQjs7QUFNSCxBQUFBLFNBQVMsQUFBQSxTQUFTLENBQUMsU0FBUztBQUM1QixTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQztFQUM5QixZQUFZLEVBQUUsWUFBWTtFQUMxQixhQUFhLEVBQUUsWUFBWTtFQUMzQixnQkFBZ0IsRUFBRSxzQkFBc0IsR0FDekM7O0FBNkRELEFWeVVHLE9VelVJLEdWeVVGLElBQUksQ0FBQyxTQUFTO0FVelVuQixPQUFPLEFWMFVKLElBQUksQ0FBQyxTQUFTLENBQUM7RUFDZCxPQUFPLEVqQzVLeUIsUUFBTyxDQUNQLFNBQVM7RWlDNEt6QyxTQUFTLEVqQ2hiWSxJQUFJO0VpQ2liekIsV0FBVyxFakN4YVUsR0FBRyxHaUN5YXpCOztBVTNVSCxBVnNVRyxPVXRVSSxHVnNVRixJQUFJLENBQUMsU0FBUztBVXRVbkIsT0FBTyxBVnVVSixJQUFJLENBQUMsU0FBUyxDQUFDO0VBQ2QsT0FBTyxFakN4S3lCLFNBQVEsQ0FDUixRQUFPO0VpQ3dLdkMsU0FBUyxFakMvYVksT0FBTTtFaUNnYjNCLFdBQVcsRWpDdmFVLEdBQUcsR2lDd2F6Qjs7QVVwVUgsQUFBQSxhQUFhO0FBQ2IsZUFBZTtBQUNmLGdCQUFnQjtBQUNoQixjQUFjLENBQUM7RUFDYixPQUFPLEVBQUUsSUFBSSxHQW1CZDtFQXZCRCxBQU1HLGFBTlUsR0FNUixJQUFJO0VBTlQsYUFBYSxHQU9SLEdBQUcsR0FBRyxJQUFJO0VBTmYsZUFBZSxHQUtWLElBQUk7RUFMVCxlQUFlLEdBTVYsR0FBRyxHQUFHLElBQUk7RUFMZixnQkFBZ0IsR0FJWCxJQUFJO0VBSlQsZ0JBQWdCLEdBS1gsR0FBRyxHQUFHLElBQUk7RUFKZixjQUFjLEdBR1QsSUFBSTtFQUhULGNBQWMsR0FJVCxHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQ1osUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsQ0FBQyxHQUNWO0VBWEgsQXZDOUpFLGF1QzhKVyxHQWFSLElBQUksQ0FBQyxTQUFTLEF2QzNLaEIsTUFBTSxFdUM4SlQsYUFBYSxHQWFSLElBQUksQ0FBQyxTQUFTLEF2QzFLaEIsTUFBTTtFdUM2SlQsYUFBYSxHQWNSLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxBdkM1S3RCLE1BQU07RXVDOEpULGFBQWEsR0FjUixHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQXZDM0t0QixNQUFNO0V1QzhKVCxlQUFlLEdBWVYsSUFBSSxDQUFDLFNBQVMsQXZDM0toQixNQUFNO0V1QytKVCxlQUFlLEdBWVYsSUFBSSxDQUFDLFNBQVMsQXZDMUtoQixNQUFNO0V1QzhKVCxlQUFlLEdBYVYsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEF2QzVLdEIsTUFBTTtFdUMrSlQsZUFBZSxHQWFWLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxBdkMzS3RCLE1BQU07RXVDK0pULGdCQUFnQixHQVdYLElBQUksQ0FBQyxTQUFTLEF2QzNLaEIsTUFBTTtFdUNnS1QsZ0JBQWdCLEdBV1gsSUFBSSxDQUFDLFNBQVMsQXZDMUtoQixNQUFNO0V1QytKVCxnQkFBZ0IsR0FZWCxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQXZDNUt0QixNQUFNO0V1Q2dLVCxnQkFBZ0IsR0FZWCxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQXZDM0t0QixNQUFNO0V1Q2dLVCxjQUFjLEdBVVQsSUFBSSxDQUFDLFNBQVMsQXZDM0toQixNQUFNO0V1Q2lLVCxjQUFjLEdBVVQsSUFBSSxDQUFDLFNBQVMsQXZDMUtoQixNQUFNO0V1Q2dLVCxjQUFjLEdBV1QsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEF2QzVLdEIsTUFBTTtFdUNpS1QsY0FBYyxHQVdULEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxBdkMzS3RCLE1BQU0sQ0FBQztJdUM2S0osWUFBWSxFM0N2TEgsc0JBQU8sR0lZbkI7RXVDMkpILEFBbUJJLGFBbkJTLEdBYVIsSUFBSSxDQUFDLFNBQVMsQUFNZCxPQUFPO0VBbkJaLGFBQWEsR0FjUixHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQUFLcEIsT0FBTztFQWxCWixlQUFlLEdBWVYsSUFBSSxDQUFDLFNBQVMsQUFNZCxPQUFPO0VBbEJaLGVBQWUsR0FhVixHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQUFLcEIsT0FBTztFQWpCWixnQkFBZ0IsR0FXWCxJQUFJLENBQUMsU0FBUyxBQU1kLE9BQU87RUFqQlosZ0JBQWdCLEdBWVgsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEFBS3BCLE9BQU87RUFoQlosY0FBYyxHQVVULElBQUksQ0FBQyxTQUFTLEFBTWQsT0FBTztFQWhCWixjQUFjLEdBV1QsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEFBS3BCLE9BQU8sQ0FBQztJQUNQLFlBQVksRTNDM0xILHNCQUFPLEcyQzRMakI7O0FBSUwsQUFBQSxlQUFlO0FBQ2YsY0FBYyxDQUFDO0VBQ2IsV0FBVyxFQUFFLE9BQU8sR0FnQnJCO0VBbEJELEFBSUcsZUFKWSxHQUlWLElBQUk7RUFKVCxlQUFlLEdBS1YsR0FBRyxHQUFHLElBQUk7RUFKZixjQUFjLEdBR1QsSUFBSTtFQUhULGNBQWMsR0FJVCxHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQ1osY0FBYyxFQUFFLE1BQU07SUFDdEIsU0FBUyxFQUFFLENBQUMsR0FDYjtFQVJILEFBVUcsZUFWWSxHQVVWLElBQUksQ0FBQyxTQUFTO0VBVm5CLGVBQWUsR0FXVixHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVM7RUFWekIsY0FBYyxHQVNULElBQUksQ0FBQyxTQUFTO0VBVG5CLGNBQWMsR0FVVCxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN0QixNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQzNDMEdxQixRQUFPLEMyQzFHZixDQUFDLENBQUMsVUFBVSxHQUNyQztFQWJILEFBZUcsZUFmWSxHQWVWLFlBQVk7RUFkakIsY0FBYyxHQWNULFlBQVksQ0FBQztJQUNkLFNBQVMsRUFBRSxDQUFDLEdBQ2I7O0FBSUgsQUFBQSxhQUFhLENBQUM7RUFDWixjQUFjLEVBQUUsTUFBTSxHQVl2QjtFQWJELEF2QzVNRSxhdUM0TVcsR0FHUixJQUFJLENBQUMsU0FBUyxBdkMvTWhCLE1BQU0sRXVDNE1ULGFBQWEsR0FHUixJQUFJLENBQUMsU0FBUyxBdkM5TWhCLE1BQU07RXVDMk1ULGFBQWEsR0FJUixHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQXZDaE50QixNQUFNO0V1QzRNVCxhQUFhLEdBSVIsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEF2Qy9NdEIsTUFBTSxDQUFDO0l1Q2lOSixtQkFBbUIsRUFBRSxXQUFXLEd2Qy9NbkM7RXVDeU1ILEFBU0ksYUFUUyxHQUdSLElBQUksQ0FBQyxTQUFTLEFBTWQsT0FBTztFQVRaLGFBQWEsR0FJUixHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQUFLcEIsT0FBTyxDQUFDO0lBQ1AsbUJBQW1CLEUzQ2hPVixJQUFJLEcyQ2lPZDs7QUFLTCxBQUFBLGVBQWUsQ0FBQztFQUNkLGNBQWMsRUFBRSxXQUFXLEdBeUM1QjtFQTFDRCxBQUdHLGVBSFksR0FHVixJQUFJLENBQUMsU0FBUztFQUhuQixlQUFlLEdBSVYsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDdEIsYUFBYSxFQUFFLENBQUM7SUFDaEIsV0FBVyxFQUFFLElBQUksR0FNbEI7RUFaSCxBQWNHLGVBZFksR0FjVixJQUFJLENBQUMsU0FBUztFQWRuQixlQUFlLEdBZVYsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SWxCdlB0QixhQUFhLEVrQnlQWSxDQUFDLEMzQ2xJSSxPQUFNLENBQU4sT0FBTSxDMkNrSXFCLENBQUMsR0F3QjNEO0lBekNILEF2QzVORSxldUM0TmEsR0FjVixJQUFJLENBQUMsU0FBUyxBdkMxT2hCLE1BQU0sRXVDNE5ULGVBQWUsR0FjVixJQUFJLENBQUMsU0FBUyxBdkN6T2hCLE1BQU07SXVDMk5ULGVBQWUsR0FlVixHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQXZDM090QixNQUFNO0l1QzROVCxlQUFlLEdBZVYsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEF2QzFPdEIsTUFBTSxDQUFDO011Q29QSixpQkFBaUIsRUFBRSxXQUFXLEd2Q2xQakM7SXVDeU5ILEFBaUNJLGVBakNXLEdBY1YsSUFBSSxDQUFDLFNBQVMsQUFtQmQsT0FBTztJQWpDWixlQUFlLEdBZVYsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEFBa0JwQixPQUFPLENBQUM7TUFDUCxpQkFBaUIsRTNDeFFSLElBQUksRzJDOFFkOztBQUtMLEFBQUEsZ0JBQWdCLENBQUM7RUFDZixjQUFjLEVBQUUsY0FBYyxHQXNCL0I7RUF2QkQsQUFHRyxnQkFIYSxHQUdYLElBQUksQ0FBQyxTQUFTO0VBSG5CLGdCQUFnQixHQUlYLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3RCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0VBUEgsQUFTRyxnQkFUYSxHQVNYLElBQUksQ0FBQyxTQUFTO0VBVG5CLGdCQUFnQixHQVVYLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0lsQi9SdEIsYUFBYSxFa0JpU1ksQ0FBQyxDQUFDLENBQUMsQzNDMUtFLE9BQU0sQ0FBTixPQUFNLEcyQ29MckM7SUF0QkgsQXZDelFFLGdCdUN5UWMsR0FTWCxJQUFJLENBQUMsU0FBUyxBdkNsUmhCLE1BQU0sRXVDeVFULGdCQUFnQixHQVNYLElBQUksQ0FBQyxTQUFTLEF2Q2pSaEIsTUFBTTtJdUN3UVQsZ0JBQWdCLEdBVVgsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEF2Q25SdEIsTUFBTTtJdUN5UVQsZ0JBQWdCLEdBVVgsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEF2Q2xSdEIsTUFBTSxDQUFDO011Q3dSSixnQkFBZ0IsRUFBRSxXQUFXLEd2Q3RSaEM7SXVDc1FILEFBbUJJLGdCQW5CWSxHQVNYLElBQUksQ0FBQyxTQUFTLEFBVWQsT0FBTztJQW5CWixnQkFBZ0IsR0FVWCxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQUFTcEIsT0FBTyxDQUFDO01BQ1AsZ0JBQWdCLEUzQ3ZTUCxJQUFJLEcyQ3dTZDs7QUFLTCxBQUNHLGNBRFcsR0FDVCxJQUFJLENBQUMsU0FBUztBQURuQixjQUFjLEdBRVQsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7RUFDdEIsWUFBWSxFQUFFLElBQUk7RUFDbEIsYUFBYSxFQUFFLENBQUMsR0FNakI7O0FBVkgsQUFZRyxjQVpXLEdBWVQsSUFBSSxDQUFDLFNBQVM7QUFabkIsY0FBYyxHQWFULEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0VsQjVUdEIsYUFBYSxFekJ1SGlCLE9BQU0sQzJDdU1LLENBQUMsQ0FBQyxDQUFDLEMzQ3ZNZCxPQUFNLEcyQytOckM7RUF2Q0gsQXZDblNFLGN1Q21TWSxHQVlULElBQUksQ0FBQyxTQUFTLEF2Qy9TaEIsTUFBTSxFdUNtU1QsY0FBYyxHQVlULElBQUksQ0FBQyxTQUFTLEF2QzlTaEIsTUFBTTtFdUNrU1QsY0FBYyxHQWFULEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxBdkNoVHRCLE1BQU07RXVDbVNULGNBQWMsR0FhVCxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQXZDL1N0QixNQUFNLENBQUM7SXVDeVRKLGtCQUFrQixFQUFFLFdBQVcsR3ZDdlRsQztFdUNnU0gsQUErQkksY0EvQlUsR0FZVCxJQUFJLENBQUMsU0FBUyxBQW1CZCxPQUFPO0VBL0JaLGNBQWMsR0FhVCxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQUFrQnBCLE9BQU8sQ0FBQztJQUNQLGtCQUFrQixFM0M3VVQsSUFBSSxHMkNtVmQ7O0FBTUwsQUFBQSxhQUFhLEdBQUcsWUFBWTtBQUM1QixlQUFlLEdBQUcsWUFBWTtBQUM5QixnQkFBZ0IsR0FBRyxZQUFZO0FBQy9CLGNBQWMsR0FBRyxZQUFZLENBQUM7RUFDNUIsV0FBVyxFQUFFLENBQUM7RUFDZCxNQUFNLEUzQzNPMEIsR0FBRyxDMkMyT1IsS0FBSyxDM0M3Vm5CLHNCQUFPO0UyQzhWcEIsVUFBVSxFM0MvVkcsSUFBSTtFMkNnV2pCLGVBQWUsRUFBRSxXQUFXO0VBQzVCLFVBQVUsRTNDMENlLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQTFZckIsdUJBQU8sRzJDaVdyQjs7QUFFRCxBQUFBLGFBQWEsR0FBRyxZQUFZLENBQUM7RWxCdFd6QixhQUFhLEVrQnVXUSxDQUFDLENBQUMsQ0FBQyxDM0NoUE0sT0FBTSxDQUFOLE9BQU0sRzJDaVB2Qzs7QUFFRCxBQUFBLGVBQWUsR0FBRyxZQUFZLENBQUM7RWxCMVczQixhQUFhLEV6QnVIaUIsT0FBTSxDMkNvUEEsQ0FBQyxDQUFDLENBQUMsQzNDcFBULE9BQU0sRzJDd1B2Qzs7QUFFRCxBQUFBLGdCQUFnQixHQUFHLFlBQVksQ0FBQztFbEJqWDVCLGFBQWEsRXpCdUhpQixPQUFNLENBQU4sT0FBTSxDMkMyUGUsQ0FBQyxDQUFDLENBQUMsR0FDekQ7O0FBRUQsQUFBQSxjQUFjLEdBQUcsWUFBWSxDQUFDO0VsQnJYMUIsYUFBYSxFa0JzWFEsQ0FBQyxDM0MvUFEsT0FBTSxDQUFOLE9BQU0sQzJDK1BpQixDQUFDLEdBSXpEOztBVmpSRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFDdEIsQVVzUkgsa0JWdFJxQixHVXNSbkIsSUFBSTtFVnRSSCxrQkFBa0IsR1V1Um5CLEdBQUcsR0FBRyxJQUFJLENBQUM7SUFDWixjQUFjLEVBQUUsTUFBTTtJQUN0QixNQUFNLEVBQUUsQ0FBQyxHQVVWO0lWblNHLEFVMlJGLGtCVjNSb0IsR1VzUm5CLElBQUksQ0FLTCxTQUFTO0lWM1JQLGtCQUFrQixHVXVSbkIsR0FBRyxHQUFHLElBQUksQ0FJWCxTQUFTLENBQUM7TUFDUixVQUFVLEVBQUUsSUFBSSxHQUNqQjtJVjdSQyxBVStSRixrQlYvUm9CLEdVc1JuQixJQUFJLEFBU0osaUJBQWlCLEVWL1JoQixrQkFBa0IsR1VzUm5CLElBQUksQUFVSixrQkFBa0I7SVZoU2pCLGtCQUFrQixHVXVSbkIsR0FBRyxHQUFHLElBQUksQUFRVixpQkFBaUI7SVYvUmhCLGtCQUFrQixHVXVSbkIsR0FBRyxHQUFHLElBQUksQUFTVixrQkFBa0IsQ0FBQztNQUNsQixhQUFhLEVBQUUsU0FBZ0IsR0FDaEM7RVZsU0MsQVV5U0Ysa0JWelNvQixHVXFTbkIsU0FBUyxDQUlWLFNBQVM7RVZ6U1Asa0JBQWtCLEdVc1NuQixVQUFVLENBR1gsU0FBUztFVnpTUCxrQkFBa0IsR1V1U25CLEdBQUcsR0FBRyxTQUFTLENBRWhCLFNBQVM7RVZ6U1Asa0JBQWtCLEdVd1NuQixHQUFHLEdBQUcsVUFBVSxDQUNqQixTQUFTLENBQUM7SUFDUixNQUFNLEVBQUUsWUFBWSxHQUNyQjtFVjNTQyxBVTZTRixrQlY3U29CLEdVcVNuQixTQUFTLENBUVYsU0FBUztFVjdTUCxrQkFBa0IsR1VzU25CLFVBQVUsQ0FPWCxTQUFTO0VWN1NQLGtCQUFrQixHVXVTbkIsR0FBRyxHQUFHLFNBQVMsQ0FNaEIsU0FBUztFVjdTUCxrQkFBa0IsR1V3U25CLEdBQUcsR0FBRyxVQUFVLENBS2pCLFNBQVMsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDM0MvRm1CLFFBQU8sQzJDK0ZiLENBQUMsQ0FBQyxVQUFVLEdBQ3JDO0VWL1NDLEFVb1RGLGtCVnBUb0IsR1VrVG5CLFNBQVMsQUFBQSxJQUFLLENBQUEsU0FBUyxFQUV4QixTQUFTO0VWcFRQLGtCQUFrQixHVW1UbkIsR0FBRyxHQUFHLFNBQVMsQUFBQSxJQUFLLENBRE4sU0FBUyxFQUV4QixTQUFTLENBQUM7SWxCOVpWLGFBQWEsRXpCdUhpQixPQUFNLEMyQ3lTTSxVQUFVLEdBS25EO0lWM1RDLEE3QjlGSixrQjZCOEZzQixHVWtUbkIsU0FBUyxBQUFBLElBQUssQ0FBQSxTQUFTLEVBRXhCLFNBQVMsQXZDbFpWLE1BQU0sRTZCOEZILGtCQUFrQixHVWtUbkIsU0FBUyxBQUFBLElBQUssQ0FBQSxTQUFTLEVBRXhCLFNBQVMsQXZDalpWLE1BQU07STZCNkZILGtCQUFrQixHVW1UbkIsR0FBRyxHQUFHLFNBQVMsQUFBQSxJQUFLLENBRE4sU0FBUyxFQUV4QixTQUFTLEF2Q2xaVixNQUFNO0k2QjhGSCxrQkFBa0IsR1VtVG5CLEdBQUcsR0FBRyxTQUFTLEFBQUEsSUFBSyxDQUROLFNBQVMsRUFFeEIsU0FBUyxBdkNqWlYsTUFBTSxDQUFDO011Q3NaRixZQUFZLEUzQ2hhTCxzQkFBTyxDMkNnYWtDLFVBQVUsR3ZDcFovRDtFNkIyRkcsQVU2VEYsa0JWN1RvQixHVWtUbkIsU0FBUyxBQUFBLElBQUssQ0FBQSxTQUFTLEVBV3hCLFNBQVMsQUFBQSxPQUFPO0VWN1RkLGtCQUFrQixHVW1UbkIsR0FBRyxHQUFHLFNBQVMsQUFBQSxJQUFLLENBRE4sU0FBUyxFQVd4QixTQUFTLEFBQUEsT0FBTyxDQUFDO0lBQ2YsWUFBWSxFM0NyYUgsc0JBQU8sQzJDcWFpQyxVQUFVLEdBQzVEO0VWL1RDLEFVa1VKLGtCVmxVc0IsQVVrVXJCLGFBQWEsR0FBRyxZQUFZO0VWbFV6QixrQkFBa0IsQVVtVXJCLGVBQWUsR0FBRyxZQUFZO0VWblUzQixrQkFBa0IsQVVvVXJCLGdCQUFnQixHQUFHLFlBQVk7RVZwVTVCLGtCQUFrQixBVXFVckIsY0FBYyxHQUFHLFlBQVksQ0FBQztJQUM3QixhQUFhLEUzQ3pUaUIsT0FBTSxDMkN5VE4sVUFBVSxHQUN6QztFVnZVRyxBVXlVSixrQlZ6VXNCLEFVeVVyQixnQkFBZ0IsRVZ6VWIsa0JBQWtCLEFVMFVyQixlQUFlLEVWMVVaLGtCQUFrQixBVTJVckIsY0FBYyxDQUFDO0lBQ2QsY0FBYyxFQUFFLGlCQUFpQixHQUNsQzs7QVY5VUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBQ3RCLEFVc1JILGtCVnRScUIsR1VzUm5CLElBQUk7RVZ0Ukgsa0JBQWtCLEdVdVJuQixHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQ1osY0FBYyxFQUFFLE1BQU07SUFDdEIsTUFBTSxFQUFFLENBQUMsR0FVVjtJVm5TRyxBVTJSRixrQlYzUm9CLEdVc1JuQixJQUFJLENBS0wsU0FBUztJVjNSUCxrQkFBa0IsR1V1Um5CLEdBQUcsR0FBRyxJQUFJLENBSVgsU0FBUyxDQUFDO01BQ1IsVUFBVSxFQUFFLElBQUksR0FDakI7SVY3UkMsQVUrUkYsa0JWL1JvQixHVXNSbkIsSUFBSSxBQVNKLGlCQUFpQixFVi9SaEIsa0JBQWtCLEdVc1JuQixJQUFJLEFBVUosa0JBQWtCO0lWaFNqQixrQkFBa0IsR1V1Um5CLEdBQUcsR0FBRyxJQUFJLEFBUVYsaUJBQWlCO0lWL1JoQixrQkFBa0IsR1V1Um5CLEdBQUcsR0FBRyxJQUFJLEFBU1Ysa0JBQWtCLENBQUM7TUFDbEIsYUFBYSxFQUFFLFNBQWdCLEdBQ2hDO0VWbFNDLEFVeVNGLGtCVnpTb0IsR1VxU25CLFNBQVMsQ0FJVixTQUFTO0VWelNQLGtCQUFrQixHVXNTbkIsVUFBVSxDQUdYLFNBQVM7RVZ6U1Asa0JBQWtCLEdVdVNuQixHQUFHLEdBQUcsU0FBUyxDQUVoQixTQUFTO0VWelNQLGtCQUFrQixHVXdTbkIsR0FBRyxHQUFHLFVBQVUsQ0FDakIsU0FBUyxDQUFDO0lBQ1IsTUFBTSxFQUFFLFlBQVksR0FDckI7RVYzU0MsQVU2U0Ysa0JWN1NvQixHVXFTbkIsU0FBUyxDQVFWLFNBQVM7RVY3U1Asa0JBQWtCLEdVc1NuQixVQUFVLENBT1gsU0FBUztFVjdTUCxrQkFBa0IsR1V1U25CLEdBQUcsR0FBRyxTQUFTLENBTWhCLFNBQVM7RVY3U1Asa0JBQWtCLEdVd1NuQixHQUFHLEdBQUcsVUFBVSxDQUtqQixTQUFTLENBQUM7SUFDUixNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQzNDL0ZtQixRQUFPLEMyQytGYixDQUFDLENBQUMsVUFBVSxHQUNyQztFVi9TQyxBVW9URixrQlZwVG9CLEdVa1RuQixTQUFTLEFBQUEsSUFBSyxDQUFBLFNBQVMsRUFFeEIsU0FBUztFVnBUUCxrQkFBa0IsR1VtVG5CLEdBQUcsR0FBRyxTQUFTLEFBQUEsSUFBSyxDQUROLFNBQVMsRUFFeEIsU0FBUyxDQUFDO0lsQjlaVixhQUFhLEV6QnVIaUIsT0FBTSxDMkN5U00sVUFBVSxHQUtuRDtJVjNUQyxBN0I5Rkosa0I2QjhGc0IsR1VrVG5CLFNBQVMsQUFBQSxJQUFLLENBQUEsU0FBUyxFQUV4QixTQUFTLEF2Q2xaVixNQUFNLEU2QjhGSCxrQkFBa0IsR1VrVG5CLFNBQVMsQUFBQSxJQUFLLENBQUEsU0FBUyxFQUV4QixTQUFTLEF2Q2paVixNQUFNO0k2QjZGSCxrQkFBa0IsR1VtVG5CLEdBQUcsR0FBRyxTQUFTLEFBQUEsSUFBSyxDQUROLFNBQVMsRUFFeEIsU0FBUyxBdkNsWlYsTUFBTTtJNkI4Rkgsa0JBQWtCLEdVbVRuQixHQUFHLEdBQUcsU0FBUyxBQUFBLElBQUssQ0FETixTQUFTLEVBRXhCLFNBQVMsQXZDalpWLE1BQU0sQ0FBQztNdUNzWkYsWUFBWSxFM0NoYUwsc0JBQU8sQzJDZ2FrQyxVQUFVLEd2Q3BaL0Q7RTZCMkZHLEFVNlRGLGtCVjdUb0IsR1VrVG5CLFNBQVMsQUFBQSxJQUFLLENBQUEsU0FBUyxFQVd4QixTQUFTLEFBQUEsT0FBTztFVjdUZCxrQkFBa0IsR1VtVG5CLEdBQUcsR0FBRyxTQUFTLEFBQUEsSUFBSyxDQUROLFNBQVMsRUFXeEIsU0FBUyxBQUFBLE9BQU8sQ0FBQztJQUNmLFlBQVksRTNDcmFILHNCQUFPLEMyQ3FhaUMsVUFBVSxHQUM1RDtFVi9UQyxBVWtVSixrQlZsVXNCLEFVa1VyQixhQUFhLEdBQUcsWUFBWTtFVmxVekIsa0JBQWtCLEFVbVVyQixlQUFlLEdBQUcsWUFBWTtFVm5VM0Isa0JBQWtCLEFVb1VyQixnQkFBZ0IsR0FBRyxZQUFZO0VWcFU1QixrQkFBa0IsQVVxVXJCLGNBQWMsR0FBRyxZQUFZLENBQUM7SUFDN0IsYUFBYSxFM0N6VGlCLE9BQU0sQzJDeVROLFVBQVUsR0FDekM7RVZ2VUcsQVV5VUosa0JWelVzQixBVXlVckIsZ0JBQWdCLEVWelViLGtCQUFrQixBVTBVckIsZUFBZSxFVjFVWixrQkFBa0IsQVUyVXJCLGNBQWMsQ0FBQztJQUNkLGNBQWMsRUFBRSxpQkFBaUIsR0FDbEM7O0FWOVVDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUN0QixBVXNSSCxrQlZ0UnFCLEdVc1JuQixJQUFJO0VWdFJILGtCQUFrQixHVXVSbkIsR0FBRyxHQUFHLElBQUksQ0FBQztJQUNaLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLE1BQU0sRUFBRSxDQUFDLEdBVVY7SVZuU0csQVUyUkYsa0JWM1JvQixHVXNSbkIsSUFBSSxDQUtMLFNBQVM7SVYzUlAsa0JBQWtCLEdVdVJuQixHQUFHLEdBQUcsSUFBSSxDQUlYLFNBQVMsQ0FBQztNQUNSLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0lWN1JDLEFVK1JGLGtCVi9Sb0IsR1VzUm5CLElBQUksQUFTSixpQkFBaUIsRVYvUmhCLGtCQUFrQixHVXNSbkIsSUFBSSxBQVVKLGtCQUFrQjtJVmhTakIsa0JBQWtCLEdVdVJuQixHQUFHLEdBQUcsSUFBSSxBQVFWLGlCQUFpQjtJVi9SaEIsa0JBQWtCLEdVdVJuQixHQUFHLEdBQUcsSUFBSSxBQVNWLGtCQUFrQixDQUFDO01BQ2xCLGFBQWEsRUFBRSxTQUFnQixHQUNoQztFVmxTQyxBVXlTRixrQlZ6U29CLEdVcVNuQixTQUFTLENBSVYsU0FBUztFVnpTUCxrQkFBa0IsR1VzU25CLFVBQVUsQ0FHWCxTQUFTO0VWelNQLGtCQUFrQixHVXVTbkIsR0FBRyxHQUFHLFNBQVMsQ0FFaEIsU0FBUztFVnpTUCxrQkFBa0IsR1V3U25CLEdBQUcsR0FBRyxVQUFVLENBQ2pCLFNBQVMsQ0FBQztJQUNSLE1BQU0sRUFBRSxZQUFZLEdBQ3JCO0VWM1NDLEFVNlNGLGtCVjdTb0IsR1VxU25CLFNBQVMsQ0FRVixTQUFTO0VWN1NQLGtCQUFrQixHVXNTbkIsVUFBVSxDQU9YLFNBQVM7RVY3U1Asa0JBQWtCLEdVdVNuQixHQUFHLEdBQUcsU0FBUyxDQU1oQixTQUFTO0VWN1NQLGtCQUFrQixHVXdTbkIsR0FBRyxHQUFHLFVBQVUsQ0FLakIsU0FBUyxDQUFDO0lBQ1IsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEMzQy9GbUIsUUFBTyxDMkMrRmIsQ0FBQyxDQUFDLFVBQVUsR0FDckM7RVYvU0MsQVVvVEYsa0JWcFRvQixHVWtUbkIsU0FBUyxBQUFBLElBQUssQ0FBQSxTQUFTLEVBRXhCLFNBQVM7RVZwVFAsa0JBQWtCLEdVbVRuQixHQUFHLEdBQUcsU0FBUyxBQUFBLElBQUssQ0FETixTQUFTLEVBRXhCLFNBQVMsQ0FBQztJbEI5WlYsYUFBYSxFekJ1SGlCLE9BQU0sQzJDeVNNLFVBQVUsR0FLbkQ7SVYzVEMsQTdCOUZKLGtCNkI4RnNCLEdVa1RuQixTQUFTLEFBQUEsSUFBSyxDQUFBLFNBQVMsRUFFeEIsU0FBUyxBdkNsWlYsTUFBTSxFNkI4Rkgsa0JBQWtCLEdVa1RuQixTQUFTLEFBQUEsSUFBSyxDQUFBLFNBQVMsRUFFeEIsU0FBUyxBdkNqWlYsTUFBTTtJNkI2Rkgsa0JBQWtCLEdVbVRuQixHQUFHLEdBQUcsU0FBUyxBQUFBLElBQUssQ0FETixTQUFTLEVBRXhCLFNBQVMsQXZDbFpWLE1BQU07STZCOEZILGtCQUFrQixHVW1UbkIsR0FBRyxHQUFHLFNBQVMsQUFBQSxJQUFLLENBRE4sU0FBUyxFQUV4QixTQUFTLEF2Q2paVixNQUFNLENBQUM7TXVDc1pGLFlBQVksRTNDaGFMLHNCQUFPLEMyQ2dha0MsVUFBVSxHdkNwWi9EO0U2QjJGRyxBVTZURixrQlY3VG9CLEdVa1RuQixTQUFTLEFBQUEsSUFBSyxDQUFBLFNBQVMsRUFXeEIsU0FBUyxBQUFBLE9BQU87RVY3VGQsa0JBQWtCLEdVbVRuQixHQUFHLEdBQUcsU0FBUyxBQUFBLElBQUssQ0FETixTQUFTLEVBV3hCLFNBQVMsQUFBQSxPQUFPLENBQUM7SUFDZixZQUFZLEUzQ3JhSCxzQkFBTyxDMkNxYWlDLFVBQVUsR0FDNUQ7RVYvVEMsQVVrVUosa0JWbFVzQixBVWtVckIsYUFBYSxHQUFHLFlBQVk7RVZsVXpCLGtCQUFrQixBVW1VckIsZUFBZSxHQUFHLFlBQVk7RVZuVTNCLGtCQUFrQixBVW9VckIsZ0JBQWdCLEdBQUcsWUFBWTtFVnBVNUIsa0JBQWtCLEFVcVVyQixjQUFjLEdBQUcsWUFBWSxDQUFDO0lBQzdCLGFBQWEsRTNDelRpQixPQUFNLEMyQ3lUTixVQUFVLEdBQ3pDO0VWdlVHLEFVeVVKLGtCVnpVc0IsQVV5VXJCLGdCQUFnQixFVnpVYixrQkFBa0IsQVUwVXJCLGVBQWUsRVYxVVosa0JBQWtCLEFVMlVyQixjQUFjLENBQUM7SUFDZCxjQUFjLEVBQUUsaUJBQWlCLEdBQ2xDOztBVjlVQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUFDdkIsQVVzUkgsa0JWdFJxQixHVXNSbkIsSUFBSTtFVnRSSCxrQkFBa0IsR1V1Um5CLEdBQUcsR0FBRyxJQUFJLENBQUM7SUFDWixjQUFjLEVBQUUsTUFBTTtJQUN0QixNQUFNLEVBQUUsQ0FBQyxHQVVWO0lWblNHLEFVMlJGLGtCVjNSb0IsR1VzUm5CLElBQUksQ0FLTCxTQUFTO0lWM1JQLGtCQUFrQixHVXVSbkIsR0FBRyxHQUFHLElBQUksQ0FJWCxTQUFTLENBQUM7TUFDUixVQUFVLEVBQUUsSUFBSSxHQUNqQjtJVjdSQyxBVStSRixrQlYvUm9CLEdVc1JuQixJQUFJLEFBU0osaUJBQWlCLEVWL1JoQixrQkFBa0IsR1VzUm5CLElBQUksQUFVSixrQkFBa0I7SVZoU2pCLGtCQUFrQixHVXVSbkIsR0FBRyxHQUFHLElBQUksQUFRVixpQkFBaUI7SVYvUmhCLGtCQUFrQixHVXVSbkIsR0FBRyxHQUFHLElBQUksQUFTVixrQkFBa0IsQ0FBQztNQUNsQixhQUFhLEVBQUUsU0FBZ0IsR0FDaEM7RVZsU0MsQVV5U0Ysa0JWelNvQixHVXFTbkIsU0FBUyxDQUlWLFNBQVM7RVZ6U1Asa0JBQWtCLEdVc1NuQixVQUFVLENBR1gsU0FBUztFVnpTUCxrQkFBa0IsR1V1U25CLEdBQUcsR0FBRyxTQUFTLENBRWhCLFNBQVM7RVZ6U1Asa0JBQWtCLEdVd1NuQixHQUFHLEdBQUcsVUFBVSxDQUNqQixTQUFTLENBQUM7SUFDUixNQUFNLEVBQUUsWUFBWSxHQUNyQjtFVjNTQyxBVTZTRixrQlY3U29CLEdVcVNuQixTQUFTLENBUVYsU0FBUztFVjdTUCxrQkFBa0IsR1VzU25CLFVBQVUsQ0FPWCxTQUFTO0VWN1NQLGtCQUFrQixHVXVTbkIsR0FBRyxHQUFHLFNBQVMsQ0FNaEIsU0FBUztFVjdTUCxrQkFBa0IsR1V3U25CLEdBQUcsR0FBRyxVQUFVLENBS2pCLFNBQVMsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDM0MvRm1CLFFBQU8sQzJDK0ZiLENBQUMsQ0FBQyxVQUFVLEdBQ3JDO0VWL1NDLEFVb1RGLGtCVnBUb0IsR1VrVG5CLFNBQVMsQUFBQSxJQUFLLENBQUEsU0FBUyxFQUV4QixTQUFTO0VWcFRQLGtCQUFrQixHVW1UbkIsR0FBRyxHQUFHLFNBQVMsQUFBQSxJQUFLLENBRE4sU0FBUyxFQUV4QixTQUFTLENBQUM7SWxCOVpWLGFBQWEsRXpCdUhpQixPQUFNLEMyQ3lTTSxVQUFVLEdBS25EO0lWM1RDLEE3QjlGSixrQjZCOEZzQixHVWtUbkIsU0FBUyxBQUFBLElBQUssQ0FBQSxTQUFTLEVBRXhCLFNBQVMsQXZDbFpWLE1BQU0sRTZCOEZILGtCQUFrQixHVWtUbkIsU0FBUyxBQUFBLElBQUssQ0FBQSxTQUFTLEVBRXhCLFNBQVMsQXZDalpWLE1BQU07STZCNkZILGtCQUFrQixHVW1UbkIsR0FBRyxHQUFHLFNBQVMsQUFBQSxJQUFLLENBRE4sU0FBUyxFQUV4QixTQUFTLEF2Q2xaVixNQUFNO0k2QjhGSCxrQkFBa0IsR1VtVG5CLEdBQUcsR0FBRyxTQUFTLEFBQUEsSUFBSyxDQUROLFNBQVMsRUFFeEIsU0FBUyxBdkNqWlYsTUFBTSxDQUFDO011Q3NaRixZQUFZLEUzQ2hhTCxzQkFBTyxDMkNnYWtDLFVBQVUsR3ZDcFovRDtFNkIyRkcsQVU2VEYsa0JWN1RvQixHVWtUbkIsU0FBUyxBQUFBLElBQUssQ0FBQSxTQUFTLEVBV3hCLFNBQVMsQUFBQSxPQUFPO0VWN1RkLGtCQUFrQixHVW1UbkIsR0FBRyxHQUFHLFNBQVMsQUFBQSxJQUFLLENBRE4sU0FBUyxFQVd4QixTQUFTLEFBQUEsT0FBTyxDQUFDO0lBQ2YsWUFBWSxFM0NyYUgsc0JBQU8sQzJDcWFpQyxVQUFVLEdBQzVEO0VWL1RDLEFVa1VKLGtCVmxVc0IsQVVrVXJCLGFBQWEsR0FBRyxZQUFZO0VWbFV6QixrQkFBa0IsQVVtVXJCLGVBQWUsR0FBRyxZQUFZO0VWblUzQixrQkFBa0IsQVVvVXJCLGdCQUFnQixHQUFHLFlBQVk7RVZwVTVCLGtCQUFrQixBVXFVckIsY0FBYyxHQUFHLFlBQVksQ0FBQztJQUM3QixhQUFhLEUzQ3pUaUIsT0FBTSxDMkN5VE4sVUFBVSxHQUN6QztFVnZVRyxBVXlVSixrQlZ6VXNCLEFVeVVyQixnQkFBZ0IsRVZ6VWIsa0JBQWtCLEFVMFVyQixlQUFlLEVWMVVaLGtCQUFrQixBVTJVckIsY0FBYyxDQUFDO0lBQ2QsY0FBYyxFQUFFLGlCQUFpQixHQUNsQzs7QUNqYkgsQUFBQSxVQUFVLEdBQUcsVUFBVSxDQUFDLFVBQVU7QUFDbEMsV0FBVyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLElBQUssQ0FBQSxVQUFVLEVBQUU7RUFDdEMsV0FBVyxFNUNzWHNCLFNBQVEsRzRDaFgxQzs7QUFFRCxBQUFBLFVBQVU7QUFDVixVQUFVLEdBQUcsQ0FBQyxDQUFDO0VBQ2IsU0FBUyxFQUFFLG9CQUF5SDtFQUNwSSxVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEU1QzBWc0IsQ0FBQyxDNEMxVkcsVUFBVTtFbkJwQjdDLGFBQWEsRXpCdUhpQixPQUFNLEc0Q3hGdkM7RUFmRCxBQVlFLFVBWlEsQUFZUCxNQUFNO0VBWFQsVUFBVSxHQUFHLENBQUMsQUFXWCxNQUFNLENBQUM7SUFDTixLQUFLLEU1Q2FVLE9BQU8sRzRDWnZCOztBQUdILEFBQUEsVUFBVSxBQUFBLFlBQVksQ0FBQztFQUNyQixVQUFVLEVBQUUsZUFBZSxHQUM1Qjs7QUFLRCxBQUFBLFdBQVcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLElBQUssQ0FqQ0csVUFBVSxFQWlDRDtFQUNuQyxRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsS0FBSztFQUNkLE9BQU8sRTVDNlQwQixRQUFPLENBQ1AsU0FBUTtFNEM3VHpDLFNBQVMsRUFBRSxvQkFBeUg7RUFDcEksTUFBTSxFNUN3RTBCLEdBQUcsQzRDeEVGLEtBQUssQzVDMUN6QixzQkFBTztFNEMyQ3BCLGdCQUFnQixFNUNrVWlCLFdBQVc7RTRDalU1QyxLQUFLLEU5Q3FGSyxPQUFtQztFOENwRjdDLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRTVDNlRzQixDQUFDLEM0QzdURyxVQUFVO0VuQmpEN0MsYUFBYSxFekJ1SGlCLE9BQU0sRzRDckR2QztFQTFCRCxBeEM1QkUsV3dDNEJTLEdBQUcsRUFBRSxHQUFHLENBQUMsQUFBQSxJQUFLLENBakNHLFVBQVUsQ3hDS25DLE1BQU0sRXdDNEJULFdBQVcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLElBQUssQ0FqQ0csVUFBVSxDeENNbkMsTUFBTSxDQUFDO0l3Q3dDTixZQUFZLEU1Q2xERCxxQkFBTztJNENtRGxCLGdCQUFnQixFNUMwVGUsV0FBVztJNEN6VDFDLEtBQUssRTVDYlUsT0FBTztJNENjdEIsZUFBZSxFQUFFLElBQUksR3hDekN0QjtFd0N5QkgsQUF1QkUsV0F2QlMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLElBQUssQ0FqQ0csVUFBVSxDQXdEbkMsTUFBTSxDQUFDO0lBQ04sS0FBSyxFNUN0QlUsT0FBTyxHNEN1QnZCOztBQTJCSCxBQUFBLGNBQWMsQ0FBQyxVQUFVO0FBQ3pCLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLElBQUssQ0F0RkEsVUFBVSxFQXNGRTtFQUN0QyxTQUFTLEVBQUUsb0JBQTBIO0VuQjlGbkksYUFBYSxFekJ1SGlCLE9BQU0sRzRDdEJ2Qzs7QUFFRCxBQUFBLGNBQWMsQ0FBQyxVQUFVO0FBQ3pCLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLElBQUssQ0E3RkEsVUFBVSxFQTZGRTtFQUN0QyxTQUFTLEVBQUUsa0JBQTBIO0VuQnJHbkksYUFBYSxFekJ1SGlCLE9BQU0sRzRDZnZDOztBWHNnQkMsQUFBQSxnQkFBZ0IsQ0FBTDtFQUNULFlBQVksRW5DM2VKLE9BQW1DO0VtQzRlM0MsZ0JBQWdCLEVuQzVlUixPQUFtQztFbUM2ZTNDLEtBQUssRW5DN2VHLE9BQW1DLEdtQ3NmNUM7RUFaRCxBQUtFLGdCQUxjLENBS2QsRUFBRSxDQUFDO0lBQ0QsZ0JBQWdCLEVuQ2hmVixPQUFtQyxHbUNpZjFDO0VBUEgsQUFTRSxnQkFUYyxDQVNkLFdBQVcsQ0FBQztJQUNWLEtBQUssRW5DcGZDLE9BQW1DLEdtQ3FmMUM7O0FBT0gsQUFBQSxxQkFBcUIsQ0FBVjtFQUNULGdCQUFnQixFakMvbEJMLE9BQU87RWlDZ21CbEIsS0FBSyxFbkNsZUcsSUFBSSxHbUM0ZWI7RUFaRCxBQUlFLHFCQUptQixDQUluQixFQUFFLENBQUM7SUFDRCxnQkFBZ0IsRW5DcmVWLHdCQUFJLEdtQ3NlWDtFQU5ILEFBUUUscUJBUm1CLENBUW5CLE1BQU07RUFSUixxQkFBcUIsQ0FTbkIsV0FBVyxDQUFDO0lBQ1YsS0FBSyxFbkMxZUMsSUFBSSxHbUMyZVg7O0FBN0JILEFBQUEsY0FBYyxDQUFIO0VBQ1QsWUFBWSxFbkMzZUosT0FBbUM7RW1DNGUzQyxnQkFBZ0IsRW5DNWVSLE9BQW1DO0VtQzZlM0MsS0FBSyxFbkM3ZUcsT0FBbUMsR21Dc2Y1QztFQVpELEFBS0UsY0FMWSxDQUtaLEVBQUUsQ0FBQztJQUNELGdCQUFnQixFbkNoZlYsT0FBbUMsR21DaWYxQztFQVBILEFBU0UsY0FUWSxDQVNaLFdBQVcsQ0FBQztJQUNWLEtBQUssRW5DcGZDLE9BQW1DLEdtQ3FmMUM7O0FBT0gsQUFBQSxtQkFBbUIsQ0FBUjtFQUNULGdCQUFnQixFakNybUJMLE9BQU87RWlDc21CbEIsS0FBSyxFbkNsZUcsSUFBSSxHbUM0ZWI7RUFaRCxBQUlFLG1CQUppQixDQUlqQixFQUFFLENBQUM7SUFDRCxnQkFBZ0IsRW5DcmVWLHdCQUFJLEdtQ3NlWDtFQU5ILEFBUUUsbUJBUmlCLENBUWpCLE1BQU07RUFSUixtQkFBbUIsQ0FTakIsV0FBVyxDQUFDO0lBQ1YsS0FBSyxFbkMxZUMsSUFBSSxHbUMyZVg7O0FBN0JILEFBQUEsV0FBVyxDQUFBO0VBQ1QsWUFBWSxFbkMzZUosT0FBbUM7RW1DNGUzQyxnQkFBZ0IsRW5DNWVSLE9BQW1DO0VtQzZlM0MsS0FBSyxFbkM3ZUcsT0FBbUMsR21Dc2Y1QztFQVpELEFBS0UsV0FMUyxDQUtULEVBQUUsQ0FBQztJQUNELGdCQUFnQixFbkNoZlYsT0FBbUMsR21DaWYxQztFQVBILEFBU0UsV0FUUyxDQVNULFdBQVcsQ0FBQztJQUNWLEtBQUssRW5DcGZDLE9BQW1DLEdtQ3FmMUM7O0FBT0gsQUFBQSxnQkFBZ0IsQ0FBTDtFQUNULGdCQUFnQixFakNubUJMLE9BQU87RWlDb21CbEIsS0FBSyxFbkNsZUcsSUFBSSxHbUM0ZWI7RUFaRCxBQUlFLGdCQUpjLENBSWQsRUFBRSxDQUFDO0lBQ0QsZ0JBQWdCLEVuQ3JlVix3QkFBSSxHbUNzZVg7RUFOSCxBQVFFLGdCQVJjLENBUWQsTUFBTTtFQVJSLGdCQUFnQixDQVNkLFdBQVcsQ0FBQztJQUNWLEtBQUssRW5DMWVDLElBQUksR21DMmVYOztBQTdCSCxBQUFBLGNBQWMsQ0FBSDtFQUNULFlBQVksRW5DM2VKLE9BQW1DO0VtQzRlM0MsZ0JBQWdCLEVuQzVlUixPQUFtQztFbUM2ZTNDLEtBQUssRW5DN2VHLE9BQW1DLEdtQ3NmNUM7RUFaRCxBQUtFLGNBTFksQ0FLWixFQUFFLENBQUM7SUFDRCxnQkFBZ0IsRW5DaGZWLE9BQW1DLEdtQ2lmMUM7RUFQSCxBQVNFLGNBVFksQ0FTWixXQUFXLENBQUM7SUFDVixLQUFLLEVuQ3BmQyxPQUFtQyxHbUNxZjFDOztBQU9ILEFBQUEsbUJBQW1CLENBQVI7RUFDVCxnQkFBZ0IsRWpDdG1CTCxPQUFPO0VpQ3VtQmxCLEtBQUssRW5DOWZHLE9BQW1DLEdtQ3dnQjVDO0VBWkQsQUFJRSxtQkFKaUIsQ0FJakIsRUFBRSxDQUFDO0lBQ0QsZ0JBQWdCLEVuQ2pnQlYsc0JBQW1DLEdtQ2tnQjFDO0VBTkgsQUFRRSxtQkFSaUIsQ0FRakIsTUFBTTtFQVJSLG1CQUFtQixDQVNqQixXQUFXLENBQUM7SUFDVixLQUFLLEVuQ3RnQkMsT0FBbUMsR21DdWdCMUM7O0FBN0JILEFBQUEsYUFBYSxDQUFGO0VBQ1QsWUFBWSxFbkMzZUosT0FBbUM7RW1DNGUzQyxnQkFBZ0IsRW5DNWVSLE9BQW1DO0VtQzZlM0MsS0FBSyxFbkM3ZUcsT0FBbUMsR21Dc2Y1QztFQVpELEFBS0UsYUFMVyxDQUtYLEVBQUUsQ0FBQztJQUNELGdCQUFnQixFbkNoZlYsT0FBbUMsR21DaWYxQztFQVBILEFBU0UsYUFUVyxDQVNYLFdBQVcsQ0FBQztJQUNWLEtBQUssRW5DcGZDLE9BQW1DLEdtQ3FmMUM7O0FBT0gsQUFBQSxrQkFBa0IsQ0FBUDtFQUNULGdCQUFnQixFakN4bUJMLE9BQU87RWlDeW1CbEIsS0FBSyxFbkNsZUcsSUFBSSxHbUM0ZWI7RUFaRCxBQUlFLGtCQUpnQixDQUloQixFQUFFLENBQUM7SUFDRCxnQkFBZ0IsRW5DcmVWLHdCQUFJLEdtQ3NlWDtFQU5ILEFBUUUsa0JBUmdCLENBUWhCLE1BQU07RUFSUixrQkFBa0IsQ0FTaEIsV0FBVyxDQUFDO0lBQ1YsS0FBSyxFbkMxZUMsSUFBSSxHbUMyZVg7O0FBN0JILEFBQUEsV0FBVyxDQUFBO0VBQ1QsWUFBWSxFbkMzZUosT0FBbUM7RW1DNGUzQyxnQkFBZ0IsRW5DNWVSLE9BQW1DO0VtQzZlM0MsS0FBSyxFbkM3ZUcsT0FBbUMsR21Dc2Y1QztFQVpELEFBS0UsV0FMUyxDQUtULEVBQUUsQ0FBQztJQUNELGdCQUFnQixFbkNoZlYsT0FBbUMsR21DaWYxQztFQVBILEFBU0UsV0FUUyxDQVNULFdBQVcsQ0FBQztJQUNWLEtBQUssRW5DcGZDLE9BQW1DLEdtQ3FmMUM7O0FBT0gsQUFBQSxnQkFBZ0IsQ0FBTDtFQUNULGdCQUFnQixFakM5bkJMLHFCQUFPO0VpQytuQmxCLEtBQUssRW5DbGVHLElBQUksR21DNGViO0VBWkQsQUFJRSxnQkFKYyxDQUlkLEVBQUUsQ0FBQztJQUNELGdCQUFnQixFbkNyZVYsd0JBQUksR21Dc2VYO0VBTkgsQUFRRSxnQkFSYyxDQVFkLE1BQU07RUFSUixnQkFBZ0IsQ0FTZCxXQUFXLENBQUM7SUFDVixLQUFLLEVuQzFlQyxJQUFJLEdtQzJlWDs7QWE1b0JMLEFBQUEsY0FBYyxDQUFDO0VBQ2IsVUFBVSxFOUNzWlMsSUFBSSxHOENyWnhCOztBQUVELEFBQUEsV0FBVyxDQUFDLFFBQVEsQ0FBQztFQUNuQixPQUFPLEU5Q3lJYyxJQUFJLEc4Q3hJMUI7O0FiOG9CQyxBQUNFLGtCQURnQixDQUNoQixjQUFjLEVBREksa0JBQWtCLEdBQUcsUUFBUSxDQUMvQyxjQUFjLEVBRG1DLHNCQUFzQixHQUFHLGtCQUFrQixDQUM1RixjQUFjLENBQUM7RUFDYixVQUFVLEVqQ25uQkQsT0FBTztFaUNvbkJoQixLQUFLLEVuQ3RmQyxJQUFJLEdtQ3VmWDs7QUFKSCxBQU1FLGtCQU5nQixBQU1mLGVBQWUsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQU5qQyxrQkFBa0IsQUFNa0IsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsS0FBSyxBQUFsQixFQUFvQixNQUFNLEFBQUEsUUFBUSxFQU5uRSxrQkFBa0IsR0FBRyxRQUFRLEFBTTlDLGVBQWUsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQU5iLGtCQUFrQixHQUFHLFFBQVEsQUFNYixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxLQUFLLEFBQWxCLEVBQW9CLE1BQU0sQUFBQSxRQUFRLEVBTnBDLHNCQUFzQixHQUFHLGtCQUFrQixBQU0zRixlQUFlLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFOa0Isc0JBQXNCLEdBQUcsa0JBQWtCLEFBTTFELGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLEtBQUssQUFBbEIsRUFBb0IsTUFBTSxBQUFBLFFBQVEsQ0FBQztFQUFFLGdCQUFnQixFakN2bkI3RixPQUFPLEdpQ3VuQnVHOztBQU4zSCxBQU9FLGtCQVBnQixBQU9mLGlCQUFpQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBUG5DLGtCQUFrQixBQU9vQixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxPQUFPLEFBQXBCLEVBQXNCLE1BQU0sQUFBQSxRQUFRLEVBUHZFLGtCQUFrQixHQUFHLFFBQVEsQUFPOUMsaUJBQWlCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFQZixrQkFBa0IsR0FBRyxRQUFRLEFBT1gsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsT0FBTyxBQUFwQixFQUFzQixNQUFNLEFBQUEsUUFBUSxFQVB4QyxzQkFBc0IsR0FBRyxrQkFBa0IsQUFPM0YsaUJBQWlCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFQZ0Isc0JBQXNCLEdBQUcsa0JBQWtCLEFBT3hELGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE9BQU8sQUFBcEIsRUFBc0IsTUFBTSxBQUFBLFFBQVEsQ0FBQztFQUFFLGtCQUFrQixFakN4bkJuRyxPQUFPLEdpQ3duQjZHOztBQVBqSSxBQVFFLGtCQVJnQixBQVFmLGtCQUFrQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBUnBDLGtCQUFrQixBQVFxQixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxRQUFRLEFBQXJCLEVBQXVCLE1BQU0sQUFBQSxRQUFRLEVBUnpFLGtCQUFrQixHQUFHLFFBQVEsQUFROUMsa0JBQWtCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFSaEIsa0JBQWtCLEdBQUcsUUFBUSxBQVFWLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLFFBQVEsQUFBckIsRUFBdUIsTUFBTSxBQUFBLFFBQVEsRUFSMUMsc0JBQXNCLEdBQUcsa0JBQWtCLEFBUTNGLGtCQUFrQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBUmUsc0JBQXNCLEdBQUcsa0JBQWtCLEFBUXZELGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLFFBQVEsQUFBckIsRUFBdUIsTUFBTSxBQUFBLFFBQVEsQ0FBQztFQUFFLG1CQUFtQixFakN6bkJ0RyxPQUFPLEdpQ3luQmdIOztBQVJwSSxBQVNFLGtCQVRnQixBQVNmLGdCQUFnQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBVGxDLGtCQUFrQixBQVNtQixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxNQUFNLEFBQW5CLEVBQXFCLE1BQU0sQUFBQSxRQUFRLEVBVHJFLGtCQUFrQixHQUFHLFFBQVEsQUFTOUMsZ0JBQWdCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFUZCxrQkFBa0IsR0FBRyxRQUFRLEFBU1osZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsTUFBTSxBQUFuQixFQUFxQixNQUFNLEFBQUEsUUFBUSxFQVR0QyxzQkFBc0IsR0FBRyxrQkFBa0IsQUFTM0YsZ0JBQWdCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFUaUIsc0JBQXNCLEdBQUcsa0JBQWtCLEFBU3pELGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE1BQU0sQUFBbkIsRUFBcUIsTUFBTSxBQUFBLFFBQVEsQ0FBQztFQUFFLGlCQUFpQixFakMxbkJoRyxPQUFPLEdpQzBuQjBHOztBQVQ5SCxBQUNFLGdCQURjLENBQ2QsY0FBYyxFQURFLGdCQUFnQixHQUFHLFFBQVEsQ0FDM0MsY0FBYyxFQUQrQixvQkFBb0IsR0FBRyxrQkFBa0IsQ0FDdEYsY0FBYyxDQUFDO0VBQ2IsVUFBVSxFakN6bkJELE9BQU87RWlDMG5CaEIsS0FBSyxFbkN0ZkMsSUFBSSxHbUN1Zlg7O0FBSkgsQUFNRSxnQkFOYyxBQU1iLGVBQWUsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQU5qQyxnQkFBZ0IsQUFNb0IsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsS0FBSyxBQUFsQixFQUFvQixNQUFNLEFBQUEsUUFBUSxFQU5yRSxnQkFBZ0IsR0FBRyxRQUFRLEFBTTFDLGVBQWUsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQU5mLGdCQUFnQixHQUFHLFFBQVEsQUFNVCxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxLQUFLLEFBQWxCLEVBQW9CLE1BQU0sQUFBQSxRQUFRLEVBTnhDLG9CQUFvQixHQUFHLGtCQUFrQixBQU1yRixlQUFlLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFOYyxvQkFBb0IsR0FBRyxrQkFBa0IsQUFNcEQsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsS0FBSyxBQUFsQixFQUFvQixNQUFNLEFBQUEsUUFBUSxDQUFDO0VBQUUsZ0JBQWdCLEVqQzduQjdGLE9BQU8sR2lDNm5CdUc7O0FBTjNILEFBT0UsZ0JBUGMsQUFPYixpQkFBaUIsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQVBuQyxnQkFBZ0IsQUFPc0IsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsT0FBTyxBQUFwQixFQUFzQixNQUFNLEFBQUEsUUFBUSxFQVB6RSxnQkFBZ0IsR0FBRyxRQUFRLEFBTzFDLGlCQUFpQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBUGpCLGdCQUFnQixHQUFHLFFBQVEsQUFPUCxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxPQUFPLEFBQXBCLEVBQXNCLE1BQU0sQUFBQSxRQUFRLEVBUDVDLG9CQUFvQixHQUFHLGtCQUFrQixBQU9yRixpQkFBaUIsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQVBZLG9CQUFvQixHQUFHLGtCQUFrQixBQU9sRCxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxPQUFPLEFBQXBCLEVBQXNCLE1BQU0sQUFBQSxRQUFRLENBQUM7RUFBRSxrQkFBa0IsRWpDOW5CbkcsT0FBTyxHaUM4bkI2Rzs7QUFQakksQUFRRSxnQkFSYyxBQVFiLGtCQUFrQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBUnBDLGdCQUFnQixBQVF1QixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxRQUFRLEFBQXJCLEVBQXVCLE1BQU0sQUFBQSxRQUFRLEVBUjNFLGdCQUFnQixHQUFHLFFBQVEsQUFRMUMsa0JBQWtCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFSbEIsZ0JBQWdCLEdBQUcsUUFBUSxBQVFOLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLFFBQVEsQUFBckIsRUFBdUIsTUFBTSxBQUFBLFFBQVEsRUFSOUMsb0JBQW9CLEdBQUcsa0JBQWtCLEFBUXJGLGtCQUFrQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBUlcsb0JBQW9CLEdBQUcsa0JBQWtCLEFBUWpELGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLFFBQVEsQUFBckIsRUFBdUIsTUFBTSxBQUFBLFFBQVEsQ0FBQztFQUFFLG1CQUFtQixFakMvbkJ0RyxPQUFPLEdpQytuQmdIOztBQVJwSSxBQVNFLGdCQVRjLEFBU2IsZ0JBQWdCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFUbEMsZ0JBQWdCLEFBU3FCLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE1BQU0sQUFBbkIsRUFBcUIsTUFBTSxBQUFBLFFBQVEsRUFUdkUsZ0JBQWdCLEdBQUcsUUFBUSxBQVMxQyxnQkFBZ0IsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQVRoQixnQkFBZ0IsR0FBRyxRQUFRLEFBU1IsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsTUFBTSxBQUFuQixFQUFxQixNQUFNLEFBQUEsUUFBUSxFQVQxQyxvQkFBb0IsR0FBRyxrQkFBa0IsQUFTckYsZ0JBQWdCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFUYSxvQkFBb0IsR0FBRyxrQkFBa0IsQUFTbkQsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsTUFBTSxBQUFuQixFQUFxQixNQUFNLEFBQUEsUUFBUSxDQUFDO0VBQUUsaUJBQWlCLEVqQ2hvQmhHLE9BQU8sR2lDZ29CMEc7O0FBVDlILEFBQ0UsYUFEVyxDQUNYLGNBQWMsRUFERCxhQUFhLEdBQUcsUUFBUSxDQUNyQyxjQUFjLEVBRHlCLGlCQUFpQixHQUFHLGtCQUFrQixDQUM3RSxjQUFjLENBQUM7RUFDYixVQUFVLEVqQ3ZuQkQsT0FBTztFaUN3bkJoQixLQUFLLEVuQ3RmQyxJQUFJLEdtQ3VmWDs7QUFKSCxBQU1FLGFBTlcsQUFNVixlQUFlLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFOakMsYUFBYSxBQU11QixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxLQUFLLEFBQWxCLEVBQW9CLE1BQU0sQUFBQSxRQUFRLEVBTnhFLGFBQWEsR0FBRyxRQUFRLEFBTXBDLGVBQWUsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQU5sQixhQUFhLEdBQUcsUUFBUSxBQU1ILGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLEtBQUssQUFBbEIsRUFBb0IsTUFBTSxBQUFBLFFBQVEsRUFOOUMsaUJBQWlCLEdBQUcsa0JBQWtCLEFBTTVFLGVBQWUsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQU5RLGlCQUFpQixHQUFHLGtCQUFrQixBQU0zQyxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxLQUFLLEFBQWxCLEVBQW9CLE1BQU0sQUFBQSxRQUFRLENBQUM7RUFBRSxnQkFBZ0IsRWpDM25CN0YsT0FBTyxHaUMybkJ1Rzs7QUFOM0gsQUFPRSxhQVBXLEFBT1YsaUJBQWlCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFQbkMsYUFBYSxBQU95QixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxPQUFPLEFBQXBCLEVBQXNCLE1BQU0sQUFBQSxRQUFRLEVBUDVFLGFBQWEsR0FBRyxRQUFRLEFBT3BDLGlCQUFpQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBUHBCLGFBQWEsR0FBRyxRQUFRLEFBT0QsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsT0FBTyxBQUFwQixFQUFzQixNQUFNLEFBQUEsUUFBUSxFQVBsRCxpQkFBaUIsR0FBRyxrQkFBa0IsQUFPNUUsaUJBQWlCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFQTSxpQkFBaUIsR0FBRyxrQkFBa0IsQUFPekMsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsT0FBTyxBQUFwQixFQUFzQixNQUFNLEFBQUEsUUFBUSxDQUFDO0VBQUUsa0JBQWtCLEVqQzVuQm5HLE9BQU8sR2lDNG5CNkc7O0FBUGpJLEFBUUUsYUFSVyxBQVFWLGtCQUFrQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBUnBDLGFBQWEsQUFRMEIsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsUUFBUSxBQUFyQixFQUF1QixNQUFNLEFBQUEsUUFBUSxFQVI5RSxhQUFhLEdBQUcsUUFBUSxBQVFwQyxrQkFBa0IsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQVJyQixhQUFhLEdBQUcsUUFBUSxBQVFBLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLFFBQVEsQUFBckIsRUFBdUIsTUFBTSxBQUFBLFFBQVEsRUFScEQsaUJBQWlCLEdBQUcsa0JBQWtCLEFBUTVFLGtCQUFrQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBUkssaUJBQWlCLEdBQUcsa0JBQWtCLEFBUXhDLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLFFBQVEsQUFBckIsRUFBdUIsTUFBTSxBQUFBLFFBQVEsQ0FBQztFQUFFLG1CQUFtQixFakM3bkJ0RyxPQUFPLEdpQzZuQmdIOztBQVJwSSxBQVNFLGFBVFcsQUFTVixnQkFBZ0IsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQVRsQyxhQUFhLEFBU3dCLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE1BQU0sQUFBbkIsRUFBcUIsTUFBTSxBQUFBLFFBQVEsRUFUMUUsYUFBYSxHQUFHLFFBQVEsQUFTcEMsZ0JBQWdCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFUbkIsYUFBYSxHQUFHLFFBQVEsQUFTRixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxNQUFNLEFBQW5CLEVBQXFCLE1BQU0sQUFBQSxRQUFRLEVBVGhELGlCQUFpQixHQUFHLGtCQUFrQixBQVM1RSxnQkFBZ0IsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQVRPLGlCQUFpQixHQUFHLGtCQUFrQixBQVMxQyxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxNQUFNLEFBQW5CLEVBQXFCLE1BQU0sQUFBQSxRQUFRLENBQUM7RUFBRSxpQkFBaUIsRWpDOW5CaEcsT0FBTyxHaUM4bkIwRzs7QUFUOUgsQUFDRSxnQkFEYyxDQUNkLGNBQWMsRUFERSxnQkFBZ0IsR0FBRyxRQUFRLENBQzNDLGNBQWMsRUFEK0Isb0JBQW9CLEdBQUcsa0JBQWtCLENBQ3RGLGNBQWMsQ0FBQztFQUNiLFVBQVUsRWpDMW5CRCxPQUFPO0VpQzJuQmhCLEtBQUssRW5DbGhCQyxPQUFtQyxHbUNtaEIxQzs7QUFKSCxBQU1FLGdCQU5jLEFBTWIsZUFBZSxDQUFDLE1BQU0sQUFBQSxRQUFRLEVBTmpDLGdCQUFnQixBQU1vQixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxLQUFLLEFBQWxCLEVBQW9CLE1BQU0sQUFBQSxRQUFRLEVBTnJFLGdCQUFnQixHQUFHLFFBQVEsQUFNMUMsZUFBZSxDQUFDLE1BQU0sQUFBQSxRQUFRLEVBTmYsZ0JBQWdCLEdBQUcsUUFBUSxBQU1ULGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLEtBQUssQUFBbEIsRUFBb0IsTUFBTSxBQUFBLFFBQVEsRUFOeEMsb0JBQW9CLEdBQUcsa0JBQWtCLEFBTXJGLGVBQWUsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQU5jLG9CQUFvQixHQUFHLGtCQUFrQixBQU1wRCxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxLQUFLLEFBQWxCLEVBQW9CLE1BQU0sQUFBQSxRQUFRLENBQUM7RUFBRSxnQkFBZ0IsRWpDOW5CN0YsT0FBTyxHaUM4bkJ1Rzs7QUFOM0gsQUFPRSxnQkFQYyxBQU9iLGlCQUFpQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBUG5DLGdCQUFnQixBQU9zQixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxPQUFPLEFBQXBCLEVBQXNCLE1BQU0sQUFBQSxRQUFRLEVBUHpFLGdCQUFnQixHQUFHLFFBQVEsQUFPMUMsaUJBQWlCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFQakIsZ0JBQWdCLEdBQUcsUUFBUSxBQU9QLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE9BQU8sQUFBcEIsRUFBc0IsTUFBTSxBQUFBLFFBQVEsRUFQNUMsb0JBQW9CLEdBQUcsa0JBQWtCLEFBT3JGLGlCQUFpQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBUFksb0JBQW9CLEdBQUcsa0JBQWtCLEFBT2xELGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE9BQU8sQUFBcEIsRUFBc0IsTUFBTSxBQUFBLFFBQVEsQ0FBQztFQUFFLGtCQUFrQixFakMvbkJuRyxPQUFPLEdpQytuQjZHOztBQVBqSSxBQVFFLGdCQVJjLEFBUWIsa0JBQWtCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFScEMsZ0JBQWdCLEFBUXVCLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLFFBQVEsQUFBckIsRUFBdUIsTUFBTSxBQUFBLFFBQVEsRUFSM0UsZ0JBQWdCLEdBQUcsUUFBUSxBQVExQyxrQkFBa0IsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQVJsQixnQkFBZ0IsR0FBRyxRQUFRLEFBUU4sZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsUUFBUSxBQUFyQixFQUF1QixNQUFNLEFBQUEsUUFBUSxFQVI5QyxvQkFBb0IsR0FBRyxrQkFBa0IsQUFRckYsa0JBQWtCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFSVyxvQkFBb0IsR0FBRyxrQkFBa0IsQUFRakQsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsUUFBUSxBQUFyQixFQUF1QixNQUFNLEFBQUEsUUFBUSxDQUFDO0VBQUUsbUJBQW1CLEVqQ2hvQnRHLE9BQU8sR2lDZ29CZ0g7O0FBUnBJLEFBU0UsZ0JBVGMsQUFTYixnQkFBZ0IsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQVRsQyxnQkFBZ0IsQUFTcUIsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsTUFBTSxBQUFuQixFQUFxQixNQUFNLEFBQUEsUUFBUSxFQVR2RSxnQkFBZ0IsR0FBRyxRQUFRLEFBUzFDLGdCQUFnQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBVGhCLGdCQUFnQixHQUFHLFFBQVEsQUFTUixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxNQUFNLEFBQW5CLEVBQXFCLE1BQU0sQUFBQSxRQUFRLEVBVDFDLG9CQUFvQixHQUFHLGtCQUFrQixBQVNyRixnQkFBZ0IsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQVRhLG9CQUFvQixHQUFHLGtCQUFrQixBQVNuRCxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxNQUFNLEFBQW5CLEVBQXFCLE1BQU0sQUFBQSxRQUFRLENBQUM7RUFBRSxpQkFBaUIsRWpDam9CaEcsT0FBTyxHaUNpb0IwRzs7QUFUOUgsQUFDRSxlQURhLENBQ2IsY0FBYyxFQURDLGVBQWUsR0FBRyxRQUFRLENBQ3pDLGNBQWMsRUFENkIsbUJBQW1CLEdBQUcsa0JBQWtCLENBQ25GLGNBQWMsQ0FBQztFQUNiLFVBQVUsRWpDNW5CRCxPQUFPO0VpQzZuQmhCLEtBQUssRW5DdGZDLElBQUksR21DdWZYOztBQUpILEFBTUUsZUFOYSxBQU1aLGVBQWUsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQU5qQyxlQUFlLEFBTXFCLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLEtBQUssQUFBbEIsRUFBb0IsTUFBTSxBQUFBLFFBQVEsRUFOdEUsZUFBZSxHQUFHLFFBQVEsQUFNeEMsZUFBZSxDQUFDLE1BQU0sQUFBQSxRQUFRLEVBTmhCLGVBQWUsR0FBRyxRQUFRLEFBTVAsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsS0FBSyxBQUFsQixFQUFvQixNQUFNLEFBQUEsUUFBUSxFQU4xQyxtQkFBbUIsR0FBRyxrQkFBa0IsQUFNbEYsZUFBZSxDQUFDLE1BQU0sQUFBQSxRQUFRLEVBTlksbUJBQW1CLEdBQUcsa0JBQWtCLEFBTWpELGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLEtBQUssQUFBbEIsRUFBb0IsTUFBTSxBQUFBLFFBQVEsQ0FBQztFQUFFLGdCQUFnQixFakNob0I3RixPQUFPLEdpQ2dvQnVHOztBQU4zSCxBQU9FLGVBUGEsQUFPWixpQkFBaUIsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQVBuQyxlQUFlLEFBT3VCLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE9BQU8sQUFBcEIsRUFBc0IsTUFBTSxBQUFBLFFBQVEsRUFQMUUsZUFBZSxHQUFHLFFBQVEsQUFPeEMsaUJBQWlCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFQbEIsZUFBZSxHQUFHLFFBQVEsQUFPTCxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxPQUFPLEFBQXBCLEVBQXNCLE1BQU0sQUFBQSxRQUFRLEVBUDlDLG1CQUFtQixHQUFHLGtCQUFrQixBQU9sRixpQkFBaUIsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQVBVLG1CQUFtQixHQUFHLGtCQUFrQixBQU8vQyxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxPQUFPLEFBQXBCLEVBQXNCLE1BQU0sQUFBQSxRQUFRLENBQUM7RUFBRSxrQkFBa0IsRWpDam9CbkcsT0FBTyxHaUNpb0I2Rzs7QUFQakksQUFRRSxlQVJhLEFBUVosa0JBQWtCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFScEMsZUFBZSxBQVF3QixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxRQUFRLEFBQXJCLEVBQXVCLE1BQU0sQUFBQSxRQUFRLEVBUjVFLGVBQWUsR0FBRyxRQUFRLEFBUXhDLGtCQUFrQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBUm5CLGVBQWUsR0FBRyxRQUFRLEFBUUosZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsUUFBUSxBQUFyQixFQUF1QixNQUFNLEFBQUEsUUFBUSxFQVJoRCxtQkFBbUIsR0FBRyxrQkFBa0IsQUFRbEYsa0JBQWtCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFSUyxtQkFBbUIsR0FBRyxrQkFBa0IsQUFROUMsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsUUFBUSxBQUFyQixFQUF1QixNQUFNLEFBQUEsUUFBUSxDQUFDO0VBQUUsbUJBQW1CLEVqQ2xvQnRHLE9BQU8sR2lDa29CZ0g7O0FBUnBJLEFBU0UsZUFUYSxBQVNaLGdCQUFnQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBVGxDLGVBQWUsQUFTc0IsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsTUFBTSxBQUFuQixFQUFxQixNQUFNLEFBQUEsUUFBUSxFQVR4RSxlQUFlLEdBQUcsUUFBUSxBQVN4QyxnQkFBZ0IsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQVRqQixlQUFlLEdBQUcsUUFBUSxBQVNOLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE1BQU0sQUFBbkIsRUFBcUIsTUFBTSxBQUFBLFFBQVEsRUFUNUMsbUJBQW1CLEdBQUcsa0JBQWtCLEFBU2xGLGdCQUFnQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBVFcsbUJBQW1CLEdBQUcsa0JBQWtCLEFBU2hELGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE1BQU0sQUFBbkIsRUFBcUIsTUFBTSxBQUFBLFFBQVEsQ0FBQztFQUFFLGlCQUFpQixFakNub0JoRyxPQUFPLEdpQ21vQjBHOztBQVQ5SCxBQUNFLGFBRFcsQ0FDWCxjQUFjLEVBREQsYUFBYSxHQUFHLFFBQVEsQ0FDckMsY0FBYyxFQUR5QixpQkFBaUIsR0FBRyxrQkFBa0IsQ0FDN0UsY0FBYyxDQUFDO0VBQ2IsVUFBVSxFbkNqaEJKLE9BQW1DO0VtQ2toQnpDLEtBQUssRW5DdGZDLElBQUksR21DdWZYOztBQUpILEFBTUUsYUFOVyxBQU1WLGVBQWUsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQU5qQyxhQUFhLEFBTXVCLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLEtBQUssQUFBbEIsRUFBb0IsTUFBTSxBQUFBLFFBQVEsRUFOeEUsYUFBYSxHQUFHLFFBQVEsQUFNcEMsZUFBZSxDQUFDLE1BQU0sQUFBQSxRQUFRLEVBTmxCLGFBQWEsR0FBRyxRQUFRLEFBTUgsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsS0FBSyxBQUFsQixFQUFvQixNQUFNLEFBQUEsUUFBUSxFQU45QyxpQkFBaUIsR0FBRyxrQkFBa0IsQUFNNUUsZUFBZSxDQUFDLE1BQU0sQUFBQSxRQUFRLEVBTlEsaUJBQWlCLEdBQUcsa0JBQWtCLEFBTTNDLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLEtBQUssQUFBbEIsRUFBb0IsTUFBTSxBQUFBLFFBQVEsQ0FBQztFQUFFLGdCQUFnQixFbkNyaEJoRyxPQUFtQyxHbUNxaEI4RTs7QUFOM0gsQUFPRSxhQVBXLEFBT1YsaUJBQWlCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFQbkMsYUFBYSxBQU95QixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxPQUFPLEFBQXBCLEVBQXNCLE1BQU0sQUFBQSxRQUFRLEVBUDVFLGFBQWEsR0FBRyxRQUFRLEFBT3BDLGlCQUFpQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBUHBCLGFBQWEsR0FBRyxRQUFRLEFBT0QsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsT0FBTyxBQUFwQixFQUFzQixNQUFNLEFBQUEsUUFBUSxFQVBsRCxpQkFBaUIsR0FBRyxrQkFBa0IsQUFPNUUsaUJBQWlCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFQTSxpQkFBaUIsR0FBRyxrQkFBa0IsQUFPekMsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsT0FBTyxBQUFwQixFQUFzQixNQUFNLEFBQUEsUUFBUSxDQUFDO0VBQUUsa0JBQWtCLEVuQ3RoQnRHLE9BQW1DLEdtQ3NoQm9GOztBQVBqSSxBQVFFLGFBUlcsQUFRVixrQkFBa0IsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQVJwQyxhQUFhLEFBUTBCLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLFFBQVEsQUFBckIsRUFBdUIsTUFBTSxBQUFBLFFBQVEsRUFSOUUsYUFBYSxHQUFHLFFBQVEsQUFRcEMsa0JBQWtCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFSckIsYUFBYSxHQUFHLFFBQVEsQUFRQSxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxRQUFRLEFBQXJCLEVBQXVCLE1BQU0sQUFBQSxRQUFRLEVBUnBELGlCQUFpQixHQUFHLGtCQUFrQixBQVE1RSxrQkFBa0IsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQVJLLGlCQUFpQixHQUFHLGtCQUFrQixBQVF4QyxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxRQUFRLEFBQXJCLEVBQXVCLE1BQU0sQUFBQSxRQUFRLENBQUM7RUFBRSxtQkFBbUIsRW5DdmhCekcsT0FBbUMsR21DdWhCdUY7O0FBUnBJLEFBU0UsYUFUVyxBQVNWLGdCQUFnQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBVGxDLGFBQWEsQUFTd0IsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsTUFBTSxBQUFuQixFQUFxQixNQUFNLEFBQUEsUUFBUSxFQVQxRSxhQUFhLEdBQUcsUUFBUSxBQVNwQyxnQkFBZ0IsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQVRuQixhQUFhLEdBQUcsUUFBUSxBQVNGLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE1BQU0sQUFBbkIsRUFBcUIsTUFBTSxBQUFBLFFBQVEsRUFUaEQsaUJBQWlCLEdBQUcsa0JBQWtCLEFBUzVFLGdCQUFnQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBVE8saUJBQWlCLEdBQUcsa0JBQWtCLEFBUzFDLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE1BQU0sQUFBbkIsRUFBcUIsTUFBTSxBQUFBLFFBQVEsQ0FBQztFQUFFLGlCQUFpQixFbkN4aEJuRyxPQUFtQyxHbUN3aEJpRjs7QWM3cEJoSSxBQUFBLFFBQVEsQ0FBQztFQUNQLFVBQVUsRS9DaUlzQixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQkFBa0IsRytDNUg3RDtFQU5ELEFBR0UsUUFITSxDQUdOLE1BQU0sQ0FBQztJQUNMLE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FBR0gsQUFBQSxXQUFXLENBQUMsUUFBUSxDQUFDO0VBQ25CLE9BQU8sRS9DcUljLElBQUksRytDcEkxQjs7QWQ2cEJDLEFBQUEsa0JBQWtCLEVBQUUsa0JBQWtCLEdBQUcsUUFBUSxFQUFFLHNCQUFzQixHQUFHLGtCQUFrQixDQUFuRjtFQUNULFlBQVksRUFBRSxXQUFXO0VBQ3pCLFVBQVUsRWpDdG9CQyxPQUFPLEdpQ3lwQm5CO0VBckJELEFBSUUsa0JBSmdCLENBSWhCLGVBQWUsRUFKRyxrQkFBa0IsR0FBRyxRQUFRLENBSS9DLGVBQWUsRUFKa0Msc0JBQXNCLEdBQUcsa0JBQWtCLENBSTVGLGVBQWUsQ0FBQztJQUNkLFlBQVksRW5DM2dCTix3QkFBSTtJbUM0Z0JWLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLEtBQUssRW5DN2dCQyxJQUFJLEdtQzhnQlg7RUFSSCxBQVVFLGtCQVZnQixDQVVoQixhQUFhLEVBVkssa0JBQWtCLEdBQUcsUUFBUSxDQVUvQyxhQUFhLEVBVm9DLHNCQUFzQixHQUFHLGtCQUFrQixDQVU1RixhQUFhLENBQUM7SUFDWixVQUFVLEVBQUUsV0FBVztJQUN2QixLQUFLLEVuQ2xoQkMsSUFBSSxHbUNtaEJYO0VBYkgsQUFlRSxrQkFmZ0IsQ0FlaEIsTUFBTSxBQUFBLFFBQVEsRUFmSSxrQkFBa0IsR0FBRyxRQUFRLENBZS9DLE1BQU0sQUFBQSxRQUFRLEVBZm1DLHNCQUFzQixHQUFHLGtCQUFrQixDQWU1RixNQUFNLEFBQUEsUUFBUSxDQUFDO0lBQUUsWUFBWSxFQUFFLHNCQUFzQixHQUFJO0VBZjNELEFBaUJFLGtCQWpCZ0IsQUFpQmYsZUFBZSxDQUFDLE1BQU0sQUFBQSxPQUFPLEVBakJoQyxrQkFBa0IsQUFpQmlCLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLEtBQUssQUFBbEIsRUFBb0IsTUFBTSxBQUFBLE9BQU8sRUFqQmpFLGtCQUFrQixHQUFHLFFBQVEsQUFpQjlDLGVBQWUsQ0FBQyxNQUFNLEFBQUEsT0FBTyxFQWpCWixrQkFBa0IsR0FBRyxRQUFRLEFBaUJkLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLEtBQUssQUFBbEIsRUFBb0IsTUFBTSxBQUFBLE9BQU8sRUFqQmxDLHNCQUFzQixHQUFHLGtCQUFrQixBQWlCM0YsZUFBZSxDQUFDLE1BQU0sQUFBQSxPQUFPLEVBakJtQixzQkFBc0IsR0FBRyxrQkFBa0IsQUFpQjNELGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLEtBQUssQUFBbEIsRUFBb0IsTUFBTSxBQUFBLE9BQU8sQ0FBQztJQUFFLGdCQUFnQixFakNycEIzRixPQUFPLEdpQ3FwQnFHO0VBakJ6SCxBQWtCRSxrQkFsQmdCLEFBa0JmLGlCQUFpQixDQUFDLE1BQU0sQUFBQSxPQUFPLEVBbEJsQyxrQkFBa0IsQUFrQm1CLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE9BQU8sQUFBcEIsRUFBc0IsTUFBTSxBQUFBLE9BQU8sRUFsQnJFLGtCQUFrQixHQUFHLFFBQVEsQUFrQjlDLGlCQUFpQixDQUFDLE1BQU0sQUFBQSxPQUFPLEVBbEJkLGtCQUFrQixHQUFHLFFBQVEsQUFrQlosZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsT0FBTyxBQUFwQixFQUFzQixNQUFNLEFBQUEsT0FBTyxFQWxCdEMsc0JBQXNCLEdBQUcsa0JBQWtCLEFBa0IzRixpQkFBaUIsQ0FBQyxNQUFNLEFBQUEsT0FBTyxFQWxCaUIsc0JBQXNCLEdBQUcsa0JBQWtCLEFBa0J6RCxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxPQUFPLEFBQXBCLEVBQXNCLE1BQU0sQUFBQSxPQUFPLENBQUM7SUFBRSxrQkFBa0IsRWpDdHBCakcsT0FBTyxHaUNzcEIyRztFQWxCL0gsQUFtQkUsa0JBbkJnQixBQW1CZixrQkFBa0IsQ0FBQyxNQUFNLEFBQUEsT0FBTyxFQW5CbkMsa0JBQWtCLEFBbUJvQixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxRQUFRLEFBQXJCLEVBQXVCLE1BQU0sQUFBQSxPQUFPLEVBbkJ2RSxrQkFBa0IsR0FBRyxRQUFRLEFBbUI5QyxrQkFBa0IsQ0FBQyxNQUFNLEFBQUEsT0FBTyxFQW5CZixrQkFBa0IsR0FBRyxRQUFRLEFBbUJYLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLFFBQVEsQUFBckIsRUFBdUIsTUFBTSxBQUFBLE9BQU8sRUFuQnhDLHNCQUFzQixHQUFHLGtCQUFrQixBQW1CM0Ysa0JBQWtCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFuQmdCLHNCQUFzQixHQUFHLGtCQUFrQixBQW1CeEQsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsUUFBUSxBQUFyQixFQUF1QixNQUFNLEFBQUEsT0FBTyxDQUFDO0lBQUUsbUJBQW1CLEVqQ3ZwQnBHLE9BQU8sR2lDdXBCOEc7RUFuQmxJLEFBb0JFLGtCQXBCZ0IsQUFvQmYsZ0JBQWdCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFwQmpDLGtCQUFrQixBQW9Ca0IsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsTUFBTSxBQUFuQixFQUFxQixNQUFNLEFBQUEsT0FBTyxFQXBCbkUsa0JBQWtCLEdBQUcsUUFBUSxBQW9COUMsZ0JBQWdCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFwQmIsa0JBQWtCLEdBQUcsUUFBUSxBQW9CYixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxNQUFNLEFBQW5CLEVBQXFCLE1BQU0sQUFBQSxPQUFPLEVBcEJwQyxzQkFBc0IsR0FBRyxrQkFBa0IsQUFvQjNGLGdCQUFnQixDQUFDLE1BQU0sQUFBQSxPQUFPLEVBcEJrQixzQkFBc0IsR0FBRyxrQkFBa0IsQUFvQjFELGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE1BQU0sQUFBbkIsRUFBcUIsTUFBTSxBQUFBLE9BQU8sQ0FBQztJQUFFLGlCQUFpQixFakN4cEI5RixPQUFPLEdpQ3dwQndHOztBQXBCNUgsQUFBQSxnQkFBZ0IsRUFBRSxnQkFBZ0IsR0FBRyxRQUFRLEVBQUUsb0JBQW9CLEdBQUcsa0JBQWtCLENBQTdFO0VBQ1QsWUFBWSxFQUFFLFdBQVc7RUFDekIsVUFBVSxFakM1b0JDLE9BQU8sR2lDK3BCbkI7RUFyQkQsQUFJRSxnQkFKYyxDQUlkLGVBQWUsRUFKQyxnQkFBZ0IsR0FBRyxRQUFRLENBSTNDLGVBQWUsRUFKOEIsb0JBQW9CLEdBQUcsa0JBQWtCLENBSXRGLGVBQWUsQ0FBQztJQUNkLFlBQVksRW5DM2dCTix3QkFBSTtJbUM0Z0JWLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLEtBQUssRW5DN2dCQyxJQUFJLEdtQzhnQlg7RUFSSCxBQVVFLGdCQVZjLENBVWQsYUFBYSxFQVZHLGdCQUFnQixHQUFHLFFBQVEsQ0FVM0MsYUFBYSxFQVZnQyxvQkFBb0IsR0FBRyxrQkFBa0IsQ0FVdEYsYUFBYSxDQUFDO0lBQ1osVUFBVSxFQUFFLFdBQVc7SUFDdkIsS0FBSyxFbkNsaEJDLElBQUksR21DbWhCWDtFQWJILEFBZUUsZ0JBZmMsQ0FlZCxNQUFNLEFBQUEsUUFBUSxFQWZFLGdCQUFnQixHQUFHLFFBQVEsQ0FlM0MsTUFBTSxBQUFBLFFBQVEsRUFmK0Isb0JBQW9CLEdBQUcsa0JBQWtCLENBZXRGLE1BQU0sQUFBQSxRQUFRLENBQUM7SUFBRSxZQUFZLEVBQUUsc0JBQXNCLEdBQUk7RUFmM0QsQUFpQkUsZ0JBakJjLEFBaUJiLGVBQWUsQ0FBQyxNQUFNLEFBQUEsT0FBTyxFQWpCaEMsZ0JBQWdCLEFBaUJtQixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxLQUFLLEFBQWxCLEVBQW9CLE1BQU0sQUFBQSxPQUFPLEVBakJuRSxnQkFBZ0IsR0FBRyxRQUFRLEFBaUIxQyxlQUFlLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFqQmQsZ0JBQWdCLEdBQUcsUUFBUSxBQWlCVixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxLQUFLLEFBQWxCLEVBQW9CLE1BQU0sQUFBQSxPQUFPLEVBakJ0QyxvQkFBb0IsR0FBRyxrQkFBa0IsQUFpQnJGLGVBQWUsQ0FBQyxNQUFNLEFBQUEsT0FBTyxFQWpCZSxvQkFBb0IsR0FBRyxrQkFBa0IsQUFpQnJELGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLEtBQUssQUFBbEIsRUFBb0IsTUFBTSxBQUFBLE9BQU8sQ0FBQztJQUFFLGdCQUFnQixFakMzcEIzRixPQUFPLEdpQzJwQnFHO0VBakJ6SCxBQWtCRSxnQkFsQmMsQUFrQmIsaUJBQWlCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFsQmxDLGdCQUFnQixBQWtCcUIsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsT0FBTyxBQUFwQixFQUFzQixNQUFNLEFBQUEsT0FBTyxFQWxCdkUsZ0JBQWdCLEdBQUcsUUFBUSxBQWtCMUMsaUJBQWlCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFsQmhCLGdCQUFnQixHQUFHLFFBQVEsQUFrQlIsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsT0FBTyxBQUFwQixFQUFzQixNQUFNLEFBQUEsT0FBTyxFQWxCMUMsb0JBQW9CLEdBQUcsa0JBQWtCLEFBa0JyRixpQkFBaUIsQ0FBQyxNQUFNLEFBQUEsT0FBTyxFQWxCYSxvQkFBb0IsR0FBRyxrQkFBa0IsQUFrQm5ELGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE9BQU8sQUFBcEIsRUFBc0IsTUFBTSxBQUFBLE9BQU8sQ0FBQztJQUFFLGtCQUFrQixFakM1cEJqRyxPQUFPLEdpQzRwQjJHO0VBbEIvSCxBQW1CRSxnQkFuQmMsQUFtQmIsa0JBQWtCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFuQm5DLGdCQUFnQixBQW1Cc0IsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsUUFBUSxBQUFyQixFQUF1QixNQUFNLEFBQUEsT0FBTyxFQW5CekUsZ0JBQWdCLEdBQUcsUUFBUSxBQW1CMUMsa0JBQWtCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFuQmpCLGdCQUFnQixHQUFHLFFBQVEsQUFtQlAsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsUUFBUSxBQUFyQixFQUF1QixNQUFNLEFBQUEsT0FBTyxFQW5CNUMsb0JBQW9CLEdBQUcsa0JBQWtCLEFBbUJyRixrQkFBa0IsQ0FBQyxNQUFNLEFBQUEsT0FBTyxFQW5CWSxvQkFBb0IsR0FBRyxrQkFBa0IsQUFtQmxELGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLFFBQVEsQUFBckIsRUFBdUIsTUFBTSxBQUFBLE9BQU8sQ0FBQztJQUFFLG1CQUFtQixFakM3cEJwRyxPQUFPLEdpQzZwQjhHO0VBbkJsSSxBQW9CRSxnQkFwQmMsQUFvQmIsZ0JBQWdCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFwQmpDLGdCQUFnQixBQW9Cb0IsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsTUFBTSxBQUFuQixFQUFxQixNQUFNLEFBQUEsT0FBTyxFQXBCckUsZ0JBQWdCLEdBQUcsUUFBUSxBQW9CMUMsZ0JBQWdCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFwQmYsZ0JBQWdCLEdBQUcsUUFBUSxBQW9CVCxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxNQUFNLEFBQW5CLEVBQXFCLE1BQU0sQUFBQSxPQUFPLEVBcEJ4QyxvQkFBb0IsR0FBRyxrQkFBa0IsQUFvQnJGLGdCQUFnQixDQUFDLE1BQU0sQUFBQSxPQUFPLEVBcEJjLG9CQUFvQixHQUFHLGtCQUFrQixBQW9CcEQsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsTUFBTSxBQUFuQixFQUFxQixNQUFNLEFBQUEsT0FBTyxDQUFDO0lBQUUsaUJBQWlCLEVqQzlwQjlGLE9BQU8sR2lDOHBCd0c7O0FBcEI1SCxBQUFBLGFBQWEsRUFBRSxhQUFhLEdBQUcsUUFBUSxFQUFFLGlCQUFpQixHQUFHLGtCQUFrQixDQUFwRTtFQUNULFlBQVksRUFBRSxXQUFXO0VBQ3pCLFVBQVUsRWpDMW9CQyxPQUFPLEdpQzZwQm5CO0VBckJELEFBSUUsYUFKVyxDQUlYLGVBQWUsRUFKRixhQUFhLEdBQUcsUUFBUSxDQUlyQyxlQUFlLEVBSndCLGlCQUFpQixHQUFHLGtCQUFrQixDQUk3RSxlQUFlLENBQUM7SUFDZCxZQUFZLEVuQzNnQk4sd0JBQUk7SW1DNGdCVixVQUFVLEVBQUUsV0FBVztJQUN2QixLQUFLLEVuQzdnQkMsSUFBSSxHbUM4Z0JYO0VBUkgsQUFVRSxhQVZXLENBVVgsYUFBYSxFQVZBLGFBQWEsR0FBRyxRQUFRLENBVXJDLGFBQWEsRUFWMEIsaUJBQWlCLEdBQUcsa0JBQWtCLENBVTdFLGFBQWEsQ0FBQztJQUNaLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLEtBQUssRW5DbGhCQyxJQUFJLEdtQ21oQlg7RUFiSCxBQWVFLGFBZlcsQ0FlWCxNQUFNLEFBQUEsUUFBUSxFQWZELGFBQWEsR0FBRyxRQUFRLENBZXJDLE1BQU0sQUFBQSxRQUFRLEVBZnlCLGlCQUFpQixHQUFHLGtCQUFrQixDQWU3RSxNQUFNLEFBQUEsUUFBUSxDQUFDO0lBQUUsWUFBWSxFQUFFLHNCQUFzQixHQUFJO0VBZjNELEFBaUJFLGFBakJXLEFBaUJWLGVBQWUsQ0FBQyxNQUFNLEFBQUEsT0FBTyxFQWpCaEMsYUFBYSxBQWlCc0IsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsS0FBSyxBQUFsQixFQUFvQixNQUFNLEFBQUEsT0FBTyxFQWpCdEUsYUFBYSxHQUFHLFFBQVEsQUFpQnBDLGVBQWUsQ0FBQyxNQUFNLEFBQUEsT0FBTyxFQWpCakIsYUFBYSxHQUFHLFFBQVEsQUFpQkosZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsS0FBSyxBQUFsQixFQUFvQixNQUFNLEFBQUEsT0FBTyxFQWpCNUMsaUJBQWlCLEdBQUcsa0JBQWtCLEFBaUI1RSxlQUFlLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFqQlMsaUJBQWlCLEdBQUcsa0JBQWtCLEFBaUI1QyxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxLQUFLLEFBQWxCLEVBQW9CLE1BQU0sQUFBQSxPQUFPLENBQUM7SUFBRSxnQkFBZ0IsRWpDenBCM0YsT0FBTyxHaUN5cEJxRztFQWpCekgsQUFrQkUsYUFsQlcsQUFrQlYsaUJBQWlCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFsQmxDLGFBQWEsQUFrQndCLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE9BQU8sQUFBcEIsRUFBc0IsTUFBTSxBQUFBLE9BQU8sRUFsQjFFLGFBQWEsR0FBRyxRQUFRLEFBa0JwQyxpQkFBaUIsQ0FBQyxNQUFNLEFBQUEsT0FBTyxFQWxCbkIsYUFBYSxHQUFHLFFBQVEsQUFrQkYsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsT0FBTyxBQUFwQixFQUFzQixNQUFNLEFBQUEsT0FBTyxFQWxCaEQsaUJBQWlCLEdBQUcsa0JBQWtCLEFBa0I1RSxpQkFBaUIsQ0FBQyxNQUFNLEFBQUEsT0FBTyxFQWxCTyxpQkFBaUIsR0FBRyxrQkFBa0IsQUFrQjFDLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE9BQU8sQUFBcEIsRUFBc0IsTUFBTSxBQUFBLE9BQU8sQ0FBQztJQUFFLGtCQUFrQixFakMxcEJqRyxPQUFPLEdpQzBwQjJHO0VBbEIvSCxBQW1CRSxhQW5CVyxBQW1CVixrQkFBa0IsQ0FBQyxNQUFNLEFBQUEsT0FBTyxFQW5CbkMsYUFBYSxBQW1CeUIsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsUUFBUSxBQUFyQixFQUF1QixNQUFNLEFBQUEsT0FBTyxFQW5CNUUsYUFBYSxHQUFHLFFBQVEsQUFtQnBDLGtCQUFrQixDQUFDLE1BQU0sQUFBQSxPQUFPLEVBbkJwQixhQUFhLEdBQUcsUUFBUSxBQW1CRCxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxRQUFRLEFBQXJCLEVBQXVCLE1BQU0sQUFBQSxPQUFPLEVBbkJsRCxpQkFBaUIsR0FBRyxrQkFBa0IsQUFtQjVFLGtCQUFrQixDQUFDLE1BQU0sQUFBQSxPQUFPLEVBbkJNLGlCQUFpQixHQUFHLGtCQUFrQixBQW1CekMsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsUUFBUSxBQUFyQixFQUF1QixNQUFNLEFBQUEsT0FBTyxDQUFDO0lBQUUsbUJBQW1CLEVqQzNwQnBHLE9BQU8sR2lDMnBCOEc7RUFuQmxJLEFBb0JFLGFBcEJXLEFBb0JWLGdCQUFnQixDQUFDLE1BQU0sQUFBQSxPQUFPLEVBcEJqQyxhQUFhLEFBb0J1QixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxNQUFNLEFBQW5CLEVBQXFCLE1BQU0sQUFBQSxPQUFPLEVBcEJ4RSxhQUFhLEdBQUcsUUFBUSxBQW9CcEMsZ0JBQWdCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFwQmxCLGFBQWEsR0FBRyxRQUFRLEFBb0JILGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE1BQU0sQUFBbkIsRUFBcUIsTUFBTSxBQUFBLE9BQU8sRUFwQjlDLGlCQUFpQixHQUFHLGtCQUFrQixBQW9CNUUsZ0JBQWdCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFwQlEsaUJBQWlCLEdBQUcsa0JBQWtCLEFBb0IzQyxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxNQUFNLEFBQW5CLEVBQXFCLE1BQU0sQUFBQSxPQUFPLENBQUM7SUFBRSxpQkFBaUIsRWpDNXBCOUYsT0FBTyxHaUM0cEJ3Rzs7QUFwQjVILEFBQUEsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsUUFBUSxFQUFFLG9CQUFvQixHQUFHLGtCQUFrQixDQUE3RTtFQUNULFlBQVksRUFBRSxXQUFXO0VBQ3pCLFVBQVUsRWpDN29CQyxPQUFPLEdpQ2dxQm5CO0VBckJELEFBSUUsZ0JBSmMsQ0FJZCxlQUFlLEVBSkMsZ0JBQWdCLEdBQUcsUUFBUSxDQUkzQyxlQUFlLEVBSjhCLG9CQUFvQixHQUFHLGtCQUFrQixDQUl0RixlQUFlLENBQUM7SUFDZCxZQUFZLEVuQ3ZpQk4sc0JBQW1DO0ltQ3dpQnpDLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLEtBQUssRW5DemlCQyxPQUFtQyxHbUMwaUIxQztFQVJILEFBVUUsZ0JBVmMsQ0FVZCxhQUFhLEVBVkcsZ0JBQWdCLEdBQUcsUUFBUSxDQVUzQyxhQUFhLEVBVmdDLG9CQUFvQixHQUFHLGtCQUFrQixDQVV0RixhQUFhLENBQUM7SUFDWixVQUFVLEVBQUUsV0FBVztJQUN2QixLQUFLLEVuQzlpQkMsT0FBbUMsR21DK2lCMUM7RUFiSCxBQWVFLGdCQWZjLENBZWQsTUFBTSxBQUFBLFFBQVEsRUFmRSxnQkFBZ0IsR0FBRyxRQUFRLENBZTNDLE1BQU0sQUFBQSxRQUFRLEVBZitCLG9CQUFvQixHQUFHLGtCQUFrQixDQWV0RixNQUFNLEFBQUEsUUFBUSxDQUFDO0lBQUUsWUFBWSxFQUFFLHNCQUFzQixHQUFJO0VBZjNELEFBaUJFLGdCQWpCYyxBQWlCYixlQUFlLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFqQmhDLGdCQUFnQixBQWlCbUIsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsS0FBSyxBQUFsQixFQUFvQixNQUFNLEFBQUEsT0FBTyxFQWpCbkUsZ0JBQWdCLEdBQUcsUUFBUSxBQWlCMUMsZUFBZSxDQUFDLE1BQU0sQUFBQSxPQUFPLEVBakJkLGdCQUFnQixHQUFHLFFBQVEsQUFpQlYsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsS0FBSyxBQUFsQixFQUFvQixNQUFNLEFBQUEsT0FBTyxFQWpCdEMsb0JBQW9CLEdBQUcsa0JBQWtCLEFBaUJyRixlQUFlLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFqQmUsb0JBQW9CLEdBQUcsa0JBQWtCLEFBaUJyRCxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxLQUFLLEFBQWxCLEVBQW9CLE1BQU0sQUFBQSxPQUFPLENBQUM7SUFBRSxnQkFBZ0IsRWpDNXBCM0YsT0FBTyxHaUM0cEJxRztFQWpCekgsQUFrQkUsZ0JBbEJjLEFBa0JiLGlCQUFpQixDQUFDLE1BQU0sQUFBQSxPQUFPLEVBbEJsQyxnQkFBZ0IsQUFrQnFCLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE9BQU8sQUFBcEIsRUFBc0IsTUFBTSxBQUFBLE9BQU8sRUFsQnZFLGdCQUFnQixHQUFHLFFBQVEsQUFrQjFDLGlCQUFpQixDQUFDLE1BQU0sQUFBQSxPQUFPLEVBbEJoQixnQkFBZ0IsR0FBRyxRQUFRLEFBa0JSLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE9BQU8sQUFBcEIsRUFBc0IsTUFBTSxBQUFBLE9BQU8sRUFsQjFDLG9CQUFvQixHQUFHLGtCQUFrQixBQWtCckYsaUJBQWlCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFsQmEsb0JBQW9CLEdBQUcsa0JBQWtCLEFBa0JuRCxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxPQUFPLEFBQXBCLEVBQXNCLE1BQU0sQUFBQSxPQUFPLENBQUM7SUFBRSxrQkFBa0IsRWpDN3BCakcsT0FBTyxHaUM2cEIyRztFQWxCL0gsQUFtQkUsZ0JBbkJjLEFBbUJiLGtCQUFrQixDQUFDLE1BQU0sQUFBQSxPQUFPLEVBbkJuQyxnQkFBZ0IsQUFtQnNCLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLFFBQVEsQUFBckIsRUFBdUIsTUFBTSxBQUFBLE9BQU8sRUFuQnpFLGdCQUFnQixHQUFHLFFBQVEsQUFtQjFDLGtCQUFrQixDQUFDLE1BQU0sQUFBQSxPQUFPLEVBbkJqQixnQkFBZ0IsR0FBRyxRQUFRLEFBbUJQLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLFFBQVEsQUFBckIsRUFBdUIsTUFBTSxBQUFBLE9BQU8sRUFuQjVDLG9CQUFvQixHQUFHLGtCQUFrQixBQW1CckYsa0JBQWtCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFuQlksb0JBQW9CLEdBQUcsa0JBQWtCLEFBbUJsRCxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxRQUFRLEFBQXJCLEVBQXVCLE1BQU0sQUFBQSxPQUFPLENBQUM7SUFBRSxtQkFBbUIsRWpDOXBCcEcsT0FBTyxHaUM4cEI4RztFQW5CbEksQUFvQkUsZ0JBcEJjLEFBb0JiLGdCQUFnQixDQUFDLE1BQU0sQUFBQSxPQUFPLEVBcEJqQyxnQkFBZ0IsQUFvQm9CLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE1BQU0sQUFBbkIsRUFBcUIsTUFBTSxBQUFBLE9BQU8sRUFwQnJFLGdCQUFnQixHQUFHLFFBQVEsQUFvQjFDLGdCQUFnQixDQUFDLE1BQU0sQUFBQSxPQUFPLEVBcEJmLGdCQUFnQixHQUFHLFFBQVEsQUFvQlQsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsTUFBTSxBQUFuQixFQUFxQixNQUFNLEFBQUEsT0FBTyxFQXBCeEMsb0JBQW9CLEdBQUcsa0JBQWtCLEFBb0JyRixnQkFBZ0IsQ0FBQyxNQUFNLEFBQUEsT0FBTyxFQXBCYyxvQkFBb0IsR0FBRyxrQkFBa0IsQUFvQnBELGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE1BQU0sQUFBbkIsRUFBcUIsTUFBTSxBQUFBLE9BQU8sQ0FBQztJQUFFLGlCQUFpQixFakMvcEI5RixPQUFPLEdpQytwQndHOztBQXBCNUgsQUFBQSxlQUFlLEVBQUUsZUFBZSxHQUFHLFFBQVEsRUFBRSxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBMUU7RUFDVCxZQUFZLEVBQUUsV0FBVztFQUN6QixVQUFVLEVqQy9vQkMsT0FBTyxHaUNrcUJuQjtFQXJCRCxBQUlFLGVBSmEsQ0FJYixlQUFlLEVBSkEsZUFBZSxHQUFHLFFBQVEsQ0FJekMsZUFBZSxFQUo0QixtQkFBbUIsR0FBRyxrQkFBa0IsQ0FJbkYsZUFBZSxDQUFDO0lBQ2QsWUFBWSxFbkMzZ0JOLHdCQUFJO0ltQzRnQlYsVUFBVSxFQUFFLFdBQVc7SUFDdkIsS0FBSyxFbkM3Z0JDLElBQUksR21DOGdCWDtFQVJILEFBVUUsZUFWYSxDQVViLGFBQWEsRUFWRSxlQUFlLEdBQUcsUUFBUSxDQVV6QyxhQUFhLEVBVjhCLG1CQUFtQixHQUFHLGtCQUFrQixDQVVuRixhQUFhLENBQUM7SUFDWixVQUFVLEVBQUUsV0FBVztJQUN2QixLQUFLLEVuQ2xoQkMsSUFBSSxHbUNtaEJYO0VBYkgsQUFlRSxlQWZhLENBZWIsTUFBTSxBQUFBLFFBQVEsRUFmQyxlQUFlLEdBQUcsUUFBUSxDQWV6QyxNQUFNLEFBQUEsUUFBUSxFQWY2QixtQkFBbUIsR0FBRyxrQkFBa0IsQ0FlbkYsTUFBTSxBQUFBLFFBQVEsQ0FBQztJQUFFLFlBQVksRUFBRSxzQkFBc0IsR0FBSTtFQWYzRCxBQWlCRSxlQWpCYSxBQWlCWixlQUFlLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFqQmhDLGVBQWUsQUFpQm9CLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLEtBQUssQUFBbEIsRUFBb0IsTUFBTSxBQUFBLE9BQU8sRUFqQnBFLGVBQWUsR0FBRyxRQUFRLEFBaUJ4QyxlQUFlLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFqQmYsZUFBZSxHQUFHLFFBQVEsQUFpQlIsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsS0FBSyxBQUFsQixFQUFvQixNQUFNLEFBQUEsT0FBTyxFQWpCeEMsbUJBQW1CLEdBQUcsa0JBQWtCLEFBaUJsRixlQUFlLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFqQmEsbUJBQW1CLEdBQUcsa0JBQWtCLEFBaUJsRCxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxLQUFLLEFBQWxCLEVBQW9CLE1BQU0sQUFBQSxPQUFPLENBQUM7SUFBRSxnQkFBZ0IsRWpDOXBCM0YsT0FBTyxHaUM4cEJxRztFQWpCekgsQUFrQkUsZUFsQmEsQUFrQlosaUJBQWlCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFsQmxDLGVBQWUsQUFrQnNCLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE9BQU8sQUFBcEIsRUFBc0IsTUFBTSxBQUFBLE9BQU8sRUFsQnhFLGVBQWUsR0FBRyxRQUFRLEFBa0J4QyxpQkFBaUIsQ0FBQyxNQUFNLEFBQUEsT0FBTyxFQWxCakIsZUFBZSxHQUFHLFFBQVEsQUFrQk4sZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsT0FBTyxBQUFwQixFQUFzQixNQUFNLEFBQUEsT0FBTyxFQWxCNUMsbUJBQW1CLEdBQUcsa0JBQWtCLEFBa0JsRixpQkFBaUIsQ0FBQyxNQUFNLEFBQUEsT0FBTyxFQWxCVyxtQkFBbUIsR0FBRyxrQkFBa0IsQUFrQmhELGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE9BQU8sQUFBcEIsRUFBc0IsTUFBTSxBQUFBLE9BQU8sQ0FBQztJQUFFLGtCQUFrQixFakMvcEJqRyxPQUFPLEdpQytwQjJHO0VBbEIvSCxBQW1CRSxlQW5CYSxBQW1CWixrQkFBa0IsQ0FBQyxNQUFNLEFBQUEsT0FBTyxFQW5CbkMsZUFBZSxBQW1CdUIsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsUUFBUSxBQUFyQixFQUF1QixNQUFNLEFBQUEsT0FBTyxFQW5CMUUsZUFBZSxHQUFHLFFBQVEsQUFtQnhDLGtCQUFrQixDQUFDLE1BQU0sQUFBQSxPQUFPLEVBbkJsQixlQUFlLEdBQUcsUUFBUSxBQW1CTCxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxRQUFRLEFBQXJCLEVBQXVCLE1BQU0sQUFBQSxPQUFPLEVBbkI5QyxtQkFBbUIsR0FBRyxrQkFBa0IsQUFtQmxGLGtCQUFrQixDQUFDLE1BQU0sQUFBQSxPQUFPLEVBbkJVLG1CQUFtQixHQUFHLGtCQUFrQixBQW1CL0MsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsUUFBUSxBQUFyQixFQUF1QixNQUFNLEFBQUEsT0FBTyxDQUFDO0lBQUUsbUJBQW1CLEVqQ2hxQnBHLE9BQU8sR2lDZ3FCOEc7RUFuQmxJLEFBb0JFLGVBcEJhLEFBb0JaLGdCQUFnQixDQUFDLE1BQU0sQUFBQSxPQUFPLEVBcEJqQyxlQUFlLEFBb0JxQixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxNQUFNLEFBQW5CLEVBQXFCLE1BQU0sQUFBQSxPQUFPLEVBcEJ0RSxlQUFlLEdBQUcsUUFBUSxBQW9CeEMsZ0JBQWdCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFwQmhCLGVBQWUsR0FBRyxRQUFRLEFBb0JQLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE1BQU0sQUFBbkIsRUFBcUIsTUFBTSxBQUFBLE9BQU8sRUFwQjFDLG1CQUFtQixHQUFHLGtCQUFrQixBQW9CbEYsZ0JBQWdCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFwQlksbUJBQW1CLEdBQUcsa0JBQWtCLEFBb0JqRCxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxNQUFNLEFBQW5CLEVBQXFCLE1BQU0sQUFBQSxPQUFPLENBQUM7SUFBRSxpQkFBaUIsRWpDanFCOUYsT0FBTyxHaUNpcUJ3Rzs7QUFwQjVILEFBQUEsYUFBYSxFQUFFLGFBQWEsR0FBRyxRQUFRLEVBQUUsaUJBQWlCLEdBQUcsa0JBQWtCLENBQXBFO0VBQ1QsWUFBWSxFQUFFLFdBQVc7RUFDekIsVUFBVSxFbkNwaUJGLE9BQW1DLEdtQ3VqQjVDO0VBckJELEFBSUUsYUFKVyxDQUlYLGVBQWUsRUFKRixhQUFhLEdBQUcsUUFBUSxDQUlyQyxlQUFlLEVBSndCLGlCQUFpQixHQUFHLGtCQUFrQixDQUk3RSxlQUFlLENBQUM7SUFDZCxZQUFZLEVuQzNnQk4sd0JBQUk7SW1DNGdCVixVQUFVLEVBQUUsV0FBVztJQUN2QixLQUFLLEVuQzdnQkMsSUFBSSxHbUM4Z0JYO0VBUkgsQUFVRSxhQVZXLENBVVgsYUFBYSxFQVZBLGFBQWEsR0FBRyxRQUFRLENBVXJDLGFBQWEsRUFWMEIsaUJBQWlCLEdBQUcsa0JBQWtCLENBVTdFLGFBQWEsQ0FBQztJQUNaLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLEtBQUssRW5DbGhCQyxJQUFJLEdtQ21oQlg7RUFiSCxBQWVFLGFBZlcsQ0FlWCxNQUFNLEFBQUEsUUFBUSxFQWZELGFBQWEsR0FBRyxRQUFRLENBZXJDLE1BQU0sQUFBQSxRQUFRLEVBZnlCLGlCQUFpQixHQUFHLGtCQUFrQixDQWU3RSxNQUFNLEFBQUEsUUFBUSxDQUFDO0lBQUUsWUFBWSxFQUFFLHNCQUFzQixHQUFJO0VBZjNELEFBaUJFLGFBakJXLEFBaUJWLGVBQWUsQ0FBQyxNQUFNLEFBQUEsT0FBTyxFQWpCaEMsYUFBYSxBQWlCc0IsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsS0FBSyxBQUFsQixFQUFvQixNQUFNLEFBQUEsT0FBTyxFQWpCdEUsYUFBYSxHQUFHLFFBQVEsQUFpQnBDLGVBQWUsQ0FBQyxNQUFNLEFBQUEsT0FBTyxFQWpCakIsYUFBYSxHQUFHLFFBQVEsQUFpQkosZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsS0FBSyxBQUFsQixFQUFvQixNQUFNLEFBQUEsT0FBTyxFQWpCNUMsaUJBQWlCLEdBQUcsa0JBQWtCLEFBaUI1RSxlQUFlLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFqQlMsaUJBQWlCLEdBQUcsa0JBQWtCLEFBaUI1QyxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxLQUFLLEFBQWxCLEVBQW9CLE1BQU0sQUFBQSxPQUFPLENBQUM7SUFBRSxnQkFBZ0IsRW5DbmpCOUYsT0FBbUMsR21DbWpCNEU7RUFqQnpILEFBa0JFLGFBbEJXLEFBa0JWLGlCQUFpQixDQUFDLE1BQU0sQUFBQSxPQUFPLEVBbEJsQyxhQUFhLEFBa0J3QixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxPQUFPLEFBQXBCLEVBQXNCLE1BQU0sQUFBQSxPQUFPLEVBbEIxRSxhQUFhLEdBQUcsUUFBUSxBQWtCcEMsaUJBQWlCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFsQm5CLGFBQWEsR0FBRyxRQUFRLEFBa0JGLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE9BQU8sQUFBcEIsRUFBc0IsTUFBTSxBQUFBLE9BQU8sRUFsQmhELGlCQUFpQixHQUFHLGtCQUFrQixBQWtCNUUsaUJBQWlCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFsQk8saUJBQWlCLEdBQUcsa0JBQWtCLEFBa0IxQyxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxPQUFPLEFBQXBCLEVBQXNCLE1BQU0sQUFBQSxPQUFPLENBQUM7SUFBRSxrQkFBa0IsRW5DcGpCcEcsT0FBbUMsR21Db2pCa0Y7RUFsQi9ILEFBbUJFLGFBbkJXLEFBbUJWLGtCQUFrQixDQUFDLE1BQU0sQUFBQSxPQUFPLEVBbkJuQyxhQUFhLEFBbUJ5QixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxRQUFRLEFBQXJCLEVBQXVCLE1BQU0sQUFBQSxPQUFPLEVBbkI1RSxhQUFhLEdBQUcsUUFBUSxBQW1CcEMsa0JBQWtCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFuQnBCLGFBQWEsR0FBRyxRQUFRLEFBbUJELGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLFFBQVEsQUFBckIsRUFBdUIsTUFBTSxBQUFBLE9BQU8sRUFuQmxELGlCQUFpQixHQUFHLGtCQUFrQixBQW1CNUUsa0JBQWtCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFuQk0saUJBQWlCLEdBQUcsa0JBQWtCLEFBbUJ6QyxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxRQUFRLEFBQXJCLEVBQXVCLE1BQU0sQUFBQSxPQUFPLENBQUM7SUFBRSxtQkFBbUIsRW5DcmpCdkcsT0FBbUMsR21DcWpCcUY7RUFuQmxJLEFBb0JFLGFBcEJXLEFBb0JWLGdCQUFnQixDQUFDLE1BQU0sQUFBQSxPQUFPLEVBcEJqQyxhQUFhLEFBb0J1QixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxNQUFNLEFBQW5CLEVBQXFCLE1BQU0sQUFBQSxPQUFPLEVBcEJ4RSxhQUFhLEdBQUcsUUFBUSxBQW9CcEMsZ0JBQWdCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFwQmxCLGFBQWEsR0FBRyxRQUFRLEFBb0JILGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE1BQU0sQUFBbkIsRUFBcUIsTUFBTSxBQUFBLE9BQU8sRUFwQjlDLGlCQUFpQixHQUFHLGtCQUFrQixBQW9CNUUsZ0JBQWdCLENBQUMsTUFBTSxBQUFBLE9BQU8sRUFwQlEsaUJBQWlCLEdBQUcsa0JBQWtCLEFBb0IzQyxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxNQUFNLEFBQW5CLEVBQXFCLE1BQU0sQUFBQSxPQUFPLENBQUM7SUFBRSxpQkFBaUIsRW5DdGpCakcsT0FBbUMsR21Dc2pCK0U7O0FldnBCOUgsQUFBQSxhQUFhLENBQUM7RUFDWixVQUFVLEUvQ3FaNEIsbUJBQXNELEcrQ3BaN0Y7O0FBRUQsQUFBQSxnQkFBZ0I7QUFDaEIsZUFBZSxDQUFDLGFBQWEsQ0FBQztFQUM1QixVQUFVLEUvQ21aNEIsa0JBQXlELEcrQ2xaaEc7O0FBRUQsQUFBQSxnQkFBZ0I7QUFDaEIsZUFBZSxDQUFDLGFBQWEsQ0FBQztFQUM1QixVQUFVLEUvQ2laNEIsZ0JBQXlELEcrQ2haaEc7O0FBRUQsQUFBQSxNQUFNLEFBQUEsYUFBYSxDQUFBLEFBQUEsSUFBQyxDQUFLLEdBQUcsQUFBUixDQUFTLElBQUssRUFBQSxBQUFBLFFBQUMsQUFBQSxHQUFXO0VBQzVDLE1BQU0sRS9DdVlnQyxtQkFBc0QsRytDdFk3Rjs7QUFFRCxBQUFBLE1BQU0sQUFBQSxnQkFBZ0IsQ0FBQSxBQUFBLElBQUMsQ0FBSyxHQUFHLEFBQVIsQ0FBUyxJQUFLLEVBSkgsQUFBQSxRQUFDLEFBQUEsR0FJYztFQUMvQyxNQUFNLEUvQ3NZZ0Msa0JBQXlELEcrQ3JZaEc7O0FBRUQsQUFBQSxNQUFNLEFBQUEsZ0JBQWdCLENBQUEsQUFBQSxJQUFDLENBQUssR0FBRyxBQUFSLENBQVMsSUFBSyxFQVJILEFBQUEsUUFBQyxBQUFBLEdBUWM7RUFDL0MsTUFBTSxFL0NxWWdDLGdCQUF5RCxHK0NwWWhHOztBQVdELEFBQUEsdUJBQXVCLENBQUM7RUFDdEIsS0FBSyxFaEQ3QlksT0FBTyxHZ0RrQ3pCO0VBSEMsQUFBQSxZQUFZLENBSGQsdUJBQXVCLENBR047SUFDYixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQU1ILEFBQUEsc0JBQXNCLENBQUM7RUFDckIsWUFBWSxFaER5Sm1DLHdCQUFJLEdnRDlIcEQ7RUE1QkQsQTVDOURFLHNCNEM4RG9CLEVBQXRCLHNCQUFzQixBNUM3RG5CLE1BQU0sRTRDNkRULHNCQUFzQixBNUM1RG5CLE1BQU0sQ0FBQztJNENnRU4sZ0JBQWdCLEVoRHNKNkIsd0JBQUk7SWdEckpqRCxLQUFLLEVoRHNKbUMsSUFBSSxHSXJON0M7RTRDMERILEFBUUUsc0JBUm9CLEFBUW5CLGFBQWEsQ0FBQztJQUNiLEtBQUssRWhEb0p3Qyx3QkFBSSxHZ0RuSmxEO0VBVkgsQUFZRSxzQkFab0IsQUFZbkIsU0FBUyxDQUFDO0lBQ1QsZ0JBQWdCLEVoRGlKNkIsd0JBQUksQ2dEakpILFVBQVU7SUFDeEQsS0FBSyxFaEQ2SW1DLElBQUksQ2dEN0lOLFVBQVU7SUFHOUMsWUFBWSxFaEQ2SStCLHdCQUFJLENnRDdJTCxVQUFVLEdBTXZEO0VBdkJILEFBeUJFLHNCQXpCb0IsQ0F5QnBCLE1BQU0sQ0FBQztJQUNMLEtBQUssRWhEakVVLE9BQU8sQ2dEaUVILFVBQVUsR0FDOUI7O0FBTUgsQUFBQSxXQUFXO0FBQ1gsZUFBZTtBQUNmLGdCQUFnQixDQUFDO0VBQ2YsYUFBYSxFQUFxQyxvQkFBOEQ7RUFDaEgsV0FBVyxFaER0RFksR0FBRztFZ0R1RDFCLFNBQVMsRWhENEZpQyxVQUFTLEdnRDNGcEQ7O0FBRUQsQUFBQSxlQUFlO0FBQ2YsZ0JBQWdCLENBQUM7RUFDZixjQUFjLEVBQUUsQ0FBQztFQUNqQixXQUFXLEVoRGdEYyxJQUFJLEdnRC9DOUI7O0FBRUQsQUFBQSxjQUFjO0FBQ2Qsa0JBQWtCO0FBQ2xCLG1CQUFtQixDQUFDO0VBQ2xCLFNBQVMsRWhEdEVjLE9BQU0sQ2dEc0VKLFVBQVU7RUFDbkMsV0FBVyxFaEQ5RFksR0FBRyxHZ0QrRDNCOztBQUVELEFBQUEsY0FBYztBQUNkLGtCQUFrQjtBQUNsQixtQkFBbUIsQ0FBQztFQUNsQixTQUFTLEVoRDlFYyxJQUFJLENnRDhFRixVQUFVO0VBQ25DLFdBQVcsRWhEdEVZLEdBQUcsR2dEdUUzQjs7QUFtQkQsQUFBQSxXQUFXLENBQUM7RUFDVixVQUFVLEVBQUUsVUFBbUMsR0FNaEQ7O0FmOG9CQyxBQUFBLGVBQWUsQ0FBSztFQUNsQixPQUFPLEVBQUUsSUFBSTtFQUNiLFVBQVUsRWhDblgwQixPQUFNO0VnQ29YMUMsS0FBSyxFakMzeEJNLE9BQU8sR2lDNHhCbkI7O0FBRUQsQUFBQSxjQUFjLENBQUs7RUFDakIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLElBQUk7RUFDVCxPQUFPLEVBQUUsQ0FBQztFQUNWLE9BQU8sRUFBRSxJQUFJO0VBQ2IsVUFBVSxFQUFFLEtBQUs7RUFDakIsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsS0FBSztFQUNaLGFBQWEsRUFBRSxLQUFLO0VBQ3BCLGdCQUFnQixFakN2eUJMLHNCQUFPO0VpQ3d5QmxCLEtBQUssRUFBRSxJQUFJO0VBQ1gsV0FBVyxFQUFFLENBQUMsR0FDZjs7QUFJQyxBQUFBLGNBQWMsQ0FGaEIsYUFBYSxBQUVLLE1BQU0sRUFGeEIsYUFBYSxBQUdWLFNBQVMsRUFEVixjQUFjO0FBRGhCLGNBQWMsQUFDSSxNQUFNO0FBRHhCLGNBQWMsQUFFWCxTQUFTLENBQUs7RUFDYixZQUFZLEVqQ2h6QkgsT0FBTyxDaUNnekJLLFVBQVUsR0FXaEM7RUFiRCxBQUlFLGNBSlksQ0FGaEIsYUFBYSxBQUVLLE1BQU0sQUFJbkIsTUFBTSxFQU5YLGFBQWEsQUFHVixTQUFTLEFBR1AsTUFBTSxFQUpULGNBQWM7RUFEaEIsY0FBYyxBQUNJLE1BQU0sQUFJbkIsTUFBTTtFQUxYLGNBQWMsQUFFWCxTQUFTLEFBR1AsTUFBTSxDQUFDO0lBQ04sWUFBWSxFakNuekJMLE9BQU8sQ2lDbXpCTyxVQUFVO0lBQy9CLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ2pDbHRCUyxHQUFHLENBbEd0Qix1QkFBTyxDaUNvekJtRCxVQUFVLEdBQzVFO0VBUEgsQUFTRyxjQVRXLENBRmhCLGFBQWEsQUFFSyxNQUFNLEdBU2pCLGVBQWU7RUFUcEIsY0FBYyxDQUZoQixhQUFhLEFBRUssTUFBTSxHQVVqQixjQUFjLEVBWnJCLGFBQWEsQUFHVixTQUFTLEdBUUwsZUFBZTtFQVh0QixhQUFhLEFBR1YsU0FBUyxHQVNMLGNBQWMsRUFWbkIsY0FBYztFQURoQixjQUFjLEFBQ0ksTUFBTSxHQVNqQixlQUFlO0VBVHBCLGNBQWM7RUFEaEIsY0FBYyxBQUNJLE1BQU0sR0FVakIsY0FBYztFQVhyQixjQUFjLEFBRVgsU0FBUyxHQVFMLGVBQWU7RUFWdEIsY0FBYyxBQUVYLFNBQVMsR0FTTCxjQUFjLENBQUs7SUFDcEIsT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFJTCxBQUVFLGNBRlksQ0FBQyxrQkFBa0IsQUFBQSxNQUFNLEdBRW5DLGVBQWU7QUFGbkIsY0FBYyxDQUFDLGtCQUFrQixBQUFBLE1BQU0sR0FHbkMsY0FBYztBQUZsQixrQkFBa0IsQUFBQSxTQUFTLEdBQ3ZCLGVBQWU7QUFEbkIsa0JBQWtCLEFBQUEsU0FBUyxHQUV2QixjQUFjLENBQUs7RUFDbkIsT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFLRCxBQUVHLGNBRlcsQ0FGaEIsZUFBZSxBQUFBLGdCQUFnQixDQUFDLHFCQUFxQixBQUVuQyxNQUFNLEdBRWpCLHFCQUFxQixFQUo1QixlQUFlLEFBQUEsZ0JBQWdCLENBQUMscUJBQXFCLEFBR2xELFNBQVMsR0FDTCxxQkFBcUIsRUFGMUIsY0FBYztBQURoQixlQUFlLEFBQUEsYUFBYSxDQUFDLHFCQUFxQixBQUNoQyxNQUFNLEdBRWpCLHFCQUFxQjtBQUg1QixlQUFlLEFBQUEsYUFBYSxDQUFDLHFCQUFxQixBQUUvQyxTQUFTLEdBQ0wscUJBQXFCLENBQUM7RUFDdkIsS0FBSyxFakMzMEJFLE9BQU8sR2lDNDBCZjs7QUFKSCxBQU1FLGNBTlksQ0FGaEIsZUFBZSxBQUFBLGdCQUFnQixDQUFDLHFCQUFxQixBQUVuQyxNQUFNLEdBTWhCLHFCQUFxQixBQUFBLFFBQVE7QUFObkMsY0FBYyxDQUZoQixlQUFlLEFBQUEsZ0JBQWdCLENBQUMscUJBQXFCLEFBRW5DLE1BQU0sQUFPbkIsTUFBTSxHQUFHLHFCQUFxQixBQUFBLFFBQVE7QUFQekMsY0FBYyxDQUZoQixlQUFlLEFBQUEsZ0JBQWdCLENBQUMscUJBQXFCLEFBRW5DLE1BQU0sQUFRbkIsT0FBTyxHQUFHLHFCQUFxQixBQUFBLFFBQVEsRUFWNUMsZUFBZSxBQUFBLGdCQUFnQixDQUFDLHFCQUFxQixBQUdsRCxTQUFTLEdBS0oscUJBQXFCLEFBQUEsUUFBUTtBQVJyQyxlQUFlLEFBQUEsZ0JBQWdCLENBQUMscUJBQXFCLEFBR2xELFNBQVMsQUFNUCxNQUFNLEdBQUcscUJBQXFCLEFBQUEsUUFBUTtBQVQzQyxlQUFlLEFBQUEsZ0JBQWdCLENBQUMscUJBQXFCLEFBR2xELFNBQVMsQUFPUCxPQUFPLEdBQUcscUJBQXFCLEFBQUEsUUFBUSxFQVIxQyxjQUFjO0FBRGhCLGVBQWUsQUFBQSxhQUFhLENBQUMscUJBQXFCLEFBQ2hDLE1BQU0sR0FNaEIscUJBQXFCLEFBQUEsUUFBUTtBQU5uQyxjQUFjO0FBRGhCLGVBQWUsQUFBQSxhQUFhLENBQUMscUJBQXFCLEFBQ2hDLE1BQU0sQUFPbkIsTUFBTSxHQUFHLHFCQUFxQixBQUFBLFFBQVE7QUFQekMsY0FBYztBQURoQixlQUFlLEFBQUEsYUFBYSxDQUFDLHFCQUFxQixBQUNoQyxNQUFNLEFBUW5CLE9BQU8sR0FBRyxxQkFBcUIsQUFBQSxRQUFRO0FBVDVDLGVBQWUsQUFBQSxhQUFhLENBQUMscUJBQXFCLEFBRS9DLFNBQVMsR0FLSixxQkFBcUIsQUFBQSxRQUFRO0FBUHJDLGVBQWUsQUFBQSxhQUFhLENBQUMscUJBQXFCLEFBRS9DLFNBQVMsQUFNUCxNQUFNLEdBQUcscUJBQXFCLEFBQUEsUUFBUTtBQVIzQyxlQUFlLEFBQUEsYUFBYSxDQUFDLHFCQUFxQixBQUUvQyxTQUFTLEFBT1AsT0FBTyxHQUFHLHFCQUFxQixBQUFBLFFBQVEsQ0FBQztFQUN2QyxZQUFZLEVqQ2oxQkwsT0FBTyxHaUNrMUJmOztBQVZILEFBWUUsY0FaWSxDQUZoQixlQUFlLEFBQUEsZ0JBQWdCLENBQUMscUJBQXFCLEFBRW5DLE1BQU0sQUFZbkIsTUFBTSxHQUFHLHFCQUFxQixBQUFBLFFBQVEsRUFkM0MsZUFBZSxBQUFBLGdCQUFnQixDQUFDLHFCQUFxQixBQUdsRCxTQUFTLEFBV1AsTUFBTSxHQUFHLHFCQUFxQixBQUFBLFFBQVEsRUFaekMsY0FBYztBQURoQixlQUFlLEFBQUEsYUFBYSxDQUFDLHFCQUFxQixBQUNoQyxNQUFNLEFBWW5CLE1BQU0sR0FBRyxxQkFBcUIsQUFBQSxRQUFRO0FBYjNDLGVBQWUsQUFBQSxhQUFhLENBQUMscUJBQXFCLEFBRS9DLFNBQVMsQUFXUCxNQUFNLEdBQUcscUJBQXFCLEFBQUEsUUFBUSxDQUFDO0VBQ3RDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ2pDbnZCUyxHQUFHLENBbEd0QixzQkFBTyxHaUNzMUJmOztBQWRILEFBZ0JFLGNBaEJZLENBRmhCLGVBQWUsQUFBQSxnQkFBZ0IsQ0FBQyxxQkFBcUIsQUFFbkMsTUFBTSxBQWdCbkIsUUFBUSxHQUFHLHFCQUFxQixBQUFBLFFBQVEsRUFsQjdDLGVBQWUsQUFBQSxnQkFBZ0IsQ0FBQyxxQkFBcUIsQUFHbEQsU0FBUyxBQWVQLFFBQVEsR0FBRyxxQkFBcUIsQUFBQSxRQUFRLEVBaEIzQyxjQUFjO0FBRGhCLGVBQWUsQUFBQSxhQUFhLENBQUMscUJBQXFCLEFBQ2hDLE1BQU0sQUFnQm5CLFFBQVEsR0FBRyxxQkFBcUIsQUFBQSxRQUFRO0FBakI3QyxlQUFlLEFBQUEsYUFBYSxDQUFDLHFCQUFxQixBQUUvQyxTQUFTLEFBZVAsUUFBUSxHQUFHLHFCQUFxQixBQUFBLFFBQVEsQ0FBQztFQUN4QyxZQUFZLEVqQ3oxQkwsT0FBTztFaUMwMUJkLGdCQUFnQixFakMxMUJULE9BQU8sR2lDMjFCZjs7QUFuQkgsQUFxQkcsY0FyQlcsQ0FGaEIsZUFBZSxBQUFBLGdCQUFnQixDQUFDLHFCQUFxQixBQUVuQyxNQUFNLEdBcUJqQixlQUFlO0FBckJwQixjQUFjLENBRmhCLGVBQWUsQUFBQSxnQkFBZ0IsQ0FBQyxxQkFBcUIsQUFFbkMsTUFBTSxHQXNCakIsY0FBYyxFQXhCckIsZUFBZSxBQUFBLGdCQUFnQixDQUFDLHFCQUFxQixBQUdsRCxTQUFTLEdBb0JMLGVBQWU7QUF2QnRCLGVBQWUsQUFBQSxnQkFBZ0IsQ0FBQyxxQkFBcUIsQUFHbEQsU0FBUyxHQXFCTCxjQUFjLEVBdEJuQixjQUFjO0FBRGhCLGVBQWUsQUFBQSxhQUFhLENBQUMscUJBQXFCLEFBQ2hDLE1BQU0sR0FxQmpCLGVBQWU7QUFyQnBCLGNBQWM7QUFEaEIsZUFBZSxBQUFBLGFBQWEsQ0FBQyxxQkFBcUIsQUFDaEMsTUFBTSxHQXNCakIsY0FBYztBQXZCckIsZUFBZSxBQUFBLGFBQWEsQ0FBQyxxQkFBcUIsQUFFL0MsU0FBUyxHQW9CTCxlQUFlO0FBdEJ0QixlQUFlLEFBQUEsYUFBYSxDQUFDLHFCQUFxQixBQUUvQyxTQUFTLEdBcUJMLGNBQWMsQ0FBSztFQUNwQixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUtILEFBRUUsY0FGWSxDQURoQixlQUFlLEFBQUEsZ0JBQWdCLENBQUMscUJBQXFCLEFBQ25DLE1BQU0sQUFFbkIsUUFBUSxHQUFHLHFCQUFxQixBQUFBLFFBQVEsRUFIN0MsZUFBZSxBQUFBLGdCQUFnQixDQUFDLHFCQUFxQixBQUVsRCxTQUFTLEFBQ1AsUUFBUSxHQUFHLHFCQUFxQixBQUFBLFFBQVEsQ0FBQztFQUN4QyxnQkFBZ0IsRUFBRSx1UUFBZ0csR0FDbkg7O0FBSUgsQUFFRSxjQUZZLENBRGhCLGVBQWUsQUFBQSxhQUFhLENBQUMscUJBQXFCLEFBQ2hDLE1BQU0sQUFFbkIsUUFBUSxHQUFHLHFCQUFxQixBQUFBLFFBQVEsRUFIN0MsZUFBZSxBQUFBLGFBQWEsQ0FBQyxxQkFBcUIsQUFFL0MsU0FBUyxBQUNQLFFBQVEsR0FBRyxxQkFBcUIsQUFBQSxRQUFRLENBQUM7RUFDeEMsZ0JBQWdCLEVBQUUsa0pBQTZGLEdBQ2hIOztBQUtILEFBRUcsY0FGVyxDQURoQixrQkFBa0IsQUFDQSxNQUFNLEdBRWpCLGtCQUFrQixFQUh6QixrQkFBa0IsQUFFZixTQUFTLEdBQ0wsa0JBQWtCLENBQUM7RUFDcEIsWUFBWSxFakN6M0JMLE9BQU8sQ2lDeTNCTyxVQUFVLEdBS2hDO0VBUkgsQUFLSSxjQUxVLENBRGhCLGtCQUFrQixBQUNBLE1BQU0sR0FFakIsa0JBQWtCLEFBR2xCLE9BQU8sRUFOZCxrQkFBa0IsQUFFZixTQUFTLEdBQ0wsa0JBQWtCLEFBR2xCLE9BQU8sQ0FBQztJQUNQLFlBQVksRUFBRSxrQkFBa0IsR0FDakM7O0FBUEwsQUFVRSxjQVZZLENBRGhCLGtCQUFrQixBQUNBLE1BQU0sQUFVbkIsTUFBTSxFQVhYLGtCQUFrQixBQUVmLFNBQVMsQUFTUCxNQUFNLENBQUM7RUFDTixVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENqQy94QlMsR0FBRyxDQWxHdEIsc0JBQU8sQ2lDaTRCa0QsVUFBVSxHQUMzRTs7QUExR0wsQUFBQSxpQkFBaUIsQ0FBRztFQUNsQixPQUFPLEVBQUUsSUFBSTtFQUNiLFVBQVUsRWhDblgwQixPQUFNO0VnQ29YMUMsS0FBSyxFakM5eEJNLE9BQU8sR2lDK3hCbkI7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBRztFQUNqQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsSUFBSTtFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsT0FBTyxFQUFFLElBQUk7RUFDYixVQUFVLEVBQUUsS0FBSztFQUNqQixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxLQUFLO0VBQ1osYUFBYSxFQUFFLEtBQUs7RUFDcEIsZ0JBQWdCLEVqQzF5Qkwsc0JBQU87RWlDMnlCbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxXQUFXLEVBQUUsQ0FBQyxHQUNmOztBQUlDLEFBQUEsY0FBYyxDQUZoQixhQUFhLEFBRUssUUFBUSxFQUYxQixhQUFhLEFBR1YsV0FBVyxFQURaLGNBQWM7QUFEaEIsY0FBYyxBQUNJLFFBQVE7QUFEMUIsY0FBYyxBQUVYLFdBQVcsQ0FBRztFQUNiLFlBQVksRWpDbnpCSCxPQUFPLENpQ216QkssVUFBVSxHQVdoQztFQWJELEFBSUUsY0FKWSxDQUZoQixhQUFhLEFBRUssUUFBUSxBQUlyQixNQUFNLEVBTlgsYUFBYSxBQUdWLFdBQVcsQUFHVCxNQUFNLEVBSlQsY0FBYztFQURoQixjQUFjLEFBQ0ksUUFBUSxBQUlyQixNQUFNO0VBTFgsY0FBYyxBQUVYLFdBQVcsQUFHVCxNQUFNLENBQUM7SUFDTixZQUFZLEVqQ3R6QkwsT0FBTyxDaUNzekJPLFVBQVU7SUFDL0IsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakNsdEJTLEdBQUcsQ0FyR3RCLHVCQUFPLENpQ3V6Qm1ELFVBQVUsR0FDNUU7RUFQSCxBQVNHLGNBVFcsQ0FGaEIsYUFBYSxBQUVLLFFBQVEsR0FTbkIsaUJBQWlCO0VBVHRCLGNBQWMsQ0FGaEIsYUFBYSxBQUVLLFFBQVEsR0FVbkIsZ0JBQWdCLEVBWnZCLGFBQWEsQUFHVixXQUFXLEdBUVAsaUJBQWlCO0VBWHhCLGFBQWEsQUFHVixXQUFXLEdBU1AsZ0JBQWdCLEVBVnJCLGNBQWM7RUFEaEIsY0FBYyxBQUNJLFFBQVEsR0FTbkIsaUJBQWlCO0VBVHRCLGNBQWM7RUFEaEIsY0FBYyxBQUNJLFFBQVEsR0FVbkIsZ0JBQWdCO0VBWHZCLGNBQWMsQUFFWCxXQUFXLEdBUVAsaUJBQWlCO0VBVnhCLGNBQWMsQUFFWCxXQUFXLEdBU1AsZ0JBQWdCLENBQUc7SUFDcEIsT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFJTCxBQUVFLGNBRlksQ0FBQyxrQkFBa0IsQUFBQSxRQUFRLEdBRXJDLGlCQUFpQjtBQUZyQixjQUFjLENBQUMsa0JBQWtCLEFBQUEsUUFBUSxHQUdyQyxnQkFBZ0I7QUFGcEIsa0JBQWtCLEFBQUEsV0FBVyxHQUN6QixpQkFBaUI7QUFEckIsa0JBQWtCLEFBQUEsV0FBVyxHQUV6QixnQkFBZ0IsQ0FBRztFQUNuQixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUtELEFBRUcsY0FGVyxDQUZoQixlQUFlLEFBQUEsZ0JBQWdCLENBQUMscUJBQXFCLEFBRW5DLFFBQVEsR0FFbkIscUJBQXFCLEVBSjVCLGVBQWUsQUFBQSxnQkFBZ0IsQ0FBQyxxQkFBcUIsQUFHbEQsV0FBVyxHQUNQLHFCQUFxQixFQUYxQixjQUFjO0FBRGhCLGVBQWUsQUFBQSxhQUFhLENBQUMscUJBQXFCLEFBQ2hDLFFBQVEsR0FFbkIscUJBQXFCO0FBSDVCLGVBQWUsQUFBQSxhQUFhLENBQUMscUJBQXFCLEFBRS9DLFdBQVcsR0FDUCxxQkFBcUIsQ0FBQztFQUN2QixLQUFLLEVqQzkwQkUsT0FBTyxHaUMrMEJmOztBQUpILEFBTUUsY0FOWSxDQUZoQixlQUFlLEFBQUEsZ0JBQWdCLENBQUMscUJBQXFCLEFBRW5DLFFBQVEsR0FNbEIscUJBQXFCLEFBQUEsUUFBUTtBQU5uQyxjQUFjLENBRmhCLGVBQWUsQUFBQSxnQkFBZ0IsQ0FBQyxxQkFBcUIsQUFFbkMsUUFBUSxBQU9yQixNQUFNLEdBQUcscUJBQXFCLEFBQUEsUUFBUTtBQVB6QyxjQUFjLENBRmhCLGVBQWUsQUFBQSxnQkFBZ0IsQ0FBQyxxQkFBcUIsQUFFbkMsUUFBUSxBQVFyQixPQUFPLEdBQUcscUJBQXFCLEFBQUEsUUFBUSxFQVY1QyxlQUFlLEFBQUEsZ0JBQWdCLENBQUMscUJBQXFCLEFBR2xELFdBQVcsR0FLTixxQkFBcUIsQUFBQSxRQUFRO0FBUnJDLGVBQWUsQUFBQSxnQkFBZ0IsQ0FBQyxxQkFBcUIsQUFHbEQsV0FBVyxBQU1ULE1BQU0sR0FBRyxxQkFBcUIsQUFBQSxRQUFRO0FBVDNDLGVBQWUsQUFBQSxnQkFBZ0IsQ0FBQyxxQkFBcUIsQUFHbEQsV0FBVyxBQU9ULE9BQU8sR0FBRyxxQkFBcUIsQUFBQSxRQUFRLEVBUjFDLGNBQWM7QUFEaEIsZUFBZSxBQUFBLGFBQWEsQ0FBQyxxQkFBcUIsQUFDaEMsUUFBUSxHQU1sQixxQkFBcUIsQUFBQSxRQUFRO0FBTm5DLGNBQWM7QUFEaEIsZUFBZSxBQUFBLGFBQWEsQ0FBQyxxQkFBcUIsQUFDaEMsUUFBUSxBQU9yQixNQUFNLEdBQUcscUJBQXFCLEFBQUEsUUFBUTtBQVB6QyxjQUFjO0FBRGhCLGVBQWUsQUFBQSxhQUFhLENBQUMscUJBQXFCLEFBQ2hDLFFBQVEsQUFRckIsT0FBTyxHQUFHLHFCQUFxQixBQUFBLFFBQVE7QUFUNUMsZUFBZSxBQUFBLGFBQWEsQ0FBQyxxQkFBcUIsQUFFL0MsV0FBVyxHQUtOLHFCQUFxQixBQUFBLFFBQVE7QUFQckMsZUFBZSxBQUFBLGFBQWEsQ0FBQyxxQkFBcUIsQUFFL0MsV0FBVyxBQU1ULE1BQU0sR0FBRyxxQkFBcUIsQUFBQSxRQUFRO0FBUjNDLGVBQWUsQUFBQSxhQUFhLENBQUMscUJBQXFCLEFBRS9DLFdBQVcsQUFPVCxPQUFPLEdBQUcscUJBQXFCLEFBQUEsUUFBUSxDQUFDO0VBQ3ZDLFlBQVksRWpDcDFCTCxPQUFPLEdpQ3ExQmY7O0FBVkgsQUFZRSxjQVpZLENBRmhCLGVBQWUsQUFBQSxnQkFBZ0IsQ0FBQyxxQkFBcUIsQUFFbkMsUUFBUSxBQVlyQixNQUFNLEdBQUcscUJBQXFCLEFBQUEsUUFBUSxFQWQzQyxlQUFlLEFBQUEsZ0JBQWdCLENBQUMscUJBQXFCLEFBR2xELFdBQVcsQUFXVCxNQUFNLEdBQUcscUJBQXFCLEFBQUEsUUFBUSxFQVp6QyxjQUFjO0FBRGhCLGVBQWUsQUFBQSxhQUFhLENBQUMscUJBQXFCLEFBQ2hDLFFBQVEsQUFZckIsTUFBTSxHQUFHLHFCQUFxQixBQUFBLFFBQVE7QUFiM0MsZUFBZSxBQUFBLGFBQWEsQ0FBQyxxQkFBcUIsQUFFL0MsV0FBVyxBQVdULE1BQU0sR0FBRyxxQkFBcUIsQUFBQSxRQUFRLENBQUM7RUFDdEMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakNudkJTLEdBQUcsQ0FyR3RCLHNCQUFPLEdpQ3kxQmY7O0FBZEgsQUFnQkUsY0FoQlksQ0FGaEIsZUFBZSxBQUFBLGdCQUFnQixDQUFDLHFCQUFxQixBQUVuQyxRQUFRLEFBZ0JyQixRQUFRLEdBQUcscUJBQXFCLEFBQUEsUUFBUSxFQWxCN0MsZUFBZSxBQUFBLGdCQUFnQixDQUFDLHFCQUFxQixBQUdsRCxXQUFXLEFBZVQsUUFBUSxHQUFHLHFCQUFxQixBQUFBLFFBQVEsRUFoQjNDLGNBQWM7QUFEaEIsZUFBZSxBQUFBLGFBQWEsQ0FBQyxxQkFBcUIsQUFDaEMsUUFBUSxBQWdCckIsUUFBUSxHQUFHLHFCQUFxQixBQUFBLFFBQVE7QUFqQjdDLGVBQWUsQUFBQSxhQUFhLENBQUMscUJBQXFCLEFBRS9DLFdBQVcsQUFlVCxRQUFRLEdBQUcscUJBQXFCLEFBQUEsUUFBUSxDQUFDO0VBQ3hDLFlBQVksRWpDNTFCTCxPQUFPO0VpQzYxQmQsZ0JBQWdCLEVqQzcxQlQsT0FBTyxHaUM4MUJmOztBQW5CSCxBQXFCRyxjQXJCVyxDQUZoQixlQUFlLEFBQUEsZ0JBQWdCLENBQUMscUJBQXFCLEFBRW5DLFFBQVEsR0FxQm5CLGlCQUFpQjtBQXJCdEIsY0FBYyxDQUZoQixlQUFlLEFBQUEsZ0JBQWdCLENBQUMscUJBQXFCLEFBRW5DLFFBQVEsR0FzQm5CLGdCQUFnQixFQXhCdkIsZUFBZSxBQUFBLGdCQUFnQixDQUFDLHFCQUFxQixBQUdsRCxXQUFXLEdBb0JQLGlCQUFpQjtBQXZCeEIsZUFBZSxBQUFBLGdCQUFnQixDQUFDLHFCQUFxQixBQUdsRCxXQUFXLEdBcUJQLGdCQUFnQixFQXRCckIsY0FBYztBQURoQixlQUFlLEFBQUEsYUFBYSxDQUFDLHFCQUFxQixBQUNoQyxRQUFRLEdBcUJuQixpQkFBaUI7QUFyQnRCLGNBQWM7QUFEaEIsZUFBZSxBQUFBLGFBQWEsQ0FBQyxxQkFBcUIsQUFDaEMsUUFBUSxHQXNCbkIsZ0JBQWdCO0FBdkJ2QixlQUFlLEFBQUEsYUFBYSxDQUFDLHFCQUFxQixBQUUvQyxXQUFXLEdBb0JQLGlCQUFpQjtBQXRCeEIsZUFBZSxBQUFBLGFBQWEsQ0FBQyxxQkFBcUIsQUFFL0MsV0FBVyxHQXFCUCxnQkFBZ0IsQ0FBRztFQUNwQixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUtILEFBRUUsY0FGWSxDQURoQixlQUFlLEFBQUEsZ0JBQWdCLENBQUMscUJBQXFCLEFBQ25DLFFBQVEsQUFFckIsUUFBUSxHQUFHLHFCQUFxQixBQUFBLFFBQVEsRUFIN0MsZUFBZSxBQUFBLGdCQUFnQixDQUFDLHFCQUFxQixBQUVsRCxXQUFXLEFBQ1QsUUFBUSxHQUFHLHFCQUFxQixBQUFBLFFBQVEsQ0FBQztFQUN4QyxnQkFBZ0IsRUFBRSx1UUFBZ0csR0FDbkg7O0FBSUgsQUFFRSxjQUZZLENBRGhCLGVBQWUsQUFBQSxhQUFhLENBQUMscUJBQXFCLEFBQ2hDLFFBQVEsQUFFckIsUUFBUSxHQUFHLHFCQUFxQixBQUFBLFFBQVEsRUFIN0MsZUFBZSxBQUFBLGFBQWEsQ0FBQyxxQkFBcUIsQUFFL0MsV0FBVyxBQUNULFFBQVEsR0FBRyxxQkFBcUIsQUFBQSxRQUFRLENBQUM7RUFDeEMsZ0JBQWdCLEVBQUUsa0pBQTZGLEdBQ2hIOztBQUtILEFBRUcsY0FGVyxDQURoQixrQkFBa0IsQUFDQSxRQUFRLEdBRW5CLGtCQUFrQixFQUh6QixrQkFBa0IsQUFFZixXQUFXLEdBQ1Asa0JBQWtCLENBQUM7RUFDcEIsWUFBWSxFakM1M0JMLE9BQU8sQ2lDNDNCTyxVQUFVLEdBS2hDO0VBUkgsQUFLSSxjQUxVLENBRGhCLGtCQUFrQixBQUNBLFFBQVEsR0FFbkIsa0JBQWtCLEFBR2xCLE9BQU8sRUFOZCxrQkFBa0IsQUFFZixXQUFXLEdBQ1Asa0JBQWtCLEFBR2xCLE9BQU8sQ0FBQztJQUNQLFlBQVksRUFBRSxrQkFBa0IsR0FDakM7O0FBUEwsQUFVRSxjQVZZLENBRGhCLGtCQUFrQixBQUNBLFFBQVEsQUFVckIsTUFBTSxFQVhYLGtCQUFrQixBQUVmLFdBQVcsQUFTVCxNQUFNLENBQUM7RUFDTixVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENqQy94QlMsR0FBRyxDQXJHdEIsc0JBQU8sQ2lDbzRCa0QsVUFBVSxHQUMzRTs7QWV0dEJQLEFBQUEsWUFBWSxDQUFDLGVBQWUsQ0FBQztFQUMzQixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0E3Q25KRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RTZDZ0sxQixBQUFBLFlBQVksQ0FBQyxlQUFlO0VBQzVCLFlBQVksQ0FBQyxjQUFjO0VBQzNCLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQztJQUNuQyxPQUFPLEVBQUUsWUFBWTtJQUNyQixLQUFLLEVBQUUsSUFBSSxHQUNaO0VBRUQsQUFBQSxZQUFZLENBQUMsVUFBVSxDQUFDO0lBQ3RCLFVBQVUsRUFBRSxDQUFDLEdBQ2Q7RUFFRCxBQUFBLFlBQVksQ0FBQyxXQUFXLENBQUM7SUFDdkIsYUFBYSxFQUFFLFlBQVksR0FDNUI7O0FDbk9ILEFBQUEsZUFBZSxDQUFDO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsVUFBVSxFakRrUGdDLFFBQVEsR2lENU9uRDs7QUFFRCxBQUFBLHFCQUFxQixDQUFDO0VBQ3BCLFFBQVEsRUFBRSxNQUFNLEdBbURqQjtFQXBERCxBQVdFLHFCQVhtQixBQVdsQixRQUFRLENBQUM7SUFDUixHQUFHLEVuRHlKRyxTQUFnQztJbUR4SnRDLElBQUksRUFBRSxDQUFDO0lBQ1AsTUFBTSxFakQ4TmtDLEdBQUcsQ2lEOU5JLEtBQUssQ2pEdkJ6QyxxQkFBTztJaUR3QmxCLGdCQUFnQixFakR6QkwsSUFBSTtJaUQwQmYsbUJBQW1CLEVBQUUsYUFBYTtJQUNsQyxpQkFBaUIsRUFBRSxTQUFTO0lBQzVCLFVBQVUsRUFBRSxPQUFPO0lBQ25CLGNBQWMsRUFBRSxJQUFJLEdBVXJCO0VBN0JILEFBZ0NFLHFCQWhDbUIsQUFnQ2xCLE9BQU8sQ0FBQztJQUVMLE9BQU8sRUFBRSxJQUFJLEdBaUJoQjs7QUFJSCxBQUFBLGdCQUFnQixDQUFDLHFCQUFxQixBQUFBLFFBQVEsQ0FBQztFQUM3QyxlQUFlLEVqRDBMMkIsR0FBRyxHaUR6TDlDOztBQUVELEFBQUEsZ0JBQWdCLENBQUMscUJBQXFCLEFBQUEsY0FBYyxBQUFBLElBQUssQ0FBQSxRQUFRLElBQUkscUJBQXFCLEFBQUEsUUFBUSxDQUFDO0VBQ2pHLGVBQWUsRWpEd0wyQixNQUFLLEdpRHZMaEQ7O0FBR0QsQUFBQSxhQUFhLENBQUMscUJBQXFCLEFBQUEsUUFBUSxDQUFDO0VBQzFDLGVBQWUsRWpEcUwyQixNQUFLLEdpRHBMaEQ7O0FBSUMsQUFBQSxxQkFBcUIsQUFBQSxPQUFPLEdBRDlCLHFCQUFxQixBQUFBLFFBQVEsQ0FDTTtFQUMvQixVQUFVLEVBQUUsSUFBSSxHQUNqQjs7QUFFRCxBQUFBLHFCQUFxQixBQUFBLE9BQU8sQUFBQSxJQUFLLENBZnNCLFFBQVEsSUFVakUscUJBQXFCLEFBQUEsUUFBUSxDQUtvQjtFQUM3QyxnQkFBZ0IsRWpEckZMLElBQUksR2lEc0ZoQjs7QUFFRCxBQUFBLHFCQUFxQixBQUFBLFNBQVMsR0FUaEMscUJBQXFCLEFBQUEsUUFBUTtBQVUzQixRQUFRLENBQUEsQUFBQSxRQUFDLEFBQUEsRUFBVSxxQkFBcUIsR0FWMUMscUJBQXFCLEFBQUEsUUFBUSxDQVVrQjtFQUMzQyxZQUFZLEVqRHpGRCxxQkFBTyxDaUR5Rm1DLFVBQVU7RUFDL0QsZ0JBQWdCLEVuRHVDUixPQUFtQyxDbUR2Q2EsVUFBVSxHQUNuRTs7QUFFRCxBQUFBLGdCQUFnQixDQUFDLHFCQUFxQixBQUFBLFNBQVMsQUFBQSxjQUFjLEdBZi9ELHFCQUFxQixBQUFBLFFBQVE7QUFnQjNCLFFBQVEsQ0FBQSxBQUFBLFFBQUMsQUFBQSxFQUFVLHFCQUFxQixBQUFBLGNBQWMsR0FoQnhELHFCQUFxQixBQUFBLFFBQVEsQ0FnQmdDO0VBQ3pELGdCQUFnQixFQUFFLHdKQUE2SCxDQUFDLFVBQVUsR0FDM0o7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBQyxxQkFBcUIsQUFBQSxTQUFTLEFBQUEsUUFBUSxHQXBCekQscUJBQXFCLEFBQUEsUUFBUTtBQXFCM0IsUUFBUSxDQUFBLEFBQUEsUUFBQyxBQUFBLEVBQVUscUJBQXFCLEFBQUEsUUFBUSxHQXJCbEQscUJBQXFCLEFBQUEsUUFBUSxDQXFCMEI7RUFDbkQsZ0JBQWdCLEVBQUUsMFFBQXlILENBQUMsVUFBVSxHQUN2Sjs7QUFFRCxBQUFBLGFBQWEsQ0FBQyxxQkFBcUIsQUFBQSxTQUFTLEFBQUEsUUFBUSxHQXpCdEQscUJBQXFCLEFBQUEsUUFBUTtBQTBCM0IsUUFBUSxDQUFBLEFBQUEsUUFBQyxBQUFBLEVBQVUscUJBQXFCLEFBQUEsUUFBUSxHQTFCbEQscUJBQXFCLEFBQUEsUUFBUSxDQTBCMEI7RUFDbkQsZ0JBQWdCLEVBQUUscUpBQXNILENBQUMsVUFBVSxHQUNwSjs7QUFpQ0gsQUFBQSx3QkFBd0IsQ0FBQyxlQUFlLENBQUM7RUFDdkMsT0FBTyxFQUFFLEtBQUs7RUFDZCxhQUFhLEVBQUUsS0FBSyxHQUNyQjs7QUFZRCxBQUFBLGNBQWMsQ0FBQztFQUNiLE9BQU8sRUFBRSxLQUFLO0VBQ2QsZ0JBQWdCLEVqRDRIMEIscVZBQXFWLENpRDVIcFYsVUFBVTtFQUNyRCxlQUFlLEVBQUUsV0FBVztFQUM1QixVQUFVLEVoRGdTNEIsWUFBWSxDQUFDLEtBQUksQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEtBQUksQ0FBQyxXQUFXLEdnRHRRakc7RUE5QkQsQUFNRSxjQU5ZLENBTVgsQUFBQSxJQUFDLENBQUssR0FBRyxBQUFSLENBQVMsSUFBSyxFRGxIZ0IsQUFBQSxRQUFDLEFBQUEsR0NrSEw7SUFDMUIsYUFBYSxFQUFFLE9BQTJELEdBQzNFOztBQXlCSCxBQUFBLHVCQUF1QixDQUFDO0VBQ3RCLGdCQUFnQixFakQ2RjBCLGlWQUFpVixDaUQ3RnZVLFVBQVUsR0FvQy9EO0VBckNELEFBT0UsdUJBUHFCLEVBQXZCLHVCQUF1QixBQVFwQixNQUFNLENBQUM7SUFDTixnQkFBZ0IsRWpEb0M2Qix3QkFBSTtJaURuQ2pELEtBQUssRWpEb0NtQyxJQUFJO0lpRGpDMUMsWUFBWSxFQUFFLFdBQVcsR0FJNUI7RUFqQkgsQUFtQkUsdUJBbkJxQixBQW1CcEIsU0FBUyxDQUFDO0lBQ1QsZ0JBQWdCLEVqRDZCNkIsd0JBQUksQ2lEN0JLLFVBQVU7SUFHOUQsS0FBSyxFakR1QmlDLElBQUksQ2lEdkJJLFVBQVUsR0FLM0Q7RUE1QkgsQUE4QkUsdUJBOUJxQixBQThCcEIsYUFBYSxDQUFDO0lBQ2IsS0FBSyxFakRpQndDLHdCQUFJLEdpRGhCbEQ7RUFoQ0gsQUFrQ0UsdUJBbENxQixDQWtDckIsTUFBTSxDQUFDO0lBQ0wsS0FBSyxFakR2TFUsT0FBTyxDaUR1TEgsVUFBVSxHQUM5Qjs7QWhCZ2VELEFBQUEsaUJBQWlCO0FBQ2pCLGVBQWUsQ0FBQyxjQUFjLENBQU87RUFDbkMsT0FBTyxFakNoaEJnQixRQUFPLENpQ2doQlYsTUFBK0MsQ2pDaGhCNUMsUUFBTyxDQW9DVSxRQUFPO0VpQzZlL0MsTUFBTSxFaEN6UThCLGtCQUF5RDtFZ0MwUTdGLG1CQUFtQixFQUFFLEtBQUssQ2pDOWVjLFFBQU8sQ2lDOGVULE1BQU07RUFDNUMsU0FBUyxFakMxb0JZLE9BQU07RWlDMm9CM0IsV0FBVyxFakNsb0JVLEdBQUcsR2lDZ3BCekI7RUFwQkQsQUFpQkUsaUJBakJlLENBaUJkLEFBQUEsSUFBQyxDQUFLLEdBQUcsQUFBUixDQUFTLElBQUssRWVscUJjLEFBQUEsUUFBQyxBQUFBO0Vma3BCakMsZUFBZSxDQUFDLGNBQWMsQ0FnQjNCLEFBQUEsSUFBQyxDQUFLLEdBQUcsQUFBUixDQUFTLElBQUssRWVscUJjLEFBQUEsUUFBQyxBQUFBLEdma3FCSDtJQUMxQixhQUFhLEVBQUUsTUFBNkMsR0FDN0Q7O0FBbkJILEFBQUEsaUJBQWlCO0FBQ2pCLGVBQWUsQ0FBQyxjQUFjLENBQU87RUFDbkMsT0FBTyxFakMzZ0JnQixPQUFNLENpQzJnQlQsUUFBK0MsQ2pDM2dCNUMsT0FBTSxDQThCVyxPQUFPO0VpQzhlL0MsTUFBTSxFaEN0UThCLGdCQUF5RDtFZ0N1UTdGLG1CQUFtQixFQUFFLEtBQUssQ2pDL2VjLE9BQU8sQ2lDK2VULE1BQU07RUFDNUMsU0FBUyxFakMzb0JZLElBQUk7RWlDNG9CekIsV0FBVyxFakNub0JVLEdBQUcsR2lDaXBCekI7RUFwQkQsQUFpQkUsaUJBakJlLENBaUJkLEFBQUEsSUFBQyxDQUFLLEdBQUcsQUFBUixDQUFTLElBQUssRWVscUJjLEFBQUEsUUFBQyxBQUFBO0Vma3BCakMsZUFBZSxDQUFDLGNBQWMsQ0FnQjNCLEFBQUEsSUFBQyxDQUFLLEdBQUcsQUFBUixDQUFTLElBQUssRWVscUJjLEFBQUEsUUFBQyxBQUFBLEdma3FCSDtJQUMxQixhQUFhLEVBQUUsUUFBNkMsR0FDN0Q7O0FnQnpjTCxBQUFBLGNBQWMsQ0FBQSxBQUFBLEtBQUMsQUFBQSxFQUFNLEFBQUEsUUFBQyxBQUFBO0FBQ3RCLGNBQWMsQ0FBQSxBQUFBLElBQUMsQUFBQSxDQUFLLElBQUssRUFBQSxBQUFBLElBQUMsQ0FBSyxHQUFHLEFBQVIsRUFBVSxJQUFLLEVBQUEsQUFBQSxJQUFDLENBQUssR0FBRyxBQUFSLEdBQVc7RUFDbkQsYUFBYSxFakR4RDZCLFFBQU8sQ2lEd0RlLFVBQVU7RUFDMUUsWUFBWSxFakR6RDhCLFFBQU8sQ2lEeURjLFVBQVU7RUFDekUsTUFBTSxFQUFFLGVBQWU7RUFDdkIsZ0JBQWdCLEVBQUUsZUFBZSxHQUNsQzs7QUFFRCxBQUVFLGlCQUZlLENBRWQsQUFBQSxLQUFDLEFBQUEsRUFBTSxBQUFBLFFBQUMsQUFBQSxHQUZYLGlCQUFpQixDQUdkLEFBQUEsSUFBQyxBQUFBLENBQUssSUFBSyxFQVZXLEFBQUEsSUFBQyxDQUFLLEdBQUcsQUFBUixFQVVELElBQUssRUFWVyxBQUFBLElBQUMsQ0FBSyxHQUFHLEFBQVI7QUFRMUMsZUFBZSxDQUFDLGNBQWMsQ0FDM0IsQUFBQSxLQUFDLEFBQUEsRUFBTSxBQUFBLFFBQUMsQUFBQTtBQURYLGVBQWUsQ0FBQyxjQUFjLENBRTNCLEFBQUEsSUFBQyxBQUFBLENBQUssSUFBSyxFQVZXLEFBQUEsSUFBQyxDQUFLLEdBQUcsQUFBUixFQVVELElBQUssRUFWVyxBQUFBLElBQUMsQ0FBSyxHQUFHLEFBQVIsR0FVQTtFQUN0QyxhQUFhLEVqRGhFMkIsUUFBTyxDaURnRW9CLFVBQVU7RUFDN0UsWUFBWSxFakRqRTRCLFFBQU8sQ2lEaUVtQixVQUFVLEdBQzdFOztBQUdILEFBRUUsaUJBRmUsQ0FFZCxBQUFBLEtBQUMsQUFBQSxFQUFNLEFBQUEsUUFBQyxBQUFBLEdBRlgsaUJBQWlCLENBR2QsQUFBQSxJQUFDLEFBQUEsQ0FBSyxJQUFLLEVBbkJXLEFBQUEsSUFBQyxDQUFLLEdBQUcsQUFBUixFQW1CRCxJQUFLLEVBbkJXLEFBQUEsSUFBQyxDQUFLLEdBQUcsQUFBUjtBQWlCMUMsZUFBZSxDQUFDLGNBQWMsQ0FDM0IsQUFBQSxLQUFDLEFBQUEsRUFBTSxBQUFBLFFBQUMsQUFBQTtBQURYLGVBQWUsQ0FBQyxjQUFjLENBRTNCLEFBQUEsSUFBQyxBQUFBLENBQUssSUFBSyxFQW5CVyxBQUFBLElBQUMsQ0FBSyxHQUFHLEFBQVIsRUFtQkQsSUFBSyxFQW5CVyxBQUFBLElBQUMsQ0FBSyxHQUFHLEFBQVIsR0FtQkE7RUFDdEMsYUFBYSxFakQxRTJCLE9BQU8sQ2lEMEVvQixVQUFVO0VBQzdFLFlBQVksRWpEM0U0QixPQUFPLENpRDJFbUIsVUFBVSxHQUM3RTs7QUFNSCxBQUFBLFlBQVksQ0FBQztFQUNYLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFFRCxBQUFBLGtCQUFrQixDQUFDO0VBQ2pCLGVBQWUsRUFBRSxXQUFXO0VBQzVCLFVBQVUsRWhEaUo0QixZQUFZLENBQUMsS0FBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsS0FBSSxDQUFDLFdBQVcsR2dEbEhqRztFQVpDLEFBQUEsa0JBQWtCLEFBQUEsU0FBUyxHQXJCN0Isa0JBQWtCLENBcUJnQjtJQUM5QixVQUFVLEVuRGhNRixPQUFtQyxHbUQwTTVDO0lBWEQsQUFRRSxrQkFSZ0IsQUFBQSxTQUFTLEdBckI3QixrQkFBa0IsQUE2QmIsUUFBUSxDQUFDO01BQ1IsT0FBTyxFQUFFLEdBQUcsR0FDYjs7QUM5VUwsQUFBQSxTQUFTLENBQUM7RUFDUixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsWUFBWTtFQUNyQixZQUFZLEVsRGdoQmtCLE9BQU07RWtEL2dCcEMsYUFBYSxFQUFFLENBQUM7RUFDaEIsYUFBYSxFQUFFLEtBQUs7RUFDcEIsY0FBYyxFQUFFLE1BQU07RUFDdEIsV0FBVyxFQUFFLE1BQU07RWpCZ2tDbkIsWUFBWSxFakMxaUJrQixRQUFRO0VpQzJpQnRDLFVBQVUsRWpDMWlCb0IsUUFBUTtFaUMyaUJ0QyxTQUFTLEVqQzlnQ2MsUUFBTztFaUMrZ0M5QixXQUFXLEVqQ3ppQm1CLEdBQUcsR2tEdmdCbEM7RUExQkQsQWpCK2tDRSxTaUIva0NPLENqQitrQ1AsZUFBZSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xDLEdBQUcsRUFIbUUsQ0FBQyxDQUczRCxVQUFVLEdBQ3ZCO0VpQmpsQ0gsQWpCbWxDRSxTaUJubENPLENqQm1sQ1AsbUJBQW1CLENBQUM7SUFDbEIsS0FBSyxFakN2akJ1QixRQUFRO0lpQ3dqQnBDLE1BQU0sRUFBRSxRQUFzQjtJQUM5QixTQUFTLEVqQ3ZqQm1CLFFBQU87SWlDd2pCbkMsV0FBVyxFakN6akJpQixRQUFRO0lpQzhqQmxDLEdBQUcsRUFBRSxDQUFDLEdBRVQ7RWlCOWxDSCxBakJnbUNFLFNpQmhtQ08sQ2pCZ21DUCxlQUFlLENBQUM7SUFFWixHQUFHLEVBQUUsU0FBcUMsR0FJN0M7RWlCdG1DSCxBakJ3bUNFLFNpQnhtQ08sQ2pCd21DUCxlQUFlLEFBQUEsUUFBUSxHQUFHLG1CQUFtQixBQUFBLE9BQU8sQ0FBQztJQUNuRCxJQUFJLEVBQUUsSUFBZ0IsR0FDdkI7RWlCMW1DSCxBakI0bUNFLFNpQjVtQ08sQ2pCNG1DUCxtQkFBbUIsQUFBQSxPQUFPLENBQUM7SUFDekIsR0FBRyxFQWhDbUUsQ0FBQztJQWlDdkUsTUFBTSxFakN4bEJzQixPQUFNLENpQ3dsQlosQ0FBQyxDQUFDLENBQUMsQ2pDeGxCRyxPQUFNO0lpQ3lsQmxDLEtBQUssRUFBRSxRQUEyQjtJQUNsQyxNQUFNLEVBQUUsUUFBMkIsR0FDcEM7RWlCam5DSCxBakJtbkNFLFNpQm5uQ08sQ2pCbW5DUCxZQUFZLENBQUM7SUFDWCxhQUFhLEVqQzlsQmUsT0FBTTtJaUMrbEJsQyxZQUFZLEVBQUUsUUFBdUIsR0FDdEM7RWlCdG5DSCxBakJ3bkNFLFNpQnhuQ08sQ2pCd25DUCxhQUFhLENBQUM7SUFDWixhQUFhLEVBQUUsUUFBdUI7SUFDdEMsWUFBWSxFakNwbUJnQixPQUFNLEdpQ3FtQm5DO0U5QmxrQ0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0krQ3pDMUIsQUFBQSxZQUFZLENBaEJkLFNBQVMsQ0FnQlE7TUFFWCxPQUFPLEVBQUUsS0FBSztNQUNkLFlBQVksRUFBRSxDQUFDLEdBTWxCOztBQU1ILEFBQUEsZUFBZSxDQUFDO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLEVBQUU7RUFDWCxNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsT0FBTyxFQUFFLENBQUMsR0FDWDs7QUFLRCxBQUFBLG1CQUFtQixDQUFDO0VBQ2xCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxDQUFDO0VBQ1AsUUFBUSxFQUFFLE1BQU07RUFDaEIsYUFBYSxFQUFFLEtBQUs7RUFDcEIsVUFBVSxFbEQzQ0cscUJBQU87RWtENENwQixLQUFLLEVsRDVDUSxxQkFBTztFa0Q2Q3BCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLE1BQU0sRUFBRSxPQUFPO0VBQ2YsbUJBQW1CLEVBQUUsR0FBRztFQUN4QixtQkFBbUIsRUFBRSxtQ0FBbUM7RUFDeEQsV0FBVyxFQUFFLElBQUksR0E4QmxCOztBQUtELEFBQUEsZUFBZSxDQUFDO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsWUFBWSxFbEQwYmtCLE1BQUs7RWtEemJuQyxLQUFLLEVsRGpEWSxPQUFPO0VrRGtEeEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsTUFBTSxFQUFFLE9BQU8sR0FDaEI7O0FBS0QsQUFBQSxZQUFZO0FBQ1osYUFBYSxDQUFDO0VBQ1osUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFQUFFLE1BQU07RUFDbEIsbUJBQW1CLEVBQUUsR0FBRztFQUN4QixtQkFBbUIsRUFBRSxXQUFXLEdBV2pDOztBQUVELEFBQUEsWUFBWSxDQUFDO0VBQ1gsSUFBSSxFQUFFLENBQUMsR0FNUjs7QUFFRCxBQUFBLGFBQWEsQ0FBQztFQUNaLElBQUksRUFBRSxLQUFLLEdBVVo7RUFIQyxBQUFBLGVBQWUsQUFBQSxJQUFLLENEbEVtQyxRQUFRLElDa0UvQixtQkFBbUIsQ0FSckQsYUFBYSxDQVEyQztJQUNwRCxLQUFLLEVBQUUsc0JBQXNCLEdBQzlCOztBQUlILEFBQ0UsZUFEYSxBQUFBLFFBQVEsR0FBRyxtQkFBbUIsQ0FDM0MsWUFBWSxDQUFDO0VBQ1gsSUFBSSxFQUFFLElBQUk7RUFDVixLQUFLLEVBQUUsc0JBQXNCLEdBTTlCOztBQVRILEFBV0UsZUFYYSxBQUFBLFFBQVEsR0FBRyxtQkFBbUIsQ0FXM0MsYUFBYSxDQUFDO0VBQ1osSUFBSSxFQUFFLENBQUMsR0FNUjs7QUFNSCxBQUFBLG1CQUFtQixBQUFBLE9BQU8sQ0FBQztFQUN6QixPQUFPLEVBQUUsRUFBRTtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxDQUFDO0VBQ1AsT0FBTyxFQUFFLEtBQUs7RUFDZCxhQUFhLEVBQUUsS0FBSztFQUNwQixVQUFVLEVsRGlZb0IsSUFBSTtFa0RoWWxDLFVBQVUsRWxEaVlvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBNWlCMUIsc0JBQU8sRUE0aUJ1QyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0E1aUJ2RCxzQkFBTztFa0Q0S3BCLG1CQUFtQixFQUFFLEdBQUc7RUFDeEIsbUJBQW1CLEVBQUUsdUJBQXVCLEdBTTdDOztBQUtELEFBRUcsZUFGWSxBQUFBLFNBQVMsR0FFbkIsbUJBQW1CO0FBRHhCLFFBQVEsQ0FBQSxBQUFBLFFBQUMsQUFBQSxFQUFVLGVBQWUsR0FDN0IsbUJBQW1CLENBQUM7RUFDckIsT0FBTyxFQUFFLEVBQUU7RUFDWCxNQUFNLEVBQUUsc0JBQXNCLEdBSy9CO0VBVEgsQUFNSSxlQU5XLEFBQUEsU0FBUyxHQUVuQixtQkFBbUIsQUFJbkIsT0FBTztFQUxaLFFBQVEsQ0FBQSxBQUFBLFFBQUMsQUFBQSxFQUFVLGVBQWUsR0FDN0IsbUJBQW1CLEFBSW5CLE9BQU8sQ0FBQztJQUNQLFVBQVUsRUFBRSxlQUFlLEdBQzVCOztBQVJMLEFBV0csZUFYWSxBQUFBLFNBQVMsR0FXbkIsZUFBZTtBQVZwQixRQUFRLENBQUEsQUFBQSxRQUFDLEFBQUEsRUFBVSxlQUFlLEdBVTdCLGVBQWUsQ0FBQztFQUNqQixLQUFLLEVwRG5FRyxPQUFtQyxDb0RtRUwsVUFBVTtFQUNoRCxNQUFNLEVBQUUsV0FBVyxHQUNwQjs7QUFNSCxBckJsTkUsa0JxQmtOZ0IsQXJCbE5mLE9BQU8sQ0FBQztFQUNQLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsRUFBRSxHQUNaOztBcUI4TUgsQUFHRSxrQkFIZ0IsQ0FHaEIsU0FBUyxDQUFDO0VBQ1IsT0FBTyxFQUFFLEtBQUs7RUFDZCxZQUFZLEVBQUUsQ0FBQztFQUNmLGFBQWEsRWxEOFRlLE1BQUssR2tEdFRsQzs7QUFNSCxBQUFBLGdCQUFnQjtBQUNoQixnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQztFQUVqQyxhQUFhLEVsRC9HaUIsT0FBTSxHa0RtSHZDOztBQUVELEFBQUEsZ0JBQWdCLENBQUMsbUJBQW1CLEFBQUEsT0FBTyxDQUFDO0VBRXhDLGFBQWEsRUFBc0QsbUJBQTZDLEdBSW5IOztBakJxN0JDLEFBQUEsWUFBWTtBQUNaLGNBQWMsQ0FBQyxTQUFTLENBQU87RUFsRy9CLFlBQVksRWpDcGlCa0IsSUFBSTtFaUNxaUJsQyxVQUFVLEVqQ3BpQm9CLFFBQVE7RWlDcWlCdEMsU0FBUyxFakMzZ0NjLE9BQU07RWlDNGdDN0IsV0FBVyxFakNwaUJtQixLQUFLLEdpQ3FvQmxDO0VBSEQsQUF6RkEsWUF5RlksQ0F6RlosZUFBZSxDQUFDLG1CQUFtQjtFQTBGbkMsY0FBYyxDQUFDLFNBQVMsQ0ExRnhCLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxHQUFHLEVBSG1FLENBQUMsQ0FHM0QsVUFBVSxHQUN2QjtFQXVGRCxBQXJGQSxZQXFGWSxDQXJGWixtQkFBbUI7RUFzRm5CLGNBQWMsQ0FBQyxTQUFTLENBdEZ4QixtQkFBbUIsQ0FBQztJQUNsQixLQUFLLEVqQ2pqQnVCLElBQUk7SWlDa2pCaEMsTUFBTSxFQUFFLFFBQXNCO0lBQzlCLFNBQVMsRWpDdmpCbUIsUUFBTztJaUN3akJuQyxXQUFXLEVqQ25qQmlCLFFBQVE7SWlDd2pCbEMsR0FBRyxFQUFFLENBQUMsR0FFVDtFQTBFRCxBQXhFQSxZQXdFWSxDQXhFWixlQUFlO0VBeUVmLGNBQWMsQ0FBQyxTQUFTLENBekV4QixlQUFlLENBQUM7SUFFWixHQUFHLEVBQUUsVUFBcUMsR0FJN0M7RUFrRUQsQUFoRUEsWUFnRVksQ0FoRVosZUFBZSxBQUFBLFFBQVEsR0FBRyxtQkFBbUIsQUFBQSxPQUFPO0VBaUVwRCxjQUFjLENBQUMsU0FBUyxDQWpFeEIsZUFBZSxBQUFBLFFBQVEsR0FBRyxtQkFBbUIsQUFBQSxPQUFPLENBQUM7SUFDbkQsSUFBSSxFQUFFLFFBQWdCLEdBQ3ZCO0VBOERELEFBNURBLFlBNERZLENBNURaLG1CQUFtQixBQUFBLE9BQU87RUE2RDFCLGNBQWMsQ0FBQyxTQUFTLENBN0R4QixtQkFBbUIsQUFBQSxPQUFPLENBQUM7SUFDekIsR0FBRyxFQWhDbUUsQ0FBQztJQWlDdkUsTUFBTSxFakN4bEJzQixPQUFNLENpQ3dsQlosQ0FBQyxDQUFDLENBQUMsQ2pDeGxCRyxPQUFNO0lpQ3lsQmxDLEtBQUssRUFBRSxRQUEyQjtJQUNsQyxNQUFNLEVBQUUsUUFBMkIsR0FDcEM7RUF1REQsQUFyREEsWUFxRFksQ0FyRFosWUFBWTtFQXNEWixjQUFjLENBQUMsU0FBUyxDQXREeEIsWUFBWSxDQUFDO0lBQ1gsYUFBYSxFakM5bEJlLE9BQU07SWlDK2xCbEMsWUFBWSxFQUFFLFFBQXVCLEdBQ3RDO0VBa0RELEFBaERBLFlBZ0RZLENBaERaLGFBQWE7RUFpRGIsY0FBYyxDQUFDLFNBQVMsQ0FqRHhCLGFBQWEsQ0FBQztJQUNaLGFBQWEsRUFBRSxRQUF1QjtJQUN0QyxZQUFZLEVqQ3BtQmdCLE9BQU0sR2lDcW1CbkM7O0FBNkNELEFBQUEsWUFBWTtBQUNaLGNBQWMsQ0FBQyxTQUFTLENBQU87RUFsRy9CLFlBQVksRWpDL2hCa0IsT0FBTztFaUNnaUJyQyxVQUFVLEVqQy9oQm9CLE9BQU87RWlDZ2lCckMsU0FBUyxFakM1Z0NjLElBQUk7RWlDNmdDM0IsV0FBVyxFakMvaEJtQixJQUFJLEdpQ2dvQmpDO0VBSEQsQUF6RkEsWUF5RlksQ0F6RlosZUFBZSxDQUFDLG1CQUFtQjtFQTBGbkMsY0FBYyxDQUFDLFNBQVMsQ0ExRnhCLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxHQUFHLEVBSG1FLENBQUMsQ0FHM0QsVUFBVSxHQUN2QjtFQXVGRCxBQXJGQSxZQXFGWSxDQXJGWixtQkFBbUI7RUFzRm5CLGNBQWMsQ0FBQyxTQUFTLENBdEZ4QixtQkFBbUIsQ0FBQztJQUNsQixLQUFLLEVqQzVpQnVCLE9BQU87SWlDNmlCbkMsTUFBTSxFQUFFLE9BQXNCO0lBQzlCLFNBQVMsRWpDdmpCbUIsUUFBTztJaUN3akJuQyxXQUFXLEVqQzlpQmlCLE9BQU87SWlDbWpCakMsR0FBRyxFQUFFLENBQUMsR0FFVDtFQTBFRCxBQXhFQSxZQXdFWSxDQXhFWixlQUFlO0VBeUVmLGNBQWMsQ0FBQyxTQUFTLENBekV4QixlQUFlLENBQUM7SUFFWixHQUFHLEVBQUUsT0FBcUMsR0FJN0M7RUFrRUQsQUFoRUEsWUFnRVksQ0FoRVosZUFBZSxBQUFBLFFBQVEsR0FBRyxtQkFBbUIsQUFBQSxPQUFPO0VBaUVwRCxjQUFjLENBQUMsU0FBUyxDQWpFeEIsZUFBZSxBQUFBLFFBQVEsR0FBRyxtQkFBbUIsQUFBQSxPQUFPLENBQUM7SUFDbkQsSUFBSSxFQUFFLE1BQWdCLEdBQ3ZCO0VBOERELEFBNURBLFlBNERZLENBNURaLG1CQUFtQixBQUFBLE9BQU87RUE2RDFCLGNBQWMsQ0FBQyxTQUFTLENBN0R4QixtQkFBbUIsQUFBQSxPQUFPLENBQUM7SUFDekIsR0FBRyxFQWhDbUUsQ0FBQztJQWlDdkUsTUFBTSxFakN4bEJzQixPQUFNLENpQ3dsQlosQ0FBQyxDQUFDLENBQUMsQ2pDeGxCRyxPQUFNO0lpQ3lsQmxDLEtBQUssRUFBRSxPQUEyQjtJQUNsQyxNQUFNLEVBQUUsT0FBMkIsR0FDcEM7RUF1REQsQUFyREEsWUFxRFksQ0FyRFosWUFBWTtFQXNEWixjQUFjLENBQUMsU0FBUyxDQXREeEIsWUFBWSxDQUFDO0lBQ1gsYUFBYSxFakM5bEJlLE9BQU07SWlDK2xCbEMsWUFBWSxFQUFFLE1BQXVCLEdBQ3RDO0VBa0RELEFBaERBLFlBZ0RZLENBaERaLGFBQWE7RUFpRGIsY0FBYyxDQUFDLFNBQVMsQ0FqRHhCLGFBQWEsQ0FBQztJQUNaLGFBQWEsRUFBRSxNQUF1QjtJQUN0QyxZQUFZLEVqQ3BtQmdCLE9BQU0sR2lDcW1CbkM7O0FBdURELEFBQUEsbUJBQW1CLEFBQUEsU0FBUyxDQUFDLGVBQWUsQUFBQSxRQUFRLEdBQUcsbUJBQW1CLENBQWY7RUFDekQsVUFBVSxFakNocENDLE9BQU87RWlDaXBDbEIsS0FBSyxFbkNuaENHLElBQUksR21Db2hDYjs7QUFFRCxBQUFBLG1CQUFtQixBQUFBLFNBQVMsQ0FBQyxlQUFlLEFBQUEsTUFBTSxHQUFHLG1CQUFtQixDQUFmO0VBQ3ZELFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ2pDempDYSxHQUFHLENBNUZ0Qix3QkFBTyxHaUNzcENuQjs7QUFFRCxBQUFBLG1CQUFtQixBQUFBLFNBQVMsQ0FBQyxlQUFlLEFBQUEsT0FBTyxHQUFHLG1CQUFtQixDQUFmO0VBQ3hELFVBQVUsRUFBRSxlQUFlLEdBQzVCOztBQVhELEFBQUEsaUJBQWlCLEFBQUEsU0FBUyxDQUFDLGVBQWUsQUFBQSxRQUFRLEdBQUcsbUJBQW1CLENBQWI7RUFDekQsVUFBVSxFakN0cENDLE9BQU87RWlDdXBDbEIsS0FBSyxFbkNuaENHLElBQUksR21Db2hDYjs7QUFFRCxBQUFBLGlCQUFpQixBQUFBLFNBQVMsQ0FBQyxlQUFlLEFBQUEsTUFBTSxHQUFHLG1CQUFtQixDQUFiO0VBQ3ZELFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ2pDempDYSxHQUFHLENBbEd0QixzQkFBTyxHaUM0cENuQjs7QUFFRCxBQUFBLGlCQUFpQixBQUFBLFNBQVMsQ0FBQyxlQUFlLEFBQUEsT0FBTyxHQUFHLG1CQUFtQixDQUFiO0VBQ3hELFVBQVUsRUFBRSxlQUFlLEdBQzVCOztBQVhELEFBQUEsY0FBYyxBQUFBLFNBQVMsQ0FBQyxlQUFlLEFBQUEsUUFBUSxHQUFHLG1CQUFtQixDQUFWO0VBQ3pELFVBQVUsRWpDcHBDQyxPQUFPO0VpQ3FwQ2xCLEtBQUssRW5DbmhDRyxJQUFJLEdtQ29oQ2I7O0FBRUQsQUFBQSxjQUFjLEFBQUEsU0FBUyxDQUFDLGVBQWUsQUFBQSxNQUFNLEdBQUcsbUJBQW1CLENBQVY7RUFDdkQsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakN6akNhLEdBQUcsQ0FoR3RCLHVCQUFPLEdpQzBwQ25COztBQUVELEFBQUEsY0FBYyxBQUFBLFNBQVMsQ0FBQyxlQUFlLEFBQUEsT0FBTyxHQUFHLG1CQUFtQixDQUFWO0VBQ3hELFVBQVUsRUFBRSxlQUFlLEdBQzVCOztBQVhELEFBQUEsaUJBQWlCLEFBQUEsU0FBUyxDQUFDLGVBQWUsQUFBQSxRQUFRLEdBQUcsbUJBQW1CLENBQWI7RUFDekQsVUFBVSxFakN2cENDLE9BQU87RWlDd3BDbEIsS0FBSyxFbkMvaUNHLE9BQW1DLEdtQ2dqQzVDOztBQUVELEFBQUEsaUJBQWlCLEFBQUEsU0FBUyxDQUFDLGVBQWUsQUFBQSxNQUFNLEdBQUcsbUJBQW1CLENBQWI7RUFDdkQsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakN6akNhLEdBQUcsQ0FuR3RCLHVCQUFPLEdpQzZwQ25COztBQUVELEFBQUEsaUJBQWlCLEFBQUEsU0FBUyxDQUFDLGVBQWUsQUFBQSxPQUFPLEdBQUcsbUJBQW1CLENBQWI7RUFDeEQsVUFBVSxFQUFFLGVBQWUsR0FDNUI7O0FBWEQsQUFBQSxnQkFBZ0IsQUFBQSxTQUFTLENBQUMsZUFBZSxBQUFBLFFBQVEsR0FBRyxtQkFBbUIsQ0FBWjtFQUN6RCxVQUFVLEVqQ3pwQ0MsT0FBTztFaUMwcENsQixLQUFLLEVuQ25oQ0csSUFBSSxHbUNvaENiOztBQUVELEFBQUEsZ0JBQWdCLEFBQUEsU0FBUyxDQUFDLGVBQWUsQUFBQSxNQUFNLEdBQUcsbUJBQW1CLENBQVo7RUFDdkQsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakN6akNhLEdBQUcsQ0FyR3RCLHNCQUFPLEdpQytwQ25COztBQUVELEFBQUEsZ0JBQWdCLEFBQUEsU0FBUyxDQUFDLGVBQWUsQUFBQSxPQUFPLEdBQUcsbUJBQW1CLENBQVo7RUFDeEQsVUFBVSxFQUFFLGVBQWUsR0FDNUI7O0FBWEQsQUFBQSxjQUFjLEFBQUEsU0FBUyxDQUFDLGVBQWUsQUFBQSxRQUFRLEdBQUcsbUJBQW1CLENBQVY7RUFDekQsVUFBVSxFakMvcUNDLHFCQUFPO0VpQ2dyQ2xCLEtBQUssRW5DbmhDRyxJQUFJLEdtQ29oQ2I7O0FBRUQsQUFBQSxjQUFjLEFBQUEsU0FBUyxDQUFDLGVBQWUsQUFBQSxNQUFNLEdBQUcsbUJBQW1CLENBQVY7RUFDdkQsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakN6akNhLEdBQUcsQ0EzSHRCLHFCQUFPLEdpQ3FyQ25COztBQUVELEFBQUEsY0FBYyxBQUFBLFNBQVMsQ0FBQyxlQUFlLEFBQUEsT0FBTyxHQUFHLG1CQUFtQixDQUFWO0VBQ3hELFVBQVUsRUFBRSxlQUFlLEdBQzVCOztBQTZCQyxBQUVFLGNBRlksQ0FEaEIsZUFBZSxBQUNHLE1BQU0sQUFFbkIsUUFBUSxHQUFHLG1CQUFtQixFQUhuQyxlQUFlLEFBRVosU0FBUyxBQUNQLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQztFQUM5QixVQUFVLEVqQ2hzQ0gsT0FBTyxDaUNnc0NLLFVBQVU7RUFDN0IsS0FBSyxFbkM3akNELElBQUksQ21DNmpDVyxVQUFVLEdBQzlCOztBQUxILEFBT0UsY0FQWSxDQURoQixlQUFlLEFBQ0csTUFBTSxBQU9uQixNQUFNLEdBQUcsbUJBQW1CLEVBUmpDLGVBQWUsQUFFWixTQUFTLEFBTVAsTUFBTSxHQUFHLG1CQUFtQixDQUFDO0VBQzVCLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ2pDbm1DUyxHQUFHLENBbEd0QixzQkFBTyxDaUNxc0NtRCxVQUFVLEdBQzVFOztBQVRILEFBV0UsY0FYWSxDQURoQixlQUFlLEFBQ0csTUFBTSxBQVduQixPQUFPLEdBQUcsbUJBQW1CLEVBWmxDLGVBQWUsQUFFWixTQUFTLEFBVVAsT0FBTyxHQUFHLG1CQUFtQixDQUFDO0VBQzdCLFVBQVUsRUFBRSxlQUFlLEdBQzVCOztBQWJILEFBZUUsY0FmWSxDQURoQixlQUFlLEFBQ0csTUFBTSxHQWVsQixlQUFlLEVBaEJyQixlQUFlLEFBRVosU0FBUyxHQWNOLGVBQWUsQ0FBQztFQUNoQixLQUFLLEVqQzdzQ0UsT0FBTyxDaUM2c0NBLFVBQVUsR0FDekI7O0FBakJILEFBRUUsY0FGWSxDQURoQixlQUFlLEFBQ0csUUFBUSxBQUVyQixRQUFRLEdBQUcsbUJBQW1CLEVBSG5DLGVBQWUsQUFFWixXQUFXLEFBQ1QsUUFBUSxHQUFHLG1CQUFtQixDQUFDO0VBQzlCLFVBQVUsRWpDbnNDSCxPQUFPLENpQ21zQ0ssVUFBVTtFQUM3QixLQUFLLEVuQzdqQ0QsSUFBSSxDbUM2akNXLFVBQVUsR0FDOUI7O0FBTEgsQUFPRSxjQVBZLENBRGhCLGVBQWUsQUFDRyxRQUFRLEFBT3JCLE1BQU0sR0FBRyxtQkFBbUIsRUFSakMsZUFBZSxBQUVaLFdBQVcsQUFNVCxNQUFNLEdBQUcsbUJBQW1CLENBQUM7RUFDNUIsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDakNubUNTLEdBQUcsQ0FyR3RCLHNCQUFPLENpQ3dzQ21ELFVBQVUsR0FDNUU7O0FBVEgsQUFXRSxjQVhZLENBRGhCLGVBQWUsQUFDRyxRQUFRLEFBV3JCLE9BQU8sR0FBRyxtQkFBbUIsRUFabEMsZUFBZSxBQUVaLFdBQVcsQUFVVCxPQUFPLEdBQUcsbUJBQW1CLENBQUM7RUFDN0IsVUFBVSxFQUFFLGVBQWUsR0FDNUI7O0FBYkgsQUFlRSxjQWZZLENBRGhCLGVBQWUsQUFDRyxRQUFRLEdBZXBCLGVBQWUsRUFoQnJCLGVBQWUsQUFFWixXQUFXLEdBY1IsZUFBZSxDQUFDO0VBQ2hCLEtBQUssRWpDaHRDRSxPQUFPLENpQ2d0Q0EsVUFBVSxHQUN6Qjs7QWtCM3VDUCxBQUFBLFlBQVksQ0FBQyxjQUFjLENBQUM7RUFDMUIsSUFBSSxFQUFFLFFBQVE7RUFDZCxLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUVELEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsZUFBZSxFQUFFLFdBQVcsR0FDN0I7O0FDUEQsQUFBQSxNQUFNLENBQUM7RUFDTCxPQUFPLEVwRDZJYyxJQUFJLEdvRDVJMUI7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDZCxPQUFPLEVwRHlJYyxJQUFJLEdvRHhJMUI7O0FBRUQsQUFBQSxjQUFjLENBQUM7RUFDYixVQUFVLEVwRHlIc0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQWtCLEdvRHBIN0Q7O0FBRUQsQUFBQSxhQUFhLENBQUM7RUFDWixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVwRHVhd0IsT0FBTyxDb0R2YUwsU0FBZ0MsQ3BEdWFsQyxPQUFPLENBRFAsU0FBUyxHb0RoYXpDOztBQUVELEFBQUEsYUFBYSxDQUFDO0VBQ1osT0FBTyxFcERnYXdCLE9BQU8sQ0FIUCxTQUFTLEdvRDdZekM7O0FBS0QsQUFBQSxhQUFhLENBQUMsTUFBTTtBQUNwQixZQUFZLENBQUMsTUFBTSxDQUFDO0VBQ2xCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsS0FBSyxFcERvWTBCLFNBQVM7RW9Ebll4QyxNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsV0FBVyxFcERhWSxJQUFJO0VvRFozQixTQUFTLEVBQUUsa0JBQWtCLEdBTTlCOztBakRMRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RWlEakQ1QixBQUFBLGNBQWMsQ0E0REc7SUFDYixVQUFVLEVwRDZEb0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQWtCLEdvRDVEM0Q7RUFFRCxBQUFBLGdCQUFnQixBQUFBLFNBQVMsQ0FBQztJQUN4QixTQUFTLEVBQUUsSUFBSSxHQUNoQjtFQUNELEFBQUEsU0FBUyxDQUFDLGFBQWEsQ0FBQztJQUN0QixTQUFTLEVwRDBYb0IsT0FBTyxHb0R6WHJDOztBakRwQkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VpRHdCMUIsQUFBQSxnQkFBZ0IsQUFBQSxTQUFTLENBQUM7SUFDeEIsU0FBUyxFQUFFLElBQUksR0FDaEI7RUFDRCxBQUFBLFNBQVMsQ0FBQyxhQUFhLENBQUM7SUFDdEIsU0FBUyxFcERnWG9CLEtBQUssR29EL1duQzs7QUFNSCxBQUNFLFVBRFEsQ0FDUixhQUFhLENBQUM7RUFDWixVQUFVLEVBQUUsQ0FBQyxHQUNkOztBQUhILEFBS0UsVUFMUSxDQUtSLGNBQWMsQ0FBQztFM0IxRmIsc0JBQXNCLEUyQjJGSyxDQUFDLENBQUMsVUFBVTtFM0IxRnZDLHVCQUF1QixFMkIwRkksQ0FBQyxDQUFDLFVBQVUsR0FDeEM7O0FBTUgsQUFBQSxZQUFZO0FBQ1osWUFBWSxDQUFDLE1BQU0sQ0FBQztFQUNsQixRQUFRLEVBQUUsaUJBQWlCO0VBQzNCLE9BQU8sRUFBRSxZQUFZLEdBQ3RCOztBQUVELEFBQ0UsWUFEVSxDQUNWLGFBQWEsQ0FBQztFQUNaLFFBQVEsRUFBRSxLQUFLO0VBQ2YsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLElBQUk7RUFDVixNQUFNLEVBQUUsQ0FBQztFQUNULFNBQVMsRUFBRSxJQUFJO0VBQ2YsS0FBSyxFQUFFLElBQUksR0FVWjtFQUhDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJQWhCNUIsQUFDRSxZQURVLENBQ1YsYUFBYSxDQUFDO01BZ0JWLEtBQUssRXBEMFVzQixLQUFLLEdvRHhVbkM7O0FBbkJILEFBcUJFLFlBckJVLENBcUJWLGNBQWMsQ0FBQztFQUNiLFFBQVEsRUFBRSxJQUFJO0VBQ2QsV0FBVyxFQUFFLFVBQXVFO0VBQ3BGLGNBQWMsRUFBRSxVQUF1RTtFQUN2RixNQUFNLEVBQUUsSUFBSTtFQUNaLGFBQWEsRUFBRSxDQUFDLEdBQ2pCOztBQTNCSCxBQTZCRSxZQTdCVSxDQTZCVixXQUFXLENBQUM7RUFDVixTQUFTLEVBQUUsQ0FBQztFQUNaLE1BQU0sRUFBRSxNQUFNO0VBQ2QsV0FBVyxFQUFFLENBQUM7RUFDZCxjQUFjLEVBQUUsQ0FBQyxHQUNsQjs7QUFsQ0gsQUFvQ0UsWUFwQ1UsQ0FvQ1YsTUFBTSxDQUFDO0VBQ0wsR0FBRyxFQUFFLFFBQTJCO0VBQ2hDLE9BQU8sRUFBRSxFQUFFO0VBQ1gsU0FBUyxFQUFFLElBQUksR0FDaEI7O0FBTUgsQUFDRSxjQURZLENBQ1osYUFBYSxDQUFDO0VBQ1osT0FBTyxFQUFFLElBQUk7RUFDYixNQUFNLEVBQUUsTUFBTTtFQUNkLFdBQVcsRUFBRSxVQUF1RTtFQUNwRixjQUFjLEVBQUUsVUFBdUU7RUFDdkYsVUFBVSxFQUFFLEtBQUssR0FDbEI7O0FBUEgsQUFTRSxjQVRZLENBU1osY0FBYyxDQUFDO0VBQ2IsTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxDQUFDO0VBQ1QsVUFBVSxFQUFFLFdBQVc7RUFDdkIsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBZkgsQUFpQkUsY0FqQlksQ0FpQlosTUFBTSxDQUFDO0VBQ0wsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEtBQUs7RUFDVixLQUFLLEVwRHVRd0IsU0FBUztFb0R0UXRDLFNBQVMsRUFBRSxJQUFJO0VBQ2YsU0FBUyxFQUFFLElBQUksR0FNaEI7O0FBUUgsQUFBQSxNQUFNLEFBQUEsS0FBSyxDQUFDLGFBQWEsQ0FBQztFQUN4QixTQUFTLEVBQUUsaUJBQWlCLENBQUMsVUFBUyxHQUN2Qzs7QUFFRCxBQUFBLE1BQU0sQUFBQSxLQUFLLENBQUMsYUFBYSxDQUFDO0VBQ3hCLFNBQVMsRUFBRSxhQUFhLENBQUMsUUFBUSxHQUNsQzs7QUFJRCxBQUFBLFVBQVUsQUFBQSxLQUFLLENBQUMsYUFBYTtBQUM3QixVQUFVLENBQUMsTUFBTSxBQUFBLEtBQUssQ0FBQyxhQUFhLENBQUM7RUFDbkMsU0FBUyxFQUFFLGlCQUFpQixHQUM3Qjs7QUFFRCxBQUFBLFVBQVUsQUFBQSxLQUFLLENBQUMsYUFBYTtBQUM3QixVQUFVLENBQUMsTUFBTSxBQUFBLEtBQUssQ0FBQyxhQUFhLENBQUM7RUFDbkMsU0FBUyxFQUFFLGFBQWEsR0FDekI7O0FBSUQsQUFBQSxZQUFZLEFBQUEsS0FBSyxDQUFDLGFBQWE7QUFDL0IsWUFBWSxDQUFDLE1BQU0sQUFBQSxLQUFLLENBQUMsYUFBYSxDQUFDO0VBQ3JDLFNBQVMsRUFBRSxnQkFBZ0IsR0FLNUI7O0FBRUQsQUFBQSxZQUFZLEFBQUEsS0FBSyxDQUFDLGFBQWE7QUFDL0IsWUFBWSxDQUFDLE1BQU0sQUFBQSxLQUFLLENBQUMsYUFBYSxDQUFDO0VBQ3JDLFNBQVMsRUFBRSxhQUFhLENBQUMsVUFBVSxHQUNwQzs7QUFJRCxBQUFBLGNBQWMsQUFBQSxLQUFLLENBQUMsYUFBYTtBQUNqQyxjQUFjLENBQUMsTUFBTSxBQUFBLEtBQUssQ0FBQyxhQUFhLENBQUM7RUFDdkMsU0FBUyxFQUFFLGVBQWEsR0FDekI7O0FBRUQsQUFBQSxjQUFjLEFBQUEsS0FBSyxDQUFDLGFBQWE7QUFDakMsY0FBYyxDQUFDLE1BQU0sQUFBQSxLQUFLLENBQUMsYUFBYSxDQUFDO0VBQ3ZDLFNBQVMsRUFBRSxXQUFXLEdBQ3ZCOztBQy9PRCxBQUFBLGdCQUFnQjtBQUNoQixnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7RUFDakIsS0FBSyxFdkRtSUssT0FBbUMsR3VEOUg5QztFQVBELEFqRFNFLGdCaURUYyxBakRTYixNQUFNO0VpRFJULGdCQUFnQixDQUFDLENBQUMsQWpEUWYsTUFBTSxDQUFDO0lpREpOLEtBQUssRXJEc0NVLE9BQU8sR0lsQ0Y7O0E2QnlqQnRCLEFBQUEsMEJBQTBCLENBQWY7RUFDVCxZQUFZLEVBQUUsbUJBQWU7RUFDN0IsZ0JBQWdCLEVuQy9iUixPQUFtQztFbUNnYzNDLEtBQUssRW5DaGNHLE9BQW1DLEdtQ2ljNUM7O0FBRUQsQUFBQSxDQUFDLEFBQUEsMEJBQTBCO0FBQzNCLE1BQU0sQUFBQSwwQkFBMEIsQ0FBZjtFQUNmLEtBQUssRW5DcmNHLE9BQW1DLEdtQ2lkNUM7RUFkRCxBN0IzakJBLEM2QjJqQkMsQUFBQSwwQkFBMEIsQTdCM2pCMUIsTUFBTSxFNkIyakJQLENBQUMsQUFBQSwwQkFBMEIsQTdCMWpCMUIsTUFBTTtFNkIyakJQLE1BQU0sQUFBQSwwQkFBMEIsQTdCNWpCL0IsTUFBTTtFNkI0akJQLE1BQU0sQUFBQSwwQkFBMEIsQTdCM2pCL0IsTUFBTSxDQUFDO0k2QitqQkosZ0JBQWdCLEVuQ3hjVixPQUFtQztJbUN5Y3pDLEtBQUssRW5DemNDLE9BQW1DLEdNckg1QztFNkJ3akJELEFBU0UsQ0FURCxBQUFBLDBCQUEwQixBQVN4QixPQUFPO0VBUlYsTUFBTSxBQUFBLDBCQUEwQixBQVE3QixPQUFPLENBQUM7SUFDUCxZQUFZLEVqQy9pQkgsT0FBTztJaUNnakJoQixnQkFBZ0IsRWpDaGpCUCxPQUFPO0lpQ2lqQmhCLEtBQUssRW5DL2NDLE9BQW1DLEdtQ2dkMUM7O0FBbkJILEFBQUEsd0JBQXdCLENBQWI7RUFDVCxZQUFZLEVBQUUsbUJBQWU7RUFDN0IsZ0JBQWdCLEVuQy9iUixPQUFtQztFbUNnYzNDLEtBQUssRW5DaGNHLE9BQW1DLEdtQ2ljNUM7O0FBRUQsQUFBQSxDQUFDLEFBQUEsd0JBQXdCO0FBQ3pCLE1BQU0sQUFBQSx3QkFBd0IsQ0FBYjtFQUNmLEtBQUssRW5DcmNHLE9BQW1DLEdtQ2lkNUM7RUFkRCxBN0IzakJBLEM2QjJqQkMsQUFBQSx3QkFBd0IsQTdCM2pCeEIsTUFBTSxFNkIyakJQLENBQUMsQUFBQSx3QkFBd0IsQTdCMWpCeEIsTUFBTTtFNkIyakJQLE1BQU0sQUFBQSx3QkFBd0IsQTdCNWpCN0IsTUFBTTtFNkI0akJQLE1BQU0sQUFBQSx3QkFBd0IsQTdCM2pCN0IsTUFBTSxDQUFDO0k2QitqQkosZ0JBQWdCLEVuQ3hjVixPQUFtQztJbUN5Y3pDLEtBQUssRW5DemNDLE9BQW1DLEdNckg1QztFNkJ3akJELEFBU0UsQ0FURCxBQUFBLHdCQUF3QixBQVN0QixPQUFPO0VBUlYsTUFBTSxBQUFBLHdCQUF3QixBQVEzQixPQUFPLENBQUM7SUFDUCxZQUFZLEVqQ3JqQkgsT0FBTztJaUNzakJoQixnQkFBZ0IsRWpDdGpCUCxPQUFPO0lpQ3VqQmhCLEtBQUssRW5DL2NDLE9BQW1DLEdtQ2dkMUM7O0FBbkJILEFBQUEscUJBQXFCLENBQVY7RUFDVCxZQUFZLEVBQUUsbUJBQWU7RUFDN0IsZ0JBQWdCLEVuQy9iUixPQUFtQztFbUNnYzNDLEtBQUssRW5DaGNHLE9BQW1DLEdtQ2ljNUM7O0FBRUQsQUFBQSxDQUFDLEFBQUEscUJBQXFCO0FBQ3RCLE1BQU0sQUFBQSxxQkFBcUIsQ0FBVjtFQUNmLEtBQUssRW5DcmNHLE9BQW1DLEdtQ2lkNUM7RUFkRCxBN0IzakJBLEM2QjJqQkMsQUFBQSxxQkFBcUIsQTdCM2pCckIsTUFBTSxFNkIyakJQLENBQUMsQUFBQSxxQkFBcUIsQTdCMWpCckIsTUFBTTtFNkIyakJQLE1BQU0sQUFBQSxxQkFBcUIsQTdCNWpCMUIsTUFBTTtFNkI0akJQLE1BQU0sQUFBQSxxQkFBcUIsQTdCM2pCMUIsTUFBTSxDQUFDO0k2QitqQkosZ0JBQWdCLEVuQ3hjVixPQUFtQztJbUN5Y3pDLEtBQUssRW5DemNDLE9BQW1DLEdNckg1QztFNkJ3akJELEFBU0UsQ0FURCxBQUFBLHFCQUFxQixBQVNuQixPQUFPO0VBUlYsTUFBTSxBQUFBLHFCQUFxQixBQVF4QixPQUFPLENBQUM7SUFDUCxZQUFZLEVqQ25qQkgsT0FBTztJaUNvakJoQixnQkFBZ0IsRWpDcGpCUCxPQUFPO0lpQ3FqQmhCLEtBQUssRW5DL2NDLE9BQW1DLEdtQ2dkMUM7O0FBbkJILEFBQUEsd0JBQXdCLENBQWI7RUFDVCxZQUFZLEVBQUUsbUJBQWU7RUFDN0IsZ0JBQWdCLEVuQy9iUixPQUFtQztFbUNnYzNDLEtBQUssRW5DaGNHLE9BQW1DLEdtQ2ljNUM7O0FBRUQsQUFBQSxDQUFDLEFBQUEsd0JBQXdCO0FBQ3pCLE1BQU0sQUFBQSx3QkFBd0IsQ0FBYjtFQUNmLEtBQUssRW5DcmNHLE9BQW1DLEdtQ2lkNUM7RUFkRCxBN0IzakJBLEM2QjJqQkMsQUFBQSx3QkFBd0IsQTdCM2pCeEIsTUFBTSxFNkIyakJQLENBQUMsQUFBQSx3QkFBd0IsQTdCMWpCeEIsTUFBTTtFNkIyakJQLE1BQU0sQUFBQSx3QkFBd0IsQTdCNWpCN0IsTUFBTTtFNkI0akJQLE1BQU0sQUFBQSx3QkFBd0IsQTdCM2pCN0IsTUFBTSxDQUFDO0k2QitqQkosZ0JBQWdCLEVuQ3hjVixPQUFtQztJbUN5Y3pDLEtBQUssRW5DemNDLE9BQW1DLEdNckg1QztFNkJ3akJELEFBU0UsQ0FURCxBQUFBLHdCQUF3QixBQVN0QixPQUFPO0VBUlYsTUFBTSxBQUFBLHdCQUF3QixBQVEzQixPQUFPLENBQUM7SUFDUCxZQUFZLEVqQ3RqQkgsT0FBTztJaUN1akJoQixnQkFBZ0IsRWpDdmpCUCxPQUFPO0lpQ3dqQmhCLEtBQUssRW5DL2NDLE9BQW1DLEdtQ2dkMUM7O0FBbkJILEFBQUEsdUJBQXVCLENBQVo7RUFDVCxZQUFZLEVBQUUsbUJBQWU7RUFDN0IsZ0JBQWdCLEVuQy9iUixPQUFtQztFbUNnYzNDLEtBQUssRW5DaGNHLE9BQW1DLEdtQ2ljNUM7O0FBRUQsQUFBQSxDQUFDLEFBQUEsdUJBQXVCO0FBQ3hCLE1BQU0sQUFBQSx1QkFBdUIsQ0FBWjtFQUNmLEtBQUssRW5DcmNHLE9BQW1DLEdtQ2lkNUM7RUFkRCxBN0IzakJBLEM2QjJqQkMsQUFBQSx1QkFBdUIsQTdCM2pCdkIsTUFBTSxFNkIyakJQLENBQUMsQUFBQSx1QkFBdUIsQTdCMWpCdkIsTUFBTTtFNkIyakJQLE1BQU0sQUFBQSx1QkFBdUIsQTdCNWpCNUIsTUFBTTtFNkI0akJQLE1BQU0sQUFBQSx1QkFBdUIsQTdCM2pCNUIsTUFBTSxDQUFDO0k2QitqQkosZ0JBQWdCLEVuQ3hjVixPQUFtQztJbUN5Y3pDLEtBQUssRW5DemNDLE9BQW1DLEdNckg1QztFNkJ3akJELEFBU0UsQ0FURCxBQUFBLHVCQUF1QixBQVNyQixPQUFPO0VBUlYsTUFBTSxBQUFBLHVCQUF1QixBQVExQixPQUFPLENBQUM7SUFDUCxZQUFZLEVqQ3hqQkgsT0FBTztJaUN5akJoQixnQkFBZ0IsRWpDempCUCxPQUFPO0lpQzBqQmhCLEtBQUssRW5DL2NDLE9BQW1DLEdtQ2dkMUM7O0FBbkJILEFBQUEscUJBQXFCLENBQVY7RUFDVCxZQUFZLEVBQUUsbUJBQWU7RUFDN0IsZ0JBQWdCLEVuQy9iUixPQUFtQztFbUNnYzNDLEtBQUssRW5DaGNHLE9BQW1DLEdtQ2ljNUM7O0FBRUQsQUFBQSxDQUFDLEFBQUEscUJBQXFCO0FBQ3RCLE1BQU0sQUFBQSxxQkFBcUIsQ0FBVjtFQUNmLEtBQUssRW5DcmNHLE9BQW1DLEdtQ2lkNUM7RUFkRCxBN0IzakJBLEM2QjJqQkMsQUFBQSxxQkFBcUIsQTdCM2pCckIsTUFBTSxFNkIyakJQLENBQUMsQUFBQSxxQkFBcUIsQTdCMWpCckIsTUFBTTtFNkIyakJQLE1BQU0sQUFBQSxxQkFBcUIsQTdCNWpCMUIsTUFBTTtFNkI0akJQLE1BQU0sQUFBQSxxQkFBcUIsQTdCM2pCMUIsTUFBTSxDQUFDO0k2QitqQkosZ0JBQWdCLEVuQ3hjVixPQUFtQztJbUN5Y3pDLEtBQUssRW5DemNDLE9BQW1DLEdNckg1QztFNkJ3akJELEFBU0UsQ0FURCxBQUFBLHFCQUFxQixBQVNuQixPQUFPO0VBUlYsTUFBTSxBQUFBLHFCQUFxQixBQVF4QixPQUFPLENBQUM7SUFDUCxZQUFZLEVqQzlrQkgscUJBQU87SWlDK2tCaEIsZ0JBQWdCLEVqQy9rQlAscUJBQU87SWlDZ2xCaEIsS0FBSyxFbkMvY0MsT0FBbUMsR21DZ2QxQzs7QXNCcmxCTCxBQUFBLE9BQU8sQ0FBQztFQUNOLE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FBRUQsQUFBQSxVQUFVLENBQUM7RUFDVCxPQUFPLEV0RDhsQjJCLElBQUksR3NEN2xCdkM7O0FBYUQsQUFBQSxPQUFPLEFBQUEsWUFBWSxDQUFDO0VBQ2xCLEtBQUssRXZEakJRLHdCQUFJLEd1RGtCbEI7O0FBRUQsQUFBQSxZQUFZLENBQUMsV0FBVyxDQUFDLFNBQVMsQUFBQSxTQUFTLENBQUM7RUFDMUMsS0FBSyxFdkRyQlEsd0JBQUksQ3VEcUJrQixVQUFVLEdBQzlDOztBQUVELEFBQUEsT0FBTyxBQUFBLGFBQWEsQ0FBQztFQUNuQixLQUFLLEV2RHhCUSxxQkFBTyxHdUR5QnJCOztBQUVELEFBQUEsYUFBYSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEFBQUEsU0FBUyxDQUFDO0VBQzNDLEtBQUssRXZENUJRLHFCQUFPLEN1RDRCZ0IsVUFBVSxHQUMvQzs7QUFHRCxBQUFBLGdCQUFnQjtBQUNoQixhQUFhO0FBQ2IsWUFBWSxDQUFDO0VBQ1gsV0FBVyxFQUFFLENBQUMsR0FDZjs7QUFLRCxBQUFBLFlBQVksQ0FBQyxFQUFFLENBQUM7RUFDZCxZQUFZLEVBQUUsd0JBQXVCLEdBQ3RDOztBQUVELEFBQUEsYUFBYSxDQUFDLEVBQUUsQ0FBQztFQUNmLFlBQVksRXZEOUNDLHNCQUFPLEd1RCtDckI7O0FBS0QsQUFBQSxZQUFZLENBQUM7RUFDWCxTQUFTLEVBQUUsSUFBSSxHQUNoQjs7QUFLRCxBQUFBLGtCQUFrQixDQUFDO0VBQ2pCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsTUFBTSxFQUFFLENBQUMsR0FLVjtFQVJELEFBS0Usa0JBTGdCLEFBS2YsSUFBSyxDaEJzREEsT0FBTyxFZ0J0REU7SUFDYixNQUFNLEVBQUUsT0FBTyxHQUNoQjs7QUFHSCxBQUFBLG9CQUFvQixDQUFDO0VBQ25CLE9BQU8sRUFBRSxJQUFJO0VBQ2IsUUFBUSxFQUFFLE1BQU07RUFDaEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsU0FBUyxFQUFFLENBQUM7RUFDWixVQUFVLEVBQUUseUJBQXlCLEdBdUJ0QztFQXJCQyxBQUFBLGtCQUFrQixBQUFBLE9BQU8sQ0FQM0Isb0JBQW9CLENBT1U7SUFDMUIsU0FBUyxFQUFFLEtBQUssR0FDakI7RUFUSCxBQVdFLG9CQVhrQixDQVdsQixhQUFhLENBQUM7SUFDWixhQUFhLEVBQUUsWUFBWTtJQUMzQixZQUFZLEVBQUUsWUFBWTtJQUMxQixLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxZQUFZO0lBQ3BCLGFBQWEsRUFBRSxZQUFZO0lBQzNCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLEtBQUssRUFBRSxrQkFBa0IsR0FTMUI7SUFQQyxBQUFBLFlBQVksQ0FwQmhCLG9CQUFvQixDQVdsQixhQUFhLEFBU0csYUFBYSxDQUFDO01BQzFCLEtBQUssRXZEM0ZJLHdCQUFJLEd1RDRGZDtJQUVELEFBQUEsYUFBYSxDQXhCakIsb0JBQW9CLENBV2xCLGFBQWEsQUFhSSxhQUFhLENBQUM7TUFDM0IsS0FBSyxFdkQ5RkkscUJBQU8sR3VEK0ZqQjs7QUFJTCxBQUFBLHFCQUFxQixDQUFDO0VBQ3BCLEtBQUssRUFBRSxrQkFBa0I7RUFDekIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLENBQUM7RUFDZCxPQUFPLEVBQUUsRUFBRSxHQU1aO0VBWEQsQUFPRSxxQkFQbUIsQUFPbEIsTUFBTSxFQVBULHFCQUFxQixBQVFsQixNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQVFFLEFBRUcsaUJBRkEsQ0FFQSxrQkFBa0IsQUFBQSxTQUFTLENBQUM7RUFDMUIsV0FBVyxFQUFFLENBQUM7RUFDZCxjQUFjLEVBQUUsQ0FBQyxHQUNsQjs7QXBEeERMLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtFb0RtRDFCLEFBUUcsaUJBUkEsQ0FRQSxvQkFBb0IsQ0FBQztJQUNuQixTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCLEtBQUssRUFBRSxlQUFlLEdBQ3ZCO0VBWEosQUFhRyxpQkFiQSxDQWFBLG9CQUFvQixDQUFDLGFBQWEsQ0FBQztJQUNqQyxLQUFLLEVBQUUsZUFBZSxHQUN2QjtFQWZKLEFBaUJHLGlCQWpCQSxDQWlCQSxxQkFBcUIsQ0FBQztJQUNwQixPQUFPLEVBQUUsZUFBZSxHQUN6QjtFQW5CSixBQXFCRyxpQkFyQkEsQUFxQkMsWUFBWSxDQUFDLGtCQUFrQixDQUFDO0lBQy9CLEtBQUssRXZENUlBLElBQUksQ3VENEl3QixVQUFVLEdBQzVDO0VBdkJKLEFBeUJHLGlCQXpCQSxBQXlCQyxhQUFhLENBQUMsa0JBQWtCLENBQUM7SUFDaEMsS0FBSyxFdkR4R0ksT0FBTyxDdUR3R2tCLFVBQVUsR0FDN0M7O0FwRDNGTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RW9EZ0V2QixBQUVHLGlCQUZBLENBRUEsa0JBQWtCLEFBQUEsU0FBUyxDQUFDO0lBQzFCLFdBQVcsRUFBRSxDQUFDO0lBQ2QsY0FBYyxFQUFFLENBQUMsR0FDbEI7O0FwRHhETCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7RW9EbUQxQixBQVFHLGlCQVJBLENBUUEsb0JBQW9CLENBQUM7SUFDbkIsU0FBUyxFQUFFLGdCQUFnQjtJQUMzQixLQUFLLEVBQUUsZUFBZSxHQUN2QjtFQVhKLEFBYUcsaUJBYkEsQ0FhQSxvQkFBb0IsQ0FBQyxhQUFhLENBQUM7SUFDakMsS0FBSyxFQUFFLGVBQWUsR0FDdkI7RUFmSixBQWlCRyxpQkFqQkEsQ0FpQkEscUJBQXFCLENBQUM7SUFDcEIsT0FBTyxFQUFFLGVBQWUsR0FDekI7RUFuQkosQUFxQkcsaUJBckJBLEFBcUJDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQztJQUMvQixLQUFLLEV2RDVJQSxJQUFJLEN1RDRJd0IsVUFBVSxHQUM1QztFQXZCSixBQXlCRyxpQkF6QkEsQUF5QkMsYUFBYSxDQUFDLGtCQUFrQixDQUFDO0lBQ2hDLEtBQUssRXZEeEdJLE9BQU8sQ3VEd0drQixVQUFVLEdBQzdDOztBcEQzRkwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VvRGdFdkIsQUFFRyxpQkFGQSxDQUVBLGtCQUFrQixBQUFBLFNBQVMsQ0FBQztJQUMxQixXQUFXLEVBQUUsQ0FBQztJQUNkLGNBQWMsRUFBRSxDQUFDLEdBQ2xCOztBcER4REwsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO0VvRG1EMUIsQUFRRyxpQkFSQSxDQVFBLG9CQUFvQixDQUFDO0lBQ25CLFNBQVMsRUFBRSxnQkFBZ0I7SUFDM0IsS0FBSyxFQUFFLGVBQWUsR0FDdkI7RUFYSixBQWFHLGlCQWJBLENBYUEsb0JBQW9CLENBQUMsYUFBYSxDQUFDO0lBQ2pDLEtBQUssRUFBRSxlQUFlLEdBQ3ZCO0VBZkosQUFpQkcsaUJBakJBLENBaUJBLHFCQUFxQixDQUFDO0lBQ3BCLE9BQU8sRUFBRSxlQUFlLEdBQ3pCO0VBbkJKLEFBcUJHLGlCQXJCQSxBQXFCQyxZQUFZLENBQUMsa0JBQWtCLENBQUM7SUFDL0IsS0FBSyxFdkQ1SUEsSUFBSSxDdUQ0SXdCLFVBQVUsR0FDNUM7RUF2QkosQUF5QkcsaUJBekJBLEFBeUJDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztJQUNoQyxLQUFLLEV2RHhHSSxPQUFPLEN1RHdHa0IsVUFBVSxHQUM3Qzs7QXBEM0ZMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFb0RnRXZCLEFBRUcsaUJBRkEsQ0FFQSxrQkFBa0IsQUFBQSxTQUFTLENBQUM7SUFDMUIsV0FBVyxFQUFFLENBQUM7SUFDZCxjQUFjLEVBQUUsQ0FBQyxHQUNsQjs7QXBEeERMLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFb0RtRDNCLEFBUUcsaUJBUkEsQ0FRQSxvQkFBb0IsQ0FBQztJQUNuQixTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCLEtBQUssRUFBRSxlQUFlLEdBQ3ZCO0VBWEosQUFhRyxpQkFiQSxDQWFBLG9CQUFvQixDQUFDLGFBQWEsQ0FBQztJQUNqQyxLQUFLLEVBQUUsZUFBZSxHQUN2QjtFQWZKLEFBaUJHLGlCQWpCQSxDQWlCQSxxQkFBcUIsQ0FBQztJQUNwQixPQUFPLEVBQUUsZUFBZSxHQUN6QjtFQW5CSixBQXFCRyxpQkFyQkEsQUFxQkMsWUFBWSxDQUFDLGtCQUFrQixDQUFDO0lBQy9CLEtBQUssRXZENUlBLElBQUksQ3VENEl3QixVQUFVLEdBQzVDO0VBdkJKLEFBeUJHLGlCQXpCQSxBQXlCQyxhQUFhLENBQUMsa0JBQWtCLENBQUM7SUFDaEMsS0FBSyxFdkR4R0ksT0FBTyxDdUR3R2tCLFVBQVUsR0FDN0M7O0FwRDNGTCxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RW9EMkQ3QixBQU9RLGNBUE0sQ0FPTixrQkFBa0IsQUFBQSxTQUFTLENBQUM7SUFDMUIsV0FBVyxFQUFFLENBQUM7SUFDZCxjQUFjLEVBQUUsQ0FBQyxHQUNsQjs7QUFWVCxBQWFRLGNBYk0sQ0FhTixvQkFBb0IsQ0FBQztFQUNuQixTQUFTLEVBQUUsZ0JBQWdCO0VBQzNCLEtBQUssRUFBRSxlQUFlLEdBQ3ZCOztBQWhCVCxBQWtCUSxjQWxCTSxDQWtCTixvQkFBb0IsQ0FBQyxhQUFhLENBQUM7RUFDakMsS0FBSyxFQUFFLGVBQWUsR0FDdkI7O0FBcEJULEFBc0JRLGNBdEJNLENBc0JOLHFCQUFxQixDQUFDO0VBQ3BCLE9BQU8sRUFBRSxlQUFlLEdBQ3pCOztBQXhCVCxBQTBCUSxjQTFCTSxBQTBCTCxZQUFZLENBQUMsa0JBQWtCLENBQUM7RUFDL0IsS0FBSyxFdkQ1SUEsSUFBSSxDdUQ0SXdCLFVBQVUsR0FDNUM7O0FBNUJULEFBOEJRLGNBOUJNLEFBOEJMLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztFQUNoQyxLQUFLLEV2RHhHSSxPQUFPLEN1RHdHa0IsVUFBVSxHQUM3Qzs7QUFTVCxBQUNFLGNBRFksQ0FDWixjQUFjLENBQUM7RUFDYixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUhILEFBS0UsY0FMWSxDQUtaLGdCQUFnQixDQUFDO0VBQ2YsT0FBTyxFQUFFLENBQUMsR0FDWDs7QUNwS0gsQUFBQSxLQUFLLENBQUM7RUFDSixlQUFlLEVBQUUsV0FBVztFQUM1QixVQUFVLEV4RDRZZSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0ExWXJCLHVCQUFPLEd3RERyQjs7QUFFRCxBQUFBLFVBQVUsQ0FBQztFQUNULE9BQU8sRUFBRSxZQUFZLEdBQ3RCOztBQVNELEFBQUEsWUFBWSxDQUFDO0VBQ1gsV0FBVyxFeEQ2R3FCLElBQUksR3dEeEdyQzs7QUFVRCxBQUFBLFlBQVk7QUFDWixZQUFZO0FBQ1osS0FBSyxDQUFDLEVBQUUsQ0FBQztFQUNQLFlBQVksRXhEL0JDLHNCQUFPLEd3RGdDckI7O0FBRUQsQUFBQSxLQUFLLENBQUMsZ0JBQWdCLENBQUM7RUFDckIsWUFBWSxFMUQ4RkYsT0FBbUMsRzBEN0Y5Qzs7QUFFRCxBQU1FLEtBTkcsQ0FBQyxhQUFhLElBQUcsQUFBQSxLQUFDLEVBQU8sTUFBTSxBQUFiLENBTXBCLFFBQVEsRUFOWCxLQUFLLENBQUMsYUFBYSxJQUFHLEFBQUEsS0FBQyxFQUFPLE1BQU0sQUFBYixDQU9wQixPQUFPO0FBTlYsS0FBSyxDQUFDLGFBQWEsSUFBRyxBQUFBLEtBQUMsRUFBTyxPQUFPLEFBQWQsQ0FLcEIsUUFBUTtBQUxYLEtBQUssQ0FBQyxhQUFhLElBQUcsQUFBQSxLQUFDLEVBQU8sT0FBTyxBQUFkLENBTXBCLE9BQU87QUFMVixLQUFLLENBQUMsYUFBYSxJQUFHLEFBQUEsS0FBQyxFQUFPLE1BQU0sQUFBYixDQUlwQixRQUFRO0FBSlgsS0FBSyxDQUFDLGFBQWEsSUFBRyxBQUFBLEtBQUMsRUFBTyxNQUFNLEFBQWIsQ0FLcEIsT0FBTztBQUpWLEtBQUssQ0FBQyxhQUFhLElBQUcsQUFBQSxLQUFDLEVBQU8sT0FBTyxBQUFkLENBR3BCLFFBQVE7QUFIWCxLQUFLLENBQUMsYUFBYSxJQUFHLEFBQUEsS0FBQyxFQUFPLE9BQU8sQUFBZCxDQUlwQixPQUFPO0FBSFYsS0FBSyxDQUFDLGFBQWEsSUFBRyxBQUFBLEtBQUMsRUFBTyxNQUFNLEFBQWIsQ0FFcEIsUUFBUTtBQUZYLEtBQUssQ0FBQyxhQUFhLElBQUcsQUFBQSxLQUFDLEVBQU8sTUFBTSxBQUFiLENBR3BCLE9BQU87QUFGVixLQUFLLENBQUMsYUFBYSxJQUFHLEFBQUEsS0FBQyxDQUFNLEtBQUssQUFBWCxDQUNwQixRQUFRO0FBRFgsS0FBSyxDQUFDLGFBQWEsSUFBRyxBQUFBLEtBQUMsQ0FBTSxLQUFLLEFBQVgsQ0FFcEIsT0FBTyxDQUFDO0VBQ1AsWUFBWSxFeEQ5Q0Qsc0JBQU8sR3dEK0NuQjs7QUFNSCxBQUFBLFlBQVksQUFBQSxjQUFjO0FBQzFCLFdBQVcsQUFBQSxjQUFjLENBQUM7RUFDeEIsT0FBTyxFQUFFLElBQUk7RUFFYixLQUFLLEVBQUUsSUFBSTtFQUVYLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFNBQVMsRUFBRSxJQUFJLEdBQ2hCOztBQUVELEFBQUEsWUFBWSxBQUFBLGNBQWMsQ0FBQztFQUN6QixXQUFXLEVBQUUsU0FBa0I7RUFDL0IsY0FBYyxFQUFFLFNBQWtCLEdBQ25DOztBQUVELEFBQUEscUJBQXFCO0FBQ3JCLG9CQUFvQixDQUFDO0VBQ25CLE9BQU8sRUFBRSxJQUFJO0VBRWIsV0FBVyxFQUFFLE1BQU07RUFDbkIsU0FBUyxFQUFFLElBQUksR0FXaEI7RUFoQkQsQUFPRSxxQkFQbUIsR0FBckIscUJBQXFCO0VBQXJCLHFCQUFxQixHQVFqQixDQUFDLEdBQUcsQ0FBQztFQVBULG9CQUFvQixHQURwQixxQkFBcUI7RUFDckIsb0JBQW9CLEdBT2hCLENBQUMsR0FBRyxDQUFDLEVBUlQscUJBQXFCO0VBQ3JCLG9CQUFvQjtFQUFwQixvQkFBb0I7RUFBcEIsb0JBQW9CLENBT1Y7SUFDTixXQUFXLEVBQUUsTUFBTSxHQU1wQjs7QUFHSCxBQUFBLGtCQUFrQixDQUFDO0VBQ2pCLE9BQU8sRUFBRSxTQUFvQixDQUFDLENBQUMsR0FDaEM7O0FBRUQsQUFBQSxxQkFBcUIsQ0FBQztFQUNwQixXQUFXLEVBQUUsTUFBTTtFQUNuQixjQUFjLEVBQUUsTUFBTSxHQUN2Qjs7QUFLRCxBQUFBLEtBQUssR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7RUFDbkMsYUFBYSxFeEQ4UlksTUFBTTtFd0Q3Ui9CLFlBQVksRXhENlJhLE1BQU0sR3dENVJoQzs7QUFLRCxBQUNFLGVBRGEsQ0FDYixZQUFZO0FBRGQsZUFBZSxDQUViLFlBQVk7QUFGZCxlQUFlLEdBR1gsV0FBVyxDQUFDLGdCQUFnQixDQUFDO0VBQzdCLGFBQWEsRXhEb1JVLElBQUk7RXdEblIzQixZQUFZLEV4RG1SVyxJQUFJLEd3RGxSNUI7O0FBTkgsQUFRRSxlQVJhLENBUWIsVUFBVTtBQVJaLGVBQWUsQ0FTYixpQkFBaUIsQ0FBQztFQUNoQixPQUFPLEV4RDhRZ0IsSUFBSSxHd0Q3UTVCOztBQU1ILEFBQUEsSUFBSSxBQUFBLElBQUssRUFBQSxBQUFBLEdBQUMsQ0FBRCxHQUFDLEFBQUEsR0FBVSxXQUFXLENBQUEsQUFBQSxLQUFDLEFBQUE7QUFDaEMsSUFBSSxDQUFBLEFBQUEsR0FBQyxDQUFELEdBQUMsQUFBQSxFQUFTLFdBQVcsQ0FBQSxBQUFBLEtBQUMsQUFBQSxFQUFPO0VBQy9CLFVBQVUsRUFBRSxPQUFPLEdBUXBCO0VBVkQsQUFJRSxJQUpFLEFBQUEsSUFBSyxFQUFBLEFBQUEsR0FBQyxDQUFELEdBQUMsQUFBQSxHQUFVLFdBQVcsQ0FBQSxBQUFBLEtBQUMsQUFBQSxDQUk3QixJQUFLLENwQm9IUSxNQUFNO0VvQnZIdEIsSUFBSSxDQUFBLEFBQUEsR0FBQyxDQUFELEdBQUMsQUFBQSxFQUFTLFdBQVcsQ0FBQSxBQUFBLEtBQUMsQUFBQSxDQUd2QixJQUFLLENwQm9IUSxNQUFNLEVvQnBITjtJQUNaLEtBQUssRXhEekZVLE9BQU8sQ3dEeUZILFVBQVU7SUFDN0IsWUFBWSxFQUFFLHNCQUFzQjtJQUNwQyxVQUFVLEVBQUUsc0JBQXNCO0lBQ2xDLFVBQVUsRUFBRSxlQUFlLEdBQzVCOztBQ3hJSCxBQUFBLGNBQWMsQ0FBQztFQUNiLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsVUFBVSxFQUFFLE1BQU07RUFDbEIsS0FBSyxFQUFFLE9BQU87RUFDZCxNQUFNLEVBQUUsT0FBTyxHQXFCaEI7RUExQkQsQUFPRSxjQVBZLEFBT1gsT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFFLEVBQUU7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsR0FBRztJQUNSLElBQUksRUFBRSxHQUFHO0lBQ1QsT0FBTyxFQUFFLEtBQUs7SUFDZCxVQUFVLEVBQUUsT0FBTztJQUNuQixXQUFXLEVBQUUsT0FBTztJQUNwQixLQUFLLEVBQUUsS0FBSztJQUNaLE1BQU0sRUFBRSxLQUFLO0lBQ2IsYUFBYSxFQUFFLFNBQVEsQ0FBQyxLQUFLLEN6RGJsQixxQkFBTztJeURjbEIsV0FBVyxFQUFFLFNBQVEsQ0FBQyxLQUFLLEN6RGRoQixxQkFBTztJeURlbEIsVUFBVSxFQUFFLE9BQU87SUFDbkIsU0FBUyxFQUFFLGNBQWMsR0FLMUI7S0FIQyxBQUFBLEFBQUEsYUFBQyxDQUFjLE1BQU0sQUFBcEIsRUF0QkwsY0FBYyxBQU9YLE9BQU8sQ0FlbUI7TUFDdkIsU0FBUyxFQUFFLGNBQWMsR0FDMUI7O0FBSUwsQUFBQSxVQUFVLENBQUMsS0FBSyxDQUFDO0VBQ2YsYUFBYSxFekQyRm1CLE9BQU0sQ3lEM0ZSLFVBQVU7RUFDeEMsTUFBTSxFekR3RjBCLEdBQUcsQ3lEeEZiLEtBQUssQ3pEMUJkLHNCQUFPLEN5RDBCc0IsVUFBVSxHQUtyRDtFQVBELEFBSUUsVUFKUSxDQUFDLEtBQUssQ0FJZCxZQUFZLEFBQUEsV0FBVyxDQUFDO0lBQ3RCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCOztBRWxDSCxBQUFBLE1BQU0sQUFBQSxNQUFNLENBQUM7RUFDWCxPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQ0ZELEFBQUEsWUFBWSxDQUFDO0VBQ1gsT0FBTyxFQUFFLFlBQVksR0FDdEI7O0FBR0QsQUFBQSxZQUFZLENBQUM7RUFDWCxLQUFLLEU1REhRLHdCQUFJLEc0RCtCbEI7RUE3QkQsQUFHRSxZQUhVLENBR1YsWUFBWSxDQUFDO0lBQ1gsS0FBSyxFNUROTSx3QkFBSSxHNERlaEI7SUFiSCxBeERRRSxZd0RSVSxDQUdWLFlBQVksQXhES1gsTUFBTSxFd0RSVCxZQUFZLENBR1YsWUFBWSxBeERNWCxNQUFNLENBQUM7TXdERkosS0FBSyxFNURUSSxJQUFJLEdJYWhCO0l3RFhILEFBVUksWUFWUSxDQUdWLFlBQVksQUFPVCxTQUFTLENBQUM7TUFDVCxLQUFLLEU1RGJJLHdCQUFJLEM0RGFzQixVQUFVLEdBQzlDO0VBWkwsQUFlRSxZQWZVLENBZVYsWUFBWSxDQUFDO0lBQ1gsS0FBSyxFNURsQk0sSUFBSSxHNERtQmhCO0VBakJILEFBbUJFLFlBbkJVLENBbUJWLEtBQUssR0FBRyxZQUFZO0VBbkJ0QixZQUFZLENBb0JWLE9BQU8sR0FBRyxZQUFZO0VBcEJ4QixZQUFZLENBcUJWLFlBQVksQUFBQSxLQUFLO0VBckJuQixZQUFZLENBc0JWLFlBQVksQUFBQSxPQUFPLENBQUM7SUFDbEIsS0FBSyxFNUR6Qk0sSUFBSSxHNEQwQmhCO0VBeEJILEFBMEJFLFlBMUJVLENBMEJWLEVBQUUsQ0FBQztJQUNELFlBQVksRTVENGpCeUIsd0JBQXVCLEc0RDNqQjdEOztBQUlILEFBQUEsYUFBYSxDQUFDO0VBQ1osS0FBSyxFNURsQ1EscUJBQU8sRzREOERyQjtFQTdCRCxBQUdFLGFBSFcsQ0FHWCxZQUFZLENBQUM7SUFDWCxLQUFLLEU1RHJDTSxxQkFBTyxHNEQ4Q25CO0lBYkgsQXhEeEJFLGF3RHdCVyxDQUdYLFlBQVksQXhEM0JYLE1BQU0sRXdEd0JULGFBQWEsQ0FHWCxZQUFZLEF4RDFCWCxNQUFNLENBQUM7TXdEOEJKLEtBQUssRTVERFEsT0FBTyxHSTNCdkI7SXdEcUJILEFBVUksYUFWUyxDQUdYLFlBQVksQUFPVCxTQUFTLENBQUM7TUFDVCxLQUFLLEU1RDVDSSxxQkFBTyxDNEQ0Q29CLFVBQVUsR0FDL0M7RUFaTCxBQWVFLGFBZlcsQ0FlWCxZQUFZLENBQUM7SUFDWCxLQUFLLEU1RFZVLE9BQU8sRzREV3ZCO0VBakJILEFBbUJFLGFBbkJXLENBbUJYLEtBQUssR0FBRyxZQUFZO0VBbkJ0QixhQUFhLENBb0JYLE9BQU8sR0FBRyxZQUFZO0VBcEJ4QixhQUFhLENBcUJYLFlBQVksQUFBQSxLQUFLO0VBckJuQixhQUFhLENBc0JYLFlBQVksQUFBQSxPQUFPLENBQUM7SUFDbEIsS0FBSyxFNURqQlUsT0FBTyxHNERrQnZCO0VBeEJILEFBMEJFLGFBMUJXLENBMEJYLEVBQUUsQ0FBQztJQUNELFlBQVksRTVEOGhCeUIsbUJBQWtCLEc0RDdoQnhEOztBQ3BFSCxBQUFBLFFBQVEsQ0FBQztFQUNQLE9BQU8sRUFBRSxJQUFJLEdBMEJkO0VBM0JELEFBR0UsUUFITSxDQUdOLFlBQVk7RUFIZCxRQUFRLENBSU4sV0FBVyxDQUFDO0lBQ1YsS0FBSyxFQUFFLGtCQUFrQixHQUMxQjtFQU5ILEFBUUUsUUFSTSxDQVFOLFdBQVcsQ0FBQztJQUNWLEtBQUssRUFBRSxpQkFBaUI7SUFDeEIsSUFBSSxFQUFFLGVBQWU7SUFDckIsVUFBVSxFQUFFLGVBQWUsR0FNNUI7RUFqQkgsQUFtQkUsUUFuQk0sQ0FtQk4sV0FBVyxBQUFBLE1BQU07RUFuQm5CLFFBQVEsQ0FvQk4sV0FBVyxBQUFBLE1BQU07RUFwQm5CLFFBQVEsQ0FxQk4sV0FBVyxBQUFBLGFBQWE7RUFyQjFCLFFBQVEsQ0FzQk4sV0FBVyxBQUFBLE1BQU0sR0FBRyxZQUFZO0VBdEJsQyxRQUFRLENBdUJOLFdBQVcsQUFBQSxNQUFNLEdBQUcsWUFBWTtFQXZCbEMsUUFBUSxDQXdCTixXQUFXLEFBQUEsYUFBYSxHQUFHLFlBQVksQ0FBQztJQUN0QyxLQUFLLEVBQUUsa0JBQWtCLEdBQzFCOztBQUdILEFBQUEsY0FBYyxDQUFDO0VBQ2IsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsVUFBVTtFQUN2QixlQUFlLEVBQUUsVUFBVTtFQUMzQixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FBRUQsQUFBQSxhQUFhO0FBQ2IsZUFBZTtBQUNmLGdCQUFnQjtBQUNoQixjQUFjLENBQUM7RUFDYixJQUFJLEVBQUUsUUFBUTtFQUNkLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsSUFBSSxHQUNqQjs7QUFFRCxBQUFBLGFBQWEsQ0FBQztFQUNaLFdBQVcsRUFBRSxVQUFVO0VBQ3ZCLGVBQWUsRUFBRSxVQUFVLEdBSzVCO0VBUEQsQUFJRSxhQUpXLEFBSVYsdUJBQXVCLENBQUM7SUFDdkIsVUFBVSxFQUFFLE1BQU0sQzdEc2lCbUIsSUFBRyxDNkR0aUJPLFdBQVcsR0FDM0Q7O0FBR0gsQUFBQSxhQUFhLENBQUMsYUFBYSxDQUFDO0VBQzFCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsSUFBSSxFQUFFLFFBQVEsR0FrQmY7RUFoQkMsQUFBQSxhQUFhLEFBQUEsT0FBTyxHQU50QixhQUFhLENBQUMsYUFBYSxDQU1BO0lBQ3ZCLFdBQVcsRTdESVUsR0FBRyxHNkRIekI7RUFFRCxBQUFBLGFBQWEsQUFBQSxTQUFTLENBVnhCLGFBQWEsQ0FBQyxhQUFhLENBVUE7SUFDdkIsTUFBTSxFQUFFLGtCQUFrQixHQUMzQjtFQUVELEFBQUEsUUFBUSxBQUFBLElBQUssQ0FBQSxxQkFBcUIsRUFkcEMsYUFBYSxDQUFDLGFBQWEsQ0FjYTtJQUNwQyxtQkFBbUIsRTdEbWhCa0IsSUFBRztJNkRsaEJ4QyxtQkFBbUIsRUFBRSx1QkFBdUIsR0FDN0M7RUFqQkgsQUFtQkcsYUFuQlUsQ0FBQyxhQUFhLEdBbUJ0QixJQUFLLENBQUEsYUFBYSxFQUFFO0lBQ3JCLElBQUksRUFBRSxRQUFRLEdBQ2Y7O0FBR0gsQUFBQSxlQUFlLEFBQUEsT0FBTyxDQUFDO0VBQ3JCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEdBQUc7RUFDUixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRTdEcUQyQixNQUFLO0U2RHBEckMsTUFBTSxFN0RvRDBCLE1BQUs7RTZEbkRyQyxNQUFNLEVBQUUsU0FBUztFQUNqQixVQUFVLEVBQUUsQ0FBQztFQUNiLFlBQVksRUFBRSxDQUFDO0VBQ2YsU0FBUyxFQUFFLGdCQUFnQixDQUFDLGFBQWEsR0FvQjFDO0VBWkMsQUFBQSxhQUFhLEFBQUEsS0FBSyxBQUFBLElBQUssQ0FBQSxxQkFBcUIsSUFsQjlDLGVBQWUsQUFBQSxPQUFPLENBa0I4QjtJQUNoRCxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsY0FBYyxHQUszQztFQUVELEFBQUEsUUFBUSxBQUFBLElBQUssQ0FwQ0EscUJBQXFCLEVBVXBDLGVBQWUsQUFBQSxPQUFPLENBMEJrQjtJQUNwQyxtQkFBbUIsRTdEK2VrQixJQUFHO0k2RDlleEMsbUJBQW1CLEVBQUUsNEJBQTRCLEdBQ2xEOztBQUdILEFBQUEsYUFBYSxDQUFDO0VBQ1osT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDLEdBU1g7RUFQQyxBQUFBLFFBQVEsQUFBQSxJQUFLLENBaERBLHFCQUFxQixFQTBDcEMsYUFBYSxDQU0yQjtJQUNwQyxVQUFVLEVBQUUsZ0JBQWdCLEM3RG1lUyxJQUFHLEc2RGxlekM7RUFFRCxBQUFBLGFBQWEsQUFBQSxLQUFLLEdBVnBCLGFBQWEsQ0FVWTtJQUNyQixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQWpETyxBQUFMLGFBQWtCLENBb0RUO0VBQ1osU0FBUyxFQUFFLENBQUM7RUFDWixXQUFXLEVBQUUsQ0FBQztFQUNkLFlBQVksRTdEc2QyQixPQUFNO0U2RHJkN0MsU0FBUyxFN0RvZDhCLElBQUksRzZEOWM1Qzs7QUFFRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2YsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsQ0FBQztFQUNULFVBQVUsRUFBRSxTQUFTLEdBQ3RCOztBQUtELEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsUUFBUSxFQUFFLE1BQU07RUFDaEIsY0FBYyxFQUFFLE1BQU0sR0F3R3ZCO0VBMUdELEFBSUUsaUJBSmUsQUFJZCxJQUFLLENBbEZPLHFCQUFxQixFQWtGTDtJQUMzQixVQUFVLEVBQUUsS0FBSyxDN0RpY29CLElBQUcsRzZEaGN6QztFQU5ILEFBUUUsaUJBUmU7RUFBakIsaUJBQWlCLENBU2YsY0FBYztFQVRoQixpQkFBaUIsQ0FVZixjQUFjLEdBQUcsYUFBYTtFQVZoQyxpQkFBaUIsQ0FXZixjQUFjLEdBQUcsZUFBZSxDQUFDO0lBQy9CLEtBQUssRTdEbWFnQyxTQUFTLEc2RGxhL0M7RUFiSCxBQWVFLGlCQWZlLENBZWYsY0FBYyxDQUFDO0lBQ2IsY0FBYyxFQUFFLE1BQU07SUFDdEIsSUFBSSxFQUFFLFFBQVEsR0FLZjtJQXRCSCxBQW1CSyxpQkFuQlksQ0FlZixjQUFjLEdBSVQsYUFBYSxDQUFDO01BQ2YsTUFBTSxFN0Q4WjZCLFNBQVEsQzZEOVpkLENBQUMsR0FDL0I7RUFyQkwsQUF3QkUsaUJBeEJlLENBd0JmLGFBQWEsQ0FBQyxhQUFhO0VBeEI3QixpQkFBaUIsQ0F5QmYsZUFBZTtFQXpCakIsaUJBQWlCLENBMEJmLGNBQWMsQ0FBQztJQUNiLE9BQU8sRTdEeVo4QixPQUFNLENBQ04sSUFBSSxHNkR6WjFDO0VBNUJILEFBOEJFLGlCQTlCZSxDQThCZixnQkFBZ0IsQ0FBQztJQUNmLFVBQVUsRTdEcVoyQixPQUFNO0k2RHBaM0MsYUFBYSxFN0RvWndCLE9BQU07STZEblozQyxPQUFPLEVBQUUsQ0FBQyxHQUNYO0VBbENILEFBb0NFLGlCQXBDZSxDQW9DZixhQUFhLENBQUMsZUFBZSxDQUFDO0lBQzVCLGFBQWEsRUFBRSxtQkFBK0QsR0FlL0U7SUFwREgsQUE0Q0ksaUJBNUNhLENBb0NmLGFBQWEsQ0FBQyxlQUFlLEFBUTFCLE9BQU8sQ0FBQztNQUNQLEtBQUssRTdEd1k4QixJQUFJLEc2RGxZeEM7RUFuREwsQUFzREUsaUJBdERlLENBc0RmLGFBQWEsQ0FBQztJQUNaLFdBQVcsRTdEK1gwQixRQUFPO0k2RDlYNUMsY0FBYyxFN0Q4WHVCLFFBQU8sRzZEeFg3QztJQTlESCxBQTBESSxpQkExRGEsQ0FzRGYsYUFBYSxDQUlYLGFBQWEsQ0FBQztNQUNaLFdBQVcsRTdEMlh3QixRQUFPO002RDFYMUMsY0FBYyxFN0QwWHFCLFFBQU8sRzZEelgzQztFQTdETCxBQWdFRSxpQkFoRWUsQ0FnRWYsYUFBYSxDQUFDO0lBQ1osS0FBSyxFN0RpWWdDLE9BQU8sRzZEaFk3QztFQWxFSCxBQW9FRSxpQkFwRWUsQ0FvRWYsYUFBYSxDQUFDLGFBQWEsQ0FBQztJQUMxQixZQUFZLEVBQUUsQ0FBQyxHQUtoQjtFQTFFSCxBQTBESSxpQkExRGEsQ0FzRGYsYUFBYSxDQUlYLGFBQWEsQ0F1QmE7SUFDMUIsWUFBWSxFQUhlLElBQStGLEdBUzNIO0VBeEZILEFBaUdJLGlCQWpHYSxDQWlHWixhQUFhLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBZjtJQUN6QixZQUFZLEVBQUUsSUFBOEUsR0FNN0Y7RUF4R0wsQUFpR0ksaUJBakdhLENBaUdaLGFBQWEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBN0I7SUFDekIsWUFBWSxFQUFFLElBQThFLEdBTTdGO0VBeEdMLEFBaUdJLGlCQWpHYSxDQWlHWixhQUFhLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUEzQztJQUN6QixZQUFZLEVBQUUsSUFBOEUsR0FNN0Y7RUF4R0wsQUFpR0ksaUJBakdhLENBaUdaLGFBQWEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUF6RDtJQUN6QixZQUFZLEVBQUUsSUFBOEUsR0FNN0Y7O0FBUUwsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixjQUFjLEVBQUUsR0FBRztFQUNuQixLQUFLLEVBQUUsSUFBSSxHQTRGWjtFQTlGRCxBQUlFLG1CQUppQixDQUlqQixjQUFjLENBQUM7SUFDYixRQUFRLEVBQUUsTUFBTTtJQUNoQixjQUFjLEVBQUUsR0FBRztJQUNuQixJQUFJLEVBQUUsUUFBUSxHQUNmO0VBUkgsQUFVRSxtQkFWaUIsQ0FVakIsYUFBYSxDQUFDLGFBQWEsQ0FBQztJQUMxQixPQUFPLEU3RDhUOEIsSUFBSSxDQUNKLElBQUksRzZEOVQxQztFQVpILEFBY0UsbUJBZGlCLENBY2pCLGFBQWEsQ0FBQyxlQUFlLENBQUM7SUFDNUIsYUFBYSxFQUFFLG1CQUFpRSxHQWdCakY7SUEvQkgsQUFzQkksbUJBdEJlLENBY2pCLGFBQWEsQ0FBQyxlQUFlLEFBUTFCLE9BQU8sQ0FBQztNQUNQLEtBQUssRTdEbVQ4QixJQUFJLEc2RDVTeEM7RUE5QkwsQUFpQ0UsbUJBakNpQixDQWlDakIsY0FBYyxHQUFHLGFBQWEsR0FBRyxlQUFlLEFBQUEsT0FBTyxDQUFDO0lBQ3RELFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxjQUFjLEdBSzNDO0VBdkNILEFBeUNFLG1CQXpDaUIsQ0F5Q2pCLGNBQWMsR0FBRyxhQUFhLEFBQUEsSUFBSyxDQTNNWixxQkFBcUIsQ0EyTWEsS0FBSyxHQUFHLGVBQWUsQUFBQSxPQUFPLENBQUM7SUFDdEYsU0FBUyxFQUFFLGdCQUFnQixDQUFDLGNBQWMsR0FLM0M7RUEvQ0gsQUFpREUsbUJBakRpQixDQWlEakIsZUFBZTtFQWpEakIsbUJBQW1CLENBa0RqQixnQkFBZ0IsQ0FBQztJQUNmLE9BQU8sRUFBRSxlQUFlLEdBQ3pCO0VBcERILEFBc0RFLG1CQXREaUIsQ0FzRGpCLGFBQWEsQ0FBQztJQUNaLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRTdEc1JnQyxPQUFPLEc2RDNRN0M7SUFuRUgsQUEwREksbUJBMURlLENBc0RqQixhQUFhLENBSVgsYUFBYSxDQUFDO01BQ1osUUFBUSxFQUFFLE1BQU07TUFDaEIsS0FBSyxFQUFFLElBQUksR0FDWjtJQTdETCxBQStESSxtQkEvRGUsQ0FzRGpCLGFBQWEsQ0FTWCxhQUFhLENBQUM7TUFDWixXQUFXLEU3RDJRd0IsUUFBTztNNkQxUTFDLGNBQWMsRTdEMFFxQixRQUFPLEc2RHpRM0M7RUFsRUwsQUFxRUUsbUJBckVpQixDQXFFakIsY0FBYyxHQUFHLGFBQWEsR0FBRyxhQUFhLENBQUM7SXBDbFQ3QywwQkFBMEIsRXpCbUdJLE9BQU07SXlCbEdwQyx5QkFBeUIsRXpCa0dLLE9BQU0sRzZEaU5yQztFQXZFSCxBQXlFRSxtQkF6RWlCLEFBeUVoQixJQUFLLENBdlFPLHFCQUFxQixFQXVRTCxjQUFjLEdBQUcsYUFBYSxBQUFBLEtBQUssR0FBRyxhQUFhLENBQUM7SUFDL0UsU0FBUyxFQUFFLG1CQUFtQixDN0Q0UU8sSUFBRyxDNkQ1UW1CLFdBQVcsR0FDdkU7RUEzRUgsQUFxRkksbUJBckZlLENBcUZkLGFBQWEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFmO0lBQ3pCLFlBQVksRUFBRSxJQUEwQyxHQU16RDtFQTVGTCxBQXFGSSxtQkFyRmUsQ0FxRmQsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUE3QjtJQUN6QixZQUFZLEVBQUUsSUFBMEMsR0FNekQ7RUE1RkwsQUFxRkksbUJBckZlLENBcUZkLGFBQWEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQTNDO0lBQ3pCLFlBQVksRUFBRSxJQUEwQyxHQU16RDtFQTVGTCxBQXFGSSxtQkFyRmUsQ0FxRmQsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQXpEO0lBQ3pCLFlBQVksRUFBRSxJQUEwQyxHQU16RDs7QUFJTCxBQUFBLDJCQUEyQixDQUFDO0VBQzFCLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLElBQUksRUFBRSxRQUFRO0VBQ2QsS0FBSyxFQUFFLENBQUMsR0FLVDtFQUhDLEFBQUEsUUFBUSxBQUFBLElBQUssQ0FuU0EscUJBQXFCLEVBOFJwQywyQkFBMkIsQ0FLYSxjQUFjLENBQUM7SUFDbkQsVUFBVSxFQUFFLE1BQU0sQzdEZ1BtQixJQUFHLEc2RC9PekM7O0FBR0gsQUFBQSx3QkFBd0I7QUFDeEIsd0JBQXdCLENBQUM7RUFDdkIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxJQUFJLEVBQUUsUUFBUTtFQUNkLEtBQUssRTdEZ09rQyxPQUFPLEc2RC9NL0M7RUF0QkQsQUFPRSx3QkFQc0IsQUFPckIsT0FBTztFQU5WLHdCQUF3QixBQU1yQixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsRUFBRTtJQUNYLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsSUFBSSxFQUFFLEdBQUc7SUFDVCxPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRTdEeU5nQyxNQUFLO0k2RHhOMUMsTUFBTSxFN0R3TitCLE1BQUs7STZEdk4xQyxNQUFNLEVBQUUsU0FBUztJQUNqQixVQUFVLEVBQUUsQ0FBQyxHQUNkO0VBakJILEFBbUJFLHdCQW5Cc0IsQUFtQnJCLFNBQVM7RUFsQlosd0JBQXdCLEFBa0JyQixTQUFTLENBQUM7SUFDVCxNQUFNLEVBQUUsa0JBQWtCLEdBQzNCOztBQUdILEFBQUEsd0JBQXdCLEFBQUEsT0FBTyxDQUFDO0VBQzlCLFlBQVksRUFBRSxDQUFDO0VBQ2YsU0FBUyxFQUFFLHFCQUFxQixDQUFDLGFBQWEsR0FLL0M7O0FBRUQsQUFBQSx3QkFBd0IsQUFBQSxPQUFPLENBQUM7RUFDOUIsV0FBVyxFQUFFLENBQUM7RUFDZCxTQUFTLEVBQUUscUJBQXFCLENBQUMsY0FBYyxHQUtoRDs7QTVCeldDLGtCQUFrQixDQUFsQixtQkFBa0I7RTRCNFdsQixFQUFFO0lBQ0EsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsbUJBQWtCO0VBRS9CLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBQztJQUNWLFNBQVMsRUFBRSxhQUFhOztBNUIvVzFCLGVBQWUsQ0FBZixtQkFBZTtFNEJ5V2YsRUFBRTtJQUNBLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLG1CQUFrQjtFQUUvQixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsYUFBYTs7QTVCNVcxQixVQUFVLENBQVYsbUJBQVU7RTRCc1dWLEVBQUU7SUFDQSxPQUFPLEVBQUUsQ0FBQztJQUNWLFNBQVMsRUFBRSxtQkFBa0I7RUFFL0IsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLGFBQWE7O0FBTzVCLEFBQUEsYUFBYSxDQUFDO0VBQ1osS0FBSyxFN0RsYVEsd0JBQUksRzZEa2VsQjtFQWpFRCxBQUdFLGFBSFcsQ0FHWCxhQUFhO0VBSGYsYUFBYSxDQUlYLHdCQUF3QjtFQUoxQixhQUFhLENBS1gsd0JBQXdCLENBQUM7SUFDdkIsS0FBSyxFN0R2YU0sd0JBQUksRzZEZ2JoQjtJQWZILEF6RHZaRSxheUR1WlcsQ0FHWCxhQUFhLEF6RDFaWixNQUFNLEV5RHVaVCxhQUFhLENBR1gsYUFBYSxBekR6WlosTUFBTTtJeURzWlQsYUFBYSxDQUlYLHdCQUF3QixBekQzWnZCLE1BQU07SXlEdVpULGFBQWEsQ0FJWCx3QkFBd0IsQXpEMVp2QixNQUFNO0l5RHNaVCxhQUFhLENBS1gsd0JBQXdCLEF6RDVadkIsTUFBTTtJeUR1WlQsYUFBYSxDQUtYLHdCQUF3QixBekQzWnZCLE1BQU0sQ0FBQztNeUQrWkosS0FBSyxFN0QxYUksSUFBSSxHSWFoQjtJeURvWkgsQUFZSSxhQVpTLENBR1gsYUFBYSxBQVNWLE9BQU87SUFaWixhQUFhLENBSVgsd0JBQXdCLEFBUXJCLE9BQU87SUFaWixhQUFhLENBS1gsd0JBQXdCLEFBT3JCLE9BQU8sQ0FBQztNQUNQLEtBQUssRTdEOWFJLElBQUksRzZEK2FkO0VBZEwsQUFpQkUsYUFqQlcsQ0FpQlgsYUFBYSxBQUFBLFNBQVMsQ0FBQyxhQUFhLENBQUM7SUFDbkMsS0FBSyxFN0RuYk0sd0JBQUksQzZEbWJvQixVQUFVLEdBQzlDO0VBbkJILEFBcUJFLGFBckJXLENBcUJYLGFBQWEsQUFBQSxLQUFLLEFBQUEsSUFBSyxDQXpWQSxxQkFBcUIsSUF5VkksZUFBZTtFQXJCakUsYUFBYSxDQXNCWCxhQUFhLEFBQUEsT0FBTyxHQUFHLGFBQWEsQ0FBQztJQUNuQyxLQUFLLEU3RHhiTSxJQUFJLEc2RHliaEI7RUF4QkgsQUEwQkUsYUExQlcsQ0EwQlgsYUFBYSxBQUFBLE9BQU8sR0FBRyxhQUFhLEFBQUEsSUFBSyxDQUFBLGVBQWUsRUFBRTtJQUN4RCxVQUFVLEU3RDhKMkIsbUJBQWtCLEc2RDdKeEQ7RUE1QkgsQUE4QkUsYUE5QlcsQ0E4QlgsY0FBYyxHQUFHLGFBQWEsQUFBQSxxQkFBcUIsQ0FBQyxhQUFhLEFBQUEsS0FBSyxDQUFDLGFBQWE7RUE5QnRGLGFBQWEsQ0ErQlgsY0FBYyxHQUFHLGFBQWEsQUFBQSxxQkFBcUIsQ0FBQyxhQUFhLEFBQUEsS0FBSyxDQUFDLGVBQWUsQ0FBQztJQUNyRixLQUFLLEU3RGpjTSx3QkFBSSxHNkRrY2hCO0VBakNILEFBbUNFLGFBbkNXLENBbUNYLGFBQWEsQ0FBQztJQUNaLEtBQUssRTdEcmNNLElBQUksRzZEc2NoQjtFQXJDSCxBQXVDRSxhQXZDVyxDQXVDWCxlQUFlLENBQUM7SUFDZCxLQUFLLEU3RHpjTSx3QkFBSSxHNkQwY2hCO0VBekNILEFBMkNFLGFBM0NXLENBMkNYLEVBQUU7RUEzQ0osYUFBYSxDQTRDWCxnQkFBZ0I7RUE1Q2xCLGFBQWEsQ0E2Q1gsY0FBYyxHQUFHLGFBQWEsQUFBQSxLQUFLLEdBQUcsYUFBYSxBQUFBLFFBQVEsQ0FBQztJQUMxRCxZQUFZLEU3RDBJeUIsd0JBQXVCLEM2RDFJbkIsVUFBVSxHQUNwRDtFQS9DSCxBQWlERSxhQWpEVyxDQWlEWCxjQUFjLEdBQUcsZUFBZSxBQUFBLFFBQVE7RUFqRDFDLGFBQWEsQ0FrRFgsY0FBYyxBQUFBLFFBQVEsQ0FBQztJQUNyQixnQkFBZ0IsRTdEcGRMLHdCQUFJLEc2RHFkaEI7RUFwREgsQUFzREUsYUF0RFcsQ0FzRFgsY0FBYyxHQUFHLGFBQWEsQUFBQSxLQUFLLENBQUMsYUFBYSxBQUFBLEtBQUssR0FBRyxlQUFlLEFBQUEsUUFBUSxDQUFDO0lBQy9FLGdCQUFnQixFN0RpSXFCLHdCQUF1QixHNkRoSTdEO0VBeERILEFBMERFLGFBMURXLENBMERYLGNBQWMsR0FBRyxhQUFhLEFBQUEsS0FBSyxDQUFDLGFBQWEsQUFBQSxPQUFPLEdBQUcsYUFBYSxBQUFBLFFBQVEsQ0FBQztJQUMvRSxnQkFBZ0IsRTdENWRMLElBQUksRzZENmRoQjtFQTVESCxBQThERSxhQTlEVyxDQThEWCxZQUFZLENBQUM7SUFDWCxVQUFVLEU3RGhlQyx3QkFBSSxDNkRnZWdCLFVBQVUsR0FDMUM7O0FBR0gsQUFBQSxjQUFjLENBQUM7RUFDYixLQUFLLEU3RHBlUSxxQkFBTyxHNkRvaUJyQjtFQWpFRCxBQUdFLGNBSFksQ0FHWixhQUFhO0VBSGYsY0FBYyxDQUlaLHdCQUF3QjtFQUoxQixjQUFjLENBS1osd0JBQXdCLENBQUM7SUFDdkIsS0FBSyxFN0R6ZU0scUJBQU8sRzZEa2ZuQjtJQWZILEF6RDFkRSxjeUQwZFksQ0FHWixhQUFhLEF6RDdkWixNQUFNLEV5RDBkVCxjQUFjLENBR1osYUFBYSxBekQ1ZFosTUFBTTtJeUR5ZFQsY0FBYyxDQUlaLHdCQUF3QixBekQ5ZHZCLE1BQU07SXlEMGRULGNBQWMsQ0FJWix3QkFBd0IsQXpEN2R2QixNQUFNO0l5RHlkVCxjQUFjLENBS1osd0JBQXdCLEF6RC9kdkIsTUFBTTtJeUQwZFQsY0FBYyxDQUtaLHdCQUF3QixBekQ5ZHZCLE1BQU0sQ0FBQztNeURrZUosS0FBSyxFN0RyY1EsT0FBTyxHSTNCdkI7SXlEdWRILEFBWUksY0FaVSxDQUdaLGFBQWEsQUFTVixPQUFPO0lBWlosY0FBYyxDQUlaLHdCQUF3QixBQVFyQixPQUFPO0lBWlosY0FBYyxDQUtaLHdCQUF3QixBQU9yQixPQUFPLENBQUM7TUFDUCxLQUFLLEU3RHpjUSxPQUFPLEc2RDBjckI7RUFkTCxBQWlCRSxjQWpCWSxDQWlCWixhQUFhLEFBQUEsU0FBUyxDQUFDLGFBQWEsQ0FBQztJQUNuQyxLQUFLLEU3RHJmTSxxQkFBTyxDNkRxZmtCLFVBQVUsR0FDL0M7RUFuQkgsQUFxQkUsY0FyQlksQ0FxQlosYUFBYSxBQUFBLEtBQUssQUFBQSxJQUFLLENBNVpBLHFCQUFxQixJQTRaSSxlQUFlO0VBckJqRSxjQUFjLENBc0JaLGFBQWEsQUFBQSxPQUFPLEdBQUcsYUFBYSxDQUFDO0lBQ25DLEtBQUssRTdEbmRVLE9BQU8sRzZEb2R2QjtFQXhCSCxBQTBCRSxjQTFCWSxDQTBCWixhQUFhLEFBQUEsT0FBTyxHQUFHLGFBQWEsQUFBQSxJQUFLLENBbkVBLGVBQWUsRUFtRUU7SUFDeEQsVUFBVSxFN0Q2RjJCLG1CQUFrQixHNkQ1RnhEO0VBNUJILEFBOEJFLGNBOUJZLENBOEJaLGNBQWMsR0FBRyxhQUFhLEFBQUEscUJBQXFCLENBQUMsYUFBYSxBQUFBLEtBQUssQ0FBQyxhQUFhO0VBOUJ0RixjQUFjLENBK0JaLGNBQWMsR0FBRyxhQUFhLEFBQUEscUJBQXFCLENBQUMsYUFBYSxBQUFBLEtBQUssQ0FBQyxlQUFlLENBQUM7SUFDckYsS0FBSyxFN0RuZ0JNLHFCQUFPLEc2RG9nQm5CO0VBakNILEFBbUNFLGNBbkNZLENBbUNaLGFBQWEsQ0FBQztJQUNaLEtBQUssRTdEaGVVLE9BQU8sRzZEaWV2QjtFQXJDSCxBQXVDRSxjQXZDWSxDQXVDWixlQUFlLENBQUM7SUFDZCxLQUFLLEU3RDNnQk0scUJBQU8sRzZENGdCbkI7RUF6Q0gsQUEyQ0UsY0EzQ1ksQ0EyQ1osRUFBRTtFQTNDSixjQUFjLENBNENaLGdCQUFnQjtFQTVDbEIsY0FBYyxDQTZDWixjQUFjLEdBQUcsYUFBYSxBQUFBLEtBQUssR0FBRyxhQUFhLEFBQUEsUUFBUSxDQUFDO0lBQzFELFlBQVksRTdEeUV5QixtQkFBa0IsQzZEekViLFVBQVUsR0FDckQ7RUEvQ0gsQUFpREUsY0FqRFksQ0FpRFosY0FBYyxHQUFHLGVBQWUsQUFBQSxRQUFRO0VBakQxQyxjQUFjLENBa0RaLGNBQWMsQUFBQSxRQUFRLENBQUM7SUFDckIsZ0JBQWdCLEU3RHRoQkwscUJBQU8sRzZEdWhCbkI7RUFwREgsQUFzREUsY0F0RFksQ0FzRFosY0FBYyxHQUFHLGFBQWEsQUFBQSxLQUFLLENBQUMsYUFBYSxBQUFBLEtBQUssR0FBRyxlQUFlLEFBQUEsUUFBUSxDQUFDO0lBQy9FLGdCQUFnQixFN0RnRXFCLG1CQUFrQixHNkQvRHhEO0VBeERILEFBMERFLGNBMURZLENBMERaLGNBQWMsR0FBRyxhQUFhLEFBQUEsS0FBSyxDQUFDLGFBQWEsQUFBQSxPQUFPLEdBQUcsYUFBYSxBQUFBLFFBQVEsQ0FBQztJQUMvRSxnQkFBZ0IsRTdEdmZELE9BQU8sRzZEd2Z2QjtFQTVESCxBQThERSxjQTlEWSxDQThEWixZQUFZLENBQUM7SUFDWCxVQUFVLEU3RGxpQkMscUJBQU8sQzZEa2lCYyxVQUFVLEdBQzNDOztBQTZJSCxBQUFBLGtCQUFrQixBQUFBLElBQUssQ3pCN2JQLE1BQU0sRXlCNmJTO0VBdEk3QixLQUFLLEU3RG9Ca0MsUUFBUSxHNkR3SGhEO0VBTkQsQUFwSUUsa0JBb0lnQixBQUFBLElBQUssQ3pCN2JQLE1BQU0sRXlCeVRwQixjQUFjLEdBQUcsYUFBYSxDQUFDO0lBQzdCLEtBQUssRUFBRSxRQUE2RyxHQUNySDtFQWtJSCxBQWhJRSxrQkFnSWdCLEFBQUEsSUFBSyxDekI3YlAsTUFBTSxFeUI2VHBCLGNBQWMsR0FBRyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQzdDLFlBQVksRTdEYXlCLFFBQVEsRzZEWjlDO0VBOEhILEFBNUhFLGtCQTRIZ0IsQUFBQSxJQUFLLEN6QjdiUCxNQUFNLEV5QmlVcEIsY0FBYyxHQUFHLGVBQWU7RUE0SGxDLGtCQUFrQixBQUFBLElBQUssQ3pCN2JQLE1BQU0sRXlCa1VwQixjQUFjLENBQUM7SUFDYixRQUFRLEVBQUUsUUFBUTtJQUNsQixXQUFXLEU3RE8wQixRQUFRO0k2RE43QyxhQUFhLEVBQUUsT0FBc0U7SUFDckYsWUFBWSxFN0R5QnlCLE9BQU07STZEeEIzQyxLQUFLLEU3REdnQyxTQUFTLEc2RFEvQztJQTJHSCxBQXBISSxrQkFvSGMsQUFBQSxJQUFLLEN6QjdiUCxNQUFNLEV5QmlVcEIsY0FBYyxHQUFHLGVBQWUsQUFRN0IsUUFBUTtJQW9IYixrQkFBa0IsQUFBQSxJQUFLLEN6QjdiUCxNQUFNLEV5QmtVcEIsY0FBYyxBQU9YLFFBQVEsQ0FBQztNQUNSLE9BQU8sRUFBRSxFQUFFO01BQ1gsUUFBUSxFQUFFLFFBQVE7TUFDbEIsR0FBRyxFN0RHZ0MsT0FBTTtNNkRGekMsTUFBTSxFN0RFNkIsT0FBTTtNNkREekMsSUFBSSxFQUFFLFdBQXFDO01BQzNDLE9BQU8sRUFBRSxLQUFLO01BQ2QsS0FBSyxFQUFFLFNBQTRCLEdBQ3BDO0VBNEdMLEFBekdFLGtCQXlHZ0IsQUFBQSxJQUFLLEN6QjdiUCxNQUFNLEV5Qm9WcEIsY0FBYyxHQUFHLGFBQWEsR0FBRyxhQUFhO0VBeUdoRCxrQkFBa0IsQUFBQSxJQUFLLEN6QjdiUCxNQUFNLEV5QnFWcEIsY0FBYyxHQUFHLGFBQWEsQUFBQSxLQUFLLEdBQUcsYUFBYSxDQUFDO0lBQ2xELFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFdBQVcsRUFBRSxRQUEwRjtJQUN2RyxVQUFVLEVBQUUsZUFBZSxHQU01QjtJQStGSCxBQW5HSSxrQkFtR2MsQUFBQSxJQUFLLEN6QjdiUCxNQUFNLEV5Qm9WcEIsY0FBYyxHQUFHLGFBQWEsR0FBRyxhQUFhLENBTTVDLGFBQWE7SUFtR2pCLGtCQUFrQixBQUFBLElBQUssQ3pCN2JQLE1BQU0sRXlCcVZwQixjQUFjLEdBQUcsYUFBYSxBQUFBLEtBQUssR0FBRyxhQUFhLENBS2pELGFBQWEsQ0FBQztNQUNaLFVBQVUsRUFBRSxlQUFlO01BQzNCLFVBQVUsRUFBRSxlQUFlLEdBQzVCO0VBZ0dMLEFBNUZJLGtCQTRGYyxBQUFBLElBQUssQ3pCN2JQLE1BQU0sRXlCZ1dwQixjQUFjLEdBQUcsYUFBYSxBQUFBLEtBQUssR0FBRyxhQUFhLEFBQ2hELFFBQVEsQ0FBQztJQUNSLE9BQU8sRUFBRSxFQUFFO0lBQ1gsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLENBQUM7SUFDTixNQUFNLEVBQUUsQ0FBQztJQUNULElBQUksRUFBRSxxQkFBMkM7SUFDakQsT0FBTyxFQUFFLEtBQUs7SUFDZCxXQUFXLEVBQUksU0FBMEY7SUFDekcsS0FBSyxFQUFFLENBQUM7SUFDUixXQUFXLEVBQUUsU0FBUyxHQUN2QjtFQWtGTCxBQTdFSSxrQkE2RWMsQUFBQSxJQUFLLEN6QjdiUCxNQUFNLEV5QjhXcEIsY0FBYyxHQUFHLGFBQWEsQUFBQSxLQUFLLENBQUMsYUFBYSxBQUFBLEtBQUssR0FBRyxlQUFlLEFBRXJFLFFBQVE7RUE2RWIsa0JBQWtCLEFBQUEsSUFBSyxDekI3YlAsTUFBTSxFeUIrV3BCLGNBQWMsR0FBRyxhQUFhLEFBQUEsS0FBSyxDQUFDLGFBQWEsQUFBQSxPQUFPLEdBQUcsYUFBYSxBQUNyRSxRQUFRLENBQUM7SUFDUixPQUFPLEVBQUUsRUFBRTtJQUNYLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsSUFBSSxFQUFFLENBQUM7SUFDUCxPQUFPLEVBQUUsS0FBSztJQUNkLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFdBQVcsRUFBRSxxQkFBNEk7SUFDekosS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsR0FBRztJQUNYLGFBQWEsRUFBRSxHQUFHLEdBQ25CO0VBa0VMLEFBL0RFLGtCQStEZ0IsQUFBQSxJQUFLLEN6QjdiUCxNQUFNLEV5QjhYcEIsY0FBYyxHQUFHLGFBQWEsR0FBRyxlQUFlLEFBQUEsT0FBTyxDQUFDO0lBQ3RELEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLE1BQWdFLEdBQ3ZFO0VBNERILEFBMURFLGtCQTBEZ0IsQUFBQSxJQUFLLEN6QjdiUCxNQUFNLEV5Qm1ZcEIsY0FBYyxHQUFHLGFBQWEsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDO0lBQzNELFdBQVcsRTdEekQwQixTQUFRO0k2RDBEN0MsS0FBSyxFN0QxRGdDLFFBQVE7STZEMkQ3QyxVQUFVLEVBQUUsTUFBTSxHQUNuQjs7QUM5bkJILEFBQUEsZUFBZTtBQUNmLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE9BQU87RUFDcEIsSUFBSSxFQUFFLFFBQVE7RUFDZCxLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUVELEFBQUEsZUFBZSxDQUFDO0VBQ2QsUUFBUSxFQUFFLE1BQU0sR0FDakI7O0FBRUQsQUFBQSxhQUFhLENBQUM7RUFDWixVQUFVLEVBQUUsS0FBSyxHQUNsQjs7QUFFRCxBQUFBLGlCQUFpQjtBQUNqQixlQUFlO0FBQ2YsZUFBZSxHQUFHLENBQUM7QUFDbkIsZUFBZSxDQUFDO0VBQ2QsVUFBVSxFQUFFLEdBQUcsR0FDaEI7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxPQUFPO0VBQ3BCLElBQUksRUFBRSxRQUFRO0VBQ2QsT0FBTyxFQUFFLENBQUMsR0FNWDtFQUpDLEFBQUEsdUJBQXVCLENBTnpCLGlCQUFpQixDQU1XO0lBQ3hCLGFBQWEsRUFBRSxZQUFZO0lBQzNCLFlBQVksRUFBRSxZQUFZLEdBQzNCOztBQUdILEFBQUEsZUFBZSxDQUFDO0VBQ2QsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsT0FBTztFQUNwQixJQUFJLEVBQUUsUUFBUTtFQUNkLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLGVBQWUsRUFBRSxhQUFhLEdBQy9COztBQUVELEFBQUEsY0FBYztBQUNkLGNBQWMsQ0FBQztFQUNiLElBQUksRUFBRSxRQUFRLEdBQ2Y7O0FBRUQsQUFBQSxjQUFjLENBQUM7RUFDYixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsQ0FBQyxHQUtYO0VBUEQsQUFJRSxjQUpZLENBSVosT0FBTyxDQUFDO0lBQ04sU0FBUyxFQUFFLG9CQUFvQixHQUNoQzs7QUFHSCxBQUFBLGVBQWUsQ0FBQztFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxRQUFRLEdBU2Y7RUFYRCxBQUlFLGVBSmEsQ0FJYixRQUFRLENBQUM7SUFDUCxTQUFTLEVBQUUsb0JBQW9CLEdBQ2hDO0VBTkgsQUFRRSxlQVJhLENBUWIsaUJBQWlCLENBQUM7SUFDaEIsTUFBTSxFQUFFLElBQUksR0FDYjs7QUFNSCxBQUNFLFNBRE8sQ0FDUCxhQUFhLENBQUM7RUFDWixjQUFjLEVBQUUsTUFBTSxHQUN2Qjs7QUFISCxBQUtFLFNBTE8sQ0FLUCxlQUFlLENBQUM7RUFDZCxVQUFVLEVBQUUsSUFBSTtFQUNoQixLQUFLLEVBQUUsQ0FBQztFQUNSLFNBQVMsRUFBRSxDQUFDO0VBQ1osU0FBUyxFQUFFLElBQUksR0FDaEI7O0FBTUgsQUFDRSxTQURPLENBQ1AsaUJBQWlCLENBQUM7RUFDaEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsY0FBYyxFQUFFLE1BQU07RUFDdEIsS0FBSyxFQUFFLENBQUM7RUFDUixTQUFTLEVBQUUsQ0FBQztFQUNaLFNBQVMsRUFBRSxJQUFJLEdBQ2hCOztBQVBILEFBU0UsU0FUTyxDQVNQLGVBQWUsQ0FBQztFQUVkLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBTUgsQUFDRSxnQkFEYyxDQUNkLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztFQUMxQixjQUFjLEVBQUUsV0FBVyxHQUM1Qjs7QUFISCxBQUtFLGdCQUxjLENBS2QsU0FBUyxDQUFDLGFBQWEsQ0FBQztFQUN0QixjQUFjLEVBQUUsV0FBVyxHQUM1Qjs7QUFNSCxBQUFBLHNCQUFzQixDQUFDO0VBQ3JCLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBS0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBdEV4QixBQUFBLGVBQWUsQ0F1RUc7SUFDZCxRQUFRLEVBQUUsZ0JBQWdCO0lBQzFCLEdBQUcsRUFBRSxZQUFZO0lBQ2pCLE1BQU0sRUFBRSxlQUFlO0lBQ3ZCLElBQUksRUFBRSxZQUFZO0lBQ2xCLFlBQVksRUFBRSxZQUFZO0lBQzFCLFdBQVcsRUFBRSxZQUFZO0lBQ3pCLFNBQVMsRUFBRSx3QkFBd0I7SUFDbkMsV0FBVyxFQUFFLDRCQUE0QixHQWlCMUM7SUFUQyxBQUFBLGdCQUFnQixDQWhCbEIsZUFBZSxDQWdCTTtNQUNqQixLQUFLLEVBQUUsWUFBWTtNQUNuQixJQUFJLEVBQUUsZUFBZTtNQUNyQixTQUFTLEVBQUUsdUJBQXVCLEdBQ25DO0lBRUQsQUFBQSxnQkFBZ0IsQ0F0QmxCLGVBQWUsQ0FzQk07TUFDakIsU0FBUyxFQUFFLG9CQUFvQixDQUFDLFVBQVUsR0FDM0M7RUFHSCxBQUFBLGdCQUFnQixDQUFDLElBQUksQ0FBQztJQUNwQixRQUFRLEVBQUUsTUFBTSxHQUNqQjtFQVVELEFBQUEsZUFBZSxDQUFDO0lBQ2QsUUFBUSxFQUFFLEtBQUs7SUFDZixHQUFHLEVBQUUsQ0FBQztJQUNOLEtBQUssRUFBRSxDQUFDO0lBQ1IsTUFBTSxFQUFFLGVBQWU7SUFDdkIsSUFBSSxFQUFFLENBQUM7SUFDUCxPQUFPLEVBQUUsSUFBSTtJQUNiLFVBQVUsRTlEMUtDLE9BQU87SThEMktsQixPQUFPLEU5RHlSc0IsR0FBRTtJOER4Ui9CLE1BQU0sRUFBRSxPQUFPLEdBS2hCO0lBSEMsQUFBQSxnQkFBZ0IsQ0FYbEIsZUFBZSxDQVdNO01BQ2pCLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUFHSCxBQUFBLHFCQUFxQixDQUFDLGVBQWU7RUFDckMscUJBQXFCLENBQUMsZUFBZSxDQUFDO0lBQ3BDLE1BQU0sRUFBRSxnQkFBZ0IsR0FDekI7O0EzRGpJQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RTJEMEkxQixBQUNFLGlCQURlLEFBQUEsSUFBSyxDQUFBLGlCQUFpQixDQUFDLElBQUssQ0FBQSx1QkFBdUIsRUFDbEUsZUFBZSxBQUFBLElBQUssQzFCbURSLE1BQU0sRTBCbkRVLGlCQUFpQjtFQUQvQyxpQkFBaUIsQUFBQSxJQUFLLENBQUEsaUJBQWlCLENBQUMsSUFBSyxDQUFBLHVCQUF1QixFQUVsRSxlQUFlLEFBQUEsaUJBQWlCLEFBQUEsSUFBSyxDMUJrRHpCLE1BQU0sRTBCbEQyQjtJRHlXL0MsS0FBSyxFN0RvQmtDLFFBQVEsRzhEM1g1QztJQUpILEFENldBLGlCQzdXaUIsQUFBQSxJQUFLLENBQUEsaUJBQWlCLENBQUMsSUFBSyxDQUFBLHVCQUF1QixFQUNsRSxlQUFlLEFBQUEsSUFBSyxDMUJtRFIsTUFBTSxFMEJuRFUsaUJBQWlCLENENFcvQyxjQUFjLEdBQUcsYUFBYTtJQzdXOUIsaUJBQWlCLEFBQUEsSUFBSyxDQUFBLGlCQUFpQixDQUFDLElBQUssQ0FBQSx1QkFBdUIsRUFFbEUsZUFBZSxBQUFBLGlCQUFpQixBQUFBLElBQUssQzFCa0R6QixNQUFNLEV5QnlUcEIsY0FBYyxHQUFHLGFBQWEsQ0FBQztNQUM3QixLQUFLLEVBQUUsUUFBNkcsR0FDckg7SUMvV0QsQURpWEEsaUJDalhpQixBQUFBLElBQUssQ0FBQSxpQkFBaUIsQ0FBQyxJQUFLLENBQUEsdUJBQXVCLEVBQ2xFLGVBQWUsQUFBQSxJQUFLLEMxQm1EUixNQUFNLEUwQm5EVSxpQkFBaUIsQ0RnWC9DLGNBQWMsR0FBRyxhQUFhLEdBQUcsYUFBYTtJQ2pYOUMsaUJBQWlCLEFBQUEsSUFBSyxDQUFBLGlCQUFpQixDQUFDLElBQUssQ0FBQSx1QkFBdUIsRUFFbEUsZUFBZSxBQUFBLGlCQUFpQixBQUFBLElBQUssQzFCa0R6QixNQUFNLEV5QjZUcEIsY0FBYyxHQUFHLGFBQWEsR0FBRyxhQUFhLENBQUM7TUFDN0MsWUFBWSxFN0RheUIsUUFBUSxHNkRaOUM7SUNuWEQsQURxWEEsaUJDclhpQixBQUFBLElBQUssQ0FBQSxpQkFBaUIsQ0FBQyxJQUFLLENBQUEsdUJBQXVCLEVBQ2xFLGVBQWUsQUFBQSxJQUFLLEMxQm1EUixNQUFNLEUwQm5EVSxpQkFBaUIsQ0RvWC9DLGNBQWMsR0FBRyxlQUFlO0lDclhoQyxpQkFBaUIsQUFBQSxJQUFLLENBQUEsaUJBQWlCLENBQUMsSUFBSyxDQUFBLHVCQUF1QixFQUNsRSxlQUFlLEFBQUEsSUFBSyxDMUJtRFIsTUFBTSxFMEJuRFUsaUJBQWlCLENEcVgvQyxjQUFjO0lDdFhkLGlCQUFpQixBQUFBLElBQUssQ0FBQSxpQkFBaUIsQ0FBQyxJQUFLLENBQUEsdUJBQXVCLEVBRWxFLGVBQWUsQUFBQSxpQkFBaUIsQUFBQSxJQUFLLEMxQmtEekIsTUFBTSxFeUJpVXBCLGNBQWMsR0FBRyxlQUFlO0lDclhoQyxpQkFBaUIsQUFBQSxJQUFLLENBQUEsaUJBQWlCLENBQUMsSUFBSyxDQUFBLHVCQUF1QixFQUVsRSxlQUFlLEFBQUEsaUJBQWlCLEFBQUEsSUFBSyxDMUJrRHpCLE1BQU0sRXlCa1VwQixjQUFjLENBQUM7TUFDYixRQUFRLEVBQUUsUUFBUTtNQUNsQixXQUFXLEU3RE8wQixRQUFRO002RE43QyxhQUFhLEVBQUUsT0FBc0U7TUFDckYsWUFBWSxFN0R5QnlCLE9BQU07TTZEeEIzQyxLQUFLLEU3REdnQyxTQUFTLEc2RFEvQztNQ3RZRCxBRDZYRSxpQkM3WGUsQUFBQSxJQUFLLENBQUEsaUJBQWlCLENBQUMsSUFBSyxDQUFBLHVCQUF1QixFQUNsRSxlQUFlLEFBQUEsSUFBSyxDMUJtRFIsTUFBTSxFMEJuRFUsaUJBQWlCLENEb1gvQyxjQUFjLEdBQUcsZUFBZSxBQVE3QixRQUFRO01DN1hYLGlCQUFpQixBQUFBLElBQUssQ0FBQSxpQkFBaUIsQ0FBQyxJQUFLLENBQUEsdUJBQXVCLEVBQ2xFLGVBQWUsQUFBQSxJQUFLLEMxQm1EUixNQUFNLEUwQm5EVSxpQkFBaUIsQ0RxWC9DLGNBQWMsQUFPWCxRQUFRO01DN1hYLGlCQUFpQixBQUFBLElBQUssQ0FBQSxpQkFBaUIsQ0FBQyxJQUFLLENBQUEsdUJBQXVCLEVBRWxFLGVBQWUsQUFBQSxpQkFBaUIsQUFBQSxJQUFLLEMxQmtEekIsTUFBTSxFeUJpVXBCLGNBQWMsR0FBRyxlQUFlLEFBUTdCLFFBQVE7TUM3WFgsaUJBQWlCLEFBQUEsSUFBSyxDQUFBLGlCQUFpQixDQUFDLElBQUssQ0FBQSx1QkFBdUIsRUFFbEUsZUFBZSxBQUFBLGlCQUFpQixBQUFBLElBQUssQzFCa0R6QixNQUFNLEV5QmtVcEIsY0FBYyxBQU9YLFFBQVEsQ0FBQztRQUNSLE9BQU8sRUFBRSxFQUFFO1FBQ1gsUUFBUSxFQUFFLFFBQVE7UUFDbEIsR0FBRyxFN0RHZ0MsT0FBTTtRNkRGekMsTUFBTSxFN0RFNkIsT0FBTTtRNkREekMsSUFBSSxFQUFFLFdBQXFDO1FBQzNDLE9BQU8sRUFBRSxLQUFLO1FBQ2QsS0FBSyxFQUFFLFNBQTRCLEdBQ3BDO0lDcllILEFEd1lBLGlCQ3hZaUIsQUFBQSxJQUFLLENBQUEsaUJBQWlCLENBQUMsSUFBSyxDQUFBLHVCQUF1QixFQUNsRSxlQUFlLEFBQUEsSUFBSyxDMUJtRFIsTUFBTSxFMEJuRFUsaUJBQWlCLENEdVkvQyxjQUFjLEdBQUcsYUFBYSxHQUFHLGFBQWE7SUN4WTlDLGlCQUFpQixBQUFBLElBQUssQ0FBQSxpQkFBaUIsQ0FBQyxJQUFLLENBQUEsdUJBQXVCLEVBQ2xFLGVBQWUsQUFBQSxJQUFLLEMxQm1EUixNQUFNLEUwQm5EVSxpQkFBaUIsQ0R3WS9DLGNBQWMsR0FBRyxhQUFhLEFBQUEsS0FBSyxHQUFHLGFBQWE7SUN6WW5ELGlCQUFpQixBQUFBLElBQUssQ0FBQSxpQkFBaUIsQ0FBQyxJQUFLLENBQUEsdUJBQXVCLEVBRWxFLGVBQWUsQUFBQSxpQkFBaUIsQUFBQSxJQUFLLEMxQmtEekIsTUFBTSxFeUJvVnBCLGNBQWMsR0FBRyxhQUFhLEdBQUcsYUFBYTtJQ3hZOUMsaUJBQWlCLEFBQUEsSUFBSyxDQUFBLGlCQUFpQixDQUFDLElBQUssQ0FBQSx1QkFBdUIsRUFFbEUsZUFBZSxBQUFBLGlCQUFpQixBQUFBLElBQUssQzFCa0R6QixNQUFNLEV5QnFWcEIsY0FBYyxHQUFHLGFBQWEsQUFBQSxLQUFLLEdBQUcsYUFBYSxDQUFDO01BQ2xELFFBQVEsRUFBRSxRQUFRO01BQ2xCLFdBQVcsRUFBRSxRQUEwRjtNQUN2RyxVQUFVLEVBQUUsZUFBZSxHQU01QjtNQ2xaRCxBRDhZRSxpQkM5WWUsQUFBQSxJQUFLLENBQUEsaUJBQWlCLENBQUMsSUFBSyxDQUFBLHVCQUF1QixFQUNsRSxlQUFlLEFBQUEsSUFBSyxDMUJtRFIsTUFBTSxFMEJuRFUsaUJBQWlCLENEdVkvQyxjQUFjLEdBQUcsYUFBYSxHQUFHLGFBQWEsQ0FNNUMsYUFBYTtNQzlZZixpQkFBaUIsQUFBQSxJQUFLLENBQUEsaUJBQWlCLENBQUMsSUFBSyxDQUFBLHVCQUF1QixFQUNsRSxlQUFlLEFBQUEsSUFBSyxDMUJtRFIsTUFBTSxFMEJuRFUsaUJBQWlCLENEd1kvQyxjQUFjLEdBQUcsYUFBYSxBQUFBLEtBQUssR0FBRyxhQUFhLENBS2pELGFBQWE7TUM5WWYsaUJBQWlCLEFBQUEsSUFBSyxDQUFBLGlCQUFpQixDQUFDLElBQUssQ0FBQSx1QkFBdUIsRUFFbEUsZUFBZSxBQUFBLGlCQUFpQixBQUFBLElBQUssQzFCa0R6QixNQUFNLEV5Qm9WcEIsY0FBYyxHQUFHLGFBQWEsR0FBRyxhQUFhLENBTTVDLGFBQWE7TUM5WWYsaUJBQWlCLEFBQUEsSUFBSyxDQUFBLGlCQUFpQixDQUFDLElBQUssQ0FBQSx1QkFBdUIsRUFFbEUsZUFBZSxBQUFBLGlCQUFpQixBQUFBLElBQUssQzFCa0R6QixNQUFNLEV5QnFWcEIsY0FBYyxHQUFHLGFBQWEsQUFBQSxLQUFLLEdBQUcsYUFBYSxDQUtqRCxhQUFhLENBQUM7UUFDWixVQUFVLEVBQUUsZUFBZTtRQUMzQixVQUFVLEVBQUUsZUFBZSxHQUM1QjtJQ2paSCxBRHFaRSxpQkNyWmUsQUFBQSxJQUFLLENBQUEsaUJBQWlCLENBQUMsSUFBSyxDQUFBLHVCQUF1QixFQUNsRSxlQUFlLEFBQUEsSUFBSyxDMUJtRFIsTUFBTSxFMEJuRFUsaUJBQWlCLENEbVovQyxjQUFjLEdBQUcsYUFBYSxBQUFBLEtBQUssR0FBRyxhQUFhLEFBQ2hELFFBQVE7SUNyWlgsaUJBQWlCLEFBQUEsSUFBSyxDQUFBLGlCQUFpQixDQUFDLElBQUssQ0FBQSx1QkFBdUIsRUFFbEUsZUFBZSxBQUFBLGlCQUFpQixBQUFBLElBQUssQzFCa0R6QixNQUFNLEV5QmdXcEIsY0FBYyxHQUFHLGFBQWEsQUFBQSxLQUFLLEdBQUcsYUFBYSxBQUNoRCxRQUFRLENBQUM7TUFDUixPQUFPLEVBQUUsRUFBRTtNQUNYLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxDQUFDO01BQ04sTUFBTSxFQUFFLENBQUM7TUFDVCxJQUFJLEVBQUUscUJBQTJDO01BQ2pELE9BQU8sRUFBRSxLQUFLO01BQ2QsV0FBVyxFQUFJLFNBQTBGO01BQ3pHLEtBQUssRUFBRSxDQUFDO01BQ1IsV0FBVyxFQUFFLFNBQVMsR0FDdkI7SUMvWkgsQURvYUUsaUJDcGFlLEFBQUEsSUFBSyxDQUFBLGlCQUFpQixDQUFDLElBQUssQ0FBQSx1QkFBdUIsRUFDbEUsZUFBZSxBQUFBLElBQUssQzFCbURSLE1BQU0sRTBCbkRVLGlCQUFpQixDRGlhL0MsY0FBYyxHQUFHLGFBQWEsQUFBQSxLQUFLLENBQUMsYUFBYSxBQUFBLEtBQUssR0FBRyxlQUFlLEFBRXJFLFFBQVE7SUNwYVgsaUJBQWlCLEFBQUEsSUFBSyxDQUFBLGlCQUFpQixDQUFDLElBQUssQ0FBQSx1QkFBdUIsRUFDbEUsZUFBZSxBQUFBLElBQUssQzFCbURSLE1BQU0sRTBCbkRVLGlCQUFpQixDRGthL0MsY0FBYyxHQUFHLGFBQWEsQUFBQSxLQUFLLENBQUMsYUFBYSxBQUFBLE9BQU8sR0FBRyxhQUFhLEFBQ3JFLFFBQVE7SUNwYVgsaUJBQWlCLEFBQUEsSUFBSyxDQUFBLGlCQUFpQixDQUFDLElBQUssQ0FBQSx1QkFBdUIsRUFFbEUsZUFBZSxBQUFBLGlCQUFpQixBQUFBLElBQUssQzFCa0R6QixNQUFNLEV5QjhXcEIsY0FBYyxHQUFHLGFBQWEsQUFBQSxLQUFLLENBQUMsYUFBYSxBQUFBLEtBQUssR0FBRyxlQUFlLEFBRXJFLFFBQVE7SUNwYVgsaUJBQWlCLEFBQUEsSUFBSyxDQUFBLGlCQUFpQixDQUFDLElBQUssQ0FBQSx1QkFBdUIsRUFFbEUsZUFBZSxBQUFBLGlCQUFpQixBQUFBLElBQUssQzFCa0R6QixNQUFNLEV5QitXcEIsY0FBYyxHQUFHLGFBQWEsQUFBQSxLQUFLLENBQUMsYUFBYSxBQUFBLE9BQU8sR0FBRyxhQUFhLEFBQ3JFLFFBQVEsQ0FBQztNQUNSLE9BQU8sRUFBRSxFQUFFO01BQ1gsUUFBUSxFQUFFLFFBQVE7TUFDbEIsR0FBRyxFQUFFLEdBQUc7TUFDUixJQUFJLEVBQUUsQ0FBQztNQUNQLE9BQU8sRUFBRSxLQUFLO01BQ2QsVUFBVSxFQUFFLElBQUk7TUFDaEIsV0FBVyxFQUFFLHFCQUE0STtNQUN6SixLQUFLLEVBQUUsR0FBRztNQUNWLE1BQU0sRUFBRSxHQUFHO01BQ1gsYUFBYSxFQUFFLEdBQUcsR0FDbkI7SUMvYUgsQURrYkEsaUJDbGJpQixBQUFBLElBQUssQ0FBQSxpQkFBaUIsQ0FBQyxJQUFLLENBQUEsdUJBQXVCLEVBQ2xFLGVBQWUsQUFBQSxJQUFLLEMxQm1EUixNQUFNLEUwQm5EVSxpQkFBaUIsQ0RpYi9DLGNBQWMsR0FBRyxhQUFhLEdBQUcsZUFBZSxBQUFBLE9BQU87SUNsYnZELGlCQUFpQixBQUFBLElBQUssQ0FBQSxpQkFBaUIsQ0FBQyxJQUFLLENBQUEsdUJBQXVCLEVBRWxFLGVBQWUsQUFBQSxpQkFBaUIsQUFBQSxJQUFLLEMxQmtEekIsTUFBTSxFeUI4WHBCLGNBQWMsR0FBRyxhQUFhLEdBQUcsZUFBZSxBQUFBLE9BQU8sQ0FBQztNQUN0RCxLQUFLLEVBQUUsSUFBSTtNQUNYLElBQUksRUFBRSxNQUFnRSxHQUN2RTtJQ3JiRCxBRHViQSxpQkN2YmlCLEFBQUEsSUFBSyxDQUFBLGlCQUFpQixDQUFDLElBQUssQ0FBQSx1QkFBdUIsRUFDbEUsZUFBZSxBQUFBLElBQUssQzFCbURSLE1BQU0sRTBCbkRVLGlCQUFpQixDRHNiL0MsY0FBYyxHQUFHLGFBQWEsR0FBRyxhQUFhLENBQUMsYUFBYTtJQ3ZiNUQsaUJBQWlCLEFBQUEsSUFBSyxDQUFBLGlCQUFpQixDQUFDLElBQUssQ0FBQSx1QkFBdUIsRUFFbEUsZUFBZSxBQUFBLGlCQUFpQixBQUFBLElBQUssQzFCa0R6QixNQUFNLEV5Qm1ZcEIsY0FBYyxHQUFHLGFBQWEsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDO01BQzNELFdBQVcsRTdEekQwQixTQUFRO002RDBEN0MsS0FBSyxFN0QxRGdDLFFBQVE7TTZEMkQ3QyxVQUFVLEVBQUUsTUFBTSxHQUNuQjtFQ3phRCxBQUNFLGlCQURlLENBQ2YsZUFBZSxBQUFBLE1BQU0sQ0FBQztJQUNwQixZQUFZLEVBQUUsU0FBMEMsR0FDekQ7RUFISCxBQUtFLGlCQUxlLEFBS2QsZ0JBQWdCLENBQUMsZUFBZSxBQUFBLE1BQU0sQ0FBQztJQUN0QyxZQUFZLEVBQUUsQ0FBQztJQUNmLFdBQVcsRUFBRSxTQUEwQyxHQUN4RDs7QTNEcEtELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFMkQwTDFCLEFBQ0UsaUJBRGUsQUFBQSxpQkFBaUIsQ0FDaEMsZUFBZSxDQUFDO0lBQ2QsWUFBWSxFOUQ0VXVCLFVBQVM7SThEM1U1QyxTQUFTLEVBQUUsaUJBQWlCLEdBQzdCO0VBSkgsQUFNRSxpQkFOZSxBQUFBLGlCQUFpQixBQU0vQixnQkFBZ0IsQ0FBQyxlQUFlLENBQUM7SUFDaEMsWUFBWSxFQUFFLENBQUM7SUFDZixXQUFXLEU5RHNVd0IsVUFBUztJOERyVTVDLFNBQVMsRUFBRSxnQkFBZ0IsR0FDNUI7O0EzRHBNRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RTJEOE4xQixBQUVFLGFBRlcsQ0FFWCxlQUFlO0VBRGpCLHVCQUF1QixDQUNyQixlQUFlLENBQUM7SUFDZCxRQUFRLEVBQUUsS0FBSztJQUNmLEdBQUcsRUFBRSxDQUFDO0lBQ04sTUFBTSxFQUFFLENBQUM7SUFDVCxJQUFJLEVBQUUsQ0FBQztJQUNQLFlBQVksRUFBRSxZQUFZO0lBQzFCLFdBQVcsRUFBRSxZQUFZLEdBQzFCO0VBVEgsQUFXRSxhQVhXLEFBV1YsZ0JBQWdCLENBQUMsZUFBZTtFQVZuQyx1QkFBdUIsQUFVcEIsZ0JBQWdCLENBQUMsZUFBZSxDQUFDO0lBQ2hDLEtBQUssRUFBRSxDQUFDO0lBQ1IsSUFBSSxFQUFFLElBQUksR0FDWDtFQW9CSCxBQUNFLHVCQURxQixBQUFBLGlCQUFpQixDQUN0QyxlQUFlLENBQUM7SUFDZCxTQUFTLEVBQUUsaUJBQWlCLEdBQzdCO0VBSEgsQUFLRSx1QkFMcUIsQUFBQSxpQkFBaUIsQUFLckMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDO0lBQ2hDLFNBQVMsRUFBRSxnQkFBZ0IsR0FDNUI7RUFpQkgsQUFFRSxhQUZXLEFBQUEsSUFBSyxDQUFBLGlCQUFpQixFQUVqQyxpQkFBaUI7RUFEbkIsdUJBQXVCLEFBQUEsSUFBSyxDQURWLGlCQUFpQixFQUVqQyxpQkFBaUIsQ0FBQztJQUNoQixZQUFZLEU5RDZPdUIsU0FBUyxHOEQ1TzdDO0VBSkgsQUFNRSxhQU5XLEFBQUEsSUFBSyxDQUFBLGlCQUFpQixDQU1oQyxnQkFBZ0IsQ0FBQyxpQkFBaUI7RUFMckMsdUJBQXVCLEFBQUEsSUFBSyxDQURWLGlCQUFpQixDQU1oQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQztJQUNsQyxhQUFhLEU5RHlPc0IsU0FBUztJOER4TzVDLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0VBa0JILEFBQ0UsYUFEVyxBQUFBLGlCQUFpQixDQUM1QixpQkFBaUIsQ0FBQztJQUNoQixZQUFZLEU5RG9OdUIsUUFBUSxHOERuTjVDO0VBSEgsQUFLRSxhQUxXLEFBQUEsaUJBQWlCLEFBSzNCLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDO0lBQ2xDLGFBQWEsRTlEZ05zQixRQUFRO0k4RC9NM0MsWUFBWSxFQUFFLENBQUMsR0FDaEI7O0FBbUJMLEFBQUEsSUFBSSxBQUFBLElBQUssQ0FBQSxvQkFBb0IsQ0FBQyxJQUFLLENBQUEsYUFBYSxDQUFDLElBQUssQ0FwTVAsdUJBQXVCLEVBb01TLGlCQUFpQjtBQUNoRyxJQUFJLEFBQUEsSUFBSyxDQURBLG9CQUFvQixFQUNFLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztFQUN6RCxXQUFXLEVBQUUsWUFBWSxHQUMxQjs7QUFDRCxBQUFBLElBQUksQUFBQSxJQUFLLENBQUEsb0JBQW9CLEVBQUUsZUFBZSxDQUFDO0VBQzdDLGNBQWMsRUFBRSxZQUFZLEdBQzdCOztBQUNELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUN0QixBQUFBLGFBQWEsQ0FBQyxlQUFlLEFBQUEsU0FBUyxDQUFDLGVBQWU7RUFDdEQsdUJBQXVCLENBQUMsZUFBZSxBQUFBLFNBQVMsQ0FBQyxlQUFlLENBQUM7SUFDL0QsR0FBRyxFQUFFLFlBQVksR0FDbEI7RUFFRCxBQUFBLElBQUksQUFBQSxJQUFLLENBYkYsb0JBQW9CLEVBYUksU0FBUyxDQUFDLGlCQUFpQixDQUFDO0lBQ3pELFdBQVcsRUFBRSxZQUFZLEdBQzFCOztBQU1ILEFBQUEsb0JBQW9CLENBQUMsY0FBYyxDQUFDO0VBQ2xDLFFBQVEsRUFBRSxLQUFLO0VBQ2YsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsQ0FBQztFQUNSLElBQUksRUFBRSxDQUFDLEdBQ1I7O0EzRHhXRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RTJENFcxQixBQUFBLGFBQWEsQ0FBQyxTQUFTLENBQUMsY0FBYztFQUN0Qyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDO0lBQy9DLFFBQVEsRUFBRSxLQUFLO0lBQ2YsR0FBRyxFQUFFLENBQUM7SUFDTixLQUFLLEVBQUUsQ0FBQztJQUNSLElBQUksRUFBRSxDQUFDLEdBQ1I7RUFJRCxBQUdFLG9CQUhrQixBQUFBLElBQUssQ0E5RlAsaUJBQWlCLEVBaUdqQyxTQUFTLENBQUMsY0FBYztFQUYxQixhQUFhLEFBQUEsb0JBQW9CLEFBQUEsSUFBSyxDQS9GcEIsaUJBQWlCLEVBaUdqQyxTQUFTLENBQUMsY0FBYztFQUQxQix1QkFBdUIsQUFBQSxvQkFBb0IsQUFBQSxJQUFLLENBaEc5QixpQkFBaUIsRUFpR2pDLFNBQVMsQ0FBQyxjQUFjLENBQUM7SUFDdkIsSUFBSSxFOUQ4SStCLFNBQVMsRzhEN0k3QztFQUxILEFBT0Usb0JBUGtCLEFBQUEsSUFBSyxDQTlGUCxpQkFBaUIsQ0FxR2hDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxjQUFjO0VBTjVDLGFBQWEsQUFBQSxvQkFBb0IsQUFBQSxJQUFLLENBL0ZwQixpQkFBaUIsQ0FxR2hDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxjQUFjO0VBTDVDLHVCQUF1QixBQUFBLG9CQUFvQixBQUFBLElBQUssQ0FoRzlCLGlCQUFpQixDQXFHaEMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQztJQUN6QyxLQUFLLEU5RDBJOEIsU0FBUztJOER6STVDLElBQUksRUFBRSxDQUFDLEdBQ1I7RUFxQkgsQUFFRSxvQkFGa0IsQUFBQSxpQkFBaUIsQUFBQSxJQUFLLENBM1FwQixpQkFBaUIsQ0EyUXFCLElBQUssQ0EzUXBCLHVCQUF1QixFQTZRbEUsU0FBUyxDQUFDLGNBQWM7RUFEMUIsYUFBYSxBQUFBLG9CQUFvQixBQUFBLGlCQUFpQixDQUNoRCxTQUFTLENBQUMsY0FBYyxDQUFDO0lBQ3ZCLElBQUksRTlEaUgrQixRQUFRLEc4RGhINUM7RUFKSCxBQU1FLG9CQU5rQixBQUFBLGlCQUFpQixBQUFBLElBQUssQ0EzUXBCLGlCQUFpQixDQTJRcUIsSUFBSyxDQTNRcEIsdUJBQXVCLENBaVJqRSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsY0FBYztFQUw1QyxhQUFhLEFBQUEsb0JBQW9CLEFBQUEsaUJBQWlCLEFBSy9DLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUM7SUFDekMsS0FBSyxFOUQ2RzhCLFFBQVE7SThENUczQyxJQUFJLEVBQUUsQ0FBQyxHQUNSOztBQXNCTCxBQUFBLG9CQUFvQixDQUFDLGNBQWMsQ0FBQztFQUNsQyxRQUFRLEVBQUUsS0FBSztFQUNmLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsQ0FBQyxHQUNUOztBM0R6YkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0UyRDRiMUIsQUFDRSxvQkFEa0IsQUFBQSxJQUFLLENBcEtQLGlCQUFpQixFQXFLakMsZUFBZSxBQUFBLElBQUssQ0FBQSx1QkFBdUIsRUFBRSxjQUFjLENBQUM7SUFDMUQsSUFBSSxFOUQwRStCLFNBQVMsRzhEekU3QztFQUhILEFBS0Usb0JBTGtCLEFBQUEsSUFBSyxDQXBLUCxpQkFBaUIsQ0F5S2hDLGdCQUFnQixDQUFDLGVBQWUsQUFBQSxJQUFLLENBSmxCLHVCQUF1QixFQUlvQixjQUFjLENBQUM7SUFDNUUsS0FBSyxFOURzRThCLFNBQVM7SThEckU1QyxJQUFJLEVBQUUsQ0FBQyxHQUNSO0VBR0gsQUFDRSxvQkFEa0IsQUFBQSxpQkFBaUIsQUFBQSxJQUFLLENBN1RwQixpQkFBaUIsQ0E2VHFCLElBQUssQ0E3VHBCLHVCQUF1QixFQThUbEUsZUFBZSxBQUFBLElBQUssQ0FYQSx1QkFBdUIsRUFXRSxjQUFjLENBQUM7SUFDMUQsSUFBSSxFOURnRStCLFFBQVEsRzhEL0Q1QztFQUhILEFBS0Usb0JBTGtCLEFBQUEsaUJBQWlCLEFBQUEsSUFBSyxDQTdUcEIsaUJBQWlCLENBNlRxQixJQUFLLENBN1RwQix1QkFBdUIsQ0FrVWpFLGdCQUFnQixDQUFDLGVBQWUsQUFBQSxJQUFLLENBZmxCLHVCQUF1QixFQWVvQixjQUFjLENBQUM7SUFDNUUsS0FBSyxFOUQ0RDhCLFFBQVE7SThEM0QzQyxJQUFJLEVBQUUsQ0FBQyxHQUNSOztBQWtDTCxBQUdFLG9CQUhrQixDQUFDLElBQUksQUFBQSxJQUFLLENBQUEsV0FBVyxFQUd2QyxTQUFTLENBQUMsY0FBYztBQUYxQixhQUFhLENBQUMsSUFBSSxBQUFBLElBQUssQ0FETyxXQUFXLEVBR3ZDLFNBQVMsQ0FBQyxjQUFjO0FBRDFCLHVCQUF1QixDQUFDLElBQUksQUFBQSxJQUFLLENBRkgsV0FBVyxFQUd2QyxTQUFTLENBQUMsY0FBYyxDQUFDO0VBQ3ZCLE9BQU8sRTlEamFZLElBQUksRzhEa2F4Qjs7QUFMSCxBQU9FLG9CQVBrQixDQUFDLElBQUksQUFBQSxJQUFLLENBQUEsV0FBVyxFQU92QyxTQUFTLENBQUMsY0FBYztBQU4xQixhQUFhLENBQUMsSUFBSSxBQUFBLElBQUssQ0FETyxXQUFXLEVBT3ZDLFNBQVMsQ0FBQyxjQUFjO0FBTDFCLHVCQUF1QixDQUFDLElBQUksQUFBQSxJQUFLLENBRkgsV0FBVyxFQU92QyxTQUFTLENBQUMsY0FBYyxDQUFDO0VBQ3ZCLE9BQU8sRTlEcmFZLElBQUksRzhEc2F4Qjs7QUF0RUgsQUFBQSxvQkFBb0IsQ0FBQyxjQUFjLENBeUVDO0VBQ2xDLE9BQU8sRTdENEMyQixJQUFJLEc2RDNDdkM7O0FBRUQsQUFBQSwwQkFBMEIsQ0FBQztFQUN6QixPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQUVELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQXJnQnhCLEFBQUEsZUFBZSxDQXNnQkc7SUFDZCxPQUFPLEU5RGpiWSxJQUFJLEc4RGtieEI7RUExWkQsQUFBQSxlQUFlLENBNFpDO0lBQ2QsT0FBTyxFOURyYlksSUFBSSxHOERzYnhCOztBM0Q1Z0JDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFMkRnaEIxQixBQUNFLFNBRE8sQ0FDUCxjQUFjLENBQUM7SUFDYixPQUFPLEVBQUUsRUFBRSxHQUNaO0VBSEgsQUFLRSxTQUxPLENBS1AsZUFBZSxDQUFDO0lBQ2QsT0FBTyxFQUFFLENBQUMsR0FDWDtFQUdILEFBQ0UsU0FETyxDQUNQLGNBQWMsQ0FBQztJQUNiLE9BQU8sRUFBRSxDQUFDLEdBQ1g7RUFISCxBQUtFLFNBTE8sQ0FLUCxlQUFlLENBQUM7SUFDZCxPQUFPLEVBQUUsRUFBRSxHQUNaO0VBS0gsQUFDRSxpQkFEZSxBQUFBLElBQUssQ0E1WkEsaUJBQWlCLENBNFpDLElBQUssQ0E1WkEsdUJBQXVCLEVBNlpsRSxTQUFTLENBQUMsZUFBZSxBQUFBLE1BQU0sQ0FBQztJQUM5QixPQUFPLEU5RHBkVSxJQUFJLEM4RG9kYSxVQUFVLEdBQzdDO0VBSEgsQUFLRSxpQkFMZSxBQUFBLElBQUssQ0E1WkEsaUJBQWlCLENBNFpDLElBQUssQ0E1WkEsdUJBQXVCLEVBaWFsRSxTQUFTLENBQUMsZUFBZSxDQUFDO0lBQ3hCLE9BQU8sRTlEeGRVLElBQUksQzhEd2RhLFVBQVUsR0FDN0M7RUFLSCxBQUFBLGFBQWEsQ0FBQyxJQUFJLEFBQUEsSUFBSyxDQWpFSyxXQUFXLEVBaUVILFNBQVMsQ0FBQyxlQUFlO0VBQzdELHVCQUF1QixDQUFDLElBQUksQUFBQSxJQUFLLENBbEVMLFdBQVcsRUFrRU8sU0FBUyxDQUFDLGVBQWUsQ0FBQztJQUN0RSxPQUFPLEU5RGhlWSxJQUFJLEc4RGlleEI7RUFFRCxBQUFBLG9CQUFvQixDQUFDLElBQUksQUFBQSxJQUFLLENBdEVGLFdBQVcsRUFzRUksU0FBUyxDQUFDLGVBQWU7RUFDcEUsYUFBYSxDQUFDLElBQUksQUFBQSxJQUFLLENBdkVLLFdBQVcsRUF1RUgsU0FBUyxDQUFDLGVBQWU7RUFDN0QsdUJBQXVCLENBQUMsSUFBSSxBQUFBLElBQUssQ0F4RUwsV0FBVyxFQXdFTyxTQUFTLENBQUMsZUFBZSxDQUFDO0lBQ3RFLE9BQU8sRTlEdGVZLElBQUksRzhEdWV4Qjs7QUFNSCxBQUNFLGtDQURnQyxDQUNoQyxlQUFlLENBQUMsYUFBYTtBQUQvQixrQ0FBa0MsQ0FFaEMsMEJBQTBCLENBQUMsYUFBYSxDQUFDO0VBQ3ZDLFVBQVUsRUFBRSxlQUFlO0VBQzNCLFNBQVMsRUFBRSxlQUFlLEdBQzNCOztBQUdILEFBRUUscUJBRm1CLENBQUMsZUFBZTtBQUFyQyxxQkFBcUIsQ0FBQyxlQUFlLENBR2pDLFFBQVE7QUFIWixxQkFBcUIsQ0FBQyxlQUFlLENBSWpDLGFBQWE7QUFIakIscUJBQXFCLENBQUMsMEJBQTBCO0FBQWhELHFCQUFxQixDQUFDLDBCQUEwQixDQUU1QyxRQUFRO0FBRloscUJBQXFCLENBQUMsMEJBQTBCLENBRzVDLGFBQWEsQ0FBQztFQUNkLFVBQVUsRUFBRSxlQUFlO0VBQzNCLFNBQVMsRUFBRSxlQUFlLEdBQzNCOztBQUdILE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUN0QixBQUNFLHFCQURtQixDQUNuQixlQUFlLENBQUM7SUFDZCxTQUFTLEVBQUUsc0JBQXNCLEM5RHZERSxJQUFHLEc4RHdEdkM7RUFISCxBQUtFLHFCQUxtQixDQUtuQixlQUFlLENBQUM7SUFDZCxtQkFBbUIsRTlEM0RnQixJQUFHO0k4RDREdEMsbUJBQW1CLEVBQUUsNEJBQTRCLEdBQ2xEOztBM0Q1bEJELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFMkRpbUIxQixBQUFBLGlCQUFpQixBQUFBLElBQUssQ0FBQSxxQkFBcUIsQ0FBQyxJQUFLLENBdmQzQixpQkFBaUIsQ0F1ZDRCLElBQUssQ0FuUnZDLGFBQWEsQ0FtUndDLElBQUssQ0F2ZDlDLHVCQUF1QixFQXVkZ0QsZUFBZSxDQUFDO0lBQ2xJLG1CQUFtQixFOURuRWtCLElBQUc7SThEb0V4QyxtQkFBbUIsRUFBRSxnQ0FBZ0MsR0FDdEQ7RUFFRCxBQUNFLHFCQURtQixBQUNsQixpQkFBaUIsQ0FBQyxlQUFlLENBQUM7SUFDakMsbUJBQW1CLEU5RHpFZ0IsSUFBRztJOEQwRXRDLG1CQUFtQixFQUFFLHVEQUF1RCxHQUM3RTtFQUpILEFBUUkscUJBUmlCLEFBTWxCLGFBQWEsQ0FFWixpQkFBaUIsRUFSckIscUJBQXFCLEFBT2xCLHVCQUF1QixDQUN0QixpQkFBaUIsQ0FBQztJQUNoQixtQkFBbUIsRTlEaEZjLElBQUc7SThEaUZwQyxtQkFBbUIsRUFBRSwyQkFBMkIsR0FDakQ7RUFYTCxBQWVJLHFCQWZpQixBQWNsQixhQUFhLENBQ1osZUFBZSxDQUFDO0lBQ2QsVUFBVSxFQUFFLEtBQUssQzlEdkZnQixJQUFHLEc4RHdGckM7RUFqQkwsQUFxQkkscUJBckJpQixBQW9CbEIsdUJBQXVCLENBQ3RCLGVBQWUsQ0FBQztJQUNkLG1CQUFtQixFOUQ3RmMsSUFBRztJOEQ4RnBDLG1CQUFtQixFQUFFLDRCQUE0QixHQUNsRDtFQXhCTCxBQTJCRSxxQkEzQm1CLEFBMkJsQixvQkFBb0IsQ0FBQyxTQUFTLENBQUMsY0FBYztFQTNCaEQscUJBQXFCLEFBNEJsQixvQkFBb0IsQ0FBQyxjQUFjLENBQUM7SUFDbkMsbUJBQW1CLEU5RHBHZ0IsSUFBRztJOERxR3RDLG1CQUFtQixFQUFFLFdBQVcsR0FDakM7RUEvQkgsQUFpQ0UscUJBakNtQixBQWlDbEIsSUFBSyxDQTdmYyxpQkFBaUIsQ0E2ZmIsSUFBSyxDQXpURSxhQUFhLENBeVRELElBQUssQ0E3ZkwsdUJBQXVCLEVBNmZPLGVBQWUsQ0FBQztJQUN2RixtQkFBbUIsRTlEekdnQixJQUFHO0k4RDBHdEMsbUJBQW1CLEVBQUUsZ0NBQWdDLEdBQ3REOztBQUtMLE1BQU0sQ0FBQyxHQUFHLE9BQU8sZ0JBQWdCLEVBQUUsSUFBSSxLQUFLLGdCQUFnQixFQUFFLE1BQU07RUFDbEUsQUFBQSxRQUFRO0VBQ1IsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsY0FBYyxDQUFDO0lBQ2IsVUFBVSxFQUFFLGVBQWU7SUFDM0IsbUJBQW1CLEVBQUUsYUFBYSxHQUNuQztFQXppQkQsQUFBQSxlQUFlLENBMGlCQztJQUNkLFNBQVMsRUFBRSxlQUFlLEdBQzNCOztBN0J4cUJELGtCQUFrQixDQUFsQixzQkFBa0I7RTZCNHFCbEIsRUFBRTtJQUNBLE9BQU8sRUFBRSxDQUFDO0VBRVosSUFBSTtJQUNGLE9BQU8sRTlEblJzQixHQUFFOztBaUMxWmpDLGVBQWUsQ0FBZixzQkFBZTtFNkJ5cUJmLEVBQUU7SUFDQSxPQUFPLEVBQUUsQ0FBQztFQUVaLElBQUk7SUFDRixPQUFPLEU5RG5Sc0IsR0FBRTs7QWlDdlpqQyxVQUFVLENBQVYsc0JBQVU7RTZCc3FCVixFQUFFO0lBQ0EsT0FBTyxFQUFFLENBQUM7RUFFWixJQUFJO0lBQ0YsT0FBTyxFOURuUnNCLEdBQUU7O0ErRDNjbkMsQUFBQSxVQUFVLENBQUM7RUFDVCxPQUFPLEVBQUUsSUFBSTtFQUNiLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFNBQVMsRUFBRSxDQUFDO0VBQ1osV0FBVyxFQUFFLENBQUM7RUFDZCxXQUFXLEVBQUUsQ0FBQztFQUNkLFVBQVUsRUFBRSxHQUFHLEdBQ2hCOztBQUVELEFBQUEsZUFBZSxDQUFDO0VBQ2QsT0FBTyxFQUFFLElBQUk7RUFDYixRQUFRLEVBQUUsTUFBTTtFQUNoQixTQUFTLEVBQUUsQ0FBQztFQUNaLFdBQVcsRUFBRSxDQUFDO0VBQ2QsVUFBVSxFQUFFLEdBQUcsR0FNaEI7RUFYRCxBQU9FLGVBUGEsQ0FPYixHQUFHO0VBUEwsZUFBZSxDQVFiLEdBQUcsQ0FBQztJQUNGLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBR0gsQUFBQSxlQUFlLENBQUM7RUFDZCxPQUFPLEVBQUUsS0FBSztFQUNkLFdBQVcsRUFBRSxDQUFDLEdBQ2Y7O0FBRUQsQUFBQSxVQUFVLENBQUMsc0JBQXNCLENBQUM7RUFDaEMsT0FBTyxFQUFFLEtBQUssR0FDZjs7QUE2QkQsQUFBQSxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7RUFDM0IsYUFBYSxFQUFFLE9BQXlDO0VBQ3hELFlBQVksRUFBRSxPQUF5QyxHQUN4RDs7QUFFRCxBQUFBLG1CQUFtQixDQUFDLFVBQVU7QUFDOUIsbUJBQW1CLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDO0VBQ2hELE9BQU8sRUFBRSxlQUFlLEdBQ3pCOztBQUVELEFBQUEsSUFBSyxDRFRMLGVBQWUsSUNTUyxpQkFBaUIsQUFBQSxrQkFBa0IsQUFBQSxJQUFLLENEVGhFLGVBQWUsQ0NTaUUsSUFBSyxDM0JxTHJFLE1BQU0sRTJCckx1RTtFQXZCekY7O09BRUcsRUF1Qk47RUFGRCxBQWxDSSxJQWtDQyxDRFRMLGVBQWUsSUNTUyxpQkFBaUIsQUFBQSxrQkFBa0IsQUFBQSxJQUFLLENEVGhFLGVBQWUsQ0NTaUUsSUFBSyxDM0JxTHJFLE1BQU0sRTJCdk5sQixVQUFVLENBQUM7SUFDUCxhQUFhLEVBQUUsQ0FBQztJQUNoQixZQUFZLEVBQUUsQ0FBQztJQUNmLEtBQUssRS9EK2hCNEIsUUFBUSxHK0Q5aEI1QztFQThCTCxBQTVCSSxJQTRCQyxDRFRMLGVBQWUsSUNTUyxpQkFBaUIsQUFBQSxrQkFBa0IsQUFBQSxJQUFLLENEVGhFLGVBQWUsQ0NTaUUsSUFBSyxDM0JxTHJFLE1BQU0sRTJCak5sQixlQUFlO0VBNEJuQixJQUFLLENEVEwsZUFBZSxJQ1NTLGlCQUFpQixBQUFBLGtCQUFrQixBQUFBLElBQUssQ0RUaEUsZUFBZSxDQ1NpRSxJQUFLLEMzQnFMckUsTUFBTSxFMkJoTmxCLGVBQWUsQ0FBQztJQUNaLFlBQVksRUFBRSxJQUFJO0lBQ2xCLFdBQVcsRUFBRSxJQUFJLEdBQ3BCO0VBd0JMLEFBcEJJLElBb0JDLENEVEwsZUFBZSxJQ1NTLGlCQUFpQixBQUFBLGtCQUFrQixBQUFBLElBQUssQ0RUaEUsZUFBZSxDQ1NpRSxJQUFLLEMzQnFMckUsTUFBTSxFMkJ6TWxCLGVBQWUsQ0FBQztJQUNaLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBa0JMLEFBaEJLLElBZ0JBLENEVEwsZUFBZSxJQ1NTLGlCQUFpQixBQUFBLGtCQUFrQixBQUFBLElBQUssQ0RUaEUsZUFBZSxDQ1NpRSxJQUFLLEMzQnFMckUsTUFBTSxFMkJyTWpCLGVBQWU7RUFnQnBCLElBQUssQ0RUTCxlQUFlLElDU1MsaUJBQWlCLEFBQUEsa0JBQWtCLEFBQUEsSUFBSyxDRFRoRSxlQUFlLENDU2lFLElBQUssQzNCcUxyRSxNQUFNLEUyQnBNbEIsVUFBVSxDQUFDLHNCQUFzQixDQUFDO0lBQzlCLE9BQU8sRUFBRSxJQUFJLEdBQ2hCOztBQWlCTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFDdEIsQUFBQSxpQkFBaUIsQUFBQSxJQUFLLENENEhBLGlCQUFpQixDQzVIQyxJQUFLLENENEhBLHVCQUF1QixFQzVIRSxlQUFlLEFBQUEsSUFBSyxDM0JnTDVFLE1BQU0sRTJCaEw4RTtJQTVCaEc7O09BRUcsRUE0Qko7SUFGRCxBQXZDRSxpQkF1Q2UsQUFBQSxJQUFLLENENEhBLGlCQUFpQixDQzVIQyxJQUFLLENENEhBLHVCQUF1QixFQzVIRSxlQUFlLEFBQUEsSUFBSyxDM0JnTDVFLE1BQU0sRTJCdk5sQixVQUFVLENBQUM7TUFDUCxhQUFhLEVBQUUsQ0FBQztNQUNoQixZQUFZLEVBQUUsQ0FBQztNQUNmLEtBQUssRS9EK2hCNEIsUUFBUSxHK0Q5aEI1QztJQW1DSCxBQWpDRSxpQkFpQ2UsQUFBQSxJQUFLLENENEhBLGlCQUFpQixDQzVIQyxJQUFLLENENEhBLHVCQUF1QixFQzVIRSxlQUFlLEFBQUEsSUFBSyxDM0JnTDVFLE1BQU0sRTJCak5sQixlQUFlO0lBaUNqQixpQkFBaUIsQUFBQSxJQUFLLENENEhBLGlCQUFpQixDQzVIQyxJQUFLLENENEhBLHVCQUF1QixFQzVIRSxlQUFlLEFBQUEsSUFBSyxDM0JnTDVFLE1BQU0sRTJCaE5sQixlQUFlLENBQUM7TUFDWixZQUFZLEVBQUUsSUFBSTtNQUNsQixXQUFXLEVBQUUsSUFBSSxHQUNwQjtJQTZCSCxBQXpCRSxpQkF5QmUsQUFBQSxJQUFLLENENEhBLGlCQUFpQixDQzVIQyxJQUFLLENENEhBLHVCQUF1QixFQzVIRSxlQUFlLEFBQUEsSUFBSyxDM0JnTDVFLE1BQU0sRTJCek1sQixlQUFlLENBQUM7TUFDWixPQUFPLEVBQUUsSUFBSSxHQUNoQjtJQXVCSCxBQXJCRyxpQkFxQmMsQUFBQSxJQUFLLENENEhBLGlCQUFpQixDQzVIQyxJQUFLLENENEhBLHVCQUF1QixFQzVIRSxlQUFlLEFBQUEsSUFBSyxDM0JnTDVFLE1BQU0sRTJCck1qQixlQUFlO0lBcUJsQixpQkFBaUIsQUFBQSxJQUFLLENENEhBLGlCQUFpQixDQzVIQyxJQUFLLENENEhBLHVCQUF1QixFQzVIRSxlQUFlLEFBQUEsSUFBSyxDM0JnTDVFLE1BQU0sRTJCcE1sQixVQUFVLENBQUMsc0JBQXNCLENBQUM7TUFDOUIsT0FBTyxFQUFFLElBQUksR0FDaEIifQ== */

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlbmRvci9jc3MvX2FwcHdvcmsvX3V0aWxpdGllcy5zY3NzIiwidmVuZG9yL2Nzcy9hcHB3b3JrLmNzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL192YXJpYWJsZXMuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19taXhpbnMuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX3RhYmxlcy5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fZnVuY3Rpb25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fYmFzZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBO0VBQXVCLHdCQUFBLEVBQUE7O0FDQXZCO0VEQStDLHVCQUFJLEVBQUE7O0FDQ25EO0VBQXlCLHdCQUF1QixFQUFJOztBREFwRDtFQUF1QixzQkFBQSxFQUFBOztBQ0d2QjtFQUF5QiwwQkFBcUMsRUFBSTs7QURGbEU7RUFBdUIsMkJBQUEsRUFBQTs7QUNJdkI7RURKOEMsMkJBQUksRUFBQTs7QUNLbEQ7RUFBeUIsMkJBQXVDLEVBQUk7O0FBRXBFO0VETG9ELDBCQUFjLEVBQUE7O0FDTWxFO0VBQXlCLDRCQUEyQixFQUFJOztBREx4RDtFQUF1QixnQ0FBQSxFQUFBOztBQ1F2QjtFQUF5QixxQ0FBMkUsRUFBSTs7QUFFeEc7RURUcUQsNEJBQWMsRUFBQTs7QUNVbkU7RUFBeUIsNEJBQTZDLEVBQUk7O0FEVDFFO0VBQXVCLDRCQUFB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LGVOMXFDVyxFQ3dnQlY7RUFaRDtJS29xQk0sMEJOaHFDSyxFTWlxQ1g7RUxycUJBO0lLd3FCRSxlTnBxQ1MsRU1xcUNUOztBQUxGO0VBQ0EsMEJManZDb0I7RUtrdkNwQixZTi9xQ1csRU9oR2I7RUQ2d0NFO0lBS0UsMkNObHJDUyxFQ2lpQlI7RUs0b0JIOztJQVdFLFlOeHJDUyxFQ3NpQlI7O0FBN0JIO0VLNHFCQSxzQk54cUNXO0VNeXFDWCwwQk56cUNXO0VNMHFDWCxlTjFxQ1csRUN3Z0JWO0VBWkQ7SUtvcUJNLDBCTmhxQ0ssRU1pcUNYO0VMcnFCQTtJS3dxQkUsZU5wcUNTLEVNcXFDVDs7QUFMRjtFQUNBLDBCTHZ2Q29CO0VLd3ZDcEIsWU4vcUNXLEVPaEdiO0VENndDRTtJQUtFLDJDTmxyQ1MsRUNpaUJSO0VLNG9CSDs7SUFXRSxZTnhyQ1MsRUNzaUJSOztBQTdCSDtFSzRxQkEsc0JOeHFDVztFTXlxQ1gsMEJOenFDVztFTTBxQ1gsZU4xcUNXLEVDd2dCVjtFQVpEO0lLb3FCTSwwQk5ocUNLLEVNaXFDWDtFTHJxQkE7SUt3cUJFLGVOcHFDUyxFTXFxQ1Q7O0FBTEY7RUFDQSwwQk50d0N1QztFTXV3Q3ZDLFlOL3FDVyxFT2hHYjtFRDZ3Q0U7SUFLRSwyQ05sckNTLEVDaWlCUjtFSzRvQkg7O0lBV0UsWU54ckNTLEVDc2lCUjs7QUE3Qkg7RUs0cUJBLHNCTnhxQ1c7RU15cUNYLDBCTnpxQ1c7RU0wcUNYLGVOMXFDVyxFQ3dnQlY7RUFaRDtJS29xQk0sMEJOaHFDSyxFTWlxQ1g7RUxycUJBO0lLd3FCRSxlTnBxQ1MsRU1xcUNUOztBQUxGO0VBQ0EsMEJOeHdDb0M7RU15d0NwQyxlTmxxQ1csRU83R2I7RUQ2d0NFO0lBS0UseUNOcnFDUyxFQ29oQlI7RUs0b0JIOztJQVdFLGVOM3FDUyxFQ3loQlI7O0FBN0JIO0VLNHFCQSxzQk54cUNXO0VNeXFDWCwwQk56cUNXO0VNMHFDWCxlTjFxQ1csRUN3Z0JWO0VBWkQ7SUtvcUJNLDBCTmhxQ0ssRU1pcUNYO0VMcnFCQTtJS3dxQkUsZU5wcUNTLEVNcXFDVDs7QUFMRjtFQUNBLDBCTDF2Q29CO0VLMnZDcEIsWU4vcUNXLEVPaEdiO0VENndDRTtJQUtFLDJDTmxyQ1MsRUNpaUJSO0VLNG9CSDs7SUFXRSxZTnhyQ1MsRUNzaUJSOztBQTdCSDtFSzRxQkEsc0JOeHFDVztFTXlxQ1gsMEJOenFDVztFTTBxQ1gsZU4xcUNXLEVDd2dCVjtFQVpEO0lLb3FCTSwwQk5ocUNLLEVNaXFDWDtFTHJxQkE7SUt3cUJFLGVOcHFDUyxFTXFxQ1Q7O0FBTEY7RUFDQSx3Q05seENnQztFTW14Q2hDLFlOL3FDVyxFT2hHYjtFRDZ3Q0U7SUFLRSwyQ05sckNTLEVDaWlCUjtFSzRvQkg7O0lBV0UsWU54ckNTLEVDc2lCUjs7QUQzb0JMO0VBQXlCLHlCRXdERztVRnhESCxpQkV3REcsRUR2RDNCOztBQUVEO0VBQ0UsY0RxSGEsRUF2SGY7O0FPWUU7RUFNRixvQk5jc0I7RU1idEIsWVBnRmEsRU8vRWI7O0FBUkU7RUFXRCwwQk5TcUIsRU1UckI7O0FBWEM7RU40b0I4Riw0QkF4bkIxRSxFQXduQjZHOztBTTVvQmpJO0VBYThCLDZCTk9WLEVNUFU7O0FBYjlCO0VBY21DLDJCTk1mLEVNTmU7O0FBZG5DO0VBTUYsb0JOUXNCO0VNUHRCLFlQZ0ZhLEVPL0ViOztBQVJFO0VBV0QsMEJOR3FCLEVNSHJCOztBQVhDO0VONG9COEYsNEJBOW5CMUUsRUE4bkI2Rzs7QU01b0JqSTtFQWE4Qiw2Qk5DVixFTURVOztBQWI5QjtFQWNtQywyQk5BZixFTUFlOztBQWRuQztFQU1GLG9CUFB5QztFT1F6QyxZUGdGYSxFTy9FYjs7QUFSRTtFQVdELDBCUFp3QyxFT1l4Qzs7QUFYQztFTjRvQjhGLDRCRDdvQnZELEVDNm9CMEY7O0FNNW9Cakk7RUFhOEIsNkJQZFMsRU9jVDs7QUFiOUI7RUFjbUMsMkJQZkksRU9lSjs7QUFkbkM7RUFNRixvQlBUc0M7RU9VdEMsZVA2RmEsRU81RmI7O0FBUkU7RUFXRCwwQlBkcUMsRU9jckM7O0FBWEM7RU40b0I4Riw0QkQvb0IxRCxFQytvQjZGOztBTTVvQmpJO0VBYThC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Q2Q7O0VDd0JJLHNMQUEwSixFRHZCOUo7O0FDMEJFOztFRHpCYSx3U0FBOEIsRUM0QjFDOztBRDNCWTs7RUFDZixtTEFBVSxFQUFFOztBQ2dFWjtFQUNFLGVEMUNGO0VDMkNFLHFCRHZDRyxFQ3dDSjs7QUFZRDtFRHhEQSxlQUFhO0VBQWIsbVhBNENPO0VBNUNQLDZCQUFhO0VBQWIseUZTdEZHO0VUc0ZILGlGU3RGRztFVHNGSCx5RVN0Rkc7RVRzRkgsK0dTdEZHLEVSNEtGO0VBOUJEO0lEeERBLHVCQTZDYyxFQTdDZDs7QUN5RkE7RUN0SUksK1dBQXlCLEVEMks1QjtFQXJDRDtJREZRLDJDQUtEO0lDT0gsWUFvQzRDO0lENUN4QywwQkFDRCxFQUxDO0VDRVI7SURDTSxzREFBcUM7SUFML0IsdUJBQUEsRUFLTjtFQ0ROO0lESk0sZ0NBQ3FDLEVBQXJDO0VDR047SURKTSxnQ0FDcUMsRUFBckM7RUNHTjtJREpNLGdDQUNxQyxFQUFyQztFQ0dOO0lESk0sZ0NBQ3FDLEVBQXJDO0VDR047SURBTSwwQkFBTSxFQUNOOztBT3JISjs7RUFDQSwyQ042SWlEO0VNN0lqRCwyQlAwS0c7RU96S0gsMkNBQ087RUFEUCxtQk5mNkI7RU1tQnZCLGlCUHZDUSxFQzZxQmI7RU01b0JEOztJSDNFRyxzQkFBQSxFQUNIOztBRzBFQTs7RUFDQSwwQ1BrSEs7RU9sSEwseUJOb1grRjtFTW5YL0YsMENBQ087RUFEUCxnQlBqRGlEO0VPcUQzQyxpQk5Yb0IsRUFpcEJ6QjtFTTVvQkQ7O0lIM0VHLHdCQUFBLEVBQ0g7O0FINFFGOztFRGxGTSxtQ0FBUztFQUNULGtDQUFxQztFQ3FGekMsd0JJNUlvQjtFTDBEaEIsa0NBQVMsRUNvRmQ7O0FBRUQ7OztFRHJGTSxtQ0FBcUM7RUFDbkMsa0NBQ0QsRUN5Rko7O0FBR0g7OztFRDdGUSxrQ0FDRDtFQVBELGlDQUFTLEVBQ1Q7O0FDOEdOO0VBQ0UsZUQ5R2tCO0VBRWQsWUFBUyxFQzhHZDs7QUFFRDtFRG5ITSw2QkFBcUM7RUNxSHpDLHlGUWpTQztFUmlTRCxpRlFqU0M7RVJpU0QseUVR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M3lCaEMsb0JJck9VO0lKc09SLHNCSTFPSjtJSmdQTSxPQUFBLEVMNnlCSDtFQUVEOztJS3B5QkksZ0JIeFRTLEVGa21DWjtFSy94QkQ7O0lBQ0UsZUhwVVcsRUdxVVg7RUFHRjs7SUFDQSxPSHpVb0I7SUcwVXBCLDRCSW5SRDtJSm9SRyxnQkVqSXdCO0lGa0l4QixpQkg1VWtCLEVHNlVsQjtFQUxGOztJQUNBLHVCSWxSRDtJSm1SQyx1QkFBMEIsRUx3eUJ6QjtFQUVEOztJS3Q5QkEsd0JBQVc7SUFDVCxzQkl4R0gsRUp5R0c7O0FMb2dDRjs7RUsxK0JFLHNCSTVHbUI7RVRzL0JyQixvQlNyL0JrQjtFSjhHbEIsZ0JOcktpRDtFTXNLakQsa0JJN0dRLEVUc2xDUDtFQTVGRDs7SUtoNEJBLGtCQUFxQixFQUNyQjtFQUVFOztJQUNBLGVJakltQjtJVG1nQ25CLGdCQUE4QjtJSzN5QmhDLG9CSXJPVTtJSnNPUixxQkl4TmdCO0lKOE5kLE9BQUEsRUw2eUJIO0VBRUQ7O0lLcHlCSSxhSHhUUyxFRmttQ1o7RUsveEJEOztJQUNFLGFIcFVXLEVHcVVYO0VBR0Y7O0lBQ0EsT0h6VW9CO0lHMFVwQiw0QkluUkQ7SUpvUkcsZUVqSXdCO0lGa0l4QixnQkg1VWtCLEVHNlVsQjtFQUxGOztJQUNBLHVCSWxSRDtJSm1SQyxxQkFBMEIsRUx3eUJ6QjtFQUVEOztJS3Q5QkEsc0JBQVc7SUFDVCxzQkl4R0gsRUp5R0c7O0FBMEtGO0VBQ0Usb0JMNVNrQjtFSzZTbEIsWU4xT1MsRU0yT1Q7O0FBTEY7RUFDQSx1REwxU29CO1VLMFNwQiwrQ0wxU29CLEVLMlNwQjs7QUw2MkJBO0VBQ0Usb0NBQTJCO1VBQTNCLDRCQUEyQixFSzFoQzdCOztBQTRLQTtFQUNFLG9CTGxUa0I7RUttVGxCLFlOMU9TLEVNMk9UOztBQUxGO0VBQ0EscURMaFRvQjtVS2dUcEIsNkNMaFRvQixFS2lUcEI7O0FMNjJCQTtFQUNFLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUsxaEM3Qjs7QUE0S0E7RUFDRSxvQk5qVXFDO0VNa1VyQyxZTjFPUyxFTTJPVDs7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VUFBQTtFQUFBLHdCQUFhO0VBQWIseUJBQWE7VUFBYixpQkFBYSxFQ3NFVjs7QUFmSDtFRGdCSSxtQkFBZ0I7RUFBRSxXQUFPO0VBQ3pCLGlCQTZESDtFQTdEc0IsZ0JBQU87RUNLMUIsd0JBQWU7VUFBZixnQkFBZSxFQU1oQjs7QUFRSDtFQUNFLGdERHJCOEM7VUNxQjlDLHdDRHJCOEMsRUNzQi9DOztBQUVEO0VEVk0sMENBQU07VUFBTixrQ0FBTSxFQUNOOztBQUlBOztFQ2FKLHFDQUE0QjtVQUE1Qiw2QkFBNEIsRURsQnhCOztBQ3FCTjs7RURqQk0saUNBQU07VUFBTix5QkFBTSxFQUNOOztBQUpBOztFQzZCSixvQ0FBMkI7VUFBM0IsNEJBQTJCLEVEOUJ2Qjs7QUNxQ047O0VEakNNLDRDQUFNO1VBQU4sb0NBQU0sRUFDTjs7QUFKQTs7RUM2Q0osbUNBQXdCO1VBQXhCLDJCQUF3QixFRDFDcEI7O0FDNkNOOztFRGpETSwrQkFBTTtVQUFOLHVCQUFNLEVBQ047O0FBM0xOOztFQ0NFLGVEaUhXLEVDNUdaO0VERkQ7O0lDQUksZURjc0MsRUFkbkI7O0FVcUd2QjtFQWtCTSxrQ0FBVztFVHdjYiwwQkRqZFM7RU1ncUNYLGVOaHFDVyxFTWlxQ1g7O0FBRUU7O0VBRUEsZU5ycUNTLEVNcXFDVDtFTmx4Q3FCOzs7SU1zeEN2QiwwQk56cUNXO0lNMHFDWCxlTjFxQ1csRUE1R1k7RU0rd0NyQjs7SUFGSSxzQkxqdkNjO0lLa3ZDZCwwQkxsdkNjO0lLbXZDbEIsZU5ucUNTLEVNb3FDVDs7QUk3cUNKO0VBa0JNLGtDQUFXO0VUd2NiLDBCRGpkUztFTWdxQ1gsZU5ocUNXLEVNaXFDWDs7QUFFRTs7RUFFQSxlTnJxQ1MsRU1xcUNUO0VObHhDcUI7OztJTXN4Q3ZCLDBCTnpxQ1c7SU0wcUNYLGVOMXFDVyxFQTVHWTtFTSt3Q3JCOztJQUZJLHNCTHZ2Q2M7SUt3dkNkLDBCTHh2Q2M7SUt5dkNsQixlTm5xQ1MsRU1vcUNUOztBSTdxQ0o7RUFrQk0sa0NBQVc7RVR3Y2IsMEJEamRTO0VNZ3FDWCxlTmhxQ1csRU1pcUNYOztBQUVFOztFQUVBLGVOcnFDUyxFTXFxQ1Q7RU5seENxQjs7O0lNc3hDdkIsMEJOenFDVztJTTBxQ1gsZU4xcUNXLEVBNUdZO0VNK3dDckI7O0lBRkksc0JOdHdDaUM7SU11d0NqQywwQk52d0NpQztJTXd3Q3JDLGVObnFDUyxFTW9xQ1Q7O0FJN3FDSjtFQWtCTSxrQ0FBVztFVHdjYiwwQkRqZFM7RU1ncUNYLGVOaHFDVyxFTWlxQ1g7O0FBRUU7O0VBRUEsZU5ycUNTLEVNcXFDVDtFTmx4Q3FCOzs7SU1zeEN2QiwwQk56cUNXO0lNMHFDWCxlTjFxQ1csRUE1R1k7RU0rd0NyQjs7SUFGSSxzQk54d0M4QjtJTXl3QzlCLDBCTnp3QzhCO0lNMHdDbEMsZU5ucUNTLEVNb3FDVDs7QUk3cUNKO0VBa0JNLGtDQUFXO0VUd2NiLDBCRGpkUztFTWdxQ1gsZU5ocUNXLEVNaXFDWDs7QUFFRTs7RUFFQSxlTnJxQ1MsRU1xcUNUO0VObHhDcUI7OztJTXN4Q3ZCLDBCTnpxQ1c7SU0wcUNYLGVOMXFDVyxFQTVHWTtFTSt3Q3JCOztJQUZJLHNCTDF2Q2M7SUsydkNkLDBCTDN2Q2M7SUs0dkNsQixlTm5xQ1MsRU1vcUNUOztBSTdxQ0o7RUFrQk0sa0NBQVc7RVR3Y2IsMEJEamRTO0VNZ3FDWCxlTmhxQ1csRU1pcUNYOztBQUVFOztFQUVBLGVOcnFDUyxFTXFxQ1Q7RU5seENxQjs7O0lNc3hDdkIsMEJOenFDVztJTTBxQ1gsZU4xcUNXLEVBNUdZO0VNK3dDckI7O0lBRkksb0NObHhDMEI7SU1teEMxQix3Q05ueEMwQjtJTW94QzlCLGVObnFDUyxFTW9xQ1Q7O0FOdHhDSjtFQUF5QixXQUFTLEVDQ2pDOztBQUVEO0VBQ0UsY0E4bEJzQyxFRGhtQnhDOztBQ2dCQTtFQUNFLGdDRGxCcUIsRUFRdkI7O0FDYUE7RURaQSwyQ0FBdUIsRUNjdEI7O0FEYkQ7RUFBeUIsNkJBVlMsRUMyQmpDOztBQUVEO0VBQ0Usd0NBQThDLEVEaEJoRDs7QUFDQTs7O0VBQ0EscUJBQUE7TUFBQSxlQUFBLEVDc0JDOztBRHBCRDtFQUF5Qix1Q0FB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O0VBMERGLG9CQUFBO01BQUEscUJBQUE7VUFBQSxhQUFBO0VDeUJFLHFCRGZZO01DZVosZURmWTtFQ2dCWixzQkt5cENDO0VMeHBDRCxnQk9JNkMsRVBFOUM7O0FBRUQ7RUFDRSxZRHBCVztFQ3FCWCxVRHBCSTtFQ3FCSixzQkRwQlcsRUNxQlo7O0FBS0Q7RUFDRSxpQkQ3Q1c7RUM4Q1gsNkJEdkNHO0VDdUNILDhCRHZDRztNQ3VDSCwyQkR2Q0c7VUN1Q0gsdUJEdkNHLEVDK0lKO0VBMUdEO0lBS0ksK0JLb29DK0I7SUxwb0MvQix1Qktvb0MrQixFTG5vQ2hDO0VBTkg7Ozs7SUFZSSxpQlNyQ0MsRVZuQkw7RUM0Q0E7SUQ1Q0EsNkJBQWE7SUFBYiw4QkFBYTtRQUFiLDJCQUFhO1lBQWIsdUJBQWE7SUFBYixvQkFBYTtRQUFiLG1CQUFhO1lBQWIsZUFBYSxFQUFiO0lDNENBO01ENUNBLG9CQXlDTyxFQXpDUDtFQzRDQTs7O0lBMkJJLHNCS3dtQ3FCLEVKNXRDckI7RUR5Rko7SUQ0Qkksb0JNc21DMEI7SU50bUNQLHVCTXNtQ087SUxqbUMxQixXQUFVLEVDMUhWO0VEeUZKO0lENEJJLG1DQUFpQixFQWFmO0lDekNOO01BNkNNLFlLc2xDbUIsRUxobENwQjtFQW5ETDtJQXVESSxzQks2a0M4QjtJTnZsQzVCLHlCTXVsQzRCLEVOemxDMUI7SUMzQ1I7TUEyRE0sc0JLeWtDNEI7TU4zbEN0Qix5Qk0ybENzQixFTjFsQzVCO0VDMUNOO0lEOENNLGVNc2xDNEIsRU5ybEMxQjtFQy9DUjtJRDBDTSxnQkFBcUMsRUFLbkM7RUMvQ1I7SUQrQ1EsbUJDZ0NzSCxFRGxDeEg7RUM3Q047SUQrQ1EsbUJBQ0QsRUFIRDtFQzdDTjtJRCtDUSxtQkFDRCxFQUhEO0VDN0NOO0lEK0NRLG1CQUNELEVBSEQ7RUM3Q047SUQrQ1EsbUJBQ0QsRUFIRDs7QUNtRU47RUR2RU0sK0JBQVM7RUFBVCw4QkFBUztNQUFULHdCQUFTO1VBQVQsb0JBQVM7RUFDVCxZQUFxQyxFQ29LMUM7RUE5RkQ7SURsRU0saUJBQXFDO0lBQ25DLCtCSzlE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OEI5Qjs7QUFpQkw7RUQ1QkE7SUF2QnlCOztPQUN6QixFQXdCRTtJQ1pFO01EaEJKLGlCQUF1QjtNQUFFLGdCQUFnQztNQ21CakQsZ0JTd0ZKLEVWMUdKO0lDcUJJOztNRHBCcUIsbUJBQWlDO01DdUJsRCxrQkFBaUIsRUR0QnpCO0lBQ3lCO01DMkJqQixxQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYSxFRHpCckI7SUM0Qks7O01EM0JvQixjQUFVLEVDOEI5QixFQUFBOztBQW84SUwsMGhobUJBQTBoaG1CIiwiZmlsZSI6InZlbmRvci9jc3MvYXBwd29yay5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBVdGlsaXRpZXNcclxuLy9cclxuXHJcbi5vcGFjaXR5LTI1ICAgICAgICAgICAgeyBvcGFjaXR5OiAuMjUgIWltcG9ydGFudDsgfVxyXG4ub3BhY2l0eS01MCAgICAgICAgICAgIHsgb3BhY2l0eTogLjUgIWltcG9ydGFudDsgfVxyXG4ub3BhY2l0eS03NSAgICAgICAgICAgIHsgb3BhY2l0eTogLjc1ICFpbXBvcnRhbnQ7IH1cclxuLm9wYWNpdHktMTAwICAgICAgICAgICB7IG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxyXG5cclxuLnRleHQtdGlueSAgICAgICAgICAgICB7IGZvbnQtc2l6ZTogJHRpbnktZm9udC1zaXplICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtYmlnICAgICAgICAgICAgICB7IGZvbnQtc2l6ZTogJGJpZy1mb250LXNpemUgIWltcG9ydGFudDsgfVxyXG4udGV4dC1sYXJnZSAgICAgICAgICAgIHsgZm9udC1zaXplOiAkbGFyZ2UtZm9udC1zaXplICFpbXBvcnRhbnQ7IH1cclxuLnRleHQteGxhcmdlICAgICAgICAgICB7IGZvbnQtc2l6ZTogJHhsYXJnZS1mb250LXNpemUgIWltcG9ydGFudDsgfVxyXG5cclxuLmxpbmUtaGVpZ2h0LTEgICAgICAgICB7IGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7IH1cclxuLmxpbmUtaGVpZ2h0LWNvbmRlbmNlZCB7IGxpbmUtaGVpZ2h0OiAxLjMgIWltcG9ydGFudDsgfVxyXG4ubGluZS1oZWlnaHQtaW5oZXJpdCAgIHsgbGluZS1oZWlnaHQ6IGluaGVyaXQgIWltcG9ydGFudDsgfVxyXG5cclxuLnRleHQtZXhwYW5kZWQgICAgICAgICB7IGxldHRlci1zcGFjaW5nOiAoKDEgLyAoc3RyaXAtdW5pdCgkZm9udC1zaXplLWJhc2UpICogMTYpKSAqIDFlbSkgIWltcG9ydGFudDsgfVxyXG5cclxuLmZvbnQtd2VpZ2h0LWxpZ2h0ICAgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQgIWltcG9ydGFudDsgfVxyXG4uZm9udC13ZWlnaHQtc2VtaWJvbGQgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pYm9sZCAhaW1wb3J0YW50OyB9XHJcbi5mb250LXdlaWdodC1ib2xkZXIgICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlciAhaW1wb3J0YW50OyB9XHJcbi50ZXh0LWRlY29yYXRpb24tbm9uZSAgeyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxyXG4udGV4dC10cmFuc2Zvcm0tbm9uZSAgIHsgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsgfVxyXG5cclxuLm92ZXJmbG93LWhpZGRlbiAgICAgICB7IG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsgfVxyXG4ub3ZlcmZsb3ctc2Nyb2xsICAgICAgIHsgb3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50OyB9XHJcbi5vdmVyZmxvdy1hdXRvICAgICAgICAgeyBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50OyB9XHJcblxyXG4uYm94LXNoYWRvdy1ub25lICAgICAgIHsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XHJcblxyXG4uY3Vyc29yLXBvaW50ZXIgICAgICAgIHsgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7IH1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBMYXlvdXQgY29udGFpbmVyc1xyXG5cclxuLmNvbnRhaW5lci1wLXgge1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy14LXNtICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmcteC1zbSAhaW1wb3J0YW50O1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmcteCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmcteCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4uY29udGFpbmVyLW0tLXgge1xyXG4gIG1hcmdpbi1yaWdodDogLSRjb250YWluZXItcGFkZGluZy14LXNtICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWxlZnQ6IC0kY29udGFpbmVyLXBhZGRpbmcteC1zbSAhaW1wb3J0YW50O1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0kY29udGFpbmVyLXBhZGRpbmcteCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0kY29udGFpbmVyLXBhZGRpbmcteCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLmNvbnRhaW5lci1wLXkge1xyXG4gICY6bm90KFtjbGFzc149XCJwdC1cIl0pOm5vdChbY2xhc3MqPVwiIHB0LVwiXSkge1xyXG4gICAgcGFkZGluZy10b3A6ICRjb250YWluZXItcGFkZGluZy15ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gICY6bm90KFtjbGFzc149XCJwYi1cIl0pOm5vdChbY2xhc3MqPVwiIHBiLVwiXSkge1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRjb250YWluZXItcGFkZGluZy15ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbi5jb250YWluZXItbS0teSB7XHJcbiAgJjpub3QoW2NsYXNzXj1cIm10LVwiXSk6bm90KFtjbGFzcyo9XCIgbXQtXCJdKSB7XHJcbiAgICBtYXJnaW4tdG9wOiAtJGNvbnRhaW5lci1wYWRkaW5nLXkgIWltcG9ydGFudDtcclxuICB9XHJcbiAgJjpub3QoW2NsYXNzXj1cIm1iLVwiXSk6bm90KFtjbGFzcyo9XCIgbWItXCJdKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAtJGNvbnRhaW5lci1wYWRkaW5nLXkgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBUcmFuc2Zvcm1zXHJcbi8vXHJcblxyXG4ucm90YXRlLTkwIHsgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XHJcbi5yb3RhdGUtMTgwIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxyXG4ucm90YXRlLTI3MCB7IHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cclxuLnJvdGF0ZS0tOTAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyB9XHJcbi5yb3RhdGUtLTE4MCB7IHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpOyB9XHJcbi5yb3RhdGUtLTI3MCB7IHRyYW5zZm9ybTogcm90YXRlKC0yNzBkZWcpOyB9XHJcbi5yb3RhdGUtMCB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5zY2FsZVgtLTEgeyB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7IH1cclxuLnNjYWxlWS0tMSB7IHRyYW5zZm9ybTogc2NhbGVZKC0xKTsgfVxyXG5cclxuQGluY2x1ZGUgcnRsLW9ubHkge1xyXG4gIC5yb3RhdGUtOTAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyB9XHJcbiAgLnJvdGF0ZS0xODAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxyXG4gIC5yb3RhdGUtMjcwIHsgdHJhbnNmb3JtOiByb3RhdGUoLTI3MGRlZyk7IH1cclxuICAucm90YXRlLS05MCB7IHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxyXG4gIC5yb3RhdGUtLTE4MCB7IHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cclxuICAucm90YXRlLS0yNzAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XHJcblxyXG4gIC5zY2FsZVgtLTEgeyB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgfVxyXG4gIC5zY2FsZVktLTEgeyB0cmFuc2Zvcm06IHNjYWxlWSgxKTsgfVxyXG5cclxuICAuc2NhbGVYLS0xLXJ0bCB7IHRyYW5zZm9ybTogc2NhbGVYKC0xKTsgfVxyXG4gIC5zY2FsZVktLTEtcnRsIHsgdHJhbnNmb3JtOiBzY2FsZVkoLTEpOyB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBCb3JkZXJlZCByb3dzXHJcblxyXG4ucm93LWJvcmRlcmVkIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgPiAuY29sLFxyXG4gICA+IFtjbGFzc149XCJjb2wtXCJdLFxyXG4gICA+IFtjbGFzcyo9XCIgY29sLVwiXSxcclxuICAgPiBbY2xhc3NePVwiY29sIFwiXSxcclxuICAgPiBbY2xhc3MqPVwiIGNvbCBcIl0sXHJcbiAgID4gW2NsYXNzJD1cIiBjb2xcIl0sXHJcbiAgID4gW2NsYXNzPVwiY29sXCJdIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmctdG9wOiAxcHg7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAtMXB4O1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlcmVkLXJvdy1ib3JkZXItY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBsZWZ0OiAtMXB4O1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDA7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJvcmRlcmVkLXJvdy1ib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLnJvdy1ib3JkZXItbGlnaHQge1xyXG4gICAgID4gLmNvbCxcclxuICAgICA+IFtjbGFzc149XCJjb2wtXCJdLFxyXG4gICAgID4gW2NsYXNzKj1cIiBjb2wtXCJdLFxyXG4gICAgID4gW2NsYXNzXj1cImNvbCBcIl0sXHJcbiAgICAgPiBbY2xhc3MqPVwiIGNvbCBcIl0sXHJcbiAgICAgPiBbY2xhc3MkPVwiIGNvbFwiXSxcclxuICAgICA+IFtjbGFzcz1cImNvbFwiXSB7XHJcbiAgICAgICY6OmJlZm9yZSxcclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGdyYXktMTAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBydGwtb25seSB7XHJcbiAgLnJvdy1ib3JkZXJlZCA+IC5jb2w6OmFmdGVyLFxyXG4gIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3NePVwiY29sLVwiXTo6YWZ0ZXIsXHJcbiAgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyo9XCIgY29sLVwiXTo6YWZ0ZXIsXHJcbiAgLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149XCJjb2wgXCJdOjphZnRlcixcclxuICAucm93LWJvcmRlcmVkID4gW2NsYXNzKj1cIiBjb2wgXCJdOjphZnRlcixcclxuICAucm93LWJvcmRlcmVkID4gW2NsYXNzJD1cIiBjb2xcIl06OmFmdGVyLFxyXG4gIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3M9XCJjb2xcIl06OmFmdGVyIHtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICByaWdodDogLTFweDtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBXaWR0aFxyXG5cclxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gc2xpY2UtbGlzdChtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cyksIDIpIHtcclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XHJcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcclxuICAgIC53I3skaW5maXh9LTEwMCB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cclxuICAgIC53I3skaW5maXh9LWF1dG8geyB3aWR0aDogYXV0byAhaW1wb3J0YW50OyB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTmVnYXRpdmUgaG9yaXpvbnRhbCBtYXJnaW5zXHJcblxyXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcclxuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xyXG4gICAgJHJ0bC1wcmVmaXg6IGlmKCRydGwtc3VwcG9ydCA9PSB0cnVlLCAnaHRtbDpub3QoW2Rpcj1ydGxdKSBib2R5Om5vdChbZGlyPXJ0bF0pICcsICcnKTtcclxuXHJcbiAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XHJcbiAgICAgICN7JHJ0bC1wcmVmaXh9Lm1yI3skaW5maXh9LS0jeyRzaXplfSxcclxuICAgICAgI3skcnRsLXByZWZpeH0ubXgjeyRpbmZpeH0tLSN7JHNpemV9IHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgICAgI3skcnRsLXByZWZpeH0ubWwjeyRpbmZpeH0tLSN7JHNpemV9LFxyXG4gICAgICAjeyRydGwtcHJlZml4fS5teCN7JGluZml4fS0tI3skc2l6ZX0ge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaWYgJHJ0bC1zdXBwb3J0ID09IHRydWUge1xyXG4gICAgICAgIC5tciN7JGluZml4fS0tI3skc2l6ZX0sXHJcbiAgICAgICAgLm14I3skaW5maXh9LS0jeyRzaXplfSB7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsZW5ndGggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1sI3skaW5maXh9LS0jeyRzaXplfSxcclxuICAgICAgICAubXgjeyRpbmZpeH0tLSN7JHNpemV9IHtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBGbGV4XHJcblxyXG4uZmxleC10cnVuY2F0ZSAgeyBtaW4td2lkdGg6IDAgIWltcG9ydGFudDsgfVxyXG5cclxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XHJcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcclxuICAgIC5mbGV4LWJhc2lzI3skaW5maXh9LTEwMCB7IGZsZXgtYmFzaXM6IDEwMCUgIWltcG9ydGFudDsgfVxyXG4gICAgLmZsZXgtYmFzaXMjeyRpbmZpeH0tYXV0byB7IGZsZXgtYmFzaXM6IGF1dG8gIWltcG9ydGFudDsgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gSUUgZml4XHJcbi5kLWZsZXgsXHJcbi5kLWlubGluZS1mbGV4LFxyXG4ubWVkaWEsXHJcbi5tZWRpYSA+IDpub3QoLm1lZGlhLWJvZHkpLFxyXG4uanVtYm90cm9uLFxyXG4uY2FyZCB7XHJcbiAgZmxleC1zaHJpbms6IDE7XHJcbn1cclxuLy8gRml4IElFIHBhcmVudCBjb250YWluZXIgaGVpZ2h0IGJ1ZyB3aGVuIGNvbnRhaW5pbmcgaW1hZ2Ugd2l0aCBmbHVpZCB3aWR0aFxyXG4uaWUtbWgtMSB7XHJcbiAgbWluLWhlaWdodDogMXB4O1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogVGV4dCBjb2xvclxyXG5cclxuLnRleHQtZGFyayB7XHJcbiAgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7XHJcblxyXG4gICZbaHJlZl0ge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJjpmb2N1czpub3QoOmhvdmVyKSB7XHJcbiAgICAgIGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnRleHQtbXV0ZWRbaHJlZl0ge1xyXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgY29sb3I6ICR0ZXh0LW11dGVkLWhvdmVyICFpbXBvcnRhbnQ7IH1cclxufVxyXG5cclxuLnRleHQtbGlnaHQge1xyXG4gIGNvbG9yOiAkdGV4dC1saWdodCAhaW1wb3J0YW50O1xyXG5cclxuICAmW2hyZWZdIHtcclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgY29sb3I6ICR0ZXh0LW11dGVkLWhvdmVyICFpbXBvcnRhbnQ7IH1cclxuICB9XHJcbn1cclxuXHJcbi50ZXh0LWxpZ2h0ZXIge1xyXG4gIGNvbG9yOiAkdGV4dC1saWdodGVyICFpbXBvcnRhbnQ7XHJcblxyXG4gICZbaHJlZl0ge1xyXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBjb2xvcjogJHRleHQtbXV0ZWQtaG92ZXIgIWltcG9ydGFudDsgfVxyXG4gIH1cclxufVxyXG5cclxuLnRleHQtbGlnaHRlc3Qge1xyXG4gIGNvbG9yOiAkdGV4dC1saWdodGVzdCAhaW1wb3J0YW50O1xyXG5cclxuICAmW2hyZWZdIHtcclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgY29sb3I6ICR0ZXh0LW11dGVkLWhvdmVyICFpbXBvcnRhbnQ7IH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQmFja2dyb3VuZCBjb2xvclxyXG5cclxuLmJnLWRhcmsgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS05MDAgIWltcG9ydGFudDsgfVxyXG5hLmJnLWRhcmsge1xyXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktOTAwICFpbXBvcnRhbnQ7IH1cclxufVxyXG5cclxuLmJnLWxpZ2h0IHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTAwICFpbXBvcnRhbnQ7IH1cclxuYS5iZy1saWdodCB7XHJcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0yMDAgIWltcG9ydGFudDsgfVxyXG59XHJcblxyXG4uYmctbGlnaHRlciB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5LTUwICFpbXBvcnRhbnQ7IH1cclxuYS5iZy1saWdodGVyIHtcclxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5LTEwMCAhaW1wb3J0YW50OyB9XHJcbn1cclxuXHJcbi5iZy1saWdodGVzdCB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5LTI1ICFpbXBvcnRhbnQ7IH1cclxuYS5iZy1saWdodGVzdCB7XHJcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS01MCAhaW1wb3J0YW50OyB9XHJcbn1cclxuXHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQm9yZGVyIGNvbG9yXHJcblxyXG4uYm9yZGVyLWxpZ2h0IHtcclxuICBib3JkZXItY29sb3I6ICRncmF5LTEwMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYm9yZGVyLWRhcmsge1xyXG4gIGJvcmRlci1jb2xvcjogJGdyYXktOTAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ib3JkZXItdHJhbnNwYXJlbnQge1xyXG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFJUTFxyXG5cclxuQGluY2x1ZGUgcnRsLW9ubHkge1xyXG4gIC8vIEJvcmRlcnNcclxuICAvL1xyXG5cclxuICAuYm9yZGVyICAgICAgICAgIHsgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxyXG4gIC5ib3JkZXItMCAgICAgICAgeyBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxyXG4gIC5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cclxuICAuYm9yZGVyLXJpZ2h0LTAgIHsgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxyXG4gIC5ib3JkZXItYm90dG9tLTAgeyBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cclxuICAuYm9yZGVyLWxlZnQtMCAgIHsgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XHJcbiAgICAuYm9yZGVyLSN7JGNvbG9yfSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYm9yZGVyLXdoaXRlIHtcclxuICAgIGJvcmRlci1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAucm91bmRlZCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAucm91bmRlZC10b3Age1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAucm91bmRlZC1yaWdodCB7XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcclxuICB9XHJcbiAgLnJvdW5kZWQtYm90dG9tIHtcclxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcclxuICB9XHJcbiAgLnJvdW5kZWQtbGVmdCB7XHJcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnJvdW5kZWQtY2lyY2xlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnJvdW5kZWQtMCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAvLyBGbG9hdFxyXG4gIC8vXHJcblxyXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XHJcbiAgICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xyXG5cclxuICAgICAgLmZsb2F0I3skaW5maXh9LWxlZnQgIHsgQGluY2x1ZGUgZmxvYXQtcmlnaHQ7IH1cclxuICAgICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgQGluY2x1ZGUgZmxvYXQtbGVmdDsgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUmVzcG9uc2l2ZSBhbGlnbm1lbnRcclxuICAvL1xyXG5cclxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xyXG4gICAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcclxuXHJcbiAgICAgIC50ZXh0I3skaW5maXh9LWxlZnQgICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cclxuICAgICAgLnRleHQjeyRpbmZpeH0tcmlnaHQgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTcGFjaW5nXHJcbiAgLy9cclxuXHJcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcclxuICAgICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XHJcblxyXG4gICAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XHJcbiAgICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xyXG5cclxuICAgICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxyXG4gICAgICAgICAgLiN7JGFiYnJldn10I3skaW5maXh9LSN7JHNpemV9LFxyXG4gICAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcclxuICAgICAgICAgICAgI3skcHJvcH0tdG9wOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXHJcbiAgICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xyXG4gICAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXHJcbiAgICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xyXG4gICAgICAgICAgICAjeyRwcm9wfS1ib3R0b206ICRsZW5ndGggIWltcG9ydGFudDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSxcclxuICAgICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XHJcbiAgICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXHJcbiAgICAgIC5tI3skaW5maXh9LWF1dG8geyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxyXG4gICAgICAubXQjeyRpbmZpeH0tYXV0byxcclxuICAgICAgLm15I3skaW5maXh9LWF1dG8ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgICAubXIjeyRpbmZpeH0tYXV0byxcclxuICAgICAgLm14I3skaW5maXh9LWF1dG8ge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgICAgLm1iI3skaW5maXh9LWF1dG8sXHJcbiAgICAgIC5teSN7JGluZml4fS1hdXRvIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgICAgLm1sI3skaW5maXh9LWF1dG8sXHJcbiAgICAgIC5teCN7JGluZml4fS1hdXRvIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBVdGlsaXRpZXNcclxuLy9cclxuXHJcbi5vcGFjaXR5LTI1ICAgICAgICAgICAgeyBvcGFjaXR5OiAuMjUgIWltcG9ydGFudDsgfVxyXG4ub3BhY2l0eS01MCAgICAgICAgICAgIHsgb3BhY2l0eTogLjUgIWltcG9ydGFudDsgfVxyXG4ub3BhY2l0eS03NSAgICAgICAgICAgIHsgb3BhY2l0eTogLjc1ICFpbXBvcnRhbnQ7IH1cclxuLm9wYWNpdHktMTAwICAgICAgICAgICB7IG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxyXG5cclxuLnRleHQtdGlueSAgICAgICAgICAgICB7IGZvbnQtc2l6ZTogJHRpbnktZm9udC1zaXplICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtYmlnICAgICAgICAgICAgICB7IGZvbnQtc2l6ZTogJGJpZy1mb250LXNpemUgIWltcG9ydGFudDsgfVxyXG4udGV4dC1sYXJnZSAgICAgICAgICAgIHsgZm9udC1zaXplOiAkbGFyZ2UtZm9udC1zaXplICFpbXBvcnRhbnQ7IH1cclxuLnRleHQteGxhcmdlICAgICAgICAgICB7IGZvbnQtc2l6ZTogJHhsYXJnZS1mb250LXNpemUgIWltcG9ydGFudDsgfVxyXG5cclxuLmxpbmUtaGVpZ2h0LTEgICAgICAgICB7IGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7IH1cclxuLmxpbmUtaGVpZ2h0LWNvbmRlbmNlZCB7IGxpbmUtaGVpZ2h0OiAxLjMgIWltcG9ydGFudDsgfVxyXG4ubGluZS1oZWlnaHQtaW5oZXJpdCAgIHsgbGluZS1oZWlnaHQ6IGluaGVyaXQgIWltcG9ydGFudDsgfVxyXG5cclxuLnRleHQtZXhwYW5kZWQgICAgICAgICB7IGxldHRlci1zcGFjaW5nOiAoKDEgLyAoc3RyaXAtdW5pdCgkZm9udC1zaXplLWJhc2UpICogMTYpKSAqIDFlbSkgIWltcG9ydGFudDsgfVxyXG5cclxuLmZvbnQtd2VpZ2h0LWxpZ2h0ICAgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQgIWltcG9ydGFudDsgfVxyXG4uZm9udC13ZWlnaHQtc2VtaWJvbGQgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pYm9sZCAhaW1wb3J0YW50OyB9XHJcbi5mb250LXdlaWdodC1ib2xkZXIgICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlciAhaW1wb3J0YW50OyB9XHJcbi50ZXh0LWRlY29yYXRpb24tbm9uZSAgeyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxyXG4udGV4dC10cmFuc2Zvcm0tbm9uZSAgIHsgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsgfVxyXG5cclxuLm92ZXJmbG93LWhpZGRlbiAgICAgICB7IG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsgfVxyXG4ub3ZlcmZsb3ctc2Nyb2xsICAgICAgIHsgb3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50OyB9XHJcbi5vdmVyZmxvdy1hdXRvICAgICAgICAgeyBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50OyB9XHJcblxyXG4uYm94LXNoYWRvdy1ub25lICAgICAgIHsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XHJcblxyXG4uY3Vyc29yLXBvaW50ZXIgICAgICAgIHsgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7IH1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBMYXlvdXQgY29udGFpbmVyc1xyXG5cclxuLmNvbnRhaW5lci1wLXgge1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy14LXNtICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmcteC1zbSAhaW1wb3J0YW50O1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmcteCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmcteCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4uY29udGFpbmVyLW0tLXgge1xyXG4gIG1hcmdpbi1yaWdodDogLSRjb250YWluZXItcGFkZGluZy14LXNtICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWxlZnQ6IC0kY29udGFpbmVyLXBhZGRpbmcteC1zbSAhaW1wb3J0YW50O1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0kY29udGFpbmVyLXBhZGRpbmcteCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0kY29udGFpbmVyLXBhZGRpbmcteCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLmNvbnRhaW5lci1wLXkge1xyXG4gICY6bm90KFtjbGFzc149XCJwdC1cIl0pOm5vdChbY2xhc3MqPVwiIHB0LVwiXSkge1xyXG4gICAgcGFkZGluZy10b3A6ICRjb250YWluZXItcGFkZGluZy15ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gICY6bm90KFtjbGFzc149XCJwYi1cIl0pOm5vdChbY2xhc3MqPVwiIHBiLVwiXSkge1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRjb250YWluZXItcGFkZGluZy15ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbi5jb250YWluZXItbS0teSB7XHJcbiAgJjpub3QoW2NsYXNzXj1cIm10LVwiXSk6bm90KFtjbGFzcyo9XCIgbXQtXCJdKSB7XHJcbiAgICBtYXJnaW4tdG9wOiAtJGNvbnRhaW5lci1wYWRkaW5nLXkgIWltcG9ydGFudDtcclxuICB9XHJcbiAgJjpub3QoW2NsYXNzXj1cIm1iLVwiXSk6bm90KFtjbGFzcyo9XCIgbWItXCJdKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAtJGNvbnRhaW5lci1wYWRkaW5nLXkgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBUcmFuc2Zvcm1zXHJcbi8vXHJcblxyXG4ucm90YXRlLTkwIHsgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XHJcbi5yb3RhdGUtMTgwIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxyXG4ucm90YXRlLTI3MCB7IHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cclxuLnJvdGF0ZS0tOTAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyB9XHJcbi5yb3RhdGUtLTE4MCB7IHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpOyB9XHJcbi5yb3RhdGUtLTI3MCB7IHRyYW5zZm9ybTogcm90YXRlKC0yNzBkZWcpOyB9XHJcbi5yb3RhdGUtMCB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5zY2FsZVgtLTEgeyB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7IH1cclxuLnNjYWxlWS0tMSB7IHRyYW5zZm9ybTogc2NhbGVZKC0xKTsgfVxyXG5cclxuQGluY2x1ZGUgcnRsLW9ubHkge1xyXG4gIC5yb3RhdGUtOTAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyB9XHJcbiAgLnJvdGF0ZS0xODAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxyXG4gIC5yb3RhdGUtMjcwIHsgdHJhbnNmb3JtOiByb3RhdGUoLTI3MGRlZyk7IH1cclxuICAucm90YXRlLS05MCB7IHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxyXG4gIC5yb3RhdGUtLTE4MCB7IHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cclxuICAucm90YXRlLS0yNzAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XHJcblxyXG4gIC5zY2FsZVgtLTEgeyB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgfVxyXG4gIC5zY2FsZVktLTEgeyB0cmFuc2Zvcm06IHNjYWxlWSgxKTsgfVxyXG5cclxuICAuc2NhbGVYLS0xLXJ0bCB7IHRyYW5zZm9ybTogc2NhbGVYKC0xKTsgfVxyXG4gIC5zY2FsZVktLTEtcnRsIHsgdHJhbnNmb3JtOiBzY2FsZVkoLTEpOyB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBCb3JkZXJlZCByb3dzXHJcblxyXG4ucm93LWJvcmRlcmVkIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgPiAuY29sLFxyXG4gICA+IFtjbGFzc149XCJjb2wtXCJdLFxyXG4gICA+IFtjbGFzcyo9XCIgY29sLVwiXSxcclxuICAgPiBbY2xhc3NePVwiY29sIFwiXSxcclxuICAgPiBbY2xhc3MqPVwiIGNvbCBcIl0sXHJcbiAgID4gW2NsYXNzJD1cIiBjb2xcIl0sXHJcbiAgID4gW2NsYXNzPVwiY29sXCJdIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmctdG9wOiAxcHg7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAtMXB4O1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlcmVkLXJvdy1ib3JkZXItY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBsZWZ0OiAtMXB4O1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDA7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJvcmRlcmVkLXJvdy1ib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLnJvdy1ib3JkZXItbGlnaHQge1xyXG4gICAgID4gLmNvbCxcclxuICAgICA+IFtjbGFzc149XCJjb2wtXCJdLFxyXG4gICAgID4gW2NsYXNzKj1cIiBjb2wtXCJdLFxyXG4gICAgID4gW2NsYXNzXj1cImNvbCBcIl0sXHJcbiAgICAgPiBbY2xhc3MqPVwiIGNvbCBcIl0sXHJcbiAgICAgPiBbY2xhc3MkPVwiIGNvbFwiXSxcclxuICAgICA+IFtjbGFzcz1cImNvbFwiXSB7XHJcbiAgICAgICY6OmJlZm9yZSxcclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGdyYXktMTAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBydGwtb25seSB7XHJcbiAgLnJvdy1ib3JkZXJlZCA+IC5jb2w6OmFmdGVyLFxyXG4gIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3NePVwiY29sLVwiXTo6YWZ0ZXIsXHJcbiAgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyo9XCIgY29sLVwiXTo6YWZ0ZXIsXHJcbiAgLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149XCJjb2wgXCJdOjphZnRlcixcclxuICAucm93LWJvcmRlcmVkID4gW2NsYXNzKj1cIiBjb2wgXCJdOjphZnRlcixcclxuICAucm93LWJvcmRlcmVkID4gW2NsYXNzJD1cIiBjb2xcIl06OmFmdGVyLFxyXG4gIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3M9XCJjb2xcIl06OmFmdGVyIHtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICByaWdodDogLTFweDtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBXaWR0aFxyXG5cclxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gc2xpY2UtbGlzdChtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cyksIDIpIHtcclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XHJcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcclxuICAgIC53I3skaW5maXh9LTEwMCB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cclxuICAgIC53I3skaW5maXh9LWF1dG8geyB3aWR0aDogYXV0byAhaW1wb3J0YW50OyB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTmVnYXRpdmUgaG9yaXpvbnRhbCBtYXJnaW5zXHJcblxyXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcclxuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xyXG4gICAgJHJ0bC1wcmVmaXg6IGlmKCRydGwtc3VwcG9ydCA9PSB0cnVlLCAnaHRtbDpub3QoW2Rpcj1ydGxdKSBib2R5Om5vdChbZGlyPXJ0bF0pICcsICcnKTtcclxuXHJcbiAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XHJcbiAgICAgICN7JHJ0bC1wcmVmaXh9Lm1yI3skaW5maXh9LS0jeyRzaXplfSxcclxuICAgICAgI3skcnRsLXByZWZpeH0ubXgjeyRpbmZpeH0tLSN7JHNpemV9IHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgICAgI3skcnRsLXByZWZpeH0ubWwjeyRpbmZpeH0tLSN7JHNpemV9LFxyXG4gICAgICAjeyRydGwtcHJlZml4fS5teCN7JGluZml4fS0tI3skc2l6ZX0ge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaWYgJHJ0bC1zdXBwb3J0ID09IHRydWUge1xyXG4gICAgICAgIC5tciN7JGluZml4fS0tI3skc2l6ZX0sXHJcbiAgICAgICAgLm14I3skaW5maXh9LS0jeyRzaXplfSB7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsZW5ndGggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1sI3skaW5maXh9LS0jeyRzaXplfSxcclxuICAgICAgICAubXgjeyRpbmZpeH0tLSN7JHNpemV9IHtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBGbGV4XHJcblxyXG4uZmxleC10cnVuY2F0ZSAgeyBtaW4td2lkdGg6IDAgIWltcG9ydGFudDsgfVxyXG5cclxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XHJcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcclxuICAgIC5mbGV4LWJhc2lzI3skaW5maXh9LTEwMCB7IGZsZXgtYmFzaXM6IDEwMCUgIWltcG9ydGFudDsgfVxyXG4gICAgLmZsZXgtYmFzaXMjeyRpbmZpeH0tYXV0byB7IGZsZXgtYmFzaXM6IGF1dG8gIWltcG9ydGFudDsgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gSUUgZml4XHJcbi5kLWZsZXgsXHJcbi5kLWlubGluZS1mbGV4LFxyXG4ubWVkaWEsXHJcbi5tZWRpYSA+IDpub3QoLm1lZGlhLWJvZHkpLFxyXG4uanVtYm90cm9uLFxyXG4uY2FyZCB7XHJcbiAgZmxleC1zaHJpbms6IDE7XHJcbn1cclxuLy8gRml4IElFIHBhcmVudCBjb250YWluZXIgaGVpZ2h0IGJ1ZyB3aGVuIGNvbnRhaW5pbmcgaW1hZ2Ugd2l0aCBmbHVpZCB3aWR0aFxyXG4uaWUtbWgtMSB7XHJcbiAgbWluLWhlaWdodDogMXB4O1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogVGV4dCBjb2xvclxyXG5cclxuLnRleHQtZGFyayB7XHJcbiAgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7XHJcblxyXG4gICZbaHJlZl0ge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJjpmb2N1czpub3QoOmhvdmVyKSB7XHJcbiAgICAgIGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnRleHQtbXV0ZWRbaHJlZl0ge1xyXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgY29sb3I6ICR0ZXh0LW11dGVkLWhvdmVyICFpbXBvcnRhbnQ7IH1cclxufVxyXG5cclxuLnRleHQtbGlnaHQge1xyXG4gIGNvbG9yOiAkdGV4dC1saWdodCAhaW1wb3J0YW50O1xyXG5cclxuICAmW2hyZWZdIHtcclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgY29sb3I6ICR0ZXh0LW11dGVkLWhvdmVyICFpbXBvcnRhbnQ7IH1cclxuICB9XHJcbn1cclxuXHJcbi50ZXh0LWxpZ2h0ZXIge1xyXG4gIGNvbG9yOiAkdGV4dC1saWdodGVyICFpbXBvcnRhbnQ7XHJcblxyXG4gICZbaHJlZl0ge1xyXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBjb2xvcjogJHRleHQtbXV0ZWQtaG92ZXIgIWltcG9ydGFudDsgfVxyXG4gIH1cclxufVxyXG5cclxuLnRleHQtbGlnaHRlc3Qge1xyXG4gIGNvbG9yOiAkdGV4dC1saWdodGVzdCAhaW1wb3J0YW50O1xyXG5cclxuICAmW2hyZWZdIHtcclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgY29sb3I6ICR0ZXh0LW11dGVkLWhvdmVyICFpbXBvcnRhbnQ7IH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQmFja2dyb3VuZCBjb2xvclxyXG5cclxuLmJnLWRhcmsgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS05MDAgIWltcG9ydGFudDsgfVxyXG5hLmJnLWRhcmsge1xyXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktOTAwICFpbXBvcnRhbnQ7IH1cclxufVxyXG5cclxuLmJnLWxpZ2h0IHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTAwICFpbXBvcnRhbnQ7IH1cclxuYS5iZy1saWdodCB7XHJcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0yMDAgIWltcG9ydGFudDsgfVxyXG59XHJcblxyXG4uYmctbGlnaHRlciB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5LTUwICFpbXBvcnRhbnQ7IH1cclxuYS5iZy1saWdodGVyIHtcclxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5LTEwMCAhaW1wb3J0YW50OyB9XHJcbn1cclxuXHJcbi5iZy1saWdodGVzdCB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5LTI1ICFpbXBvcnRhbnQ7IH1cclxuYS5iZy1saWdodGVzdCB7XHJcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS01MCAhaW1wb3J0YW50OyB9XHJcbn1cclxuXHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQm9yZGVyIGNvbG9yXHJcblxyXG4uYm9yZGVyLWxpZ2h0IHtcclxuICBib3JkZXItY29sb3I6ICRncmF5LTEwMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYm9yZGVyLWRhcmsge1xyXG4gIGJvcmRlci1jb2xvcjogJGdyYXktOTAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ib3JkZXItdHJhbnNwYXJlbnQge1xyXG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFJUTFxyXG5cclxuQGluY2x1ZGUgcnRsLW9ubHkge1xyXG4gIC8vIEJvcmRlcnNcclxuICAvL1xyXG5cclxuICAuYm9yZGVyICAgICAgICAgIHsgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxyXG4gIC5ib3JkZXItMCAgICAgICAgeyBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxyXG4gIC5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cclxuICAuYm9yZGVyLXJpZ2h0LTAgIHsgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxyXG4gIC5ib3JkZXItYm90dG9tLTAgeyBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cclxuICAuYm9yZGVyLWxlZnQtMCAgIHsgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XHJcbiAgICAuYm9yZGVyLSN7JGNvbG9yfSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYm9yZGVyLXdoaXRlIHtcclxuICAgIGJvcmRlci1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAucm91bmRlZCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAucm91bmRlZC10b3Age1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAucm91bmRlZC1yaWdodCB7XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcclxuICB9XHJcbiAgLnJvdW5kZWQtYm90dG9tIHtcclxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcclxuICB9XHJcbiAgLnJvdW5kZWQtbGVmdCB7XHJcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnJvdW5kZWQtY2lyY2xlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnJvdW5kZWQtMCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAvLyBGbG9hdFxyXG4gIC8vXHJcblxyXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XHJcbiAgICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xyXG5cclxuICAgICAgLmZsb2F0I3skaW5maXh9LWxlZnQgIHsgQGluY2x1ZGUgZmxvYXQtcmlnaHQ7IH1cclxuICAgICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgQGluY2x1ZGUgZmxvYXQtbGVmdDsgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUmVzcG9uc2l2ZSBhbGlnbm1lbnRcclxuICAvL1xyXG5cclxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xyXG4gICAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcclxuXHJcbiAgICAgIC50ZXh0I3skaW5maXh9LWxlZnQgICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cclxuICAgICAgLnRleHQjeyRpbmZpeH0tcmlnaHQgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTcGFjaW5nXHJcbiAgLy9cclxuXHJcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcclxuICAgICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XHJcblxyXG4gICAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XHJcbiAgICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xyXG5cclxuICAgICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxyXG4gICAgICAgICAgLiN7JGFiYnJldn10I3skaW5maXh9LSN7JHNpemV9LFxyXG4gICAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcclxuICAgICAgICAgICAgI3skcHJvcH0tdG9wOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXHJcbiAgICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xyXG4gICAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXHJcbiAgICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xyXG4gICAgICAgICAgICAjeyRwcm9wfS1ib3R0b206ICRsZW5ndGggIWltcG9ydGFudDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSxcclxuICAgICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XHJcbiAgICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXHJcbiAgICAgIC5tI3skaW5maXh9LWF1dG8geyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxyXG4gICAgICAubXQjeyRpbmZpeH0tYXV0byxcclxuICAgICAgLm15I3skaW5maXh9LWF1dG8ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgICAubXIjeyRpbmZpeH0tYXV0byxcclxuICAgICAgLm14I3skaW5maXh9LWF1dG8ge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgICAgLm1iI3skaW5maXh9LWF1dG8sXHJcbiAgICAgIC5teSN7JGluZml4fS1hdXRvIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgICAgLm1sI3skaW5maXh9LWF1dG8sXHJcbiAgICAgIC5teCN7JGluZml4fS1hdXRvIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAycHgsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gVmFyaWFibGVzXHJcbi8vXHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQ29sb3JzXHJcblxyXG4kd2hpdGU6ICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4kYmxhY2s6ICAgICAgICAjMTgxQzIxICFkZWZhdWx0O1xyXG4kZ3JheS0yNTogICAgICByZ2JhKCRibGFjaywgLjAxNSkgIWRlZmF1bHQ7XHJcbiRncmF5LTUwOiAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xyXG4kZ3JheS0xMDA6ICAgICByZ2JhKCRibGFjaywgLjA2KSAhZGVmYXVsdDtcclxuJGdyYXktMjAwOiAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcclxuJGdyYXktMzAwOiAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcclxuJGdyYXktNDAwOiAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcclxuJGdyYXktNTAwOiAgICAgcmdiYSgkYmxhY2ssIC40KSAhZGVmYXVsdDtcclxuJGdyYXktNjAwOiAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcclxuJGdyYXktNzAwOiAgICAgcmdiYSgkYmxhY2ssIC42KSAhZGVmYXVsdDtcclxuJGdyYXktODAwOiAgICAgcmdiYSgkYmxhY2ssIC44KSAhZGVmYXVsdDtcclxuJGdyYXktOTAwOiAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcclxuXHJcbiRncmF5czogKFxyXG4gIFwiMjVcIjogJGdyYXktMjUsXHJcbiAgXCI1MFwiOiAkZ3JheS01MFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJGJsdWU6ICAgICAgICAgIzFlNzBjZCAhZGVmYXVsdDtcclxuJGluZGlnbzogICAgICAgIzY2MTBmMiAhZGVmYXVsdDtcclxuJHB1cnBsZTogICAgICAgIzZmNDJjMSAhZGVmYXVsdDtcclxuJHBpbms6ICAgICAgICAgI2U4M2U4YyAhZGVmYXVsdDtcclxuJHJlZDogICAgICAgICAgI2Q5NTM0ZiAhZGVmYXVsdDtcclxuJG9yYW5nZTogICAgICAgI0ZFQjc0NCAhZGVmYXVsdDtcclxuJHllbGxvdzogICAgICAgI0ZGRDk1MCAhZGVmYXVsdDtcclxuJGdyZWVuOiAgICAgICAgIzAyQkM3NyAhZGVmYXVsdDtcclxuJHRlYWw6ICAgICAgICAgIzIwYzk5NyAhZGVmYXVsdDtcclxuJGN5YW46ICAgICAgICAgIzI4YzNkNyAhZGVmYXVsdDtcclxuXHJcbiR0aGVtZS1jb2xvcnM6IChcclxuICBcInByaW1hcnlcIjogICAkaW5kaWdvLFxyXG4gIFwic2Vjb25kYXJ5XCI6ICM4ODk3QUEsXHJcbiAgXCJzdWNjZXNzXCI6ICAgJGdyZWVuLFxyXG4gIFwiaW5mb1wiOiAgICAgICRjeWFuLFxyXG4gIFwid2FybmluZ1wiOiAgICR5ZWxsb3csXHJcbiAgXCJkYW5nZXJcIjogICAgJHJlZCxcclxuICBcImRhcmtcIjogICAgICAkZ3JheS05MDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRib2R5LWNvbG9yOiAgICAgICAjNEU1MTU1ICFkZWZhdWx0OyAvLyM0YTRhNGFcclxuXHJcbi8vICMwNmNcclxuJGxpbmstY29sb3I6ICAgICAgICRibHVlICFkZWZhdWx0O1xyXG4kbGluay1ob3Zlci1jb2xvcjogbGlnaHRlbigkbGluay1jb2xvciwgMTAlKSAhZGVmYXVsdDtcclxuXHJcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogRm9udHNcclxuXHJcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiBcIlJvYm90b1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgXCJTRk1vbm8tUmVndWxhclwiLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XHJcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuXHJcbiRmb250LXNpemUtYmFzZTogICAgICAgICAuODk0cmVtICFkZWZhdWx0O1xyXG4kZm9udC1zaXplLXhsOiAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcclxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XHJcbiRmb250LXNpemUtc206ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XHJcbiRmb250LXNpemUteHM6ICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xyXG5cclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkOiAgIDUwMCAhZGVmYXVsdDtcclxuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgIDkwMCAhZGVmYXVsdDtcclxuXHJcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAxLjQ3ICFkZWZhdWx0O1xyXG4kbGluZS1oZWlnaHQteGw6ICAgICAgICAgMS41ICFkZWZhdWx0O1xyXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgMS41ICFkZWZhdWx0O1xyXG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgMS41ICFkZWZhdWx0O1xyXG4kbGluZS1oZWlnaHQteHM6ICAgICAgICAgMS41ICFkZWZhdWx0O1xyXG5cclxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgIDIuMjVyZW0gIWRlZmF1bHQ7XHJcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAxLjgxM3JlbSAhZGVmYXVsdDtcclxuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgIDEuNTYzcmVtICFkZWZhdWx0O1xyXG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgMS4zMTNyZW0gIWRlZmF1bHQ7XHJcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xyXG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xyXG5cclxuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICRmb250LXdlaWdodC1zZW1pYm9sZCAhZGVmYXVsdDtcclxuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgIDEuMSAhZGVmYXVsdDtcclxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICRzcGFjZXIgIWRlZmF1bHQ7XHJcblxyXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgNHJlbSAhZGVmYXVsdDtcclxuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcclxuJGRpc3BsYXkzLXNpemU6ICAgICAgICAgIDNyZW0gIWRlZmF1bHQ7XHJcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAycmVtICFkZWZhdWx0O1xyXG5cclxuJHRpbnktZm9udC1zaXplOiAgICAgICAgIDcwJSAhZGVmYXVsdDtcclxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgIDg1JSAhZGVmYXVsdDtcclxuJGJpZy1mb250LXNpemU6ICAgICAgICAgIDExMiUgIWRlZmF1bHQ7XHJcbiRsYXJnZS1mb250LXNpemU6ICAgICAgICAxNTAlICFkZWZhdWx0O1xyXG4keGxhcmdlLWZvbnQtc2l6ZTogICAgICAgMTcwJSAhZGVmYXVsdDtcclxuXHJcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS01MDApICFkZWZhdWx0O1xyXG4kdGV4dC1tdXRlZC1ob3ZlcjogICAgICAgcmdiYS10by1oZXgoJGdyYXktNjAwKSAhZGVmYXVsdDtcclxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6IHJnYmEtdG8taGV4KCRncmF5LTUwMCkgIWRlZmF1bHQ7XHJcbiR0ZXh0LWxpZ2h0OiAgICAgICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS00MDApICFkZWZhdWx0O1xyXG4kdGV4dC1saWdodGVyOiAgICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktMzAwKSAhZGVmYXVsdDtcclxuJHRleHQtbGlnaHRlc3Q6ICAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTIwMCkgIWRlZmF1bHQ7XHJcblxyXG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgbm9uZSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBHcmlkXHJcblxyXG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDEuNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRjb250YWluZXItcGFkZGluZy14OiAycmVtICFkZWZhdWx0O1xyXG4kY29udGFpbmVyLXBhZGRpbmcteC1zbTogMXJlbSAhZGVmYXVsdDtcclxuJGNvbnRhaW5lci1wYWRkaW5nLXk6IDEuNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDb21wb25lbnRzXHJcblxyXG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssLjA2KSAhZGVmYXVsdDtcclxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcclxuXHJcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XHJcbiRib3JkZXItcmFkaXVzLXhsOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcbiRib3JkZXItcmFkaXVzLXhzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbiRjb21wb25lbnQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAxLjU0ICFkZWZhdWx0O1xyXG4kY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aDogICAgMnB4ICFkZWZhdWx0O1xyXG5cclxuJGZsb2F0aW5nLWNvbXBvbmVudC1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xyXG4kZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdzogICAgICAgMCAxcHggNnB4IHJnYmEoMCwgMCwgMCwgLjA5KSAhZGVmYXVsdDtcclxuXHJcbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG5cclxuJGJvcmRlcmVkLXJvdy1ib3JkZXItY29sb3I6ICAgICAgICRoci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgLjQyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogWi1pbmRleCBtYXN0ZXIgbGlzdFxyXG5cclxuJHppbmRleC1sYXlvdXQtZml4ZWQ6ICAxMDgwICFkZWZhdWx0O1xyXG4kemluZGV4LW1vZGFsLXRvcDogICAgIDEwOTAgIWRlZmF1bHQ7XHJcbiR6aW5kZXgtbGF5b3V0LW1vYmlsZTogMTEwMCAhZGVmYXVsdDtcclxuJHppbmRleC1ub3RpZmljYXRpb246ICA5OTk5OTkgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogVGFibGVzXHJcblxyXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgLjMxMjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDI1KSAhZGVmYXVsdDtcclxuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICByZ2JhKCRibGFjaywgLjAzNSkgIWRlZmF1bHQ7XHJcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgcmdiYS10by1oZXgoJHRhYmxlLWhvdmVyLWJnKSAhZGVmYXVsdDtcclxuXHJcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgcmdiYS10by1oZXgoJGdyYXktMTAwKSAhZGVmYXVsdDtcclxuXHJcbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgJGdyYXktNTAgIWRlZmF1bHQ7XHJcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcclxuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICByZ2JhKCR3aGl0ZSwgLjAzKSAhZGVmYXVsdDtcclxuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcclxuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiBsaWdodGVuKHJnYmEtdG8taGV4KCRncmF5LTkwMCksIDclKSAhZGVmYXVsdDtcclxuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQnV0dG9uc1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgLjQzOHJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgMS4xMjVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgMS41NCAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15LXhzOiAgIDAgIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tcGFkZGluZy14LXhzOiAgIC41cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS14czogICAkZm9udC1zaXplLXhzICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhzOiAkbGluZS1oZWlnaHQteHMgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAuMTg4cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAuNjg3NXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgLjc1cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAxLjVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15LXhsOiAgIC44NzVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tcGFkZGluZy14LXhsOiAgIDIuMTI1cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS14bDogICAkZm9udC1zaXplLXhsICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhsOiAkbGluZS1oZWlnaHQteGwgIWRlZmF1bHQ7XHJcblxyXG4kYnRuLWJvcmRlci1yYWRpdXMteHM6ICAgICAkYm9yZGVyLXJhZGl1cy14cyAhZGVmYXVsdDtcclxuJGJ0bi1ib3JkZXItcmFkaXVzLXhsOiAgICAgJGJvcmRlci1yYWRpdXMteGwgIWRlZmF1bHQ7XHJcblxyXG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICBub25lICFkZWZhdWx0O1xyXG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgLjI1KSAhZGVmYXVsdDtcclxuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgbm9uZSAhZGVmYXVsdDtcclxuXHJcbiRidG4tZGVmYXVsdC1iZzogICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG4kYnRuLWRlZmF1bHQtYm9yZGVyOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XHJcbiRidG4tZGVmYXVsdC1jb2xvcjogICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBGb3Jtc1xyXG5cclxuJGxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAuODMxMjVyZW0gIWRlZmF1bHQ7XHJcbiRsYWJlbC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LXNlbWlib2xkICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xyXG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcclxuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS0xMDApICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJHRleHQtbGlnaHQgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgICAgIHB4LXRvLXJlbShmbG9vcihyZW0tdG8tcHgoKCRpbnB1dC1idG4tZm9udC1zaXplICogJGlucHV0LWJ0bi1saW5lLWhlaWdodCkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXkgKiAyKSkpKSAhZGVmYXVsdDtcclxuJGlucHV0LWhlaWdodC1pbm5lci1zbTogICAgICAgICAgICAgICAgICAgICBweC10by1yZW0oZmxvb3IocmVtLXRvLXB4KCgkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20pICsgKCRpbnB1dC1idG4tcGFkZGluZy15LXNtICogMikpKSkgIWRlZmF1bHQ7XHJcbiRpbnB1dC1oZWlnaHQtaW5uZXItbGc6ICAgICAgICAgICAgICAgICAgICAgcHgtdG8tcmVtKGZsb29yKHJlbS10by1weCgoJGZvbnQtc2l6ZS1sZyAqICRsaW5lLWhlaWdodC1sZykgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgKiAyKSkpKSAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1pbnZlcnRlZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgjZmZmLCAuMykgIWRlZmF1bHQ7XHJcbiRpbnB1dC1pbnZlcnRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJGlucHV0LWludmVydGVkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtaW52ZXJ0ZWQtYmcgIWRlZmF1bHQ7XHJcbiRpbnB1dC1pbnZlcnRlZC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgcmdiYSgjZmZmLCAuNykgIWRlZmF1bHQ7XHJcbiRpbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgcmdiYSgjZmZmLCAuMSkgIWRlZmF1bHQ7XHJcbiRpbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgJGlucHV0LWludmVydGVkLWNvbG9yICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XHJcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xyXG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgICAgIDEuMTI1cmVtICFkZWZhdWx0O1xyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg6ICAgICAxcHggIWRlZmF1bHQ7XHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAgICAgKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSArIC40MzhyZW0pICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAgICBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDkuNSA3LjUnJTNFJTNDcG9seWxpbmUgcG9pbnRzPScwLjc1IDQuMzUgNC4xOCA2Ljc1IDguNzUgMC43NScgc3R5bGU9J2ZpbGw6bm9uZTtzdHJva2U6X0NPTE9SXztzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLXdpZHRoOjEuNXB4Jy8lM0UlM0Mvc3ZnJTNFXCIgIWRlZmF1bHQ7XHJcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgICAgNjUlICFkZWZhdWx0O1xyXG4kY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgIFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA0JyUzRSUzQ3BhdGggc3Ryb2tlPSdfQ09MT1JfJyBkPSdNMCAyaDQnLyUzRSUzQy9zdmclM0VcIiAhZGVmYXVsdDtcclxuJGN1c3RvbS1jaGVja2JveC1pbmRldGVybWluYXRlLWJnLXNpemU6ICAgICAuNXJlbSAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAgICAgICBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPSdfQ09MT1JfJy8lM0UlM0Mvc3ZnJTNFXCIgIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLXNpemU6ICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcclxuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgbm9uZSAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICBub25lICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgICAgICAgICAgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgMXJlbSAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICBub25lICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1pbnZlcnRlZC1kaXNhYmxlZC1jb2xvcjogICAgICRpbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtaW52ZXJ0ZWQtZGlzYWJsZWQtYmc6ICAgICAgICAkaW5wdXQtaW52ZXJ0ZWQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICAgICAgICAgIDE3cHggMTJweCAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgICAgICAgICB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0lBQUFBWUNBWUFBQUNmcGk4SkFBQUFCR2RCVFVFQUFMR1BDL3hoQlFBQUFLQkpSRUZVU0EzdDFrRUtnQ0FRQlZDVER0Y2l1bEoycFdqUmlhcFRhUHdva1VFalJXMHpnYUhTT0k5UFFXTGJENE1oZnI3a3ovMXRlNGJZS080Sko4S0owQVRvdXFVYnFldXVINVRSZWt5cGI2U2NzcjJzNnpJckhCZ0xRUTFxczBFQWlNVThDTlJtaGNSZ1hFUVJ5QmNNUlJTRHZHRjhpS0lRSHlhRXdMT2l4bThBUG0yTXEySG9WZ01TNnUzdVovOXEzTU5qNWd5aGFYRWluQWhOZ0s1UHB6aEVPL2hTTUs0QUFBQUFTVVZPUks1Q1lJST0nKSAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWludmVydGVkOiAgICAgICAgICB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0lBQUFBWUNBWUFBQUNmcGk4SkFBQUFCR2RCVFVFQUFMR1BDL3hoQlFBQUFKNUpSRUZVU0EzdDFHMEtnQ0FNQnVDTUR0Wmxvak9GaHpWZlVhRmxINDROLzB5SXNwdyt2R2hUQ0dIRk5RMXU4K0QxNi9JR3FWSGtCMHZFRXFFSjBQNUNYM0Q3OFYrMHg5cU5XZS9GTnF0ejdvZ0l6NEI0MUlwQkFHQmdFZ0sxb3BCT1RFV29RSDVpTGdnMXlBZm1obENGUEdDYUNJd1ZPNzZZck5Xd2dlUFJUcC95Wm00TjA0ZGcxVGRBVVltZm1qSng3OTBnTkRGTHhCS2hDZEQrQ1EzR0huZ3ZKVEdLQUFBQUFFbEZUa1N1UW1DQycpICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcnRsOiAgICAgICAgICAgICAgIHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDSUFBQUFZQ0FZQUFBQ2ZwaThKQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUtkSlJFRlVTQTN0bGxFS2dDQU1obE02WEEvUmxiSXJSUStkcURxRnhSOHB0RXdORkh1WUQrTGMzRDUrSENxcXdtTlp0eDBJc2pDSExjOGdWb3Byd1lxd0lsUUJhdGROMjZsZDY1NDZZbXdoNVRCUG80cUpEY1ZJSkVMQ1VDRDFwNFJBN3JOcnZzS2tockFnV01UQzVJQzRnY1RBNUlKNGdQaGdja0k0UVZ3d3VTRlFVMkI2RzJodCtGSzFxS3VPK1FaNFFWd0hVKzhaRUg3MHFMS3NDQ3RDRmFEMmIrN0lBWkdkUFB4dVdZR01BQUFBQUVsRlRrU3VRbUNDJykgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1pbnZlcnRlZC1ydGw6ICAgICAgdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNJQUFBQVlDQVlBQUFDZnBpOEpBQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBSnRKUkVGVVNBM3RsbEVLd0NBSWhtZDBzRjFtN0V5anc3YU1DSExXV2hqdHdSNGlVMzQvZmhLQ2JmSHkzdStJWUJaejVQWUtrcTFJQjNWRUhhRU8wTmlHT1Q3RDVVRVRuYkVEZ0t1enRsbG1rcEJyVnZGSk1RaVVqMU16QUNNS2tVSHc4QUZHSEtJQTZZU1pBdkVBZVlHWkJzR0NWR0NtUW1CUGl4dTM4TTJFMFk2cDlINjRNckU3RUZNYUZOTC9TTTA0L1FaUVo5U1IzenB5QTFpWUhuYlNMUElRQUFBQUFFbEZUa1N1UW1DQycpICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIERyb3Bkb3duc1xyXG5cclxuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGZsb2F0aW5nLWNvbXBvbmVudC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAkZHJvcGRvd24tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3cgIWRlZmF1bHQ7XHJcblxyXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgLjQzOHJlbSAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAkZHJvcGRvd24tbGluay1jb2xvciAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICRncmF5LTUwICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tbGluay1saW5lLWhlaWdodDogICAgJGNvbXBvbmVudC1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuXHJcbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAkdGV4dC1saWdodGVyICFkZWZhdWx0O1xyXG5cclxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE5hdnNcclxuXHJcbiRuYXYtc3BhY2VyOiAgICAgICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xyXG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xyXG4kbmF2LWxpbmstbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAkY29tcG9uZW50LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG5cclxuJG5hdi1saW5rLXBhZGRpbmcteS1sZzogICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcclxuJG5hdi1saW5rLXBhZGRpbmcteC1sZzogICAgICAgICAgICAgMS4zMTI1cmVtICFkZWZhdWx0O1xyXG4kbmF2LWxpbmstbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XHJcblxyXG4kbmF2LWxpbmstcGFkZGluZy15LXNtOiAgICAgICAgICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcclxuJG5hdi1saW5rLXBhZGRpbmcteC1zbTogICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcclxuJG5hdi1saW5rLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xyXG5cclxuJG5hdi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJHRleHQtbXV0ZWQtaG92ZXIgIWRlZmF1bHQ7XHJcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICR0ZXh0LWxpZ2h0ZXIgIWRlZmF1bHQ7XHJcblxyXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0xMDAgIWRlZmF1bHQ7XHJcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBOYXZiYXJcclxuXHJcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xyXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuN3JlbSAhZGVmYXVsdDtcclxuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuOCkgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcclxuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjQpICFkZWZhdWx0O1xyXG5cclxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xyXG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcclxuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4wNikgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogUGFnaW5hdGlvblxyXG5cclxuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgIC45Mzc1cmVtICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgIDEgIWRlZmF1bHQ7XHJcblxyXG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcclxuXHJcbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgJGdyYXktMjAwICFkZWZhdWx0O1xyXG5cclxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAkdGV4dC1saWdodGVyICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICRwYWdpbmF0aW9uLWJnICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICRncmF5LTEwMCAhZGVmYXVsdDtcclxuXHJcbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgbm9uZSAhZGVmYXVsdDtcclxuXHJcbiRwYWdpbmF0aW9uLXNwYWNlcjogICAgICAgICAgICAgICAgLjE4NzVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQ2FyZHNcclxuXHJcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XHJcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcclxuJGNhcmQtc3BhY2VyLXgtc206ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcclxuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuJGNhcmQtaW5uZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkYmxhY2ssLjA2KSAhZGVmYXVsdDtcclxuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcblxyXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XHJcbiRjYXJkLXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDRweCByZ2JhKCRibGFjaywuMDA5KSAhZGVmYXVsdDtcclxuLy8gJGNhcmQtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggNHB4IHJnYmEoJGJsYWNrLC4wMykgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogVG9vbHRpcHNcclxuXHJcbiR0b29sdGlwLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWJnOiAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTgwMCkgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLW9wYWNpdHk6ICAgIDEgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogUG9wb3ZlcnNcclxuXHJcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTEwMCAhZGVmYXVsdDtcclxuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3cgIWRlZmF1bHQ7XHJcblxyXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAkZ3JheS01MCAhZGVmYXVsdDtcclxuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAuNjI1cmVtICFkZWZhdWx0O1xyXG5cclxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQmFkZ2VzXHJcblxyXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAuODU4ZW0gIWRlZmF1bHQ7XHJcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICRmb250LXdlaWdodC1zZW1pYm9sZCAhZGVmYXVsdDtcclxuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XHJcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgIC40MTdlbSAhZGVmYXVsdDtcclxuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgIC41ODNlbSAhZGVmYXVsdDtcclxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgMTByZW0gIWRlZmF1bHQ7XHJcblxyXG4kYmFkZ2UtZGVmYXVsdC1iZzogICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XHJcbiRiYWRnZS1vdXRsaW5lLWRlZmF1bHQtY29sb3I6ICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE1vZGFsc1xyXG5cclxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgMS41NjI1cmVtICFkZWZhdWx0O1xyXG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xyXG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcclxuJG1vZGFsLWZvb3Rlci1wYWRkaW5nOiAgICAgICAgICAgMS4yNXJlbSAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcclxuXHJcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgIDBweCAhZGVmYXVsdDtcclxuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgMXB4ICFkZWZhdWx0O1xyXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3cgIWRlZmF1bHQ7XHJcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93ICFkZWZhdWx0O1xyXG5cclxuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgMzVyZW0gIWRlZmF1bHQ7XHJcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xyXG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAyMi41cmVtICFkZWZhdWx0O1xyXG5cclxuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgLjUgIWRlZmF1bHQ7XHJcblxyXG4kbW9kYWwtc2xpZGUtd2lkdGg6ICAgICAgICAgICAgICAyMHJlbSAhZGVmYXVsdDtcclxuXHJcbiRtb2RhbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgIC4xNXMgIWRlZmF1bHQ7XHJcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkbW9kYWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLW91dCAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBBbGVydHNcclxuXHJcbiRhbGVydC1wYWRkaW5nLXk6IDFyZW0gIWRlZmF1bHQ7XHJcbiRhbGVydC1wYWRkaW5nLXg6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogUHJvZ3Jlc3MgYmFyc1xyXG5cclxuJHByb2dyZXNzLWhlaWdodDogICAgICAgIC43NXJlbSAhZGVmYXVsdDtcclxuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAkZ3JheS01MCAhZGVmYXVsdDtcclxuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6IDEwcmVtICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgI2ZmZiAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBMaXN0IGdyb3VwXHJcblxyXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYS10by1oZXgoJGJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XHJcblxyXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAuNjI1cmVtICFkZWZhdWx0O1xyXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAuOTM3NXJlbSAhZGVmYXVsdDtcclxuXHJcbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTI1ICFkZWZhdWx0O1xyXG5cclxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcclxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XHJcblxyXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAkdGV4dC1tdXRlZC1ob3ZlciAhZGVmYXVsdDtcclxuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICRncmF5LTUwICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEltYWdlIHRodW1ibmFpbHNcclxuXHJcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgMCAhZGVmYXVsdDtcclxuJHRodW1ibmFpbC1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAwcHggIWRlZmF1bHQ7XHJcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogMHB4ICFkZWZhdWx0O1xyXG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgIG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogRmlndXJlc1xyXG5cclxuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBCcmVhZGNydW1ic1xyXG5cclxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgMCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgMCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xyXG5cclxuJGJyZWFkY3J1bWItY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAkdGV4dC1saWdodGVyICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgXCIvXCIgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1iLWRpdmlkZXItcnRsOiAgIFwiL1wiICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFN3aXRjaGVyc1xyXG5cclxuJHN3aXRjaGVyLXNwYWNlci14OiAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1zcGFjZXIteTogICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1ndXR0ZXI6ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1pbm5lci1zcGFjZXI6ICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xyXG5cclxuJHN3aXRjaGVyLXNxdWFyZS1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbiRzd2l0Y2hlci1sYWJlbC1jb2xvcjogICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1sYWJlbC1kaXNhYmxlZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xyXG5cclxuJHN3aXRjaGVyLXdpZHRoOiAgICAgICAgICAgICAgICAyLjM3NXJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWhlaWdodDogICAgICAgICAgICAgICAxLjM3NXJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWZvbnQtc2l6ZTogICAgICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItbGFiZWwtZm9udC1zaXplOiAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWxhYmVsLWxpbmUtaGVpZ2h0OiAgICAxLjQgIWRlZmF1bHQ7XHJcblxyXG4kc3dpdGNoZXItd2lkdGgtc206ICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1oZWlnaHQtc206ICAgICAgICAgICAgMS4xMjVyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1sYWJlbC1mb250LXNpemUtc206ICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWxhYmVsLWxpbmUtaGVpZ2h0LXNtOiAxLjQ4NiAhZGVmYXVsdDtcclxuXHJcbiRzd2l0Y2hlci13aWR0aC1sZzogICAgICAgICAgICAgMy4yNXJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWhlaWdodC1sZzogICAgICAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItbGFiZWwtZm9udC1zaXplLWxnOiAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1sYWJlbC1saW5lLWhlaWdodC1sZzogMS40NyAhZGVmYXVsdDtcclxuXHJcbiRzd2l0Y2hlci1vZmYtY29sb3I6ICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItb2ZmLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWhvbGRlci1iZzogICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItaG9sZGVyLXNoYWRvdzogICAgICAgIDAgMCAwIDFweCByZ2JhKCRibGFjaywgLjA0KSwgMCAxcHggNnB4IHJnYmEoJGJsYWNrLCAuMDkpICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIENsb3NlXHJcblxyXG4kY2xvc2UtZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcclxuJGNsb3NlLXRleHQtc2hhZG93OiBub25lICFkZWZhdWx0O1xyXG4kY2xvc2UtY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogSnVtYm90cm9uXHJcblxyXG4kanVtYm90cm9uLXBhZGRpbmc6IDNyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogU2lkZW5hdlxyXG5cclxuJHNpZGVuYXYtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAxNS42MjVyZW0gIWRlZmF1bHQ7IC8vMjUwcHhcclxuJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoOiAgICAgICAgICAgICAgICA0LjM3NXJlbSAhZGVmYXVsdDsgLy83MHB4XHJcblxyXG4kc2lkZW5hdi1pdGVtLXNwYWNlcjogICAgICAgICAgICAgICAgICAgIC4wNjI1cmVtICFkZWZhdWx0O1xyXG5cclxuJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXk6ICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14OiAgICAgICAgMnJlbSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtdmVydGljYWwtbWVudS1saW5rLXBhZGRpbmcteTogICAuNjI1cmVtICFkZWZhdWx0O1xyXG4kc2lkZW5hdi12ZXJ0aWNhbC1tZW51LWxldmVsLXNwYWNlcjogICAgIDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4kc2lkZW5hdi1ob3Jpem9udGFsLWxpbmstcGFkZGluZy15OiAgICAgIDFyZW0gIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LWhvcml6b250YWwtbGluay1wYWRkaW5nLXg6ICAgICAgMXJlbSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtaG9yaXpvbnRhbC1tZW51LWxpbmstcGFkZGluZy15OiAuNjI1cmVtICFkZWZhdWx0O1xyXG4kc2lkZW5hdi1ob3Jpem9udGFsLW1lbnUtbGV2ZWwtc3BhY2VyOiAgIDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4kc2lkZW5hdi1tZW51LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgIDEyLjVyZW0gIWRlZmF1bHQ7OyAvLzIwMHB4XHJcbiRzaWRlbmF2LWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgICAgICAgMi4yNXJlbSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtY29udHJvbC1hcnJvdy1zaXplOiAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRzaWRlbmF2LWljb24tZXhwYW5kZWQtd2lkdGg6ICAgICAgICAgICAgMS43NXJlbSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtaWNvbi1leHBhbmRlZC1mb250LXNpemU6ICAgICAgICAxcmVtICFkZWZhdWx0O1xyXG4kc2lkZW5hdi1pY29uLWV4cGFuZGVkLXNwYWNlcjogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgLjJzICFkZWZhdWx0O1xyXG5cclxuJHNpZGVuYXYtbWF4LWxldmVsczogICAgICAgICAgICAgICAgICAgICA1ICFkZWZhdWx0O1xyXG5cclxuJHNpZGVuYXYtZGFyay1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtZGFyay1tZW51LWJnOiAgICAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNikgIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LWxpZ2h0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDYpICFkZWZhdWx0O1xyXG4kc2lkZW5hdi1saWdodC1tZW51LWJnOiAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA1KSAhZGVmYXVsdDtcclxuXHJcbi8vIENvbmZpZ1xyXG4kcnRsLXN1cHBvcnQ6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWF0ZXJpYWwtc3R5bGU6IGZhbHNlO1xyXG4iLCIvLyBCdXR0b25zXHJcbi8vXHJcblxyXG4uYnRuIHtcclxuICBmb250LXNpemU6ICRpbnB1dC1idG4tZm9udC1zaXplO1xyXG5cclxuICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBCYWJnZSB3aXRoaW4gYnV0dG9uXHJcbi5idG4gLmJhZGdlIHtcclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XHJcbn1cclxuXHJcbmxhYmVsLmJ0biB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEFsdGVybmF0ZSBidXR0b25zXHJcblxyXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcclxuICBAaWYgJGNvbG9yICE9IHByaW1hcnkge1xyXG4gICAgQGlmICRtYXRlcmlhbC1zdHlsZSB7XHJcbiAgICAgIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLXZhcmlhbnQoJy5idG4tI3skY29sb3J9JywgJHZhbHVlKTtcclxuICAgICAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1idXR0b24tb3V0bGluZS12YXJpYW50KCcuYnRuLW91dGxpbmUtI3skY29sb3J9JywgJHZhbHVlKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAaW5jbHVkZSBhcHB3b3JrLWJ1dHRvbi12YXJpYW50KCcuYnRuLSN7JGNvbG9yfScsICR2YWx1ZSk7XHJcbiAgICAgIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfScsICR2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBEZWZhdWx0IGJ1dHRvblxyXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWJ1dHRvbi12YXJpYW50KCcuYnRuLWRlZmF1bHQnLCAkYnRuLWRlZmF1bHQtYmcsICRidG4tZGVmYXVsdC1jb2xvciwgJGJ0bi1kZWZhdWx0LWNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJy5idG4tb3V0bGluZS1kZWZhdWx0JywgJGJ0bi1kZWZhdWx0LWJvcmRlciwgJGJ0bi1kZWZhdWx0LWNvbG9yKTtcclxufSBAZWxzZSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1idXR0b24tdmFyaWFudCgnLmJ0bi1kZWZhdWx0JywgJGJ0bi1kZWZhdWx0LWJnLCAkYnRuLWRlZmF1bHQtY29sb3IsICRidG4tZGVmYXVsdC1ib3JkZXIpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLWRlZmF1bHQnLCAkYnRuLWRlZmF1bHQtYm9yZGVyLCAkYnRuLWRlZmF1bHQtY29sb3IpO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogU2l6ZXNcclxuXHJcbi5idG4teGwge1xyXG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRpbnB1dC1idG4tcGFkZGluZy15LXhsLCAkaW5wdXQtYnRuLXBhZGRpbmcteC14bCwgJGlucHV0LWJ0bi1mb250LXNpemUteGwsICRpbnB1dC1idG4tbGluZS1oZWlnaHQteGwsICRidG4tYm9yZGVyLXJhZGl1cy14bCk7XHJcbn1cclxuXHJcbi5idG4tbGcge1xyXG4gIGZvbnQtc2l6ZTogJGlucHV0LWJ0bi1mb250LXNpemUtbGc7XHJcbn1cclxuXHJcbi5idG4tc20ge1xyXG4gIGZvbnQtc2l6ZTogJGlucHV0LWJ0bi1mb250LXNpemUtc207XHJcbn1cclxuXHJcbi5idG4teHMge1xyXG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRpbnB1dC1idG4tcGFkZGluZy15LXhzLCAkaW5wdXQtYnRuLXBhZGRpbmcteC14cywgJGlucHV0LWJ0bi1mb250LXNpemUteHMsICRpbnB1dC1idG4tbGluZS1oZWlnaHQteHMsICRidG4tYm9yZGVyLXJhZGl1cy14cyk7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBSb3VuZCBidXR0b25cclxuXHJcbi5idG4tcm91bmQge1xyXG4gIGJvcmRlci1yYWRpdXM6IDYwcmVtICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBMaW5rIGJ1dHRvbnNcclxuXHJcbi5idG4uYnRuLWxpbmsge1xyXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuXHJcbiAgQGlmICRtYXRlcmlhbC1zdHlsZSB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuXHJcbiAgICAud2F2ZXMtcmlwcGxlIHtcclxuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEljb24gYnV0dG9uXHJcblxyXG4uaWNvbi1idG4ge1xyXG4gICRpY29uLWJ0bi1zaXplOiAgICAoJGlucHV0LWJ0bi1mb250LXNpemUgICAgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSAgICArICgkaW5wdXQtYnRuLXBhZGRpbmcteSAgICAqIDIpO1xyXG4gICRpY29uLWJ0bi1zaXplLXhsOiAoJGlucHV0LWJ0bi1mb250LXNpemUteGwgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhsKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS14bCAqIDIpO1xyXG4gICRpY29uLWJ0bi1zaXplLWxnOiAoJGlucHV0LWJ0bi1mb250LXNpemUtbGcgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAqIDIpO1xyXG4gICRpY29uLWJ0bi1zaXplLXNtOiAoJGlucHV0LWJ0bi1mb250LXNpemUtc20gKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAqIDIpO1xyXG4gICRpY29uLWJ0bi1zaXplLXhzOiAoJGlucHV0LWJ0bi1mb250LXNpemUteHMgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhzKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS14cyAqIDIpO1xyXG4gICRib3JkZXJzLXdpZHRoOiAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAqIDI7XHJcblxyXG4gIHdpZHRoOiBjYWxjKCN7JGljb24tYnRuLXNpemV9ICsgI3skYm9yZGVycy13aWR0aH0pICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZzogMDtcclxuICBsaW5lLWhlaWdodDogJGljb24tYnRuLXNpemU7XHJcblxyXG4gICYuYnRuLXhsIHtcclxuICAgIHdpZHRoOiBjYWxjKCN7JGljb24tYnRuLXNpemUteGx9ICsgI3skYm9yZGVycy13aWR0aH0pICFpbXBvcnRhbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogJGljb24tYnRuLXNpemUteGw7XHJcbiAgfVxyXG5cclxuICAmLmJ0bi1sZyB7XHJcbiAgICB3aWR0aDogY2FsYygjeyRpY29uLWJ0bi1zaXplLWxnfSArICN7JGJvcmRlcnMtd2lkdGh9KSAhaW1wb3J0YW50O1xyXG4gICAgbGluZS1oZWlnaHQ6ICRpY29uLWJ0bi1zaXplLWxnO1xyXG4gIH1cclxuXHJcbiAgJi5idG4tc20ge1xyXG4gICAgd2lkdGg6IGNhbGMoI3skaWNvbi1idG4tc2l6ZS1zbX0gKyAjeyRib3JkZXJzLXdpZHRofSkgIWltcG9ydGFudDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkaWNvbi1idG4tc2l6ZS1zbTtcclxuICB9XHJcblxyXG4gICYuYnRuLXhzIHtcclxuICAgIHdpZHRoOiBjYWxjKCN7JGljb24tYnRuLXNpemUteHN9ICsgI3skYm9yZGVycy13aWR0aH0pICFpbXBvcnRhbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogJGljb24tYnRuLXNpemUteHM7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogV2l0aG91dCBib3JkZXJcclxuXHJcbi5idG4uYm9yZGVybGVzcyB7XHJcbiAgJjpub3QoLmFjdGl2ZSk6bm90KDphY3RpdmUpOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpLFxyXG4gIDpub3QoLnNob3cpID4gJi5kcm9wZG93bi10b2dnbGU6bm90KDpob3Zlcik6bm90KDpmb2N1cykge1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG5cbi8vXG4vLyBDb2xvciBzeXN0ZW1cbi8vXG5cbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZ3JheXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gICAgXCI5MDBcIjogJGdyYXktOTAwXG4gICksXG4gICRncmF5c1xuKTtcblxuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICAgIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiAgKSxcbiAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICAgIFwiZGFya1wiOiAgICAgICAkZGFya1xuICApLFxuICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6ICAgICAgOCUgIWRlZmF1bHQ7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogIGZhbHNlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkLCBubyBsb25nZXIgYWZmZWN0cyBhbnkgY29tcGlsZWQgQ1NTXG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICB0cnVlICFkZWZhdWx0O1xuXG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzcGFjZXJzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAwOiAwLFxuICAgIDE6ICgkc3BhY2VyICogLjI1KSxcbiAgICAyOiAoJHNwYWNlciAqIC41KSxcbiAgICAzOiAkc3BhY2VyLFxuICAgIDQ6ICgkc3BhY2VyICogMS41KSxcbiAgICA1OiAoJHNwYWNlciAqIDMpXG4gICksXG4gICRzcGFjZXJzXG4pO1xuXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXG4kc2l6ZXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzaXplczogbWFwLW1lcmdlKFxuICAoXG4gICAgMjU6IDI1JSxcbiAgICA1MDogNTAlLFxuICAgIDc1OiA3NSUsXG4gICAgMTAwOiAxMDAlLFxuICAgIGF1dG86IGF1dG9cbiAgKSxcbiAgJHNpemVzXG4pO1xuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gRm9udHNcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAuODc1KSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICgkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgbGlnaHRlbigkZ3JheS05MDAsIDcuNSUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgLjI1KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogIDAgMCAwICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1zbTogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG4vLyBGb3Jtc1xuXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSArICgkaW5wdXQtYnRuLXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lci1zbTogICAgICAgICAgICAgICAgICgkZm9udC1zaXplLXNtICogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXItbGc6ICAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1sZyAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcpICsgKCRpbnB1dC1idG4tcGFkZGluZy15LWxnICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDQnJTNFJTNDcGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiAgbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNFJTNDY2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDUnJTNFJTNDcGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aCByZ2JhKCRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvciwgLjUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAxMjUlICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gSUUvRWRnZVxuJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnOiAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICB0aGVtZS1jb2xvcihcImRhbmdlclwiKSAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAoJHNwYWNlciAvIDIpICFkZWZhdWx0O1xuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgLyAyICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4vLyBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cblxuLy8gSnVtYm90cm9uXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gQ2FyZHNcblxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIGNhbGMoI3skY2FyZC1ib3JkZXItcmFkaXVzfSAtICN7JGNhcmQtYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgKCRncmlkLWd1dHRlci13aWR0aCAvIDIpICFkZWZhdWx0O1xuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICFkZWZhdWx0O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtYmctbGV2ZWw6ICAgICAgICAgICAgICAgICAgICAtMTAgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWxldmVsOiAgICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvci1sZXZlbDogICAgICAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIC43NSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgIC41ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjUtMi41LTIuNSAyLjUtMi41LTEuNS0xLjV6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTIuNzUgMGwtMS41IDEuNSAyLjUgMi41LTIuNSAyLjUgMS41IDEuNSA0LTQtNC00eicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjZzIGVhc2UgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAwIDFweCAwICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICA4Ny41JSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLyBQcmludGluZ1xuJHByaW50LXBhZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgYTMgIWRlZmF1bHQ7XG4kcHJpbnQtYm9keS1taW4td2lkdGg6ICAgICAgICAgICAgICBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpICFkZWZhdWx0O1xuIiwiLy8gTWl4aW5zXHJcbi8vXHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogUlRML0xUUlxyXG5cclxuQG1peGluIGx0ci1vbmx5KCkge1xyXG4gIEBpZiAkcnRsLXN1cHBvcnQge1xyXG4gICAgaHRtbDpub3QoW2Rpcj1ydGxdKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcnRsLW9ubHkoKSB7XHJcbiAgQGlmICRydGwtc3VwcG9ydCB7XHJcbiAgICBbZGlyPXJ0bF0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBsdHItc3R5bGUoKSB7XHJcbiAgQGlmICRydGwtc3VwcG9ydCB7XHJcbiAgICBodG1sOm5vdChbZGlyPXJ0bF0pICYge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJ0bC1zdHlsZSgpIHtcclxuICBAaWYgJHJ0bC1zdXBwb3J0IHtcclxuICAgIFtkaXI9cnRsXSAmIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogS2V5ZnJhbWVzXHJcblxyXG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XHJcbiAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQ2FyZXRzXHJcblxyXG5AbWl4aW4gY2FyZXQtZG93biB7XHJcbiAgbWFyZ2luLXRvcDogLTEgKiAoJGNhcmV0LXdpZHRoIC8gMS41KTtcclxuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xyXG4gIGhlaWdodDogJGNhcmV0LXdpZHRoO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkO1xyXG4gIGJvcmRlci10b3A6IDA7XHJcbiAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG59XHJcblxyXG5AbWl4aW4gY2FyZXQtdXAge1xyXG4gIG1hcmdpbi10b3A6IC0wO1xyXG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XHJcbiAgaGVpZ2h0OiAkY2FyZXQtd2lkdGg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogMDtcclxuICBib3JkZXItbGVmdDogMDtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG59XHJcblxyXG5AbWl4aW4gY2FyZXQtcmlnaHQge1xyXG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDIpO1xyXG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XHJcbiAgaGVpZ2h0OiAkY2FyZXQtd2lkdGg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQ7XHJcbiAgYm9yZGVyLXRvcDogMDtcclxuICBib3JkZXItbGVmdDogMDtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG59XHJcblxyXG5AbWl4aW4gY2FyZXQtbGVmdCB7XHJcbiAgbWFyZ2luLXRvcDogLTEgKiAoJGNhcmV0LXdpZHRoIC8gMik7XHJcbiAgd2lkdGg6ICRjYXJldC13aWR0aDtcclxuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcclxuICBib3JkZXI6IDFweCBzb2xpZDtcclxuICBib3JkZXItdG9wOiAwO1xyXG4gIGJvcmRlci1yaWdodDogMDtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBSZXNwb25zaXplIGxvb3BzXHJcblxyXG5AbWl4aW4gcmVzcG9uc2l2ZS1sb29wLWJlZm9yZSgkcGFyZW50LCAkc3RhcnQtYnJlYWtwb2ludDogc20pIHtcclxuICAkY3VyLWJyZWFrcG9pbnQ6ICRzdGFydC1icmVha3BvaW50O1xyXG5cclxuICBAd2hpbGUgJGN1ci1icmVha3BvaW50IHtcclxuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkY3VyLWJyZWFrcG9pbnQpO1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAoYnJlYWtwb2ludC1taW4oJGN1ci1icmVha3BvaW50KSAtIDEpKSB7XHJcbiAgICAgICN7JHBhcmVudH0jeyRpbmZpeH0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJGN1ci1icmVha3BvaW50OiBicmVha3BvaW50LW5leHQoJGN1ci1icmVha3BvaW50KTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiByZXNwb25zaXZlLWxvb3AtYWZ0ZXIoJHBhcmVudCwgJHN0YXJ0LWJyZWFrcG9pbnQ6IHNtKSB7XHJcbiAgJGN1ci1icmVha3BvaW50OiAkc3RhcnQtYnJlYWtwb2ludDtcclxuXHJcbiAgQHdoaWxlICRjdXItYnJlYWtwb2ludCB7XHJcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGN1ci1icmVha3BvaW50KTtcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogYnJlYWtwb2ludC1taW4oJGN1ci1icmVha3BvaW50KSkge1xyXG4gICAgICAjeyRwYXJlbnR9I3skaW5maXh9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICRjdXItYnJlYWtwb2ludDogYnJlYWtwb2ludC1uZXh0KCRjdXItYnJlYWtwb2ludCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQ29sb3JzXHJcblxyXG4vLyBDb250cmFzdFxyXG5AbWl4aW4gY29sb3IteWlxKCRjb2xvcikge1xyXG4gIGNvbG9yOiB5aXEoJGNvbG9yKTtcclxufVxyXG5cclxuQG1peGluIGJnLWNvbG9yLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkcnRoLWNvbG9yOiAjMDAwKSB7XHJcbiAgI3skcGFyZW50fSB7IGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50OyB9XHJcbiAgYSN7JHBhcmVudH0ge1xyXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjk1KSwgJGJhY2tncm91bmQ6ICRydGgtY29sb3IpICFpbXBvcnRhbnQ7IH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJHJ0aC1jb2xvcjogIzAwMCkge1xyXG4gIEBpbmNsdWRlIGJnLWNvbG9yLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBiZy1jb2xvci12YXJpYW50KFwiI3skcGFyZW50fS1kYXJrXCIsIHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuOSksICRiYWNrZ3JvdW5kOiAkcnRoLWNvbG9yKSk7XHJcbiAgQGluY2x1ZGUgYmctY29sb3ItdmFyaWFudChcIiN7JHBhcmVudH0tZGFya2VyXCIsIHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuODUpLCAkYmFja2dyb3VuZDogJHJ0aC1jb2xvcikpO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQnV0dG9uc1xyXG5cclxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kOiBudWxsLCAkYm9yZGVyOiBudWxsLCAkYWN0aXZlLWJhY2tncm91bmQ6IG51bGwsICRhY3RpdmUtYm9yZGVyOiBudWxsKSB7fVxyXG5cclxuQG1peGluIGFwcHdvcmstYnV0dG9uLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCkge1xyXG4gICRidG4tY29sb3JzOiBnZXQtYnRuLWNvbG9ycygkYmFja2dyb3VuZCwgaWYoJGJvcmRlciwgJGJvcmRlciwgJGJhY2tncm91bmQpKTtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xyXG4gICAgQGluY2x1ZGUgaG92ZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XHJcbiAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWhvdmVyKTtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJi5mb2N1cyB7XHJcbiAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIHNoYWRvdyk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5kaXNhYmxlZCxcclxuICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcikgIWltcG9ydGFudDtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9IC5iYWRnZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICBjb2xvcjogcmdiYS10by1oZXgoJGJhY2tncm91bmQpO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fTphY3RpdmUsXHJcbiAgI3skcGFyZW50fS5hY3RpdmUsXHJcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XHJcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1hY3RpdmUpO1xyXG5cclxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xyXG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBCdXR0b24gZ3JvdXBzXHJcbiAgLmJ0bi1ncm91cCAjeyRwYXJlbnR9LFxyXG4gIC5pbnB1dC1ncm91cC1wcmVwZW5kICN7JHBhcmVudH0sXHJcbiAgLmlucHV0LWdyb3VwLWFwcGVuZCAjeyRwYXJlbnR9IHtcclxuICAgIGJvcmRlci1yaWdodDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcclxuICAgIGJvcmRlci1sZWZ0OiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1hY3RpdmUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJG1kLWNvbG9yOiAkYmFja2dyb3VuZCkge1xyXG4gICRidG4tY29sb3JzOiBnZXQtbWF0ZXJpYWwtYnRuLWNvbG9ycygkYmFja2dyb3VuZCk7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICBib3gtc2hhZG93OiAkYnRuLWJveC1zaGFkb3c7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fSAuYmFkZ2Uge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgY29sb3I6IHJnYmEtdG8taGV4KCRiYWNrZ3JvdW5kKTtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0gLndhdmVzLXJpcHBsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gI2ZmZiwgcmdiYSgkY29sb3IsIC4zKSwgcmdiYSgkY29sb3IsIC4yKSkgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH06YWN0aXZlLFxyXG4gICN7JHBhcmVudH0uYWN0aXZlLFxyXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcclxuICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3c7XHJcbiAgfVxyXG5cclxuICAvLyBGbGF0IGJ1dHRvbnNcclxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0IHtcclxuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAkbWQtY29sb3IgIWltcG9ydGFudDtcclxuXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJi5mb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJG1kLWNvbG9yLCAuMSkgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAud2F2ZXMtcmlwcGxlIHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgkbWQtY29sb3IsIC4zKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdDphY3RpdmUsXHJcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdC5hY3RpdmUsXHJcbiAgLnNob3cgPiAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0LmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRtZC1jb2xvciwgLjE1KSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLy8gRGlzYWJsZWRcclxuXHJcbiAgI3skcGFyZW50fS5kaXNhYmxlZCxcclxuICAjeyRwYXJlbnR9OmRpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiAkbWF0ZXJpYWwtY29tcG9uZW50LXNoYWRvdyAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdC5kaXNhYmxlZCxcclxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0OmRpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE91dGxpbmUgYnV0dG9uc1xyXG5cclxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yOiBudWxsLCAkY29sb3ItaG92ZXI6IG51bGwsICRob3Zlci1jb2xvcjogbnVsbCkge31cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaG92ZXItY29sb3I6IG51bGwpIHtcclxuICAkYnRuLWNvbG9yczogZ2V0LWJ0bi1jb2xvcnMoJGNvbG9yLCAkY29sb3IpO1xyXG4gICRjb2xvci1ob3ZlcjogaWYoJGhvdmVyLWNvbG9yLCAkaG92ZXItY29sb3IsIHlpcSgkY29sb3IpKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBAaW5jbHVkZSBob3ZlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnRuLWNvbG9ycywgYm9yZGVyKTtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xyXG5cclxuICAgICAgLmJhZGdlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XHJcbiAgICAgICAgY29sb3I6IGlmKGFscGhhKCRjb2xvcikgPT0gMSwgJGNvbG9yLCB5aXEoJGNvbG9yLWhvdmVyKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJi5mb2N1cyB7XHJcbiAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIHNoYWRvdyk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5kaXNhYmxlZCxcclxuICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9IC5iYWRnZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH06YWN0aXZlLFxyXG4gICN7JHBhcmVudH0uYWN0aXZlLFxyXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xyXG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xyXG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcclxuXHJcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcclxuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5iYWRnZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcclxuICAgICAgY29sb3I6IGlmKGFscGhhKCRjb2xvcikgPT0gMSwgJGNvbG9yLCB5aXEoJGNvbG9yLWhvdmVyKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1idXR0b24tb3V0bGluZS12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGhvdmVyLWNvbG9yOiBudWxsKSB7XHJcbiAgJGJ0bi1jb2xvcnM6IGdldC1tYXRlcmlhbC1idG4tY29sb3JzKCRjb2xvcik7XHJcbiAgJGNvbG9yLWhvdmVyOiBpZigkaG92ZXItY29sb3IsICRob3Zlci1jb2xvciwgeWlxKCRjb2xvcikpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjb2xvciBpbnNldDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICAgIGJveC1zaGFkb3c6ICRidG4tZm9jdXMtYm94LXNoYWRvdztcclxuICAgICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcclxuXHJcbiAgICAgIC5iYWRnZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xyXG4gICAgICAgIGNvbG9yOiBpZihhbHBoYSgkY29sb3IpID09IDEsICRjb2xvciwgeWlxKCRjb2xvci1ob3ZlcikpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5kaXNhYmxlZCxcclxuICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNvbG9yIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fSAud2F2ZXMtcmlwcGxlIHtcclxuICAgIGJhY2tncm91bmQ6IGlmKCRjb2xvci1ob3ZlciA9PSAjZmZmLCByZ2JhKCRjb2xvci1ob3ZlciwgLjMpLCByZ2JhKCRjb2xvci1ob3ZlciwgLjIpKSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fTphY3RpdmUsXHJcbiAgI3skcGFyZW50fS5hY3RpdmUsXHJcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1ob3Zlcik7XHJcbiAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93O1xyXG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcclxuXHJcbiAgICAuYmFkZ2Uge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XHJcbiAgICAgIGNvbG9yOiBpZihhbHBoYSgkY29sb3IpID09IDEsICRjb2xvciwgeWlxKCRjb2xvci1ob3ZlcikpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEJhZGdlc1xyXG5cclxuQG1peGluIGJhZGdlLXZhcmlhbnQoJGJnKSB7fVxyXG5cclxuQG1peGluIGFwcHdvcmstYmFkZ2UtdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCkge1xyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xyXG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJnKSk7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9W2hyZWZdIHtcclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoYWxwaGEoJGJnKSA9PSAxLCByZ2JhLXRvLWhleChyZ2JhKCRiZywgLjk1KSwgIzAwMCksIHJnYmEoJGJnLCBhbHBoYSgkYmcpICsgLjAzKSk7XHJcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiZykpO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYnRuICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmcpKSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstYmFkZ2Utb3V0bGluZS12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiAkYmcpIHtcclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRiZyBpbnNldDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9W2hyZWZdIHtcclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJ0biAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGJnIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogRHJvcGRvd25zXHJcblxyXG5AbWl4aW4gYXBwd29yay1kcm9wZG93bi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAjeyRwYXJlbnR9IC5kcm9wZG93bi1pdGVtOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9IC5kcm9wZG93bi1pdGVtOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9LmRyb3Bkb3duLW1lbnUgPiBsaTpub3QoLmRpc2FibGVkKSA+IGE6bm90KC5kcm9wZG93bi1pdGVtKTphY3RpdmUsXHJcbiAgI3skcGFyZW50fS5kcm9wZG93bi1tZW51ID4gbGkuYWN0aXZlOm5vdCguZGlzYWJsZWQpID4gYTpub3QoLmRyb3Bkb3duLWl0ZW0pIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWRyb3Bkb3duLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWRyb3Bkb3duLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1kcm9wZG93bi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAjeyRwYXJlbnR9IC5kcm9wZG93bi1pdGVtOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9LmRyb3Bkb3duLW1lbnUgPiBsaS5hY3RpdmU6bm90KC5kaXNhYmxlZCkgPiBhOm5vdCguZHJvcGRvd24taXRlbSkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZHJvcGRvd24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtZHJvcGRvd24tdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBOYXZzXHJcblxyXG5AbWl4aW4gYXBwd29yay1uYXYtc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQpIHtcclxuICAgPiAubmF2IC5uYXYtbGluayxcclxuICAmLm5hdiAubmF2LWxpbmsge1xyXG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW5hdi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkcGlsbHMtc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcubmF2LXBpbGxzJywgJyN7JHBhcmVudH0ubmF2LXBpbGxzLCAjeyRwYXJlbnR9ID4gLm5hdi1waWxscycpO1xyXG5cclxuICAjeyRwaWxscy1zZWxlY3Rvcn0gLm5hdi1saW5rLmFjdGl2ZSB7XHJcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fS50YWJzLWFsdC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlLFxyXG4gICN7JHBhcmVudH0udGFicy1hbHQgPiAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSB7XHJcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgLTJweCAwICRiYWNrZ3JvdW5kIGluc2V0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbmF2LXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW5hdi12YXJpYW50KCcnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtbmF2LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkbGluay1jb2xvcjogbnVsbCkge1xyXG4gICR0YWJzLXNlbGVjdG9yOiBpZigkcGFyZW50ID09ICcnLCAnLm5hdi10YWJzJywgJyN7JHBhcmVudH0ubmF2LXRhYnMnKTtcclxuICAkcGlsbHMtc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcubmF2LXBpbGxzJywgJyN7JHBhcmVudH0ubmF2LXBpbGxzLCAjeyRwYXJlbnR9ID4gLm5hdi1waWxscycpO1xyXG5cclxuICAjeyR0YWJzLXNlbGVjdG9yfSAubmF2LWxpbmsge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRjb2xvciwgJGNvbG9yKTtcclxuICB9XHJcblxyXG4gICN7JHBpbGxzLXNlbGVjdG9yfSAubmF2LWxpbmsuYWN0aXZlIHtcclxuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gICAgICBjb2xvcjogaWYoJGxpbmstY29sb3IsICRsaW5rLWNvbG9yLCB5aXEoJGNvbG9yKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1uYXYtdGhlbWUoJGNvbG9yLCAkbGluay1jb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtbmF2LXZhcmlhbnQoJycsICRjb2xvciwgJGxpbmstY29sb3IpO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogUGFnaW5hdGlvblxyXG5cclxuQG1peGluIGFwcHdvcmstcGFnaW5hdGlvbi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAjeyRwYXJlbnR9IC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmssXHJcbiAgI3skcGFyZW50fS5wYWdpbmF0aW9uIGxpLmFjdGl2ZSA+IGE6bm90KC5wYWdlLWxpbmspIHtcclxuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1wYWdpbmF0aW9uLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLXBhZ2luYXRpb24tdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBQcm9ncmVzcyBiYXJzXHJcblxyXG5AbWl4aW4gYXBwd29yay1wcm9ncmVzcy1iYXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIC5wcm9ncmVzcy1iYXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIExpc3QgZ3JvdXBzXHJcblxyXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlOiBudWxsLCAkYmFja2dyb3VuZDogbnVsbCwgJGNvbG9yOiBudWxsKSB7fVxyXG5cclxuQG1peGluIGFwcHdvcmstbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRiZzogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjEpLCAjZmZmKTtcclxuICAkY29sb3I6IHlpcSgkYmcpO1xyXG4gICRob3Zlci1iZzogcmdiYS10by1oZXgocmdiYSgkYmcsIC45OSksICMwMDApO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwuMDcpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gIGEjeyRwYXJlbnR9LFxyXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iZztcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbGlzdC1ncm91cC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1saXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgnLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5JywgJGJhY2tncm91bmQpO1xyXG5cclxuICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XHJcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEFsZXJ0c1xyXG5cclxuQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQ6IG51bGwsICRib3JkZXI6IG51bGwsICRjb2xvcjogbnVsbCkge31cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWFsZXJ0LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQpIHtcclxuICAkYmFja2dyb3VuZDogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjE1KSwgI2ZmZik7XHJcbiAgJGJvcmRlcjogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjk0KSwgIzAwMCk7XHJcbiAgJGNvbG9yOiB5aXEoJGJhY2tncm91bmQpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBociB7XHJcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRib3JkZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmFsZXJ0LWxpbmsge1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstYWxlcnQtZGFyay12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgaHIge1xyXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKHlpcSgkYmFja2dyb3VuZCksLjIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5jbG9zZSxcclxuICAgIC5hbGVydC1saW5rIHtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBUb29sdGlwc1xyXG5cclxuQG1peGluIGFwcHdvcmstdG9vbHRpcC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAjeyRwYXJlbnR9IHtcclxuICAgIC50b29sdGlwLWlubmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5icy10b29sdGlwLXRvcCAuYXJyb3c6OmJlZm9yZSwgJi5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwidG9wXCJdIC5hcnJvdzo6YmVmb3JlIHsgYm9yZGVyLXRvcC1jb2xvcjogJGJhY2tncm91bmQ7IH1cclxuICAgICYuYnMtdG9vbHRpcC1yaWdodCAuYXJyb3c6OmJlZm9yZSwgJi5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwicmlnaHRcIl0gLmFycm93OjpiZWZvcmUgeyBib3JkZXItcmlnaHQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgICAmLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLmFycm93OjpiZWZvcmUgeyBib3JkZXItYm90dG9tLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gICAgJi5icy10b29sdGlwLWxlZnQgLmFycm93OjpiZWZvcmUsICYuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0gLmFycm93OjpiZWZvcmUgeyBib3JkZXItbGVmdC1jb2xvcjogJGJhY2tncm91bmQ7IH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBQb3BvdmVyc1xyXG5cclxuQG1peGluIGFwcHdvcmstcG9wb3Zlci12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcblxyXG4gICAgLnBvcG92ZXItaGVhZGVyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKHlpcSgkYmFja2dyb3VuZCksLjIpO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAucG9wb3Zlci1ib2R5IHtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgLmFycm93OjpiZWZvcmUgeyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgICAmLmJzLXBvcG92ZXItdG9wIC5hcnJvdzo6YWZ0ZXIsICYuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSAuYXJyb3c6OmFmdGVyIHsgYm9yZGVyLXRvcC1jb2xvcjogJGJhY2tncm91bmQ7IH1cclxuICAgICYuYnMtcG9wb3Zlci1yaWdodCAuYXJyb3c6OmFmdGVyLCAmLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJyaWdodFwiXSAuYXJyb3c6OmFmdGVyIHsgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gICAgJi5icy1wb3BvdmVyLWJvdHRvbSAuYXJyb3c6OmFmdGVyLCAmLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLmFycm93OjphZnRlciB7IGJvcmRlci1ib3R0b20tY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgICAmLmJzLXBvcG92ZXItbGVmdCAuYXJyb3c6OmFmdGVyLCAmLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC5hcnJvdzo6YWZ0ZXIgeyBib3JkZXItbGVmdC1jb2xvcjogJGJhY2tncm91bmQ7IH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBGb3JtIGNvbnRyb2xzXHJcblxyXG5AbWl4aW4gYXBwd29yay1jdXN0b20tc2VsZWN0LXNpemUoJHNpemUsICRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRoZWlnaHQsICRmb250LXNpemUsICRsaW5lLWhlaWdodCkge1xyXG4gIC5jdXN0b20tc2VsZWN0LSN7JHNpemV9LFxyXG4gIC5pbnB1dC1ncm91cC0jeyRzaXplfSAuY3VzdG9tLXNlbGVjdCB7XHJcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICgkcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcclxuICAgIGhlaWdodDogJGhlaWdodDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRwYWRkaW5nLXggY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcclxuXHJcbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAmLFxyXG4gICAgICAmW3NpemU9XCIwXCJdOm5vdChbbXVsdGlwbGVdKSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmcteDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0ICRwYWRkaW5nLXggY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJltzaXplPVwiMFwiXTpub3QoW211bHRpcGxlXSkge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1jdXN0b20tY29udHJvbC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwsICRkZWZhdWx0LWJhY2tncm91bmQ6IG51bGwpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBAaWYgJGRlZmF1bHQtYmFja2dyb3VuZCB7XHJcbiAgICAgIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWJhY2tncm91bmQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xyXG4gICAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAgICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkYmFja2dyb3VuZCwgLjQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAmLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstY3VzdG9tLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstY3VzdG9tLWNvbnRyb2wtdmFyaWFudCgnLmN1c3RvbS1jb250cm9sJywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJGRlZmF1bHQtYmFja2dyb3VuZDogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIEBpZiAkZGVmYXVsdC1iYWNrZ3JvdW5kIHtcclxuICAgICAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAgIC5jdXN0b20tY29udHJvbC1pbnB1dDphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZmF1bHQtYmFja2dyb3VuZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgJi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRldGVybWluYXRlLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkYmFja2dyb3VuZCksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmFja2dyb3VuZCwgLjE1KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1jb250cm9sLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJy5jdXN0b20tY29udHJvbCcsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG59XHJcblxyXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZTogbnVsbCwgJGNvbG9yOiBudWxsKSB7fVxyXG5cclxuQG1peGluIGFwcHdvcmstZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XHJcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDEwMCU7XHJcbiAgICB6LWluZGV4OiA1O1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xyXG4gICAgcGFkZGluZzogLjVyZW07XHJcbiAgICB3aWR0aDogMjUwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAuMnJlbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLC44KTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgfVxyXG5cclxuICAuZm9ybS1jb250cm9sLFxyXG4gIC5jdXN0b20tc2VsZWN0IHtcclxuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxyXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRjb2xvciwuMjUpICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXHJcbiAgICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2wtZmlsZTojeyRzdGF0ZX0sXHJcbiAgLmZvcm0tY29udHJvbC1maWxlLmlzLSN7JHN0YXRlfSB7XHJcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXHJcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQsXHJcbiAgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXHJcbiAgICAmLmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJiB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAgICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGNvbG9yLCAuNCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXHJcbiAgICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0IHtcclxuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxyXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xyXG4gICAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsIHlpcSgkY29sb3IpKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcclxuICAgICYuaXMtI3skc3RhdGV9IHtcclxuICAgICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZywgJ19DT0xPUl8nLCB5aXEoJGNvbG9yKSksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdXN0b20tZmlsZS1pbnB1dCB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcclxuICAgICYuaXMtI3skc3RhdGV9IHtcclxuICAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGNvbG9yLC4zKSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1mb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IpIHtcclxuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIHotaW5kZXg6IDU7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgbWFyZ2luLXRvcDogLjFyZW07XHJcbiAgICBwYWRkaW5nOiAuNXJlbTtcclxuICAgIHdpZHRoOiAyNTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IC4ycmVtO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsLjgpO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICB9XHJcblxyXG4gIC5mb3JtLWNvbnRyb2wsXHJcbiAgLmN1c3RvbS1zZWxlY3Qge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXHJcbiAgICAmLmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwICRjb2xvciBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxyXG4gICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sLWZpbGU6I3skc3RhdGV9LFxyXG4gIC5mb3JtLWNvbnRyb2wtZmlsZS5pcy0jeyRzdGF0ZX0ge1xyXG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxyXG4gICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0LFxyXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0IHtcclxuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxyXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xyXG4gICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgICAmOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgLjE1KSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxyXG4gICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dCB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfTpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAmLmlzLSN7JHN0YXRlfTpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZywgJ19DT0xPUl8nLCB5aXEoJGNvbG9yKSksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfTpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAmLmlzLSN7JHN0YXRlfTpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDojeyRzdGF0ZX0sXHJcbiAgLmN1c3RvbS1maWxlLWlucHV0LmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xyXG4gICAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwICRjb2xvciBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstY3VzdG9tLWZpbGUtaW5wdXQtdGhlbWUoJGNvbG9yKSB7XHJcbiAgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWZpbGUtaW5wdXQtdGhlbWUoJGNvbG9yKSB7XHJcbiAgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcclxuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgJGNvbG9yIGluc2V0O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZm9ybS1jb250cm9sLXNpemUoJHNpemUsICRsaW5lLWhlaWdodCwgJHBhZGRpbmcteSwgJGdyb3VwLWJ0bi1mb250LXNpemU6IG51bGwpIHtcclxuICBAaWYgJHNpemUgPT0gJycge1xyXG4gICAgLmZvcm0tY29udHJvbCxcclxuICAgIC5jdXN0b20tc2VsZWN0LFxyXG4gICAgLmN1c3RvbS1maWxlLWxhYmVsLFxyXG4gICAgLmlucHV0LWdyb3VwLXRleHQge1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRwYWRkaW5nLXl9IC0gMXB4KSAhaW1wb3J0YW50O1xyXG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgLmZvcm0tY29udHJvbC0jeyRzaXplfSxcclxuICAgIC5jdXN0b20tc2VsZWN0LSN7JHNpemV9LFxyXG4gICAgLmlucHV0LWdyb3VwLSN7JHNpemV9ID4gLmZvcm0tY29udHJvbCxcclxuICAgIC5pbnB1dC1ncm91cC0jeyRzaXplfSA+IC5jdXN0b20tc2VsZWN0LFxyXG4gICAgLmlucHV0LWdyb3VwLSN7JHNpemV9IC5pbnB1dC1ncm91cC10ZXh0IHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skcGFkZGluZy15fSAtIDFweCkgIWltcG9ydGFudDtcclxuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcclxuICAgIH1cclxuXHJcbiAgICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXHJcbiAgICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JHBhZGRpbmcteX0gLSAxcHgpICFpbXBvcnRhbnQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogJGdyb3VwLWJ0bi1mb250LXNpemU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1mb3JtLWNvbnRyb2wtdGhlbWUoJGNvbG9yKSB7XHJcbiAgLmZvcm0tY29udHJvbDpmb2N1cyxcclxuICAuY3VzdG9tLXNlbGVjdDpmb2N1cyB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWZvcm0tY29udHJvbC10aGVtZSgkY29sb3IpIHtcclxuICAuZm9ybS1jb250cm9sOmZvY3VzLFxyXG4gIC5jdXN0b20tc2VsZWN0OmZvY3VzIHtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcclxuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgJGNvbG9yIGluc2V0O1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFN3aXRjaGVyc1xyXG5cclxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItc2l6ZS1iYXNlKCR3aWR0aCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0LCAkaW5uZXItc3BhY2VyOiAkc3dpdGNoZXItaW5uZXItc3BhY2VyKSB7XHJcbiAgcGFkZGluZy1sZWZ0OiAkd2lkdGg7XHJcbiAgbWluLWhlaWdodDogJGhlaWdodDtcclxuICBmb250LXNpemU6ICRkZXNjcmlwdGlvbi1mb250LXNpemU7XHJcbiAgbGluZS1oZWlnaHQ6ICRkZXNjcmlwdGlvbi1saW5lLWhlaWdodDtcclxuXHJcbiAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAkZGVzY3JpcHRpb24tZm9udC1zaXplICogJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xyXG4gICRkZWx0YTogaWYoJG1hdGVyaWFsLXN0eWxlLCBweC10by1yZW0oY2VpbChyZW0tdG8tcHgoJGhlaWdodCAqIC4xMjUpKSksIDApO1xyXG5cclxuICAuc3dpdGNoZXItYmxhbmsgLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICB0b3A6ICRkZWx0YSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgaGVpZ2h0OiAkaGVpZ2h0IC0gKCRkZWx0YSAqIDIpO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRoZWlnaHQ7XHJcblxyXG4gICAgQGlmICRsaW5lLWhlaWdodC1jb21wdXRlZCA+ICRoZWlnaHQge1xyXG4gICAgICB0b3A6ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC0gJGhlaWdodCkgLyAyKSArICRkZWx0YTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICB0b3A6IDAgKyAkZGVsdGE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc3dpdGNoZXItbGFiZWwge1xyXG4gICAgQGlmICRsaW5lLWhlaWdodC1jb21wdXRlZCA8ICRoZWlnaHQge1xyXG4gICAgICB0b3A6ICgkaGVpZ2h0IC0gJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKSAvIDI7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XHJcbiAgICBsZWZ0OiAkd2lkdGggLSAkaGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgLnN3aXRjaGVyLWluZGljYXRvcjo6YWZ0ZXIge1xyXG4gICAgdG9wOiAkZGVsdGEgKiAtMTtcclxuICAgIG1hcmdpbjogJGlubmVyLXNwYWNlciAwIDAgJGlubmVyLXNwYWNlcjtcclxuICAgIHdpZHRoOiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlciAqIDI7XHJcbiAgICBoZWlnaHQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyICogMjtcclxuICB9XHJcblxyXG4gIC5zd2l0Y2hlci1ubyB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkaW5uZXItc3BhY2VyO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcclxuICB9XHJcblxyXG4gIC5zd2l0Y2hlci15ZXMge1xyXG4gICAgcGFkZGluZy1yaWdodDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRpbm5lci1zcGFjZXI7XHJcbiAgfVxyXG5cclxuICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICAgIC5zd2l0Y2hlci1pbmRpY2F0b3I6OmJlZm9yZSB7XHJcbiAgICAgIHRvcDogJGRlbHRhICogLTE7XHJcbiAgICAgIHdpZHRoOiAkaGVpZ2h0O1xyXG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yOjpiZWZvcmUge1xyXG4gICAgICBsZWZ0OiAkd2lkdGggLSAkaGVpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRydGwtc3VwcG9ydCB7XHJcbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmFmdGVyIHtcclxuICAgICAgcmlnaHQ6ICR3aWR0aCAtICRoZWlnaHQ7XHJcbiAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLWluZGljYXRvcjo6YWZ0ZXIge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6ICRpbm5lci1zcGFjZXI7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIFtkaXI9cnRsXSAmIC5zd2l0Y2hlci1ubyB7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6ICRpbm5lci1zcGFjZXI7XHJcbiAgICB9XHJcblxyXG4gICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLXllcyB7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbm5lci1zcGFjZXI7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRtYXRlcmlhbC1zdHlsZSB7XHJcbiAgICAgIFtkaXI9cnRsXSAmIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvcjo6YmVmb3JlIHtcclxuICAgICAgICByaWdodDogJHdpZHRoIC0gJGhlaWdodDtcclxuICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1zd2l0Y2hlci1zaXplKCRzaXplLCAkd2lkdGgsICRoZWlnaHQsICRmb250LXNpemUsICRkZXNjcmlwdGlvbi1mb250LXNpemUsICRkZXNjcmlwdGlvbi1saW5lLWhlaWdodCwgJGlubmVyLXNwYWNlcjogJHN3aXRjaGVyLWlubmVyLXNwYWNlcikge1xyXG4gIC5zd2l0Y2hlci0jeyRzaXplfSxcclxuICAuZm9ybS1ncm91cC0jeyRzaXplfSAuc3dpdGNoZXIge1xyXG4gICAgQGluY2x1ZGUgYXBwd29yay1zd2l0Y2hlci1zaXplLWJhc2UoJHdpZHRoLCAkaGVpZ2h0LCAkZm9udC1zaXplLCAkZGVzY3JpcHRpb24tZm9udC1zaXplLCAkZGVzY3JpcHRpb24tbGluZS1oZWlnaHQsICRpbm5lci1zcGFjZXIpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJHNlbGVjdG9yOiBpZigkcGFyZW50ID09ICcnLCAnJywgJyN7JHBhcmVudH0uc3dpdGNoZXInKTtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgI3skc2VsZWN0b3J9IC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICAjeyRzZWxlY3Rvcn0gLnN3aXRjaGVyLWlucHV0OmZvY3VzIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRiYWNrZ3JvdW5kLCAuNCk7XHJcbiAgfVxyXG5cclxuICAjeyRzZWxlY3Rvcn0gLnN3aXRjaGVyLWlucHV0OmFjdGl2ZSB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstc3dpdGNoZXItdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQpIHtcclxuICAkc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcnLCAnI3skcGFyZW50fS5zd2l0Y2hlcicpO1xyXG5cclxuICAjeyRzZWxlY3Rvcn0gLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoJGJhY2tncm91bmQsIC41KTtcclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJhY2tncm91bmQsIC4xNSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci10aGVtZSgkYmFja2dyb3VuZCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdmFyaWFudCgnJywgJGJhY2tncm91bmQpO1xyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1zd2l0Y2hlci12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XHJcbiAgLnN3aXRjaGVyLWlucHV0IHtcclxuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxyXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xyXG4gICAgICAmOmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogeWlxKCRjb2xvcikgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpmb2N1cyB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGNvbG9yLCAuNCkgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjphY3RpdmUgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIH4gLnN3aXRjaGVyLWxhYmVsIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IpIHtcclxuICAuc3dpdGNoZXItaW5wdXQge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXHJcbiAgICAmLmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsIC41KSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgLjE1KSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgfiAuc3dpdGNoZXItbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFRhYmxlc1xyXG5cclxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHt9XHJcblxyXG5AbWl4aW4gYXBwd29yay10YWJsZS1yb3ctdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCkge1xyXG4gICRiZzogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjEpLCAjZmZmKTtcclxuICAkY29sb3I6IHlpcSgkYmcpO1xyXG4gICRob3Zlci1iZzogcmdiYS10by1oZXgocmdiYSgkYmcsIC45OSksICMwMDApO1xyXG5cclxuICAudGFibGUgI3skcGFyZW50fSxcclxuICAudGFibGUgI3skcGFyZW50fSA+IHRoLFxyXG4gIC50YWJsZSAjeyRwYXJlbnR9ID4gdGQge1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4wMzUpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gIC50YWJsZS1ob3ZlciAjeyRwYXJlbnR9OmhvdmVyLFxyXG4gIC50YWJsZS1ob3ZlciAjeyRwYXJlbnR9OmhvdmVyID4gdGQsXHJcbiAgLnRhYmxlLWhvdmVyICN7JHBhcmVudH06aG92ZXIgPiB0aCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmc7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTmF2YmFyXHJcblxyXG5AbWl4aW4gYXBwd29yay1uYXZiYXItdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCwgJGFjdGl2ZS1jb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCkge1xyXG4gICRjb2xvcnM6IGdldC1uYXYtY29sb3JzKCRiZywgJGFjdGl2ZS1jb2xvciwgJGNvbG9yLCAkYm9yZGVyKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJnKSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG5cclxuICAgIC5uYXZiYXItYnJhbmQge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLW5hdiB7XHJcbiAgICAgIC5uYXYtbGluayB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBkaXNhYmxlZC1jb2xvcikgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zaG93ID4gLm5hdi1saW5rLFxyXG4gICAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxyXG4gICAgICAubmF2LWxpbmsuc2hvdyxcclxuICAgICAgLm5hdi1saW5rLmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItdG9nZ2xlciB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci10b2dnbGVyLWljb24ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZihtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcikgPT0gI2ZmZiwgJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZywgJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmcpO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItdGV4dCB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaHIge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBTaWRlbmF2XHJcblxyXG5AbWl4aW4gYXBwd29yay1zaWRlbmF2LXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6IG51bGwsICRhY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwsICRtZW51LWJnOiBudWxsKSB7XHJcbiAgJGNvbG9yczogZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yLCAkY29sb3IsICRib3JkZXIpO1xyXG4gICR5aXEtcGVyY2VudDogbWFwLWdldCgkY29sb3JzLCB5aXEtcGVyY2VudCk7XHJcblxyXG4gIEBpZiBub3QgJG1lbnUtYmcge1xyXG4gICAgJG1lbnUtYmc6IHJnYmEtdG8taGV4KHJnYmEobWFwLWdldCgkY29sb3JzLCBiZyksIDEgLSBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIC4wMjUsIC4wNSkpLCBpZigkeWlxLXBlcmNlbnQgPCAuMjUsICNmZmYsICMwMDApKTtcclxuICB9XHJcblxyXG4gICRtZW51LWFjdGl2ZS1iZzogcmdiYS10by1oZXgocmdiYSgkbWVudS1iZywgMSAtIGlmKCR5aXEtcGVyY2VudCA+IC43NSwgLjAyNSwgLjA1KSksIGlmKCR5aXEtcGVyY2VudCA8IC4yNSwgI2ZmZiwgIzAwMCkpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmcpICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcblxyXG4gICAgLnNpZGVuYXYtbGluayxcclxuICAgIC5zaWRlbmF2LWhvcml6b250YWwtcHJldixcclxuICAgIC5zaWRlbmF2LWhvcml6b250YWwtbmV4dCB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWl0ZW0uZGlzYWJsZWQgLnNpZGVuYXYtbGluayxcclxuICAgIC5zaWRlbmF2LWhvcml6b250YWwtcHJldi5kaXNhYmxlZCxcclxuICAgIC5zaWRlbmF2LWhvcml6b250YWwtbmV4dC5kaXNhYmxlZCB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGRpc2FibGVkLWNvbG9yKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWl0ZW0ub3Blbjpub3QoLnNpZGVuYXYtaXRlbS1jbG9zaW5nKSA+IC5zaWRlbmF2LXRvZ2dsZSxcclxuICAgIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluayB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOm5vdCguc2lkZW5hdi10b2dnbGUpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnUtYmc7XHJcbiAgICB9XHJcblxyXG4gICAgJi5zaWRlbmF2LWhvcml6b250YWwgLnNpZGVuYXYtbWVudSA+IC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazpub3QoLnNpZGVuYXYtdG9nZ2xlKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZW51LWFjdGl2ZS1iZztcclxuICAgIH1cclxuXHJcbiAgICAmLnNpZGVuYXYtaG9yaXpvbnRhbCAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW06bm90KC5zaWRlbmF2LWl0ZW0tY2xvc2luZykgPiAuc2lkZW5hdi1tZW51LFxyXG4gICAgJi5zaWRlbmF2LWhvcml6b250YWwgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gPiAuc2lkZW5hdi10b2dnbGUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkbWVudS1iZztcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0uc2lkZW5hdi1pdGVtLWNsb3NpbmcgLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LW1lbnUsXHJcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0uc2lkZW5hdi1pdGVtLWNsb3NpbmcgLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LXRvZ2dsZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtdGV4dCB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaGVhZGVyIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgbXV0ZWQtY29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIGhyLFxyXG4gICAgLnNpZGVuYXYtZGl2aWRlcixcclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtbWVudTo6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcikgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWhlYWRlcjo6YmVmb3JlLFxyXG4gICAgLnNpZGVuYXYtYmxvY2s6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1pdGVtLm9wZW4gPiAuc2lkZW5hdi10b2dnbGU6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEtdG8taGV4KG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKSwgJG1lbnUtYmcpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YmVmb3JlLFxyXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOjpiZWZvcmUge1xyXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJG1lbnUtYmc7XHJcbiAgICB9XHJcblxyXG4gICAgLnBzX190aHVtYi15LFxyXG4gICAgLnBzX19yYWlsLXkucHMtLWNsaWNraW5nID4gLnBzX190aHVtYi15IHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYShtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvciksIGlmKCR5aXEtcGVyY2VudCA+IC43NSwgbWFwLWdldCgkY29sb3JzLCBvcGFjaXR5KSAtIC40LCBtYXAtZ2V0KCRjb2xvcnMsIG9wYWNpdHkpIC0gLjIpKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEZvb3RlclxyXG5cclxuQG1peGluIGFwcHdvcmstZm9vdGVyLXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6IG51bGwsICRhY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcclxuICAkY29sb3JzOiBnZXQtbmF2LWNvbG9ycygkYmcsICRhY3RpdmUtY29sb3IsICRjb2xvciwgJGJvcmRlcik7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBiZykgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuXHJcbiAgICAuZm9vdGVyLWxpbmsge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcblxyXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgZGlzYWJsZWQtY29sb3IpICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZm9vdGVyLXRleHQge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaG93ID4gLmZvb3Rlci1saW5rLFxyXG4gICAgLmFjdGl2ZSA+IC5mb290ZXItbGluayxcclxuICAgIC5mb290ZXItbGluay5zaG93LFxyXG4gICAgLmZvb3Rlci1saW5rLmFjdGl2ZSB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgaHIge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gVGFibGVzXHJcbi8vXHJcblxyXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcclxuICBAaWYgJGNvbG9yICE9IHByaW1hcnkgYW5kICRjb2xvciAhPSBsaWdodCB7XHJcbiAgICBAaW5jbHVkZSBhcHB3b3JrLXRhYmxlLXJvdy12YXJpYW50KCcudGFibGUtI3skY29sb3J9JywgJHZhbHVlKTtcclxuICB9XHJcbn1cclxuXHJcbi50YWJsZS50YWJsZS1maXhlZCB7XHJcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxufVxyXG5cclxuLnRhYmxlIHRoIHtcclxuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWlib2xkO1xyXG59XHJcblxyXG4udGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSB7XHJcbiAgbWF4LXdpZHRoOiBub25lO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQWN0aXZlXHJcblxyXG4udGFibGUtYWN0aXZlLFxyXG4udGFibGUtYWN0aXZlID4gdGgsXHJcbi50YWJsZS1hY3RpdmUgPiB0ZCB7XHJcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjAzNSk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWFjdGl2ZS1iZztcclxufVxyXG5cclxuLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIsXHJcbi50YWJsZS1ob3ZlciAudGFibGUtYWN0aXZlOmhvdmVyID4gdGQsXHJcbi50YWJsZS1ob3ZlciAudGFibGUtYWN0aXZlOmhvdmVyID4gdGgge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJHRhYmxlLWFjdGl2ZS1iZywgLjk5KSwgIzAwMCk7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBXaXRoaW4gY2FyZFxyXG5cclxuLmNhcmQtdGFibGUge1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5jYXJkLXRhYmxlLFxyXG4uY2FyZC10YWJsZSB0aCxcclxuLmNhcmQtdGFibGUgdGQge1xyXG4gIGJvcmRlci1jb2xvcjogJGNhcmQtaW5uZXItYm9yZGVyLWNvbG9yO1xyXG59XHJcblxyXG4uY2FyZC10YWJsZSA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQsXHJcbi5jYXJkLXRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCxcclxuLmNhcmQtdGFibGUgPiB0Zm9vdDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHtcclxuICAgPiB0ZCxcclxuICAgPiB0aCB7XHJcbiAgICBib3JkZXItdG9wOiAwO1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbHRyLW9ubHkge1xyXG4gIC5jYXJkLXRhYmxlID4gdGhlYWQgPiB0cixcclxuICAuY2FyZC10YWJsZSA+IHRib2R5ID4gdHIsXHJcbiAgLmNhcmQtdGFibGUgPiB0Zm9vdCA+IHRyIHtcclxuICAgICA+IHRkLFxyXG4gICAgID4gdGgge1xyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLXNwYWNlci14O1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQ29uZGVuY2VkXHJcbiAgLmNhcmQtY29uZGVuY2VkIC5jYXJkLXRhYmxlID4gdGhlYWQgPiB0cixcclxuICAuY2FyZC1jb25kZW5jZWQgLmNhcmQtdGFibGUgPiB0Ym9keSA+IHRyLFxyXG4gIC5jYXJkLWNvbmRlbmNlZCAuY2FyZC10YWJsZSA+IHRmb290ID4gdHIge1xyXG4gICAgID4gdGQsXHJcbiAgICAgPiB0aCB7XHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtc3BhY2VyLXgtc207XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNhcmQtc3BhY2VyLXgtc207XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBydGwtb25seSB7XHJcbiAgLmNhcmQtdGFibGUgPiB0aGVhZCA+IHRyLFxyXG4gIC5jYXJkLXRhYmxlID4gdGJvZHkgPiB0cixcclxuICAuY2FyZC10YWJsZSA+IHRmb290ID4gdHIge1xyXG4gICAgID4gdGQsXHJcbiAgICAgPiB0aCB7XHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLXNwYWNlci14O1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBDb25kZW5jZWRcclxuICAuY2FyZC1jb25kZW5jZWQgLmNhcmQtdGFibGUgPiB0aGVhZCA+IHRyLFxyXG4gIC5jYXJkLWNvbmRlbmNlZCAuY2FyZC10YWJsZSA+IHRib2R5ID4gdHIsXHJcbiAgLmNhcmQtY29uZGVuY2VkIC5jYXJkLXRhYmxlID4gdGZvb3QgPiB0ciB7XHJcbiAgICAgPiB0ZCxcclxuICAgICA+IHRoIHtcclxuICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNhcmQtc3BhY2VyLXg7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtc3BhY2VyLXg7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRnVuY3Rpb25zXHJcbi8vXHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTWF0aFxyXG5cclxuJHBpOiAzLjE0MTU5MjY1MzU5O1xyXG4kX3ByZWNpc2lvbjogMTA7XHJcblxyXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwKSB7XHJcbiAgJHZhbHVlOiAkYmFzZTtcclxuICBAaWYgJGV4cCA+IDEge1xyXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwIHtcclxuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcclxuICAgIH1cclxuICB9XHJcbiAgQGlmICRleHAgPCAxe1xyXG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cCB7XHJcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEByZXR1cm4gJHZhbHVlO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gc3FydCgkcikge1xyXG4gICR4MDogMTtcclxuICAkeDE6ICR4MDtcclxuXHJcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMCB7XHJcbiAgICAkeDE6ICR4MCAtICgkeDAgKiAkeDAgLSBhYnMoJHIpKSAvICgyICogJHgwKTtcclxuICAgICR4MDogJHgxO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkeDE7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBmYWN0KCRudW0pIHtcclxuICAkZmFjdDogMTtcclxuICBAaWYgJG51bSA+IDB7XHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRudW0ge1xyXG4gICAgICAkZmFjdDogJGZhY3QgKiAkaTtcclxuICAgIH1cclxuICB9XHJcbiAgQHJldHVybiAkZmFjdDtcclxufVxyXG5cclxuQGZ1bmN0aW9uIF90b191bml0bGVzc19yYWQoJGFuZ2xlKSB7XHJcbiAgQGlmIHVuaXQoJGFuZ2xlKSA9PSBcImRlZ1wiIHtcclxuICAgICRhbmdsZTogJGFuZ2xlIC8gMTgwZGVnICogJHBpO1xyXG4gIH1cclxuICBAaWYgdW5pdCgkYW5nbGUpID09IFwicmFkXCIge1xyXG4gICAgJGFuZ2xlOiAkYW5nbGUgLyAxcmFkO1xyXG4gIH1cclxuICBAcmV0dXJuICRhbmdsZTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHNpbigkYW5nbGUpe1xyXG4gICRhOiBfdG9fdW5pdGxlc3NfcmFkKCRhbmdsZSk7XHJcbiAgJHNpbjogJGE7XHJcbiAgQGZvciAkbiBmcm9tIDEgdGhyb3VnaCAkX3ByZWNpc2lvbiB7XHJcbiAgICAkc2luOiAkc2luICsgKHBvdygtMSwgJG4pIC8gZmFjdCgyICogJG4gKyAxKSApICogcG93KCRhLCAoMiAqICRuICsgMSkpO1xyXG4gIH1cclxuICBAcmV0dXJuICRzaW47XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBjb3MoJGFuZ2xlKXtcclxuICAkYTogX3RvX3VuaXRsZXNzX3JhZCgkYW5nbGUpO1xyXG4gICRjb3M6IDE7XHJcbiAgQGZvciAkbiBmcm9tIDEgdGhyb3VnaCAkX3ByZWNpc2lvbiB7XHJcbiAgICAkY29zOiAkY29zICsgKCBwb3coLTEsJG4pIC8gZmFjdCgyKiRuKSApICogcG93KCRhLDIqJG4pO1xyXG4gIH1cclxuICBAcmV0dXJuICRjb3M7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiB0YW4oJGFuZ2xlKXtcclxuICBAcmV0dXJuIHNpbigkYW5nbGUpIC8gY29zKCRhbmdsZSk7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBMaXN0c1xyXG5cclxuQGZ1bmN0aW9uIHNsaWNlLWxpc3QoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xyXG4gICRyZXN1bHQ6IG51bGw7XHJcblxyXG4gIEBpZiB0eXBlLW9mKCRzdGFydCkgIT0gbnVtYmVyIG9yIHR5cGUtb2YoJGVuZCkgIT0gbnVtYmVyIHtcclxuICAgIEB3YXJuIFwiRWl0aGVyICRzdGFydCBvciAkZW5kIGFyZSBub3QgYSBudW1iZXIgZm9yIGBzbGljZWAuXCI7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkc3RhcnQgPiAkZW5kIHtcclxuICAgIEB3YXJuIFwiVGhlIHN0YXJ0IGluZGV4IGhhcyB0byBiZSBsZXNzZXIgdGhhbiBvciBlcXVhbHMgdG8gdGhlIGVuZCBpbmRleCBmb3IgYHNsaWNlYC5cIjtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICRzdGFydCA8IDEgb3IgJGVuZCA8IDEge1xyXG4gICAgQHdhcm4gXCJMaXN0IGluZGV4ZXMgbXVzdCBiZSBub24temVybyBpbnRlZ2VycyBmb3IgYHNsaWNlYC5cIjtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICRzdGFydCA+IGxlbmd0aCgkbGlzdCkge1xyXG4gICAgQHdhcm4gXCJMaXN0IGluZGV4IGlzICN7JHN0YXJ0fSBidXQgbGlzdCBpcyBvbmx5ICN7bGVuZ3RoKCRsaXN0KX0gaXRlbSBsb25nIGZvciBgc2xpY2VgLlwiO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJGVuZCA+IGxlbmd0aCgkbGlzdCkge1xyXG4gICAgQHdhcm4gXCJMaXN0IGluZGV4IGlzICN7JGVuZH0gYnV0IGxpc3QgaXMgb25seSAje2xlbmd0aCgkbGlzdCl9IGl0ZW0gbG9uZyBmb3IgYHNsaWNlYC5cIjtcclxuICB9XHJcblxyXG4gIEBlbHNlIHtcclxuICAgICRyZXN1bHQ6ICgpO1xyXG5cclxuICAgIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcclxuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJlc3VsdDtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFN0cmluZ3NcclxuXHJcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcclxuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcclxuXHJcbiAgQGlmICRpbmRleCB7XHJcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRzdHJpbmc7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDb2xvcnNcclxuXHJcbkBmdW5jdGlvbiByZ2JhLXRvLWhleCgkY29sb3IsICRiYWNrZ3JvdW5kOiAjZmZmKSB7XHJcbiAgQGlmICRjb2xvciBhbmQgYWxwaGEoJGNvbG9yKSAhPSAxIHtcclxuICAgICRwZXJjZW50OiBhbHBoYSgkY29sb3IpICogMTAwJTtcclxuICAgICRvcGFxdWU6IG9wYWNpZnkoJGNvbG9yLCAxKTtcclxuXHJcbiAgICBAcmV0dXJuIG1peCgkb3BhcXVlLCAkYmFja2dyb3VuZCwgJHBlcmNlbnQpO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAcmV0dXJuICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiB5aXEtdmFsdWUoJGNvbG9yKSB7XHJcbiAgQGlmICRjb2xvciA9PSB0cmFuc3BhcmVudCB7XHJcbiAgICBAcmV0dXJuICRib2R5LWNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgYWxwaGEoJGNvbG9yKSAhPSAxIHtcclxuICAgICRjb2xvcjogcmdiYS10by1oZXgoJGNvbG9yKTtcclxuICB9XHJcblxyXG4gICRyOiByZWQoJGNvbG9yKTtcclxuICAkZzogZ3JlZW4oJGNvbG9yKTtcclxuICAkYjogYmx1ZSgkY29sb3IpO1xyXG5cclxuICBAcmV0dXJuICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpIC8gMTAwMDtcclxufVxyXG5cclxuLy8gQ29sb3IgY29udHJhc3RcclxuQGZ1bmN0aW9uIHlpcSgkY29sb3IpIHtcclxuICAkeWlxOiB5aXEtdmFsdWUoJGNvbG9yKTtcclxuXHJcbiAgQGlmICgkeWlxID49IDE2MCkge1xyXG4gICAgQHJldHVybiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjQwKSwgIzAwMCk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAcmV0dXJuICNmZmY7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogVW5pdHNcclxuXHJcbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcclxuICBAaWYgdHlwZS1vZigkbnVtYmVyKSA9PSAnbnVtYmVyJyBhbmQgbm90IHVuaXRsZXNzKCRudW1iZXIpIHtcclxuICAgIEByZXR1cm4gJG51bWJlciAvICgkbnVtYmVyICogMCArIDEpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbnVtYmVyO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gcHgtdG8tcmVtKCR2YWx1ZSkge1xyXG4gIC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBmb250IHNpemUgPSBgMTZweGBcclxuICBAcmV0dXJuIChzdHJpcC11bml0KCR2YWx1ZSkgLyAxNikgKiAxcmVtO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gcmVtLXRvLXB4KCR2YWx1ZSkge1xyXG4gIC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBmb250IHNpemUgPSBgMTZweGBcclxuICBAcmV0dXJuIChzdHJpcC11bml0KCR2YWx1ZSkgKiAxNikgKiAxcHg7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBVdGlsaXRpZXNcclxuXHJcbkBmdW5jdGlvbiBnZXQtYnRuLWNvbG9ycygkYmFja2dyb3VuZCwgJGJvcmRlcikge1xyXG4gIEBpZiAkYmFja2dyb3VuZCA9PSB0cmFuc3BhcmVudCB7XHJcbiAgICAkYnRuLXNoYWRvdzogcmdiYShyZ2JhLXRvLWhleCgkYm9yZGVyLCAjMDAwKSwgLjA1KTtcclxuXHJcbiAgICBAcmV0dXJuIChcclxuICAgICAgYmctaG92ZXI6ICByZ2JhKCRib3JkZXIsIC4wNiksXHJcbiAgICAgIGJnLWFjdGl2ZTogcmdiYSgkYm9yZGVyLCAuMTIpLFxyXG4gICAgICBib3JkZXI6ICAgICRib3JkZXIsXHJcbiAgICAgIHNoYWRvdzogICAgaWYoJGVuYWJsZS1zaGFkb3dzLCAoJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCAkYnRuLXNoYWRvdyksIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoICRidG4tc2hhZG93KVxyXG4gICAgKTtcclxuICB9IEBlbHNlIGlmIGFscGhhKCRiYWNrZ3JvdW5kKSAhPSAxIHtcclxuICAgICRiZy1hbHBoYTogICBhbHBoYSgkYmFja2dyb3VuZCk7XHJcbiAgICAkYnRuLXNoYWRvdzogcmdiYSgkYmFja2dyb3VuZCwgJGJnLWFscGhhIC0gKCRiZy1hbHBoYSAqIDU1IC8gMTAwKSApO1xyXG5cclxuICAgIEByZXR1cm4gKFxyXG4gICAgICBiZy1ob3ZlcjogIHJnYmEoJGJhY2tncm91bmQsICRiZy1hbHBoYSArIDAuMDUpLFxyXG4gICAgICBiZy1hY3RpdmU6IHJnYmEoJGJhY2tncm91bmQsICRiZy1hbHBoYSArIDAuMTMpLFxyXG4gICAgICBib3JkZXI6ICAgIHRyYW5zcGFyZW50LFxyXG4gICAgICBzaGFkb3c6ICAgIGlmKCRlbmFibGUtc2hhZG93cywgKCRidG4tYm94LXNoYWRvdywgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggJGJ0bi1zaGFkb3cpLCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCAkYnRuLXNoYWRvdylcclxuICAgICk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAcmV0dXJuIChcclxuICAgICAgYmctaG92ZXI6ICByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuOTUpLCAjMDAwKSxcclxuICAgICAgYmctYWN0aXZlOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuODcpLCAjMDAwKSxcclxuICAgICAgYm9yZGVyOiAgICB0cmFuc3BhcmVudCxcclxuICAgICAgc2hhZG93OiAgICBpZigkZW5hYmxlLXNoYWRvd3MsICgkYnRuLWJveC1zaGFkb3csIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGJhY2tncm91bmQsIC40KSksIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGJhY2tncm91bmQsIC40KSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gZ2V0LW1hdGVyaWFsLWJ0bi1jb2xvcnMoJGJhY2tncm91bmQpIHtcclxuICBAaWYgYWxwaGEoJGJhY2tncm91bmQpICE9IDEge1xyXG4gICAgJGJhY2tncm91bmQ6IHJnYmEtdG8taGV4KCRiYWNrZ3JvdW5kKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gKFxyXG4gICAgYmctaG92ZXI6ICByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuOTUpLCAjZmZmKSxcclxuICAgIGJnLWFjdGl2ZTogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjg3KSwgI2ZmZiksXHJcbiAgKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGdldC1uYXYtY29sb3JzKCRiZywgJGFjdGl2ZS1jb2xvcjogbnVsbCwgJGluYWN0aXZlLWNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XHJcbiAgJGJnOiByZ2JhLXRvLWhleCgkYmcpO1xyXG4gICRhY3RpdmUtY29sb3I6IHJnYmEtdG8taGV4KCRhY3RpdmUtY29sb3IpO1xyXG4gICRhY3RpdmUtY29sb3I6IGlmKCRhY3RpdmUtY29sb3IsICRhY3RpdmUtY29sb3IsIHlpcSgkYmcpKTtcclxuICAkeWlxLXBlcmNlbnQ6IHlpcS12YWx1ZSgkYmcpIC8gMjU1O1xyXG4gICR5aXEtcGVyY2VudC1pbnZlcnRlZDogMSAtICR5aXEtcGVyY2VudDtcclxuXHJcbiAgJG9wYWNpdHk6IGlmKCRhY3RpdmUtY29sb3IgPT0gI2ZmZiwgLjYgKyAoLjQgKiAkeWlxLXBlcmNlbnQpLCAuNiArICguNCAqICgxIC0gJHlpcS1wZXJjZW50KSkpO1xyXG5cclxuICAkY29sb3I6IGlmKCRpbmFjdGl2ZS1jb2xvciwgcmdiYS10by1oZXgoJGluYWN0aXZlLWNvbG9yLCAkYmcpLCByZ2JhLXRvLWhleChyZ2JhKCRhY3RpdmUtY29sb3IsIGlmKCR5aXEtcGVyY2VudCA8IC4yNSwgJG9wYWNpdHkgLSAuMTUsICRvcGFjaXR5KSksICRiZykpO1xyXG4gICRkaXNhYmxlZC1jb2xvcjogcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC42KSwgJGJnKTtcclxuICAkbXV0ZWQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuNzUpLCAkYmcpO1xyXG4gICRib3JkZXI6IGlmKCRib3JkZXIsICRib3JkZXIsIGlmKCR5aXEtcGVyY2VudCA+IC43NSwgcmdiYSgkYWN0aXZlLWNvbG9yLCAkb3BhY2l0eSAvIDgpLCBpZigkeWlxLXBlcmNlbnQgPCAuMjUsIHJnYmEoJGFjdGl2ZS1jb2xvciwgLjA2KSwgcmdiYSgkYWN0aXZlLWNvbG9yLCAuMTUpKSkpO1xyXG5cclxuICBAcmV0dXJuIChcclxuICAgIC8vIE1ldGFkYXRhXHJcbiAgICBvcGFjaXR5OiAkb3BhY2l0eSxcclxuICAgIHlpcS1wZXJjZW50OiAkeWlxLXBlcmNlbnQsXHJcbiAgICB5aXEtcGVyY2VudC1pbnZlcnRlZDogJHlpcS1wZXJjZW50LWludmVydGVkLFxyXG5cclxuICAgIC8vIENvbG9yc1xyXG4gICAgYmc6ICRiZyxcclxuICAgIGNvbG9yOiAkY29sb3IsXHJcbiAgICBhY3RpdmUtY29sb3I6ICRhY3RpdmUtY29sb3IsXHJcbiAgICBkaXNhYmxlZC1jb2xvcjogJGRpc2FibGVkLWNvbG9yLFxyXG4gICAgbXV0ZWQtY29sb3I6ICRtdXRlZC1jb2xvcixcclxuICAgIGJvcmRlcjogJGJvcmRlclxyXG4gICk7XHJcbn1cclxuIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIge1xuICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gQmFzZVxyXG4vL1xyXG5cclxuYm9keSB7XHJcbiAgLW1vei1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwibGlnYVwiIG9uO1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgICAgICAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0ge1xyXG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQGlmICRtYXRlcmlhbC1zdHlsZSB7XHJcbiAgLndhdmVzLXJpcHBsZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBJRSBGaXhlc1xyXG5cclxuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcclxuICAvLyBGaXggSUUgcGFyZW50IGNvbnRhaW5lciBoZWlnaHQgYnVnIHdoZW4gY29udGFpbmluZyBpbWFnZSB3aXRoIGZsdWlkIHdpZHRoXHJcbiAgLmNhcmQsXHJcbiAgLmNhcmQtYm9keSxcclxuICAubWVkaWEsXHJcbiAgLmZsZXgtY29sdW1uLFxyXG4gIC50YWItY29udGVudCB7XHJcbiAgICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgfVxyXG5cclxuICBpbWcge1xyXG4gICAgbWluLWhlaWdodDogMXB4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIENvbnRhaW5lcnNcclxuXHJcbi5jb250YWluZXIsXHJcbi5jb250YWluZXItZmx1aWQge1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy14LXNtO1xyXG4gIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLXgtc207XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy14O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmcteDtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBUaHVtYm5haWxzXHJcblxyXG4uaW1nLXRodW1ibmFpbCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uaW1nLXRodW1ibmFpbCBpbWcge1xyXG4gIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi5pbWctdGh1bWJuYWlsLWNvbnRlbnQge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgei1pbmRleDogMztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBvcGFjaXR5OiAwO1xyXG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcblxyXG4gIC5pbWctdGh1bWJuYWlsOmhvdmVyICYsXHJcbiAgLmltZy10aHVtYm5haWw6Zm9jdXMgJiB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLy8gT3ZlcmxheSBlZmZlY3RcclxuLmltZy10aHVtYm5haWwtb3ZlcmxheSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICB6LWluZGV4OiAyO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XHJcblxyXG4gIC5pbWctdGh1bWJuYWlsOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpICYge1xyXG4gICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLmltZy10aHVtYm5haWwtc2hhZG93IHtcclxuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4ycztcclxuXHJcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgYm94LXNoYWRvdzogMCA1cHggMjBweCByZ2JhKCRibGFjaywgLjQpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gWm9vbS1pbiBlZmZlY3RcclxuLmltZy10aHVtYm5haWwtem9vbS1pbiB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgaW1nIHtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDApO1xyXG4gIH1cclxuXHJcbiAgLmltZy10aHVtYm5haWwtY29udGVudCB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSguNik7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICBpbWcge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICB9XHJcblxyXG4gICAgLmltZy10aHVtYm5haWwtY29udGVudCB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE1hdGVyaWFsIGFuaW1hdGlvbnNcclxuXHJcbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xyXG4gIEBpbmNsdWRlIGtleWZyYW1lcyhkcm9wZG93bkFuaW1hdGlvbikge1xyXG4gICAgMCUge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgfVxyXG4gICAgODAlIHtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBrZXlmcmFtZXModG9wVG9vbHRpcEFuaW1hdGlvbikge1xyXG4gICAgMCUge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGtleWZyYW1lcyhib3R0b21Ub29sdGlwQW5pbWF0aW9uKSB7XHJcbiAgICAwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGtleWZyYW1lcyhsZWZ0VG9vbHRpcEFuaW1hdGlvbikge1xyXG4gICAgMCUge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGtleWZyYW1lcyhyaWdodFRvb2x0aXBBbmltYXRpb24pIHtcclxuICAgIDAlIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBSVExcclxuXHJcbkBpZiAkcnRsLXN1cHBvcnQge1xyXG4gIFtkaXI9cnRsXSBib2R5IHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XHJcbiAgICBkaXJlY3Rpb246IHJ0bCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbiJdfQ== */
