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

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

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

/* 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 */
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 2px 4px;
}

.fc-rtl .fc-popover .fc-header {
  flex-direction: row-reverse;
}

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

.fc-popover .fc-header .fc-close {
  cursor: pointer;
  opacity: 0.65;
  font-size: 1.1em;
}

/* 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-bg,
.fc-bgevent-skeleton,
.fc-highlight-skeleton,
.fc-mirror-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 td,
.fc th {
  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 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-bgevent-skeleton td,
.fc-row .fc-highlight-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 "mirror" (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-mirror-skeleton {
  z-index: 5;
}

.fc .fc-row .fc-content-skeleton table,
.fc .fc-row .fc-content-skeleton td,
.fc .fc-row .fc-mirror-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-mirror-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-mirror-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 timegrid/daygrid */
.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: 0.85em;
  line-height: 1.4;
  border-radius: 3px;
  border: 1px solid #3788d8;
}

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

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

.fc-event.fc-draggable,
.fc-event[href] {
  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-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: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: 0.25;
}

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

.fc-event.fc-dragging:not(.fc-selected) {
  opacity: 0.75;
}

/* 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-mirror-skeleton tr:first-child > td > .fc-day-grid-event {
  margin-top: 0;
  /* except for mirror skeleton */
}

.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: 0.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;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

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

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

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

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

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

/* Icons
--------------------------------------------------------------------------------------------------
from https://feathericons.com/ and built with IcoMoon
*/
@font-face {
  font-family: "fcicons";
  src: url("data:application/x-font-ttf;charset=utf-8;base64,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") format("truetype");
  font-weight: normal;
  font-style: normal;
}
.fc-icon {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "fcicons" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.fc-icon-chevron-left:before {
  content: "\e900";
}

.fc-icon-chevron-right:before {
  content: "\e901";
}

.fc-icon-chevrons-left:before {
  content: "\e902";
}

.fc-icon-chevrons-right:before {
  content: "\e903";
}

.fc-icon-minus-square:before {
  content: "\e904";
}

.fc-icon-plus-square:before {
  content: "\e905";
}

.fc-icon-x:before {
  content: "\e906";
}

.fc-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  text-align: center;
}

/* Buttons
--------------------------------------------------------------------------------------------------
Lots taken from Flatly (MIT): https://bootswatch.com/4/flatly/bootstrap.css
*/
/* reset */
.fc-button {
  border-radius: 0;
  overflow: visible;
  text-transform: none;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

.fc-button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

.fc-button {
  -webkit-appearance: button;
}

.fc-button:not(:disabled) {
  cursor: pointer;
}

.fc-button::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

/* theme */
.fc-button {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.4em 0.65em;
  font-size: 1em;
  line-height: 1.5;
  border-radius: 0.25em;
}

.fc-button:hover {
  color: #212529;
  text-decoration: none;
}

.fc-button:focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25);
}

.fc-button:disabled {
  opacity: 0.65;
}

/* "primary" coloring */
.fc-button-primary {
  color: #fff;
  background-color: #2C3E50;
  border-color: #2C3E50;
}

.fc-button-primary:hover {
  color: #fff;
  background-color: #1e2b37;
  border-color: #1a252f;
}

.fc-button-primary:focus {
  box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
}

.fc-button-primary:disabled {
  color: #fff;
  background-color: #2C3E50;
  border-color: #2C3E50;
}

.fc-button-primary:not(:disabled).fc-button-active,
.fc-button-primary:not(:disabled):active {
  color: #fff;
  background-color: #1a252f;
  border-color: #151e27;
}

.fc-button-primary:not(:disabled).fc-button-active:focus,
.fc-button-primary:not(:disabled):active:focus {
  box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
}

/* icons within buttons */
.fc-button .fc-icon {
  vertical-align: middle;
  font-size: 1.5em;
}

/* Buttons Groups
--------------------------------------------------------------------------------------------------*/
.fc-button-group {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}

.fc-button-group > .fc-button {
  position: relative;
  flex: 1 1 auto;
}

.fc-button-group > .fc-button:hover {
  z-index: 1;
}

.fc-button-group > .fc-button.fc-button-active,
.fc-button-group > .fc-button:active,
.fc-button-group > .fc-button:focus {
  z-index: 1;
}

.fc-button-group > .fc-button:not(:first-child) {
  margin-left: -1px;
}

.fc-button-group > .fc-button:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.fc-button-group > .fc-button:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

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

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

/* Toolbar
--------------------------------------------------------------------------------------------------*/
.fc-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

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

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

/* inner content */
.fc-toolbar > * > :not(:first-child) {
  margin-left: 0.75em;
}

.fc-toolbar h2 {
  font-size: 1.75em;
  margin: 0;
}

/* View Structure
--------------------------------------------------------------------------------------------------*/
.fc-view-container {
  position: relative;
}

/* 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 *:after,
.fc-view-container *:before {
  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;
}

@media print {
  .fc {
    max-width: 100% !important;
  }
  /* Global Event Restyling
   --------------------------------------------------------------------------------------------------*/
  .fc-event {
    background: #fff !important;
    color: #000 !important;
    page-break-inside: avoid;
  }
  .fc-event .fc-resizer {
    display: none;
  }
  /* Table & Day-Row Restyling
   --------------------------------------------------------------------------------------------------*/
  .fc hr,
  .fc tbody,
  .fc td,
  .fc th,
  .fc thead,
  .fc-row {
    border-color: #ccc !important;
    background: #fff !important;
  }
  /* kill the overlaid, absolutely-positioned components */
  /* common... */
  .fc-bg,
  .fc-bgevent-container,
  .fc-bgevent-skeleton,
  .fc-business-container,
  .fc-highlight-container,
  .fc-highlight-skeleton,
  .fc-mirror-container,
  .fc-mirror-skeleton {
    display: none;
  }
  /* don't force a min-height on rows (for DayGrid) */
  .fc tbody .fc-row {
    height: auto !important;
    /* undo height that JS set in distributeHeight */
    min-height: 0 !important;
    /* undo the min-height from each view's specific stylesheet */
  }
  .fc tbody .fc-row .fc-content-skeleton {
    position: static;
    /* undo .fc-rigid */
    padding-bottom: 0 !important;
    /* use a more border-friendly method for this... */
  }
  .fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td {
    /* only works in newer browsers */
    padding-bottom: 1em;
    /* ...gives space within the skeleton. also ensures min height in a way */
  }
  .fc tbody .fc-row .fc-content-skeleton table {
    /* provides a min-height for the row, but only effective for IE, which exaggerates this value,
         making it look more like 3em. for other browers, it will already be this tall */
    height: 1em;
  }
  /* Undo month-view event limiting. Display all events and hide the "more" links
   --------------------------------------------------------------------------------------------------*/
  .fc-more,
  .fc-more-cell {
    display: none !important;
  }
  .fc tr.fc-limited {
    display: table-row !important;
  }
  .fc td.fc-limited {
    display: table-cell !important;
  }
  .fc-popover {
    display: none;
    /* never display the "more.." popover in print mode */
  }
  /* TimeGrid Restyling
   --------------------------------------------------------------------------------------------------*/
  /* undo the min-height 100% trick used to fill the container's height */
  .fc-time-grid {
    min-height: 0 !important;
  }
  /* don't display the side axis at all ("all-day" and time cells) */
  .fc-timeGrid-view .fc-axis {
    display: none;
  }
  /* don't display the horizontal lines */
  .fc-slats,
  .fc-time-grid hr {
    /* this hr is used when height is underused and needs to be filled */
    display: none !important;
    /* important overrides inline declaration */
  }
  /* let the container that holds the events be naturally positioned and create real height */
  .fc-time-grid .fc-content-skeleton {
    position: static;
  }
  /* in case there are no events, we still want some height */
  .fc-time-grid .fc-content-skeleton table {
    height: 4em;
  }
  /* kill the horizontal spacing made by the event container. event margins will be done below */
  .fc-time-grid .fc-event-container {
    margin: 0 !important;
  }
  /* TimeGrid *Event* Restyling
   --------------------------------------------------------------------------------------------------*/
  /* naturally position events, vertically stacking them */
  .fc-time-grid .fc-event {
    position: static !important;
    margin: 3px 2px !important;
  }
  /* for events that continue to a future day, give the bottom border back */
  .fc-time-grid .fc-event.fc-not-end {
    border-bottom-width: 1px !important;
  }
  /* indicate the event continues via "..." text */
  .fc-time-grid .fc-event.fc-not-end:after {
    content: "...";
  }
  /* for events that are continuations from previous days, give the top border back */
  .fc-time-grid .fc-event.fc-not-start {
    border-top-width: 1px !important;
  }
  /* indicate the event is a continuation via "..." text */
  .fc-time-grid .fc-event.fc-not-start:before {
    content: "...";
  }
  /* time */
  /* undo a previous declaration and let the time text span to a second line */
  .fc-time-grid .fc-event .fc-time {
    white-space: normal !important;
  }
  /* hide the the time that is normally displayed... */
  .fc-time-grid .fc-event .fc-time span {
    display: none;
  }
  /* ...replace it with a more verbose version (includes AM/PM) stored in an html attribute */
  .fc-time-grid .fc-event .fc-time:after {
    content: attr(data-full);
  }
  /* Vertical Scroller & Containers
   --------------------------------------------------------------------------------------------------*/
  /* kill the scrollbars and allow natural height */
  .fc-day-grid-container,
  .fc-scroller,
  .fc-time-grid-container {
    /* */
    overflow: visible !important;
    height: auto !important;
  }
  /* kill the horizontal border/padding used to compensate for scrollbars */
  .fc-row {
    border: 0 !important;
    margin: 0 !important;
  }
  /* Button Controls
   --------------------------------------------------------------------------------------------------*/
  .fc button,
  .fc-button-group {
    display: none;
    /* don't display any button-related controls */
  }
}
/* DayGridView
--------------------------------------------------------------------------------------------------*/
/* day row structure */
.fc-dayGridDay-view .fc-content-skeleton,
.fc-dayGridWeek-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-dayGrid-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-dayGrid-view .fc-day-number,
.fc-dayGrid-view .fc-week-number {
  padding: 2px;
}

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

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

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

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

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

.fc-dayGrid-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-dayGrid-view td.fc-week-number {
  text-align: center;
}

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

/* 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;
}

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

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

.fc-timeGrid-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,
.fc-time-grid-container {
  /* 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> TimeGridView 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-mirror-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-bgevent,
.fc-time-grid .fc-event {
  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;
}

/* 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 {
  margin-bottom: 1px;
}

.fc-time-grid-event-inset {
  box-shadow: 0 0 0 1px #fff;
}

.fc-time-grid-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-time-grid-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;
}

.fc-time-grid-event .fc-content {
  overflow: hidden;
  max-height: 100%;
}

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

.fc-time-grid-event .fc-time {
  font-size: 0.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: " - ";
  /* seperate with a dash, wrapped in nbsp's */
}

.fc-time-grid-event.fc-short .fc-title {
  font-size: 0.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;
}

/*Colours*/
/*Element Sizes*/
/*Screen Sizes*/
/*Flex layoust shortcuts*/
body #events-module {
  position: relative;
  margin: 40px 0;
}
body #fw-calendar {
  min-height: 800px;
}
body #fw-calendar .fc-toolbar-chunk:first-child > div {
  display: flex;
  align-items: center;
  color: #fecb00;
}
@media (max-width: 767px) {
  body #fw-calendar .fc-toolbar-chunk:first-child > div {
    justify-content: space-between;
  }
}
body #fw-calendar .fc-toolbar-chunk:first-child > div h2 {
  margin-right: 20px;
  font-size: 24px;
  line-height: 32px;
}
@media (max-width: 767px) {
  body #fw-calendar .fc-toolbar-chunk:first-child > div h2 {
    width: calc(100% - 100px);
    font-size: 18px;
    line-height: 26px;
  }
}
body #fw-calendar .fc-toolbar-chunk:first-child > div button {
  color: #fecb00;
  outline: none;
  border: none;
  box-shadow: none;
  transition: color 0.3s ease-in-out;
}
@media (min-width: 768px) {
  body #fw-calendar .fc-toolbar-chunk:first-child > div button {
    background-color: transparent !important;
  }
  body #fw-calendar .fc-toolbar-chunk:first-child > div button:hover {
    color: #6aade4;
  }
}
@media (max-width: 767px) {
  body #fw-calendar .fc-toolbar-chunk:first-child > div button {
    background-color: #23423a;
    padding: 5px;
    margin-left: 5px;
  }
  body #fw-calendar .fc-toolbar-chunk:first-child > div button span {
    float: left;
  }
}
@media (min-width: 768px) {
  body #fw-calendar .fc-toolbar-chunk:nth-child(3) {
    display: none;
  }
}
body #fw-calendar .fc-scrollgrid .fc-col-header {
  background-color: #6aade4;
  color: white;
}
body #fw-calendar .fc-daygrid-body tr:nth-child(2n) {
  background-color: #f4f4f4;
}
body #fw-calendar .fc-listWeek-view {
  overflow: auto;
}
body #fw-calendar .fc-time {
  display: none;
}
body #fw-calendar .fc-list-item td {
  transition: background-color 0.3s ease-in-out;
}
body #fw-calendar .fc-button-primary {
  background-color: #626262;
  border: none;
}
body #fw-calendar .fc-button-primary:hover, body #fw-calendar .fc-button-primary:not(:disabled):active {
  background-color: #7c7c7c;
}
body #fw-calendar .fc-button-primary:not(:disabled).fc-button-active {
  background-color: #fecb00;
  color: #23423a;
}
body #fw-calendar .fc-button-group > .fc-button:not(:first-child) {
  margin-left: 0;
}
body #fw-calendar .fc-header-toolbar {
  border-bottom: 1px solid #e8e8e8;
  padding-bottom: 20px;
  margin-bottom: 24px;
}
body #fw-calendar .fc-scroller {
  height: auto !important;
}
@media (max-width: 767px) {
  body #fw-calendar .fc-toolbar {
    display: block;
  }
  body #fw-calendar .fc-toolbar > div {
    margin-bottom: 15px;
  }
}
body #fw-calendar .fc-daygrid-day {
  font-size: 14px;
  line-height: 20px;
}
body #fw-calendar .fc-unthemed .fc-list-empty {
  padding: 20px 10px;
  background-color: white;
}
body #fw-calendar #fw-calendar.waiting .fc-list-empty {
  display: none !important;
}
body #fw-calendar .fc-daygrid-event-dot,
body #fw-calendar .fc-list-event-graphic {
  display: none;
}
body #fw-calendar .fc-list-table td {
  border-width: 0;
}
body #fw-calendar .fc-list-event:hover td {
  background-color: inherit;
}
body #fw-calendar .fc-event {
  white-space: initial;
  border: none;
  padding: 3px 5px;
  margin: 5px;
  background-color: #6aade4;
  transition: background-color 0.3s ease-in-out;
}
body #fw-calendar .fc-event:hover {
  background-color: #95c5ec;
}
body #fw-calendar[data-source-type=ics] .fc-event:hover {
  background-color: #6aade4;
}

@keyframes rotate-centre {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
#events-view-swtich {
  position: absolute;
  right: 0;
  top: 8px;
  color: #6aade4;
}
@media (max-width: 767px) {
  #events-view-swtich {
    display: none;
  }
}
#events-view-swtich a {
  font-size: 18px;
  line-height: 24px;
  opacity: 0.6;
  transition: opacity 0.3s ease-in-out;
  will-change: opacity;
  position: relative;
}
#events-view-swtich a:hover, #events-view-swtich a.is-active {
  opacity: 1;
}
#events-view-swtich a.is-active {
  font-weight: 700;
}
#events-view-swtich a:first-child {
  margin-right: 30px;
}
#events-view-swtich a:first-child:after {
  position: absolute;
  width: 1px;
  content: "";
  right: -15px;
  background-color: #6aade4;
  height: 16px;
  top: 3px;
}

