@charset "UTF-8";
/**********************************
 * Angel
 * Theme Numeric wave

 * @author Terence <terence@numeric-wave.tech>
 * @author Alizee Meyer <alizee.m@numeric-wave.eu>
 **********************************/
/**********************************
 * Define all the var that can be useful in scss files

 * @author Alizee Meyer <alizee.m@numeric-wave.eu>
 **********************************/
/**
 *
 * Black grey - #2e2e2e - rgba(46,46,46)
 * Light brown - #ffe4c8 - rgba(255,228,200)
 *
 * Colors shade of green :
 * Dark green - #101d13 - rgba(16,29,19)
 * Medium green - #055240 - rgba(5,82,64)
 * Light green - #2a7a65 - rgba(42,122,101)
 * Pastel green - #5a9899 - rgba(90,152,153)
 *
 */
/**********************************
 * Define all vars
 **********************************/
/********** General *********/
/********** Text *********/
/********** Menu *********/
/********** Accordion *********/
/********** Jumbotron *********/
/********** Panel body *********/
/**********************************
 * General
 **********************************/
.miwi-130 {
  min-width: 130px;
}

.miwi-180 {
  min-width: 180px;
}

.mahe-450 {
  max-height: 450px;
}

.w-space {
  white-space: normal;
}

.comments {
  word-break: break-all;
}

.w-40 {
  width: 40% !important;
}

/** Spacers **/
.padding-1 {
  padding: 1rem;
}

.padding-2 {
  padding: 2rem;
}

@media (max-width: 992px) {
  .padding-1 {
    padding: 0;
  }
}

.margin-b {
  margin-bottom: 2rem !important;
}

.margin-center {
  margin: 0 auto;
}

/** Datepicker **/
.datepicker {
  text-align: center;
}

#page-wrapper {
  min-height: 100vh !important;
  overflow: auto hidden;
}

.float-e-margins .btn {
  margin: 3px;
}

/** Body **/
body {
  background: #6D004D;
  background: -moz-linear-gradient(top, #6D004D 0%, #6D004D 25%, #6D004D 100%);
  background: -webkit-linear-gradient(top, #6D004D 0%, #6D004D 25%, #6D004D 100%);
  background: linear-gradient(to bottom, #6D004D 0%, #6D004D 25%, #6D004D 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#8cc63f', endColorstr='#009245', GradientType=0);
  background-attachment: fixed;
}

.hidden {
  display: none;
}

.btn-title:hover {
  background-color: #6D004D;
  border-color: #ffffff;
  color: #ffffff;
}

.btn-title {
  background-color: #ffffff;
  border-color: #6D004D;
  color: #6D004D;
}

.files > .btn-file, .files > .btn-file:hover, .files > .btn-file:active {
  margin: 0 0 0 13px;
}

.custom-file-input {
  opacity: 1;
  height: auto;
}

.custom-file-label {
  display: none;
}

.focus-border {
  border-color: #6D004D;
  border-style: solid;
  border-width: 5px;
}

/**********************************
 * Text
 **********************************/
.h4, h4 {
  font-size: 1.1rem;
}

input {
  padding: 10px;
}

input.form-control:focus {
  border-color: #6D004D;
}

/**********************************
 * Color
 **********************************/
.bg-purple {
  background-color: #6D004D;
  color: #ffffff;
}

.bg-pink {
  background-color: #cc068d;
  color: #ffffff;
}

.yellow-bg,
.bg-warning {
  background-color: #F3CCA2 !important;
  color: #ffffff;
}

.red-bg,
.bg-danger {
  background-color: #BC9797 !important;
  color: #ffffff;
}

.navy-bg,
.bg-success {
  background-color: #98BC97 !important;
  color: #ffffff;
}

.lazur-bg,
.bg-info {
  background-color: #23c6c8 !important;
  color: #ffffff;
}

/**********************************
 * Form
 **********************************/
.col-form-label.required:after {
  content: '*';
  color: red;
  font-size: 1.1em;
}

.col-form-label {
  font-weight: 600;
  font-size: 12px;
}

h3.required:after {
  content: '*';
  color: red;
  font-size: 1.1em;
}

.paginateInput {
  width: 50px;
  border: 1px solid #e5e6e7;
  border-radius: 1px;
  color: inherit;
  transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;
  height: 2.3em;
}

.labelForm {
  display: block !important;
}

.form-check {
  padding-left: 0.5em;
}

/*** Omnibox ***/
.omnibox_data {
  overflow-y: scroll;
  background: white;
  position: absolute;
  max-height: 50vh;
  display: none;
  z-index: 2000;
  white-space: nowrap;
}

.omnibox_data li:hover {
  cursor: pointer;
  background-color: #6D004D;
  color: #fff;
}

.omnibox_data li {
  margin: 0.5em;
  padding: 0.2em;
}

.btnForm {
  margin: 0px !important;
}

.pagination-custom {
  padding-top: 10px;
}

input.paginateInput.form-control {
  max-width: 5em;
}

/**********************************
 * Filters
 **********************************/
/** Width of placeholder in field */
.select2-container--default .select2-search--inline .select2-search__field {
  width: 295px !important;
}

/**********************************
 * Media
 **********************************/
.media-show {
  max-width: 100%;
  max-height: 300px;
  margin: 10px;
}

.media-thumbnail {
  max-width: 200px;
  max-height: 200px;
  margin: 10px auto;
  background: lightgrey;
}

/**********************************
 * Nav header lang
 **********************************/
.active-lang {
  color: #6D004D !important;
}

.dropdown-menu {
  right: auto !important;
  min-width: auto !important;
}

/**********************************
 * Nav header logo+username
 **********************************/
.logo-head-menu {
  max-width: 100%;
  margin: auto auto 10%;
  opacity: 0.7;
  max-height: 85px !important;
}

.logo-head-element {
  max-width: 100%;
  margin: auto auto 10%;
  opacity: 0.7;
  max-height: 35px !important;
}

.nav-header .dropdown {
  text-align: center;
}

.page-heading {
  padding: 0px;
}

/**********************************
 * Error pages
 **********************************/
.wrapper-error {
  color: #555555;
  background-image: url(/build/images/background-purple.307f0e89.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  min-height: 100vh;
  text-align: center;
}

.bg-error {
  height: 100vh;
}

.wrapper-error .width-100 {
  width: 100%;
}

/** Override */
.modal {
  z-index: 2050 !important;
}

.modal-backdrop {
  z-index: 2040 !important;
}

.swal2-container {
  z-index: 2060 !important;
}

/**********************************
 * Datatables
 **********************************/
/** Fix for responsive bug - randomly hide a column - Care of this fix */
table.dataTable {
  width: 100% !important;
}

tbody address {
  margin-bottom: 0;
}

#thirdParties-dataTable tbody td, #interlocutors-dataTable tbody td {
  vertical-align: middle;
  text-align: left;
}

.table.dataTable {
  border-collapse: collapse !important;
}

div.dataTables_wrapper div.dataTables_info {
  white-space: inherit !important;
}

div.dataTables_wrapper div.dataTables_paginate ul.pagination {
  justify-content: flex-start;
}

.dataTables_wrapper {
  padding: 0;
}

table.dataTable > tbody > tr.child ul.dtr-details {
  width: 100%;
}

.page-item.active .page-link {
  background-color: #6D004D;
  border-color: #660043;
}

/**********************************
* Datagrid (React Component)
**********************************/
.MuiDataGrid-cell {
  white-space: normal !important;
}

.MuiDataGrid-columnHeaders {
  background-color: #ffffff;
}

.MuiDataGrid-root {
  border: none !important;
}

.MuiButton-textPrimary {
  color: #6D004D !important;
}

/**********************************
* AntDesign Table
**********************************/
/** Fix to show all option in a dropdown */
.ant-table-content {
  overflow: initial !important;
}

/**********************************
* Table
**********************************/
/** Fix line break into cell on td and th tags */
.table.no-wrap tr,
.table.no-wrap th {
  white-space: nowrap;
}

table.table-vertical-plus tr th:not(:first-child),
table.table-vertical-plus tr th:not(:last-child),
table.table-vertical-plus tr td:not(:first-child),
table.table-vertical-plus tr td:not(:last-child) {
  border-right: 1px #2b2a28 solid;
  border-left: 1px #2b2a28 solid;
}

.table-sm > thead > tr > th,
.table-sm > tbody > tr > th,
.table-sm > tfoot > tr > th,
.table-sm > thead > tr > td,
.table-sm > tbody > tr > td,
.table-sm > tfoot > tr > td {
  padding: 4px !important;
}

/**
 * Btn on table
 */
.btn-table {
  background-color: #ffffff;
  border-color: #6D004D;
  color: #6D004D;
  margin-right: 2px;
}

.btn-table:hover {
  background-color: #6D004D;
  border-color: #6D004D;
  color: #ffffff;
  margin-right: 2px;
}

/** Color pellet */
.radioCheck {
  -moz-appearance: button;
  border-radius: 50px;
  width: 15px;
  height: 15px;
  border-width: 0;
}

.arrow {
  font-size: 22px;
  color: #6e014e !important;
  margin-left: 3px;
}

/**
 * Sticky columns for a Table
 */
/** Prepare the view */
.table-sticky-view {
  margin: auto;
  width: auto;
}

.table-sticky-wrapper {
  position: relative;
  overflow: auto !important;
  white-space: nowrap;
  max-height: 600px;
}

.table-sticky-wrapper thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 4;
}

.table-sticky-wrapper thead th.miwi-130 {
  position: sticky !important;
  top: 0 !important;
  z-index: 3;
}

.table-sticky-wrapper tbody td.col-sticky {
  position: sticky !important;
  top: 0 !important;
  z-index: 2;
}

.table-sticky-wrapper tbody td {
  position: sticky !important;
  z-index: 1;
}

/** Override rules to hide forms */
.table-sticky-wrapper .input-group,
.table-sticky-wrapper .form-control {
  position: static !important;
}

.table-sticky-wrapper .input-group-append {
  height: calc(1.5em + .99rem + 1px);
}

/** Stick elements */
.col-sticky {
  position: sticky;
  position: -webkit-sticky;
  background-color: #ffffff;
}

/** Configure all columns dimensions to offset on left the threshold */
.col-sticky-1 {
  width: 100px;
  min-width: 100px;
  max-width: 100px;
  left: 0;
}

.col-sticky-2 {
  width: 100px;
  min-width: 100px;
  max-width: 100px;
  left: 100px;
}

.col-sticky-3 {
  width: 80px;
  min-width: 80px;
  max-width: 80px;
  left: 200px;
}

.col-sticky-4 {
  width: 80px;
  min-width: 80px;
  max-width: 80px;
  left: 280px;
}

.col-sticky-5 {
  width: 80px;
  min-width: 80px;
  max-width: 80px;
  left: 360px;
}

.col-sticky-6 {
  width: 80px;
  min-width: 80px;
  max-width: 80px;
  left: 440px;
}

.col-sticky-7 {
  width: 80px;
  min-width: 80px;
  max-width: 80px;
  left: 520px;
}

.col-sticky-8 {
  width: 80px;
  min-width: 80px;
  max-width: 80px;
  left: 600px;
}

.col-sticky-9 {
  width: 80px;
  min-width: 80px;
  max-width: 80px;
  left: 680px;
}

.row-deleted {
  background-size: 100% 2px;
  background: repeating-linear-gradient(180deg, #333 0%, #333 100%) no-repeat center;
}

/**********************************
 * Page - login
 /***********************************!*/
.login-bg {
  background: #660043 url(/build/images/background-login.307f0e89.jpg) no-repeat !important;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b79a81', endColorstr='#cfc493', GradientType=0) !important;
  background-size: cover !important;
  background-position: center !important;
}

.logo-login {
  margin-bottom: 2em;
}

.middle-box {
  min-width: 400px;
  background: #ffffff;
  padding: 3%;
  margin: 1rem auto;
  box-shadow: 3px 9px 20px 0 rgba(16, 29, 19, 0.7);
  border-radius: 5%;
}

.login-box {
  margin: 10rem auto;
  text-align: center;
}

@media (max-width: 768px) {
  .login-bg {
    background-size: cover !important;
  }
  .middle-box {
    min-width: 300px;
    background: #ffffff;
    padding: 3%;
    margin: 1rem auto;
    box-shadow: 3px 9px 20px 0 rgba(16, 29, 19, 0.7);
    border-radius: 2%;
  }
}

@media (max-width: 480px) {
  .login-bg {
    background-size: cover !important;
  }
  .middle-box {
    background: #ffffff;
    padding: 3%;
    margin: 1rem auto;
    box-shadow: 3px 9px 20px 0 rgba(16, 29, 19, 0.7);
    border-radius: 2%;
  }
  .login-box {
    margin: 8rem auto;
    text-align: center;
  }
}

/**********************************
 * Jumbotron
 **********************************/
.jumbotron {
  border-radius: 8px;
  padding: 30px;
  margin-bottom: 0;
}

@media (max-width: 991px) {
  .jumbotron .align-items-center div {
    padding: 30px 0;
  }
}

/**********************************
 * Chart.js
 **********************************/
@media (max-width: 479px) {
  .chart-box {
    height: 300px !important;
  }
}

/**********************************
 * Select2 plugins
 **********************************/
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  border: 1px solid #e5e6e7;
  border-radius: 1px;
  padding: 6px 12px;
  font-size: 0.9rem;
}

.select2-container .select2-selection--single {
  height: auto;
  min-height: 30px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: inherit;
}

/**********************************
 * SweetAlert Plugin
 **********************************/
/** Override */
.swal2-icon.swal2-error [class^=swal2-x-mark-line] {
  top: 2.9em;
  width: 3.9375em;
}

.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip] {
  top: 3em;
  width: 1.6em;
}

.swal2-icon.swal2-success [class^=swal2-success-line][class$=long] {
  top: 2.6em;
  width: 2.8em;
}

/**********************************
 * Page - Ban
 **********************************/
.ban-title,
.ban-subtitle,
.ban-text {
  color: #6D004D;
}

/**********************************
 * Google maps
 **********************************/
#js-google-map {
  min-height: 650px;
  height: 100%;
}

