/*!******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/scss/calendar.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************/
/**
 * CONTENTS
 *
 * VARIABLES
 * Colors........... All website colors
 * Themes........... Themes for clinic
 * Typography....... Font-family, font-size, line-height
 * Buttons.......... Buttons informations
 * Form............. Input, select style
 * Media Queries ... Breakpoint for responsive
 * Grid ............ Grid col and gutter
 */
/*------------------------------------*\
    #COLORS
\*------------------------------------*/
/* Kids */
/* Gray and others */
/* Text color */
/* Links colors */
/* Notifications colors */
/*------------------------------------*\
    #TYPOGRAPHY
\*------------------------------------*/
/*------------------------------------*\
    #BUTTONS
\*------------------------------------*/
/*------------------------------------*\
    #FORMS
\*------------------------------------*/
/*------------------------------------*\
    #MEDIA-QUERIES
\*------------------------------------*/
/*------------------------------------*\
    #MEDIA QUERIES
\*------------------------------------*/
/*------------------------------------*\
    #GRID
\*------------------------------------*/
/*------------------------------------*\
    #Font Awesome
\*------------------------------------*/
/*!
 * FullCalendar v3.9.0
 * Docs & License: https://fullcalendar.io/
 * (c) 2018 Adam Shaw
 */
.fc {
  direction: ltr;
  text-align: left;
}

.fc-rtl {
  text-align: right;
}

body .fc {
  /* extra precedence to overcome jqui */
  font-size: 1em;
}

/* Colors
--------------------------------------------------------------------------------------------------*/
.fc-highlight {
  /* when user is selecting cells */
  background: #bce8f1;
  opacity: .3;
}

.fc-bgevent {
  /* default look for background events */
  background: #8fdf82;
  opacity: .3;
}

.fc-nonbusiness {
  /* default look for non-business-hours areas */
  /* will inherit .fc-bgevent's styles */
  background: #d7d7d7;
}

/* Buttons (styled <button> tags, normalized to work cross-browser)
--------------------------------------------------------------------------------------------------*/
.fc button {
  /* force height to include the border and padding */
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* dimensions */
  margin: 0;
  height: 2.1em;
  padding: 0 .6em;
  /* text & cursor */
  font-size: 1em;
  /* normalize */
  white-space: nowrap;
  cursor: pointer;
}

/* Firefox has an annoying inner border */
.fc button::-moz-focus-inner {
  margin: 0;
  padding: 0;
}

.fc-state-default {
  /* non-theme */
  border: 1px solid;
}

.fc-state-default.fc-corner-left {
  /* non-theme */
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}