.event-items {
  display: flex;
  width: calc(100% + 40px);
  position: relative;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .event-items {
    width: 100%;
  }
}
.event-items > div {
  width: calc((100% - 80px) / 2);
  margin-right: 40px;
  margin-bottom: 40px;
  position: relative;
}
@media (max-width: 1023px) {
  .event-items > div {
    width: calc((100% - 80px) / 2);
  }
}
@media (max-width: 767px) {
  .event-items > div {
    width: 100%;
    margin-right: 0;
  }
}

.event-item {
  padding-bottom: 40px;
  border-bottom: 1px solid #e8e8e8;
}
.event-item h3 {
  font-size: 20px;
  line-height: 28px;
  margin-bottom: 5px;
  color: #23423a;
}
.event-item .post-date {
  padding: 5px 15px;
  display: inline-block;
  border-radius: 0 20px 20px 0;
  margin-top: 10px;
  background-color: #fecb00;
  color: #23423a;
  margin-bottom: 15px;
  font-weight: 700;
}
.event-item .event-location {
  margin-top: 15px;
  display: flex;
  align-items: flex-start;
  color: #23423a;
}
.event-item .event-location i {
  font-size: 18px;
  width: 20px;
  margin-right: 10px;
  line-height: 24px;
  text-align: center;
}
.event-item .event-location > span {
  width: calc(100% - 30px);
}

.event-items-header {
  height: 59.52px;
  border-bottom: 1px solid #e8e8e8;
  padding-bottom: 20px;
  margin-bottom: 24px;
}
@media (max-width: 767px) {
  .event-items-header {
    display: none;
  }
}