/**********************************
 * Badge area
 **********************************/
.row-sub-badges {
  text-align: right;
  margin-top: 15px;
}

.label-warning,
.badge-warning,
.label-danger,
.badge-danger {
  font-size: 12px;
  vertical-align: middle;
}

/**********************************
 * Print and documents
 **********************************/
.doc-a4 {
  width: 21cm;
  max-width: 100%;
}

.col-a4-full-height,
.height-a4 {
  height: 28cm;
  max-height: 100%;
}

.doc-a4,
.doc-a4 p,
.doc-a4 li,
.doc-a4 span {
  font-size: 16px;
}

#strict .doc-a4,
#strict .doc-a4 p,
#strict .doc-a4 li,
#strict .doc-a4 span {
  font-size: 14px;
}

.img-privacy {
  max-width: 150px;
}

/**********************************
 * Scrollbar
 * reference : https://mdbootstrap.com/docs/jquery/javascript/scroll/
 **********************************/
.scrollbar {
  margin-left: 30px;
  float: left;
  height: 300px;
  width: 65px;
  background: #ffffff;
  overflow-y: scroll;
  margin-bottom: 25px;
}

.scrollbar-default, .scrollbar-primary, .scrollbar-danger,
.scrollbar-warning, .scrollbar-success, .scrollbar-info,
.scrollbar-secondary {
  overflow-x: scroll;
  overflow-y: scroll;
}

.force-overflow {
  min-height: 450px;
}

.scrollbar-primary::-webkit-scrollbar {
  width: 12px;
  background-color: #DBDBDB;
}

.scrollbar-primary::-webkit-scrollbar-thumb {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
  background-color: #660043;
}

.scrollbar-danger::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
  background-color: #DBDBDB;
  border-radius: 10px;
}

.scrollbar-danger::-webkit-scrollbar {
  width: 12px;
  background-color: #DBDBDB;
}

.scrollbar-danger::-webkit-scrollbar-thumb {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
  background-color: #ff3547;
}

.scrollbar-warning::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
  background-color: #DBDBDB;
  border-radius: 10px;
}

.scrollbar-warning::-webkit-scrollbar {
  width: 12px;
  background-color: #DBDBDB;
}

.scrollbar-warning::-webkit-scrollbar-thumb {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
  background-color: #FF8800;
}

.scrollbar-success::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
  background-color: #DBDBDB;
  border-radius: 10px;
}

.scrollbar-success::-webkit-scrollbar {
  width: 12px;
  background-color: #DBDBDB;
}

.scrollbar-success::-webkit-scrollbar-thumb {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
  background-color: #00C851;
}

.scrollbar-info::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
  background-color: #DBDBDB;
  border-radius: 10px;
}

.scrollbar-info::-webkit-scrollbar {
  width: 12px;
  background-color: #DBDBDB;
}

.scrollbar-info::-webkit-scrollbar-thumb {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
  background-color: #33b5e5;
}

.scrollbar-default::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
  background-color: #DBDBDB;
}

.scrollbar-default::-webkit-scrollbar {
  height: 8px;
  width: 6px;
  background-color: #DBDBDB;
}

.scrollbar-default::-webkit-scrollbar-thumb {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
  background-color: #ffe4c8;
}

.scrollbar-secondary::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
  background-color: #DBDBDB;
  border-radius: 10px;
}

.scrollbar-secondary::-webkit-scrollbar {
  width: 12px;
  background-color: #DBDBDB;
}

.scrollbar-secondary::-webkit-scrollbar-thumb {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
  background-color: #aa66cc;
}

/**********************************
 * Timeline
 **********************************/
.ReactCollapse--collapse {
  transition: height 500ms;
}

.inter-timeline .vertical-timeline-content .vertical-date {
  position: absolute;
  width: 10%;
  right: 108%;
  top: 25%;
  font-size: 14px;
  text-align: right;
}

/**********************************
 * Widget
 **********************************/
.widget {
  border-radius: 5px;
  padding: 15px 20px;
  margin-bottom: 20px;
  margin-top: 0;
}

/**********************************
 * Tabs
 **********************************/
.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active, .nav.nav-tabs li.active {
  color: #ffffff;
  background-color: #660043;
  border-color: #660043;
}

.nav > li.active > a,
.tabs-container .nav > li > a {
  color: #660043;
  background-color: #DBDBDB;
  border-left: 5px solid #cc068d;
}

.nav-tabs .nav-link {
  border-radius: 0;
  border: 2px solid #660043 !important;
}

.nav.nav-tabs li {
  background-color: rgba(255, 255, 255, 0.7);
  margin: 0 5px 5px 0;
}