.fc-state-default.fc-corner-right {
  /* non-theme */
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

/* icons in buttons */
.fc button .fc-icon {
  /* non-theme */
  position: relative;
  top: -0.05em;
  /* seems to be a good adjustment across browsers */
  margin: 0 .2em;
  vertical-align: middle;
}

/*
  button states
  borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/)
*/
.fc-state-default {
  background-color: #f5f5f5;
  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
  background-repeat: repeat-x;
  border-color: #e6e6e6 #e6e6e6 #bfbfbf;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  color: #333;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
}

.fc-state-hover,
.fc-state-down,
.fc-state-active,
.fc-state-disabled {
  color: #333333;
  background-color: #e6e6e6;
}

.fc-state-hover {
  color: #333333;
  text-decoration: none;
  background-position: 0 -15px;
  -webkit-transition: background-position 0.1s linear;
  -moz-transition: background-position 0.1s linear;
  -o-transition: background-position 0.1s linear;
  transition: background-position 0.1s linear;
}

.fc-state-down,
.fc-state-active {
  background-color: #cccccc;
  background-image: none;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
}

.fc-state-disabled {
  cursor: default;
  background-image: none;
  opacity: 0.65;
  box-shadow: none;
}

/* Buttons Groups
--------------------------------------------------------------------------------------------------*/
.fc-button-group {
  display: inline-block;
}

/*
every button that is not first in a button group should scootch over one pixel and cover the
previous button's border...
*/
.fc .fc-button-group > * {
  /* extra precedence b/c buttons have margin set to zero */
  float: left;
  margin: 0 0 0 -1px;
}

.fc .fc-button-group > :first-child {
  /* same */
  margin-left: 0;
}

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-popover {
  position: absolute;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.fc-popover .fc-header {
  /* TODO: be more consistent with fc-head/fc-body */
  padding: 2px 4px;
}

.fc-popover .fc-header .fc-title {
  margin: 0 2px;
}

.fc-popover .fc-header .fc-close {
  cursor: pointer;
}

.fc-ltr .fc-popover .fc-header .fc-title,
.fc-rtl .fc-popover .fc-header .fc-close {
  float: left;
}

.fc-rtl .fc-popover .fc-header .fc-title,
.fc-ltr .fc-popover .fc-header .fc-close {
  float: right;
}

/* Misc Reusable Components
--------------------------------------------------------------------------------------------------*/
.fc-divider {
  border-style: solid;
  border-width: 1px;
}

hr.fc-divider {
  height: 0;
  margin: 0;
  padding: 0 0 2px;
  /* height is unreliable across browsers, so use padding */
  border-width: 1px 0;
}

.fc-clear {
  clear: both;
}

.fc-bg,
.fc-bgevent-skeleton,
.fc-highlight-skeleton,
.fc-helper-skeleton {
  /* these element should always cling to top-left/right corners */
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.fc-bg {
  bottom: 0;
  /* strech bg to bottom edge */
}

.fc-bg table {
  height: 100%;
  /* strech bg to bottom edge */
}

/* Tables
--------------------------------------------------------------------------------------------------*/
.fc table {
  width: 100%;
  box-sizing: border-box;
  /* fix scrollbar issue in firefox */
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 1em;
  /* normalize cross-browser */
}

.fc th {
  text-align: center;
}

.fc th,
.fc td {
  border-style: solid;
  border-width: 1px;
  padding: 0;
  vertical-align: top;
}

.fc td.fc-today {
  border-style: double;
  /* overcome neighboring borders */
}

/* Internal Nav Links
--------------------------------------------------------------------------------------------------*/
a[data-goto] {
  cursor: pointer;
}

a[data-goto]:hover {
  text-decoration: underline;
}

/* Fake Table Rows
--------------------------------------------------------------------------------------------------*/
.fc .fc-row {
  /* extra precedence to overcome themes w/ .ui-widget-content forcing a 1px border */
  /* no visible border by default. but make available if need be (scrollbar width compensation) */
  border-style: solid;
  border-width: 0;
}

.fc-row table {
  /* don't put left/right border on anything within a fake row.
       the outer tbody will worry about this */
  border-left: 0 hidden transparent;
  border-right: 0 hidden transparent;
  /* no bottom borders on rows */
  border-bottom: 0 hidden transparent;
}

.fc-row:first-child table {
  border-top: 0 hidden transparent;
  /* no top border on first row */
}

/* Day Row (used within the header and the DayGrid)
--------------------------------------------------------------------------------------------------*/
.fc-row {
  position: relative;
}

.fc-row .fc-bg {
  z-index: 1;
}

/* highlighting cells & background event skeleton */
.fc-row .fc-bgevent-skeleton,
.fc-row .fc-highlight-skeleton {
  bottom: 0;
  /* stretch skeleton to bottom of row */
}

.fc-row .fc-bgevent-skeleton table,
.fc-row .fc-highlight-skeleton table {
  height: 100%;
  /* stretch skeleton to bottom of row */
}

.fc-row .fc-highlight-skeleton td,
.fc-row .fc-bgevent-skeleton td {
  border-color: transparent;
}

.fc-row .fc-bgevent-skeleton {
  z-index: 2;
}

.fc-row .fc-highlight-skeleton {
  z-index: 3;
}

/*
row content (which contains day/week numbers and events) as well as "helper" (which contains
temporary rendered events).
*/
.fc-row .fc-content-skeleton {
  position: relative;
  z-index: 4;
  padding-bottom: 2px;
  /* matches the space above the events */
}

.fc-row .fc-helper-skeleton {
  z-index: 5;
}

.fc .fc-row .fc-content-skeleton table,
.fc .fc-row .fc-content-skeleton td,
.fc .fc-row .fc-helper-skeleton td {
  /* see-through to the background below */
  /* extra precedence to prevent theme-provided backgrounds */
  background: none;
  /* in case <td>s are globally styled */
  border-color: transparent;
}

.fc-row .fc-content-skeleton td,
.fc-row .fc-helper-skeleton td {
  /* don't put a border between events and/or the day number */
  border-bottom: 0;
}

.fc-row .fc-content-skeleton tbody td,
.fc-row .fc-helper-skeleton tbody td {
  /* don't put a border between event cells */
  border-top: 0;
}

/* Scrolling Container
--------------------------------------------------------------------------------------------------*/
.fc-scroller {
  -webkit-overflow-scrolling: touch;
}

/* TODO: move to agenda/basic */
.fc-scroller > .fc-day-grid,
.fc-scroller > .fc-time-grid {
  position: relative;
  /* re-scope all positions */
  width: 100%;
  /* hack to force re-sizing this inner element when scrollbars appear/disappear */
}

/* Global Event Styles
--------------------------------------------------------------------------------------------------*/
.fc-event {
  position: relative;
  /* for resize handle and other inner positioning */
  display: block;
  /* make the <a> tag block */
  font-size: .85em;
  line-height: 1.3;
  border-radius: 3px;
  border: 1px solid #3a87ad;
  /* default BORDER color */
}

.fc-event,
.fc-event-dot {
  background-color: #3a87ad;
  /* default BACKGROUND color */
}

.fc-event,
.fc-event:hover {
  color: #fff;
  /* default TEXT color */
  text-decoration: none;
  /* if <a> has an href */
}

.fc-event[href],
.fc-event.fc-draggable {
  cursor: pointer;
  /* give events with links and draggable events a hand mouse pointer */
}

.fc-not-allowed,
.fc-not-allowed .fc-event {
  /* to override an event's custom cursor */
  cursor: not-allowed;
}

.fc-event .fc-bg {
  /* the generic .fc-bg already does position */
  z-index: 1;
  background: #fff;
  opacity: .25;
}

.fc-event .fc-content {
  position: relative;
  z-index: 2;
}

/* resizer (cursor AND touch devices) */
.fc-event .fc-resizer {
  position: absolute;
  z-index: 4;
}

/* resizer (touch devices) */
.fc-event .fc-resizer {
  display: none;
}

.fc-event.fc-allow-mouse-resize .fc-resizer,
.fc-event.fc-selected .fc-resizer {
  /* only show when hovering or selected (with touch) */
  display: block;
}

/* hit area */
.fc-event.fc-selected .fc-resizer:before {
  /* 40x40 touch area */
  content: "";
  position: absolute;
  z-index: 9999;
  /* user of this util can scope within a lower z-index */
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin-left: -20px;
  margin-top: -20px;
}

/* Event Selection (only for touch devices)
--------------------------------------------------------------------------------------------------*/
.fc-event.fc-selected {
  z-index: 9999 !important;
  /* overcomes inline z-index */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.fc-event.fc-selected.fc-dragging {
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);
}

/* Horizontal Events
--------------------------------------------------------------------------------------------------*/
/* bigger touch area when selected */
.fc-h-event.fc-selected:before {
  content: "";
  position: absolute;
  z-index: 3;
  /* below resizers */
  top: -10px;
  bottom: -10px;
  left: 0;
  right: 0;
}

/* events that are continuing to/from another week. kill rounded corners and butt up against edge */
.fc-ltr .fc-h-event.fc-not-start,
.fc-rtl .fc-h-event.fc-not-end {
  margin-left: 0;
  border-left-width: 0;
  padding-left: 1px;
  /* replace the border with padding */
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.fc-ltr .fc-h-event.fc-not-end,
.fc-rtl .fc-h-event.fc-not-start {
  margin-right: 0;
  border-right-width: 0;
  padding-right: 1px;
  /* replace the border with padding */
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

/* resizer (cursor AND touch devices) */
/* left resizer  */
.fc-ltr .fc-h-event .fc-start-resizer,
.fc-rtl .fc-h-event .fc-end-resizer {
  cursor: w-resize;
  left: -1px;
  /* overcome border */
}

/* right resizer */
.fc-ltr .fc-h-event .fc-end-resizer,
.fc-rtl .fc-h-event .fc-start-resizer {
  cursor: e-resize;
  right: -1px;
  /* overcome border */
}

/* resizer (mouse devices) */
.fc-h-event.fc-allow-mouse-resize .fc-resizer {
  width: 7px;
  top: -1px;
  /* overcome top border */
  bottom: -1px;
  /* overcome bottom border */
}

/* resizer (touch devices) */
.fc-h-event.fc-selected .fc-resizer {
  /* 8x8 little dot */
  border-radius: 4px;
  border-width: 1px;
  width: 6px;
  height: 6px;
  border-style: solid;
  border-color: inherit;
  background: #fff;
  /* vertically center */
  top: 50%;
  margin-top: -4px;
}

/* left resizer  */
.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,
.fc-rtl .fc-h-event.fc-selected .fc-end-resizer {
  margin-left: -4px;
  /* centers the 8x8 dot on the left edge */
}

/* right resizer */
.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,
.fc-rtl .fc-h-event.fc-selected .fc-start-resizer {
  margin-right: -4px;
  /* centers the 8x8 dot on the right edge */
}

/* DayGrid events
----------------------------------------------------------------------------------------------------
We use the full "fc-day-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/
.fc-day-grid-event {
  margin: 1px 2px 0;
  /* spacing between events and edges */
  padding: 0 1px;
}

tr:first-child > td > .fc-day-grid-event {
  margin-top: 2px;
  /* a little bit more space before the first event */
}

.fc-day-grid-event.fc-selected:after {
  content: "";
  position: absolute;
  z-index: 1;
  /* same z-index as fc-bg, behind text */
  /* overcome the borders */
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  /* darkening effect */
  background: #000;
  opacity: .25;
}

.fc-day-grid-event .fc-content {
  /* force events to be one-line tall */
  white-space: nowrap;
  overflow: hidden;
}

.fc-day-grid-event .fc-time {
  font-weight: bold;
}

/* resizer (cursor devices) */
/* left resizer  */
.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,
.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer {
  margin-left: -2px;
  /* to the day cell's edge */
}

/* right resizer */
.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,
.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer {
  margin-right: -2px;
  /* to the day cell's edge */
}

/* Event Limiting
--------------------------------------------------------------------------------------------------*/
/* "more" link that represents hidden events */
a.fc-more {
  margin: 1px 3px;
  font-size: .85em;
  cursor: pointer;
  text-decoration: none;
}

a.fc-more:hover {
  text-decoration: underline;
}

.fc-limited {
  /* rows and cells that are hidden because of a "more" link */
  display: none;
}

/* popover that appears when "more" link is clicked */
.fc-day-grid .fc-row {
  z-index: 1;
  /* make the "more" popover one higher than this */
}

.fc-more-popover {
  z-index: 2;
  width: 220px;
}

.fc-more-popover .fc-event-container {
  padding: 10px;
}

/* Now Indicator
--------------------------------------------------------------------------------------------------*/
.fc-now-indicator {
  position: absolute;
  border: 0 solid red;
}

/* Utilities
--------------------------------------------------------------------------------------------------*/
.fc-unselectable {
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
}

/*
TODO: more distinction between this file and common.css
*/
/* Colors
--------------------------------------------------------------------------------------------------*/
.fc-unthemed th,
.fc-unthemed td,
.fc-unthemed thead,
.fc-unthemed tbody,
.fc-unthemed .fc-divider,
.fc-unthemed .fc-row,
.fc-unthemed .fc-content,
.fc-unthemed .fc-popover,
.fc-unthemed .fc-list-view,
.fc-unthemed .fc-list-heading td {
  border-color: #ddd;
}

.fc-unthemed .fc-popover {
  background-color: #fff;
}

.fc-unthemed .fc-divider,
.fc-unthemed .fc-popover .fc-header,
.fc-unthemed .fc-list-heading td {
  background: #eee;
}

.fc-unthemed .fc-popover .fc-header .fc-close {
  color: #666;
}

.fc-unthemed td.fc-today {
  background: #fcf8e3;
}

.fc-unthemed .fc-disabled-day {
  background: #d7d7d7;
  opacity: .3;
}

/* Icons (inline elements with styled text that mock arrow icons)
--------------------------------------------------------------------------------------------------*/
.fc-icon {
  display: inline-block;
  height: 1em;
  line-height: 1em;
  font-size: 1em;
  text-align: center;
  overflow: hidden;
  font-family: "Courier New", Courier, monospace;
  /* don't allow browser text-selection */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/*
Acceptable font-family overrides for individual icons:
  "Arial", sans-serif
  "Times New Roman", serif

NOTE: use percentage font sizes or else old IE chokes
*/
.fc-icon:after {
  position: relative;
}

.fc-icon-left-single-arrow:after {
  content: "\2039";
  font-weight: bold;
  font-size: 200%;
  top: -7%;
}

.fc-icon-right-single-arrow:after {
  content: "\203A";
  font-weight: bold;
  font-size: 200%;
  top: -7%;
}

.fc-icon-left-double-arrow:after {
  content: "\AB";
  font-size: 160%;
  top: -7%;
}

.fc-icon-right-double-arrow:after {
  content: "\BB";
  font-size: 160%;
  top: -7%;
}

.fc-icon-left-triangle:after {
  content: "\25C4";
  font-size: 125%;
  top: 3%;
}

.fc-icon-right-triangle:after {
  content: "\25BA";
  font-size: 125%;
  top: 3%;
}

.fc-icon-down-triangle:after {
  content: "\25BC";
  font-size: 125%;
  top: 2%;
}

.fc-icon-x:after {
  content: "\D7";
  font-size: 200%;
  top: 6%;
}

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-unthemed .fc-popover {
  border-width: 1px;
  border-style: solid;
}

.fc-unthemed .fc-popover .fc-header .fc-close {
  font-size: .9em;
  margin-top: 2px;
}

/* List View
--------------------------------------------------------------------------------------------------*/
.fc-unthemed .fc-list-item:hover td {
  background-color: #f5f5f5;
}

/* Colors
--------------------------------------------------------------------------------------------------*/
.ui-widget .fc-disabled-day {
  background-image: none;
}

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-popover > .ui-widget-header + .ui-widget-content {
  border-top: 0;
  /* where they meet, let the header have the border */
}

/* Global Event Styles
--------------------------------------------------------------------------------------------------*/
.ui-widget .fc-event {
  /* overpower jqui's styles on <a> tags. TODO: more DRY */
  color: #fff;
  /* default TEXT color */
  text-decoration: none;
  /* if <a> has an href */
  /* undo ui-widget-header bold */
  font-weight: normal;
}

/* TimeGrid axis running down the side (for both the all-day area and the slot area)
--------------------------------------------------------------------------------------------------*/
.ui-widget td.fc-axis {
  font-weight: normal;
  /* overcome bold */
}

/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-slats .ui-widget-content {
  background: none;
  /* see through to fc-bg */
}

.fc.fc-bootstrap3 a {
  text-decoration: none;
}

.fc.fc-bootstrap3 a[data-goto]:hover {
  text-decoration: underline;
}

.fc-bootstrap3 hr.fc-divider {
  border-color: inherit;
}

.fc-bootstrap3 .fc-today.alert {
  border-radius: 0;
}

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-bootstrap3 .fc-popover .panel-body {
  padding: 0;
}

/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/
.fc-bootstrap3 .fc-time-grid .fc-slats table {
  /* some themes have background color. see through to slats */
  background: none;
}

.fc.fc-bootstrap4 a {
  text-decoration: none;
}

.fc.fc-bootstrap4 a[data-goto]:hover {
  text-decoration: underline;
}

.fc-bootstrap4 hr.fc-divider {
  border-color: inherit;
}

.fc-bootstrap4 .fc-today.alert {
  border-radius: 0;
}

.fc-bootstrap4 a.fc-event:not([href]):not([tabindex]) {
  color: #fff;
}

.fc-bootstrap4 .fc-popover.card {
  position: absolute;
}

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-bootstrap4 .fc-popover .card-body {
  padding: 0;
}

/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/
.fc-bootstrap4 .fc-time-grid .fc-slats table {
  /* some themes have background color. see through to slats */
  background: none;
}

/* Toolbar
--------------------------------------------------------------------------------------------------*/
.fc-toolbar {
  text-align: center;
}

.fc-toolbar.fc-header-toolbar {
  margin-bottom: 1em;
}

.fc-toolbar.fc-footer-toolbar {
  margin-top: 1em;
}

.fc-toolbar .fc-left {
  float: left;
}

.fc-toolbar .fc-right {
  float: right;
}

.fc-toolbar .fc-center {
  display: inline-block;
}

/* the things within each left/right/center section */
.fc .fc-toolbar > * > * {
  /* extra precedence to override button border margins */
  float: left;
  margin-left: .75em;
}

/* the first thing within each left/center/right section */
.fc .fc-toolbar > * > :first-child {
  /* extra precedence to override button border margins */
  margin-left: 0;
}

/* title text */
.fc-toolbar h2 {
  margin: 0;
}

/* button layering (for border precedence) */
.fc-toolbar button {
  position: relative;
}

.fc-toolbar .fc-state-hover,
.fc-toolbar .ui-state-hover {
  z-index: 2;
}

.fc-toolbar .fc-state-down {
  z-index: 3;
}

.fc-toolbar .fc-state-active,
.fc-toolbar .ui-state-active {
  z-index: 4;
}

.fc-toolbar button:focus {
  z-index: 5;
}

/* View Structure
--------------------------------------------------------------------------------------------------*/
/* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques */
/* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */
.fc-view-container *,
.fc-view-container *:before,
.fc-view-container *:after {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

.fc-view,
.fc-view > table {
  /* so dragged elements can be above the view's main element */
  position: relative;
  z-index: 1;
}

/* BasicView
--------------------------------------------------------------------------------------------------*/
/* day row structure */
.fc-basicWeek-view .fc-content-skeleton,
.fc-basicDay-view .fc-content-skeleton {
  /* there may be week numbers in these views, so no padding-top */
  padding-bottom: 1em;
  /* ensure a space at bottom of cell for user selecting/clicking */
}

.fc-basic-view .fc-body .fc-row {
  min-height: 4em;
  /* ensure that all rows are at least this tall */
}

/* a "rigid" row will take up a constant amount of height because content-skeleton is absolute */
.fc-row.fc-rigid {
  overflow: hidden;
}

.fc-row.fc-rigid .fc-content-skeleton {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

/* week and day number styling */
.fc-day-top.fc-other-month {
  opacity: 0.3;
}

.fc-basic-view .fc-week-number,
.fc-basic-view .fc-day-number {
  padding: 2px;
}

.fc-basic-view th.fc-week-number,
.fc-basic-view th.fc-day-number {
  padding: 0 2px;
  /* column headers can't have as much v space */
}

.fc-ltr .fc-basic-view .fc-day-top .fc-day-number {
  float: right;
}

.fc-rtl .fc-basic-view .fc-day-top .fc-day-number {
  float: left;
}

.fc-ltr .fc-basic-view .fc-day-top .fc-week-number {
  float: left;
  border-radius: 0 0 3px 0;
}

.fc-rtl .fc-basic-view .fc-day-top .fc-week-number {
  float: right;
  border-radius: 0 0 0 3px;
}

.fc-basic-view .fc-day-top .fc-week-number {
  min-width: 1.5em;
  text-align: center;
  background-color: #f2f2f2;
  color: #808080;
}

/* when week/day number have own column */
.fc-basic-view td.fc-week-number {
  text-align: center;
}

.fc-basic-view td.fc-week-number > * {
  /* work around the way we do column resizing and ensure a minimum width */
  display: inline-block;
  min-width: 1.25em;
}

/* AgendaView all-day area
--------------------------------------------------------------------------------------------------*/
.fc-agenda-view .fc-day-grid {
  position: relative;
  z-index: 2;
  /* so the "more.." popover will be over the time grid */
}

.fc-agenda-view .fc-day-grid .fc-row {
  min-height: 3em;
  /* all-day section will never get shorter than this */
}

.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton {
  padding-bottom: 1em;
  /* give space underneath events for clicking/selecting days */
}

/* TimeGrid axis running down the side (for both the all-day area and the slot area)
--------------------------------------------------------------------------------------------------*/
.fc .fc-axis {
  /* .fc to overcome default cell styles */
  vertical-align: middle;
  padding: 0 4px;
  white-space: nowrap;
}

.fc-ltr .fc-axis {
  text-align: right;
}

.fc-rtl .fc-axis {
  text-align: left;
}

/* TimeGrid Structure
--------------------------------------------------------------------------------------------------*/
.fc-time-grid-container,
.fc-time-grid {
  /* so slats/bg/content/etc positions get scoped within here */
  position: relative;
  z-index: 1;
}

.fc-time-grid {
  min-height: 100%;
  /* so if height setting is 'auto', .fc-bg stretches to fill height */
}

.fc-time-grid table {
  /* don't put outer borders on slats/bg/content/etc */
  border: 0 hidden transparent;
}

.fc-time-grid > .fc-bg {
  z-index: 1;
}

.fc-time-grid .fc-slats,
.fc-time-grid > hr {
  /* the <hr> AgendaView injects when grid is shorter than scroller */
  position: relative;
  z-index: 2;
}

.fc-time-grid .fc-content-col {
  position: relative;
  /* because now-indicator lives directly inside */
}

.fc-time-grid .fc-content-skeleton {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  right: 0;
}

/* divs within a cell within the fc-content-skeleton */
.fc-time-grid .fc-business-container {
  position: relative;
  z-index: 1;
}

.fc-time-grid .fc-bgevent-container {
  position: relative;
  z-index: 2;
}

.fc-time-grid .fc-highlight-container {
  position: relative;
  z-index: 3;
}

.fc-time-grid .fc-event-container {
  position: relative;
  z-index: 4;
}

.fc-time-grid .fc-now-indicator-line {
  z-index: 5;
}

.fc-time-grid .fc-helper-container {
  /* also is fc-event-container */
  position: relative;
  z-index: 6;
}

/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-slats td {
  height: 1.5em;
  border-bottom: 0;
  /* each cell is responsible for its top border */
}

.fc-time-grid .fc-slats .fc-minor td {
  border-top-style: dotted;
}

/* TimeGrid Highlighting Slots
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-highlight-container {
  /* a div within a cell within the fc-highlight-skeleton */
  position: relative;
  /* scopes the left/right of the fc-highlight to be in the column */
}

.fc-time-grid .fc-highlight {
  position: absolute;
  left: 0;
  right: 0;
  /* top and bottom will be in by JS */
}

/* TimeGrid Event Containment
--------------------------------------------------------------------------------------------------*/
.fc-ltr .fc-time-grid .fc-event-container {
  /* space on the sides of events for LTR (default) */
  margin: 0 2.5% 0 2px;
}

.fc-rtl .fc-time-grid .fc-event-container {
  /* space on the sides of events for RTL */
  margin: 0 2px 0 2.5%;
}

.fc-time-grid .fc-event,
.fc-time-grid .fc-bgevent {
  position: absolute;
  z-index: 1;
  /* scope inner z-index's */
}

.fc-time-grid .fc-bgevent {
  /* background events always span full width */
  left: 0;
  right: 0;
}

/* Generic Vertical Event
--------------------------------------------------------------------------------------------------*/
.fc-v-event.fc-not-start {
  /* events that are continuing from another day */
  /* replace space made by the top border with padding */
  border-top-width: 0;
  padding-top: 1px;
  /* remove top rounded corners */
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.fc-v-event.fc-not-end {
  /* replace space made by the top border with padding */
  border-bottom-width: 0;
  padding-bottom: 1px;
  /* remove bottom rounded corners */
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

/* TimeGrid Event Styling
----------------------------------------------------------------------------------------------------
We use the full "fc-time-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/
.fc-time-grid-event {
  overflow: hidden;
  /* don't let the bg flow over rounded corners */
}

.fc-time-grid-event.fc-selected {
  /* need to allow touch resizers to extend outside event's bounding box */
  /* common fc-selected styles hide the fc-bg, so don't need this anyway */
  overflow: visible;
}

.fc-time-grid-event.fc-selected .fc-bg {
  display: none;
  /* hide semi-white background, to appear darker */
}

.fc-time-grid-event .fc-content {
  overflow: hidden;
  /* for when .fc-selected */
}

.fc-time-grid-event .fc-time,
.fc-time-grid-event .fc-title {
  padding: 0 1px;
}

.fc-time-grid-event .fc-time {
  font-size: .85em;
  white-space: nowrap;
}

/* short mode, where time and title are on the same line */
.fc-time-grid-event.fc-short .fc-content {
  /* don't wrap to second line (now that contents will be inline) */
  white-space: nowrap;
}

.fc-time-grid-event.fc-short .fc-time,
.fc-time-grid-event.fc-short .fc-title {
  /* put the time and title on the same line */
  display: inline-block;
  vertical-align: top;
}

.fc-time-grid-event.fc-short .fc-time span {
  display: none;
  /* don't display the full time text... */
}

.fc-time-grid-event.fc-short .fc-time:before {
  content: attr(data-start);
  /* ...instead, display only the start time */
}

.fc-time-grid-event.fc-short .fc-time:after {
  content: "\A0-\A0";
  /* seperate with a dash, wrapped in nbsp's */
}

.fc-time-grid-event.fc-short .fc-title {
  font-size: .85em;
  /* make the title text the same size as the time */
  padding: 0;
  /* undo padding from above */
}

/* resizer (cursor device) */
.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer {
  left: 0;
  right: 0;
  bottom: 0;
  height: 8px;
  overflow: hidden;
  line-height: 8px;
  font-size: 11px;
  font-family: monospace;
  text-align: center;
  cursor: s-resize;
}

.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after {
  content: "=";
}

/* resizer (touch device) */
.fc-time-grid-event.fc-selected .fc-resizer {
  /* 10x10 dot */
  border-radius: 5px;
  border-width: 1px;
  width: 8px;
  height: 8px;
  border-style: solid;
  border-color: inherit;
  background: #fff;
  /* horizontally center */
  left: 50%;
  margin-left: -5px;
  /* center on the bottom edge */
  bottom: -5px;
}

/* Now Indicator
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-now-indicator-line {
  border-top-width: 1px;
  left: 0;
  right: 0;
}

/* arrow on axis */
.fc-time-grid .fc-now-indicator-arrow {
  margin-top: -5px;
  /* vertically center on top coordinate */
}

.fc-ltr .fc-time-grid .fc-now-indicator-arrow {
  left: 0;
  /* triangle pointing right... */
  border-width: 5px 0 5px 6px;
  border-top-color: transparent;
  border-bottom-color: transparent;
}

.fc-rtl .fc-time-grid .fc-now-indicator-arrow {
  right: 0;
  /* triangle pointing left... */
  border-width: 5px 6px 5px 0;
  border-top-color: transparent;
  border-bottom-color: transparent;
}

/* List View
--------------------------------------------------------------------------------------------------*/
/* possibly reusable */
.fc-event-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 5px;
}

/* view wrapper */
.fc-rtl .fc-list-view {
  direction: rtl;
  /* unlike core views, leverage browser RTL */
}

.fc-list-view {
  border-width: 1px;
  border-style: solid;
}

/* table resets */
.fc .fc-list-table {
  table-layout: auto;
  /* for shrinkwrapping cell content */
}

.fc-list-table td {
  border-width: 1px 0 0;
  padding: 8px 14px;
}

.fc-list-table tr:first-child td {
  border-top-width: 0;
}

/* day headings with the list */
.fc-list-heading {
  border-bottom-width: 1px;
}

.fc-list-heading td {
  font-weight: bold;
}

.fc-ltr .fc-list-heading-main {
  float: left;
}

.fc-ltr .fc-list-heading-alt {
  float: right;
}

.fc-rtl .fc-list-heading-main {
  float: right;
}

.fc-rtl .fc-list-heading-alt {
  float: left;
}

/* event list items */
.fc-list-item.fc-has-url {
  cursor: pointer;
  /* whole row will be clickable */
}

.fc-list-item-marker,
.fc-list-item-time {
  white-space: nowrap;
  width: 1px;
}

/* make the dot closer to the event title */
.fc-ltr .fc-list-item-marker {
  padding-right: 0;
}

.fc-rtl .fc-list-item-marker {
  padding-left: 0;
}

.fc-list-item-title a {
  /* every event title cell has an <a> tag */
  text-decoration: none;
  color: inherit;
}

.fc-list-item-title a[href]:hover {
  /* hover effect only on titles with hrefs */
  text-decoration: underline;
}

/* message when no events */
.fc-list-empty-wrap2 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.fc-list-empty-wrap1 {
  width: 100%;
  height: 100%;
  display: table;
}

.fc-list-empty {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

.fc-unthemed .fc-list-empty {
  /* theme will provide own background */
  background-color: #eee;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY3NzIiwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7OztFQ1dFO0FESUY7O3VDQ0R1QztBRFd2QztBQWVBO0FBT0E7QUFJQTtBQU1BO0FBWUE7O3VDQy9DdUM7QUR3RHZDOzt1Q0NyRHVDO0FEK0R2Qzs7dUNDNUR1QztBRHVFdkM7O3VDQ3BFdUM7QURnR3ZDOzt1Q0M3RnVDO0FEbUl2Qzs7dUNDaEl1QztBRDBKdkM7O3VDQ3ZKdUM7QUN4Q3ZDOzs7O0VENkNFO0FDeENGO0VBQ0ksY0FBYztFQUNkLGdCQUFnQjtBRDBDcEI7O0FDeENBO0VBQ0ksaUJBQWlCO0FEMkNyQjs7QUN6Q0E7RUFDSTtFQUNBLGNBQWM7QUQ0Q2xCOztBQzFDQTttR0Q2Q21HO0FDM0NuRztFQUNJO0VBQ0EsbUJBQW1CO0VBQ25CLFdBQVc7QUQ2Q2Y7O0FDM0NBO0VBQ0k7RUFDQSxtQkFBbUI7RUFDbkIsV0FBVztBRDhDZjs7QUM1Q0E7RUFDSTtFQUNBO0VBQ0EsbUJBQW1CO0FEK0N2Qjs7QUM3Q0E7bUdEZ0RtRztBQzlDbkc7RUFDSTtFQUNBLDJCQUEyQjtFQUMzQiw4QkFBOEI7RUFDOUIsc0JBQXNCO0VBQ3RCO0VBQ0EsU0FBUztFQUNULGFBQWE7RUFDYixlQUFlO0VBQ2Y7RUFDQSxjQUFjO0VBQ2Q7RUFDQSxtQkFBbUI7RUFDbkIsZUFBZTtBRGdEbkI7O0FDOUNBO0FBQ0E7RUFDSSxTQUFTO0VBQ1QsVUFBVTtBRGlEZDs7QUMvQ0E7RUFDSTtFQUNBLGlCQUFpQjtBRGtEckI7O0FDaERBO0VBQ0k7RUFDQSwyQkFBMkI7RUFDM0IsOEJBQThCO0FEbURsQzs7QUNqREE7RUFDSTtFQUNBLDRCQUE0QjtFQUM1QiwrQkFBK0I7QURvRG5DOztBQ2xEQTtBQUNBO0VBQ0k7RUFDQSxrQkFBa0I7RUFDbEIsWUFBWTtFQUNaO0VBQ0EsY0FBYztFQUNkLHNCQUFzQjtBRHFEMUI7O0FDbkRBOzs7Q0R3REM7QUNwREQ7RUFDSSx5QkFBeUI7RUFDekIsNkRBQTZEO0VBQzdELG1GQUFtRjtFQUNuRixnRUFBZ0U7RUFDaEUsMkRBQTJEO0VBQzNELDhEQUE4RDtFQUM5RCwyQkFBMkI7RUFDM0IscUNBQXFDO0VBQ3JDLHVFQUF1RTtFQUN2RSxXQUFXO0VBQ1gsZ0RBQWdEO0VBQ2hELGlGQUFpRjtBRHNEckY7O0FDcERBOzs7O0VBSUksY0FBYztFQUNkLHlCQUF5QjtBRHVEN0I7O0FDckRBO0VBQ0ksY0FBYztFQUNkLHFCQUFxQjtFQUNyQiw0QkFBNEI7RUFDNUIsbURBQW1EO0VBQ25ELGdEQUFnRDtFQUNoRCw4Q0FBOEM7RUFDOUMsMkNBQTJDO0FEd0QvQzs7QUN0REE7O0VBRUkseUJBQXlCO0VBQ3pCLHNCQUFzQjtFQUN0Qiw4RUFBOEU7QUR5RGxGOztBQ3ZEQTtFQUNJLGVBQWU7RUFDZixzQkFBc0I7RUFDdEIsYUFBYTtFQUNiLGdCQUFnQjtBRDBEcEI7O0FDeERBO21HRDJEbUc7QUN6RG5HO0VBQ0kscUJBQXFCO0FEMkR6Qjs7QUN6REE7OztDRDhEQztBQzFERDtFQUNJO0VBQ0EsV0FBVztFQUNYLGtCQUFrQjtBRDREdEI7O0FDMURBO0VBQ0k7RUFDQSxjQUFjO0FENkRsQjs7QUMzREE7bUdEOERtRztBQzVEbkc7RUFDSSxrQkFBa0I7RUFDbEIseUNBQXlDO0FEOEQ3Qzs7QUM1REE7RUFDSTtFQUNBLGdCQUFnQjtBRCtEcEI7O0FDN0RBO0VBQ0ksYUFBYTtBRGdFakI7O0FDOURBO0VBQ0ksZUFBZTtBRGlFbkI7O0FDL0RBOztFQUVJLFdBQVc7QURrRWY7O0FDaEVBOztFQUVJLFlBQVk7QURtRWhCOztBQ2pFQTttR0RvRW1HO0FDbEVuRztFQUNJLG1CQUFtQjtFQUNuQixpQkFBaUI7QURvRXJCOztBQ2xFQTtFQUNJLFNBQVM7RUFDVCxTQUFTO0VBQ1QsZ0JBQWdCO0VBQ2hCO0VBQ0EsbUJBQW1CO0FEcUV2Qjs7QUNuRUE7RUFDSSxXQUFXO0FEc0VmOztBQ3BFQTs7OztFQUlJO0VBQ0Esa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixPQUFPO0VBQ1AsUUFBUTtBRHVFWjs7QUNyRUE7RUFDSSxTQUFTO0VBQ1Q7QUR3RUo7O0FDdEVBO0VBQ0ksWUFBWTtFQUNaO0FEeUVKOztBQ3ZFQTttR0QwRW1HO0FDeEVuRztFQUNJLFdBQVc7RUFDWCxzQkFBc0I7RUFDdEI7RUFDQSxtQkFBbUI7RUFDbkIseUJBQXlCO0VBQ3pCLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2Q7QUQwRUo7O0FDeEVBO0VBQ0ksa0JBQWtCO0FEMkV0Qjs7QUN6RUE7O0VBRUksbUJBQW1CO0VBQ25CLGlCQUFpQjtFQUNqQixVQUFVO0VBQ1YsbUJBQW1CO0FENEV2Qjs7QUMxRUE7RUFDSSxvQkFBb0I7RUFDcEI7QUQ2RUo7O0FDM0VBO21HRDhFbUc7QUM1RW5HO0VBQ0ksZUFBZTtBRDhFbkI7O0FDNUVBO0VBQ0ksMEJBQTBCO0FEK0U5Qjs7QUM3RUE7bUdEZ0ZtRztBQzlFbkc7RUFDSTtFQUNBO0VBQ0EsbUJBQW1CO0VBQ25CLGVBQWU7QURnRm5COztBQzlFQTtFQUNJOzhDRGlGMEM7RUMvRTFDLGlDQUFpQztFQUNqQyxrQ0FBa0M7RUFDbEM7RUFDQSxtQ0FBbUM7QURpRnZDOztBQy9FQTtFQUNJLGdDQUFnQztFQUNoQztBRGtGSjs7QUNoRkE7bUdEbUZtRztBQ2pGbkc7RUFDSSxrQkFBa0I7QURtRnRCOztBQ2pGQTtFQUNJLFVBQVU7QURvRmQ7O0FDbEZBO0FBQ0E7O0VBRUksU0FBUztFQUNUO0FEcUZKOztBQ25GQTs7RUFFSSxZQUFZO0VBQ1o7QURzRko7O0FDcEZBOztFQUVJLHlCQUF5QjtBRHVGN0I7O0FDckZBO0VBQ0ksVUFBVTtBRHdGZDs7QUN0RkE7RUFDSSxVQUFVO0FEeUZkOztBQ3ZGQTs7O0NENEZDO0FDeEZEO0VBQ0ksa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixtQkFBbUI7RUFDbkI7QUQwRko7O0FDeEZBO0VBQ0ksVUFBVTtBRDJGZDs7QUN6RkE7OztFQUdJO0VBQ0E7RUFDQSxnQkFBZ0I7RUFDaEI7RUFDQSx5QkFBeUI7QUQ0RjdCOztBQzFGQTs7RUFFSTtFQUNBLGdCQUFnQjtBRDZGcEI7O0FDM0ZBOztFQUVJO0VBQ0EsYUFBYTtBRDhGakI7O0FDNUZBO21HRCtGbUc7QUM3Rm5HO0VBQ0ksaUNBQWlDO0FEK0ZyQzs7QUM3RkE7QUFDQTs7RUFFSSxrQkFBa0I7RUFDbEI7RUFDQSxXQUFXO0VBQ1g7QURnR0o7O0FDOUZBO21HRGlHbUc7QUMvRm5HO0VBQ0ksa0JBQWtCO0VBQ2xCO0VBQ0EsY0FBYztFQUNkO0VBQ0EsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIseUJBQXlCO0VBQ3pCO0FEaUdKOztBQy9GQTs7RUFFSSx5QkFBeUI7RUFDekI7QURrR0o7O0FDaEdBOztFQUVJLFdBQVc7RUFDWDtFQUNBLHFCQUFxQjtFQUNyQjtBRG1HSjs7QUNqR0E7O0VBRUksZUFBZTtFQUNmO0FEb0dKOztBQ2xHQTs7RUFFSTtFQUNBLG1CQUFtQjtBRHFHdkI7O0FDbkdBO0VBQ0k7RUFDQSxVQUFVO0VBQ1YsZ0JBQWdCO0VBQ2hCLFlBQVk7QURzR2hCOztBQ3BHQTtFQUNJLGtCQUFrQjtFQUNsQixVQUFVO0FEdUdkOztBQ3JHQTtBQUNBO0VBQ0ksa0JBQWtCO0VBQ2xCLFVBQVU7QUR3R2Q7O0FDdEdBO0FBQ0E7RUFDSSxhQUFhO0FEeUdqQjs7QUN2R0E7O0VBRUk7RUFDQSxjQUFjO0FEMEdsQjs7QUN4R0E7QUFDQTtFQUNJO0VBQ0EsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2I7RUFDQSxRQUFRO0VBQ1IsU0FBUztFQUNULFdBQVc7RUFDWCxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLGlCQUFpQjtBRDJHckI7O0FDekdBO21HRDRHbUc7QUMxR25HO0VBQ0ksd0JBQXdCO0VBQ3hCO0VBQ0Esd0NBQXdDO0FENEc1Qzs7QUMxR0E7RUFDSSx3Q0FBd0M7QUQ2RzVDOztBQzNHQTttR0Q4R21HO0FDNUduRztBQUNBO0VBQ0ksV0FBVztFQUNYLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1Y7RUFDQSxVQUFVO0VBQ1YsYUFBYTtFQUNiLE9BQU87RUFDUCxRQUFRO0FEOEdaOztBQzVHQTtBQUNBOztFQUVJLGNBQWM7RUFDZCxvQkFBb0I7RUFDcEIsaUJBQWlCO0VBQ2pCO0VBQ0EseUJBQXlCO0VBQ3pCLDRCQUE0QjtBRCtHaEM7O0FDN0dBOztFQUVJLGVBQWU7RUFDZixxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCO0VBQ0EsMEJBQTBCO0VBQzFCLDZCQUE2QjtBRGdIakM7O0FDOUdBO0FBQ0E7QUFDQTs7RUFFSSxnQkFBZ0I7RUFDaEIsVUFBVTtFQUNWO0FEaUhKOztBQy9HQTtBQUNBOztFQUVJLGdCQUFnQjtFQUNoQixXQUFXO0VBQ1g7QURrSEo7O0FDaEhBO0FBQ0E7RUFDSSxVQUFVO0VBQ1YsU0FBUztFQUNUO0VBQ0EsWUFBWTtFQUNaO0FEbUhKOztBQ2pIQTtBQUNBO0VBQ0k7RUFDQSxrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLFVBQVU7RUFDVixXQUFXO0VBQ1gsbUJBQW1CO0VBQ25CLHFCQUFxQjtFQUNyQixnQkFBZ0I7RUFDaEI7RUFDQSxRQUFRO0VBQ1IsZ0JBQWdCO0FEb0hwQjs7QUNsSEE7QUFDQTs7RUFFSSxpQkFBaUI7RUFDakI7QURxSEo7O0FDbkhBO0FBQ0E7O0VBRUksa0JBQWtCO0VBQ2xCO0FEc0hKOztBQ3BIQTs7OztDRDBIQztBQ3JIRDtFQUNJLGlCQUFpQjtFQUNqQjtFQUNBLGNBQWM7QUR1SGxCOztBQ3JIQTtFQUNJLGVBQWU7RUFDZjtBRHdISjs7QUN0SEE7RUFDSSxXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVjtFQUNBO0VBQ0EsU0FBUztFQUNULFdBQVc7RUFDWCxZQUFZO0VBQ1osVUFBVTtFQUNWO0VBQ0EsZ0JBQWdCO0VBQ2hCLFlBQVk7QUR5SGhCOztBQ3ZIQTtFQUNJO0VBQ0EsbUJBQW1CO0VBQ25CLGdCQUFnQjtBRDBIcEI7O0FDeEhBO0VBQ0ksaUJBQWlCO0FEMkhyQjs7QUN6SEE7QUFDQTtBQUNBOztFQUVJLGlCQUFpQjtFQUNqQjtBRDRISjs7QUMxSEE7QUFDQTs7RUFFSSxrQkFBa0I7RUFDbEI7QUQ2SEo7O0FDM0hBO21HRDhIbUc7QUM1SG5HO0FBQ0E7RUFDSSxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixxQkFBcUI7QUQ4SHpCOztBQzVIQTtFQUNJLDBCQUEwQjtBRCtIOUI7O0FDN0hBO0VBQ0k7RUFDQSxhQUFhO0FEZ0lqQjs7QUM5SEE7QUFDQTtFQUNJLFVBQVU7RUFDVjtBRGlJSjs7QUMvSEE7RUFDSSxVQUFVO0VBQ1YsWUFBWTtBRGtJaEI7O0FDaElBO0VBQ0ksYUFBYTtBRG1JakI7O0FDaklBO21HRG9JbUc7QUNsSW5HO0VBQ0ksa0JBQWtCO0VBQ2xCLG1CQUFtQjtBRG9JdkI7O0FDbElBO21HRHFJbUc7QUNuSW5HO0VBQ0kseUJBQXlCO0VBQ3pCLHdCQUF3QjtFQUN4QixzQkFBc0I7RUFDdEIscUJBQXFCO0VBQ3JCLGlCQUFpQjtFQUNqQiwyQkFBMkI7RUFDM0Isd0NBQXdDO0FEcUk1Qzs7QUNuSUE7O0NEdUlDO0FDcElEO21HRHNJbUc7QUNwSW5HOzs7Ozs7Ozs7O0VBVUksa0JBQWtCO0FEc0l0Qjs7QUNwSUE7RUFDSSxzQkFBc0I7QUR1STFCOztBQ3JJQTs7O0VBR0ksZ0JBQWdCO0FEd0lwQjs7QUN0SUE7RUFDSSxXQUFXO0FEeUlmOztBQ3ZJQTtFQUNJLG1CQUFtQjtBRDBJdkI7O0FDeElBO0VBQ0ksbUJBQW1CO0VBQ25CLFdBQVc7QUQySWY7O0FDeklBO21HRDRJbUc7QUMxSW5HO0VBQ0kscUJBQXFCO0VBQ3JCLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsOENBQThDO0VBQzlDO0VBQ0EsMkJBQTJCO0VBQzNCLHlCQUF5QjtFQUN6Qix3QkFBd0I7RUFDeEIsc0JBQXNCO0VBQ3RCLHFCQUFxQjtFQUNyQixpQkFBaUI7QUQ0SXJCOztBQzFJQTs7Ozs7O0NEa0pDO0FDM0lEO0VBQ0ksa0JBQWtCO0FENkl0Qjs7QUMzSUE7RUFDSSxnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLGVBQWU7RUFDZixRQUFRO0FEOElaOztBQzVJQTtFQUNJLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsZUFBZTtFQUNmLFFBQVE7QUQrSVo7O0FDN0lBO0VBQ0ksY0FBYztFQUNkLGVBQWU7RUFDZixRQUFRO0FEZ0paOztBQzlJQTtFQUNJLGNBQWM7RUFDZCxlQUFlO0VBQ2YsUUFBUTtBRGlKWjs7QUMvSUE7RUFDSSxnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLE9BQU87QURrSlg7O0FDaEpBO0VBQ0ksZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixPQUFPO0FEbUpYOztBQ2pKQTtFQUNJLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsT0FBTztBRG9KWDs7QUNsSkE7RUFDSSxjQUFjO0VBQ2QsZUFBZTtFQUNmLE9BQU87QURxSlg7O0FDbkpBO21HRHNKbUc7QUNwSm5HO0VBQ0ksaUJBQWlCO0VBQ2pCLG1CQUFtQjtBRHNKdkI7O0FDcEpBO0VBQ0ksZUFBZTtFQUNmLGVBQWU7QUR1Sm5COztBQ3JKQTttR0R3Sm1HO0FDdEpuRztFQUNJLHlCQUF5QjtBRHdKN0I7O0FDdEpBO21HRHlKbUc7QUN2Sm5HO0VBQ0ksc0JBQXNCO0FEeUoxQjs7QUN2SkE7bUdEMEptRztBQ3hKbkc7RUFDSSxhQUFhO0VBQ2I7QUQwSko7O0FDeEpBO21HRDJKbUc7QUN6Sm5HO0VBQ0k7RUFDQSxXQUFXO0VBQ1g7RUFDQSxxQkFBcUI7RUFDckI7RUFDQTtFQUNBLG1CQUFtQjtBRDJKdkI7O0FDekpBO21HRDRKbUc7QUMxSm5HO0VBQ0ksbUJBQW1CO0VBQ25CO0FENEpKOztBQzFKQTttR0Q2Sm1HO0FDM0puRztFQUNJLGdCQUFnQjtFQUNoQjtBRDZKSjs7QUMzSkE7RUFDSSxxQkFBcUI7QUQ4SnpCOztBQzVKQTtFQUNJLDBCQUEwQjtBRCtKOUI7O0FDN0pBO0VBQ0kscUJBQXFCO0FEZ0t6Qjs7QUM5SkE7RUFDSSxnQkFBZ0I7QURpS3BCOztBQy9KQTttR0RrS21HO0FDaEtuRztFQUNJLFVBQVU7QURrS2Q7O0FDaEtBO21HRG1LbUc7QUNqS25HO0VBQ0k7RUFDQSxnQkFBZ0I7QURtS3BCOztBQ2pLQTtFQUNJLHFCQUFxQjtBRG9LekI7O0FDbEtBO0VBQ0ksMEJBQTBCO0FEcUs5Qjs7QUNuS0E7RUFDSSxxQkFBcUI7QURzS3pCOztBQ3BLQTtFQUNJLGdCQUFnQjtBRHVLcEI7O0FDcktBO0VBQ0ksV0FBVztBRHdLZjs7QUN0S0E7RUFDSSxrQkFBa0I7QUR5S3RCOztBQ3ZLQTttR0QwS21HO0FDeEtuRztFQUNJLFVBQVU7QUQwS2Q7O0FDeEtBO21HRDJLbUc7QUN6S25HO0VBQ0k7RUFDQSxnQkFBZ0I7QUQyS3BCOztBQ3pLQTttR0Q0S21HO0FDMUtuRztFQUNJLGtCQUFrQjtBRDRLdEI7O0FDMUtBO0VBQ0ksa0JBQWtCO0FENkt0Qjs7QUMzS0E7RUFDSSxlQUFlO0FEOEtuQjs7QUM1S0E7RUFDSSxXQUFXO0FEK0tmOztBQzdLQTtFQUNJLFlBQVk7QURnTGhCOztBQzlLQTtFQUNJLHFCQUFxQjtBRGlMekI7O0FDL0tBO0FBQ0E7RUFDSTtFQUNBLFdBQVc7RUFDWCxrQkFBa0I7QURrTHRCOztBQ2hMQTtBQUNBO0VBQ0k7RUFDQSxjQUFjO0FEbUxsQjs7QUNqTEE7QUFDQTtFQUNJLFNBQVM7QURvTGI7O0FDbExBO0FBQ0E7RUFDSSxrQkFBa0I7QURxTHRCOztBQ25MQTs7RUFFSSxVQUFVO0FEc0xkOztBQ3BMQTtFQUNJLFVBQVU7QUR1TGQ7O0FDckxBOztFQUVJLFVBQVU7QUR3TGQ7O0FDdExBO0VBQ0ksVUFBVTtBRHlMZDs7QUN2TEE7bUdEMExtRztBQ3hMbkc7QUFDQTtBQUNBOzs7RUFHSSwrQkFBK0I7RUFDL0IsNEJBQTRCO0VBQzVCLHVCQUF1QjtBRDBMM0I7O0FDeExBOztFQUVJO0VBQ0Esa0JBQWtCO0VBQ2xCLFVBQVU7QUQyTGQ7O0FDekxBO21HRDRMbUc7QUMxTG5HO0FBQ0E7O0VBRUk7RUFDQSxtQkFBbUI7RUFDbkI7QUQ0TEo7O0FDMUxBO0VBQ0ksZUFBZTtFQUNmO0FENkxKOztBQzNMQTtBQUNBO0VBQ0ksZ0JBQWdCO0FEOExwQjs7QUM1TEE7RUFDSSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLE9BQU87RUFDUCxRQUFRO0FEK0xaOztBQzdMQTtBQUNBO0VBQ0ksWUFBWTtBRGdNaEI7O0FDOUxBOztFQUVJLFlBQVk7QURpTWhCOztBQy9MQTs7RUFFSSxjQUFjO0VBQ2Q7QURrTUo7O0FDaE1BO0VBQ0ksWUFBWTtBRG1NaEI7O0FDak1BO0VBQ0ksV0FBVztBRG9NZjs7QUNsTUE7RUFDSSxXQUFXO0VBQ1gsd0JBQXdCO0FEcU01Qjs7QUNuTUE7RUFDSSxZQUFZO0VBQ1osd0JBQXdCO0FEc001Qjs7QUNwTUE7RUFDSSxnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLHlCQUF5QjtFQUN6QixjQUFjO0FEdU1sQjs7QUNyTUE7QUFDQTtFQUNJLGtCQUFrQjtBRHdNdEI7O0FDdE1BO0VBQ0k7RUFDQSxxQkFBcUI7RUFDckIsaUJBQWlCO0FEeU1yQjs7QUN2TUE7bUdEME1tRztBQ3hNbkc7RUFDSSxrQkFBa0I7RUFDbEIsVUFBVTtFQUNWO0FEME1KOztBQ3hNQTtFQUNJLGVBQWU7RUFDZjtBRDJNSjs7QUN6TUE7RUFDSSxtQkFBbUI7RUFDbkI7QUQ0TUo7O0FDMU1BO21HRDZNbUc7QUMzTW5HO0VBQ0k7RUFDQSxzQkFBc0I7RUFDdEIsY0FBYztFQUNkLG1CQUFtQjtBRDZNdkI7O0FDM01BO0VBQ0ksaUJBQWlCO0FEOE1yQjs7QUM1TUE7RUFDSSxnQkFBZ0I7QUQrTXBCOztBQzdNQTttR0RnTm1HO0FDOU1uRzs7RUFFSTtFQUNBLGtCQUFrQjtFQUNsQixVQUFVO0FEZ05kOztBQzlNQTtFQUNJLGdCQUFnQjtFQUNoQjtBRGlOSjs7QUMvTUE7RUFDSTtFQUNBLDRCQUE0QjtBRGtOaEM7O0FDaE5BO0VBQ0ksVUFBVTtBRG1OZDs7QUNqTkE7O0VBRUk7RUFDQSxrQkFBa0I7RUFDbEIsVUFBVTtBRG9OZDs7QUNsTkE7RUFDSSxrQkFBa0I7RUFDbEI7QURxTko7O0FDbk5BO0VBQ0ksa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixNQUFNO0VBQ04sT0FBTztFQUNQLFFBQVE7QURzTlo7O0FDcE5BO0FBQ0E7RUFDSSxrQkFBa0I7RUFDbEIsVUFBVTtBRHVOZDs7QUNyTkE7RUFDSSxrQkFBa0I7RUFDbEIsVUFBVTtBRHdOZDs7QUN0TkE7RUFDSSxrQkFBa0I7RUFDbEIsVUFBVTtBRHlOZDs7QUN2TkE7RUFDSSxrQkFBa0I7RUFDbEIsVUFBVTtBRDBOZDs7QUN4TkE7RUFDSSxVQUFVO0FEMk5kOztBQ3pOQTtFQUNJO0VBQ0Esa0JBQWtCO0VBQ2xCLFVBQVU7QUQ0TmQ7O0FDMU5BO21HRDZObUc7QUMzTm5HO0VBQ0ksYUFBYTtFQUNiLGdCQUFnQjtFQUNoQjtBRDZOSjs7QUMzTkE7RUFDSSx3QkFBd0I7QUQ4TjVCOztBQzVOQTttR0QrTm1HO0FDN05uRztFQUNJO0VBQ0Esa0JBQWtCO0VBQ2xCO0FEK05KOztBQzdOQTtFQUNJLGtCQUFrQjtFQUNsQixPQUFPO0VBQ1AsUUFBUTtFQUNSO0FEZ09KOztBQzlOQTttR0RpT21HO0FDL05uRztFQUNJO0VBQ0Esb0JBQW9CO0FEaU94Qjs7QUMvTkE7RUFDSTtFQUNBLG9CQUFvQjtBRGtPeEI7O0FDaE9BOztFQUVJLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1Y7QURtT0o7O0FDak9BO0VBQ0k7RUFDQSxPQUFPO0VBQ1AsUUFBUTtBRG9PWjs7QUNsT0E7bUdEcU9tRztBQ25Pbkc7RUFDSTtFQUNBO0VBQ0EsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQjtFQUNBLHlCQUF5QjtFQUN6QiwwQkFBMEI7QURxTzlCOztBQ25PQTtFQUNJO0VBQ0Esc0JBQXNCO0VBQ3RCLG1CQUFtQjtFQUNuQjtFQUNBLDRCQUE0QjtFQUM1Qiw2QkFBNkI7QURzT2pDOztBQ3BPQTs7OztDRDBPQztBQ3JPRDtFQUNJLGdCQUFnQjtFQUNoQjtBRHVPSjs7QUNyT0E7RUFDSTtFQUNBO0VBQ0EsaUJBQWlCO0FEd09yQjs7QUN0T0E7RUFDSSxhQUFhO0VBQ2I7QUR5T0o7O0FDdk9BO0VBQ0ksZ0JBQWdCO0VBQ2hCO0FEME9KOztBQ3hPQTs7RUFFSSxjQUFjO0FEMk9sQjs7QUN6T0E7RUFDSSxnQkFBZ0I7RUFDaEIsbUJBQW1CO0FENE92Qjs7QUMxT0E7QUFDQTtFQUNJO0VBQ0EsbUJBQW1CO0FENk92Qjs7QUMzT0E7O0VBRUk7RUFDQSxxQkFBcUI7RUFDckIsbUJBQW1CO0FEOE92Qjs7QUM1T0E7RUFDSSxhQUFhO0VBQ2I7QUQrT0o7O0FDN09BO0VBQ0kseUJBQXlCO0VBQ3pCO0FEZ1BKOztBQzlPQTtFQUNJLGtCQUFrQjtFQUNsQjtBRGlQSjs7QUMvT0E7RUFDSSxnQkFBZ0I7RUFDaEI7RUFDQSxVQUFVO0VBQ1Y7QURrUEo7O0FDaFBBO0FBQ0E7RUFDSSxPQUFPO0VBQ1AsUUFBUTtFQUNSLFNBQVM7RUFDVCxXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2Ysc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixnQkFBZ0I7QURtUHBCOztBQ2pQQTtFQUNJLFlBQVk7QURvUGhCOztBQ2xQQTtBQUNBO0VBQ0k7RUFDQSxrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLFVBQVU7RUFDVixXQUFXO0VBQ1gsbUJBQW1CO0VBQ25CLHFCQUFxQjtFQUNyQixnQkFBZ0I7RUFDaEI7RUFDQSxTQUFTO0VBQ1QsaUJBQWlCO0VBQ2pCO0VBQ0EsWUFBWTtBRHFQaEI7O0FDblBBO21HRHNQbUc7QUNwUG5HO0VBQ0kscUJBQXFCO0VBQ3JCLE9BQU87RUFDUCxRQUFRO0FEc1BaOztBQ3BQQTtBQUNBO0VBQ0ksZ0JBQWdCO0VBQ2hCO0FEdVBKOztBQ3JQQTtFQUNJLE9BQU87RUFDUDtFQUNBLDJCQUEyQjtFQUMzQiw2QkFBNkI7RUFDN0IsZ0NBQWdDO0FEd1BwQzs7QUN0UEE7RUFDSSxRQUFRO0VBQ1I7RUFDQSwyQkFBMkI7RUFDM0IsNkJBQTZCO0VBQzdCLGdDQUFnQztBRHlQcEM7O0FDdlBBO21HRDBQbUc7QUN4UG5HO0FBQ0E7RUFDSSxxQkFBcUI7RUFDckIsV0FBVztFQUNYLFlBQVk7RUFDWixrQkFBa0I7QUQwUHRCOztBQ3hQQTtBQUNBO0VBQ0ksY0FBYztFQUNkO0FEMlBKOztBQ3pQQTtFQUNJLGlCQUFpQjtFQUNqQixtQkFBbUI7QUQ0UHZCOztBQzFQQTtBQUNBO0VBQ0ksa0JBQWtCO0VBQ2xCO0FENlBKOztBQzNQQTtFQUNJLHFCQUFxQjtFQUNyQixpQkFBaUI7QUQ4UHJCOztBQzVQQTtFQUNJLG1CQUFtQjtBRCtQdkI7O0FDN1BBO0FBQ0E7RUFDSSx3QkFBd0I7QURnUTVCOztBQzlQQTtFQUNJLGlCQUFpQjtBRGlRckI7O0FDL1BBO0VBQ0ksV0FBVztBRGtRZjs7QUNoUUE7RUFDSSxZQUFZO0FEbVFoQjs7QUNqUUE7RUFDSSxZQUFZO0FEb1FoQjs7QUNsUUE7RUFDSSxXQUFXO0FEcVFmOztBQ25RQTtBQUNBO0VBQ0ksZUFBZTtFQUNmO0FEc1FKOztBQ3BRQTs7RUFFSSxtQkFBbUI7RUFDbkIsVUFBVTtBRHVRZDs7QUNyUUE7QUFDQTtFQUNJLGdCQUFnQjtBRHdRcEI7O0FDdFFBO0VBQ0ksZUFBZTtBRHlRbkI7O0FDdlFBO0VBQ0k7RUFDQSxxQkFBcUI7RUFDckIsY0FBYztBRDBRbEI7O0FDeFFBO0VBQ0k7RUFDQSwwQkFBMEI7QUQyUTlCOztBQ3pRQTtBQUNBO0VBQ0ksa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixPQUFPO0VBQ1AsUUFBUTtFQUNSLFNBQVM7QUQ0UWI7O0FDMVFBO0VBQ0ksV0FBVztFQUNYLFlBQVk7RUFDWixjQUFjO0FENlFsQjs7QUMzUUE7RUFDSSxtQkFBbUI7RUFDbkIsc0JBQXNCO0VBQ3RCLGtCQUFrQjtBRDhRdEI7O0FDNVFBO0VBQ0k7RUFDQSxzQkFBc0I7QUQrUTFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvdXRpbGl0aWVzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9jYWxlbmRhci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX2Z1bGxjYWxlbmRhci5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ09OVEVOVFNcbiAqXG4gKiBWQVJJQUJMRVNcbiAqIENvbG9ycy4uLi4uLi4uLi4uIEFsbCB3ZWJzaXRlIGNvbG9yc1xuICogVGhlbWVzLi4uLi4uLi4uLi4gVGhlbWVzIGZvciBjbGluaWNcbiAqIFR5cG9ncmFwaHkuLi4uLi4uIEZvbnQtZmFtaWx5LCBmb250LXNpemUsIGxpbmUtaGVpZ2h0XG4gKiBCdXR0b25zLi4uLi4uLi4uLiBCdXR0b25zIGluZm9ybWF0aW9uc1xuICogRm9ybS4uLi4uLi4uLi4uLi4gSW5wdXQsIHNlbGVjdCBzdHlsZVxuICogTWVkaWEgUXVlcmllcyAuLi4gQnJlYWtwb2ludCBmb3IgcmVzcG9uc2l2ZVxuICogR3JpZCAuLi4uLi4uLi4uLi4gR3JpZCBjb2wgYW5kIGd1dHRlclxuICovXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNDT0xPUlNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4kYy1wcmltYXJ5LWRhcms6ICAgICM0Y2FlYzc7XG4kYy1wcmltYXJ5OiAgICAgICAgICM4YWM1ZDc7XG4kYy1zZWNvbmRhcnk6ICAgICAgICNmOWE2OWQ7XG4kYy1zZWNvbmRhcnktbGlnaHQ6IGxpZ2h0ZW4oJGMtc2Vjb25kYXJ5LCAxMCUpO1xuJGMtb2ZmZXJzOiAgICAgICAgICAjZjYzZTA1O1xuJGMtdmlwOiAgICAgICAgICAgICAjYmQ5NDMxO1xuXG4vKiBLaWRzICovXG4kYy1raWRzOiAgICAgICAgICAgICNkM2U3ZjY7XG4kYy1raWRzLXNlY29uZGFyeTogICNmMWY2Zjk7XG4kYy1raWRzLXRlcnRpYXJ5OiAgICNmNjdmYmM7XG4kYy1raWRzLWFsdDogICAgICAgICNiY2VkZjc7XG5cbiRjLWNhbGVuZGFyOiAoXG4gICAgI2Y2OTZiOCxcbiAgICAjZjdjM2IwLFxuICAgICM2OWRlYWIsXG4gICAgI2M4ZDA0YixcbiAgICAjMTc1Mzg4LFxuKTtcblxuXG4vKiBHcmF5IGFuZCBvdGhlcnMgKi9cbiRjLWxpZ2h0ZXJncmF5OiAgICAgI2YzZjNmMztcbiRjLWxpZ2h0Z3JheTogICAgICAgI2U4ZThlODtcbiRjLW1lZGdyYXk6ICAgICAgICAgIzk5OTtcbiRjLWRhcmtncmF5OiAgICAgICAgIzM4MzgzODtcbiRjLWRhcmtlcmdyYXk6ICAgICAgIzFhMWExYTtcblxuLyogVGV4dCBjb2xvciAqL1xuJGMtdHh0OiAgICAgICAgICAgICAjMWUxZTFlO1xuXG5cbi8qIExpbmtzIGNvbG9ycyAqL1xuJGMtbGluazogICAgICAgICAgICAkYy1wcmltYXJ5O1xuJGMtaG92ZXI6ICAgICAgICAgICAkYy1wcmltYXJ5O1xuJGMtdmlzaXRlZDogICAgICAgICBkYXJrZW4oJGMtbGluaywgMTAlKTtcblxuXG4vKiBOb3RpZmljYXRpb25zIGNvbG9ycyAqL1xuJG1lc3NhZ2UtdHlwZXM6IChcbiAgICBlcnJvcjogICAgICAjZGQ3MDcwLFxuICAgIHdhcm46ICAgICAgICNmMGFkNGUsXG4gICAgc3VjY2VzczogICAgIzMxODAyNixcbiAgICBpbmZvOiAgICAgICAjNWJjMGRlLFxuICAgIGhlbHA6ICAgICAgICRjLW1lZGdyYXksXG4pO1xuXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNUWVBPR1JBUEhZXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuJGZ6LWJhc2U6IDEuNGVtO1xuJGZmLXNhbnMtc2VyaWY6IFwiU291cmNlIFNhbnMgUHJvXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4kZmYtc2VyaWY6IFBsYXlmYWlyLCBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbiRmZi1oZWFkaW5nOiBcIlNvdXJjZSBTYW5zIFByb1wiLCBJbXBhY3QsIHNhbnMtc2VyaWY7XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAjQlVUVE9OU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiRidG4tcmFkaXVzOiAgICAgIDA7XG4kYnRuLXBhZGRpbmc6ICAgICAxLjVyZW0gM3JlbTtcbiRidG4tYm9yZGVyOiAgICAgIDA7XG4kYnRuLW1pbndpZHRoOiAgICAxOC41cmVtO1xuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAjRk9STVNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4kaW5wdXQtYmc6ICAgICAgICAgICNmZmY7XG4kaW5wdXQtcmFkaXVzOiAgICAgIDA7XG4kaW5wdXQtcGFkZGluZzogICAgIC4zcmVtIDEuNXJlbSAuMnJlbTtcbiRpbnB1dC1ib3JkZXI6ICAgICAgMXB4IHNvbGlkICRjLW1lZGdyYXk7XG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI01FRElBLVFVRVJJRVNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxuJHNjcmVlbi14czogICAgICAgICAgICAgICAgICAzMGVtICFkZWZhdWx0O1xuJHNjcmVlbi14cy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXhzICFkZWZhdWx0O1xuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbiRzY3JlZW4tc206ICAgICAgICAgICAgICAgICAgNDhlbSAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1zbSAhZGVmYXVsdDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3BcbiRzY3JlZW4tbWQ6ICAgICAgICAgICAgICAgICAgNjJlbSAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1tZCAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4kc2NyZWVuLWxnOiAgICAgICAgICAgICAgICAgIDc1ZW0gIWRlZmF1bHQ7XG4kc2NyZWVuLWxnLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbGcgIWRlZmF1bHQ7XG5cbi8vIFNvIG1lZGlhIHF1ZXJpZXMgZG9uJ3Qgb3ZlcmxhcCB3aGVuIHJlcXVpcmVkLCBwcm92aWRlIGEgbWF4aW11bVxuJHNjcmVlbi14cy1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1zbS1taW4gLSAxKSAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbWQtbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLW1kLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLWxnLW1pbiAtIDEpICFkZWZhdWx0O1xuXG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI01FRElBIFFVRVJJRVNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vLyBUbyBlbmFibGUgc3VwcG9ydCBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBAbWVkaWEgcXVlcmllcyxcbi8vIChJRSA8PSA4LCBGaXJlZm94IDw9IDMsIE9wZXJhIDw9IDkpIHNldCAkbXEtcmVzcG9uc2l2ZSB0byBmYWxzZVxuLy8gQ3JlYXRlIGEgc2VwYXJhdGUgc3R5bGVzaGVldCBzZXJ2ZWQgZXhjbHVzaXZlbHkgdG8gdGhlc2UgYnJvd3NlcnMsXG4vLyBtZWFuaW5nIEBtZWRpYSBxdWVyaWVzIHdpbGwgYmUgcmFzdGVyaXplZCwgcmVseWluZyBvbiB0aGUgY2FzY2FkZSBpdHNlbGZcbiRtcS1yZXNwb25zaXZlOiB0cnVlO1xuXG4kbXEtYmFzZS1mb250LXNpemU6ICRmei1iYXNlO1xuXG4vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxuLy8gYWNyb3NzIHRlYW0gbWVtYmVycy4gSXQgd2lsbCBpbXByb3ZlIGNvbW11bmljYXRpb24gYmV0d2VlblxuLy8gc3Rha2Vob2xkZXJzLCBkZXNpZ25lcnMsIGRldmVsb3BlcnMsIGFuZCB0ZXN0ZXJzLlxuJG1xLWJyZWFrcG9pbnRzOiAoXG4gICAgbW9iaWxlOiAgICAgJHNjcmVlbi14cyxcbiAgICB0YWJsZXQ6ICAgICAkc2NyZWVuLXNtLFxuICAgIGRlc2t0b3A6ICAgICRzY3JlZW4tbWQsXG4gICAgd2lkZTogICAgICAgJHNjcmVlbi1sZyxcbiAgICB4d2lkZTogICAgICA4Ny41ZW0sXG5cbiAgICAvLyBUd2Vha3BvaW50c1xuICAgIHBoYWJsZXQ6IDM3LjVlbSxcbiAgICBtb2JpbGVMYW5kc2NhcGU6IDMwZW1cbik7XG5cbi8vIERlZmluZSB0aGUgYnJlYWtwb2ludCBmcm9tIHRoZSAkbXEtYnJlYWtwb2ludHMgbGlzdCB0aGF0IHNob3VsZFxuLy8gYmUgdXNlZCBhcyB0aGUgdGFyZ2V0IHdpZHRoIHdoZW4gb3V0cHV0dGluZyBhIHN0YXRpYyBzdHlsZXNoZWV0XG4vLyAoaS5lLiB3aGVuICRtcS1yZXNwb25zaXZlIGlzIHNldCB0byAnZmFsc2UnKS5cbiRtcS1zdGF0aWMtYnJlYWtwb2ludDogZGVza3RvcDtcblxuLy8gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgY3VycmVudGx5IGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3Bcbi8vIHJpZ2h0IGNvcm5lciBvZiB5b3VyIHNpdGUgZHVyaW5nIGRldmVsb3BtZW50LCBhZGQgdGhlIGJyZWFrcG9pbnRzXG4vLyB0byB0aGlzIGxpc3QsIG9yZGVyZWQgYnkgd2lkdGgsIGUuZy4gKG1vYmlsZSwgdGFibGV0LCBkZXNrdG9wKS5cbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKTtcblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI0dSSURcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vKiogTnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgKDEwIC8gKCRmei1iYXNlICogMTApKSAqIDFlbSAhZGVmYXVsdDtcblxuXG4vLz09IENvbnRhaW5lciBzaXplc1xuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4kY29udGFpbmVyLXRhYmxldDogICAgICAgICAgICAgKDQ1ZW0gKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuJGNvbnRhaW5lci1zbTogICAgICAgICAgICAgICAgICRjb250YWluZXItdGFibGV0ICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuJGNvbnRhaW5lci1kZXNrdG9wOiAgICAgICAgICAgICg1OC43NWVtICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjb250YWluZXItbWQ6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wOiAgICAgICg3MS4yNWVtICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjb250YWluZXItbGc6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWxhcmdlLWRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vIENvbnRhaW5lciBtYXgtd2lkdGhcbiRjb250YWluZXItbXc6ICAgICAgICAgICAgICAgICAxMTByZW07XG4kY29udGFpbmVyLXNtLW13OiAgICAgICAgICAgICAgMTAwcmVtO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNGb250IEF3ZXNvbWVcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4kZmEtZm9udC1wYXRoOiAgICAgICAgXCJ+QGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby93ZWJmb250c1wiO1xuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG5AaW1wb3J0IFwidXRpbGl0aWVzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZnVsbGNhbGVuZGFyXCI7IiwiLyohXG4gKiBGdWxsQ2FsZW5kYXIgdjMuOS4wXG4gKiBEb2NzICYgTGljZW5zZTogaHR0cHM6Ly9mdWxsY2FsZW5kYXIuaW8vXG4gKiAoYykgMjAxOCBBZGFtIFNoYXdcbiAqL1xuLmZjIHtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5mYy1ydGwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbmJvZHkgLmZjIHtcbiAgICAvKiBleHRyYSBwcmVjZWRlbmNlIHRvIG92ZXJjb21lIGpxdWkgKi9cbiAgICBmb250LXNpemU6IDFlbTsgfVxuXG4vKiBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1oaWdobGlnaHQge1xuICAgIC8qIHdoZW4gdXNlciBpcyBzZWxlY3RpbmcgY2VsbHMgKi9cbiAgICBiYWNrZ3JvdW5kOiAjYmNlOGYxO1xuICAgIG9wYWNpdHk6IC4zOyB9XG5cbi5mYy1iZ2V2ZW50IHtcbiAgICAvKiBkZWZhdWx0IGxvb2sgZm9yIGJhY2tncm91bmQgZXZlbnRzICovXG4gICAgYmFja2dyb3VuZDogIzhmZGY4MjtcbiAgICBvcGFjaXR5OiAuMzsgfVxuXG4uZmMtbm9uYnVzaW5lc3Mge1xuICAgIC8qIGRlZmF1bHQgbG9vayBmb3Igbm9uLWJ1c2luZXNzLWhvdXJzIGFyZWFzICovXG4gICAgLyogd2lsbCBpbmhlcml0IC5mYy1iZ2V2ZW50J3Mgc3R5bGVzICovXG4gICAgYmFja2dyb3VuZDogI2Q3ZDdkNzsgfVxuXG4vKiBCdXR0b25zIChzdHlsZWQgPGJ1dHRvbj4gdGFncywgbm9ybWFsaXplZCB0byB3b3JrIGNyb3NzLWJyb3dzZXIpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMgYnV0dG9uIHtcbiAgICAvKiBmb3JjZSBoZWlnaHQgdG8gaW5jbHVkZSB0aGUgYm9yZGVyIGFuZCBwYWRkaW5nICovXG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8qIGRpbWVuc2lvbnMgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgaGVpZ2h0OiAyLjFlbTtcbiAgICBwYWRkaW5nOiAwIC42ZW07XG4gICAgLyogdGV4dCAmIGN1cnNvciAqL1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIC8qIG5vcm1hbGl6ZSAqL1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qIEZpcmVmb3ggaGFzIGFuIGFubm95aW5nIGlubmVyIGJvcmRlciAqL1xuLmZjIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLmZjLXN0YXRlLWRlZmF1bHQge1xuICAgIC8qIG5vbi10aGVtZSAqL1xuICAgIGJvcmRlcjogMXB4IHNvbGlkOyB9XG5cbi5mYy1zdGF0ZS1kZWZhdWx0LmZjLWNvcm5lci1sZWZ0IHtcbiAgICAvKiBub24tdGhlbWUgKi9cbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyB9XG5cbi5mYy1zdGF0ZS1kZWZhdWx0LmZjLWNvcm5lci1yaWdodCB7XG4gICAgLyogbm9uLXRoZW1lICovXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4OyB9XG5cbi8qIGljb25zIGluIGJ1dHRvbnMgKi9cbi5mYyBidXR0b24gLmZjLWljb24ge1xuICAgIC8qIG5vbi10aGVtZSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0wLjA1ZW07XG4gICAgLyogc2VlbXMgdG8gYmUgYSBnb29kIGFkanVzdG1lbnQgYWNyb3NzIGJyb3dzZXJzICovXG4gICAgbWFyZ2luOiAwIC4yZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vKlxuICBidXR0b24gc3RhdGVzXG4gIGJvcnJvd2VkIGZyb20gdHdpdHRlciBib290c3RyYXAgKGh0dHA6Ly90d2l0dGVyLmdpdGh1Yi5jb20vYm9vdHN0cmFwLylcbiovXG4uZmMtc3RhdGUtZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZmZmYsICNlNmU2ZTYpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbSgjZmZmZmZmKSwgdG8oI2U2ZTZlNikpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZmZmZiwgI2U2ZTZlNik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZmZmZiwgI2U2ZTZlNik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZmZmZiwgI2U2ZTZlNik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJvcmRlci1jb2xvcjogI2U2ZTZlNiAjZTZlNmU2ICNiZmJmYmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuXG4uZmMtc3RhdGUtaG92ZXIsXG4uZmMtc3RhdGUtZG93bixcbi5mYy1zdGF0ZS1hY3RpdmUsXG4uZmMtc3RhdGUtZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cblxuLmZjLXN0YXRlLWhvdmVyIHtcbiAgICBjb2xvcjogIzMzMzMzMztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTVweDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4xcyBsaW5lYXI7XG4gICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXBvc2l0aW9uIDAuMXMgbGluZWFyO1xuICAgIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4xcyBsaW5lYXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAwLjFzIGxpbmVhcjsgfVxuXG4uZmMtc3RhdGUtZG93bixcbi5mYy1zdGF0ZS1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2NjY2M7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjE1KSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cblxuLmZjLXN0YXRlLWRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLyogQnV0dG9ucyBHcm91cHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1idXR0b24tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKlxuZXZlcnkgYnV0dG9uIHRoYXQgaXMgbm90IGZpcnN0IGluIGEgYnV0dG9uIGdyb3VwIHNob3VsZCBzY29vdGNoIG92ZXIgb25lIHBpeGVsIGFuZCBjb3ZlciB0aGVcbnByZXZpb3VzIGJ1dHRvbidzIGJvcmRlci4uLlxuKi9cbi5mYyAuZmMtYnV0dG9uLWdyb3VwID4gKiB7XG4gICAgLyogZXh0cmEgcHJlY2VkZW5jZSBiL2MgYnV0dG9ucyBoYXZlIG1hcmdpbiBzZXQgdG8gemVybyAqL1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCAwIDAgLTFweDsgfVxuXG4uZmMgLmZjLWJ1dHRvbi1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgLyogc2FtZSAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi8qIFBvcG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1wb3BvdmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7IH1cblxuLmZjLXBvcG92ZXIgLmZjLWhlYWRlciB7XG4gICAgLyogVE9ETzogYmUgbW9yZSBjb25zaXN0ZW50IHdpdGggZmMtaGVhZC9mYy1ib2R5ICovXG4gICAgcGFkZGluZzogMnB4IDRweDsgfVxuXG4uZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy10aXRsZSB7XG4gICAgbWFyZ2luOiAwIDJweDsgfVxuXG4uZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy1jbG9zZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5mYy1sdHIgLmZjLXBvcG92ZXIgLmZjLWhlYWRlciAuZmMtdGl0bGUsXG4uZmMtcnRsIC5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgLmZjLWNsb3NlIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uZmMtcnRsIC5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgLmZjLXRpdGxlLFxuLmZjLWx0ciAuZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy1jbG9zZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qIE1pc2MgUmV1c2FibGUgQ29tcG9uZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWRpdmlkZXIge1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7IH1cblxuaHIuZmMtZGl2aWRlciB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMnB4O1xuICAgIC8qIGhlaWdodCBpcyB1bnJlbGlhYmxlIGFjcm9zcyBicm93c2Vycywgc28gdXNlIHBhZGRpbmcgKi9cbiAgICBib3JkZXItd2lkdGg6IDFweCAwOyB9XG5cbi5mYy1jbGVhciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLmZjLWJnLFxuLmZjLWJnZXZlbnQtc2tlbGV0b24sXG4uZmMtaGlnaGxpZ2h0LXNrZWxldG9uLFxuLmZjLWhlbHBlci1za2VsZXRvbiB7XG4gICAgLyogdGhlc2UgZWxlbWVudCBzaG91bGQgYWx3YXlzIGNsaW5nIHRvIHRvcC1sZWZ0L3JpZ2h0IGNvcm5lcnMgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7IH1cblxuLmZjLWJnIHtcbiAgICBib3R0b206IDA7XG4gICAgLyogc3RyZWNoIGJnIHRvIGJvdHRvbSBlZGdlICovIH1cblxuLmZjLWJnIHRhYmxlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLyogc3RyZWNoIGJnIHRvIGJvdHRvbSBlZGdlICovIH1cblxuLyogVGFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMgdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLyogZml4IHNjcm9sbGJhciBpc3N1ZSBpbiBmaXJlZm94ICovXG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIC8qIG5vcm1hbGl6ZSBjcm9zcy1icm93c2VyICovIH1cblxuLmZjIHRoIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZjIHRoLFxuLmZjIHRkIHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4uZmMgdGQuZmMtdG9kYXkge1xuICAgIGJvcmRlci1zdHlsZTogZG91YmxlO1xuICAgIC8qIG92ZXJjb21lIG5laWdoYm9yaW5nIGJvcmRlcnMgKi8gfVxuXG4vKiBJbnRlcm5hbCBOYXYgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmFbZGF0YS1nb3RvXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmFbZGF0YS1nb3RvXTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogRmFrZSBUYWJsZSBSb3dzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMgLmZjLXJvdyB7XG4gICAgLyogZXh0cmEgcHJlY2VkZW5jZSB0byBvdmVyY29tZSB0aGVtZXMgdy8gLnVpLXdpZGdldC1jb250ZW50IGZvcmNpbmcgYSAxcHggYm9yZGVyICovXG4gICAgLyogbm8gdmlzaWJsZSBib3JkZXIgYnkgZGVmYXVsdC4gYnV0IG1ha2UgYXZhaWxhYmxlIGlmIG5lZWQgYmUgKHNjcm9sbGJhciB3aWR0aCBjb21wZW5zYXRpb24pICovXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cblxuLmZjLXJvdyB0YWJsZSB7XG4gICAgLyogZG9uJ3QgcHV0IGxlZnQvcmlnaHQgYm9yZGVyIG9uIGFueXRoaW5nIHdpdGhpbiBhIGZha2Ugcm93LlxuICAgICAgIHRoZSBvdXRlciB0Ym9keSB3aWxsIHdvcnJ5IGFib3V0IHRoaXMgKi9cbiAgICBib3JkZXItbGVmdDogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAwIGhpZGRlbiB0cmFuc3BhcmVudDtcbiAgICAvKiBubyBib3R0b20gYm9yZGVycyBvbiByb3dzICovXG4gICAgYm9yZGVyLWJvdHRvbTogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7IH1cblxuLmZjLXJvdzpmaXJzdC1jaGlsZCB0YWJsZSB7XG4gICAgYm9yZGVyLXRvcDogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7XG4gICAgLyogbm8gdG9wIGJvcmRlciBvbiBmaXJzdCByb3cgKi8gfVxuXG4vKiBEYXkgUm93ICh1c2VkIHdpdGhpbiB0aGUgaGVhZGVyIGFuZCB0aGUgRGF5R3JpZClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1yb3cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZmMtcm93IC5mYy1iZyB7XG4gICAgei1pbmRleDogMTsgfVxuXG4vKiBoaWdobGlnaHRpbmcgY2VsbHMgJiBiYWNrZ3JvdW5kIGV2ZW50IHNrZWxldG9uICovXG4uZmMtcm93IC5mYy1iZ2V2ZW50LXNrZWxldG9uLFxuLmZjLXJvdyAuZmMtaGlnaGxpZ2h0LXNrZWxldG9uIHtcbiAgICBib3R0b206IDA7XG4gICAgLyogc3RyZXRjaCBza2VsZXRvbiB0byBib3R0b20gb2Ygcm93ICovIH1cblxuLmZjLXJvdyAuZmMtYmdldmVudC1za2VsZXRvbiB0YWJsZSxcbi5mYy1yb3cgLmZjLWhpZ2hsaWdodC1za2VsZXRvbiB0YWJsZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC8qIHN0cmV0Y2ggc2tlbGV0b24gdG8gYm90dG9tIG9mIHJvdyAqLyB9XG5cbi5mYy1yb3cgLmZjLWhpZ2hsaWdodC1za2VsZXRvbiB0ZCxcbi5mYy1yb3cgLmZjLWJnZXZlbnQtc2tlbGV0b24gdGQge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmZjLXJvdyAuZmMtYmdldmVudC1za2VsZXRvbiB7XG4gICAgei1pbmRleDogMjsgfVxuXG4uZmMtcm93IC5mYy1oaWdobGlnaHQtc2tlbGV0b24ge1xuICAgIHotaW5kZXg6IDM7IH1cblxuLypcbnJvdyBjb250ZW50ICh3aGljaCBjb250YWlucyBkYXkvd2VlayBudW1iZXJzIGFuZCBldmVudHMpIGFzIHdlbGwgYXMgXCJoZWxwZXJcIiAod2hpY2ggY29udGFpbnNcbnRlbXBvcmFyeSByZW5kZXJlZCBldmVudHMpLlxuKi9cbi5mYy1yb3cgLmZjLWNvbnRlbnQtc2tlbGV0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA0O1xuICAgIHBhZGRpbmctYm90dG9tOiAycHg7XG4gICAgLyogbWF0Y2hlcyB0aGUgc3BhY2UgYWJvdmUgdGhlIGV2ZW50cyAqLyB9XG5cbi5mYy1yb3cgLmZjLWhlbHBlci1za2VsZXRvbiB7XG4gICAgei1pbmRleDogNTsgfVxuXG4uZmMgLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB0YWJsZSxcbi5mYyAuZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHRkLFxuLmZjIC5mYy1yb3cgLmZjLWhlbHBlci1za2VsZXRvbiB0ZCB7XG4gICAgLyogc2VlLXRocm91Z2ggdG8gdGhlIGJhY2tncm91bmQgYmVsb3cgKi9cbiAgICAvKiBleHRyYSBwcmVjZWRlbmNlIHRvIHByZXZlbnQgdGhlbWUtcHJvdmlkZWQgYmFja2dyb3VuZHMgKi9cbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIC8qIGluIGNhc2UgPHRkPnMgYXJlIGdsb2JhbGx5IHN0eWxlZCAqL1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB0ZCxcbi5mYy1yb3cgLmZjLWhlbHBlci1za2VsZXRvbiB0ZCB7XG4gICAgLyogZG9uJ3QgcHV0IGEgYm9yZGVyIGJldHdlZW4gZXZlbnRzIGFuZC9vciB0aGUgZGF5IG51bWJlciAqL1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cblxuLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB0Ym9keSB0ZCxcbi5mYy1yb3cgLmZjLWhlbHBlci1za2VsZXRvbiB0Ym9keSB0ZCB7XG4gICAgLyogZG9uJ3QgcHV0IGEgYm9yZGVyIGJldHdlZW4gZXZlbnQgY2VsbHMgKi9cbiAgICBib3JkZXItdG9wOiAwOyB9XG5cbi8qIFNjcm9sbGluZyBDb250YWluZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1zY3JvbGxlciB7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi8qIFRPRE86IG1vdmUgdG8gYWdlbmRhL2Jhc2ljICovXG4uZmMtc2Nyb2xsZXIgPiAuZmMtZGF5LWdyaWQsXG4uZmMtc2Nyb2xsZXIgPiAuZmMtdGltZS1ncmlkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogcmUtc2NvcGUgYWxsIHBvc2l0aW9ucyAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIGhhY2sgdG8gZm9yY2UgcmUtc2l6aW5nIHRoaXMgaW5uZXIgZWxlbWVudCB3aGVuIHNjcm9sbGJhcnMgYXBwZWFyL2Rpc2FwcGVhciAqLyB9XG5cbi8qIEdsb2JhbCBFdmVudCBTdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1ldmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIGZvciByZXNpemUgaGFuZGxlIGFuZCBvdGhlciBpbm5lciBwb3NpdGlvbmluZyAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIG1ha2UgdGhlIDxhPiB0YWcgYmxvY2sgKi9cbiAgICBmb250LXNpemU6IC44NWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYTg3YWQ7XG4gICAgLyogZGVmYXVsdCBCT1JERVIgY29sb3IgKi8gfVxuXG4uZmMtZXZlbnQsXG4uZmMtZXZlbnQtZG90IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2E4N2FkO1xuICAgIC8qIGRlZmF1bHQgQkFDS0dST1VORCBjb2xvciAqLyB9XG5cbi5mYy1ldmVudCxcbi5mYy1ldmVudDpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgLyogZGVmYXVsdCBURVhUIGNvbG9yICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIC8qIGlmIDxhPiBoYXMgYW4gaHJlZiAqLyB9XG5cbi5mYy1ldmVudFtocmVmXSxcbi5mYy1ldmVudC5mYy1kcmFnZ2FibGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvKiBnaXZlIGV2ZW50cyB3aXRoIGxpbmtzIGFuZCBkcmFnZ2FibGUgZXZlbnRzIGEgaGFuZCBtb3VzZSBwb2ludGVyICovIH1cblxuLmZjLW5vdC1hbGxvd2VkLFxuLmZjLW5vdC1hbGxvd2VkIC5mYy1ldmVudCB7XG4gICAgLyogdG8gb3ZlcnJpZGUgYW4gZXZlbnQncyBjdXN0b20gY3Vyc29yICovXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uZmMtZXZlbnQgLmZjLWJnIHtcbiAgICAvKiB0aGUgZ2VuZXJpYyAuZmMtYmcgYWxyZWFkeSBkb2VzIHBvc2l0aW9uICovXG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIG9wYWNpdHk6IC4yNTsgfVxuXG4uZmMtZXZlbnQgLmZjLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG5cbi8qIHJlc2l6ZXIgKGN1cnNvciBBTkQgdG91Y2ggZGV2aWNlcykgKi9cbi5mYy1ldmVudCAuZmMtcmVzaXplciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDQ7IH1cblxuLyogcmVzaXplciAodG91Y2ggZGV2aWNlcykgKi9cbi5mYy1ldmVudCAuZmMtcmVzaXplciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmMtZXZlbnQuZmMtYWxsb3ctbW91c2UtcmVzaXplIC5mYy1yZXNpemVyLFxuLmZjLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1yZXNpemVyIHtcbiAgICAvKiBvbmx5IHNob3cgd2hlbiBob3ZlcmluZyBvciBzZWxlY3RlZCAod2l0aCB0b3VjaCkgKi9cbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBoaXQgYXJlYSAqL1xuLmZjLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1yZXNpemVyOmJlZm9yZSB7XG4gICAgLyogNDB4NDAgdG91Y2ggYXJlYSAqL1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgLyogdXNlciBvZiB0aGlzIHV0aWwgY2FuIHNjb3BlIHdpdGhpbiBhIGxvd2VyIHotaW5kZXggKi9cbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDsgfVxuXG4vKiBFdmVudCBTZWxlY3Rpb24gKG9ubHkgZm9yIHRvdWNoIGRldmljZXMpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtZXZlbnQuZmMtc2VsZWN0ZWQge1xuICAgIHotaW5kZXg6IDk5OTkgIWltcG9ydGFudDtcbiAgICAvKiBvdmVyY29tZXMgaW5saW5lIHotaW5kZXggKi9cbiAgICBib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi5mYy1ldmVudC5mYy1zZWxlY3RlZC5mYy1kcmFnZ2luZyB7XG4gICAgYm94LXNoYWRvdzogMCAycHggN3B4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4vKiBIb3Jpem9udGFsIEV2ZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogYmlnZ2VyIHRvdWNoIGFyZWEgd2hlbiBzZWxlY3RlZCAqL1xuLmZjLWgtZXZlbnQuZmMtc2VsZWN0ZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAzO1xuICAgIC8qIGJlbG93IHJlc2l6ZXJzICovXG4gICAgdG9wOiAtMTBweDtcbiAgICBib3R0b206IC0xMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7IH1cblxuLyogZXZlbnRzIHRoYXQgYXJlIGNvbnRpbnVpbmcgdG8vZnJvbSBhbm90aGVyIHdlZWsuIGtpbGwgcm91bmRlZCBjb3JuZXJzIGFuZCBidXR0IHVwIGFnYWluc3QgZWRnZSAqL1xuLmZjLWx0ciAuZmMtaC1ldmVudC5mYy1ub3Qtc3RhcnQsXG4uZmMtcnRsIC5mYy1oLWV2ZW50LmZjLW5vdC1lbmQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMXB4O1xuICAgIC8qIHJlcGxhY2UgdGhlIGJvcmRlciB3aXRoIHBhZGRpbmcgKi9cbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cblxuLmZjLWx0ciAuZmMtaC1ldmVudC5mYy1ub3QtZW5kLFxuLmZjLXJ0bCAuZmMtaC1ldmVudC5mYy1ub3Qtc3RhcnQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMXB4O1xuICAgIC8qIHJlcGxhY2UgdGhlIGJvcmRlciB3aXRoIHBhZGRpbmcgKi9cbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4vKiByZXNpemVyIChjdXJzb3IgQU5EIHRvdWNoIGRldmljZXMpICovXG4vKiBsZWZ0IHJlc2l6ZXIgICovXG4uZmMtbHRyIC5mYy1oLWV2ZW50IC5mYy1zdGFydC1yZXNpemVyLFxuLmZjLXJ0bCAuZmMtaC1ldmVudCAuZmMtZW5kLXJlc2l6ZXIge1xuICAgIGN1cnNvcjogdy1yZXNpemU7XG4gICAgbGVmdDogLTFweDtcbiAgICAvKiBvdmVyY29tZSBib3JkZXIgKi8gfVxuXG4vKiByaWdodCByZXNpemVyICovXG4uZmMtbHRyIC5mYy1oLWV2ZW50IC5mYy1lbmQtcmVzaXplcixcbi5mYy1ydGwgLmZjLWgtZXZlbnQgLmZjLXN0YXJ0LXJlc2l6ZXIge1xuICAgIGN1cnNvcjogZS1yZXNpemU7XG4gICAgcmlnaHQ6IC0xcHg7XG4gICAgLyogb3ZlcmNvbWUgYm9yZGVyICovIH1cblxuLyogcmVzaXplciAobW91c2UgZGV2aWNlcykgKi9cbi5mYy1oLWV2ZW50LmZjLWFsbG93LW1vdXNlLXJlc2l6ZSAuZmMtcmVzaXplciB7XG4gICAgd2lkdGg6IDdweDtcbiAgICB0b3A6IC0xcHg7XG4gICAgLyogb3ZlcmNvbWUgdG9wIGJvcmRlciAqL1xuICAgIGJvdHRvbTogLTFweDtcbiAgICAvKiBvdmVyY29tZSBib3R0b20gYm9yZGVyICovIH1cblxuLyogcmVzaXplciAodG91Y2ggZGV2aWNlcykgKi9cbi5mYy1oLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1yZXNpemVyIHtcbiAgICAvKiA4eDggbGl0dGxlIGRvdCAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICB3aWR0aDogNnB4O1xuICAgIGhlaWdodDogNnB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgLyogdmVydGljYWxseSBjZW50ZXIgKi9cbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNHB4OyB9XG5cbi8qIGxlZnQgcmVzaXplciAgKi9cbi5mYy1sdHIgLmZjLWgtZXZlbnQuZmMtc2VsZWN0ZWQgLmZjLXN0YXJ0LXJlc2l6ZXIsXG4uZmMtcnRsIC5mYy1oLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1lbmQtcmVzaXplciB7XG4gICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgLyogY2VudGVycyB0aGUgOHg4IGRvdCBvbiB0aGUgbGVmdCBlZGdlICovIH1cblxuLyogcmlnaHQgcmVzaXplciAqL1xuLmZjLWx0ciAuZmMtaC1ldmVudC5mYy1zZWxlY3RlZCAuZmMtZW5kLXJlc2l6ZXIsXG4uZmMtcnRsIC5mYy1oLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1zdGFydC1yZXNpemVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC00cHg7XG4gICAgLyogY2VudGVycyB0aGUgOHg4IGRvdCBvbiB0aGUgcmlnaHQgZWRnZSAqLyB9XG5cbi8qIERheUdyaWQgZXZlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5XZSB1c2UgdGhlIGZ1bGwgXCJmYy1kYXktZ3JpZC1ldmVudFwiIGNsYXNzIGluc3RlYWQgb2YgdXNpbmcgZGVzY2VuZGFudHMgYmVjYXVzZSB0aGUgZXZlbnQgd29uJ3RcbmJlIGEgZGVzY2VuZGFudCBvZiB0aGUgZ3JpZCB3aGVuIGl0IGlzIGJlaW5nIGRyYWdnZWQuXG4qL1xuLmZjLWRheS1ncmlkLWV2ZW50IHtcbiAgICBtYXJnaW46IDFweCAycHggMDtcbiAgICAvKiBzcGFjaW5nIGJldHdlZW4gZXZlbnRzIGFuZCBlZGdlcyAqL1xuICAgIHBhZGRpbmc6IDAgMXB4OyB9XG5cbnRyOmZpcnN0LWNoaWxkID4gdGQgPiAuZmMtZGF5LWdyaWQtZXZlbnQge1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAvKiBhIGxpdHRsZSBiaXQgbW9yZSBzcGFjZSBiZWZvcmUgdGhlIGZpcnN0IGV2ZW50ICovIH1cblxuLmZjLWRheS1ncmlkLWV2ZW50LmZjLXNlbGVjdGVkOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIC8qIHNhbWUgei1pbmRleCBhcyBmYy1iZywgYmVoaW5kIHRleHQgKi9cbiAgICAvKiBvdmVyY29tZSB0aGUgYm9yZGVycyAqL1xuICAgIHRvcDogLTFweDtcbiAgICByaWdodDogLTFweDtcbiAgICBib3R0b206IC0xcHg7XG4gICAgbGVmdDogLTFweDtcbiAgICAvKiBkYXJrZW5pbmcgZWZmZWN0ICovXG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBvcGFjaXR5OiAuMjU7IH1cblxuLmZjLWRheS1ncmlkLWV2ZW50IC5mYy1jb250ZW50IHtcbiAgICAvKiBmb3JjZSBldmVudHMgdG8gYmUgb25lLWxpbmUgdGFsbCAqL1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uZmMtZGF5LWdyaWQtZXZlbnQgLmZjLXRpbWUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIHJlc2l6ZXIgKGN1cnNvciBkZXZpY2VzKSAqL1xuLyogbGVmdCByZXNpemVyICAqL1xuLmZjLWx0ciAuZmMtZGF5LWdyaWQtZXZlbnQuZmMtYWxsb3ctbW91c2UtcmVzaXplIC5mYy1zdGFydC1yZXNpemVyLFxuLmZjLXJ0bCAuZmMtZGF5LWdyaWQtZXZlbnQuZmMtYWxsb3ctbW91c2UtcmVzaXplIC5mYy1lbmQtcmVzaXplciB7XG4gICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgLyogdG8gdGhlIGRheSBjZWxsJ3MgZWRnZSAqLyB9XG5cbi8qIHJpZ2h0IHJlc2l6ZXIgKi9cbi5mYy1sdHIgLmZjLWRheS1ncmlkLWV2ZW50LmZjLWFsbG93LW1vdXNlLXJlc2l6ZSAuZmMtZW5kLXJlc2l6ZXIsXG4uZmMtcnRsIC5mYy1kYXktZ3JpZC1ldmVudC5mYy1hbGxvdy1tb3VzZS1yZXNpemUgLmZjLXN0YXJ0LXJlc2l6ZXIge1xuICAgIG1hcmdpbi1yaWdodDogLTJweDtcbiAgICAvKiB0byB0aGUgZGF5IGNlbGwncyBlZGdlICovIH1cblxuLyogRXZlbnQgTGltaXRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFwibW9yZVwiIGxpbmsgdGhhdCByZXByZXNlbnRzIGhpZGRlbiBldmVudHMgKi9cbmEuZmMtbW9yZSB7XG4gICAgbWFyZ2luOiAxcHggM3B4O1xuICAgIGZvbnQtc2l6ZTogLjg1ZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5hLmZjLW1vcmU6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5mYy1saW1pdGVkIHtcbiAgICAvKiByb3dzIGFuZCBjZWxscyB0aGF0IGFyZSBoaWRkZW4gYmVjYXVzZSBvZiBhIFwibW9yZVwiIGxpbmsgKi9cbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIHBvcG92ZXIgdGhhdCBhcHBlYXJzIHdoZW4gXCJtb3JlXCIgbGluayBpcyBjbGlja2VkICovXG4uZmMtZGF5LWdyaWQgLmZjLXJvdyB7XG4gICAgei1pbmRleDogMTtcbiAgICAvKiBtYWtlIHRoZSBcIm1vcmVcIiBwb3BvdmVyIG9uZSBoaWdoZXIgdGhhbiB0aGlzICovIH1cblxuLmZjLW1vcmUtcG9wb3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgICB3aWR0aDogMjIwcHg7IH1cblxuLmZjLW1vcmUtcG9wb3ZlciAuZmMtZXZlbnQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxMHB4OyB9XG5cbi8qIE5vdyBJbmRpY2F0b3Jcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1ub3ctaW5kaWNhdG9yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyOiAwIHNvbGlkIHJlZDsgfVxuXG4vKiBVdGlsaXRpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy11bnNlbGVjdGFibGUge1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qXG5UT0RPOiBtb3JlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhpcyBmaWxlIGFuZCBjb21tb24uY3NzXG4qL1xuLyogQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdW50aGVtZWQgdGgsXG4uZmMtdW50aGVtZWQgdGQsXG4uZmMtdW50aGVtZWQgdGhlYWQsXG4uZmMtdW50aGVtZWQgdGJvZHksXG4uZmMtdW50aGVtZWQgLmZjLWRpdmlkZXIsXG4uZmMtdW50aGVtZWQgLmZjLXJvdyxcbi5mYy11bnRoZW1lZCAuZmMtY29udGVudCxcbi5mYy11bnRoZW1lZCAuZmMtcG9wb3Zlcixcbi5mYy11bnRoZW1lZCAuZmMtbGlzdC12aWV3LFxuLmZjLXVudGhlbWVkIC5mYy1saXN0LWhlYWRpbmcgdGQge1xuICAgIGJvcmRlci1jb2xvcjogI2RkZDsgfVxuXG4uZmMtdW50aGVtZWQgLmZjLXBvcG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLmZjLXVudGhlbWVkIC5mYy1kaXZpZGVyLFxuLmZjLXVudGhlbWVkIC5mYy1wb3BvdmVyIC5mYy1oZWFkZXIsXG4uZmMtdW50aGVtZWQgLmZjLWxpc3QtaGVhZGluZyB0ZCB7XG4gICAgYmFja2dyb3VuZDogI2VlZTsgfVxuXG4uZmMtdW50aGVtZWQgLmZjLXBvcG92ZXIgLmZjLWhlYWRlciAuZmMtY2xvc2Uge1xuICAgIGNvbG9yOiAjNjY2OyB9XG5cbi5mYy11bnRoZW1lZCB0ZC5mYy10b2RheSB7XG4gICAgYmFja2dyb3VuZDogI2ZjZjhlMzsgfVxuXG4uZmMtdW50aGVtZWQgLmZjLWRpc2FibGVkLWRheSB7XG4gICAgYmFja2dyb3VuZDogI2Q3ZDdkNztcbiAgICBvcGFjaXR5OiAuMzsgfVxuXG4vKiBJY29ucyAoaW5saW5lIGVsZW1lbnRzIHdpdGggc3R5bGVkIHRleHQgdGhhdCBtb2NrIGFycm93IGljb25zKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQtZmFtaWx5OiBcIkNvdXJpZXIgTmV3XCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgICAvKiBkb24ndCBhbGxvdyBicm93c2VyIHRleHQtc2VsZWN0aW9uICovXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi8qXG5BY2NlcHRhYmxlIGZvbnQtZmFtaWx5IG92ZXJyaWRlcyBmb3IgaW5kaXZpZHVhbCBpY29uczpcbiAgXCJBcmlhbFwiLCBzYW5zLXNlcmlmXG4gIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmXG5cbk5PVEU6IHVzZSBwZXJjZW50YWdlIGZvbnQgc2l6ZXMgb3IgZWxzZSBvbGQgSUUgY2hva2VzXG4qL1xuLmZjLWljb246YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZmMtaWNvbi1sZWZ0LXNpbmdsZS1hcnJvdzphZnRlciB7XG4gICAgY29udGVudDogXCJcXDIwMzlcIjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDIwMCU7XG4gICAgdG9wOiAtNyU7IH1cblxuLmZjLWljb24tcmlnaHQtc2luZ2xlLWFycm93OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcMjAzQVwiO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMjAwJTtcbiAgICB0b3A6IC03JTsgfVxuXG4uZmMtaWNvbi1sZWZ0LWRvdWJsZS1hcnJvdzphZnRlciB7XG4gICAgY29udGVudDogXCJcXEFCXCI7XG4gICAgZm9udC1zaXplOiAxNjAlO1xuICAgIHRvcDogLTclOyB9XG5cbi5mYy1pY29uLXJpZ2h0LWRvdWJsZS1hcnJvdzphZnRlciB7XG4gICAgY29udGVudDogXCJcXEJCXCI7XG4gICAgZm9udC1zaXplOiAxNjAlO1xuICAgIHRvcDogLTclOyB9XG5cbi5mYy1pY29uLWxlZnQtdHJpYW5nbGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFwyNUM0XCI7XG4gICAgZm9udC1zaXplOiAxMjUlO1xuICAgIHRvcDogMyU7IH1cblxuLmZjLWljb24tcmlnaHQtdHJpYW5nbGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFwyNUJBXCI7XG4gICAgZm9udC1zaXplOiAxMjUlO1xuICAgIHRvcDogMyU7IH1cblxuLmZjLWljb24tZG93bi10cmlhbmdsZTphZnRlciB7XG4gICAgY29udGVudDogXCJcXDI1QkNcIjtcbiAgICBmb250LXNpemU6IDEyNSU7XG4gICAgdG9wOiAyJTsgfVxuXG4uZmMtaWNvbi14OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcRDdcIjtcbiAgICBmb250LXNpemU6IDIwMCU7XG4gICAgdG9wOiA2JTsgfVxuXG4vKiBQb3BvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdW50aGVtZWQgLmZjLXBvcG92ZXIge1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cblxuLmZjLXVudGhlbWVkIC5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgLmZjLWNsb3NlIHtcbiAgICBmb250LXNpemU6IC45ZW07XG4gICAgbWFyZ2luLXRvcDogMnB4OyB9XG5cbi8qIExpc3QgVmlld1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXVudGhlbWVkIC5mYy1saXN0LWl0ZW06aG92ZXIgdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7IH1cblxuLyogQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktd2lkZ2V0IC5mYy1kaXNhYmxlZC1kYXkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLyogUG9wb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXBvcG92ZXIgPiAudWktd2lkZ2V0LWhlYWRlciArIC51aS13aWRnZXQtY29udGVudCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICAvKiB3aGVyZSB0aGV5IG1lZXQsIGxldCB0aGUgaGVhZGVyIGhhdmUgdGhlIGJvcmRlciAqLyB9XG5cbi8qIEdsb2JhbCBFdmVudCBTdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS13aWRnZXQgLmZjLWV2ZW50IHtcbiAgICAvKiBvdmVycG93ZXIganF1aSdzIHN0eWxlcyBvbiA8YT4gdGFncy4gVE9ETzogbW9yZSBEUlkgKi9cbiAgICBjb2xvcjogI2ZmZjtcbiAgICAvKiBkZWZhdWx0IFRFWFQgY29sb3IgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgLyogaWYgPGE+IGhhcyBhbiBocmVmICovXG4gICAgLyogdW5kbyB1aS13aWRnZXQtaGVhZGVyIGJvbGQgKi9cbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi8qIFRpbWVHcmlkIGF4aXMgcnVubmluZyBkb3duIHRoZSBzaWRlIChmb3IgYm90aCB0aGUgYWxsLWRheSBhcmVhIGFuZCB0aGUgc2xvdCBhcmVhKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXdpZGdldCB0ZC5mYy1heGlzIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIC8qIG92ZXJjb21lIGJvbGQgKi8gfVxuXG4vKiBUaW1lR3JpZCBTbGF0cyAobGluZXMgdGhhdCBydW4gaG9yaXpvbnRhbGx5KVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXRpbWUtZ3JpZCAuZmMtc2xhdHMgLnVpLXdpZGdldC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIC8qIHNlZSB0aHJvdWdoIHRvIGZjLWJnICovIH1cblxuLmZjLmZjLWJvb3RzdHJhcDMgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5mYy5mYy1ib290c3RyYXAzIGFbZGF0YS1nb3RvXTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmZjLWJvb3RzdHJhcDMgaHIuZmMtZGl2aWRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyB9XG5cbi5mYy1ib290c3RyYXAzIC5mYy10b2RheS5hbGVydCB7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4vKiBQb3BvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtYm9vdHN0cmFwMyAuZmMtcG9wb3ZlciAucGFuZWwtYm9keSB7XG4gICAgcGFkZGluZzogMDsgfVxuXG4vKiBUaW1lR3JpZCBTbGF0cyAobGluZXMgdGhhdCBydW4gaG9yaXpvbnRhbGx5KVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWJvb3RzdHJhcDMgLmZjLXRpbWUtZ3JpZCAuZmMtc2xhdHMgdGFibGUge1xuICAgIC8qIHNvbWUgdGhlbWVzIGhhdmUgYmFja2dyb3VuZCBjb2xvci4gc2VlIHRocm91Z2ggdG8gc2xhdHMgKi9cbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi5mYy5mYy1ib290c3RyYXA0IGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uZmMuZmMtYm9vdHN0cmFwNCBhW2RhdGEtZ290b106aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5mYy1ib290c3RyYXA0IGhyLmZjLWRpdmlkZXIge1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuXG4uZmMtYm9vdHN0cmFwNCAuZmMtdG9kYXkuYWxlcnQge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmZjLWJvb3RzdHJhcDQgYS5mYy1ldmVudDpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSkge1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5mYy1ib290c3RyYXA0IC5mYy1wb3BvdmVyLmNhcmQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4vKiBQb3BvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtYm9vdHN0cmFwNCAuZmMtcG9wb3ZlciAuY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi8qIFRpbWVHcmlkIFNsYXRzIChsaW5lcyB0aGF0IHJ1biBob3Jpem9udGFsbHkpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtYm9vdHN0cmFwNCAuZmMtdGltZS1ncmlkIC5mYy1zbGF0cyB0YWJsZSB7XG4gICAgLyogc29tZSB0aGVtZXMgaGF2ZSBiYWNrZ3JvdW5kIGNvbG9yLiBzZWUgdGhyb3VnaCB0byBzbGF0cyAqL1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLyogVG9vbGJhclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXRvb2xiYXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmMtdG9vbGJhci5mYy1oZWFkZXItdG9vbGJhciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG5cbi5mYy10b29sYmFyLmZjLWZvb3Rlci10b29sYmFyIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07IH1cblxuLmZjLXRvb2xiYXIgLmZjLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5mYy10b29sYmFyIC5mYy1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5mYy10b29sYmFyIC5mYy1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiB0aGUgdGhpbmdzIHdpdGhpbiBlYWNoIGxlZnQvcmlnaHQvY2VudGVyIHNlY3Rpb24gKi9cbi5mYyAuZmMtdG9vbGJhciA+ICogPiAqIHtcbiAgICAvKiBleHRyYSBwcmVjZWRlbmNlIHRvIG92ZXJyaWRlIGJ1dHRvbiBib3JkZXIgbWFyZ2lucyAqL1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAuNzVlbTsgfVxuXG4vKiB0aGUgZmlyc3QgdGhpbmcgd2l0aGluIGVhY2ggbGVmdC9jZW50ZXIvcmlnaHQgc2VjdGlvbiAqL1xuLmZjIC5mYy10b29sYmFyID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgLyogZXh0cmEgcHJlY2VkZW5jZSB0byBvdmVycmlkZSBidXR0b24gYm9yZGVyIG1hcmdpbnMgKi9cbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4vKiB0aXRsZSB0ZXh0ICovXG4uZmMtdG9vbGJhciBoMiB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi8qIGJ1dHRvbiBsYXllcmluZyAoZm9yIGJvcmRlciBwcmVjZWRlbmNlKSAqL1xuLmZjLXRvb2xiYXIgYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZjLXRvb2xiYXIgLmZjLXN0YXRlLWhvdmVyLFxuLmZjLXRvb2xiYXIgLnVpLXN0YXRlLWhvdmVyIHtcbiAgICB6LWluZGV4OiAyOyB9XG5cbi5mYy10b29sYmFyIC5mYy1zdGF0ZS1kb3duIHtcbiAgICB6LWluZGV4OiAzOyB9XG5cbi5mYy10b29sYmFyIC5mYy1zdGF0ZS1hY3RpdmUsXG4uZmMtdG9vbGJhciAudWktc3RhdGUtYWN0aXZlIHtcbiAgICB6LWluZGV4OiA0OyB9XG5cbi5mYy10b29sYmFyIGJ1dHRvbjpmb2N1cyB7XG4gICAgei1pbmRleDogNTsgfVxuXG4vKiBWaWV3IFN0cnVjdHVyZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogdW5kbyB0d2l0dGVyIGJvb3RzdHJhcCdzIGJveC1zaXppbmcgcnVsZXMuIG5vcm1hbGl6ZXMgcG9zaXRpb25pbmcgdGVjaG5pcXVlcyAqL1xuLyogZG9uJ3QgZG8gdGhpcyBmb3IgdGhlIHRvb2xiYXIgYmVjYXVzZSB3ZSdsbCB3YW50IGJvb3RzdHJhcCB0byBzdHlsZSB0aG9zZSBidXR0b25zIGFzIHNvbWUgcHQgKi9cbi5mYy12aWV3LWNvbnRhaW5lciAqLFxuLmZjLXZpZXctY29udGFpbmVyICo6YmVmb3JlLFxuLmZjLXZpZXctY29udGFpbmVyICo6YWZ0ZXIge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG4uZmMtdmlldyxcbi5mYy12aWV3ID4gdGFibGUge1xuICAgIC8qIHNvIGRyYWdnZWQgZWxlbWVudHMgY2FuIGJlIGFib3ZlIHRoZSB2aWV3J3MgbWFpbiBlbGVtZW50ICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH1cblxuLyogQmFzaWNWaWV3XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBkYXkgcm93IHN0cnVjdHVyZSAqL1xuLmZjLWJhc2ljV2Vlay12aWV3IC5mYy1jb250ZW50LXNrZWxldG9uLFxuLmZjLWJhc2ljRGF5LXZpZXcgLmZjLWNvbnRlbnQtc2tlbGV0b24ge1xuICAgIC8qIHRoZXJlIG1heSBiZSB3ZWVrIG51bWJlcnMgaW4gdGhlc2Ugdmlld3MsIHNvIG5vIHBhZGRpbmctdG9wICovXG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICAvKiBlbnN1cmUgYSBzcGFjZSBhdCBib3R0b20gb2YgY2VsbCBmb3IgdXNlciBzZWxlY3RpbmcvY2xpY2tpbmcgKi8gfVxuXG4uZmMtYmFzaWMtdmlldyAuZmMtYm9keSAuZmMtcm93IHtcbiAgICBtaW4taGVpZ2h0OiA0ZW07XG4gICAgLyogZW5zdXJlIHRoYXQgYWxsIHJvd3MgYXJlIGF0IGxlYXN0IHRoaXMgdGFsbCAqLyB9XG5cbi8qIGEgXCJyaWdpZFwiIHJvdyB3aWxsIHRha2UgdXAgYSBjb25zdGFudCBhbW91bnQgb2YgaGVpZ2h0IGJlY2F1c2UgY29udGVudC1za2VsZXRvbiBpcyBhYnNvbHV0ZSAqL1xuLmZjLXJvdy5mYy1yaWdpZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uZmMtcm93LmZjLXJpZ2lkIC5mYy1jb250ZW50LXNrZWxldG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7IH1cblxuLyogd2VlayBhbmQgZGF5IG51bWJlciBzdHlsaW5nICovXG4uZmMtZGF5LXRvcC5mYy1vdGhlci1tb250aCB7XG4gICAgb3BhY2l0eTogMC4zOyB9XG5cbi5mYy1iYXNpYy12aWV3IC5mYy13ZWVrLW51bWJlcixcbi5mYy1iYXNpYy12aWV3IC5mYy1kYXktbnVtYmVyIHtcbiAgICBwYWRkaW5nOiAycHg7IH1cblxuLmZjLWJhc2ljLXZpZXcgdGguZmMtd2Vlay1udW1iZXIsXG4uZmMtYmFzaWMtdmlldyB0aC5mYy1kYXktbnVtYmVyIHtcbiAgICBwYWRkaW5nOiAwIDJweDtcbiAgICAvKiBjb2x1bW4gaGVhZGVycyBjYW4ndCBoYXZlIGFzIG11Y2ggdiBzcGFjZSAqLyB9XG5cbi5mYy1sdHIgLmZjLWJhc2ljLXZpZXcgLmZjLWRheS10b3AgLmZjLWRheS1udW1iZXIge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uZmMtcnRsIC5mYy1iYXNpYy12aWV3IC5mYy1kYXktdG9wIC5mYy1kYXktbnVtYmVyIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uZmMtbHRyIC5mYy1iYXNpYy12aWV3IC5mYy1kYXktdG9wIC5mYy13ZWVrLW51bWJlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDNweCAwOyB9XG5cbi5mYy1ydGwgLmZjLWJhc2ljLXZpZXcgLmZjLWRheS10b3AgLmZjLXdlZWstbnVtYmVyIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgM3B4OyB9XG5cbi5mYy1iYXNpYy12aWV3IC5mYy1kYXktdG9wIC5mYy13ZWVrLW51bWJlciB7XG4gICAgbWluLXdpZHRoOiAxLjVlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBjb2xvcjogIzgwODA4MDsgfVxuXG4vKiB3aGVuIHdlZWsvZGF5IG51bWJlciBoYXZlIG93biBjb2x1bW4gKi9cbi5mYy1iYXNpYy12aWV3IHRkLmZjLXdlZWstbnVtYmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZjLWJhc2ljLXZpZXcgdGQuZmMtd2Vlay1udW1iZXIgPiAqIHtcbiAgICAvKiB3b3JrIGFyb3VuZCB0aGUgd2F5IHdlIGRvIGNvbHVtbiByZXNpemluZyBhbmQgZW5zdXJlIGEgbWluaW11bSB3aWR0aCAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtaW4td2lkdGg6IDEuMjVlbTsgfVxuXG4vKiBBZ2VuZGFWaWV3IGFsbC1kYXkgYXJlYVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWFnZW5kYS12aWV3IC5mYy1kYXktZ3JpZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgLyogc28gdGhlIFwibW9yZS4uXCIgcG9wb3ZlciB3aWxsIGJlIG92ZXIgdGhlIHRpbWUgZ3JpZCAqLyB9XG5cbi5mYy1hZ2VuZGEtdmlldyAuZmMtZGF5LWdyaWQgLmZjLXJvdyB7XG4gICAgbWluLWhlaWdodDogM2VtO1xuICAgIC8qIGFsbC1kYXkgc2VjdGlvbiB3aWxsIG5ldmVyIGdldCBzaG9ydGVyIHRoYW4gdGhpcyAqLyB9XG5cbi5mYy1hZ2VuZGEtdmlldyAuZmMtZGF5LWdyaWQgLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICAvKiBnaXZlIHNwYWNlIHVuZGVybmVhdGggZXZlbnRzIGZvciBjbGlja2luZy9zZWxlY3RpbmcgZGF5cyAqLyB9XG5cbi8qIFRpbWVHcmlkIGF4aXMgcnVubmluZyBkb3duIHRoZSBzaWRlIChmb3IgYm90aCB0aGUgYWxsLWRheSBhcmVhIGFuZCB0aGUgc2xvdCBhcmVhKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjIC5mYy1heGlzIHtcbiAgICAvKiAuZmMgdG8gb3ZlcmNvbWUgZGVmYXVsdCBjZWxsIHN0eWxlcyAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgcGFkZGluZzogMCA0cHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uZmMtbHRyIC5mYy1heGlzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uZmMtcnRsIC5mYy1heGlzIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi8qIFRpbWVHcmlkIFN0cnVjdHVyZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXRpbWUtZ3JpZC1jb250YWluZXIsXG4uZmMtdGltZS1ncmlkIHtcbiAgICAvKiBzbyBzbGF0cy9iZy9jb250ZW50L2V0YyBwb3NpdGlvbnMgZ2V0IHNjb3BlZCB3aXRoaW4gaGVyZSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyB9XG5cbi5mYy10aW1lLWdyaWQge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLyogc28gaWYgaGVpZ2h0IHNldHRpbmcgaXMgJ2F1dG8nLCAuZmMtYmcgc3RyZXRjaGVzIHRvIGZpbGwgaGVpZ2h0ICovIH1cblxuLmZjLXRpbWUtZ3JpZCB0YWJsZSB7XG4gICAgLyogZG9uJ3QgcHV0IG91dGVyIGJvcmRlcnMgb24gc2xhdHMvYmcvY29udGVudC9ldGMgKi9cbiAgICBib3JkZXI6IDAgaGlkZGVuIHRyYW5zcGFyZW50OyB9XG5cbi5mYy10aW1lLWdyaWQgPiAuZmMtYmcge1xuICAgIHotaW5kZXg6IDE7IH1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtc2xhdHMsXG4uZmMtdGltZS1ncmlkID4gaHIge1xuICAgIC8qIHRoZSA8aHI+IEFnZW5kYVZpZXcgaW5qZWN0cyB3aGVuIGdyaWQgaXMgc2hvcnRlciB0aGFuIHNjcm9sbGVyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7IH1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtY29udGVudC1jb2wge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiBiZWNhdXNlIG5vdy1pbmRpY2F0b3IgbGl2ZXMgZGlyZWN0bHkgaW5zaWRlICovIH1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtY29udGVudC1za2VsZXRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7IH1cblxuLyogZGl2cyB3aXRoaW4gYSBjZWxsIHdpdGhpbiB0aGUgZmMtY29udGVudC1za2VsZXRvbiAqL1xuLmZjLXRpbWUtZ3JpZCAuZmMtYnVzaW5lc3MtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfVxuXG4uZmMtdGltZS1ncmlkIC5mYy1iZ2V2ZW50LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7IH1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtaGlnaGxpZ2h0LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7IH1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNDsgfVxuXG4uZmMtdGltZS1ncmlkIC5mYy1ub3ctaW5kaWNhdG9yLWxpbmUge1xuICAgIHotaW5kZXg6IDU7IH1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtaGVscGVyLWNvbnRhaW5lciB7XG4gICAgLyogYWxzbyBpcyBmYy1ldmVudC1jb250YWluZXIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNjsgfVxuXG4vKiBUaW1lR3JpZCBTbGF0cyAobGluZXMgdGhhdCBydW4gaG9yaXpvbnRhbGx5KVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXRpbWUtZ3JpZCAuZmMtc2xhdHMgdGQge1xuICAgIGhlaWdodDogMS41ZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAvKiBlYWNoIGNlbGwgaXMgcmVzcG9uc2libGUgZm9yIGl0cyB0b3AgYm9yZGVyICovIH1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtc2xhdHMgLmZjLW1pbm9yIHRkIHtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBkb3R0ZWQ7IH1cblxuLyogVGltZUdyaWQgSGlnaGxpZ2h0aW5nIFNsb3RzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdGltZS1ncmlkIC5mYy1oaWdobGlnaHQtY29udGFpbmVyIHtcbiAgICAvKiBhIGRpdiB3aXRoaW4gYSBjZWxsIHdpdGhpbiB0aGUgZmMtaGlnaGxpZ2h0LXNrZWxldG9uICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIHNjb3BlcyB0aGUgbGVmdC9yaWdodCBvZiB0aGUgZmMtaGlnaGxpZ2h0IHRvIGJlIGluIHRoZSBjb2x1bW4gKi8gfVxuXG4uZmMtdGltZS1ncmlkIC5mYy1oaWdobGlnaHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIC8qIHRvcCBhbmQgYm90dG9tIHdpbGwgYmUgaW4gYnkgSlMgKi8gfVxuXG4vKiBUaW1lR3JpZCBFdmVudCBDb250YWlubWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWx0ciAuZmMtdGltZS1ncmlkIC5mYy1ldmVudC1jb250YWluZXIge1xuICAgIC8qIHNwYWNlIG9uIHRoZSBzaWRlcyBvZiBldmVudHMgZm9yIExUUiAoZGVmYXVsdCkgKi9cbiAgICBtYXJnaW46IDAgMi41JSAwIDJweDsgfVxuXG4uZmMtcnRsIC5mYy10aW1lLWdyaWQgLmZjLWV2ZW50LWNvbnRhaW5lciB7XG4gICAgLyogc3BhY2Ugb24gdGhlIHNpZGVzIG9mIGV2ZW50cyBmb3IgUlRMICovXG4gICAgbWFyZ2luOiAwIDJweCAwIDIuNSU7IH1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQsXG4uZmMtdGltZS1ncmlkIC5mYy1iZ2V2ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICAvKiBzY29wZSBpbm5lciB6LWluZGV4J3MgKi8gfVxuXG4uZmMtdGltZS1ncmlkIC5mYy1iZ2V2ZW50IHtcbiAgICAvKiBiYWNrZ3JvdW5kIGV2ZW50cyBhbHdheXMgc3BhbiBmdWxsIHdpZHRoICovXG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDsgfVxuXG4vKiBHZW5lcmljIFZlcnRpY2FsIEV2ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdi1ldmVudC5mYy1ub3Qtc3RhcnQge1xuICAgIC8qIGV2ZW50cyB0aGF0IGFyZSBjb250aW51aW5nIGZyb20gYW5vdGhlciBkYXkgKi9cbiAgICAvKiByZXBsYWNlIHNwYWNlIG1hZGUgYnkgdGhlIHRvcCBib3JkZXIgd2l0aCBwYWRkaW5nICovXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBwYWRkaW5nLXRvcDogMXB4O1xuICAgIC8qIHJlbW92ZSB0b3Agcm91bmRlZCBjb3JuZXJzICovXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4uZmMtdi1ldmVudC5mYy1ub3QtZW5kIHtcbiAgICAvKiByZXBsYWNlIHNwYWNlIG1hZGUgYnkgdGhlIHRvcCBib3JkZXIgd2l0aCBwYWRkaW5nICovXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xuICAgIC8qIHJlbW92ZSBib3R0b20gcm91bmRlZCBjb3JuZXJzICovXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4vKiBUaW1lR3JpZCBFdmVudCBTdHlsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5XZSB1c2UgdGhlIGZ1bGwgXCJmYy10aW1lLWdyaWQtZXZlbnRcIiBjbGFzcyBpbnN0ZWFkIG9mIHVzaW5nIGRlc2NlbmRhbnRzIGJlY2F1c2UgdGhlIGV2ZW50IHdvbid0XG5iZSBhIGRlc2NlbmRhbnQgb2YgdGhlIGdyaWQgd2hlbiBpdCBpcyBiZWluZyBkcmFnZ2VkLlxuKi9cbi5mYy10aW1lLWdyaWQtZXZlbnQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogZG9uJ3QgbGV0IHRoZSBiZyBmbG93IG92ZXIgcm91bmRlZCBjb3JuZXJzICovIH1cblxuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zZWxlY3RlZCB7XG4gICAgLyogbmVlZCB0byBhbGxvdyB0b3VjaCByZXNpemVycyB0byBleHRlbmQgb3V0c2lkZSBldmVudCdzIGJvdW5kaW5nIGJveCAqL1xuICAgIC8qIGNvbW1vbiBmYy1zZWxlY3RlZCBzdHlsZXMgaGlkZSB0aGUgZmMtYmcsIHNvIGRvbid0IG5lZWQgdGhpcyBhbnl3YXkgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uZmMtdGltZS1ncmlkLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1iZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiBoaWRlIHNlbWktd2hpdGUgYmFja2dyb3VuZCwgdG8gYXBwZWFyIGRhcmtlciAqLyB9XG5cbi5mYy10aW1lLWdyaWQtZXZlbnQgLmZjLWNvbnRlbnQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogZm9yIHdoZW4gLmZjLXNlbGVjdGVkICovIH1cblxuLmZjLXRpbWUtZ3JpZC1ldmVudCAuZmMtdGltZSxcbi5mYy10aW1lLWdyaWQtZXZlbnQgLmZjLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAwIDFweDsgfVxuXG4uZmMtdGltZS1ncmlkLWV2ZW50IC5mYy10aW1lIHtcbiAgICBmb250LXNpemU6IC44NWVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyogc2hvcnQgbW9kZSwgd2hlcmUgdGltZSBhbmQgdGl0bGUgYXJlIG9uIHRoZSBzYW1lIGxpbmUgKi9cbi5mYy10aW1lLWdyaWQtZXZlbnQuZmMtc2hvcnQgLmZjLWNvbnRlbnQge1xuICAgIC8qIGRvbid0IHdyYXAgdG8gc2Vjb25kIGxpbmUgKG5vdyB0aGF0IGNvbnRlbnRzIHdpbGwgYmUgaW5saW5lKSAqL1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zaG9ydCAuZmMtdGltZSxcbi5mYy10aW1lLWdyaWQtZXZlbnQuZmMtc2hvcnQgLmZjLXRpdGxlIHtcbiAgICAvKiBwdXQgdGhlIHRpbWUgYW5kIHRpdGxlIG9uIHRoZSBzYW1lIGxpbmUgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4uZmMtdGltZS1ncmlkLWV2ZW50LmZjLXNob3J0IC5mYy10aW1lIHNwYW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogZG9uJ3QgZGlzcGxheSB0aGUgZnVsbCB0aW1lIHRleHQuLi4gKi8gfVxuXG4uZmMtdGltZS1ncmlkLWV2ZW50LmZjLXNob3J0IC5mYy10aW1lOmJlZm9yZSB7XG4gICAgY29udGVudDogYXR0cihkYXRhLXN0YXJ0KTtcbiAgICAvKiAuLi5pbnN0ZWFkLCBkaXNwbGF5IG9ubHkgdGhlIHN0YXJ0IHRpbWUgKi8gfVxuXG4uZmMtdGltZS1ncmlkLWV2ZW50LmZjLXNob3J0IC5mYy10aW1lOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcQTAtXFxBMFwiO1xuICAgIC8qIHNlcGVyYXRlIHdpdGggYSBkYXNoLCB3cmFwcGVkIGluIG5ic3AncyAqLyB9XG5cbi5mYy10aW1lLWdyaWQtZXZlbnQuZmMtc2hvcnQgLmZjLXRpdGxlIHtcbiAgICBmb250LXNpemU6IC44NWVtO1xuICAgIC8qIG1ha2UgdGhlIHRpdGxlIHRleHQgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgdGltZSAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLyogdW5kbyBwYWRkaW5nIGZyb20gYWJvdmUgKi8gfVxuXG4vKiByZXNpemVyIChjdXJzb3IgZGV2aWNlKSAqL1xuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1hbGxvdy1tb3VzZS1yZXNpemUgLmZjLXJlc2l6ZXIge1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogOHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbGluZS1oZWlnaHQ6IDhweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBzLXJlc2l6ZTsgfVxuXG4uZmMtdGltZS1ncmlkLWV2ZW50LmZjLWFsbG93LW1vdXNlLXJlc2l6ZSAuZmMtcmVzaXplcjphZnRlciB7XG4gICAgY29udGVudDogXCI9XCI7IH1cblxuLyogcmVzaXplciAodG91Y2ggZGV2aWNlKSAqL1xuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zZWxlY3RlZCAuZmMtcmVzaXplciB7XG4gICAgLyogMTB4MTAgZG90ICovXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAvKiBob3Jpem9udGFsbHkgY2VudGVyICovXG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgIC8qIGNlbnRlciBvbiB0aGUgYm90dG9tIGVkZ2UgKi9cbiAgICBib3R0b206IC01cHg7IH1cblxuLyogTm93IEluZGljYXRvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXRpbWUtZ3JpZCAuZmMtbm93LWluZGljYXRvci1saW5lIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDsgfVxuXG4vKiBhcnJvdyBvbiBheGlzICovXG4uZmMtdGltZS1ncmlkIC5mYy1ub3ctaW5kaWNhdG9yLWFycm93IHtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIC8qIHZlcnRpY2FsbHkgY2VudGVyIG9uIHRvcCBjb29yZGluYXRlICovIH1cblxuLmZjLWx0ciAuZmMtdGltZS1ncmlkIC5mYy1ub3ctaW5kaWNhdG9yLWFycm93IHtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIHRyaWFuZ2xlIHBvaW50aW5nIHJpZ2h0Li4uICovXG4gICAgYm9yZGVyLXdpZHRoOiA1cHggMCA1cHggNnB4O1xuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5mYy1ydGwgLmZjLXRpbWUtZ3JpZCAuZmMtbm93LWluZGljYXRvci1hcnJvdyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgLyogdHJpYW5nbGUgcG9pbnRpbmcgbGVmdC4uLiAqL1xuICAgIGJvcmRlci13aWR0aDogNXB4IDZweCA1cHggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKiBMaXN0IFZpZXdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIHBvc3NpYmx5IHJldXNhYmxlICovXG4uZmMtZXZlbnQtZG90IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4vKiB2aWV3IHdyYXBwZXIgKi9cbi5mYy1ydGwgLmZjLWxpc3QtdmlldyB7XG4gICAgZGlyZWN0aW9uOiBydGw7XG4gICAgLyogdW5saWtlIGNvcmUgdmlld3MsIGxldmVyYWdlIGJyb3dzZXIgUlRMICovIH1cblxuLmZjLWxpc3QtdmlldyB7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuXG4vKiB0YWJsZSByZXNldHMgKi9cbi5mYyAuZmMtbGlzdC10YWJsZSB7XG4gICAgdGFibGUtbGF5b3V0OiBhdXRvO1xuICAgIC8qIGZvciBzaHJpbmt3cmFwcGluZyBjZWxsIGNvbnRlbnQgKi8gfVxuXG4uZmMtbGlzdC10YWJsZSB0ZCB7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgIHBhZGRpbmc6IDhweCAxNHB4OyB9XG5cbi5mYy1saXN0LXRhYmxlIHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XG5cbi8qIGRheSBoZWFkaW5ncyB3aXRoIHRoZSBsaXN0ICovXG4uZmMtbGlzdC1oZWFkaW5nIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7IH1cblxuLmZjLWxpc3QtaGVhZGluZyB0ZCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmZjLWx0ciAuZmMtbGlzdC1oZWFkaW5nLW1haW4ge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5mYy1sdHIgLmZjLWxpc3QtaGVhZGluZy1hbHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uZmMtcnRsIC5mYy1saXN0LWhlYWRpbmctbWFpbiB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5mYy1ydGwgLmZjLWxpc3QtaGVhZGluZy1hbHQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi8qIGV2ZW50IGxpc3QgaXRlbXMgKi9cbi5mYy1saXN0LWl0ZW0uZmMtaGFzLXVybCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC8qIHdob2xlIHJvdyB3aWxsIGJlIGNsaWNrYWJsZSAqLyB9XG5cbi5mYy1saXN0LWl0ZW0tbWFya2VyLFxuLmZjLWxpc3QtaXRlbS10aW1lIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdpZHRoOiAxcHg7IH1cblxuLyogbWFrZSB0aGUgZG90IGNsb3NlciB0byB0aGUgZXZlbnQgdGl0bGUgKi9cbi5mYy1sdHIgLmZjLWxpc3QtaXRlbS1tYXJrZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLmZjLXJ0bCAuZmMtbGlzdC1pdGVtLW1hcmtlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5mYy1saXN0LWl0ZW0tdGl0bGUgYSB7XG4gICAgLyogZXZlcnkgZXZlbnQgdGl0bGUgY2VsbCBoYXMgYW4gPGE+IHRhZyAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4uZmMtbGlzdC1pdGVtLXRpdGxlIGFbaHJlZl06aG92ZXIge1xuICAgIC8qIGhvdmVyIGVmZmVjdCBvbmx5IG9uIHRpdGxlcyB3aXRoIGhyZWZzICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogbWVzc2FnZSB3aGVuIG5vIGV2ZW50cyAqL1xuLmZjLWxpc3QtZW1wdHktd3JhcDIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7IH1cblxuLmZjLWxpc3QtZW1wdHktd3JhcDEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4uZmMtbGlzdC1lbXB0eSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmMtdW50aGVtZWQgLmZjLWxpc3QtZW1wdHkge1xuICAgIC8qIHRoZW1lIHdpbGwgcHJvdmlkZSBvd24gYmFja2dyb3VuZCAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/