#fw-calendar-loading {
  text-align: center;
  padding: 20px;
  font-weight: 600;
  font-size: 30px;
  animation-name: rotate-centre;
  animation-duration: 0.8s;
  animation-iteration-count: 20;
  animation-timing-function: linear;
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9zY3NzL2Z1bGxjYWxlbmRhci9fY29yZS5zY3NzIiwid2VicGFjazovLy4vc3JjL3Njc3MvY2FsZW5kYXIuc2NzcyIsIndlYnBhY2s6Ly8uL3NyYy9zY3NzL2Z1bGxjYWxlbmRhci9fZGF5Z3JpZC5zY3NzIiwid2VicGFjazovLy4vc3JjL3Njc3MvZnVsbGNhbGVuZGFyL19saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vLi9zcmMvc2Nzcy9mdWxsY2FsZW5kYXIvX3RpbWVncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLi9zcmMvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLi9zcmMvc2Nzcy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLi9zcmMvc2Nzcy9fYnJlYWtwb2ludHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNDLGNBQUE7RUFDQSxnQkFBQTtBQ0REOztBRElBO0VBQ0MsaUJBQUE7QUNERDs7QURJQTtFQUNDLHNDQUFBO0VBQ0EsY0FBQTtBQ0REOztBREdBO21HQUFBO0FBRUE7RUFDQyxpQ0FBQTtFQUNBLG1CQUFBO0VBQ0EsWUFBQTtBQ0FEOztBREdBO0VBQ0MsdUNBQUE7RUFDQSxtQkFBQTtFQUNBLFlBQUE7QUNBRDs7QURHQTtFQUNDLDhDQUFBO0VBQ0Esc0NBQUE7RUFDQSxtQkFBQTtBQ0FEOztBREVBO21HQUFBO0FBRUE7RUFDQyxrQkFBQTtFQUNBLHlDQUFBO0FDQ0Q7O0FERUE7RUFDQyxrREFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLDhCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtBQ0NEOztBREVBO0VBQ0MsMkJBQUE7QUNDRDs7QURFQTtFQUNDLGFBQUE7QUNDRDs7QURFQTtFQUNDLGVBQUE7RUFDQSxhQUFBO0VBQ0EsZ0JBQUE7QUNDRDs7QURDQTttR0FBQTtBQUVBO0VBQ0MsbUJBQUE7RUFDQSxpQkFBQTtBQ0VEOztBRENBO0VBQ0MsU0FBQTtFQUNBLFNBQUE7RUFD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RUFDQSxlQUFBO0VBQ0EsNkJBQUE7RUFDQSx3QkFBQTtFQUNBLDZCQUFBO0VBQ0EsaUNBQUE7QUFrZ0REIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4uZmMge1xuXHRkaXJlY3Rpb246IGx0cjtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmZjLXJ0bCB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5ib2R5IC5mYyB7XG5cdC8qIGV4dHJhIHByZWNlZGVuY2UgdG8gb3ZlcmNvbWUganF1aSAqL1xuXHRmb250LXNpemU6IDFlbTtcbn1cbi8qIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWhpZ2hsaWdodCB7XG5cdC8qIHdoZW4gdXNlciBpcyBzZWxlY3RpbmcgY2VsbHMgKi9cblx0YmFja2dyb3VuZDogI2JjZThmMTtcblx0b3BhY2l0eTogMC4zO1xufVxuXG4uZmMtYmdldmVudCB7XG5cdC8qIGRlZmF1bHQgbG9vayBmb3IgYmFja2dyb3VuZCBldmVudHMgKi9cblx0YmFja2dyb3VuZDogIzhmZGY4Mjtcblx0b3BhY2l0eTogMC4zO1xufVxuXG4uZmMtbm9uYnVzaW5lc3Mge1xuXHQvKiBkZWZhdWx0IGxvb2sgZm9yIG5vbi1idXNpbmVzcy1ob3VycyBhcmVhcyAqL1xuXHQvKiB3aWxsIGluaGVyaXQgLmZjLWJnZXZlbnQncyBzdHlsZXMgKi9cblx0YmFja2dyb3VuZDogI2Q3ZDdkNztcbn1cbi8qIFBvcG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1wb3BvdmVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLmZjLXBvcG92ZXIgLmZjLWhlYWRlciB7XG5cdC8qIFRPRE86IGJlIG1vcmUgY29uc2lzdGVudCB3aXRoIGZjLWhlYWQvZmMtYm9keSAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJweCA0cHg7XG59XG5cbi5mYy1ydGwgLmZjLXBvcG92ZXIgLmZjLWhlYWRlciB7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuLmZjLXBvcG92ZXIgLmZjLWhlYWRlciAuZmMtdGl0bGUge1xuXHRtYXJnaW46IDAgMnB4O1xufVxuXG4uZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy1jbG9zZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0b3BhY2l0eTogMC42NTtcblx0Zm9udC1zaXplOiAxLjFlbTtcbn1cbi8qIE1pc2MgUmV1c2FibGUgQ29tcG9uZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWRpdmlkZXIge1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItd2lkdGg6IDFweDtcbn1cblxuaHIuZmMtZGl2aWRlciB7XG5cdGhlaWdodDogMDtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwIDAgMnB4O1xuXHQvKiBoZWlnaHQgaXMgdW5yZWxpYWJsZSBhY3Jvc3MgYnJvd3NlcnMsIHNvIHVzZSBwYWRkaW5nICovXG5cdGJvcmRlci13aWR0aDogMXB4IDA7XG59XG5cbi5mYy1iZyxcbi5mYy1iZ2V2ZW50LXNrZWxldG9uLFxuLmZjLWhpZ2hsaWdodC1za2VsZXRvbixcbi5mYy1taXJyb3Itc2tlbGV0b24ge1xuXHQvKiB0aGVzZSBlbGVtZW50IHNob3VsZCBhbHdheXMgY2xpbmcgdG8gdG9wLWxlZnQvcmlnaHQgY29ybmVycyAqL1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG59XG5cbi5mYy1iZyB7XG5cdGJvdHRvbTogMDtcblx0Lyogc3RyZWNoIGJnIHRvIGJvdHRvbSBlZGdlICovXG59XG5cbi5mYy1iZyB0YWJsZSB7XG5cdGhlaWdodDogMTAwJTtcblx0Lyogc3RyZWNoIGJnIHRvIGJvdHRvbSBlZGdlICovXG59XG4vKiBUYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYyB0YWJsZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHQvKiBmaXggc2Nyb2xsYmFyIGlzc3VlIGluIGZpcmVmb3ggKi9cblx0dGFibGUtbGF5b3V0OiBmaXhlZDtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0Ym9yZGVyLXNwYWNpbmc6IDA7XG5cdGZvbnQtc2l6ZTogMWVtO1xuXHQvKiBub3JtYWxpemUgY3Jvc3MtYnJvd3NlciAqL1xufVxuXG4uZmMgdGgge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mYyB0ZCxcbi5mYyB0aCB7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci13aWR0aDogMXB4O1xuXHRwYWRkaW5nOiAwO1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uZmMgdGQuZmMtdG9kYXkge1xuXHRib3JkZXItc3R5bGU6IGRvdWJsZTtcblx0Lyogb3ZlcmNvbWUgbmVpZ2hib3JpbmcgYm9yZGVycyAqL1xufVxuLyogSW50ZXJuYWwgTmF2IExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5hW2RhdGEtZ290b10ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmFbZGF0YS1nb3RvXTpob3ZlciB7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLyogRmFrZSBUYWJsZSBSb3dzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMgLmZjLXJvdyB7XG5cdC8qIGV4dHJhIHByZWNlZGVuY2UgdG8gb3ZlcmNvbWUgdGhlbWVzIGZvcmNpbmcgYSAxcHggYm9yZGVyICovXG5cdC8qIG5vIHZpc2libGUgYm9yZGVyIGJ5IGRlZmF1bHQuIGJ1dCBtYWtlIGF2YWlsYWJsZSBpZiBuZWVkIGJlIChzY3JvbGxiYXIgd2lkdGggY29tcGVuc2F0aW9uKSAqL1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItd2lkdGg6IDA7XG59XG5cbi5mYy1yb3cgdGFibGUge1xuXHQvKiBkb24ndCBwdXQgbGVmdC9yaWdodCBib3JkZXIgb24gYW55dGhpbmcgd2l0aGluIGEgZmFrZSByb3cuXG4gICAgIHRoZSBvdXRlciB0Ym9keSB3aWxsIHdvcnJ5IGFib3V0IHRoaXMgKi9cblx0Ym9yZGVyLWxlZnQ6IDAgaGlkZGVuIHRyYW5zcGFyZW50O1xuXHRib3JkZXItcmlnaHQ6IDAgaGlkZGVuIHRyYW5zcGFyZW50O1xuXHQvKiBubyBib3R0b20gYm9yZGVycyBvbiByb3dzICovXG5cdGJvcmRlci1ib3R0b206IDAgaGlkZGVuIHRyYW5zcGFyZW50O1xufVxuXG4uZmMtcm93OmZpcnN0LWNoaWxkIHRhYmxlIHtcblx0Ym9yZGVyLXRvcDogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7XG5cdC8qIG5vIHRvcCBib3JkZXIgb24gZmlyc3Qgcm93ICovXG59XG4vKiBEYXkgUm93ICh1c2VkIHdpdGhpbiB0aGUgaGVhZGVyIGFuZCB0aGUgRGF5R3JpZClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1yb3cge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mYy1yb3cgLmZjLWJnIHtcblx0ei1pbmRleDogMTtcbn1cbi8qIGhpZ2hsaWdodGluZyBjZWxscyAmIGJhY2tncm91bmQgZXZlbnQgc2tlbGV0b24gKi9cbi5mYy1yb3cgLmZjLWJnZXZlbnQtc2tlbGV0b24sXG4uZmMtcm93IC5mYy1oaWdobGlnaHQtc2tlbGV0b24ge1xuXHRib3R0b206IDA7XG5cdC8qIHN0cmV0Y2ggc2tlbGV0b24gdG8gYm90dG9tIG9mIHJvdyAqL1xufVxuXG4uZmMtcm93IC5mYy1iZ2V2ZW50LXNrZWxldG9uIHRhYmxlLFxuLmZjLXJvdyAuZmMtaGlnaGxpZ2h0LXNrZWxldG9uIHRhYmxlIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHQvKiBzdHJldGNoIHNrZWxldG9uIHRvIGJvdHRvbSBvZiByb3cgKi9cbn1cblxuLmZjLXJvdyAuZmMtYmdldmVudC1za2VsZXRvbiB0ZCxcbi5mYy1yb3cgLmZjLWhpZ2hsaWdodC1za2VsZXRvbiB0ZCB7XG5cdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5mYy1yb3cgLmZjLWJnZXZlbnQtc2tlbGV0b24ge1xuXHR6LWluZGV4OiAyO1xufVxuXG4uZmMtcm93IC5mYy1oaWdobGlnaHQtc2tlbGV0b24ge1xuXHR6LWluZGV4OiAzO1xufVxuLypcbnJvdyBjb250ZW50ICh3aGljaCBjb250YWlucyBkYXkvd2VlayBudW1iZXJzIGFuZCBldmVudHMpIGFzIHdlbGwgYXMgXCJtaXJyb3JcIiAod2hpY2ggY29udGFpbnNcbnRlbXBvcmFyeSByZW5kZXJlZCBldmVudHMpLlxuKi9cbi5mYy1yb3cgLmZjLWNvbnRlbnQtc2tlbGV0b24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDQ7XG5cdHBhZGRpbmctYm90dG9tOiAycHg7XG5cdC8qIG1hdGNoZXMgdGhlIHNwYWNlIGFib3ZlIHRoZSBldmVudHMgKi9cbn1cblxuLmZjLXJvdyAuZmMtbWlycm9yLXNrZWxldG9uIHtcblx0ei1pbmRleDogNTtcbn1cblxuLmZjIC5mYy1yb3cgLmZjLWNvbnRlbnQtc2tlbGV0b24gdGFibGUsXG4uZmMgLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB0ZCxcbi5mYyAuZmMtcm93IC5mYy1taXJyb3Itc2tlbGV0b24gdGQge1xuXHQvKiBzZWUtdGhyb3VnaCB0byB0aGUgYmFja2dyb3VuZCBiZWxvdyAqL1xuXHQvKiBleHRyYSBwcmVjZWRlbmNlIHRvIHByZXZlbnQgdGhlbWUtcHJvdmlkZWQgYmFja2dyb3VuZHMgKi9cblx0YmFja2dyb3VuZDogbm9uZTtcblx0LyogaW4gY2FzZSA8dGQ+cyBhcmUgZ2xvYmFsbHkgc3R5bGVkICovXG5cdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5mYy1yb3cgLmZjLWNvbnRlbnQtc2tlbGV0b24gdGQsXG4uZmMtcm93IC5mYy1taXJyb3Itc2tlbGV0b24gdGQge1xuXHQvKiBkb24ndCBwdXQgYSBib3JkZXIgYmV0d2VlbiBldmVudHMgYW5kL29yIHRoZSBkYXkgbnVtYmVyICovXG5cdGJvcmRlci1ib3R0b206IDA7XG59XG5cbi5mYy1yb3cgLmZjLWNvbnRlbnQtc2tlbGV0b24gdGJvZHkgdGQsXG4uZmMtcm93IC5mYy1taXJyb3Itc2tlbGV0b24gdGJvZHkgdGQge1xuXHQvKiBkb24ndCBwdXQgYSBib3JkZXIgYmV0d2VlbiBldmVudCBjZWxscyAqL1xuXHRib3JkZXItdG9wOiAwO1xufVxuLyogU2Nyb2xsaW5nIENvbnRhaW5lclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXNjcm9sbGVyIHtcblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuLyogVE9ETzogbW92ZSB0byB0aW1lZ3JpZC9kYXlncmlkICovXG4uZmMtc2Nyb2xsZXIgPiAuZmMtZGF5LWdyaWQsXG4uZmMtc2Nyb2xsZXIgPiAuZmMtdGltZS1ncmlkIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQvKiByZS1zY29wZSBhbGwgcG9zaXRpb25zICovXG5cdHdpZHRoOiAxMDAlO1xuXHQvKiBoYWNrIHRvIGZvcmNlIHJlLXNpemluZyB0aGlzIGlubmVyIGVsZW1lbnQgd2hlbiBzY3JvbGxiYXJzIGFwcGVhci9kaXNhcHBlYXIgKi9cbn1cbi8qIEdsb2JhbCBFdmVudCBTdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1ldmVudCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0LyogZm9yIHJlc2l6ZSBoYW5kbGUgYW5kIG90aGVyIGlubmVyIHBvc2l0aW9uaW5nICovXG5cdGRpc3BsYXk6IGJsb2NrO1xuXHQvKiBtYWtlIHRoZSA8YT4gdGFnIGJsb2NrICovXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkICMzNzg4ZDg7XG59XG5cbi5mYy1ldmVudCxcbi5mYy1ldmVudC1kb3Qge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMzc4OGQ4O1xuXHQvKiBkZWZhdWx0IEJBQ0tHUk9VTkQgY29sb3IgKi9cbn1cblxuLmZjLWV2ZW50LFxuLmZjLWV2ZW50OmhvdmVyIHtcblx0Y29sb3I6ICNmZmY7XG5cdC8qIGRlZmF1bHQgVEVYVCBjb2xvciAqL1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdC8qIGlmIDxhPiBoYXMgYW4gaHJlZiAqL1xufVxuXG4uZmMtZXZlbnQuZmMtZHJhZ2dhYmxlLFxuLmZjLWV2ZW50W2hyZWZdIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHQvKiBnaXZlIGV2ZW50cyB3aXRoIGxpbmtzIGFuZCBkcmFnZ2FibGUgZXZlbnRzIGEgaGFuZCBtb3VzZSBwb2ludGVyICovXG59XG5cbi5mYy1ub3QtYWxsb3dlZCxcbi5mYy1ub3QtYWxsb3dlZCAuZmMtZXZlbnQge1xuXHQvKiB0byBvdmVycmlkZSBhbiBldmVudCdzIGN1c3RvbSBjdXJzb3IgKi9cblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmZjLWV2ZW50IC5mYy1jb250ZW50IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyO1xufVxuLyogcmVzaXplciAoY3Vyc29yIEFORCB0b3VjaCBkZXZpY2VzKSAqL1xuLmZjLWV2ZW50IC5mYy1yZXNpemVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiA0O1xufVxuLyogcmVzaXplciAodG91Y2ggZGV2aWNlcykgKi9cbi5mYy1ldmVudCAuZmMtcmVzaXplciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mYy1ldmVudC5mYy1hbGxvdy1tb3VzZS1yZXNpemUgLmZjLXJlc2l6ZXIsXG4uZmMtZXZlbnQuZmMtc2VsZWN0ZWQgLmZjLXJlc2l6ZXIge1xuXHQvKiBvbmx5IHNob3cgd2hlbiBob3ZlcmluZyBvciBzZWxlY3RlZCAod2l0aCB0b3VjaCkgKi9cblx0ZGlzcGxheTogYmxvY2s7XG59XG4vKiBoaXQgYXJlYSAqL1xuLmZjLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1yZXNpemVyOmJlZm9yZSB7XG5cdC8qIDQweDQwIHRvdWNoIGFyZWEgKi9cblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiA5OTk5O1xuXHQvKiB1c2VyIG9mIHRoaXMgdXRpbCBjYW4gc2NvcGUgd2l0aGluIGEgbG93ZXIgei1pbmRleCAqL1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHR3aWR0aDogNDBweDtcblx0aGVpZ2h0OiA0MHB4O1xuXHRtYXJnaW4tbGVmdDogLTIwcHg7XG5cdG1hcmdpbi10b3A6IC0yMHB4O1xufVxuLyogRXZlbnQgU2VsZWN0aW9uIChvbmx5IGZvciB0b3VjaCBkZXZpY2VzKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWV2ZW50LmZjLXNlbGVjdGVkIHtcblx0ei1pbmRleDogOTk5OSAhaW1wb3J0YW50O1xuXHQvKiBvdmVyY29tZXMgaW5saW5lIHotaW5kZXggKi9cblx0Ym94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLmZjLWV2ZW50LmZjLXNlbGVjdGVkOmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxO1xuXHQvKiBzYW1lIHotaW5kZXggYXMgZmMtYmcsIGJlaGluZCB0ZXh0ICovXG5cdC8qIG92ZXJjb21lIHRoZSBib3JkZXJzICovXG5cdHRvcDogLTFweDtcblx0cmlnaHQ6IC0xcHg7XG5cdGJvdHRvbTogLTFweDtcblx0bGVmdDogLTFweDtcblx0LyogZGFya2VuaW5nIGVmZmVjdCAqL1xuXHRiYWNrZ3JvdW5kOiAjMDAwO1xuXHRvcGFjaXR5OiAwLjI1O1xufVxuLyogRXZlbnQgRHJhZ2dpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1ldmVudC5mYy1kcmFnZ2luZy5mYy1zZWxlY3RlZCB7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi5mYy1ldmVudC5mYy1kcmFnZ2luZzpub3QoLmZjLXNlbGVjdGVkKSB7XG5cdG9wYWNpdHk6IDAuNzU7XG59XG4vKiBIb3Jpem9udGFsIEV2ZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogYmlnZ2VyIHRvdWNoIGFyZWEgd2hlbiBzZWxlY3RlZCAqL1xuLmZjLWgtZXZlbnQuZmMtc2VsZWN0ZWQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAzO1xuXHQvKiBiZWxvdyByZXNpemVycyAqL1xuXHR0b3A6IC0xMHB4O1xuXHRib3R0b206IC0xMHB4O1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcbn1cbi8qIGV2ZW50cyB0aGF0IGFyZSBjb250aW51aW5nIHRvL2Zyb20gYW5vdGhlciB3ZWVrLiBraWxsIHJvdW5kZWQgY29ybmVycyBhbmQgYnV0dCB1cCBhZ2FpbnN0IGVkZ2UgKi9cbi5mYy1sdHIgLmZjLWgtZXZlbnQuZmMtbm90LXN0YXJ0LFxuLmZjLXJ0bCAuZmMtaC1ldmVudC5mYy1ub3QtZW5kIHtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuXHRwYWRkaW5nLWxlZnQ6IDFweDtcblx0LyogcmVwbGFjZSB0aGUgYm9yZGVyIHdpdGggcGFkZGluZyAqL1xuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuXG4uZmMtbHRyIC5mYy1oLWV2ZW50LmZjLW5vdC1lbmQsXG4uZmMtcnRsIC5mYy1oLWV2ZW50LmZjLW5vdC1zdGFydCB7XG5cdG1hcmdpbi1yaWdodDogMDtcblx0Ym9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuXHRwYWRkaW5nLXJpZ2h0OiAxcHg7XG5cdC8qIHJlcGxhY2UgdGhlIGJvcmRlciB3aXRoIHBhZGRpbmcgKi9cblx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG5cdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLyogcmVzaXplciAoY3Vyc29yIEFORCB0b3VjaCBkZXZpY2VzKSAqL1xuLyogbGVmdCByZXNpemVyICAqL1xuLmZjLWx0ciAuZmMtaC1ldmVudCAuZmMtc3RhcnQtcmVzaXplcixcbi5mYy1ydGwgLmZjLWgtZXZlbnQgLmZjLWVuZC1yZXNpemVyIHtcblx0Y3Vyc29yOiB3LXJlc2l6ZTtcblx0bGVmdDogLTFweDtcblx0Lyogb3ZlcmNvbWUgYm9yZGVyICovXG59XG4vKiByaWdodCByZXNpemVyICovXG4uZmMtbHRyIC5mYy1oLWV2ZW50IC5mYy1lbmQtcmVzaXplcixcbi5mYy1ydGwgLmZjLWgtZXZlbnQgLmZjLXN0YXJ0LXJlc2l6ZXIge1xuXHRjdXJzb3I6IGUtcmVzaXplO1xuXHRyaWdodDogLTFweDtcblx0Lyogb3ZlcmNvbWUgYm9yZGVyICovXG59XG4vKiByZXNpemVyIChtb3VzZSBkZXZpY2VzKSAqL1xuLmZjLWgtZXZlbnQuZmMtYWxsb3ctbW91c2UtcmVzaXplIC5mYy1yZXNpemVyIHtcblx0d2lkdGg6IDdweDtcblx0dG9wOiAtMXB4O1xuXHQvKiBvdmVyY29tZSB0b3AgYm9yZGVyICovXG5cdGJvdHRvbTogLTFweDtcblx0Lyogb3ZlcmNvbWUgYm90dG9tIGJvcmRlciAqL1xufVxuLyogcmVzaXplciAodG91Y2ggZGV2aWNlcykgKi9cbi5mYy1oLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1yZXNpemVyIHtcblx0LyogOHg4IGxpdHRsZSBkb3QgKi9cblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3JkZXItd2lkdGg6IDFweDtcblx0d2lkdGg6IDZweDtcblx0aGVpZ2h0OiA2cHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogaW5oZXJpdDtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0LyogdmVydGljYWxseSBjZW50ZXIgKi9cblx0dG9wOiA1MCU7XG5cdG1hcmdpbi10b3A6IC00cHg7XG59XG4vKiBsZWZ0IHJlc2l6ZXIgICovXG4uZmMtbHRyIC5mYy1oLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1zdGFydC1yZXNpemVyLFxuLmZjLXJ0bCAuZmMtaC1ldmVudC5mYy1zZWxlY3RlZCAuZmMtZW5kLXJlc2l6ZXIge1xuXHRtYXJnaW4tbGVmdDogLTRweDtcblx0LyogY2VudGVycyB0aGUgOHg4IGRvdCBvbiB0aGUgbGVmdCBlZGdlICovXG59XG4vKiByaWdodCByZXNpemVyICovXG4uZmMtbHRyIC5mYy1oLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1lbmQtcmVzaXplcixcbi5mYy1ydGwgLmZjLWgtZXZlbnQuZmMtc2VsZWN0ZWQgLmZjLXN0YXJ0LXJlc2l6ZXIge1xuXHRtYXJnaW4tcmlnaHQ6IC00cHg7XG5cdC8qIGNlbnRlcnMgdGhlIDh4OCBkb3Qgb24gdGhlIHJpZ2h0IGVkZ2UgKi9cbn1cbi8qIERheUdyaWQgZXZlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5XZSB1c2UgdGhlIGZ1bGwgXCJmYy1kYXktZ3JpZC1ldmVudFwiIGNsYXNzIGluc3RlYWQgb2YgdXNpbmcgZGVzY2VuZGFudHMgYmVjYXVzZSB0aGUgZXZlbnQgd29uJ3RcbmJlIGEgZGVzY2VuZGFudCBvZiB0aGUgZ3JpZCB3aGVuIGl0IGlzIGJlaW5nIGRyYWdnZWQuXG4qL1xuLmZjLWRheS1ncmlkLWV2ZW50IHtcblx0bWFyZ2luOiAxcHggMnB4IDA7XG5cdC8qIHNwYWNpbmcgYmV0d2VlbiBldmVudHMgYW5kIGVkZ2VzICovXG5cdHBhZGRpbmc6IDAgMXB4O1xufVxuXG50cjpmaXJzdC1jaGlsZCA+IHRkID4gLmZjLWRheS1ncmlkLWV2ZW50IHtcblx0bWFyZ2luLXRvcDogMnB4O1xuXHQvKiBhIGxpdHRsZSBiaXQgbW9yZSBzcGFjZSBiZWZvcmUgdGhlIGZpcnN0IGV2ZW50ICovXG59XG5cbi5mYy1taXJyb3Itc2tlbGV0b24gdHI6Zmlyc3QtY2hpbGQgPiB0ZCA+IC5mYy1kYXktZ3JpZC1ldmVudCB7XG5cdG1hcmdpbi10b3A6IDA7XG5cdC8qIGV4Y2VwdCBmb3IgbWlycm9yIHNrZWxldG9uICovXG59XG5cbi5mYy1kYXktZ3JpZC1ldmVudCAuZmMtY29udGVudCB7XG5cdC8qIGZvcmNlIGV2ZW50cyB0byBiZSBvbmUtbGluZSB0YWxsICovXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5mYy1kYXktZ3JpZC1ldmVudCAuZmMtdGltZSB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLyogcmVzaXplciAoY3Vyc29yIGRldmljZXMpICovXG4vKiBsZWZ0IHJlc2l6ZXIgICovXG4uZmMtbHRyIC5mYy1kYXktZ3JpZC1ldmVudC5mYy1hbGxvdy1tb3VzZS1yZXNpemUgLmZjLXN0YXJ0LXJlc2l6ZXIsXG4uZmMtcnRsIC5mYy1kYXktZ3JpZC1ldmVudC5mYy1hbGxvdy1tb3VzZS1yZXNpemUgLmZjLWVuZC1yZXNpemVyIHtcblx0bWFyZ2luLWxlZnQ6IC0ycHg7XG5cdC8qIHRvIHRoZSBkYXkgY2VsbCdzIGVkZ2UgKi9cbn1cbi8qIHJpZ2h0IHJlc2l6ZXIgKi9cbi5mYy1sdHIgLmZjLWRheS1ncmlkLWV2ZW50LmZjLWFsbG93LW1vdXNlLXJlc2l6ZSAuZmMtZW5kLXJlc2l6ZXIsXG4uZmMtcnRsIC5mYy1kYXktZ3JpZC1ldmVudC5mYy1hbGxvdy1tb3VzZS1yZXNpemUgLmZjLXN0YXJ0LXJlc2l6ZXIge1xuXHRtYXJnaW4tcmlnaHQ6IC0ycHg7XG5cdC8qIHRvIHRoZSBkYXkgY2VsbCdzIGVkZ2UgKi9cbn1cbi8qIEV2ZW50IExpbWl0aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBcIm1vcmVcIiBsaW5rIHRoYXQgcmVwcmVzZW50cyBoaWRkZW4gZXZlbnRzICovXG5hLmZjLW1vcmUge1xuXHRtYXJnaW46IDFweCAzcHg7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYS5mYy1tb3JlOmhvdmVyIHtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5mYy1saW1pdGVkIHtcblx0Lyogcm93cyBhbmQgY2VsbHMgdGhhdCBhcmUgaGlkZGVuIGJlY2F1c2Ugb2YgYSBcIm1vcmVcIiBsaW5rICovXG5cdGRpc3BsYXk6IG5vbmU7XG59XG4vKiBwb3BvdmVyIHRoYXQgYXBwZWFycyB3aGVuIFwibW9yZVwiIGxpbmsgaXMgY2xpY2tlZCAqL1xuLmZjLWRheS1ncmlkIC5mYy1yb3cge1xuXHR6LWluZGV4OiAxO1xuXHQvKiBtYWtlIHRoZSBcIm1vcmVcIiBwb3BvdmVyIG9uZSBoaWdoZXIgdGhhbiB0aGlzICovXG59XG5cbi5mYy1tb3JlLXBvcG92ZXIge1xuXHR6LWluZGV4OiAyO1xuXHR3aWR0aDogMjIwcHg7XG59XG5cbi5mYy1tb3JlLXBvcG92ZXIgLmZjLWV2ZW50LWNvbnRhaW5lciB7XG5cdHBhZGRpbmc6IDEwcHg7XG59XG4vKiBOb3cgSW5kaWNhdG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtbm93LWluZGljYXRvciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym9yZGVyOiAwIHNvbGlkIHJlZDtcbn1cbi8qIFV0aWxpdGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXVuc2VsZWN0YWJsZSB7XG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcblx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0LXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG4vKlxuVE9ETzogbW9yZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoaXMgZmlsZSBhbmQgY29tbW9uLmNzc1xuKi9cbi8qIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXVudGhlbWVkIC5mYy1jb250ZW50LFxuLmZjLXVudGhlbWVkIC5mYy1kaXZpZGVyLFxuLmZjLXVudGhlbWVkIC5mYy1saXN0LWhlYWRpbmcgdGQsXG4uZmMtdW50aGVtZWQgLmZjLWxpc3Qtdmlldyxcbi5mYy11bnRoZW1lZCAuZmMtcG9wb3Zlcixcbi5mYy11bnRoZW1lZCAuZmMtcm93LFxuLmZjLXVudGhlbWVkIHRib2R5LFxuLmZjLXVudGhlbWVkIHRkLFxuLmZjLXVudGhlbWVkIHRoLFxuLmZjLXVudGhlbWVkIHRoZWFkIHtcblx0Ym9yZGVyLWNvbG9yOiAjZGRkO1xufVxuXG4uZmMtdW50aGVtZWQgLmZjLXBvcG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4uZmMtdW50aGVtZWQgLmZjLWRpdmlkZXIsXG4uZmMtdW50aGVtZWQgLmZjLWxpc3QtaGVhZGluZyB0ZCxcbi5mYy11bnRoZW1lZCAuZmMtcG9wb3ZlciAuZmMtaGVhZGVyIHtcblx0YmFja2dyb3VuZDogI2VlZTtcbn1cblxuLmZjLXVudGhlbWVkIHRkLmZjLXRvZGF5IHtcblx0YmFja2dyb3VuZDogI2ZjZjhlMztcbn1cblxuLmZjLXVudGhlbWVkIC5mYy1kaXNhYmxlZC1kYXkge1xuXHRiYWNrZ3JvdW5kOiAjZDdkN2Q3O1xuXHRvcGFjaXR5OiAwLjM7XG59XG4vKiBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZyb20gaHR0cHM6Ly9mZWF0aGVyaWNvbnMuY29tLyBhbmQgYnVpbHQgd2l0aCBJY29Nb29uXG4qL1xuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiBcImZjaWNvbnNcIjtcblx0c3JjOiB1cmwoXCJkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZzhTQmZBQUFBQzhBQUFBWUdOdFlYQVhWdEtOQUFBQkhBQUFBRlJuWVhOd0FBQUFFQUFBQVhBQUFBQUlaMng1WmdZeWR4SUFBQUY0QUFBRk5HaGxZV1FVSjdjSUFBQUdyQUFBQURab2FHVmhCMjBEekFBQUJ1UUFBQUFrYUcxMGVDSUFCaFFBQUFjSUFBQUFMR3h2WTJFRDRBVTZBQUFITkFBQUFCaHRZWGh3QUE4QWpBQUFCMHdBQUFBZ2JtRnRaWHNyNjkwQUFBZHNBQUFCaG5CdmMzUUFBd0FBQUFBSTlBQUFBQ0FBQXdQQUFaQUFCUUFBQXBrQ3pBQUFBSThDbVFMTUFBQUI2d0F6QVFrQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEcEJnUEEvOEFBUUFQQUFFQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFEQUFBQUF3QUFBQndBQVFBREFBQUFIQUFEQUFFQUFBQWNBQVFBT0FBQUFBb0FDQUFDQUFJQUFRQWc2UWIvL2YvL0FBQUFBQUFnNlFELy9mLy9BQUgvNHhjRUFBTUFBUUFBQUFBQUFBQUFBQUFBQVFBQi8vOEFEd0FCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBV0lBalFLZUFza0FFd0FBSlNjM05qUW5KaUlIQVFZVUZ3RVdNamMyTkNjQ251TGlEUTBNSkF6L0FBME5BUUFNSkF3TkRjbmk0Z3dqRFF3TS93QU5Jd3ovQUEwTkRDTU5BQUFBQVFGaUFJMENuZ0xKQUJNQUFDVUJOalFuQVNZaUJ3WVVId0VIQmhRWEZqSTNBWjRCQUEwTi93QU1KQXdORGVMaURRME1KQXlOQVFBTUl3MEJBQXdNRFNNTTR1SU5Jd3dORFFBQUFBSUE0Z0MzQXg0Q25nQVRBQ2NBQUNVbk56WTBKeVlpRHdFR0ZCOEJGakkzTmpRbklTYzNOalFuSmlJUEFRWVVId0VXTWpjMk5DY0I4N2UzRFEwTUl3M1ZEUTNWRFNNTURRMEJLN2UzRFEwTUpBelZEUTNWRENRTURRM3p1TGNNSkF3TkRkVU5Jd3pXREF3Tkl3eTR0d3drREEwTjFRMGpETllNREEwakRBQUFBZ0RpQUxjREhnS2VBQk1BSndBQUpUYzJOQzhCSmlJSEJoUWZBUWNHRkJjV01qY2hOelkwTHdFbUlnY0dGQjhCQndZVUZ4WXlOd0pKMVEwTjFRMGpEQTBOdDdjTkRRd2pEZjdWMVEwTjFRd2tEQTBOdDdjTkRRd2tETGZXRENNTjFRME5EQ1FNdDdnTUl3ME1ETllNSXczVkRRME1KQXkzdUF3akRRd01BQUFEQUZVQUFBT3JBMVVBTXdCb0FIY0FBQk1pQmdjT0FRY09BUWNPQVJVUkZCWVhIZ0VYSGdFWEhnRXpJVEkyTno0Qk56NEJOejRCTlJFMEppY3VBU2N1QVNjdUFTTUZJVElXRng0QkZ4NEJGeDRCRlJFVUJnY09BUWNPQVFjT0FTTWhJaVluTGdFbkxnRW5MZ0UxRVRRMk56NEJOejRCTno0Qk14TWhNalkxTkNZaklTSUdGUlFXTTlVTkdBd0xGUWtKRGdVRkJRVUZCUTRKQ1JVTERCZ05BbFlOR0F3TEZRa0pEZ1VGQlFVRkJRNEpDUlVMREJnTi9hb0NWZ1FJQkFRSEF3TUZBUUlCQVFJQkJRTURCd1FFQ0FUOXFnUUlCQVFIQXdNRkFRSUJBUUlCQlFNREJ3UUVDQVNBQVZZUkdSa1IvcW9SR1JrUkExVUZCQVVPQ1FrVkRBc1pEZjJyRFJrTERCVUpDQTRGQlFVRkJRVU9DUWdWREFzWkRRSlZEUmtMREJVSkNRNEZCQVZWQWdFQ0JRTUNCd1FFQ0FYOXF3UUpBd1FIQXdNRkFRSUNBZ0lCQlFNREJ3UURDUVFDVlFVSUJBUUhBZ01GQWdFQy9vQVpFaEVaR1JFU0dRQUFBQUFEQUZVQUFBT3JBMVVBTXdCb0FJa0FBQk1pQmdjT0FRY09BUWNPQVJVUkZCWVhIZ0VYSGdFWEhnRXpJVEkyTno0Qk56NEJOejRCTlJFMEppY3VBU2N1QVNjdUFTTUZJVElXRng0QkZ4NEJGeDRCRlJFVUJnY09BUWNPQVFjT0FTTWhJaVluTGdFbkxnRW5MZ0UxRVRRMk56NEJOejRCTno0Qk14TXpGUlFXTXpJMlBRRXpNalkxTkNZckFUVTBKaU1pQmgwQkl5SUdGUlFXTTlVTkdBd0xGUWtKRGdVRkJRVUZCUTRKQ1JVTERCZ05BbFlOR0F3TEZRa0pEZ1VGQlFVRkJRNEpDUlVMREJnTi9hb0NWZ1FJQkFRSEF3TUZBUUlCQVFJQkJRTURCd1FFQ0FUOXFnUUlCQVFIQXdNRkFRSUJBUUlCQlFNREJ3UUVDQVNBZ0JrU0VobUFFUmtaRVlBWkVoSVpnQkVaR1JFRFZRVUVCUTRKQ1JVTUN4a04vYXNOR1FzTUZRa0lEZ1VGQlFVRkJRNEpDQlVNQ3hrTkFsVU5HUXNNRlFrSkRnVUVCVlVDQVFJRkF3SUhCQVFJQmYyckJBa0RCQWNEQXdVQkFnSUNBZ0VGQXdNSEJBTUpCQUpWQlFnRUJBY0NBd1VDQVFMK2dJQVNHUmtTZ0JrU0VSbUFFaGtaRW9BWkVSSVpBQUFCQU9JQWpRTWVBc2tBSUFBQUV4Y0hCaFFYRmpJL0FSY1dNamMyTkM4Qk56WTBKeVlpRHdFbkppSUhCaFFYNHVMaURRME1KQXppNGd3a0RBME40dUlORFF3a0RPTGlEQ1FNRFEwQ2plTGlEU01NRFEzaDRRME5EQ01ONHVJTUl3ME1ET0xpREF3Tkl3d0FBQUFCQUFBQUFRQUFhNW4weTE4UFBQVUFDd1FBQUFBQUFOaXZPVnNBQUFBQTJLODVXd0FBQUFBRHF3TlZBQUFBQ0FBQ0FBQUFBQUFBQUFFQUFBUEEvOEFBQUFRQUFBQUFBQU9yQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFMQkFBQUFBQUFBQUFBQUFBQUFnQUFBQVFBQVdJRUFBRmlCQUFBNGdRQUFPSUVBQUJWQkFBQVZRUUFBT0lBQUFBQUFBb0FGQUFlQUVRQWFnQ3FBT29CbmdKa0Fwb0FBUUFBQUFzQWlnQURBQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBNEFyZ0FCQUFBQUFBQUJBQWNBQUFBQkFBQUFBQUFDQUFjQVlBQUJBQUFBQUFBREFBY0FOZ0FCQUFBQUFBQUVBQWNBZFFBQkFBQUFBQUFGQUFzQUZRQUJBQUFBQUFBR0FBY0FTd0FCQUFBQUFBQUtBQm9BaWdBREFBRUVDUUFCQUE0QUJ3QURBQUVFQ1FBQ0FBNEFad0FEQUFFRUNRQURBQTRBUFFBREFBRUVDUUFFQUE0QWZBQURBQUVFQ1FBRkFCWUFJQUFEQUFFRUNRQUdBQTRBVWdBREFBRUVDUUFLQURRQXBHWmphV052Ym5NQVpnQmpBR2tBWXdCdkFHNEFjMVpsY25OcGIyNGdNUzR3QUZZQVpRQnlBSE1BYVFCdkFHNEFJQUF4QUM0QU1HWmphV052Ym5NQVpnQmpBR2tBWXdCdkFHNEFjMlpqYVdOdmJuTUFaZ0JqQUdrQVl3QnZBRzRBYzFKbFozVnNZWElBVWdCbEFHY0FkUUJzQUdFQWNtWmphV052Ym5NQVpnQmpBR2tBWXdCdkFHNEFjMFp2Ym5RZ1oyVnVaWEpoZEdWa0lHSjVJRWxqYjAxdmIyNHVBRVlBYndCdUFIUUFJQUJuQUdVQWJnQmxBSElBWVFCMEFHVUFaQUFnQUdJQWVRQWdBRWtBWXdCdkFFMEFid0J2QUc0QUxnQUFBQU1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBPVwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4uZmMtaWNvbiB7XG5cdC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG5cdGZvbnQtZmFtaWx5OiBcImZjaWNvbnNcIiAhaW1wb3J0YW50O1xuXHRzcGVhazogbm9uZTtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRmb250LXZhcmlhbnQ6IG5vcm1hbDtcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHQvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5mYy1pY29uLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuXHRjb250ZW50OiBcIu6kgFwiO1xufVxuXG4uZmMtaWNvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwi7qSBXCI7XG59XG5cbi5mYy1pY29uLWNoZXZyb25zLWxlZnQ6YmVmb3JlIHtcblx0Y29udGVudDogXCLupIJcIjtcbn1cblxuLmZjLWljb24tY2hldnJvbnMtcmlnaHQ6YmVmb3JlIHtcblx0Y29udGVudDogXCLupINcIjtcbn1cblxuLmZjLWljb24tbWludXMtc3F1YXJlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwi7qSEXCI7XG59XG5cbi5mYy1pY29uLXBsdXMtc3F1YXJlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwi7qSFXCI7XG59XG5cbi5mYy1pY29uLXg6YmVmb3JlIHtcblx0Y29udGVudDogXCLupIZcIjtcbn1cblxuLmZjLWljb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAxZW07XG5cdGhlaWdodDogMWVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4vKiBCdXR0b25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTG90cyB0YWtlbiBmcm9tIEZsYXRseSAoTUlUKTogaHR0cHM6Ly9ib290c3dhdGNoLmNvbS80L2ZsYXRseS9ib290c3RyYXAuY3NzXG4qL1xuLyogcmVzZXQgKi9cbi5mYy1idXR0b24ge1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXHRvdmVyZmxvdzogdmlzaWJsZTtcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdG1hcmdpbjogMDtcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi5mYy1idXR0b246Zm9jdXMge1xuXHRvdXRsaW5lOiAxcHggZG90dGVkO1xuXHRvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG59XG5cbi5mYy1idXR0b24ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLmZjLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZjLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlci1zdHlsZTogbm9uZTtcbn1cbi8qIHRoZW1lICovXG4uZmMtYnV0dG9uIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRjb2xvcjogIzIxMjUyOTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdHBhZGRpbmc6IDAuNGVtIDAuNjVlbTtcblx0Zm9udC1zaXplOiAxZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcbn1cblxuLmZjLWJ1dHRvbjpob3ZlciB7XG5cdGNvbG9yOiAjMjEyNTI5O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5mYy1idXR0b246Zm9jdXMge1xuXHRvdXRsaW5lOiAwO1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQ0LCA2MiwgODAsIDAuMjUpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0NCwgNjIsIDgwLCAwLjI1KTtcbn1cblxuLmZjLWJ1dHRvbjpkaXNhYmxlZCB7XG5cdG9wYWNpdHk6IDAuNjU7XG59XG4vKiBcInByaW1hcnlcIiBjb2xvcmluZyAqL1xuLmZjLWJ1dHRvbi1wcmltYXJ5IHtcblx0Y29sb3I6ICNmZmY7XG5cdGJhY2tncm91bmQtY29sb3I6ICMyQzNFNTA7XG5cdGJvcmRlci1jb2xvcjogIzJDM0U1MDtcbn1cblxuLmZjLWJ1dHRvbi1wcmltYXJ5OmhvdmVyIHtcblx0Y29sb3I6ICNmZmY7XG5cdGJhY2tncm91bmQtY29sb3I6ICMxZTJiMzc7XG5cdGJvcmRlci1jb2xvcjogIzFhMjUyZjtcbn1cblxuLmZjLWJ1dHRvbi1wcmltYXJ5OmZvY3VzIHtcblx0LXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg3NiwgOTEsIDEwNiwgMC41KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNzYsIDkxLCAxMDYsIDAuNSk7XG59XG5cbi5mYy1idXR0b24tcHJpbWFyeTpkaXNhYmxlZCB7XG5cdGNvbG9yOiAjZmZmO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMkMzRTUwO1xuXHRib3JkZXItY29sb3I6ICMyQzNFNTA7XG59XG5cbi5mYy1idXR0b24tcHJpbWFyeTpub3QoOmRpc2FibGVkKS5mYy1idXR0b24tYWN0aXZlLFxuLmZjLWJ1dHRvbi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB7XG5cdGNvbG9yOiAjZmZmO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMWEyNTJmO1xuXHRib3JkZXItY29sb3I6ICMxNTFlMjc7XG59XG5cbi5mYy1idXR0b24tcHJpbWFyeTpub3QoOmRpc2FibGVkKS5mYy1idXR0b24tYWN0aXZlOmZvY3VzLFxuLmZjLWJ1dHRvbi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cyB7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNzYsIDkxLCAxMDYsIDAuNSk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDc2LCA5MSwgMTA2LCAwLjUpO1xufVxuLyogaWNvbnMgd2l0aGluIGJ1dHRvbnMgKi9cbi5mYy1idXR0b24gLmZjLWljb24ge1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRmb250LXNpemU6IDEuNWVtO1xufVxuLyogQnV0dG9ucyBHcm91cHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1idXR0b24tZ3JvdXAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcblx0ZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmZjLWJ1dHRvbi1ncm91cCA+IC5mYy1idXR0b24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC13ZWJraXQtYm94LWZsZXg6IDE7XG5cdC1tcy1mbGV4OiAxIDEgYXV0bztcblx0ZmxleDogMSAxIGF1dG87XG59XG5cbi5mYy1idXR0b24tZ3JvdXAgPiAuZmMtYnV0dG9uOmhvdmVyIHtcblx0ei1pbmRleDogMTtcbn1cblxuLmZjLWJ1dHRvbi1ncm91cCA+IC5mYy1idXR0b24uZmMtYnV0dG9uLWFjdGl2ZSxcbi5mYy1idXR0b24tZ3JvdXAgPiAuZmMtYnV0dG9uOmFjdGl2ZSxcbi5mYy1idXR0b24tZ3JvdXAgPiAuZmMtYnV0dG9uOmZvY3VzIHtcblx0ei1pbmRleDogMTtcbn1cblxuLmZjLWJ1dHRvbi1ncm91cCA+IC5mYy1idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuXHRtYXJnaW4tbGVmdDogLTFweDtcbn1cblxuLmZjLWJ1dHRvbi1ncm91cCA+IC5mYy1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XG5cdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmZjLWJ1dHRvbi1ncm91cCA+IC5mYy1idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuLyogUG9wb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXVudGhlbWVkIC5mYy1wb3BvdmVyIHtcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG59XG4vKiBMaXN0IFZpZXdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy11bnRoZW1lZCAuZmMtbGlzdC1pdGVtOmhvdmVyIHRkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cbi8qIFRvb2xiYXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy10b29sYmFyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmMtdG9vbGJhci5mYy1oZWFkZXItdG9vbGJhciB7XG5cdG1hcmdpbi1ib3R0b206IDEuNWVtO1xufVxuXG4uZmMtdG9vbGJhci5mYy1mb290ZXItdG9vbGJhciB7XG5cdG1hcmdpbi10b3A6IDEuNWVtO1xufVxuLyogaW5uZXIgY29udGVudCAqL1xuLmZjLXRvb2xiYXIgPiAqID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0bWFyZ2luLWxlZnQ6IDAuNzVlbTtcbn1cblxuLmZjLXRvb2xiYXIgaDIge1xuXHRmb250LXNpemU6IDEuNzVlbTtcblx0bWFyZ2luOiAwO1xufVxuLyogVmlldyBTdHJ1Y3R1cmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy12aWV3LWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi8qIHVuZG8gdHdpdHRlciBib290c3RyYXAncyBib3gtc2l6aW5nIHJ1bGVzLiBub3JtYWxpemVzIHBvc2l0aW9uaW5nIHRlY2huaXF1ZXMgKi9cbi8qIGRvbid0IGRvIHRoaXMgZm9yIHRoZSB0b29sYmFyIGJlY2F1c2Ugd2UnbGwgd2FudCBib290c3RyYXAgdG8gc3R5bGUgdGhvc2UgYnV0dG9ucyBhcyBzb21lIHB0ICovXG4uZmMtdmlldy1jb250YWluZXIgKixcbi5mYy12aWV3LWNvbnRhaW5lciAqOmFmdGVyLFxuLmZjLXZpZXctY29udGFpbmVyICo6YmVmb3JlIHtcblx0LXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblx0LW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblx0Ym94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi5mYy12aWV3LFxuLmZjLXZpZXcgPiB0YWJsZSB7XG5cdC8qIHNvIGRyYWdnZWQgZWxlbWVudHMgY2FuIGJlIGFib3ZlIHRoZSB2aWV3J3MgbWFpbiBlbGVtZW50ICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcbn1cbkBtZWRpYSBwcmludCB7XG5cdC5mYyB7XG5cdFx0bWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdH1cblx0LyogR2xvYmFsIEV2ZW50IFJlc3R5bGluZ1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cdC5mYy1ldmVudCB7XG5cdFx0YmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuXHRcdGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG5cdFx0cGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuXHR9XG5cblx0LmZjLWV2ZW50IC5mYy1yZXNpemVyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdC8qIFRhYmxlICYgRGF5LVJvdyBSZXN0eWxpbmdcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXHQuZmMgaHIsXG5cdC5mYyB0Ym9keSxcblx0LmZjIHRkLFxuXHQuZmMgdGgsXG5cdC5mYyB0aGVhZCxcblx0LmZjLXJvdyB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAjY2NjICFpbXBvcnRhbnQ7XG5cdFx0YmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuXHR9XG5cdC8qIGtpbGwgdGhlIG92ZXJsYWlkLCBhYnNvbHV0ZWx5LXBvc2l0aW9uZWQgY29tcG9uZW50cyAqL1xuXHQvKiBjb21tb24uLi4gKi9cblx0LmZjLWJnLFxuXHQuZmMtYmdldmVudC1jb250YWluZXIsXG5cdC5mYy1iZ2V2ZW50LXNrZWxldG9uLFxuXHQuZmMtYnVzaW5lc3MtY29udGFpbmVyLFxuXHQuZmMtaGlnaGxpZ2h0LWNvbnRhaW5lcixcblx0LmZjLWhpZ2hsaWdodC1za2VsZXRvbixcblx0LmZjLW1pcnJvci1jb250YWluZXIsXG5cdC5mYy1taXJyb3Itc2tlbGV0b24ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0LyogZG9uJ3QgZm9yY2UgYSBtaW4taGVpZ2h0IG9uIHJvd3MgKGZvciBEYXlHcmlkKSAqL1xuXHQuZmMgdGJvZHkgLmZjLXJvdyB7XG5cdFx0aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0LyogdW5kbyBoZWlnaHQgdGhhdCBKUyBzZXQgaW4gZGlzdHJpYnV0ZUhlaWdodCAqL1xuXHRcdG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcblx0XHQvKiB1bmRvIHRoZSBtaW4taGVpZ2h0IGZyb20gZWFjaCB2aWV3J3Mgc3BlY2lmaWMgc3R5bGVzaGVldCAqL1xuXHR9XG5cblx0LmZjIHRib2R5IC5mYy1yb3cgLmZjLWNvbnRlbnQtc2tlbGV0b24ge1xuXHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0LyogdW5kbyAuZmMtcmlnaWQgKi9cblx0XHRwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXHRcdC8qIHVzZSBhIG1vcmUgYm9yZGVyLWZyaWVuZGx5IG1ldGhvZCBmb3IgdGhpcy4uLiAqL1xuXHR9XG5cblx0LmZjIHRib2R5IC5mYy1yb3cgLmZjLWNvbnRlbnQtc2tlbGV0b24gdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG5cdFx0Lyogb25seSB3b3JrcyBpbiBuZXdlciBicm93c2VycyAqL1xuXHRcdHBhZGRpbmctYm90dG9tOiAxZW07XG5cdFx0LyogLi4uZ2l2ZXMgc3BhY2Ugd2l0aGluIHRoZSBza2VsZXRvbi4gYWxzbyBlbnN1cmVzIG1pbiBoZWlnaHQgaW4gYSB3YXkgKi9cblx0fVxuXG5cdC5mYyB0Ym9keSAuZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHRhYmxlIHtcblx0XHQvKiBwcm92aWRlcyBhIG1pbi1oZWlnaHQgZm9yIHRoZSByb3csIGJ1dCBvbmx5IGVmZmVjdGl2ZSBmb3IgSUUsIHdoaWNoIGV4YWdnZXJhdGVzIHRoaXMgdmFsdWUsXG4gICAgICAgbWFraW5nIGl0IGxvb2sgbW9yZSBsaWtlIDNlbS4gZm9yIG90aGVyIGJyb3dlcnMsIGl0IHdpbGwgYWxyZWFkeSBiZSB0aGlzIHRhbGwgKi9cblx0XHRoZWlnaHQ6IDFlbTtcblx0fVxuXHQvKiBVbmRvIG1vbnRoLXZpZXcgZXZlbnQgbGltaXRpbmcuIERpc3BsYXkgYWxsIGV2ZW50cyBhbmQgaGlkZSB0aGUgXCJtb3JlXCIgbGlua3NcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXHQuZmMtbW9yZSxcblx0LmZjLW1vcmUtY2VsbCB7XG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LmZjIHRyLmZjLWxpbWl0ZWQge1xuXHRcdGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuXHR9XG5cblx0LmZjIHRkLmZjLWxpbWl0ZWQge1xuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcblx0fVxuXG5cdC5mYy1wb3BvdmVyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdC8qIG5ldmVyIGRpc3BsYXkgdGhlIFwibW9yZS4uXCIgcG9wb3ZlciBpbiBwcmludCBtb2RlICovXG5cdH1cblx0LyogVGltZUdyaWQgUmVzdHlsaW5nXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblx0LyogdW5kbyB0aGUgbWluLWhlaWdodCAxMDAlIHRyaWNrIHVzZWQgdG8gZmlsbCB0aGUgY29udGFpbmVyJ3MgaGVpZ2h0ICovXG5cdC5mYy10aW1lLWdyaWQge1xuXHRcdG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcblx0fVxuXHQvKiBkb24ndCBkaXNwbGF5IHRoZSBzaWRlIGF4aXMgYXQgYWxsIChcImFsbC1kYXlcIiBhbmQgdGltZSBjZWxscykgKi9cblx0LmZjLXRpbWVHcmlkLXZpZXcgLmZjLWF4aXMge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0LyogZG9uJ3QgZGlzcGxheSB0aGUgaG9yaXpvbnRhbCBsaW5lcyAqL1xuXHQuZmMtc2xhdHMsXG5cdC5mYy10aW1lLWdyaWQgaHIge1xuXHRcdC8qIHRoaXMgaHIgaXMgdXNlZCB3aGVuIGhlaWdodCBpcyB1bmRlcnVzZWQgYW5kIG5lZWRzIHRvIGJlIGZpbGxlZCAqL1xuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0XHQvKiBpbXBvcnRhbnQgb3ZlcnJpZGVzIGlubGluZSBkZWNsYXJhdGlvbiAqL1xuXHR9XG5cdC8qIGxldCB0aGUgY29udGFpbmVyIHRoYXQgaG9sZHMgdGhlIGV2ZW50cyBiZSBuYXR1cmFsbHkgcG9zaXRpb25lZCBhbmQgY3JlYXRlIHJlYWwgaGVpZ2h0ICovXG5cdC5mYy10aW1lLWdyaWQgLmZjLWNvbnRlbnQtc2tlbGV0b24ge1xuXHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdH1cblx0LyogaW4gY2FzZSB0aGVyZSBhcmUgbm8gZXZlbnRzLCB3ZSBzdGlsbCB3YW50IHNvbWUgaGVpZ2h0ICovXG5cdC5mYy10aW1lLWdyaWQgLmZjLWNvbnRlbnQtc2tlbGV0b24gdGFibGUge1xuXHRcdGhlaWdodDogNGVtO1xuXHR9XG5cdC8qIGtpbGwgdGhlIGhvcml6b250YWwgc3BhY2luZyBtYWRlIGJ5IHRoZSBldmVudCBjb250YWluZXIuIGV2ZW50IG1hcmdpbnMgd2lsbCBiZSBkb25lIGJlbG93ICovXG5cdC5mYy10aW1lLWdyaWQgLmZjLWV2ZW50LWNvbnRhaW5lciB7XG5cdFx0bWFyZ2luOiAwICFpbXBvcnRhbnQ7XG5cdH1cblx0LyogVGltZUdyaWQgKkV2ZW50KiBSZXN0eWxpbmdcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXHQvKiBuYXR1cmFsbHkgcG9zaXRpb24gZXZlbnRzLCB2ZXJ0aWNhbGx5IHN0YWNraW5nIHRoZW0gKi9cblx0LmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQge1xuXHRcdHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcblx0XHRtYXJnaW46IDNweCAycHggIWltcG9ydGFudDtcblx0fVxuXHQvKiBmb3IgZXZlbnRzIHRoYXQgY29udGludWUgdG8gYSBmdXR1cmUgZGF5LCBnaXZlIHRoZSBib3R0b20gYm9yZGVyIGJhY2sgKi9cblx0LmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQuZmMtbm90LWVuZCB7XG5cdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG5cdH1cblx0LyogaW5kaWNhdGUgdGhlIGV2ZW50IGNvbnRpbnVlcyB2aWEgXCIuLi5cIiB0ZXh0ICovXG5cdC5mYy10aW1lLWdyaWQgLmZjLWV2ZW50LmZjLW5vdC1lbmQ6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiLi4uXCI7XG5cdH1cblx0LyogZm9yIGV2ZW50cyB0aGF0IGFyZSBjb250aW51YXRpb25zIGZyb20gcHJldmlvdXMgZGF5cywgZ2l2ZSB0aGUgdG9wIGJvcmRlciBiYWNrICovXG5cdC5mYy10aW1lLWdyaWQgLmZjLWV2ZW50LmZjLW5vdC1zdGFydCB7XG5cdFx0Ym9yZGVyLXRvcC13aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG5cdH1cblx0LyogaW5kaWNhdGUgdGhlIGV2ZW50IGlzIGEgY29udGludWF0aW9uIHZpYSBcIi4uLlwiIHRleHQgKi9cblx0LmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQuZmMtbm90LXN0YXJ0OmJlZm9yZSB7XG5cdFx0Y29udGVudDogXCIuLi5cIjtcblx0fVxuXHQvKiB0aW1lICovXG5cdC8qIHVuZG8gYSBwcmV2aW91cyBkZWNsYXJhdGlvbiBhbmQgbGV0IHRoZSB0aW1lIHRleHQgc3BhbiB0byBhIHNlY29uZCBsaW5lICovXG5cdC5mYy10aW1lLWdyaWQgLmZjLWV2ZW50IC5mYy10aW1lIHtcblx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7XG5cdH1cblx0LyogaGlkZSB0aGUgdGhlIHRpbWUgdGhhdCBpcyBub3JtYWxseSBkaXNwbGF5ZWQuLi4gKi9cblx0LmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQgLmZjLXRpbWUgc3BhbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHQvKiAuLi5yZXBsYWNlIGl0IHdpdGggYSBtb3JlIHZlcmJvc2UgdmVyc2lvbiAoaW5jbHVkZXMgQU0vUE0pIHN0b3JlZCBpbiBhbiBodG1sIGF0dHJpYnV0ZSAqL1xuXHQuZmMtdGltZS1ncmlkIC5mYy1ldmVudCAuZmMtdGltZTphZnRlciB7XG5cdFx0Y29udGVudDogYXR0cihkYXRhLWZ1bGwpO1xuXHR9XG5cdC8qIFZlcnRpY2FsIFNjcm9sbGVyICYgQ29udGFpbmVyc1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cdC8qIGtpbGwgdGhlIHNjcm9sbGJhcnMgYW5kIGFsbG93IG5hdHVyYWwgaGVpZ2h0ICovXG5cdC5mYy1kYXktZ3JpZC1jb250YWluZXIsXG5cdC5mYy1zY3JvbGxlcixcblx0LmZjLXRpbWUtZ3JpZC1jb250YWluZXIge1xuXHRcdC8qICovXG5cdFx0b3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcblx0XHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0fVxuXHQvKiBraWxsIHRoZSBob3Jpem9udGFsIGJvcmRlci9wYWRkaW5nIHVzZWQgdG8gY29tcGVuc2F0ZSBmb3Igc2Nyb2xsYmFycyAqL1xuXHQuZmMtcm93IHtcblx0XHRib3JkZXI6IDAgIWltcG9ydGFudDtcblx0XHRtYXJnaW46IDAgIWltcG9ydGFudDtcblx0fVxuXHQvKiBCdXR0b24gQ29udHJvbHNcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXHQuZmMgYnV0dG9uLFxuXHQuZmMtYnV0dG9uLWdyb3VwIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdC8qIGRvbid0IGRpc3BsYXkgYW55IGJ1dHRvbi1yZWxhdGVkIGNvbnRyb2xzICovXG5cdH1cbn0iLCJAaW1wb3J0ICdmdWxsY2FsZW5kYXIvZnVsbGNhbGVuZGFyJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdicmVha3BvaW50cyc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuYm9keSB7XG5cdCNldmVudHMtbW9kdWxlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWFyZ2luOiA0MHB4IDA7XG5cdH1cblx0I2Z3LWNhbGVuZGFyIHtcblx0XHRtaW4taGVpZ2h0OiA4MDBweDtcblx0XHQuZmMtdG9vbGJhci1jaHVuazpmaXJzdC1jaGlsZCB7XG5cdFx0XHQ+IGRpdiB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdGNvbG9yOiAkeWVsbG93O1xuXHRcdFx0XHRAaW5jbHVkZSB1cC10by1tb2JpbGUge1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdFx0fVxuXHRcdFx0XHRoMiB7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzJweDtcblx0XHRcdFx0XHRAaW5jbHVkZSB1cC10by1tb2JpbGUge1xuXHRcdFx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNnB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRidXR0b24ge1xuXHRcdFx0XHRcdGNvbG9yOiAkeWVsbG93O1xuXHRcdFx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdFx0QGluY2x1ZGUgdHJhbkM7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZnJvbS10YWJsZXQge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGJsdWU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIHVwLXRvLW1vYmlsZSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDVweDtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdFx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5mYy10b29sYmFyLWNodW5rOm50aC1jaGlsZCgzKSB7XG5cdFx0XHRAaW5jbHVkZSBmcm9tLXRhYmxldCB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmZjLXNjcm9sbGdyaWQge1xuXHRcdFx0LmZjLWNvbC1oZWFkZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcblx0XHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuZmMtZGF5Z3JpZC1ib2R5IHtcblx0XHRcdHRyOm50aC1jaGlsZCgybikge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuZmMtbGlzdFdlZWstdmlldyB7XG5cdFx0XHRvdmVyZmxvdzogYXV0bztcblx0XHR9XG5cdFx0LmZjLXRpbWUge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHQuZmMtbGlzdC1pdGVtIHRkIHtcblx0XHRcdEBpbmNsdWRlIHRyYW5CO1xuXHRcdH1cblxuXHRcdC5mYy1idXR0b24tcHJpbWFyeSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGVmYXVsdDtcblx0XHRcdGJvcmRlcjogbm9uZTtcblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6bm90KDpkaXNhYmxlZCk6YWN0aXZlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkZGVmYXVsdCwgMTApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5mYy1idXR0b24tcHJpbWFyeTpub3QoOmRpc2FibGVkKS5mYy1idXR0b24tYWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3c7XG5cdFx0XHRjb2xvcjogJHByaW1hcnk7XG5cdFx0fVxuXG5cdFx0LmZjLWJ1dHRvbi1ncm91cCA+IC5mYy1idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0fVxuXG5cdFx0LmZjLWhlYWRlci10b29sYmFyIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDIwcHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyNHB4O1xuXHRcdH1cblxuXHRcdC5mYy1zY3JvbGxlciB7XG5cdFx0XHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHQuZmMtdG9vbGJhciB7XG5cdFx0XHRAaW5jbHVkZSB1cC10by1tb2JpbGUge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0XHQ+IGRpdiB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5mYy1kYXlncmlkLWRheSB7XG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHR9XG5cblx0XHQuZmMtdW50aGVtZWQgLmZjLWxpc3QtZW1wdHkge1xuXHRcdFx0cGFkZGluZzogMjBweCAxMHB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0fVxuXG5cdFx0I2Z3LWNhbGVuZGFyLndhaXRpbmcge1xuXHRcdFx0LmZjLWxpc3QtZW1wdHkge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5mYy1kYXlncmlkLWV2ZW50LWRvdCxcblx0XHQuZmMtbGlzdC1ldmVudC1ncmFwaGljIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0LmZjLWxpc3QtdGFibGUgdGQge1xuXHRcdFx0Ym9yZGVyLXdpZHRoOiAwO1xuXHRcdH1cblxuXHRcdC5mYy1saXN0LWV2ZW50OmhvdmVyIHRkIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG5cdFx0fVxuXHRcdC5mYy1ldmVudCB7XG5cdFx0XHR3aGl0ZS1zcGFjZTogaW5pdGlhbDtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdHBhZGRpbmc6IDNweCA1cHg7XG5cdFx0XHRtYXJnaW46IDVweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuXHRcdFx0QGluY2x1ZGUgdHJhbkI7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYmx1ZSwgMTApO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmW2RhdGEtc291cmNlLXR5cGU9J2ljcyddIC5mYy1ldmVudCB7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlLWNlbnRyZSB7XG5cdGZyb20ge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDApO1xuXHR9XG5cblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG5cdH1cbn1cblxuI2V2ZW50cy12aWV3LXN3dGljaCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IDA7XG5cdHRvcDogOHB4O1xuXHRjb2xvcjogJGJsdWU7XG5cdEBpbmNsdWRlIHVwLXRvLW1vYmlsZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRhIHtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdFx0b3BhY2l0eTogMC42O1xuXHRcdEBpbmNsdWRlIHRyYW5PO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQmOmhvdmVyLFxuXHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXG5cdFx0Ji5pcy1hY3RpdmUge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHR9XG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDMwcHg7XG5cdFx0XHRAaW5jbHVkZSB2LWxpbmUge1xuXHRcdFx0XHRyaWdodDogLTE1cHg7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuXHRcdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0XHRcdHRvcDogM3B4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uZXZlbnQtaXRlbXMge1xuXHRAaW5jbHVkZSBuLWNvbC1sYXlvdXQoMiwgNDBweCk7XG59XG4uZXZlbnQtaXRlbSB7XG5cdHBhZGRpbmctYm90dG9tOiA0MHB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlcjtcblx0aDMge1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRsaW5lLWhlaWdodDogMjhweDtcblx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0Y29sb3I6ICRwcmltYXJ5O1xuXHR9XG5cblx0LnBvc3QtZGF0ZSB7XG5cdFx0cGFkZGluZzogNXB4IDE1cHg7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGJvcmRlci1yYWRpdXM6IDAgJGJ1dHRvbi1yYWRpdXMgJGJ1dHRvbi1yYWRpdXMgMDtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XG5cdFx0Y29sb3I6ICRwcmltYXJ5O1xuXHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0fVxuXG5cdC5ldmVudC1sb2NhdGlvbiB7XG5cdFx0bWFyZ2luLXRvcDogMTVweDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdGNvbG9yOiAkcHJpbWFyeTtcblxuXHRcdGkge1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0d2lkdGg6IDIwcHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjRweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cblx0XHQ+IHNwYW4ge1xuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuXHRcdH1cblx0fVxufVxuLmV2ZW50LWl0ZW1zLWhlYWRlciB7XG5cdGhlaWdodDogNTkuNTJweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXI7XG5cdHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAyNHB4O1xuXHRAaW5jbHVkZSB1cC10by1tb2JpbGUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cbiNmdy1jYWxlbmRhci1sb2FkaW5nIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAyMHB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDMwcHg7XG5cdGFuaW1hdGlvbi1uYW1lOiByb3RhdGUtY2VudHJlO1xuXHRhbmltYXRpb24tZHVyYXRpb246IDAuOHM7XG5cdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDIwO1xuXHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG59XG4iLCIvKiBEYXlHcmlkVmlld1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogZGF5IHJvdyBzdHJ1Y3R1cmUgKi9cbi5mYy1kYXlHcmlkRGF5LXZpZXcgLmZjLWNvbnRlbnQtc2tlbGV0b24sXG4uZmMtZGF5R3JpZFdlZWstdmlldyAuZmMtY29udGVudC1za2VsZXRvbiB7XG5cdC8qIHRoZXJlIG1heSBiZSB3ZWVrIG51bWJlcnMgaW4gdGhlc2Ugdmlld3MsIHNvIG5vIHBhZGRpbmctdG9wICovXG5cdHBhZGRpbmctYm90dG9tOiAxZW07XG5cdC8qIGVuc3VyZSBhIHNwYWNlIGF0IGJvdHRvbSBvZiBjZWxsIGZvciB1c2VyIHNlbGVjdGluZy9jbGlja2luZyAqL1xufVxuXG4uZmMtZGF5R3JpZC12aWV3IC5mYy1ib2R5IC5mYy1yb3cge1xuXHRtaW4taGVpZ2h0OiA0ZW07XG5cdC8qIGVuc3VyZSB0aGF0IGFsbCByb3dzIGFyZSBhdCBsZWFzdCB0aGlzIHRhbGwgKi9cbn1cbi8qIGEgXCJyaWdpZFwiIHJvdyB3aWxsIHRha2UgdXAgYSBjb25zdGFudCBhbW91bnQgb2YgaGVpZ2h0IGJlY2F1c2UgY29udGVudC1za2VsZXRvbiBpcyBhYnNvbHV0ZSAqL1xuLmZjLXJvdy5mYy1yaWdpZCB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5mYy1yb3cuZmMtcmlnaWQgLmZjLWNvbnRlbnQtc2tlbGV0b24ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG59XG4vKiB3ZWVrIGFuZCBkYXkgbnVtYmVyIHN0eWxpbmcgKi9cbi5mYy1kYXktdG9wLmZjLW90aGVyLW1vbnRoIHtcblx0b3BhY2l0eTogMC4zO1xufVxuXG4uZmMtZGF5R3JpZC12aWV3IC5mYy1kYXktbnVtYmVyLFxuLmZjLWRheUdyaWQtdmlldyAuZmMtd2Vlay1udW1iZXIge1xuXHRwYWRkaW5nOiAycHg7XG59XG5cbi5mYy1kYXlHcmlkLXZpZXcgdGguZmMtZGF5LW51bWJlcixcbi5mYy1kYXlHcmlkLXZpZXcgdGguZmMtd2Vlay1udW1iZXIge1xuXHRwYWRkaW5nOiAwIDJweDtcblx0LyogY29sdW1uIGhlYWRlcnMgY2FuJ3QgaGF2ZSBhcyBtdWNoIHYgc3BhY2UgKi9cbn1cblxuLmZjLWx0ciAuZmMtZGF5R3JpZC12aWV3IC5mYy1kYXktdG9wIC5mYy1kYXktbnVtYmVyIHtcblx0ZmxvYXQ6IHJpZ2h0O1xufVxuXG4uZmMtcnRsIC5mYy1kYXlHcmlkLXZpZXcgLmZjLWRheS10b3AgLmZjLWRheS1udW1iZXIge1xuXHRmbG9hdDogbGVmdDtcbn1cblxuLmZjLWx0ciAuZmMtZGF5R3JpZC12aWV3IC5mYy1kYXktdG9wIC5mYy13ZWVrLW51bWJlciB7XG5cdGZsb2F0OiBsZWZ0O1xuXHRib3JkZXItcmFkaXVzOiAwIDAgM3B4IDA7XG59XG5cbi5mYy1ydGwgLmZjLWRheUdyaWQtdmlldyAuZmMtZGF5LXRvcCAuZmMtd2Vlay1udW1iZXIge1xuXHRmbG9hdDogcmlnaHQ7XG5cdGJvcmRlci1yYWRpdXM6IDAgMCAwIDNweDtcbn1cblxuLmZjLWRheUdyaWQtdmlldyAuZmMtZGF5LXRvcCAuZmMtd2Vlay1udW1iZXIge1xuXHRtaW4td2lkdGg6IDEuNWVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG5cdGNvbG9yOiAjODA4MDgwO1xufVxuLyogd2hlbiB3ZWVrL2RheSBudW1iZXIgaGF2ZSBvd24gY29sdW1uICovXG4uZmMtZGF5R3JpZC12aWV3IHRkLmZjLXdlZWstbnVtYmVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZmMtZGF5R3JpZC12aWV3IHRkLmZjLXdlZWstbnVtYmVyID4gKiB7XG5cdC8qIHdvcmsgYXJvdW5kIHRoZSB3YXkgd2UgZG8gY29sdW1uIHJlc2l6aW5nIGFuZCBlbnN1cmUgYSBtaW5pbXVtIHdpZHRoICovXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWluLXdpZHRoOiAxLjI1ZW07XG59IiwiLyogTGlzdCBWaWV3XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBwb3NzaWJseSByZXVzYWJsZSAqL1xuLmZjLWV2ZW50LWRvdCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IDEwcHg7XG5cdGhlaWdodDogMTBweDtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xufVxuLyogdmlldyB3cmFwcGVyICovXG4uZmMtcnRsIC5mYy1saXN0LXZpZXcge1xuXHRkaXJlY3Rpb246IHJ0bDtcblx0LyogdW5saWtlIGNvcmUgdmlld3MsIGxldmVyYWdlIGJyb3dzZXIgUlRMICovXG59XG5cbi5mYy1saXN0LXZpZXcge1xuXHRib3JkZXItd2lkdGg6IDFweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbi8qIHRhYmxlIHJlc2V0cyAqL1xuLmZjIC5mYy1saXN0LXRhYmxlIHtcblx0dGFibGUtbGF5b3V0OiBhdXRvO1xuXHQvKiBmb3Igc2hyaW5rd3JhcHBpbmcgY2VsbCBjb250ZW50ICovXG59XG5cbi5mYy1saXN0LXRhYmxlIHRkIHtcblx0Ym9yZGVyLXdpZHRoOiAxcHggMCAwO1xuXHRwYWRkaW5nOiA4cHggMTRweDtcbn1cblxuLmZjLWxpc3QtdGFibGUgdHI6Zmlyc3QtY2hpbGQgdGQge1xuXHRib3JkZXItdG9wLXdpZHRoOiAwO1xufVxuLyogZGF5IGhlYWRpbmdzIHdpdGggdGhlIGxpc3QgKi9cbi5mYy1saXN0LWhlYWRpbmcge1xuXHRib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG59XG5cbi5mYy1saXN0LWhlYWRpbmcgdGQge1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmZjLWx0ciAuZmMtbGlzdC1oZWFkaW5nLW1haW4ge1xuXHRmbG9hdDogbGVmdDtcbn1cblxuLmZjLWx0ciAuZmMtbGlzdC1oZWFkaW5nLWFsdCB7XG5cdGZsb2F0OiByaWdodDtcbn1cblxuLmZjLXJ0bCAuZmMtbGlzdC1oZWFkaW5nLW1haW4ge1xuXHRmbG9hdDogcmlnaHQ7XG59XG5cbi5mYy1ydGwgLmZjLWxpc3QtaGVhZGluZy1hbHQge1xuXHRmbG9hdDogbGVmdDtcbn1cbi8qIGV2ZW50IGxpc3QgaXRlbXMgKi9cbi5mYy1saXN0LWl0ZW0uZmMtaGFzLXVybCB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Lyogd2hvbGUgcm93IHdpbGwgYmUgY2xpY2thYmxlICovXG59XG5cbi5mYy1saXN0LWl0ZW0tbWFya2VyLFxuLmZjLWxpc3QtaXRlbS10aW1lIHtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0d2lkdGg6IDFweDtcbn1cbi8qIG1ha2UgdGhlIGRvdCBjbG9zZXIgdG8gdGhlIGV2ZW50IHRpdGxlICovXG4uZmMtbHRyIC5mYy1saXN0LWl0ZW0tbWFya2VyIHtcblx0cGFkZGluZy1yaWdodDogMDtcbn1cblxuLmZjLXJ0bCAuZmMtbGlzdC1pdGVtLW1hcmtlciB7XG5cdHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmZjLWxpc3QtaXRlbS10aXRsZSBhIHtcblx0LyogZXZlcnkgZXZlbnQgdGl0bGUgY2VsbCBoYXMgYW4gPGE+IHRhZyAqL1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGNvbG9yOiBpbmhlcml0O1xufVxuXG4uZmMtbGlzdC1pdGVtLXRpdGxlIGFbaHJlZl06aG92ZXIge1xuXHQvKiBob3ZlciBlZmZlY3Qgb25seSBvbiB0aXRsZXMgd2l0aCBocmVmcyAqL1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi8qIG1lc3NhZ2Ugd2hlbiBubyBldmVudHMgKi9cbi5mYy1saXN0LWVtcHR5LXdyYXAyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRib3R0b206IDA7XG59XG5cbi5mYy1saXN0LWVtcHR5LXdyYXAxIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogdGFibGU7XG59XG5cbi5mYy1saXN0LWVtcHR5IHtcblx0ZGlzcGxheTogdGFibGUtY2VsbDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZmMtdW50aGVtZWQgLmZjLWxpc3QtZW1wdHkge1xuXHQvKiB0aGVtZSB3aWxsIHByb3ZpZGUgb3duIGJhY2tncm91bmQgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG4vKiBUaW1lR3JpZFZpZXcgYWxsLWRheSBhcmVhXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdGltZUdyaWQtdmlldyAuZmMtZGF5LWdyaWQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDI7XG5cdC8qIHNvIHRoZSBcIm1vcmUuLlwiIHBvcG92ZXIgd2lsbCBiZSBvdmVyIHRoZSB0aW1lIGdyaWQgKi9cbn1cblxuLmZjLXRpbWVHcmlkLXZpZXcgLmZjLWRheS1ncmlkIC5mYy1yb3cge1xuXHRtaW4taGVpZ2h0OiAzZW07XG5cdC8qIGFsbC1kYXkgc2VjdGlvbiB3aWxsIG5ldmVyIGdldCBzaG9ydGVyIHRoYW4gdGhpcyAqL1xufVxuXG4uZmMtdGltZUdyaWQtdmlldyAuZmMtZGF5LWdyaWQgLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB7XG5cdHBhZGRpbmctYm90dG9tOiAxZW07XG5cdC8qIGdpdmUgc3BhY2UgdW5kZXJuZWF0aCBldmVudHMgZm9yIGNsaWNraW5nL3NlbGVjdGluZyBkYXlzICovXG59XG4vKiBUaW1lR3JpZCBheGlzIHJ1bm5pbmcgZG93biB0aGUgc2lkZSAoZm9yIGJvdGggdGhlIGFsbC1kYXkgYXJlYSBhbmQgdGhlIHNsb3QgYXJlYSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYyAuZmMtYXhpcyB7XG5cdC8qIC5mYyB0byBvdmVyY29tZSBkZWZhdWx0IGNlbGwgc3R5bGVzICovXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHBhZGRpbmc6IDAgNHB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZmMtbHRyIC5mYy1heGlzIHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5mYy1ydGwgLmZjLWF4aXMge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLyogVGltZUdyaWQgU3RydWN0dXJlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdGltZS1ncmlkLFxuLmZjLXRpbWUtZ3JpZC1jb250YWluZXIge1xuXHQvKiBzbyBzbGF0cy9iZy9jb250ZW50L2V0YyBwb3NpdGlvbnMgZ2V0IHNjb3BlZCB3aXRoaW4gaGVyZSAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG59XG5cbi5mYy10aW1lLWdyaWQge1xuXHRtaW4taGVpZ2h0OiAxMDAlO1xuXHQvKiBzbyBpZiBoZWlnaHQgc2V0dGluZyBpcyAnYXV0bycsIC5mYy1iZyBzdHJldGNoZXMgdG8gZmlsbCBoZWlnaHQgKi9cbn1cblxuLmZjLXRpbWUtZ3JpZCB0YWJsZSB7XG5cdC8qIGRvbid0IHB1dCBvdXRlciBib3JkZXJzIG9uIHNsYXRzL2JnL2NvbnRlbnQvZXRjICovXG5cdGJvcmRlcjogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7XG59XG5cbi5mYy10aW1lLWdyaWQgPiAuZmMtYmcge1xuXHR6LWluZGV4OiAxO1xufVxuXG4uZmMtdGltZS1ncmlkIC5mYy1zbGF0cyxcbi5mYy10aW1lLWdyaWQgPiBociB7XG5cdC8qIHRoZSA8aHI+IFRpbWVHcmlkVmlldyBpbmplY3RzIHdoZW4gZ3JpZCBpcyBzaG9ydGVyIHRoYW4gc2Nyb2xsZXIgKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyO1xufVxuXG4uZmMtdGltZS1ncmlkIC5mYy1jb250ZW50LWNvbCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0LyogYmVjYXVzZSBub3ctaW5kaWNhdG9yIGxpdmVzIGRpcmVjdGx5IGluc2lkZSAqL1xufVxuXG4uZmMtdGltZS1ncmlkIC5mYy1jb250ZW50LXNrZWxldG9uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAzO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xufVxuLyogZGl2cyB3aXRoaW4gYSBjZWxsIHdpdGhpbiB0aGUgZmMtY29udGVudC1za2VsZXRvbiAqL1xuLmZjLXRpbWUtZ3JpZCAuZmMtYnVzaW5lc3MtY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xufVxuXG4uZmMtdGltZS1ncmlkIC5mYy1iZ2V2ZW50LWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjtcbn1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtaGlnaGxpZ2h0LWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMztcbn1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQtY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiA0O1xufVxuXG4uZmMtdGltZS1ncmlkIC5mYy1ub3ctaW5kaWNhdG9yLWxpbmUge1xuXHR6LWluZGV4OiA1O1xufVxuXG4uZmMtdGltZS1ncmlkIC5mYy1taXJyb3ItY29udGFpbmVyIHtcblx0LyogYWxzbyBpcyBmYy1ldmVudC1jb250YWluZXIgKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiA2O1xufVxuLyogVGltZUdyaWQgU2xhdHMgKGxpbmVzIHRoYXQgcnVuIGhvcml6b250YWxseSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy10aW1lLWdyaWQgLmZjLXNsYXRzIHRkIHtcblx0aGVpZ2h0OiAxLjVlbTtcblx0Ym9yZGVyLWJvdHRvbTogMDtcblx0LyogZWFjaCBjZWxsIGlzIHJlc3BvbnNpYmxlIGZvciBpdHMgdG9wIGJvcmRlciAqL1xufVxuXG4uZmMtdGltZS1ncmlkIC5mYy1zbGF0cyAuZmMtbWlub3IgdGQge1xuXHRib3JkZXItdG9wLXN0eWxlOiBkb3R0ZWQ7XG59XG4vKiBUaW1lR3JpZCBIaWdobGlnaHRpbmcgU2xvdHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy10aW1lLWdyaWQgLmZjLWhpZ2hsaWdodC1jb250YWluZXIge1xuXHQvKiBhIGRpdiB3aXRoaW4gYSBjZWxsIHdpdGhpbiB0aGUgZmMtaGlnaGxpZ2h0LXNrZWxldG9uICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Lyogc2NvcGVzIHRoZSBsZWZ0L3JpZ2h0IG9mIHRoZSBmYy1oaWdobGlnaHQgdG8gYmUgaW4gdGhlIGNvbHVtbiAqL1xufVxuXG4uZmMtdGltZS1ncmlkIC5mYy1oaWdobGlnaHQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHQvKiB0b3AgYW5kIGJvdHRvbSB3aWxsIGJlIGluIGJ5IEpTICovXG59XG4vKiBUaW1lR3JpZCBFdmVudCBDb250YWlubWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWx0ciAuZmMtdGltZS1ncmlkIC5mYy1ldmVudC1jb250YWluZXIge1xuXHQvKiBzcGFjZSBvbiB0aGUgc2lkZXMgb2YgZXZlbnRzIGZvciBMVFIgKGRlZmF1bHQpICovXG5cdG1hcmdpbjogMCAyLjUlIDAgMnB4O1xufVxuXG4uZmMtcnRsIC5mYy10aW1lLWdyaWQgLmZjLWV2ZW50LWNvbnRhaW5lciB7XG5cdC8qIHNwYWNlIG9uIHRoZSBzaWRlcyBvZiBldmVudHMgZm9yIFJUTCAqL1xuXHRtYXJnaW46IDAgMnB4IDAgMi41JTtcbn1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtYmdldmVudCxcbi5mYy10aW1lLWdyaWQgLmZjLWV2ZW50IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxO1xuXHQvKiBzY29wZSBpbm5lciB6LWluZGV4J3MgKi9cbn1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtYmdldmVudCB7XG5cdC8qIGJhY2tncm91bmQgZXZlbnRzIGFsd2F5cyBzcGFuIGZ1bGwgd2lkdGggKi9cblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG59XG4vKiBUaW1lR3JpZCBFdmVudCBTdHlsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5XZSB1c2UgdGhlIGZ1bGwgXCJmYy10aW1lLWdyaWQtZXZlbnRcIiBjbGFzcyBpbnN0ZWFkIG9mIHVzaW5nIGRlc2NlbmRhbnRzIGJlY2F1c2UgdGhlIGV2ZW50IHdvbid0XG5iZSBhIGRlc2NlbmRhbnQgb2YgdGhlIGdyaWQgd2hlbiBpdCBpcyBiZWluZyBkcmFnZ2VkLlxuKi9cbi5mYy10aW1lLWdyaWQtZXZlbnQge1xuXHRtYXJnaW4tYm90dG9tOiAxcHg7XG59XG5cbi5mYy10aW1lLWdyaWQtZXZlbnQtaW5zZXQge1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmO1xuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZjtcbn1cblxuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1ub3Qtc3RhcnQge1xuXHQvKiBldmVudHMgdGhhdCBhcmUgY29udGludWluZyBmcm9tIGFub3RoZXIgZGF5ICovXG5cdC8qIHJlcGxhY2Ugc3BhY2UgbWFkZSBieSB0aGUgdG9wIGJvcmRlciB3aXRoIHBhZGRpbmcgKi9cblx0Ym9yZGVyLXRvcC13aWR0aDogMDtcblx0cGFkZGluZy10b3A6IDFweDtcblx0LyogcmVtb3ZlIHRvcCByb3VuZGVkIGNvcm5lcnMgKi9cblx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcblx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG5cbi5mYy10aW1lLWdyaWQtZXZlbnQuZmMtbm90LWVuZCB7XG5cdC8qIHJlcGxhY2Ugc3BhY2UgbWFkZSBieSB0aGUgdG9wIGJvcmRlciB3aXRoIHBhZGRpbmcgKi9cblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMDtcblx0cGFkZGluZy1ib3R0b206IDFweDtcblx0LyogcmVtb3ZlIGJvdHRvbSByb3VuZGVkIGNvcm5lcnMgKi9cblx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcblx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG5cbi5mYy10aW1lLWdyaWQtZXZlbnQgLmZjLWNvbnRlbnQge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRtYXgtaGVpZ2h0OiAxMDAlO1xufVxuXG4uZmMtdGltZS1ncmlkLWV2ZW50IC5mYy10aW1lLFxuLmZjLXRpbWUtZ3JpZC1ldmVudCAuZmMtdGl0bGUge1xuXHRwYWRkaW5nOiAwIDFweDtcbn1cblxuLmZjLXRpbWUtZ3JpZC1ldmVudCAuZmMtdGltZSB7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLyogc2hvcnQgbW9kZSwgd2hlcmUgdGltZSBhbmQgdGl0bGUgYXJlIG9uIHRoZSBzYW1lIGxpbmUgKi9cbi5mYy10aW1lLWdyaWQtZXZlbnQuZmMtc2hvcnQgLmZjLWNvbnRlbnQge1xuXHQvKiBkb24ndCB3cmFwIHRvIHNlY29uZCBsaW5lIChub3cgdGhhdCBjb250ZW50cyB3aWxsIGJlIGlubGluZSkgKi9cblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zaG9ydCAuZmMtdGltZSxcbi5mYy10aW1lLWdyaWQtZXZlbnQuZmMtc2hvcnQgLmZjLXRpdGxlIHtcblx0LyogcHV0IHRoZSB0aW1lIGFuZCB0aXRsZSBvbiB0aGUgc2FtZSBsaW5lICovXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zaG9ydCAuZmMtdGltZSBzcGFuIHtcblx0ZGlzcGxheTogbm9uZTtcblx0LyogZG9uJ3QgZGlzcGxheSB0aGUgZnVsbCB0aW1lIHRleHQuLi4gKi9cbn1cblxuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zaG9ydCAuZmMtdGltZTpiZWZvcmUge1xuXHRjb250ZW50OiBhdHRyKGRhdGEtc3RhcnQpO1xuXHQvKiAuLi5pbnN0ZWFkLCBkaXNwbGF5IG9ubHkgdGhlIHN0YXJ0IHRpbWUgKi9cbn1cblxuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zaG9ydCAuZmMtdGltZTphZnRlciB7XG5cdGNvbnRlbnQ6IFwiIC0gXCI7XG5cdC8qIHNlcGVyYXRlIHdpdGggYSBkYXNoLCB3cmFwcGVkIGluIG5ic3AncyAqL1xufVxuXG4uZmMtdGltZS1ncmlkLWV2ZW50LmZjLXNob3J0IC5mYy10aXRsZSB7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHQvKiBtYWtlIHRoZSB0aXRsZSB0ZXh0IHRoZSBzYW1lIHNpemUgYXMgdGhlIHRpbWUgKi9cblx0cGFkZGluZzogMDtcblx0LyogdW5kbyBwYWRkaW5nIGZyb20gYWJvdmUgKi9cbn1cbi8qIHJlc2l6ZXIgKGN1cnNvciBkZXZpY2UpICovXG4uZmMtdGltZS1ncmlkLWV2ZW50LmZjLWFsbG93LW1vdXNlLXJlc2l6ZSAuZmMtcmVzaXplciB7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRib3R0b206IDA7XG5cdGhlaWdodDogOHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRsaW5lLWhlaWdodDogOHB4O1xuXHRmb250LXNpemU6IDExcHg7XG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y3Vyc29yOiBzLXJlc2l6ZTtcbn1cblxuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1hbGxvdy1tb3VzZS1yZXNpemUgLmZjLXJlc2l6ZXI6YWZ0ZXIge1xuXHRjb250ZW50OiBcIj1cIjtcbn1cbi8qIHJlc2l6ZXIgKHRvdWNoIGRldmljZSkgKi9cbi5mYy10aW1lLWdyaWQtZXZlbnQuZmMtc2VsZWN0ZWQgLmZjLXJlc2l6ZXIge1xuXHQvKiAxMHgxMCBkb3QgKi9cblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRib3JkZXItd2lkdGg6IDFweDtcblx0d2lkdGg6IDhweDtcblx0aGVpZ2h0OiA4cHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogaW5oZXJpdDtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0LyogaG9yaXpvbnRhbGx5IGNlbnRlciAqL1xuXHRsZWZ0OiA1MCU7XG5cdG1hcmdpbi1sZWZ0OiAtNXB4O1xuXHQvKiBjZW50ZXIgb24gdGhlIGJvdHRvbSBlZGdlICovXG5cdGJvdHRvbTogLTVweDtcbn1cbi8qIE5vdyBJbmRpY2F0b3Jcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy10aW1lLWdyaWQgLmZjLW5vdy1pbmRpY2F0b3ItbGluZSB7XG5cdGJvcmRlci10b3Atd2lkdGg6IDFweDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG59XG4vKiBhcnJvdyBvbiBheGlzICovXG4uZmMtdGltZS1ncmlkIC5mYy1ub3ctaW5kaWNhdG9yLWFycm93IHtcblx0bWFyZ2luLXRvcDogLTVweDtcblx0LyogdmVydGljYWxseSBjZW50ZXIgb24gdG9wIGNvb3JkaW5hdGUgKi9cbn1cblxuLmZjLWx0ciAuZmMtdGltZS1ncmlkIC5mYy1ub3ctaW5kaWNhdG9yLWFycm93IHtcblx0bGVmdDogMDtcblx0LyogdHJpYW5nbGUgcG9pbnRpbmcgcmlnaHQuLi4gKi9cblx0Ym9yZGVyLXdpZHRoOiA1cHggMCA1cHggNnB4O1xuXHRib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5mYy1ydGwgLmZjLXRpbWUtZ3JpZCAuZmMtbm93LWluZGljYXRvci1hcnJvdyB7XG5cdHJpZ2h0OiAwO1xuXHQvKiB0cmlhbmdsZSBwb2ludGluZyBsZWZ0Li4uICovXG5cdGJvcmRlci13aWR0aDogNXB4IDZweCA1cHggMDtcblx0Ym9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xufSIsIi8qQ29sb3VycyovXG4kZ3JlZW46ICMyMzQyM2E7XG4keWVsbG93OiAjZmVjYjAwO1xuJGJsdWU6ICM2YWFkZTQ7XG4kcHJpbWFyeTogJGdyZWVuO1xuJHNlY29uZGFyeTogJHllbGxvdztcbiR0ZXJ0aWFyeTogJGJsdWU7XG4kZGVmYXVsdDogIzYyNjI2MjtcbiRib3JkZXI6ICNlOGU4ZTg7XG4kY29sb3JzLWxpc3Q6IChcblx0cHJpbWFyeTogJHByaW1hcnksXG5cdHNlY29uZGFyeTogJHNlY29uZGFyeSxcblx0dGVydGlhcnk6ICR0ZXJ0aWFyeSxcblx0Y2NjLXdoaXRlOiAjZmZmZmZmLFxuXHRkZWZhdWx0OiAkZGVmYXVsdFxuKTtcbiRlcnJvcjogI2NjNTU1NTtcbi8qRWxlbWVudCBTaXplcyovXG4kZGVmYXVsdFRvcEdhcDogNnB4O1xuJGRlZmF1bHRCb3R0b21HYXA6IDEwcHg7XG4kYnV0dG9uLWhlaWdodDogNDZweDtcbiRidXR0b24tcmFkaXVzOiAyMHB4O1xuJGZvbnRTaXplOiAxNnB4O1xuJGxpbmVIZWlnaHQ6IDI0cHg7XG4vKlNjcmVlbiBTaXplcyovXG4kc21hbGwtd2lkdGg6IDQyNXB4O1xuJHRhYmxldC13aWR0aDogNzY4cHg7XG4kZGVza3RvcC13aWR0aDogMTAyNHB4O1xuJGxhcmdlLXdpZHRoOiAxNDQwcHg7XG4kZGVmYXVsdFdpZGU6IDEyNDBweDtcbiIsIkBtaXhpbiBlYWNoKCRudW0pIHtcblx0JjpudGgtY2hpbGQoI3skbnVtfW4pIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuQG1peGluIGZpcnN0KCRudW0pIHtcblx0JjpudGgtY2hpbGQoLW4gKyAjeyRudW19KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cbkBtaXhpbiBsYXN0KCRudW0pIHtcblx0JjpudGgtbGFzdC1jaGlsZCgtbiArICN7JG51bX0pIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuQG1peGluIHJvdyB7XG5cdCp6b29tOiAxO1xuXHRkaXNwbGF5OiBibG9jaztcblxuXHQmOmFmdGVyLFxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyAnO1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHR9XG5cblx0JjphZnRlciB7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdH1cbn1cbkBtaXhpbiBldmVuKCkge1xuXHQmOm50aC1jaGlsZChldmVuKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cbkBtaXhpbiBvZGQoKSB7XG5cdCY6bnRoLWNoaWxkKG9kZCkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5AbWl4aW4gZmlyc3QtY2hpbGQoKSB7XG5cdCY6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cbkBtaXhpbiBsYXN0LWNoaWxkKCkge1xuXHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cbkBtaXhpbiBwbGFjZWhvbGRlciB7XG5cdCYucGxhY2Vob2xkZXIge1xuXHRcdEBjb250ZW50O1xuXHR9XG5cblx0JjotbW96LXBsYWNlaG9sZGVyIHtcblx0XHRAY29udGVudDtcblx0fVxuXG5cdCY6Oi1tb3otcGxhY2Vob2xkZXIge1xuXHRcdEBjb250ZW50O1xuXHR9XG5cblx0Jjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cbkBtaXhpbiBtYXgtd2lkdGgoJHdpZHRoKSB7XG5cdG1heC13aWR0aDogJHdpZHRoO1xuXHRtYXJnaW46IDAgYXV0bztcblx0d2lkdGg6IDEwMCU7XG59XG5AbWl4aW4gY29tbW9uLWJhY2tncm91bmQge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5AbWl4aW4gYXJyb3cge1xuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiAnXFxmMTA3Jztcblx0XHRmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRmb250LXdlaWdodDogMzAwO1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5AbWl4aW4gaC1jZW50ZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuQG1peGluIHYtY2VudGVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuQG1peGluIGYtY2VudGVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHdpZHRoLCAkaGVpZ2h0KSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmOmJlZm9yZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZy10b3A6IGNhbGMoKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJSk7XG5cdH1cblxuXHQ+IC5jb250ZW50IHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHR9XG59XG5AbWl4aW4gaC1saW5lIHtcblx0JjphZnRlciB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGhlaWdodDogMXB4O1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5AbWl4aW4gdi1saW5lIHtcblx0JjphZnRlciB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiAxcHg7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cbkBtaXhpbiBmdWxsc2l6ZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5AbWl4aW4gY2xlYXIge1xuXHQmOmFmdGVyIHtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRjb250ZW50OiAnJztcblx0XHRjbGVhcjogYm90aDtcblx0fVxufVxuLy8gVHJhbnNpdGlvbiBzaG9ydGN1dHMgLSBPcHRpbWl6ZWQgZm9yIHBlcmZvcm1hbmNlXG4vLyBVc2luZyB0cmFuc2Zvcm0gYW5kIG9wYWNpdHkgZm9yIEdQVSBhY2NlbGVyYXRpb25cbkBtaXhpbiB0cmFuKCRhdHRyKSB7XG5cdHRyYW5zaXRpb246ICRhdHRyIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdC8vIFVzZSB3aWxsLWNoYW5nZSBmb3IgZnJlcXVlbnRseSBhbmltYXRlZCBwcm9wZXJ0aWVzXG5cdEBpZiAkYXR0ciA9PSB0cmFuc2Zvcm0gb3IgJGF0dHIgPT0gb3BhY2l0eSBvciAkYXR0ciA9PSAndHJhbnNmb3JtLCBvcGFjaXR5JyB7XG5cdFx0d2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcblx0fVxufVxuQG1peGluIHRyYW5CIHtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xuXHQvLyBCYWNrZ3JvdW5kLWNvbG9yIGNoYW5nZXMgZG9uJ3QgYmVuZWZpdCBmcm9tIHdpbGwtY2hhbmdlXG59XG5AbWl4aW4gdHJhbkMge1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xuXHQvLyBDb2xvciBjaGFuZ2VzIGRvbid0IGJlbmVmaXQgZnJvbSB3aWxsLWNoYW5nZVxufVxuQG1peGluIHRyYW5CQyB7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLWluLW91dCwgY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbn1cbkBtaXhpbiB0cmFuTyB7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcblx0d2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG59XG4vKkZsZXggbGF5b3VzdCBzaG9ydGN1dHMqL1xuQG1peGluIGlubGluZS1mbGV4IHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuQG1peGluIGNlbnRyZS1mbGV4IHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5AbWl4aW4gd2FpdC1zbGljayB7XG5cdG9wYWNpdHk6IDA7IC8vd2lsbCBiZWNvbWUgMSBhZnRlciBzbGljayBpcyBpbml0aWFsaXNlZDtcblx0QGluY2x1ZGUgdHJhbk87XG5cblx0Ji5zbGljay1pbml0aWFsaXplZCB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5AbWl4aW4gbi1jb2wtbGF5b3V0KCRuOiAzLCAkZ2FwOiAyMHB4LCAkZ2FwQm90dG9tOiAkZ2FwKSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHdpZHRoOiBjYWxjKDEwMCUgKyAjeyRnYXB9KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdEBpbmNsdWRlIHVwLXRvLW1vYmlsZSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQ+IGRpdiB7XG5cdFx0d2lkdGg6IGNhbGMoKDEwMCUgLSAjeyRuICogJGdhcH0pIC8jeyRufSk7XG5cdFx0bWFyZ2luLXJpZ2h0OiAkZ2FwO1xuXHRcdG1hcmdpbi1ib3R0b206ICRnYXBCb3R0b207XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdEBpbmNsdWRlIHVwLXRvLXRhYmxldCB7XG5cdFx0XHR3aWR0aDogY2FsYygoMTAwJSAtICN7MiAqICRnYXB9KSAvIDIpO1xuXHRcdH1cblx0XHRAaW5jbHVkZSB1cC10by1tb2JpbGUge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBmb3JjZWRGdWxsV2lkdGgge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDB2dztcblx0bGVmdDogY2FsYygoJGRlZmF1bHRXaWRlLzIgLSAyMHB4KSAtIDUwdncpO1xuXHRAbWVkaWEgKG1heC13aWR0aDogJGRlZmF1bHRXaWRlKSB7XG5cdFx0bGVmdDogLTIwcHg7XG5cdH1cbn1cbkBtaXhpbiB3aWRlIHtcblx0bWF4LXdpZHRoOiAkZGVmYXVsdFdpZGU7XG5cdHBhZGRpbmctbGVmdDogMjBweDtcblx0cGFkZGluZy1yaWdodDogMjBweDtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuQG1peGluIGNhcHRpb24ge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblx0bWFyZ2luLXRvcDogOHB4O1xuXHRjb2xvcjogcmdiYSgkZGVmYXVsdCwgMC44KTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWl4aW4gbm8tc2Nyb2xsYmFyIHtcblx0LyogSGlkZSBzY3JvbGxiYXIgZm9yIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYSAqL1xuXHQmOjotd2Via2l0LXNjcm9sbGJhciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHQtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG5cdC8qIElFIGFuZCBFZGdlICovXG5cdHNjcm9sbGJhci13aWR0aDogbm9uZTtcblx0LyogRmlyZWZveCAqL1xufVxuXG5AbWl4aW4gYWxpZ25YIHtcblx0LmFsaWdubGVmdCB7XG5cdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdG1hcmdpbi1yaWdodDogMS41ZW07XG5cdFx0bWFyZ2luLXRvcDogMTVweDtcblx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHR9XG5cdC5hbGlnbnJpZ2h0IHtcblx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdG1hcmdpbi1sZWZ0OiAxLjVlbTtcblx0XHRtYXJnaW4tdG9wOiAxNXB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHR9XG5cdC5hbGlnbmNlbnRlciB7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAxNXB4IGF1dG87XG5cdH1cblx0LmFsaWdubm9uZSB7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAxNXB4IGF1dG87XG5cdH1cblx0LmFsaWduY2VudGVyLFxuXHQuYWxpZ25sZWZ0LFxuXHQuYWxpZ25ub25lLFxuXHQuYWxpZ25yaWdodCB7XG5cdFx0QGluY2x1ZGUgdXAtdG8tbW9iaWxlIHtcblx0XHRcdG1heC13aWR0aDogMzAwcHg7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHR9XG5cdH1cbn1cbiIsIi8vIE1vYmlsZSBmaXJzdCBtaXhpblxuQG1peGluIGZyb20tbW9iaWxlIHtcblx0QG1lZGlhIChtaW4td2lkdGg6ICN7JHNtYWxsLXdpZHRofSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5AbWl4aW4gZnJvbS10YWJsZXQge1xuXHRAbWVkaWEgKG1pbi13aWR0aDogI3skdGFibGV0LXdpZHRofSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5AbWl4aW4gZnJvbS1kZXNrdG9wIHtcblx0QG1lZGlhIChtaW4td2lkdGg6ICN7JGRlc2t0b3Atd2lkdGh9KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cbkBtaXhpbiBmcm9tLWxhcmdlIHtcblx0QG1lZGlhIChtaW4td2lkdGg6ICN7JGxhcmdlLXdpZHRofSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG4vLyBEZXNrdG9wIGZpcnN0IG1peGluc1xuQG1peGluIHVwLXRvLXNtYWxsIHtcblx0QG1lZGlhIChtYXgtd2lkdGg6ICN7JHNtYWxsLXdpZHRoIC0gMXB4fSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5AbWl4aW4gdXAtdG8tbW9iaWxlIHtcblx0QG1lZGlhIChtYXgtd2lkdGg6ICN7JHRhYmxldC13aWR0aCAtIDFweH0pIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuQG1peGluIHVwLXRvLXRhYmxldCB7XG5cdEBtZWRpYSAobWF4LXdpZHRoOiAjeyRkZXNrdG9wLXdpZHRoIC0gMXB4fSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5AbWl4aW4gdXAtdG8tZGVza3RvcCB7XG5cdEBtZWRpYSAobWF4LXdpZHRoOiAjeyRsYXJnZS13aWR0aCAtIDFweH0pIHtcblx0XHRAY29udGVudDtcblx0fVxufSJdLCJzb3VyY2VSb290IjoiIn0= */