.tabs-container .panel-body {
  background: rgba(255, 255, 255, 0.7);
  border-top: 2px solid #660043 !important;
}

/**********************************
 * Accordions & Ibox
 **********************************/
.ibox-title {
  position: relative;
  z-index: auto;
}

.ibox-content {
  border: none;
  position: relative;
  z-index: auto;
}

.panel-body {
  line-height: 25px;
  padding: 20px 25px;
  font-size: 14px;
  position: relative;
}

.panel-element {
  padding: 20px 5px;
  margin-bottom: 10px;
  border: none;
  box-shadow: inset 0 2px 5px 0 rgba(104, 84, 60, 0.3);
}

.panel-heading {
  padding: 0;
  border-radius: 0;
}

.panel-group .panel {
  margin-bottom: 1rem;
  border-radius: 0;
  border-bottom: none;
}

.panel-heading a {
  display: block;
  border: none;
  padding: 20px 35px 20px;
  font-size: 20px;
  font-weight: 500;
  position: relative;
  color: #660043;
  box-shadow: none;
  transition: all 0.1s ease;
}

.panel-heading a:after, .panel-heading a.collapsed:after {
  content: "\f068";
  font-family: 'Font Awesome 5 Pro', serif;
  text-align: center;
  position: absolute;
  left: -15px;
  top: 10px;
  color: #660043;
  background-color: #ffffff;
  border: 1px solid #660043;
  font-size: 15px;
  width: 40px;
  height: 40px;
  line-height: 38px;
  border-radius: 50%;
  transition: all 0.3s ease 0s;
}

.panel-heading:hover a:after,
.panel-heading:hover a.collapsed:after {
  transform: rotate(360deg);
  color: #ffffff;
  background-color: #660043;
  border: 1px solid #ffffff;
}

.panel-heading a:hover {
  color: #ffffff;
  background-color: #660043;
}

.panel-heading a.collapsed:after {
  content: "\f067";
}

.panel-heading .panel-title {
  margin: 0;
}

/**********************************
 * Element mask on print html page
 **********************************/
@media print {
  .col-12 {
    min-width: 100% !important;
  }
  .btn-lg, .btn-sm {
    display: none;
  }
}

/**********************************
 * Override slimScrollDiv
 **********************************/
.slimScrollDiv {
  height: auto !important;
}

.elements-list a.nav-title {
  padding: 15px 25px;
  cursor: inherit;
  display: block;
  color: #660043;
}

/*********************************
 *
 *     Circle with wine color
 *
 *********************************/
.wine-color {
  min-width: 15px;
  display: inline-block;
  min-height: 15px;
  border: solid transparent;
  border-radius: 10px;
}

/**********************************
 * Page Content
 **********************************/
.choice {
  padding-left: 0px !important;
}

.choice .form-check {
  display: inline-block;
  padding-right: 1rem;
  padding-top: calc(.375rem + 1px);
  padding-bottom: calc(.375rem + 1px);
  margin-bottom: 0;
}

.contentCss .col-sm-2 {
  padding-left: 0;
}

.contentCss button {
  margin-left: 3px;
}

/**********************************
 * Help
 **********************************/
.text-help {
  text-align: right;
  color: #16b798;
}

/**********************************
 * Page Supervisor
 **********************************/
.css-backlog {
  padding: 15px 15px 5px 15px;
  margin-top: 15px;
}

.css-labelUser {
  margin-bottom: 0px;
}

.block-algo {
  margin-top: 0px !important;
}

.mt-5 {
  margin-top: 1rem !important;
}

.backlog-scan-element .border-bottom {
  border-bottom: none !important;
}

/**********************************
 * Scan Forms
 **********************************/
input[type="number"] {
  -moz-appearance: textfield;
}

.form-control:disabled, .form-control[readonly], .form-control[readonly]:focus, .form-control[readonly]:active {
  opacity: 1;
}

.js-search:focus {
  border-color: #6D004D;
}

.spanSearch {
  background-color: #6D004D;
  border: 1px solid #6D004D;
}

.sidebar-open ul li.selected,
.sidebar-open ul li.selected span {
  background-color: #6D004D;
  color: #fff;
}

.sidebar {
  display: none;
}

.sidebar.sidebar-open {
  top: auto;
  display: block;
  position: absolute;
  background-color: #fff;
  border: #e7eaec;
  box-shadow: 0 0 3px rgba(86, 96, 117, 0.7);
  overflow: hidden;
  min-width: 550px !important;
  z-index: 1009;
  padding: 10px;
  overflow-y: auto;
  max-height: 50vh;
}

.sidebar li:hover {
  cursor: pointer;
  background-color: #6D004D;
  color: #fff;
}

.sidebar li {
  margin: 0.5em;
  padding: 0.2em;
}

.save .btn:focus {
  background-color: #6D004D;
  color: #fff;
}

/**********************************
 * Comments
 **********************************/
.row-deleted {
  text-decoration: line-through;
}

/**********************************
 * Pages CRUD
 **********************************/
.css-crud {
  border: solid 1px #6D004D;
  margin: 1rem 0;
  padding: 0.8rem;
}

.nopadding {
  padding: 0px;
}

.padding10 {
  padding: 10px;
}

.css-crud .col-form-label {
  font-size: 0.8rem !important;
}

/**********************************
 * Pages Wine/stats
 **********************************/
.stats td {
  text-align: center;
}

.stats table {
  border-top: 1px solid #6c064e;
}

.comment-pined {
  background-color: #6D004D;
  border-color: #6D004D;
  color: #ffffff;
}

/**********************************
 * Pages Wine/Info
 **********************************/
/** Grapes **/
.delete-grape {
  color: white;
  padding: 0px 3px;
  background-color: red;
  border-radius: 10px;
  font-size: 9px;
}

.delete-grape:hover {
  color: white;
}

.selectgrape {
  color: white;
  padding: 0px 3px;
  background-color: #007bff;
  border-radius: 10px;
  font-size: 9px;
}

.selectgrape:hover {
  color: white;
}

.badge-grapes {
  background-color: #6D004D;
  color: white;
}

#js-selectGrapes li {
  display: inline-block;
}

#js-selectGrapes {
  margin-bottom: 1.5rem;
}

/** Age and T°C **/
.wine-detail {
  padding-top: calc(.375rem + 1px);
  padding-bottom: calc(.375rem + 1px);
}

/** Awards **/
.delete-award, .delete-award:hover {
  color: red;
}

.association-award {
  border-top: 1px solid #6D004D;
}

.option-award .padding-award {
  padding-bottom: 2rem;
}

.association-award td {
  padding-bottom: 1rem;
}

.delete-award {
  color: red;
}

.delete-award:hover {
  color: #910d0f;
}

/**********************************
 * Pages Wine/scan image
 **********************************/
.scan {
  min-height: 612px;
}

.grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 10px;
  grid-row-gap: 1em;
}

.paging-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 15px;
}

.select-image label {
  font-size: 12px;
  line-height: 25px;
}

.select-image input {
  margin-right: .1rem;
}

/**********************************
 * Pages Wine/image RISE
 **********************************/
.group-actions {
  margin: 20px 0;
}

.group-actions td {
  padding-right: 10px;
}

.gridRise {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-column-gap: 10px;
  grid-row-gap: 1em;
}

.image-title {
  background: #6D004D;
  color: #ffffff;
  padding: 5px 15px;
}

/**********************************
 * Pages Wine/foods
 **********************************/
.food {
  margin: 1rem 0;
}

.food table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

.food td {
  border: solid 1px #6D004D;
  overflow: hidden;
  padding: 10px 5px;
  word-break: normal;
  text-align: center;
  color: #6D004D;
}

.food th {
  padding: 10px 5px;
  text-align: center;
}

.food .title-food label {
  color: #ffffff;
}

.food .title-food {
  border: solid 1px #6D004D;
  overflow: hidden;
  word-break: normal;
  background-color: #b27fa5;
  color: #ffffff;
}

.food .img-food img {
  border: solid 1px #6D004D;
  overflow: hidden;
  word-break: normal;
  background-color: #ffffff;
}

/**********************************
 * Lightbox image
 **********************************/
.grid > #lightbox-Scans > a:hover .zoom {
  background-color: rgba(108, 6, 78, 0.5);
}

.grid > #lightbox-Scans > a:hover .zoom > img {
  opacity: 1;
}

.grid > #lightbox-Scans > a {
  border: 1px solid #6D004D;
  display: block;
  overflow: hidden;
  position: relative;
  float: left;
}

.grid > #lightbox-Scans > a .zoom {
  background-color: rgba(0, 0, 0, 0.1);
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transition: background-color 0.15s ease 0s;
  -o-transition: background-color 0.15s ease 0s;
  transition: background-color 0.15s ease 0s;
}

.grid > #lightbox-Scans > a .zoom > img {
  left: 42%;
  margin-left: -10px;
  margin-top: -10px;
  opacity: 0;
  position: absolute;
  top: 50%;
  -webkit-transition: opacity 0.3s ease 0s;
  -o-transition: opacity 0.3s ease 0s;
  transition: opacity 0.3s ease 0s;
}

.gridRise > #lightbox-ImagesRef > a:hover .zoom {
  background-color: rgba(108, 6, 78, 0.5);
}

.gridRise > #lightbox-ImagesRef > a:hover .zoom > img {
  opacity: 1;
}

.gridRise > #lightbox-ImagesRef > a {
  border: 1px solid #6D004D;
  display: block;
  overflow: hidden;
  position: relative;
  float: left;
  margin-bottom: 10px;
}

.gridRise > #lightbox-ImagesRef > a .zoom {
  background-color: rgba(0, 0, 0, 0.1);
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transition: background-color 0.15s ease 0s;
  -o-transition: background-color 0.15s ease 0s;
  transition: background-color 0.15s ease 0s;
}

.gridRise > #lightbox-ImagesRef > a .zoom > img {
  left: 42%;
  margin-left: -10px;
  margin-top: -10px;
  opacity: 0;
  position: absolute;
  top: 50%;
  -webkit-transition: opacity 0.3s ease 0s;
  -o-transition: opacity 0.3s ease 0s;
  transition: opacity 0.3s ease 0s;
}

/**********************************
 * Responsive
 **********************************/
@media (max-width: 1107px) {
  .save {
    display: block;
  }
  .save .btn-table {
    border-radius: 0px;
  }
  .save button {
    border-radius: 7px !important;
  }
  .css-backlog .btn {
    margin-bottom: 10px !important;
  }
}

@media screen and (min-width: 1108px) and (max-width: 1199px) {
  .save {
    display: block;
  }
  .size {
    width: 48% !important;
  }
  .save .btn-table {
    border-radius: 0px;
  }
  .save button {
    border-radius: 7px !important;
  }
  .css-backlog .btn {
    margin-bottom: 10px !important;
  }
}

@media screen and (min-width: 1200px) and (max-width: 1605px) {
  .save {
    display: block;
  }
  .size {
    width: 47% !important;
  }
  .save .btn-table {
    border-radius: 0px;
  }
  .save button {
    border-radius: 7px !important;
  }
  .css-backlog .btn {
    margin-bottom: 10px !important;
  }
}

@media (max-width: 1699px) {
  .save2 {
    display: block;
  }
  .save2 .btn-table {
    border-radius: 0px;
  }
  .save2 button {
    border-radius: 7px !important;
  }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q2xCLFdBQVc7RUFDWCxtQkFBbUI7QUFQdkI7O0FBVUE7RUFDSSxvQ0FBb0M7RUFDcEMsU0FBUztFQUNULE9BQU87RUFDUCxrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLE1BQU07RUFDTixrREFBa0Q7RUFDbEQsNkNBQTZDO0VBQzdDLDBDQUEwQztBQVA5Qzs7QUFVQTtFQUNJLFNBQVM7RUFDVCxrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLHdDQUF3QztFQUN4QyxtQ0FBbUM7RUFDbkMsZ0NBQWdDO0FBUHBDOztBQVVBOzttQ0FObUM7QUFVbkM7RUFDSTtJQUNJLGNBQWM7RUFScEI7RUFVRTtJQUNJLGtCQUFrQjtFQVJ4QjtFQVVFO0lBQ0ksNkJBQTZCO0VBUm5DO0VBVUU7SUFDSSw4QkFBOEI7RUFScEM7QUFDRjs7QUFXQTtFQUNJO0lBQ0ksY0FBYztFQVJwQjtFQVVFO0lBQ0kscUJBQXFCO0VBUjNCO0VBVUU7SUFDSSxrQkFBa0I7RUFSeEI7RUFVRTtJQUNJLDZCQUE2QjtFQVJuQztFQVVFO0lBQ0ksOEJBQThCO0VBUnBDO0FBQ0Y7O0FBV0E7RUFDSTtJQUNJLGNBQWM7RUFScEI7RUFVRTtJQUNJLHFCQUFxQjtFQVIzQjtFQVVFO0lBQ0ksa0JBQWtCO0VBUnhCO0VBVUU7SUFDSSw2QkFBNkI7RUFSbkM7RUFVRTtJQUNJLDhCQUE4QjtFQVJwQztBQUNGOztBQVdBO0VBQ0k7SUFDSSxjQUFjO0VBUnBCO0VBVUU7SUFDSSxrQkFBa0I7RUFSeEI7RUFVRTtJQUNJLDZCQUE2QjtFQVJuQztBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vaW5zcGluaWEtd2FkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vdmFycy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBBbmdlbFxuICogVGhlbWUgTnVtZXJpYyB3YXZlXG5cbiAqIEBhdXRob3IgVGVyZW5jZSA8dGVyZW5jZUBudW1lcmljLXdhdmUudGVjaD5cbiAqIEBhdXRob3IgQWxpemVlIE1leWVyIDxhbGl6ZWUubUBudW1lcmljLXdhdmUuZXU+XG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQGltcG9ydCBcInZhcnNcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIEdlbmVyYWxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4ubWl3aS0xMzAge1xuICAgIG1pbi13aWR0aDogMTMwcHg7XG59XG5cbi5taXdpLTE4MCB7XG4gICAgbWluLXdpZHRoOiAxODBweDtcbn1cblxuLm1haGUtNDUwIHtcbiAgICBtYXgtaGVpZ2h0OiA0NTBweDtcbn1cblxuLnctc3BhY2Uge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi5jb21tZW50cyB7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xufVxuXG4udy00MCB7XG4gICAgd2lkdGg6IDQwJSAhaW1wb3J0YW50O1xufVxuXG4vKiogU3BhY2VycyAqKi9cbi5wYWRkaW5nLTEge1xuICAgIHBhZGRpbmc6IDFyZW07XG59XG5cbi5wYWRkaW5nLTIge1xuICAgIHBhZGRpbmc6IDJyZW07XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgIC5wYWRkaW5nLTEge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLm1hcmdpbi1iIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tY2VudGVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLyoqIERhdGVwaWNrZXIgKiovXG4uZGF0ZXBpY2tlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cbiNwYWdlLXdyYXBwZXIge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGF1dG8gaGlkZGVuO1xufVxuXG4uZmxvYXQtZS1tYXJnaW5zIC5idG4ge1xuICAgIG1hcmdpbjogM3B4O1xufVxuXG4vKiogQm9keSAqKi9cbmJvZHkge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmFkaWVudC10b3A7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAkY29sb3ItZ3JhZGllbnQtdG9wIDAlLCAkY29sb3ItZ3JhZGllbnQtbWlkZGxlIDI1JSwgJGNvbG9yLWdyYWRpZW50LWJvdHRvbSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRjb2xvci1ncmFkaWVudC10b3AgMCUsICRjb2xvci1ncmFkaWVudC1taWRkbGUgMjUlLCAkY29sb3ItZ3JhZGllbnQtYm90dG9tIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRjb2xvci1ncmFkaWVudC10b3AgMCUsICRjb2xvci1ncmFkaWVudC1taWRkbGUgMjUlLCAkY29sb3ItZ3JhZGllbnQtYm90dG9tIDEwMCUpO1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyM4Y2M2M2YnLCBlbmRDb2xvcnN0cj0nIzAwOTI0NScsIEdyYWRpZW50VHlwZT0wKTtcblxuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG59XG5cbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5idG4tdGl0bGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJHdoaXRlLWNvbG9yO1xuICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG59XG5cbi5idG4tdGl0bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbn1cblxuLmZpbGVzID4gLmJ0bi1maWxlLCAuZmlsZXMgPiAuYnRuLWZpbGU6aG92ZXIsIC5maWxlcyA+IC5idG4tZmlsZTphY3RpdmUge1xuICAgIG1hcmdpbjogMCAwIDAgMTNweDtcbn1cblxuLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZm9jdXMtYm9yZGVyIHtcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA1cHg7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBUZXh0XG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5oNCwgaDQge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xufVxuXG5pbnB1dCB7XG4gICAgcGFkZGluZzogMTBweDtcbn1cblxuaW5wdXQuZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogQ29sb3JcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmJnLXB1cnBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbn1cblxuLmJnLXBpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3VydGgtY29sb3I7XG4gICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbn1cblxuLnllbGxvdy1iZyxcbi5iZy13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNDQ0EyICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5yZWQtYmcsXG4uYmctZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkM5Nzk3ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5uYXZ5LWJnLFxuLmJnLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5OEJDOTcgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmxhenVyLWJnLFxuLmJnLWluZm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyM2M2YzggIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIEZvcm1cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmNvbC1mb3JtLWxhYmVsLnJlcXVpcmVkOmFmdGVyIHtcbiAgICBjb250ZW50OiAnKic7XG4gICAgY29sb3I6IHJlZDtcbiAgICBmb250LXNpemU6IDEuMWVtO1xufVxuXG4uY29sLWZvcm0tbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xufVxuXG5oMy5yZXF1aXJlZDphZnRlciB7XG4gICAgY29udGVudDogJyonO1xuICAgIGNvbG9yOiByZWQ7XG4gICAgZm9udC1zaXplOiAxLjFlbTtcbn1cblxuLnBhZ2luYXRlSW5wdXQge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU2ZTc7XG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCAwcywgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dCAwcztcbiAgICBoZWlnaHQ6IDIuM2VtO1xufVxuXG4ubGFiZWxGb3JtIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uZm9ybS1jaGVja3tcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xufVxuXG4vKioqIE9tbmlib3ggKioqL1xuLm9tbmlib3hfZGF0YSB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXgtaGVpZ2h0OiA1MHZoO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgei1pbmRleDogMjAwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ub21uaWJveF9kYXRhIGxpOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZEMDA0RDtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLm9tbmlib3hfZGF0YSBsaSB7XG4gICAgbWFyZ2luOiAwLjVlbTtcbiAgICBwYWRkaW5nOiAwLjJlbTtcbn1cblxuLmJ0bkZvcm0ge1xuICAgIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdpbmF0aW9uLWN1c3RvbXtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuaW5wdXQucGFnaW5hdGVJbnB1dC5mb3JtLWNvbnRyb2wge1xuICAgIG1heC13aWR0aDogNWVtO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogRmlsdGVyc1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKiBXaWR0aCBvZiBwbGFjZWhvbGRlciBpbiBmaWVsZCAqL1xuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICAgIHdpZHRoOiAyOTVweCAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogTWVkaWFcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLm1lZGlhLXNob3cge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICBtYXJnaW46IDEwcHg7XG59XG5cbi5tZWRpYS10aHVtYm5haWwge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG87XG4gICAgYmFja2dyb3VuZDogbGlnaHRncmV5O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogTmF2IGhlYWRlciBsYW5nXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5hY3RpdmUtbGFuZyB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi5kcm9wZG93bi1tZW51IHtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogTmF2IGhlYWRlciBsb2dvK3VzZXJuYW1lXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5sb2dvLWhlYWQtbWVudSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogYXV0byBhdXRvIDEwJTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gICAgbWF4LWhlaWdodDogODVweCAhaW1wb3J0YW50O1xufVxuXG4ubG9nby1oZWFkLWVsZW1lbnQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IGF1dG8gYXV0byAxMCU7XG4gICAgb3BhY2l0eTogMC43O1xuICAgIG1heC1oZWlnaHQ6IDM1cHggIWltcG9ydGFudDtcbn1cblxuLm5hdi1oZWFkZXIgLmRyb3Bkb3duIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wYWdlLWhlYWRpbmcge1xuICAgIHBhZGRpbmc6IDBweDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIEVycm9yIHBhZ2VzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi53cmFwcGVyLWVycm9yIHtcbiAgICBjb2xvcjogIzU1NTU1NTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9iYWNrZ3JvdW5kLXB1cnBsZS5qcGcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYmctZXJyb3Ige1xuICAgIGhlaWdodDogMTAwdmg7XG59XG5cbi53cmFwcGVyLWVycm9yIC53aWR0aC0xMDAge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4vKiogT3ZlcnJpZGUgKi9cbi5tb2RhbCB7XG4gICAgei1pbmRleDogMjA1MCAhaW1wb3J0YW50O1xufVxuXG4ubW9kYWwtYmFja2Ryb3Age1xuICAgIHotaW5kZXg6IDIwNDAgIWltcG9ydGFudDtcbn1cblxuLnN3YWwyLWNvbnRhaW5lciB7XG4gICAgei1pbmRleDogMjA2MCAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogRGF0YXRhYmxlc1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKiBGaXggZm9yIHJlc3BvbnNpdmUgYnVnIC0gcmFuZG9tbHkgaGlkZSBhIGNvbHVtbiAtIENhcmUgb2YgdGhpcyBmaXggKi9cbnRhYmxlLmRhdGFUYWJsZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxudGJvZHkgYWRkcmVzcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuI3RoaXJkUGFydGllcy1kYXRhVGFibGUgdGJvZHkgdGQsICNpbnRlcmxvY3V0b3JzLWRhdGFUYWJsZSB0Ym9keSB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udGFibGUuZGF0YVRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG59XG5cbmRpdi5kYXRhVGFibGVzX3dyYXBwZXIgZGl2LmRhdGFUYWJsZXNfaW5mbyB7XG4gICAgd2hpdGUtc3BhY2U6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZGF0YVRhYmxlc19wYWdpbmF0ZSB1bC5wYWdpbmF0aW9uIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbnRhYmxlLmRhdGFUYWJsZSA+IHRib2R5ID4gdHIuY2hpbGQgdWwuZHRyLWRldGFpbHMge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICR0aGlyZC1jb2xvcjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiogRGF0YWdyaWQgKFJlYWN0IENvbXBvbmVudClcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5NdWlEYXRhR3JpZC1jZWxsIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7XG59XG5cbi5NdWlEYXRhR3JpZC1jb2x1bW5IZWFkZXJzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtY29sb3I7XG59XG5cbi5NdWlEYXRhR3JpZC1yb290IHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLk11aUJ1dHRvbi10ZXh0UHJpbWFyeSB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qIEFudERlc2lnbiBUYWJsZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqIEZpeCB0byBzaG93IGFsbCBvcHRpb24gaW4gYSBkcm9wZG93biAqL1xuLmFudC10YWJsZS1jb250ZW50IHtcbiAgICBvdmVyZmxvdzogaW5pdGlhbCFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qIFRhYmxlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiogRml4IGxpbmUgYnJlYWsgaW50byBjZWxsIG9uIHRkIGFuZCB0aCB0YWdzICovXG4udGFibGUubm8td3JhcCB0cixcbi50YWJsZS5uby13cmFwIHRoIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG50YWJsZS50YWJsZS12ZXJ0aWNhbC1wbHVzIHRyIHRoOm5vdCg6Zmlyc3QtY2hpbGQpLFxudGFibGUudGFibGUtdmVydGljYWwtcGx1cyB0ciB0aDpub3QoOmxhc3QtY2hpbGQpLFxudGFibGUudGFibGUtdmVydGljYWwtcGx1cyB0ciB0ZDpub3QoOmZpcnN0LWNoaWxkKSxcbnRhYmxlLnRhYmxlLXZlcnRpY2FsLXBsdXMgdHIgdGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggcmdiKDQzLCA0MiwgNDApIHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggcmdiKDQzLCA0MiwgNDApIHNvbGlkO1xufVxuXG4udGFibGUtc20gPiB0aGVhZCA+IHRyID4gdGgsXG4udGFibGUtc20gPiB0Ym9keSA+IHRyID4gdGgsXG4udGFibGUtc20gPiB0Zm9vdCA+IHRyID4gdGgsXG4udGFibGUtc20gPiB0aGVhZCA+IHRyID4gdGQsXG4udGFibGUtc20gPiB0Ym9keSA+IHRyID4gdGQsXG4udGFibGUtc20gPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgIHBhZGRpbmc6IDRweCAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIEJ0biBvbiB0YWJsZVxuICovXG5cbi5idG4tdGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbn1cblxuLmJ0bi10YWJsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xuICAgIG1hcmdpbi1yaWdodDogMnB4O1xufVxuXG4vKiogQ29sb3IgcGVsbGV0ICovXG4ucmFkaW9DaGVjayB7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBidXR0b247XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xufVxuXG4uYXJyb3cge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBjb2xvcjogIzZlMDE0ZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG59XG5cbi8qKlxuICogU3RpY2t5IGNvbHVtbnMgZm9yIGEgVGFibGVcbiAqL1xuXG4vKiogUHJlcGFyZSB0aGUgdmlldyAqL1xuLnRhYmxlLXN0aWNreS12aWV3IHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi50YWJsZS1zdGlja3ktd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBtYXgtaGVpZ2h0OiA2MDBweDtcbn1cblxuLnRhYmxlLXN0aWNreS13cmFwcGVyIHRoZWFkIHRoIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5ICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogNDtcbn1cblxuLnRhYmxlLXN0aWNreS13cmFwcGVyIHRoZWFkIHRoLm1pd2ktMTMwIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5ICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogMztcbn1cblxuLnRhYmxlLXN0aWNreS13cmFwcGVyIHRib2R5IHRkLmNvbC1zdGlja3kge1xuICAgIHBvc2l0aW9uOiBzdGlja3kgIWltcG9ydGFudDtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAyO1xufVxuXG4udGFibGUtc3RpY2t5LXdyYXBwZXIgdGJvZHkgdGQge1xuICAgIHBvc2l0aW9uOiBzdGlja3kgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4vKiogT3ZlcnJpZGUgcnVsZXMgdG8gaGlkZSBmb3JtcyAqL1xuLnRhYmxlLXN0aWNreS13cmFwcGVyIC5pbnB1dC1ncm91cCxcbi50YWJsZS1zdGlja3ktd3JhcHBlciAuZm9ybS1jb250cm9sIHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG59XG5cbi50YWJsZS1zdGlja3ktd3JhcHBlciAuaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAuOTlyZW0gKyAxcHgpXG59XG5cbi8qKiBTdGljayBlbGVtZW50cyAqL1xuLmNvbC1zdGlja3kge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcbn1cblxuLyoqIENvbmZpZ3VyZSBhbGwgY29sdW1ucyBkaW1lbnNpb25zIHRvIG9mZnNldCBvbiBsZWZ0IHRoZSB0aHJlc2hvbGQgKi9cbi5jb2wtc3RpY2t5LTEge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgbGVmdDogMDtcbn1cblxuLmNvbC1zdGlja3ktMiB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICBsZWZ0OiAxMDBweDtcbn1cblxuLmNvbC1zdGlja3ktMyB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgbWluLXdpZHRoOiA4MHB4O1xuICAgIG1heC13aWR0aDogODBweDtcbiAgICBsZWZ0OiAyMDBweDtcbn1cblxuLmNvbC1zdGlja3ktNCB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgbWluLXdpZHRoOiA4MHB4O1xuICAgIG1heC13aWR0aDogODBweDtcbiAgICBsZWZ0OiAyODBweDtcbn1cblxuLmNvbC1zdGlja3ktNSB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgbWluLXdpZHRoOiA4MHB4O1xuICAgIG1heC13aWR0aDogODBweDtcbiAgICBsZWZ0OiAzNjBweDtcbn1cblxuLmNvbC1zdGlja3ktNiB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgbWluLXdpZHRoOiA4MHB4O1xuICAgIG1heC13aWR0aDogODBweDtcbiAgICBsZWZ0OiA0NDBweDtcbn1cblxuLmNvbC1zdGlja3ktNyB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgbWluLXdpZHRoOiA4MHB4O1xuICAgIG1heC13aWR0aDogODBweDtcbiAgICBsZWZ0OiA1MjBweDtcbn1cblxuLmNvbC1zdGlja3ktOCB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgbWluLXdpZHRoOiA4MHB4O1xuICAgIG1heC13aWR0aDogODBweDtcbiAgICBsZWZ0OiA2MDBweDtcbn1cblxuLmNvbC1zdGlja3ktOSB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgbWluLXdpZHRoOiA4MHB4O1xuICAgIG1heC13aWR0aDogODBweDtcbiAgICBsZWZ0OiA2ODBweDtcbn1cblxuLnJvdy1kZWxldGVkIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMnB4O1xuICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAxODBkZWcsXG4gICAgICAgICAgICAjMzMzIDAlLFxuICAgICAgICAgICAgIzMzMyAxMDAlXG4gICAgKSBuby1yZXBlYXQgY2VudGVyO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogUGFnZSAtIGxvZ2luXG4gLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISovXG4ubG9naW4tYmcge1xuICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3IgdXJsKFwiLi4vLi4vYXNzZXRzL2ltZy9iYWNrZ3JvdW5kLWxvZ2luLmpwZ1wiKSBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjYjc5YTgxJywgZW5kQ29sb3JzdHI9JyNjZmM0OTMnLCBHcmFkaWVudFR5cGU9MCkgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5sb2dvLWxvZ2luIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG59XG5cbi5taWRkbGUtYm94IHtcbiAgICBtaW4td2lkdGg6IDQwMHB4O1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZS1jb2xvcjtcbiAgICBwYWRkaW5nOiAzJTtcbiAgICBtYXJnaW46IDFyZW0gYXV0bztcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgICBib3JkZXItcmFkaXVzOiA1JTtcbn1cblxuLmxvZ2luLWJveCB7XG4gICAgbWFyZ2luOiAxMHJlbSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmxvZ2luLWJnIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5taWRkbGUtYm94IHtcbiAgICAgICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlLWNvbG9yO1xuICAgICAgICBwYWRkaW5nOiAzJTtcbiAgICAgICAgbWFyZ2luOiAxcmVtIGF1dG87XG4gICAgICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyJTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5sb2dpbi1iZyB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubWlkZGxlLWJveCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogMyU7XG4gICAgICAgIG1hcmdpbjogMXJlbSBhdXRvO1xuICAgICAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMiU7XG4gICAgfVxuXG4gICAgLmxvZ2luLWJveCB7XG4gICAgICAgIG1hcmdpbjogOHJlbSBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogSnVtYm90cm9uXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5qdW1ib3Ryb24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgIC5qdW1ib3Ryb24gLmFsaWduLWl0ZW1zLWNlbnRlciBkaXYge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogQ2hhcnQuanNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgICAuY2hhcnQtYm94IHtcbiAgICAgICAgaGVpZ2h0OiAzMDBweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFNlbGVjdDIgcGx1Z2luc1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUsXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTZlNztcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFN3ZWV0QWxlcnQgUGx1Z2luXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKiBPdmVycmlkZSAqL1xuLnN3YWwyLWljb24uc3dhbDItZXJyb3IgW2NsYXNzXj1zd2FsMi14LW1hcmstbGluZV0ge1xuICAgIHRvcDogMi45ZW07XG4gICAgd2lkdGg6IDMuOTM3NWVtO1xufVxuXG4uc3dhbDItaWNvbi5zd2FsMi1zdWNjZXNzIFtjbGFzc149c3dhbDItc3VjY2Vzcy1saW5lXVtjbGFzcyQ9dGlwXSB7XG4gICAgdG9wOiAzZW07XG4gICAgd2lkdGg6IDEuNmVtO1xufVxuXG4uc3dhbDItaWNvbi5zd2FsMi1zdWNjZXNzIFtjbGFzc149c3dhbDItc3VjY2Vzcy1saW5lXVtjbGFzcyQ9bG9uZ10ge1xuICAgIHRvcDogMi42ZW07XG4gICAgd2lkdGg6IDIuOGVtO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogUGFnZSAtIEJhblxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uYmFuLXRpdGxlLFxuLmJhbi1zdWJ0aXRsZSxcbi5iYW4tdGV4dCB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogR29vZ2xlIG1hcHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuI2pzLWdvb2dsZS1tYXAge1xuICAgIG1pbi1oZWlnaHQ6IDY1MHB4O1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIEJhZGdlIGFyZWFcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnJvdy1zdWItYmFkZ2VzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4ubGFiZWwtd2FybmluZyxcbi5iYWRnZS13YXJuaW5nLFxuLmxhYmVsLWRhbmdlcixcbi5iYWRnZS1kYW5nZXIsXG57XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBQcmludCBhbmQgZG9jdW1lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5kb2MtYTQge1xuICAgIHdpZHRoOiAyMWNtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmNvbC1hNC1mdWxsLWhlaWdodCxcbi5oZWlnaHQtYTQge1xuICAgIGhlaWdodDogMjhjbTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xufVxuXG4uZG9jLWE0LFxuLmRvYy1hNCBwLFxuLmRvYy1hNCBsaSxcbi5kb2MtYTQgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4jc3RyaWN0IC5kb2MtYTQsXG4jc3RyaWN0IC5kb2MtYTQgcCxcbiNzdHJpY3QgLmRvYy1hNCBsaSxcbiNzdHJpY3QgLmRvYy1hNCBzcGFuIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5pbWctcHJpdmFjeSB7XG4gICAgbWF4LXdpZHRoOiAxNTBweDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFNjcm9sbGJhclxuICogcmVmZXJlbmNlIDogaHR0cHM6Ly9tZGJvb3RzdHJhcC5jb20vZG9jcy9qcXVlcnkvamF2YXNjcmlwdC9zY3JvbGwvXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5zY3JvbGxiYXIge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgd2lkdGg6IDY1cHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlLWNvbG9yO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4uc2Nyb2xsYmFyLWRlZmF1bHQsIC5zY3JvbGxiYXItcHJpbWFyeSwgLnNjcm9sbGJhci1kYW5nZXIsXG4uc2Nyb2xsYmFyLXdhcm5pbmcsIC5zY3JvbGxiYXItc3VjY2VzcywgLnNjcm9sbGJhci1pbmZvLFxuLnNjcm9sbGJhci1zZWNvbmRhcnkge1xuICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi5mb3JjZS1vdmVyZmxvdyB7XG4gICAgbWluLWhlaWdodDogNDUwcHg7XG59XG5cbi5zY3JvbGxiYXItcHJpbWFyeTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWNvbG9yO1xufVxuXG4uc2Nyb2xsYmFyLXByaW1hcnk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRoaXJkLWNvbG9yO1xufVxuXG4uc2Nyb2xsYmFyLWRhbmdlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLnNjcm9sbGJhci1kYW5nZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1jb2xvcjtcbn1cblxuLnNjcm9sbGJhci1kYW5nZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMzU0Nztcbn1cblxuLnNjcm9sbGJhci13YXJuaW5nOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG4uc2Nyb2xsYmFyLXdhcm5pbmc6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1jb2xvcjtcbn1cblxuLnNjcm9sbGJhci13YXJuaW5nOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjg4MDA7XG59XG5cbi5zY3JvbGxiYXItc3VjY2Vzczo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLnNjcm9sbGJhci1zdWNjZXNzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktY29sb3I7XG59XG5cbi5zY3JvbGxiYXItc3VjY2Vzczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBDODUxO1xufVxuXG4uc2Nyb2xsYmFyLWluZm86Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbi5zY3JvbGxiYXItaW5mbzo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWNvbG9yO1xufVxuXG4uc2Nyb2xsYmFyLWluZm86Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzYjVlNTtcbn1cblxuLnNjcm9sbGJhci1kZWZhdWx0Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1jb2xvcjtcbn1cblxuLnNjcm9sbGJhci1kZWZhdWx0Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgd2lkdGg6IDZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1jb2xvcjtcbn1cblxuLnNjcm9sbGJhci1kZWZhdWx0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJvd24tY29sb3I7XG59XG5cbi5zY3JvbGxiYXItc2Vjb25kYXJ5Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG4uc2Nyb2xsYmFyLXNlY29uZGFyeTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWNvbG9yO1xufVxuXG4uc2Nyb2xsYmFyLXNlY29uZGFyeTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWE2NmNjO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogVGltZWxpbmVcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLlJlYWN0Q29sbGFwc2UtLWNvbGxhcHNlIHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgNTAwbXM7XG59XG5cbi5pbnRlci10aW1lbGluZSAudmVydGljYWwtdGltZWxpbmUtY29udGVudCAudmVydGljYWwtZGF0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMCU7XG4gICAgcmlnaHQ6IDEwOCU7XG4gICAgdG9wOiAyNSU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogV2lkZ2V0XG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi53aWRnZXQge1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogVGFic1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubmF2LXRhYnMgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rLCAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSwgLm5hdi5uYXYtdGFicyBsaS5hY3RpdmUge1xuICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG59XG5cbi5uYXYgPiBsaS5hY3RpdmUgPiBhLFxuLnRhYnMtY29udGFpbmVyIC5uYXYgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZW51LXNlbGVjdGVkLWNvbG9yO1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGZvdXJ0aC1jb2xvcjtcbn1cblxuLm5hdi10YWJzIC5uYXYtbGluayB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi5uYXYubmF2LXRhYnMgbGkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcGFjaXR5LXdoaXRlLWJnO1xuICAgIG1hcmdpbjogMCA1cHggNXB4IDA7XG59XG5cbi50YWJzLWNvbnRhaW5lciAucGFuZWwtYm9keSB7XG4gICAgYmFja2dyb3VuZDogJG9wYWNpdHktd2hpdGUtYmc7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRzZWNvbmRhcnktY29sb3IgIWltcG9ydGFudDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIEFjY29yZGlvbnMgJiBJYm94XG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmlib3gtdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiBhdXRvO1xufVxuXG4uaWJveC1jb250ZW50IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IGF1dG87XG59XG5cbi5wYW5lbC1ib2R5IHtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICBwYWRkaW5nOiAyMHB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnBhbmVsLWVsZW1lbnQge1xuICAgIHBhZGRpbmc6IDIwcHggNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMnB4IDVweCAwIHJnYmEoMTA0LCA4NCwgNjAsIDAuMyk7XG59XG5cbi5wYW5lbC1oZWFkaW5nIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5wYW5lbC1ncm91cCAucGFuZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ucGFuZWwtaGVhZGluZyBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMjBweCAzNXB4IDIwcHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAkdGhpcmQtY29sb3I7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlO1xufVxuXG4ucGFuZWwtaGVhZGluZyBhOmFmdGVyLCAucGFuZWwtaGVhZGluZyBhLmNvbGxhcHNlZDphZnRlciB7XG4gICAgY29udGVudDogXCJcXGYwNjhcIjtcbiAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IFBybycsIHNlcmlmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTE1cHg7XG4gICAgdG9wOiAxMHB4O1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgMHM7XG59XG5cbi5wYW5lbC1oZWFkaW5nOmhvdmVyIGE6YWZ0ZXIsXG4ucGFuZWwtaGVhZGluZzpob3ZlciBhLmNvbGxhcHNlZDphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGlyZC1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGUtY29sb3I7XG59XG5cbi5wYW5lbC1oZWFkaW5nIGE6aG92ZXIge1xuICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRoaXJkLWNvbG9yO1xufVxuXG4ucGFuZWwtaGVhZGluZyBhLmNvbGxhcHNlZDphZnRlciB7XG4gICAgY29udGVudDogXCJcXGYwNjdcIjtcbn1cblxuLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBFbGVtZW50IG1hc2sgb24gcHJpbnQgaHRtbCBwYWdlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbkBtZWRpYSBwcmludCB7XG4gICAgLmNvbC0xMiB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5idG4tbGcsIC5idG4tc20ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIE92ZXJyaWRlIHNsaW1TY3JvbGxEaXZcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnNsaW1TY3JvbGxEaXYge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uZWxlbWVudHMtbGlzdCBhLm5hdi10aXRsZSB7XG4gICAgcGFkZGluZzogMTVweCAyNXB4O1xuICAgIGN1cnNvcjogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogJHRoaXJkLWNvbG9yO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKlxuICogICAgIENpcmNsZSB3aXRoIHdpbmUgY29sb3JcbiAqXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLndpbmUtY29sb3Ige1xuICAgIG1pbi13aWR0aDogMTVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLWhlaWdodDogMTVweDtcbiAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBQYWdlIENvbnRlbnRcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmNob2ljZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHggIWltcG9ydGFudDtcbn1cblxuLmNob2ljZSAuZm9ybS1jaGVjayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgcGFkZGluZy10b3A6IGNhbGMoLjM3NXJlbSArIDFweCk7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoLjM3NXJlbSArIDFweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNvbnRlbnRDc3MgLmNvbC1zbS0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cblxuLmNvbnRlbnRDc3MgYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogSGVscFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udGV4dC1oZWxwIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBjb2xvcjogIzE2Yjc5ODtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFBhZ2UgU3VwZXJ2aXNvclxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uY3NzLWJhY2tsb2cge1xuICAgIHBhZGRpbmc6IDE1cHggMTVweCA1cHggMTVweDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4uY3NzLWxhYmVsVXNlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xufVxuXG4uYmxvY2stYWxnbyB7XG4gICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tdC01IHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5iYWNrbG9nLXNjYW4tZWxlbWVudCAuYm9yZGVyLWJvdHRvbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogU2NhbiBGb3Jtc1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuXG4uZm9ybS1jb250cm9sOmRpc2FibGVkLCAuZm9ybS1jb250cm9sW3JlYWRvbmx5XSwgLmZvcm0tY29udHJvbFtyZWFkb25seV06Zm9jdXMsIC5mb3JtLWNvbnRyb2xbcmVhZG9ubHldOmFjdGl2ZSB7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAjZTFlM2U4O1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5qcy1zZWFyY2g6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzZEMDA0RDtcbn1cblxuLnNwYW5TZWFyY2gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2RDAwNEQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzZEMDA0RDtcbn1cblxuLnNpZGViYXItb3BlbiB1bCBsaS5zZWxlY3RlZCxcbi5zaWRlYmFyLW9wZW4gdWwgbGkuc2VsZWN0ZWQgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZEMDA0RDtcbiAgICBjb2xvcjogI2ZmZjtcbn1cbi5zaWRlYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnNpZGViYXIuc2lkZWJhci1vcGVuIHtcbiAgICB0b3A6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAjZTdlYWVjO1xuICAgIGJveC1zaGFkb3c6IDAgMCAzcHggcmdiYSg4NiwgOTYsIDExNywgMC43MCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtaW4td2lkdGg6IDU1MHB4ICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogMTAwOTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogNTB2aDtcbn1cblxuLnNpZGViYXIgbGk6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkQwMDREO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4uc2lkZWJhciBsaSB7XG4gICAgbWFyZ2luOiAwLjVlbTtcbiAgICBwYWRkaW5nOiAwLjJlbTtcbn1cblxuLnNhdmUgLmJ0bjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZEMDA0RDtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIENvbW1lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5yb3ctZGVsZXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBQYWdlcyBDUlVEXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmNzcy1jcnVkIHtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjNkQwMDREO1xuICAgIC8vYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIHBhZGRpbmc6IDAuOHJlbTtcbn1cblxuLm5vcGFkZGluZyB7XG4gICAgcGFkZGluZzogMHB4O1xufVxuXG4ucGFkZGluZzEwIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xufVxuXG4uY3NzLWNydWQgLmNvbC1mb3JtLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDAuOHJlbSAhaW1wb3J0YW50O1xufVxuXG4uY3NzLWNydWQgLmlib3gtdGl0bGUge1xuICAgIC8vYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNnB4O1xuICAgIC8vYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDZweDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFBhZ2VzIFdpbmUvc3RhdHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnN0YXRzIHRkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zdGF0cyB0YWJsZSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM2YzA2NGU7XG59XG5cbi5jb21tZW50LXBpbmVke1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2RDAwNEQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjNkQwMDREO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogUGFnZXMgV2luZS9JbmZvXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqIEdyYXBlcyAqKi9cblxuLmRlbGV0ZS1ncmFwZSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDBweCAzcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgZm9udC1zaXplOiA5cHg7XG59XG5cbi5kZWxldGUtZ3JhcGU6aG92ZXIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnNlbGVjdGdyYXBlIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMHB4IDNweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgZm9udC1zaXplOiA5cHg7XG59XG5cbi5zZWxlY3RncmFwZTpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4uYmFkZ2UtZ3JhcGVzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkQwMDREO1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuI2pzLXNlbGVjdEdyYXBlcyBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4janMtc2VsZWN0R3JhcGVzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbi8qKiBBZ2UgYW5kIFTCsEMgKiovXG4ud2luZS1kZXRhaWwge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKC4zNzVyZW0gKyAxcHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKC4zNzVyZW0gKyAxcHgpO1xufVxuXG4vKiogQXdhcmRzICoqL1xuXG4uZGVsZXRlLWF3YXJkLCAuZGVsZXRlLWF3YXJkOmhvdmVyIHtcbiAgICBjb2xvcjogcmVkO1xufVxuXG4uYXNzb2NpYXRpb24tYXdhcmQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNkQwMDREO1xufVxuXG4ub3B0aW9uLWF3YXJkIC5wYWRkaW5nLWF3YXJkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbn1cblxuLmFzc29jaWF0aW9uLWF3YXJkIHRkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cblxuLmRlbGV0ZS1hd2FyZCB7XG4gICAgY29sb3I6IHJlZDtcbn1cblxuLmRlbGV0ZS1hd2FyZDpob3ZlciB7XG4gICAgY29sb3I6ICM5MTBkMGY7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBQYWdlcyBXaW5lL3NjYW4gaW1hZ2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnNjYW4ge1xuICAgIG1pbi1oZWlnaHQ6IDYxMnB4O1xufVxuXG4uZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIGdyaWQtY29sdW1uLWdhcDogMTBweDtcbiAgICBncmlkLXJvdy1nYXA6IDFlbTtcbn1cblxuLnBhZ2luZy1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLnNlbGVjdC1pbWFnZSBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xufVxuXG4uc2VsZWN0LWltYWdlIGlucHV0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC4xcmVtO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogUGFnZXMgV2luZS9pbWFnZSBSSVNFXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5ncm91cC1hY3Rpb25zIHtcbiAgICBtYXJnaW46IDIwcHggMDtcbn1cblxuLmdyb3VwLWFjdGlvbnMgdGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG5cbi5ncmlkUmlzZSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpO1xuICAgIGdyaWQtY29sdW1uLWdhcDogMTBweDtcbiAgICBncmlkLXJvdy1nYXA6IDFlbTtcbn1cblxuLmltYWdlLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjNkQwMDREO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDVweCAxNXB4O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogUGFnZXMgV2luZS9mb29kc1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uZm9vZCB7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG59XG5cbi5mb29kIHRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9vZCB0ZCB7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggIzZEMDA0RDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDEwcHggNXB4O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICM2RDAwNEQ7XG59XG5cbi5mb29kIHRoIHtcbiAgICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mb29kIC50aXRsZS1mb29kIGxhYmVsIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmZvb2QgLnRpdGxlLWZvb2Qge1xuICAgIGJvcmRlcjogc29saWQgMXB4ICM2RDAwNEQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IyN2ZhNTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmZvb2QgLmltZy1mb29kIGltZyB7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggIzZEMDA0RDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogTGlnaHRib3ggaW1hZ2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmdyaWQgPiAjbGlnaHRib3gtU2NhbnMgPiBhOmhvdmVyIC56b29tIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwOCwgNiwgNzgsIDAuNSk7XG59XG5cbi5ncmlkID4gI2xpZ2h0Ym94LVNjYW5zID4gYTpob3ZlciAuem9vbSA+IGltZyB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLmdyaWQgPiAjbGlnaHRib3gtU2NhbnMgPiBhIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNkQwMDREO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4uZ3JpZCA+ICNsaWdodGJveC1TY2FucyA+IGEgLnpvb20ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlIDBzO1xuICAgIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSAwcztcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UgMHM7XG59XG5cbi5ncmlkID4gI2xpZ2h0Ym94LVNjYW5zID4gYSAuem9vbSA+IGltZyB7XG4gICAgbGVmdDogNDIlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlIDBzO1xuICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlIDBzO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlIDBzO1xufVxuXG4uZ3JpZFJpc2UgPiAjbGlnaHRib3gtSW1hZ2VzUmVmID4gYTpob3ZlciAuem9vbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDgsIDYsIDc4LCAwLjUpO1xufVxuXG4uZ3JpZFJpc2UgPiAjbGlnaHRib3gtSW1hZ2VzUmVmID4gYTpob3ZlciAuem9vbSA+IGltZyB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLmdyaWRSaXNlID4gI2xpZ2h0Ym94LUltYWdlc1JlZiA+IGEge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM2RDAwNEQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmdyaWRSaXNlID4gI2xpZ2h0Ym94LUltYWdlc1JlZiA+IGEgLnpvb20ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlIDBzO1xuICAgIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSAwcztcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UgMHM7XG59XG5cbi5ncmlkUmlzZSA+ICNsaWdodGJveC1JbWFnZXNSZWYgPiBhIC56b29tID4gaW1nIHtcbiAgICBsZWZ0OiA0MiU7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UgMHM7XG4gICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UgMHM7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UgMHM7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBSZXNwb25zaXZlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExMDdweCkge1xuICAgIC5zYXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5zYXZlIC5idG4tdGFibGUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgfVxuICAgIC5zYXZlIGJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDdweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuY3NzLWJhY2tsb2cgLmJ0biB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDhweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5zYXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5zaXplIHtcbiAgICAgICAgd2lkdGg6IDQ4JSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuc2F2ZSAuYnRuLXRhYmxlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIH1cbiAgICAuc2F2ZSBidXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA3cHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmNzcy1iYWNrbG9nIC5idG4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxNjA1cHgpIHtcbiAgICAuc2F2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAuc2l6ZSB7XG4gICAgICAgIHdpZHRoOiA0NyUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnNhdmUgLmJ0bi10YWJsZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICB9XG4gICAgLnNhdmUgYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5jc3MtYmFja2xvZyAuYnRuIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDE2OTlweCkge1xuICAgIC5zYXZlMiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAuc2F2ZTIgLmJ0bi10YWJsZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICB9XG4gICAgLnNhdmUyIGJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDdweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBEZWZpbmUgYWxsIHRoZSB2YXIgdGhhdCBjYW4gYmUgdXNlZnVsIGluIHNjc3MgZmlsZXNcblxuICogQGF1dGhvciBBbGl6ZWUgTWV5ZXIgPGFsaXplZS5tQG51bWVyaWMtd2F2ZS5ldT5cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqXG4gKlxuICogQmxhY2sgZ3JleSAtICMyZTJlMmUgLSByZ2JhKDQ2LDQ2LDQ2KVxuICogTGlnaHQgYnJvd24gLSAjZmZlNGM4IC0gcmdiYSgyNTUsMjI4LDIwMClcbiAqXG4gKiBDb2xvcnMgc2hhZGUgb2YgZ3JlZW4gOlxuICogRGFyayBncmVlbiAtICMxMDFkMTMgLSByZ2JhKDE2LDI5LDE5KVxuICogTWVkaXVtIGdyZWVuIC0gIzA1NTI0MCAtIHJnYmEoNSw4Miw2NClcbiAqIExpZ2h0IGdyZWVuIC0gIzJhN2E2NSAtIHJnYmEoNDIsMTIyLDEwMSlcbiAqIFBhc3RlbCBncmVlbiAtICM1YTk4OTkgLSByZ2JhKDkwLDE1MiwxNTMpXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBEZWZpbmUgYWxsIHZhcnNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKioqKioqKioqKiBHZW5lcmFsICoqKioqKioqKi9cbiRwcmltYXJ5LWNvbG9yOiAjNkQwMDREO1xuJHNlY29uZGFyeS1jb2xvcjogIzY2MDA0MztcbiR0aGlyZC1jb2xvcjogIzY2MDA0MztcbiRmb3VydGgtY29sb3I6ICNjYzA2OGQ7XG5cbiRsaW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRncmF5LWNvbG9yOiNEQkRCREI7XG4kZGFyay1ncmF5LWNvbG9yOiNhMjllOWQ7XG4kYnJvd24tY29sb3I6I2ZmZTRjODtcblxuJGZpZWxkLWNvbG9yOiBkYXJrZW4oJGJyb3duLWNvbG9yLCAxNSUpO1xuXG4kd2hpdGUtY29sb3I6I2ZmZmZmZjtcbiRibGFjay1jb2xvcjojMDAwMDAwO1xuXG4kYm94LXNoYWRvdzogM3B4IDlweCAyMHB4IDAgcmdiYSgxNiwyOSwxOSwwLjcpO1xuJG9wYWNpdHktd2hpdGUtYmc6IHJnYmEoJHdoaXRlLWNvbG9yLCAwLjcpO1xuXG4vKioqKioqKioqKiBUZXh0ICoqKioqKioqKi9cbiR0ZXh0LWxpbmstY29sb3I6ICRsaW5rLWNvbG9yO1xuJHRleHQtaW5wdXQtYmctY29sb3I6ICNGNUY3RkI7XG4kdGV4dC1pbnB1dC1jb2xvcjogIzdFODI4RjtcblxuLyoqKioqKioqKiogTWVudSAqKioqKioqKiovXG4kY29sb3ItZ3JhZGllbnQtdG9wOiAkcHJpbWFyeS1jb2xvcjtcbiRjb2xvci1ncmFkaWVudC1taWRkbGU6ICRwcmltYXJ5LWNvbG9yO1xuJGNvbG9yLWdyYWRpZW50LWJvdHRvbTogJHByaW1hcnktY29sb3I7XG4kbWVudS10aXRsZS1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiRtZW51LXRleHQtY29sb3I6ICRncmF5LWNvbG9yO1xuJG1lbnUtc2VsZWN0ZWQtY29sb3I6ICRncmF5LWNvbG9yO1xuXG4kc3ViLW1lbnUtY29sb3I6IGxpZ2h0ZW4oJGdyYXktY29sb3IsIDE1JSk7XG4kc3VibWVudS10ZXh0LWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuJHN1Ym1lbnUtc2VsZWN0ZWQtY29sb3I6IGxpZ2h0ZW4oJGxpbmstY29sb3IsIDQwJSk7XG5cbi8qKioqKioqKioqIEFjY29yZGlvbiAqKioqKioqKiovXG4kYm9yZGVyLWlib3gtY29udGVudC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYmFja2dyb3VuZC1pYm94LWNvbnRlbnQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcblxuLyoqKioqKioqKiogSnVtYm90cm9uICoqKioqKioqKi9cbiRib3JkZXItanVtYm90cm9uLWNvbG9yOiAkZGFyay1ncmF5LWNvbG9yO1xuJGJhY2tncm91bmQtanVtYm90cm9uLWNvbG9yOiAkd2hpdGUtY29sb3I7XG5cbi8qKioqKioqKioqIFBhbmVsIGJvZHkgKioqKioqKioqL1xuJGJvcmRlci1wYW5lbC1ib2R5LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWNrZ3JvdW5kLXBhbmVsLWJvZHktY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/