/*!
 * FullCalendar v3.10.5
 * Docs & License: https://fullcalendar.io/
 * (c) 2019 Adam Shaw
 */
.fc {
  direction: ltr;
  text-align: left; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.fc-clear {
  clear: both; }

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

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

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

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

.fc th {
  text-align: center; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Utilities
--------------------------------------------------------------------------------------------------*/
.fc-unselectable {
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.flatpickr-calendar {
  background: transparent;
  opacity: 0;
  display: none;
  text-align: center;
  visibility: hidden;
  padding: 0;
  -webkit-animation: none;
          animation: none;
  direction: ltr;
  border: 0;
  font-size: 14px;
  line-height: 24px;
  border-radius: 5px;
  position: absolute;
  width: 307.875px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  background: #fff;
  -webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0,0,0,0.08);
          box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0,0,0,0.08);
}
.flatpickr-calendar.open,
.flatpickr-calendar.inline {
  opacity: 1;
  max-height: 640px;
  visibility: visible;
}
.flatpickr-calendar.open {
  display: inline-block;
  z-index: 99999;
}
.flatpickr-calendar.animate.open {
  -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
          animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.flatpickr-calendar.inline {
  display: block;
  position: relative;
  top: 2px;
}
.flatpickr-calendar.static {
  position: absolute;
  top: calc(100% + 2px);
}
.flatpickr-calendar.static.open {
  z-index: 999;
  display: block;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
  -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
          box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.flatpickr-calendar .hasWeeks .dayContainer,
.flatpickr-calendar .hasTime .dayContainer {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.flatpickr-calendar .hasWeeks .dayContainer {
  border-left: 0;
}
.flatpickr-calendar.hasTime .flatpickr-time {
  height: 40px;
  border-top: 1px solid #e6e6e6;
}
.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  height: auto;
}
.flatpickr-calendar:before,
.flatpickr-calendar:after {
  position: absolute;
  display: block;
  pointer-events: none;
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  left: 22px;
}
.flatpickr-calendar.rightMost:before,
.flatpickr-calendar.arrowRight:before,
.flatpickr-calendar.rightMost:after,
.flatpickr-calendar.arrowRight:after {
  left: auto;
  right: 22px;
}
.flatpickr-calendar.arrowCenter:before,
.flatpickr-calendar.arrowCenter:after {
  left: 50%;
  right: 50%;
}
.flatpickr-calendar:before {
  border-width: 5px;
  margin: 0 -5px;
}
.flatpickr-calendar:after {
  border-width: 4px;
  margin: 0 -4px;
}
.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
  bottom: 100%;
}
.flatpickr-calendar.arrowTop:before {
  border-bottom-color: #e6e6e6;
}
.flatpickr-calendar.arrowTop:after {
  border-bottom-color: #fff;
}
.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
  top: 100%;
}
.flatpickr-calendar.arrowBottom:before {
  border-top-color: #e6e6e6;
}
.flatpickr-calendar.arrowBottom:after {
  border-top-color: #fff;
}
.flatpickr-calendar:focus {
  outline: 0;
}
.flatpickr-wrapper {
  position: relative;
  display: inline-block;
}
.flatpickr-months {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flatpickr-months .flatpickr-month {
  background: transparent;
  color: rgba(0,0,0,0.9);
  fill: rgba(0,0,0,0.9);
  height: 34px;
  line-height: 1;
  text-align: center;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  overflow: hidden;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  text-decoration: none;
  cursor: pointer;
  position: absolute;
  top: 0;
  height: 34px;
  padding: 10px;
  z-index: 3;
  color: rgba(0,0,0,0.9);
  fill: rgba(0,0,0,0.9);
}
.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
.flatpickr-months .flatpickr-next-month.flatpickr-disabled {
  display: none;
}
.flatpickr-months .flatpickr-prev-month i,
.flatpickr-months .flatpickr-next-month i {
  position: relative;
}
.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
/*
      /*rtl:begin:ignore*/
/*
      */
  left: 0;
/*
      /*rtl:end:ignore*/
/*
      */
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
/*
      /*rtl:begin:ignore*/
/*
      */
  right: 0;
/*
      /*rtl:end:ignore*/
/*
      */
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  color: #959ea9;
}
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: #f64747;
}
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  width: 14px;
  height: 14px;
}
.flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-months .flatpickr-next-month svg path {
  -webkit-transition: fill 0.1s;
  transition: fill 0.1s;
  fill: inherit;
}
.numInputWrapper {
  position: relative;
  height: auto;
}
.numInputWrapper input,
.numInputWrapper span {
  display: inline-block;
}
.numInputWrapper input {
  width: 100%;
}
.numInputWrapper input::-ms-clear {
  display: none;
}
.numInputWrapper input::-webkit-outer-spin-button,
.numInputWrapper input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}
.numInputWrapper span {
  position: absolute;
  right: 0;
  width: 14px;
  padding: 0 4px 0 2px;
  height: 50%;
  line-height: 50%;
  opacity: 0;
  cursor: pointer;
  border: 1px solid rgba(57,57,57,0.15);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.numInputWrapper span:hover {
  background: rgba(0,0,0,0.1);
}
.numInputWrapper span:active {
  background: rgba(0,0,0,0.2);
}
.numInputWrapper span:after {
  display: block;
  content: "";
  position: absolute;
}
.numInputWrapper span.arrowUp {
  top: 0;
  border-bottom: 0;
}
.numInputWrapper span.arrowUp:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid rgba(57,57,57,0.6);
  top: 26%;
}
.numInputWrapper span.arrowDown {
  top: 50%;
}
.numInputWrapper span.arrowDown:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(57,57,57,0.6);
  top: 40%;
}
.numInputWrapper span svg {
  width: inherit;
  height: auto;
}
.numInputWrapper span svg path {
  fill: rgba(0,0,0,0.5);
}
.numInputWrapper:hover {
  background: rgba(0,0,0,0.05);
}
.numInputWrapper:hover span {
  opacity: 1;
}
.flatpickr-current-month {
  font-size: 135%;
  line-height: inherit;
  font-weight: 300;
  color: inherit;
  position: absolute;
  width: 75%;
  left: 12.5%;
  padding: 7.48px 0 0 0;
  line-height: 1;
  height: 34px;
  display: inline-block;
  text-align: center;
  -webkit-transform: translate3d(0px, 0px, 0px);
          transform: translate3d(0px, 0px, 0px);
}
.flatpickr-current-month span.cur-month {
  font-family: inherit;
  font-weight: 700;
  color: inherit;
  display: inline-block;
  margin-left: 0.5ch;
  padding: 0;
}
.flatpickr-current-month span.cur-month:hover {
  background: rgba(0,0,0,0.05);
}
.flatpickr-current-month .numInputWrapper {
  width: 6ch;
  width: 7ch\0;
  display: inline-block;
}
.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: rgba(0,0,0,0.9);
}
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: rgba(0,0,0,0.9);
}
.flatpickr-current-month input.cur-year {
  background: transparent;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  cursor: text;
  padding: 0 0 0 0.5ch;
  margin: 0;
  display: inline-block;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  line-height: inherit;
  height: auto;
  border: 0;
  border-radius: 0;
  vertical-align: initial;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}
.flatpickr-current-month input.cur-year:focus {
  outline: 0;
}
.flatpickr-current-month input.cur-year[disabled],
.flatpickr-current-month input.cur-year[disabled]:hover {
  font-size: 100%;
  color: rgba(0,0,0,0.5);
  background: transparent;
  pointer-events: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
  appearance: menulist;
  background: transparent;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  height: auto;
  line-height: inherit;
  margin: -1px 0 0 0;
  outline: none;
  padding: 0 0 0 0.5ch;
  position: relative;
  vertical-align: initial;
  -webkit-box-sizing: border-box;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  width: auto;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.flatpickr-current-month .flatpickr-monthDropdown-months:active {
  outline: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
  background: rgba(0,0,0,0.05);
}
.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
  background-color: transparent;
  outline: none;
  padding: 0;
}
.flatpickr-weekdays {
  background: transparent;
  text-align: center;
  overflow: hidden;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 28px;
}
.flatpickr-weekdays .flatpickr-weekdaycontainer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
span.flatpickr-weekday {
  cursor: default;
  font-size: 90%;
  background: transparent;
  color: rgba(0,0,0,0.54);
  line-height: 1;
  margin: 0;
  text-align: center;
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-weight: bolder;
}
.dayContainer,
.flatpickr-weeks {
  padding: 1px 0 0 0;
}
.flatpickr-days {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 307.875px;
}
.flatpickr-days:focus {
  outline: 0;
}
.dayContainer {
  padding: 0;
  outline: 0;
  text-align: left;
  width: 307.875px;
  min-width: 307.875px;
  max-width: 307.875px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-around;
          justify-content: space-around;
  -webkit-transform: translate3d(0px, 0px, 0px);
          transform: translate3d(0px, 0px, 0px);
  opacity: 1;
}
.dayContainer + .dayContainer {
  -webkit-box-shadow: -1px 0 0 #e6e6e6;
          box-shadow: -1px 0 0 #e6e6e6;
}
.flatpickr-day {
  background: none;
  border: 1px solid transparent;
  border-radius: 150px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #393939;
  cursor: pointer;
  font-weight: 400;
  width: 14.2857143%;
  -webkit-flex-basis: 14.2857143%;
      -ms-flex-preferred-size: 14.2857143%;
          flex-basis: 14.2857143%;
  max-width: 39px;
  height: 39px;
  line-height: 39px;
  margin: 0;
  display: inline-block;
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
  cursor: pointer;
  outline: 0;
  background: #e6e6e6;
  border-color: #e6e6e6;
}
.flatpickr-day.today {
  border-color: #959ea9;
}
.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
  border-color: #959ea9;
  background: #959ea9;
  color: #fff;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: #569ff7;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #fff;
  border-color: #569ff7;
}
.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange,
.flatpickr-day.endRange.startRange {
  border-radius: 50px 0 0 50px;
}
.flatpickr-day.selected.endRange,
.flatpickr-day.startRange.endRange,
.flatpickr-day.endRange.endRange {
  border-radius: 0 50px 50px 0;
}
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
  -webkit-box-shadow: -10px 0 0 #569ff7;
          box-shadow: -10px 0 0 #569ff7;
}
.flatpickr-day.selected.startRange.endRange,
.flatpickr-day.startRange.startRange.endRange,
.flatpickr-day.endRange.startRange.endRange {
  border-radius: 50px;
}
.flatpickr-day.inRange {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
          box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
  color: rgba(57,57,57,0.3);
  background: transparent;
  border-color: transparent;
  cursor: default;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
  cursor: not-allowed;
  color: rgba(57,57,57,0.1);
}
.flatpickr-day.week.selected {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
          box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
}
.flatpickr-day.hidden {
  visibility: hidden;
}
.rangeMode .flatpickr-day {
  margin-top: 1px;
}
.flatpickr-weekwrapper {
  float: left;
}
.flatpickr-weekwrapper .flatpickr-weeks {
  padding: 0 12px;
  -webkit-box-shadow: 1px 0 0 #e6e6e6;
          box-shadow: 1px 0 0 #e6e6e6;
}
.flatpickr-weekwrapper .flatpickr-weekday {
  float: none;
  width: 100%;
  line-height: 28px;
}
.flatpickr-weekwrapper span.flatpickr-day,
.flatpickr-weekwrapper span.flatpickr-day:hover {
  display: block;
  width: 100%;
  max-width: none;
  color: rgba(57,57,57,0.3);
  background: transparent;
  cursor: default;
  border: none;
}
.flatpickr-innerContainer {
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
}
.flatpickr-rContainer {
  display: inline-block;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.flatpickr-time {
  text-align: center;
  outline: 0;
  display: block;
  height: 0;
  line-height: 40px;
  max-height: 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flatpickr-time:after {
  content: "";
  display: table;
  clear: both;
}
.flatpickr-time .numInputWrapper {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 40%;
  height: 40px;
  float: left;
}
.flatpickr-time .numInputWrapper span.arrowUp:after {
  border-bottom-color: #393939;
}
.flatpickr-time .numInputWrapper span.arrowDown:after {
  border-top-color: #393939;
}
.flatpickr-time.hasSeconds .numInputWrapper {
  width: 26%;
}
.flatpickr-time.time24hr .numInputWrapper {
  width: 49%;
}
.flatpickr-time input {
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 0;
  border-radius: 0;
  text-align: center;
  margin: 0;
  padding: 0;
  height: inherit;
  line-height: inherit;
  color: #393939;
  font-size: 14px;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}
.flatpickr-time input.flatpickr-hour {
  font-weight: bold;
}
.flatpickr-time input.flatpickr-minute,
.flatpickr-time input.flatpickr-second {
  font-weight: 400;
}
.flatpickr-time input:focus {
  outline: 0;
  border: 0;
}
.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
  height: inherit;
  float: left;
  line-height: inherit;
  color: #393939;
  font-weight: bold;
  width: 2%;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
}
.flatpickr-time .flatpickr-am-pm {
  outline: 0;
  width: 18%;
  cursor: pointer;
  text-align: center;
  font-weight: 400;
}
.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
  background: #eee;
}
.flatpickr-input[readonly] {
  cursor: pointer;
}
@-webkit-keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@charset "UTF-8";
@font-face {
  font-family: "Material Icons";
  font-style: normal;
  font-weight: 400;
  src: url(/build/fonts/MaterialIcons-Regular.4674f8de.eot); /* For IE6-8 */
  src: local("Material Icons"), local("MaterialIcons-Regular"), url(/build/fonts/MaterialIcons-Regular.cff684e5.woff2) format("woff2"), url(/build/fonts/MaterialIcons-Regular.83bebaf3.woff) format("woff"), url(/build/fonts/MaterialIcons-Regular.5e7382c6.ttf) format("truetype");
}
.material-icons {
  font-family: "Material Icons";
  font-weight: normal;
  font-style: normal;
  font-size: 24px; /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: "liga";
}

.material-icons.md-sm {
  font-size: 18px;
}

.material-icons.md-md {
  font-size: 24px;
}

.material-icons.md-lg {
  font-size: 36px;
}

.material-icons.md-xl {
  font-size: 48px;
}

/* Rules for using icons as black on a light background. */
.material-icons.md-dark {
  color: rgba(0, 0, 0, 0.54);
}

.material-icons.md-dark.md-inactive {
  color: rgba(0, 0, 0, 0.26);
}

/* Rules for using icons as white on a dark background. */
.material-icons.md-light {
  color: rgb(255, 255, 255);
}

.material-icons.md-light.md-inactive {
  color: rgba(255, 255, 255, 0.3);
}

.success {
  background: #fbc02d !important;
}

.info {
  background: #42A5F5 !important;
}

.danger {
  background: #212121 !important;
}

.warning {
  background: #fbc02d !important;
}

.notice {
  background: #D32F2F !important;
}

.enable {
  background: #388E3C !important;
}

.disable {
  background: #D32F2F !important;
}

header, main, footer {
  padding-left: 60px;
}

@media only screen and (max-width: 992px) {
  header, main, footer {
    padding-left: 0;
  }
}
.sidenav {
  width: 300px;
}

.materialize-red {
  background-color: #e51c23 !important;
}

.materialize-red-text {
  color: #e51c23 !important;
}

.materialize-red.lighten-5 {
  background-color: #fdeaeb !important;
}

.materialize-red-text.text-lighten-5 {
  color: #fdeaeb !important;
}

.materialize-red.lighten-4 {
  background-color: #f8c1c3 !important;
}

.materialize-red-text.text-lighten-4 {
  color: #f8c1c3 !important;
}

.materialize-red.lighten-3 {
  background-color: #f3989b !important;
}

.materialize-red-text.text-lighten-3 {
  color: #f3989b !important;
}

.materialize-red.lighten-2 {
  background-color: #ee6e73 !important;
}

.materialize-red-text.text-lighten-2 {
  color: #ee6e73 !important;
}

.materialize-red.lighten-1 {
  background-color: #ea454b !important;
}

.materialize-red-text.text-lighten-1 {
  color: #ea454b !important;
}

.materialize-red.darken-1 {
  background-color: #d0181e !important;
}

.materialize-red-text.text-darken-1 {
  color: #d0181e !important;
}

.materialize-red.darken-2 {
  background-color: #b9151b !important;
}

.materialize-red-text.text-darken-2 {
  color: #b9151b !important;
}

.materialize-red.darken-3 {
  background-color: #a21318 !important;
}

.materialize-red-text.text-darken-3 {
  color: #a21318 !important;
}

.materialize-red.darken-4 {
  background-color: #8b1014 !important;
}

.materialize-red-text.text-darken-4 {
  color: #8b1014 !important;
}

.red {
  background-color: #F44336 !important;
}

.red-text {
  color: #F44336 !important;
}

.red.lighten-5 {
  background-color: #FFEBEE !important;
}

.red-text.text-lighten-5 {
  color: #FFEBEE !important;
}

.red.lighten-4 {
  background-color: #FFCDD2 !important;
}

.red-text.text-lighten-4 {
  color: #FFCDD2 !important;
}

.red.lighten-3 {
  background-color: #EF9A9A !important;
}

.red-text.text-lighten-3 {
  color: #EF9A9A !important;
}

.red.lighten-2 {
  background-color: #E57373 !important;
}

.red-text.text-lighten-2 {
  color: #E57373 !important;
}

.red.lighten-1 {
  background-color: #EF5350 !important;
}

.red-text.text-lighten-1 {
  color: #EF5350 !important;
}

.red.darken-1 {
  background-color: #E53935 !important;
}

.red-text.text-darken-1 {
  color: #E53935 !important;
}

.red.darken-2 {
  background-color: #D32F2F !important;
}

.red-text.text-darken-2 {
  color: #D32F2F !important;
}

.red.darken-3 {
  background-color: #C62828 !important;
}

.red-text.text-darken-3 {
  color: #C62828 !important;
}

.red.darken-4 {
  background-color: #B71C1C !important;
}

.red-text.text-darken-4 {
  color: #B71C1C !important;
}

.red.accent-1 {
  background-color: #FF8A80 !important;
}

.red-text.text-accent-1 {
  color: #FF8A80 !important;
}

.red.accent-2 {
  background-color: #FF5252 !important;
}

.red-text.text-accent-2 {
  color: #FF5252 !important;
}

.red.accent-3 {
  background-color: #FF1744 !important;
}

.red-text.text-accent-3 {
  color: #FF1744 !important;
}

.red.accent-4 {
  background-color: #D50000 !important;
}

.red-text.text-accent-4 {
  color: #D50000 !important;
}

.pink {
  background-color: #e91e63 !important;
}

.pink-text {
  color: #e91e63 !important;
}

.pink.lighten-5 {
  background-color: #fce4ec !important;
}

.pink-text.text-lighten-5 {
  color: #fce4ec !important;
}

.pink.lighten-4 {
  background-color: #f8bbd0 !important;
}

.pink-text.text-lighten-4 {
  color: #f8bbd0 !important;
}

.pink.lighten-3 {
  background-color: #f48fb1 !important;
}

.pink-text.text-lighten-3 {
  color: #f48fb1 !important;
}

.pink.lighten-2 {
  background-color: #f06292 !important;
}

.pink-text.text-lighten-2 {
  color: #f06292 !important;
}

.pink.lighten-1 {
  background-color: #ec407a !important;
}

.pink-text.text-lighten-1 {
  color: #ec407a !important;
}

.pink.darken-1 {
  background-color: #d81b60 !important;
}

.pink-text.text-darken-1 {
  color: #d81b60 !important;
}

.pink.darken-2 {
  background-color: #c2185b !important;
}

.pink-text.text-darken-2 {
  color: #c2185b !important;
}

.pink.darken-3 {
  background-color: #ad1457 !important;
}

.pink-text.text-darken-3 {
  color: #ad1457 !important;
}

.pink.darken-4 {
  background-color: #880e4f !important;
}

.pink-text.text-darken-4 {
  color: #880e4f !important;
}

.pink.accent-1 {
  background-color: #ff80ab !important;
}

.pink-text.text-accent-1 {
  color: #ff80ab !important;
}

.pink.accent-2 {
  background-color: #ff4081 !important;
}

.pink-text.text-accent-2 {
  color: #ff4081 !important;
}

.pink.accent-3 {
  background-color: #f50057 !important;
}

.pink-text.text-accent-3 {
  color: #f50057 !important;
}

.pink.accent-4 {
  background-color: #c51162 !important;
}

.pink-text.text-accent-4 {
  color: #c51162 !important;
}

.purple {
  background-color: #9c27b0 !important;
}

.purple-text {
  color: #9c27b0 !important;
}

.purple.lighten-5 {
  background-color: #f3e5f5 !important;
}

.purple-text.text-lighten-5 {
  color: #f3e5f5 !important;
}

.purple.lighten-4 {
  background-color: #e1bee7 !important;
}

.purple-text.text-lighten-4 {
  color: #e1bee7 !important;
}

.purple.lighten-3 {
  background-color: #ce93d8 !important;
}

.purple-text.text-lighten-3 {
  color: #ce93d8 !important;
}

.purple.lighten-2 {
  background-color: #ba68c8 !important;
}

.purple-text.text-lighten-2 {
  color: #ba68c8 !important;
}

.purple.lighten-1 {
  background-color: #ab47bc !important;
}

.purple-text.text-lighten-1 {
  color: #ab47bc !important;
}

.purple.darken-1 {
  background-color: #8e24aa !important;
}

.purple-text.text-darken-1 {
  color: #8e24aa !important;
}

.purple.darken-2 {
  background-color: #7b1fa2 !important;
}

.purple-text.text-darken-2 {
  color: #7b1fa2 !important;
}

.purple.darken-3 {
  background-color: #6a1b9a !important;
}

.purple-text.text-darken-3 {
  color: #6a1b9a !important;
}

.purple.darken-4 {
  background-color: #4a148c !important;
}

.purple-text.text-darken-4 {
  color: #4a148c !important;
}

.purple.accent-1 {
  background-color: #ea80fc !important;
}

.purple-text.text-accent-1 {
  color: #ea80fc !important;
}

.purple.accent-2 {
  background-color: #e040fb !important;
}

.purple-text.text-accent-2 {
  color: #e040fb !important;
}

.purple.accent-3 {
  background-color: #d500f9 !important;
}

.purple-text.text-accent-3 {
  color: #d500f9 !important;
}

.purple.accent-4 {
  background-color: #aa00ff !important;
}

.purple-text.text-accent-4 {
  color: #aa00ff !important;
}

.deep-purple {
  background-color: #673ab7 !important;
}

.deep-purple-text {
  color: #673ab7 !important;
}

.deep-purple.lighten-5 {
  background-color: #ede7f6 !important;
}

.deep-purple-text.text-lighten-5 {
  color: #ede7f6 !important;
}

.deep-purple.lighten-4 {
  background-color: #d1c4e9 !important;
}

.deep-purple-text.text-lighten-4 {
  color: #d1c4e9 !important;
}

.deep-purple.lighten-3 {
  background-color: #b39ddb !important;
}

.deep-purple-text.text-lighten-3 {
  color: #b39ddb !important;
}

.deep-purple.lighten-2 {
  background-color: #9575cd !important;
}

.deep-purple-text.text-lighten-2 {
  color: #9575cd !important;
}

.deep-purple.lighten-1 {
  background-color: #7e57c2 !important;
}

.deep-purple-text.text-lighten-1 {
  color: #7e57c2 !important;
}

.deep-purple.darken-1 {
  background-color: #5e35b1 !important;
}

.deep-purple-text.text-darken-1 {
  color: #5e35b1 !important;
}

.deep-purple.darken-2 {
  background-color: #512da8 !important;
}

.deep-purple-text.text-darken-2 {
  color: #512da8 !important;
}

.deep-purple.darken-3 {
  background-color: #4527a0 !important;
}

.deep-purple-text.text-darken-3 {
  color: #4527a0 !important;
}

.deep-purple.darken-4 {
  background-color: #311b92 !important;
}

.deep-purple-text.text-darken-4 {
  color: #311b92 !important;
}

.deep-purple.accent-1 {
  background-color: #b388ff !important;
}

.deep-purple-text.text-accent-1 {
  color: #b388ff !important;
}

.deep-purple.accent-2 {
  background-color: #7c4dff !important;
}

.deep-purple-text.text-accent-2 {
  color: #7c4dff !important;
}

.deep-purple.accent-3 {
  background-color: #651fff !important;
}

.deep-purple-text.text-accent-3 {
  color: #651fff !important;
}

.deep-purple.accent-4 {
  background-color: #6200ea !important;
}

.deep-purple-text.text-accent-4 {
  color: #6200ea !important;
}

.indigo {
  background-color: #3f51b5 !important;
}

.indigo-text {
  color: #3f51b5 !important;
}

.indigo.lighten-5 {
  background-color: #e8eaf6 !important;
}

.indigo-text.text-lighten-5 {
  color: #e8eaf6 !important;
}

.indigo.lighten-4 {
  background-color: #c5cae9 !important;
}

.indigo-text.text-lighten-4 {
  color: #c5cae9 !important;
}

.indigo.lighten-3 {
  background-color: #9fa8da !important;
}

.indigo-text.text-lighten-3 {
  color: #9fa8da !important;
}

.indigo.lighten-2 {
  background-color: #7986cb !important;
}

.indigo-text.text-lighten-2 {
  color: #7986cb !important;
}

.indigo.lighten-1 {
  background-color: #5c6bc0 !important;
}

.indigo-text.text-lighten-1 {
  color: #5c6bc0 !important;
}

.indigo.darken-1 {
  background-color: #3949ab !important;
}

.indigo-text.text-darken-1 {
  color: #3949ab !important;
}

.indigo.darken-2 {
  background-color: #303f9f !important;
}

.indigo-text.text-darken-2 {
  color: #303f9f !important;
}

.indigo.darken-3 {
  background-color: #283593 !important;
}

.indigo-text.text-darken-3 {
  color: #283593 !important;
}

.indigo.darken-4 {
  background-color: #1a237e !important;
}

.indigo-text.text-darken-4 {
  color: #1a237e !important;
}

.indigo.accent-1 {
  background-color: #8c9eff !important;
}

.indigo-text.text-accent-1 {
  color: #8c9eff !important;
}

.indigo.accent-2 {
  background-color: #536dfe !important;
}

.indigo-text.text-accent-2 {
  color: #536dfe !important;
}

.indigo.accent-3 {
  background-color: #3d5afe !important;
}

.indigo-text.text-accent-3 {
  color: #3d5afe !important;
}

.indigo.accent-4 {
  background-color: #304ffe !important;
}

.indigo-text.text-accent-4 {
  color: #304ffe !important;
}

.blue {
  background-color: #2196F3 !important;
}

.blue-text {
  color: #2196F3 !important;
}

.blue.lighten-5 {
  background-color: #E3F2FD !important;
}

.blue-text.text-lighten-5 {
  color: #E3F2FD !important;
}

.blue.lighten-4 {
  background-color: #BBDEFB !important;
}

.blue-text.text-lighten-4 {
  color: #BBDEFB !important;
}

.blue.lighten-3 {
  background-color: #90CAF9 !important;
}

.blue-text.text-lighten-3 {
  color: #90CAF9 !important;
}

.blue.lighten-2 {
  background-color: #64B5F6 !important;
}

.blue-text.text-lighten-2 {
  color: #64B5F6 !important;
}

.blue.lighten-1 {
  background-color: #42A5F5 !important;
}

.blue-text.text-lighten-1 {
  color: #42A5F5 !important;
}

.blue.darken-1 {
  background-color: #1E88E5 !important;
}

.blue-text.text-darken-1 {
  color: #1E88E5 !important;
}

.blue.darken-2 {
  background-color: #1976D2 !important;
}

.blue-text.text-darken-2 {
  color: #1976D2 !important;
}

.blue.darken-3 {
  background-color: #1565C0 !important;
}

.blue-text.text-darken-3 {
  color: #1565C0 !important;
}

.blue.darken-4 {
  background-color: #0D47A1 !important;
}

.blue-text.text-darken-4 {
  color: #0D47A1 !important;
}

.blue.accent-1 {
  background-color: #82B1FF !important;
}

.blue-text.text-accent-1 {
  color: #82B1FF !important;
}

.blue.accent-2 {
  background-color: #448AFF !important;
}

.blue-text.text-accent-2 {
  color: #448AFF !important;
}

.blue.accent-3 {
  background-color: #2979FF !important;
}

.blue-text.text-accent-3 {
  color: #2979FF !important;
}

.blue.accent-4 {
  background-color: #2962FF !important;
}

.blue-text.text-accent-4 {
  color: #2962FF !important;
}

.light-blue {
  background-color: #03a9f4 !important;
}

.light-blue-text {
  color: #03a9f4 !important;
}

.light-blue.lighten-5 {
  background-color: #e1f5fe !important;
}

.light-blue-text.text-lighten-5 {
  color: #e1f5fe !important;
}

.light-blue.lighten-4 {
  background-color: #b3e5fc !important;
}

.light-blue-text.text-lighten-4 {
  color: #b3e5fc !important;
}

.light-blue.lighten-3 {
  background-color: #81d4fa !important;
}

.light-blue-text.text-lighten-3 {
  color: #81d4fa !important;
}

.light-blue.lighten-2 {
  background-color: #4fc3f7 !important;
}

.light-blue-text.text-lighten-2 {
  color: #4fc3f7 !important;
}

.light-blue.lighten-1 {
  background-color: #29b6f6 !important;
}

.light-blue-text.text-lighten-1 {
  color: #29b6f6 !important;
}

.light-blue.darken-1 {
  background-color: #039be5 !important;
}

.light-blue-text.text-darken-1 {
  color: #039be5 !important;
}

.light-blue.darken-2 {
  background-color: #0288d1 !important;
}

.light-blue-text.text-darken-2 {
  color: #0288d1 !important;
}

.light-blue.darken-3 {
  background-color: #0277bd !important;
}

.light-blue-text.text-darken-3 {
  color: #0277bd !important;
}

.light-blue.darken-4 {
  background-color: #01579b !important;
}

.light-blue-text.text-darken-4 {
  color: #01579b !important;
}

.light-blue.accent-1 {
  background-color: #80d8ff !important;
}

.light-blue-text.text-accent-1 {
  color: #80d8ff !important;
}

.light-blue.accent-2 {
  background-color: #40c4ff !important;
}

.light-blue-text.text-accent-2 {
  color: #40c4ff !important;
}

.light-blue.accent-3 {
  background-color: #00b0ff !important;
}

.light-blue-text.text-accent-3 {
  color: #00b0ff !important;
}

.light-blue.accent-4 {
  background-color: #0091ea !important;
}

.light-blue-text.text-accent-4 {
  color: #0091ea !important;
}

.cyan {
  background-color: #00bcd4 !important;
}

.cyan-text {
  color: #00bcd4 !important;
}

.cyan.lighten-5 {
  background-color: #e0f7fa !important;
}

.cyan-text.text-lighten-5 {
  color: #e0f7fa !important;
}

.cyan.lighten-4 {
  background-color: #b2ebf2 !important;
}

.cyan-text.text-lighten-4 {
  color: #b2ebf2 !important;
}

.cyan.lighten-3 {
  background-color: #80deea !important;
}

.cyan-text.text-lighten-3 {
  color: #80deea !important;
}

.cyan.lighten-2 {
  background-color: #4dd0e1 !important;
}

.cyan-text.text-lighten-2 {
  color: #4dd0e1 !important;
}

.cyan.lighten-1 {
  background-color: #26c6da !important;
}

.cyan-text.text-lighten-1 {
  color: #26c6da !important;
}

.cyan.darken-1 {
  background-color: #00acc1 !important;
}

.cyan-text.text-darken-1 {
  color: #00acc1 !important;
}

.cyan.darken-2 {
  background-color: #0097a7 !important;
}

.cyan-text.text-darken-2 {
  color: #0097a7 !important;
}

.cyan.darken-3 {
  background-color: #00838f !important;
}

.cyan-text.text-darken-3 {
  color: #00838f !important;
}

.cyan.darken-4 {
  background-color: #006064 !important;
}

.cyan-text.text-darken-4 {
  color: #006064 !important;
}

.cyan.accent-1 {
  background-color: #84ffff !important;
}

.cyan-text.text-accent-1 {
  color: #84ffff !important;
}

.cyan.accent-2 {
  background-color: #18ffff !important;
}

.cyan-text.text-accent-2 {
  color: #18ffff !important;
}

.cyan.accent-3 {
  background-color: #00e5ff !important;
}

.cyan-text.text-accent-3 {
  color: #00e5ff !important;
}

.cyan.accent-4 {
  background-color: #00b8d4 !important;
}

.cyan-text.text-accent-4 {
  color: #00b8d4 !important;
}

.teal {
  background-color: #009688 !important;
}

.teal-text {
  color: #009688 !important;
}

.teal.lighten-5 {
  background-color: #e0f2f1 !important;
}

.teal-text.text-lighten-5 {
  color: #e0f2f1 !important;
}

.teal.lighten-4 {
  background-color: #b2dfdb !important;
}

.teal-text.text-lighten-4 {
  color: #b2dfdb !important;
}

.teal.lighten-3 {
  background-color: #80cbc4 !important;
}

.teal-text.text-lighten-3 {
  color: #80cbc4 !important;
}

.teal.lighten-2 {
  background-color: #4db6ac !important;
}

.teal-text.text-lighten-2 {
  color: #4db6ac !important;
}

.teal.lighten-1 {
  background-color: #26a69a !important;
}

.teal-text.text-lighten-1 {
  color: #26a69a !important;
}

.teal.darken-1 {
  background-color: #00897b !important;
}

.teal-text.text-darken-1 {
  color: #00897b !important;
}

.teal.darken-2 {
  background-color: #00796b !important;
}

.teal-text.text-darken-2 {
  color: #00796b !important;
}

.teal.darken-3 {
  background-color: #00695c !important;
}

.teal-text.text-darken-3 {
  color: #00695c !important;
}

.teal.darken-4 {
  background-color: #004d40 !important;
}

.teal-text.text-darken-4 {
  color: #004d40 !important;
}

.teal.accent-1 {
  background-color: #a7ffeb !important;
}

.teal-text.text-accent-1 {
  color: #a7ffeb !important;
}

.teal.accent-2 {
  background-color: #64ffda !important;
}

.teal-text.text-accent-2 {
  color: #64ffda !important;
}

.teal.accent-3 {
  background-color: #1de9b6 !important;
}

.teal-text.text-accent-3 {
  color: #1de9b6 !important;
}

.teal.accent-4 {
  background-color: #00bfa5 !important;
}

.teal-text.text-accent-4 {
  color: #00bfa5 !important;
}

.green {
  background-color: #4CAF50 !important;
}

.green-text {
  color: #4CAF50 !important;
}

.green.lighten-5 {
  background-color: #E8F5E9 !important;
}

.green-text.text-lighten-5 {
  color: #E8F5E9 !important;
}

.green.lighten-4 {
  background-color: #C8E6C9 !important;
}

.green-text.text-lighten-4 {
  color: #C8E6C9 !important;
}

.green.lighten-3 {
  background-color: #A5D6A7 !important;
}

.green-text.text-lighten-3 {
  color: #A5D6A7 !important;
}

.green.lighten-2 {
  background-color: #81C784 !important;
}

.green-text.text-lighten-2 {
  color: #81C784 !important;
}

.green.lighten-1 {
  background-color: #66BB6A !important;
}

.green-text.text-lighten-1 {
  color: #66BB6A !important;
}

.green.darken-1 {
  background-color: #43A047 !important;
}

.green-text.text-darken-1 {
  color: #43A047 !important;
}

.green.darken-2 {
  background-color: #388E3C !important;
}

.green-text.text-darken-2 {
  color: #388E3C !important;
}

.green.darken-3 {
  background-color: #2E7D32 !important;
}

.green-text.text-darken-3 {
  color: #2E7D32 !important;
}

.green.darken-4 {
  background-color: #1B5E20 !important;
}

.green-text.text-darken-4 {
  color: #1B5E20 !important;
}

.green.accent-1 {
  background-color: #B9F6CA !important;
}

.green-text.text-accent-1 {
  color: #B9F6CA !important;
}

.green.accent-2 {
  background-color: #69F0AE !important;
}

.green-text.text-accent-2 {
  color: #69F0AE !important;
}

.green.accent-3 {
  background-color: #00E676 !important;
}

.green-text.text-accent-3 {
  color: #00E676 !important;
}

.green.accent-4 {
  background-color: #00C853 !important;
}

.green-text.text-accent-4 {
  color: #00C853 !important;
}

.light-green {
  background-color: #8bc34a !important;
}

.light-green-text {
  color: #8bc34a !important;
}

.light-green.lighten-5 {
  background-color: #f1f8e9 !important;
}

.light-green-text.text-lighten-5 {
  color: #f1f8e9 !important;
}

.light-green.lighten-4 {
  background-color: #dcedc8 !important;
}

.light-green-text.text-lighten-4 {
  color: #dcedc8 !important;
}

.light-green.lighten-3 {
  background-color: #c5e1a5 !important;
}

.light-green-text.text-lighten-3 {
  color: #c5e1a5 !important;
}

.light-green.lighten-2 {
  background-color: #aed581 !important;
}

.light-green-text.text-lighten-2 {
  color: #aed581 !important;
}

.light-green.lighten-1 {
  background-color: #9ccc65 !important;
}

.light-green-text.text-lighten-1 {
  color: #9ccc65 !important;
}

.light-green.darken-1 {
  background-color: #7cb342 !important;
}

.light-green-text.text-darken-1 {
  color: #7cb342 !important;
}

.light-green.darken-2 {
  background-color: #689f38 !important;
}

.light-green-text.text-darken-2 {
  color: #689f38 !important;
}

.light-green.darken-3 {
  background-color: #558b2f !important;
}

.light-green-text.text-darken-3 {
  color: #558b2f !important;
}

.light-green.darken-4 {
  background-color: #33691e !important;
}

.light-green-text.text-darken-4 {
  color: #33691e !important;
}

.light-green.accent-1 {
  background-color: #ccff90 !important;
}

.light-green-text.text-accent-1 {
  color: #ccff90 !important;
}

.light-green.accent-2 {
  background-color: #b2ff59 !important;
}

.light-green-text.text-accent-2 {
  color: #b2ff59 !important;
}

.light-green.accent-3 {
  background-color: #76ff03 !important;
}

.light-green-text.text-accent-3 {
  color: #76ff03 !important;
}

.light-green.accent-4 {
  background-color: #64dd17 !important;
}

.light-green-text.text-accent-4 {
  color: #64dd17 !important;
}

.lime {
  background-color: #cddc39 !important;
}

.lime-text {
  color: #cddc39 !important;
}

.lime.lighten-5 {
  background-color: #f9fbe7 !important;
}

.lime-text.text-lighten-5 {
  color: #f9fbe7 !important;
}

.lime.lighten-4 {
  background-color: #f0f4c3 !important;
}

.lime-text.text-lighten-4 {
  color: #f0f4c3 !important;
}

.lime.lighten-3 {
  background-color: #e6ee9c !important;
}

.lime-text.text-lighten-3 {
  color: #e6ee9c !important;
}

.lime.lighten-2 {
  background-color: #dce775 !important;
}

.lime-text.text-lighten-2 {
  color: #dce775 !important;
}

.lime.lighten-1 {
  background-color: #d4e157 !important;
}

.lime-text.text-lighten-1 {
  color: #d4e157 !important;
}

.lime.darken-1 {
  background-color: #c0ca33 !important;
}

.lime-text.text-darken-1 {
  color: #c0ca33 !important;
}

.lime.darken-2 {
  background-color: #afb42b !important;
}

.lime-text.text-darken-2 {
  color: #afb42b !important;
}

.lime.darken-3 {
  background-color: #9e9d24 !important;
}

.lime-text.text-darken-3 {
  color: #9e9d24 !important;
}

.lime.darken-4 {
  background-color: #827717 !important;
}

.lime-text.text-darken-4 {
  color: #827717 !important;
}

.lime.accent-1 {
  background-color: #f4ff81 !important;
}

.lime-text.text-accent-1 {
  color: #f4ff81 !important;
}

.lime.accent-2 {
  background-color: #eeff41 !important;
}

.lime-text.text-accent-2 {
  color: #eeff41 !important;
}

.lime.accent-3 {
  background-color: #c6ff00 !important;
}

.lime-text.text-accent-3 {
  color: #c6ff00 !important;
}

.lime.accent-4 {
  background-color: #aeea00 !important;
}

.lime-text.text-accent-4 {
  color: #aeea00 !important;
}

.yellow {
  background-color: #ffeb3b !important;
}

.yellow-text {
  color: #ffeb3b !important;
}

.yellow.lighten-5 {
  background-color: #fffde7 !important;
}

.yellow-text.text-lighten-5 {
  color: #fffde7 !important;
}

.yellow.lighten-4 {
  background-color: #fff9c4 !important;
}

.yellow-text.text-lighten-4 {
  color: #fff9c4 !important;
}

.yellow.lighten-3 {
  background-color: #fff59d !important;
}

.yellow-text.text-lighten-3 {
  color: #fff59d !important;
}

.yellow.lighten-2 {
  background-color: #fff176 !important;
}

.yellow-text.text-lighten-2 {
  color: #fff176 !important;
}

.yellow.lighten-1 {
  background-color: #ffee58 !important;
}

.yellow-text.text-lighten-1 {
  color: #ffee58 !important;
}

.yellow.darken-1 {
  background-color: #fdd835 !important;
}

.yellow-text.text-darken-1 {
  color: #fdd835 !important;
}

.yellow.darken-2 {
  background-color: #fbc02d !important;
}

.yellow-text.text-darken-2 {
  color: #fbc02d !important;
}

.yellow.darken-3 {
  background-color: #f9a825 !important;
}

.yellow-text.text-darken-3 {
  color: #f9a825 !important;
}

.yellow.darken-4 {
  background-color: #f57f17 !important;
}

.yellow-text.text-darken-4 {
  color: #f57f17 !important;
}

.yellow.accent-1 {
  background-color: #ffff8d !important;
}

.yellow-text.text-accent-1 {
  color: #ffff8d !important;
}

.yellow.accent-2 {
  background-color: #ffff00 !important;
}

.yellow-text.text-accent-2 {
  color: #ffff00 !important;
}

.yellow.accent-3 {
  background-color: #ffea00 !important;
}

.yellow-text.text-accent-3 {
  color: #ffea00 !important;
}

.yellow.accent-4 {
  background-color: #ffd600 !important;
}

.yellow-text.text-accent-4 {
  color: #ffd600 !important;
}

.amber {
  background-color: #ffc107 !important;
}

.amber-text {
  color: #ffc107 !important;
}

.amber.lighten-5 {
  background-color: #fff8e1 !important;
}

.amber-text.text-lighten-5 {
  color: #fff8e1 !important;
}

.amber.lighten-4 {
  background-color: #ffecb3 !important;
}

.amber-text.text-lighten-4 {
  color: #ffecb3 !important;
}

.amber.lighten-3 {
  background-color: #ffe082 !important;
}

.amber-text.text-lighten-3 {
  color: #ffe082 !important;
}

.amber.lighten-2 {
  background-color: #ffd54f !important;
}

.amber-text.text-lighten-2 {
  color: #ffd54f !important;
}

.amber.lighten-1 {
  background-color: #ffca28 !important;
}

.amber-text.text-lighten-1 {
  color: #ffca28 !important;
}

.amber.darken-1 {
  background-color: #ffb300 !important;
}

.amber-text.text-darken-1 {
  color: #ffb300 !important;
}

.amber.darken-2 {
  background-color: #ffa000 !important;
}

.amber-text.text-darken-2 {
  color: #ffa000 !important;
}

.amber.darken-3 {
  background-color: #ff8f00 !important;
}

.amber-text.text-darken-3 {
  color: #ff8f00 !important;
}

.amber.darken-4 {
  background-color: #ff6f00 !important;
}

.amber-text.text-darken-4 {
  color: #ff6f00 !important;
}

.amber.accent-1 {
  background-color: #ffe57f !important;
}

.amber-text.text-accent-1 {
  color: #ffe57f !important;
}

.amber.accent-2 {
  background-color: #ffd740 !important;
}

.amber-text.text-accent-2 {
  color: #ffd740 !important;
}

.amber.accent-3 {
  background-color: #ffc400 !important;
}

.amber-text.text-accent-3 {
  color: #ffc400 !important;
}

.amber.accent-4 {
  background-color: #ffab00 !important;
}

.amber-text.text-accent-4 {
  color: #ffab00 !important;
}

.orange {
  background-color: #ff9800 !important;
}

.orange-text {
  color: #ff9800 !important;
}

.orange.lighten-5 {
  background-color: #fff3e0 !important;
}

.orange-text.text-lighten-5 {
  color: #fff3e0 !important;
}

.orange.lighten-4 {
  background-color: #ffe0b2 !important;
}

.orange-text.text-lighten-4 {
  color: #ffe0b2 !important;
}

.orange.lighten-3 {
  background-color: #ffcc80 !important;
}

.orange-text.text-lighten-3 {
  color: #ffcc80 !important;
}

.orange.lighten-2 {
  background-color: #ffb74d !important;
}

.orange-text.text-lighten-2 {
  color: #ffb74d !important;
}

.orange.lighten-1 {
  background-color: #ffa726 !important;
}

.orange-text.text-lighten-1 {
  color: #ffa726 !important;
}

.orange.darken-1 {
  background-color: #fb8c00 !important;
}

.orange-text.text-darken-1 {
  color: #fb8c00 !important;
}

.orange.darken-2 {
  background-color: #f57c00 !important;
}

.orange-text.text-darken-2 {
  color: #f57c00 !important;
}

.orange.darken-3 {
  background-color: #ef6c00 !important;
}

.orange-text.text-darken-3 {
  color: #ef6c00 !important;
}

.orange.darken-4 {
  background-color: #e65100 !important;
}

.orange-text.text-darken-4 {
  color: #e65100 !important;
}

.orange.accent-1 {
  background-color: #ffd180 !important;
}

.orange-text.text-accent-1 {
  color: #ffd180 !important;
}

.orange.accent-2 {
  background-color: #ffab40 !important;
}

.orange-text.text-accent-2 {
  color: #ffab40 !important;
}

.orange.accent-3 {
  background-color: #ff9100 !important;
}

.orange-text.text-accent-3 {
  color: #ff9100 !important;
}

.orange.accent-4 {
  background-color: #ff6d00 !important;
}

.orange-text.text-accent-4 {
  color: #ff6d00 !important;
}

.deep-orange {
  background-color: #ff5722 !important;
}

.deep-orange-text {
  color: #ff5722 !important;
}

.deep-orange.lighten-5 {
  background-color: #fbe9e7 !important;
}

.deep-orange-text.text-lighten-5 {
  color: #fbe9e7 !important;
}

.deep-orange.lighten-4 {
  background-color: #ffccbc !important;
}

.deep-orange-text.text-lighten-4 {
  color: #ffccbc !important;
}

.deep-orange.lighten-3 {
  background-color: #ffab91 !important;
}

.deep-orange-text.text-lighten-3 {
  color: #ffab91 !important;
}

.deep-orange.lighten-2 {
  background-color: #ff8a65 !important;
}

.deep-orange-text.text-lighten-2 {
  color: #ff8a65 !important;
}

.deep-orange.lighten-1 {
  background-color: #ff7043 !important;
}

.deep-orange-text.text-lighten-1 {
  color: #ff7043 !important;
}

.deep-orange.darken-1 {
  background-color: #f4511e !important;
}

.deep-orange-text.text-darken-1 {
  color: #f4511e !important;
}

.deep-orange.darken-2 {
  background-color: #e64a19 !important;
}

.deep-orange-text.text-darken-2 {
  color: #e64a19 !important;
}

.deep-orange.darken-3 {
  background-color: #d84315 !important;
}

.deep-orange-text.text-darken-3 {
  color: #d84315 !important;
}

.deep-orange.darken-4 {
  background-color: #bf360c !important;
}

.deep-orange-text.text-darken-4 {
  color: #bf360c !important;
}

.deep-orange.accent-1 {
  background-color: #ff9e80 !important;
}

.deep-orange-text.text-accent-1 {
  color: #ff9e80 !important;
}

.deep-orange.accent-2 {
  background-color: #ff6e40 !important;
}

.deep-orange-text.text-accent-2 {
  color: #ff6e40 !important;
}

.deep-orange.accent-3 {
  background-color: #ff3d00 !important;
}

.deep-orange-text.text-accent-3 {
  color: #ff3d00 !important;
}

.deep-orange.accent-4 {
  background-color: #dd2c00 !important;
}

.deep-orange-text.text-accent-4 {
  color: #dd2c00 !important;
}

.brown {
  background-color: #795548 !important;
}

.brown-text {
  color: #795548 !important;
}

.brown.lighten-5 {
  background-color: #efebe9 !important;
}

.brown-text.text-lighten-5 {
  color: #efebe9 !important;
}

.brown.lighten-4 {
  background-color: #d7ccc8 !important;
}

.brown-text.text-lighten-4 {
  color: #d7ccc8 !important;
}

.brown.lighten-3 {
  background-color: #bcaaa4 !important;
}

.brown-text.text-lighten-3 {
  color: #bcaaa4 !important;
}

.brown.lighten-2 {
  background-color: #a1887f !important;
}

.brown-text.text-lighten-2 {
  color: #a1887f !important;
}

.brown.lighten-1 {
  background-color: #8d6e63 !important;
}

.brown-text.text-lighten-1 {
  color: #8d6e63 !important;
}

.brown.darken-1 {
  background-color: #6d4c41 !important;
}

.brown-text.text-darken-1 {
  color: #6d4c41 !important;
}

.brown.darken-2 {
  background-color: #5d4037 !important;
}

.brown-text.text-darken-2 {
  color: #5d4037 !important;
}

.brown.darken-3 {
  background-color: #4e342e !important;
}

.brown-text.text-darken-3 {
  color: #4e342e !important;
}

.brown.darken-4 {
  background-color: #3e2723 !important;
}

.brown-text.text-darken-4 {
  color: #3e2723 !important;
}

.blue-grey {
  background-color: #607d8b !important;
}

.blue-grey-text {
  color: #607d8b !important;
}

.blue-grey.lighten-5 {
  background-color: #eceff1 !important;
}

.blue-grey-text.text-lighten-5 {
  color: #eceff1 !important;
}

.blue-grey.lighten-4 {
  background-color: #cfd8dc !important;
}

.blue-grey-text.text-lighten-4 {
  color: #cfd8dc !important;
}

.blue-grey.lighten-3 {
  background-color: #b0bec5 !important;
}

.blue-grey-text.text-lighten-3 {
  color: #b0bec5 !important;
}

.blue-grey.lighten-2 {
  background-color: #90a4ae !important;
}

.blue-grey-text.text-lighten-2 {
  color: #90a4ae !important;
}

.blue-grey.lighten-1 {
  background-color: #78909c !important;
}

.blue-grey-text.text-lighten-1 {
  color: #78909c !important;
}

.blue-grey.darken-1 {
  background-color: #546e7a !important;
}

.blue-grey-text.text-darken-1 {
  color: #546e7a !important;
}

.blue-grey.darken-2 {
  background-color: #455a64 !important;
}

.blue-grey-text.text-darken-2 {
  color: #455a64 !important;
}

.blue-grey.darken-3 {
  background-color: #37474f !important;
}

.blue-grey-text.text-darken-3 {
  color: #37474f !important;
}

.blue-grey.darken-4 {
  background-color: #263238 !important;
}

.blue-grey-text.text-darken-4 {
  color: #263238 !important;
}

.grey {
  background-color: #9e9e9e !important;
}

.grey-text {
  color: #9e9e9e !important;
}

.grey.lighten-5 {
  background-color: #fafafa !important;
}

.grey-text.text-lighten-5 {
  color: #fafafa !important;
}

.grey.lighten-4 {
  background-color: #f5f5f5 !important;
}

.grey-text.text-lighten-4 {
  color: #f5f5f5 !important;
}

.grey.lighten-3 {
  background-color: #eeeeee !important;
}

.grey-text.text-lighten-3 {
  color: #eeeeee !important;
}

.grey.lighten-2 {
  background-color: #e0e0e0 !important;
}

.grey-text.text-lighten-2 {
  color: #e0e0e0 !important;
}

.grey.lighten-1 {
  background-color: #bdbdbd !important;
}

.grey-text.text-lighten-1 {
  color: #bdbdbd !important;
}

.grey.darken-1 {
  background-color: #757575 !important;
}

.grey-text.text-darken-1 {
  color: #757575 !important;
}

.grey.darken-2 {
  background-color: #616161 !important;
}

.grey-text.text-darken-2 {
  color: #616161 !important;
}

.grey.darken-3 {
  background-color: #424242 !important;
}

.grey-text.text-darken-3 {
  color: #424242 !important;
}

.grey.darken-4 {
  background-color: #212121 !important;
}

.grey-text.text-darken-4 {
  color: #212121 !important;
}

.black {
  background-color: #000000 !important;
}

.black-text {
  color: #000000 !important;
}

.white {
  background-color: #FFFFFF !important;
}

.white-text {
  color: #FFFFFF !important;
}

.transparent {
  background-color: transparent !important;
}

.transparent-text {
  color: transparent !important;
}

/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main { /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

html {
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

button,
input,
optgroup,
select,
textarea {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

ul:not(.browser-default) {
  padding-left: 0;
  list-style-type: none;
}
ul:not(.browser-default) > li {
  list-style-type: none;
}

a {
  color: #039be5;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.valign-wrapper {
  display: flex;
  align-items: center;
}

.clearfix {
  clear: both;
}

.z-depth-0 {
  box-shadow: none !important;
}

/* 2dp elevation modified*/
.z-depth-1, .sidenav, .collapsible, .dropdown-content, .btn-floating, .btn, .btn-small, .btn-large, .toast, .card, .card-panel, nav {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
}

.z-depth-1-half, .btn-floating:hover, .btn:hover, .btn-small:hover, .btn-large:hover {
  box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2);
}

/* 6dp elevation modified*/
.z-depth-2 {
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
}

/* 12dp elevation modified*/
.z-depth-3 {
  box-shadow: 0 8px 17px 2px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
}

/* 16dp elevation */
.z-depth-4 {
  box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -7px rgba(0, 0, 0, 0.2);
}

/* 24dp elevation */
.z-depth-5, .modal {
  box-shadow: 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12), 0 11px 15px -7px rgba(0, 0, 0, 0.2);
}

.hoverable {
  transition: box-shadow 0.25s;
}
.hoverable:hover {
  box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.divider {
  height: 1px;
  overflow: hidden;
  background-color: #e0e0e0;
}

blockquote {
  margin: 20px 0;
  padding-left: 1.5rem;
  border-left: 5px solid #616161;
}

i {
  line-height: inherit;
}
i.left {
  float: left;
  margin-right: 15px;
}
i.right {
  float: right;
  margin-left: 15px;
}
i.tiny {
  font-size: 1rem;
}
i.small {
  font-size: 2rem;
}
i.medium {
  font-size: 4rem;
}
i.large {
  font-size: 6rem;
}

img.responsive-img,
video.responsive-video {
  max-width: 100%;
  height: auto;
}

.pagination li {
  display: inline-block;
  border-radius: 2px;
  text-align: center;
  vertical-align: top;
  height: 30px;
}
.pagination li a {
  color: #444;
  display: inline-block;
  font-size: 1.2rem;
  padding: 0 10px;
  line-height: 30px;
}
.pagination li.active a {
  color: #fff;
}
.pagination li.active {
  background-color: #616161;
}
.pagination li.disabled a {
  cursor: default;
  color: #999;
}
.pagination li i {
  font-size: 2rem;
}
.pagination li.pages ul li {
  display: inline-block;
  float: none;
}

@media only screen and (max-width : 992.99px) {
  .pagination {
    width: 100%;
  }
  .pagination li.prev,
  .pagination li.next {
    width: 10%;
  }
  .pagination li.pages {
    width: 80%;
    overflow: hidden;
    white-space: nowrap;
  }
}
.breadcrumb {
  display: inline-block;
  font-size: 18px;
  color: rgba(255, 255, 255, 0.7);
}
.breadcrumb i,
.breadcrumb [class^=mdi-], .breadcrumb [class*=mdi-],
.breadcrumb i.material-icons {
  display: inline-block;
  float: left;
  font-size: 24px;
}
.breadcrumb:before {
  content: "\e5cc";
  color: rgba(255, 255, 255, 0.7);
  vertical-align: top;
  display: inline-block;
  font-family: "Material Icons";
  font-weight: normal;
  font-style: normal;
  font-size: 25px;
  margin: 0 10px 0 8px;
  -webkit-font-smoothing: antialiased;
  float: left;
}
.breadcrumb:first-child:before {
  display: none;
}
.breadcrumb:last-child {
  color: #fff;
}

.parallax-container {
  position: relative;
  overflow: hidden;
  height: 500px;
}
.parallax-container .parallax {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.parallax-container .parallax img {
  opacity: 0;
  position: absolute;
  left: 50%;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  transform: translate3d(0, 0, 0);
  transform: translateX(-50%);
}

.pin-top, .pin-bottom {
  position: relative;
}

.pinned {
  position: fixed !important;
}

/*********************
  Transition Classes
**********************/
ul.staggered-list li {
  opacity: 0;
}

.fade-in {
  opacity: 0;
  transform-origin: 0 50%;
}

/*********************
  Media Query Classes
**********************/
@media only screen and (max-width : 600.99px) {
  .hide-on-small-only, .hide-on-small-and-down {
    display: none !important;
  }
}

@media only screen and (max-width : 992.99px) {
  .hide-on-med-and-down {
    display: none !important;
  }
}

@media only screen and (min-width : 601px) {
  .hide-on-med-and-up {
    display: none !important;
  }
}

@media only screen and (min-width: 601px) and (max-width: 992.99px) {
  .hide-on-med-only {
    display: none !important;
  }
}

@media only screen and (min-width : 993px) {
  .hide-on-large-only {
    display: none !important;
  }
}

@media only screen and (min-width : 1201px) {
  .hide-on-extra-large-only {
    display: none !important;
  }
}

@media only screen and (min-width : 1201px) {
  .show-on-extra-large {
    display: block !important;
  }
}

@media only screen and (min-width : 993px) {
  .show-on-large {
    display: block !important;
  }
}

@media only screen and (min-width: 601px) and (max-width: 992.99px) {
  .show-on-medium {
    display: block !important;
  }
}

@media only screen and (max-width : 600.99px) {
  .show-on-small {
    display: block !important;
  }
}

@media only screen and (min-width : 601px) {
  .show-on-medium-and-up {
    display: block !important;
  }
}

@media only screen and (max-width : 992.99px) {
  .show-on-medium-and-down {
    display: block !important;
  }
}

@media only screen and (max-width : 600.99px) {
  .center-on-small-only {
    text-align: center;
  }
}

.page-footer {
  padding-top: 20px;
  color: #fff;
  background-color: #616161;
}
.page-footer .footer-copyright {
  overflow: hidden;
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0px;
  color: rgba(255, 255, 255, 0.8);
  background-color: rgba(51, 51, 51, 0.08);
}

table, th, td {
  border: none;
}

table {
  width: 100%;
  display: table;
  border-collapse: collapse;
  border-spacing: 0;
}
table.striped tr {
  border-bottom: none;
}
table.striped > tbody > tr:nth-child(odd) {
  background-color: rgba(242, 242, 242, 0.5);
}
table.highlight > tbody > tr {
  transition: background-color 0.25s ease;
}
table.highlight > tbody > tr:hover {
  background-color: rgba(242, 242, 242, 0.5);
}
table.centered thead tr th, table.centered tbody tr td {
  text-align: center;
}

tr {
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

td, th {
  padding: 15px 5px;
  display: table-cell;
  text-align: left;
  vertical-align: middle;
  border-radius: 0;
}

@media only screen and (max-width : 992.99px) {
  table.responsive-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    display: block;
    position: relative;
  }
  table.responsive-table td:empty:before {
    content: " ";
  }
  table.responsive-table th,
  table.responsive-table td {
    margin: 0;
    vertical-align: top;
  }
  table.responsive-table th {
    text-align: left;
  }
  table.responsive-table thead {
    display: block;
    float: left;
  }
  table.responsive-table thead tr {
    display: block;
    padding: 0 10px 0 0;
  }
  table.responsive-table thead tr th::before {
    content: " ";
  }
  table.responsive-table tbody {
    display: block;
    width: auto;
    position: relative;
    overflow-x: auto;
    white-space: nowrap;
  }
  table.responsive-table tbody tr {
    display: inline-block;
    vertical-align: top;
  }
  table.responsive-table th {
    display: block;
    text-align: right;
  }
  table.responsive-table td {
    display: block;
    min-height: 1.25em;
    text-align: left;
  }
  table.responsive-table tr {
    border-bottom: none;
    padding: 0 10px;
  }
  table.responsive-table {
    /* sort out borders */
  }
  table.responsive-table thead {
    border: 0;
    border-right: 1px solid rgba(0, 0, 0, 0.12);
  }
}
.video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.video-container iframe, .video-container object, .video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.progress {
  position: relative;
  height: 4px;
  display: block;
  width: 100%;
  background-color: #acece6;
  border-radius: 2px;
  margin: 0.5rem 0 1rem 0;
  overflow: hidden;
}
.progress .determinate {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  background-color: #26a69a;
  transition: width 0.3s linear;
}
.progress .indeterminate {
  background-color: #26a69a;
}
.progress .indeterminate:before {
  content: "";
  position: absolute;
  background-color: inherit;
  top: 0;
  left: 0;
  bottom: 0;
  will-change: left, right;
  animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
}
.progress .indeterminate:after {
  content: "";
  position: absolute;
  background-color: inherit;
  top: 0;
  left: 0;
  bottom: 0;
  will-change: left, right;
  animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
  animation-delay: 1.15s;
}

@keyframes indeterminate {
  0% {
    left: -35%;
    right: 100%;
  }
  60% {
    left: 100%;
    right: -90%;
  }
  100% {
    left: 100%;
    right: -90%;
  }
}
@keyframes indeterminate-short {
  0% {
    left: -200%;
    right: 100%;
  }
  60% {
    left: 107%;
    right: -8%;
  }
  100% {
    left: 107%;
    right: -8%;
  }
}
/*******************
  Utility Classes
*******************/
.hide {
  display: none !important;
}

.left-align {
  text-align: left;
}

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

.center, .center-align {
  text-align: center;
}

.left {
  float: left !important;
}

.right {
  float: right !important;
}

.no-select, input[type=range],
input[type=range] + .thumb {
  user-select: none;
}

.circle {
  border-radius: 50%;
}

.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.truncate {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.no-padding {
  padding: 0 !important;
}

.collection {
  margin: 0.5rem 0 1rem 0;
  border: 1px solid #e0e0e0;
  border-radius: 2px;
  overflow: hidden;
  position: relative;
}
.collection .collection-item {
  background-color: #fff;
  line-height: 1.5rem;
  padding: 10px 20px;
  margin: 0;
  border-bottom: 1px solid #e0e0e0;
}
.collection .collection-item.avatar {
  min-height: 84px;
  padding-left: 72px;
  position: relative;
}
.collection .collection-item.avatar:not(.circle-clipper) > .circle,
.collection .collection-item.avatar :not(.circle-clipper) > .circle {
  position: absolute;
  width: 42px;
  height: 42px;
  overflow: hidden;
  left: 15px;
  display: inline-block;
  vertical-align: middle;
}
.collection .collection-item.avatar i.circle {
  font-size: 18px;
  line-height: 42px;
  color: #fff;
  background-color: #999;
  text-align: center;
}
.collection .collection-item.avatar .title {
  font-size: 16px;
}
.collection .collection-item.avatar p {
  margin: 0;
}
.collection .collection-item.avatar .secondary-content {
  position: absolute;
  top: 16px;
  right: 16px;
}
.collection .collection-item:last-child {
  border-bottom: none;
}
.collection .collection-item.active {
  background-color: #26a69a;
  color: rgb(234.25, 250.25, 248.75);
}
.collection .collection-item.active .secondary-content {
  color: #fff;
}
.collection a.collection-item {
  display: block;
  transition: 0.25s;
  color: #26a69a;
}
.collection a.collection-item:not(.active):hover {
  background-color: #ddd;
}
.collection.with-header .collection-header {
  background-color: #fff;
  border-bottom: 1px solid #e0e0e0;
  padding: 10px 20px;
}
.collection.with-header .collection-item {
  padding-left: 30px;
}
.collection.with-header .collection-item.avatar {
  padding-left: 72px;
}

.secondary-content {
  float: right;
  color: #26a69a;
}

.collapsible .collection {
  margin: 0;
  border: none;
}

span.badge {
  min-width: 3rem;
  padding: 0 6px;
  margin-left: 14px;
  text-align: center;
  font-size: 1rem;
  line-height: 22px;
  height: 22px;
  color: #757575;
  float: right;
  box-sizing: border-box;
}
span.badge.new {
  font-weight: 300;
  font-size: 0.8rem;
  color: #fff;
  background-color: #26a69a;
  border-radius: 2px;
}
span.badge.new:after {
  content: " new";
}
span.badge[data-badge-caption]::after {
  content: " " attr(data-badge-caption);
}

nav ul a span.badge {
  display: inline-block;
  float: none;
  margin-left: 4px;
  line-height: 22px;
  height: 22px;
  -webkit-font-smoothing: auto;
}

.collection-item span.badge {
  margin-top: calc(0.75rem - 11px);
}

.collapsible span.badge {
  margin-left: auto;
}

.sidenav span.badge {
  margin-top: calc(24px - 11px);
}

table span.badge {
  display: inline-block;
  float: none;
  margin-left: auto;
}

/* This is needed for some mobile phones to display the Google Icon font properly */
.material-icons {
  text-rendering: optimizeLegibility;
  font-feature-settings: "liga";
}

.container {
  margin: 0 auto;
  max-width: 1280px;
  width: 90%;
}

@media only screen and (min-width : 601px) {
  .container {
    width: 85%;
  }
}
@media only screen and (min-width : 993px) {
  .container {
    width: 70%;
  }
}
.col .row {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}

.section {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.section.no-pad {
  padding: 0;
}
.section.no-pad-bot {
  padding-bottom: 0;
}
.section.no-pad-top {
  padding-top: 0;
}

.row {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}
.row:after {
  content: "";
  display: table;
  clear: both;
}
.row .col {
  float: left;
  box-sizing: border-box;
  padding: 0 0.75rem;
  min-height: 1px;
}
.row .col[class*=push-], .row .col[class*=pull-] {
  position: relative;
}
.row .col.s1 {
  width: 8.3333333333%;
  margin-left: auto;
  left: auto;
  right: auto;
}
.row .col.s2 {
  width: 16.6666666667%;
  margin-left: auto;
  left: auto;
  right: auto;
}
.row .col.s3 {
  width: 25%;
  margin-left: auto;
  left: auto;
  right: auto;
}
.row .col.s4 {
  width: 33.3333333333%;
  margin-left: auto;
  left: auto;
  right: auto;
}
.row .col.s5 {
  width: 41.6666666667%;
  margin-left: auto;
  left: auto;
  right: auto;
}
.row .col.s6 {
  width: 50%;
  margin-left: auto;
  left: auto;
  right: auto;
}
.row .col.s7 {
  width: 58.3333333333%;
  margin-left: auto;
  left: auto;
  right: auto;
}
.row .col.s8 {
  width: 66.6666666667%;
  margin-left: auto;
  left: auto;
  right: auto;
}
.row .col.s9 {
  width: 75%;
  margin-left: auto;
  left: auto;
  right: auto;
}
.row .col.s10 {
  width: 83.3333333333%;
  margin-left: auto;
  left: auto;
  right: auto;
}
.row .col.s11 {
  width: 91.6666666667%;
  margin-left: auto;
  left: auto;
  right: auto;
}
.row .col.s12 {
  width: 100%;
  margin-left: auto;
  left: auto;
  right: auto;
}
.row .col.offset-s1 {
  margin-left: 8.3333333333%;
}
.row .col.pull-s1 {
  right: 8.3333333333%;
}
.row .col.push-s1 {
  left: 8.3333333333%;
}
.row .col.offset-s2 {
  margin-left: 16.6666666667%;
}
.row .col.pull-s2 {
  right: 16.6666666667%;
}
.row .col.push-s2 {
  left: 16.6666666667%;
}
.row .col.offset-s3 {
  margin-left: 25%;
}
.row .col.pull-s3 {
  right: 25%;
}
.row .col.push-s3 {
  left: 25%;
}
.row .col.offset-s4 {
  margin-left: 33.3333333333%;
}
.row .col.pull-s4 {
  right: 33.3333333333%;
}
.row .col.push-s4 {
  left: 33.3333333333%;
}
.row .col.offset-s5 {
  margin-left: 41.6666666667%;
}
.row .col.pull-s5 {
  right: 41.6666666667%;
}
.row .col.push-s5 {
  left: 41.6666666667%;
}
.row .col.offset-s6 {
  margin-left: 50%;
}
.row .col.pull-s6 {
  right: 50%;
}
.row .col.push-s6 {
  left: 50%;
}
.row .col.offset-s7 {
  margin-left: 58.3333333333%;
}
.row .col.pull-s7 {
  right: 58.3333333333%;
}
.row .col.push-s7 {
  left: 58.3333333333%;
}
.row .col.offset-s8 {
  margin-left: 66.6666666667%;
}
.row .col.pull-s8 {
  right: 66.6666666667%;
}
.row .col.push-s8 {
  left: 66.6666666667%;
}
.row .col.offset-s9 {
  margin-left: 75%;
}
.row .col.pull-s9 {
  right: 75%;
}
.row .col.push-s9 {
  left: 75%;
}
.row .col.offset-s10 {
  margin-left: 83.3333333333%;
}
.row .col.pull-s10 {
  right: 83.3333333333%;
}
.row .col.push-s10 {
  left: 83.3333333333%;
}
.row .col.offset-s11 {
  margin-left: 91.6666666667%;
}
.row .col.pull-s11 {
  right: 91.6666666667%;
}
.row .col.push-s11 {
  left: 91.6666666667%;
}
.row .col.offset-s12 {
  margin-left: 100%;
}
.row .col.pull-s12 {
  right: 100%;
}
.row .col.push-s12 {
  left: 100%;
}
@media only screen and (min-width : 601px) {
  .row .col.m1 {
    width: 8.3333333333%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.m2 {
    width: 16.6666666667%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.m3 {
    width: 25%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.m4 {
    width: 33.3333333333%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.m5 {
    width: 41.6666666667%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.m6 {
    width: 50%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.m7 {
    width: 58.3333333333%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.m8 {
    width: 66.6666666667%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.m9 {
    width: 75%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.m10 {
    width: 83.3333333333%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.m11 {
    width: 91.6666666667%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.m12 {
    width: 100%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.offset-m1 {
    margin-left: 8.3333333333%;
  }
  .row .col.pull-m1 {
    right: 8.3333333333%;
  }
  .row .col.push-m1 {
    left: 8.3333333333%;
  }
  .row .col.offset-m2 {
    margin-left: 16.6666666667%;
  }
  .row .col.pull-m2 {
    right: 16.6666666667%;
  }
  .row .col.push-m2 {
    left: 16.6666666667%;
  }
  .row .col.offset-m3 {
    margin-left: 25%;
  }
  .row .col.pull-m3 {
    right: 25%;
  }
  .row .col.push-m3 {
    left: 25%;
  }
  .row .col.offset-m4 {
    margin-left: 33.3333333333%;
  }
  .row .col.pull-m4 {
    right: 33.3333333333%;
  }
  .row .col.push-m4 {
    left: 33.3333333333%;
  }
  .row .col.offset-m5 {
    margin-left: 41.6666666667%;
  }
  .row .col.pull-m5 {
    right: 41.6666666667%;
  }
  .row .col.push-m5 {
    left: 41.6666666667%;
  }
  .row .col.offset-m6 {
    margin-left: 50%;
  }
  .row .col.pull-m6 {
    right: 50%;
  }
  .row .col.push-m6 {
    left: 50%;
  }
  .row .col.offset-m7 {
    margin-left: 58.3333333333%;
  }
  .row .col.pull-m7 {
    right: 58.3333333333%;
  }
  .row .col.push-m7 {
    left: 58.3333333333%;
  }
  .row .col.offset-m8 {
    margin-left: 66.6666666667%;
  }
  .row .col.pull-m8 {
    right: 66.6666666667%;
  }
  .row .col.push-m8 {
    left: 66.6666666667%;
  }
  .row .col.offset-m9 {
    margin-left: 75%;
  }
  .row .col.pull-m9 {
    right: 75%;
  }
  .row .col.push-m9 {
    left: 75%;
  }
  .row .col.offset-m10 {
    margin-left: 83.3333333333%;
  }
  .row .col.pull-m10 {
    right: 83.3333333333%;
  }
  .row .col.push-m10 {
    left: 83.3333333333%;
  }
  .row .col.offset-m11 {
    margin-left: 91.6666666667%;
  }
  .row .col.pull-m11 {
    right: 91.6666666667%;
  }
  .row .col.push-m11 {
    left: 91.6666666667%;
  }
  .row .col.offset-m12 {
    margin-left: 100%;
  }
  .row .col.pull-m12 {
    right: 100%;
  }
  .row .col.push-m12 {
    left: 100%;
  }
}
@media only screen and (min-width : 993px) {
  .row .col.l1 {
    width: 8.3333333333%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.l2 {
    width: 16.6666666667%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.l3 {
    width: 25%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.l4 {
    width: 33.3333333333%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.l5 {
    width: 41.6666666667%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.l6 {
    width: 50%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.l7 {
    width: 58.3333333333%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.l8 {
    width: 66.6666666667%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.l9 {
    width: 75%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.l10 {
    width: 83.3333333333%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.l11 {
    width: 91.6666666667%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.l12 {
    width: 100%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.offset-l1 {
    margin-left: 8.3333333333%;
  }
  .row .col.pull-l1 {
    right: 8.3333333333%;
  }
  .row .col.push-l1 {
    left: 8.3333333333%;
  }
  .row .col.offset-l2 {
    margin-left: 16.6666666667%;
  }
  .row .col.pull-l2 {
    right: 16.6666666667%;
  }
  .row .col.push-l2 {
    left: 16.6666666667%;
  }
  .row .col.offset-l3 {
    margin-left: 25%;
  }
  .row .col.pull-l3 {
    right: 25%;
  }
  .row .col.push-l3 {
    left: 25%;
  }
  .row .col.offset-l4 {
    margin-left: 33.3333333333%;
  }
  .row .col.pull-l4 {
    right: 33.3333333333%;
  }
  .row .col.push-l4 {
    left: 33.3333333333%;
  }
  .row .col.offset-l5 {
    margin-left: 41.6666666667%;
  }
  .row .col.pull-l5 {
    right: 41.6666666667%;
  }
  .row .col.push-l5 {
    left: 41.6666666667%;
  }
  .row .col.offset-l6 {
    margin-left: 50%;
  }
  .row .col.pull-l6 {
    right: 50%;
  }
  .row .col.push-l6 {
    left: 50%;
  }
  .row .col.offset-l7 {
    margin-left: 58.3333333333%;
  }
  .row .col.pull-l7 {
    right: 58.3333333333%;
  }
  .row .col.push-l7 {
    left: 58.3333333333%;
  }
  .row .col.offset-l8 {
    margin-left: 66.6666666667%;
  }
  .row .col.pull-l8 {
    right: 66.6666666667%;
  }
  .row .col.push-l8 {
    left: 66.6666666667%;
  }
  .row .col.offset-l9 {
    margin-left: 75%;
  }
  .row .col.pull-l9 {
    right: 75%;
  }
  .row .col.push-l9 {
    left: 75%;
  }
  .row .col.offset-l10 {
    margin-left: 83.3333333333%;
  }
  .row .col.pull-l10 {
    right: 83.3333333333%;
  }
  .row .col.push-l10 {
    left: 83.3333333333%;
  }
  .row .col.offset-l11 {
    margin-left: 91.6666666667%;
  }
  .row .col.pull-l11 {
    right: 91.6666666667%;
  }
  .row .col.push-l11 {
    left: 91.6666666667%;
  }
  .row .col.offset-l12 {
    margin-left: 100%;
  }
  .row .col.pull-l12 {
    right: 100%;
  }
  .row .col.push-l12 {
    left: 100%;
  }
}
@media only screen and (min-width : 1201px) {
  .row .col.xl1 {
    width: 8.3333333333%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.xl2 {
    width: 16.6666666667%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.xl3 {
    width: 25%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.xl4 {
    width: 33.3333333333%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.xl5 {
    width: 41.6666666667%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.xl6 {
    width: 50%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.xl7 {
    width: 58.3333333333%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.xl8 {
    width: 66.6666666667%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.xl9 {
    width: 75%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.xl10 {
    width: 83.3333333333%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.xl11 {
    width: 91.6666666667%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.xl12 {
    width: 100%;
    margin-left: auto;
    left: auto;
    right: auto;
  }
  .row .col.offset-xl1 {
    margin-left: 8.3333333333%;
  }
  .row .col.pull-xl1 {
    right: 8.3333333333%;
  }
  .row .col.push-xl1 {
    left: 8.3333333333%;
  }
  .row .col.offset-xl2 {
    margin-left: 16.6666666667%;
  }
  .row .col.pull-xl2 {
    right: 16.6666666667%;
  }
  .row .col.push-xl2 {
    left: 16.6666666667%;
  }
  .row .col.offset-xl3 {
    margin-left: 25%;
  }
  .row .col.pull-xl3 {
    right: 25%;
  }
  .row .col.push-xl3 {
    left: 25%;
  }
  .row .col.offset-xl4 {
    margin-left: 33.3333333333%;
  }
  .row .col.pull-xl4 {
    right: 33.3333333333%;
  }
  .row .col.push-xl4 {
    left: 33.3333333333%;
  }
  .row .col.offset-xl5 {
    margin-left: 41.6666666667%;
  }
  .row .col.pull-xl5 {
    right: 41.6666666667%;
  }
  .row .col.push-xl5 {
    left: 41.6666666667%;
  }
  .row .col.offset-xl6 {
    margin-left: 50%;
  }
  .row .col.pull-xl6 {
    right: 50%;
  }
  .row .col.push-xl6 {
    left: 50%;
  }
  .row .col.offset-xl7 {
    margin-left: 58.3333333333%;
  }
  .row .col.pull-xl7 {
    right: 58.3333333333%;
  }
  .row .col.push-xl7 {
    left: 58.3333333333%;
  }
  .row .col.offset-xl8 {
    margin-left: 66.6666666667%;
  }
  .row .col.pull-xl8 {
    right: 66.6666666667%;
  }
  .row .col.push-xl8 {
    left: 66.6666666667%;
  }
  .row .col.offset-xl9 {
    margin-left: 75%;
  }
  .row .col.pull-xl9 {
    right: 75%;
  }
  .row .col.push-xl9 {
    left: 75%;
  }
  .row .col.offset-xl10 {
    margin-left: 83.3333333333%;
  }
  .row .col.pull-xl10 {
    right: 83.3333333333%;
  }
  .row .col.push-xl10 {
    left: 83.3333333333%;
  }
  .row .col.offset-xl11 {
    margin-left: 91.6666666667%;
  }
  .row .col.pull-xl11 {
    right: 91.6666666667%;
  }
  .row .col.push-xl11 {
    left: 91.6666666667%;
  }
  .row .col.offset-xl12 {
    margin-left: 100%;
  }
  .row .col.pull-xl12 {
    right: 100%;
  }
  .row .col.push-xl12 {
    left: 100%;
  }
}

nav.nav-extended {
  height: auto;
}
nav.nav-extended .nav-wrapper {
  min-height: 56px;
  height: auto;
}
nav.nav-extended .nav-content {
  position: relative;
  line-height: normal;
}
nav {
  color: #fff;
  background-color: #616161;
  width: 100%;
  height: 56px;
  line-height: 56px;
}
nav a {
  color: #fff;
}
nav i,
nav [class^=mdi-], nav [class*=mdi-],
nav i.material-icons {
  display: block;
  font-size: 24px;
  height: 56px;
  line-height: 56px;
}
nav .nav-wrapper {
  position: relative;
  height: 100%;
}
@media only screen and (min-width : 993px) {
  nav a.sidenav-trigger {
    display: none;
  }
}
nav .sidenav-trigger {
  float: left;
  position: relative;
  z-index: 1;
  height: 56px;
  margin: 0 18px;
}
nav .sidenav-trigger i {
  height: 56px;
  line-height: 56px;
}
nav .brand-logo {
  position: absolute;
  color: #fff;
  display: inline-block;
  font-size: 2.1rem;
  padding: 0;
}
nav .brand-logo.center {
  left: 50%;
  transform: translateX(-50%);
}
@media only screen and (max-width : 992.99px) {
  nav .brand-logo {
    left: 50%;
    transform: translateX(-50%);
  }
  nav .brand-logo.left, nav .brand-logo.right {
    padding: 0;
    transform: none;
  }
  nav .brand-logo.left {
    left: 0.5rem;
  }
  nav .brand-logo.right {
    right: 0.5rem;
    left: auto;
  }
}
nav .brand-logo.right {
  right: 0.5rem;
  padding: 0;
}
nav .brand-logo i,
nav .brand-logo [class^=mdi-], nav .brand-logo [class*=mdi-],
nav .brand-logo i.material-icons {
  float: left;
  margin-right: 15px;
}
nav .nav-title {
  display: inline-block;
  font-size: 32px;
  padding: 28px 0;
}
nav ul {
  margin: 0;
}
nav ul li {
  transition: background-color 0.3s;
  float: left;
  padding: 0;
}
nav ul li.active {
  background-color: rgba(0, 0, 0, 0.1);
}
nav ul a {
  transition: background-color 0.3s;
  font-size: 1rem;
  color: #fff;
  display: block;
  padding: 0 15px;
  cursor: pointer;
}
nav ul a.btn, nav ul a.btn-small, nav ul a.btn-large, nav ul a.btn-flat, nav ul a.btn-floating {
  margin-top: -2px;
  margin-left: 15px;
  margin-right: 15px;
}
nav ul a.btn > .material-icons, nav ul a.btn-small > .material-icons, nav ul a.btn-large > .material-icons, nav ul a.btn-flat > .material-icons, nav ul a.btn-floating > .material-icons {
  height: inherit;
  line-height: inherit;
}
nav ul a:hover {
  background-color: rgba(0, 0, 0, 0.1);
}
nav ul.left {
  float: left;
}
nav form {
  height: 100%;
}
nav .input-field {
  margin: 0;
  height: 100%;
}
nav .input-field input {
  height: 100%;
  font-size: 1.2rem;
  border: none;
  padding-left: 2rem;
}
nav .input-field input:focus, nav .input-field input[type=text]:valid, nav .input-field input[type=password]:valid, nav .input-field input[type=email]:valid, nav .input-field input[type=url]:valid, nav .input-field input[type=date]:valid {
  border: none;
  box-shadow: none;
}
nav .input-field label {
  top: 0;
  left: 0;
}
nav .input-field label i {
  color: rgba(255, 255, 255, 0.7);
  transition: color 0.3s;
}
nav .input-field label.active i {
  color: #fff;
}

.navbar-fixed {
  position: relative;
  height: 56px;
  z-index: 997;
}
.navbar-fixed nav {
  position: fixed;
}

@media only screen and (min-width : 601px) {
  nav.nav-extended .nav-wrapper {
    min-height: 64px;
  }
  nav, nav .nav-wrapper i, nav a.sidenav-trigger, nav a.sidenav-trigger i {
    height: 64px;
    line-height: 64px;
  }
  .navbar-fixed {
    height: 64px;
  }
}
a {
  text-decoration: none;
}

html {
  line-height: 1.5;
}
@media only screen and (min-width: 0) {
  html {
    font-size: 14px;
  }
}
@media only screen and (min-width: 993px) {
  html {
    font-size: 14.5px;
  }
}
@media only screen and (min-width: 1201px) {
  html {
    font-size: 15px;
  }
}
html {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-weight: normal;
  color: rgba(0, 0, 0, 0.87);
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
  line-height: 1.3;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  font-weight: inherit;
}

h1 {
  font-size: 4.2rem;
  line-height: 110%;
  margin: 2.8rem 0 1.68rem 0;
}

h2 {
  font-size: 3.56rem;
  line-height: 110%;
  margin: 2.3733333333rem 0 1.424rem 0;
}

h3 {
  font-size: 2.92rem;
  line-height: 110%;
  margin: 1.9466666667rem 0 1.168rem 0;
}

h4 {
  font-size: 2.28rem;
  line-height: 110%;
  margin: 1.52rem 0 0.912rem 0;
}

h5 {
  font-size: 1.64rem;
  line-height: 110%;
  margin: 1.0933333333rem 0 0.656rem 0;
}

h6 {
  font-size: 1.15rem;
  line-height: 110%;
  margin: 0.7666666667rem 0 0.46rem 0;
}

em {
  font-style: italic;
}

strong {
  font-weight: 500;
}

small {
  font-size: 75%;
}

.light {
  font-weight: 300;
}

.thin {
  font-weight: 200;
}

@media only screen and (min-width: 360px) {
  .flow-text {
    font-size: 1.2rem;
  }
}
@media only screen and (min-width: 390px) {
  .flow-text {
    font-size: 1.224rem;
  }
}
@media only screen and (min-width: 420px) {
  .flow-text {
    font-size: 1.248rem;
  }
}
@media only screen and (min-width: 450px) {
  .flow-text {
    font-size: 1.272rem;
  }
}
@media only screen and (min-width: 480px) {
  .flow-text {
    font-size: 1.296rem;
  }
}
@media only screen and (min-width: 510px) {
  .flow-text {
    font-size: 1.32rem;
  }
}
@media only screen and (min-width: 540px) {
  .flow-text {
    font-size: 1.344rem;
  }
}
@media only screen and (min-width: 570px) {
  .flow-text {
    font-size: 1.368rem;
  }
}
@media only screen and (min-width: 600px) {
  .flow-text {
    font-size: 1.392rem;
  }
}
@media only screen and (min-width: 630px) {
  .flow-text {
    font-size: 1.416rem;
  }
}
@media only screen and (min-width: 660px) {
  .flow-text {
    font-size: 1.44rem;
  }
}
@media only screen and (min-width: 690px) {
  .flow-text {
    font-size: 1.464rem;
  }
}
@media only screen and (min-width: 720px) {
  .flow-text {
    font-size: 1.488rem;
  }
}
@media only screen and (min-width: 750px) {
  .flow-text {
    font-size: 1.512rem;
  }
}
@media only screen and (min-width: 780px) {
  .flow-text {
    font-size: 1.536rem;
  }
}
@media only screen and (min-width: 810px) {
  .flow-text {
    font-size: 1.56rem;
  }
}
@media only screen and (min-width: 840px) {
  .flow-text {
    font-size: 1.584rem;
  }
}
@media only screen and (min-width: 870px) {
  .flow-text {
    font-size: 1.608rem;
  }
}
@media only screen and (min-width: 900px) {
  .flow-text {
    font-size: 1.632rem;
  }
}
@media only screen and (min-width: 930px) {
  .flow-text {
    font-size: 1.656rem;
  }
}
@media only screen and (min-width: 960px) {
  .flow-text {
    font-size: 1.68rem;
  }
}
@media only screen and (max-width: 360px) {
  .flow-text {
    font-size: 1.2rem;
  }
}

.scale-transition.scale-out {
  transform: scale(0);
  transition: transform 0.2s !important;
}
.scale-transition.scale-in {
  transform: scale(1);
}
.scale-transition {
  transition: transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;
}

.card-panel {
  transition: box-shadow 0.25s;
  padding: 24px;
  margin: 0.5rem 0 1rem 0;
  border-radius: 2px;
  background-color: #fff;
}

.card {
  position: relative;
  margin: 0.5rem 0 1rem 0;
  background-color: #fff;
  transition: box-shadow 0.25s;
  border-radius: 2px;
}
.card .card-title {
  font-size: 24px;
  font-weight: 300;
}
.card .card-title.activator {
  cursor: pointer;
}
.card.small, .card.medium, .card.large {
  position: relative;
}
.card.small .card-image, .card.medium .card-image, .card.large .card-image {
  max-height: 60%;
  overflow: hidden;
}
.card.small .card-image + .card-content, .card.medium .card-image + .card-content, .card.large .card-image + .card-content {
  max-height: 40%;
}
.card.small .card-content, .card.medium .card-content, .card.large .card-content {
  max-height: 100%;
  overflow: hidden;
}
.card.small .card-action, .card.medium .card-action, .card.large .card-action {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.card.small {
  height: 300px;
}
.card.medium {
  height: 400px;
}
.card.large {
  height: 500px;
}
.card.horizontal.small .card-image, .card.horizontal.medium .card-image, .card.horizontal.large .card-image {
  height: 100%;
  max-height: none;
  overflow: visible;
}
.card.horizontal.small .card-image img, .card.horizontal.medium .card-image img, .card.horizontal.large .card-image img {
  height: 100%;
}
.card.horizontal {
  display: flex;
}
.card.horizontal .card-image {
  max-width: 50%;
}
.card.horizontal .card-image img {
  border-radius: 2px 0 0 2px;
  max-width: 100%;
  width: auto;
}
.card.horizontal .card-stacked {
  display: flex;
  flex-direction: column;
  flex: 1;
  position: relative;
}
.card.horizontal .card-stacked .card-content {
  flex-grow: 1;
}
.card.sticky-action .card-action {
  z-index: 2;
}
.card.sticky-action .card-reveal {
  z-index: 1;
  padding-bottom: 64px;
}
.card .card-image {
  position: relative;
}
.card .card-image img {
  display: block;
  border-radius: 2px 2px 0 0;
  position: relative;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
}
.card .card-image .card-title {
  color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  max-width: 100%;
  padding: 24px;
}
.card .card-content {
  padding: 24px;
  border-radius: 0 0 2px 2px;
}
.card .card-content p {
  margin: 0;
}
.card .card-content .card-title {
  display: block;
  line-height: 32px;
  margin-bottom: 8px;
}
.card .card-content .card-title i {
  line-height: 32px;
}
.card .card-action:last-child {
  border-radius: 0 0 2px 2px;
}
.card .card-action {
  background-color: inherit;
  border-top: 1px solid rgba(160, 160, 160, 0.2);
  position: relative;
  padding: 16px 24px;
}
.card .card-action a:not(.btn):not(.btn-small):not(.btn-large):not(.btn-large):not(.btn-floating) {
  color: #ffab40;
  margin-right: 24px;
  transition: color 0.3s ease;
  text-transform: uppercase;
}
.card .card-action a:not(.btn):not(.btn-small):not(.btn-large):not(.btn-large):not(.btn-floating):hover {
  color: rgb(255, 215.8586387435, 166);
}
.card .card-reveal {
  padding: 24px;
  position: absolute;
  background-color: #fff;
  width: 100%;
  overflow-y: auto;
  left: 0;
  top: 100%;
  height: 100%;
  z-index: 3;
  display: none;
}
.card .card-reveal .card-title {
  cursor: pointer;
  display: block;
}

#toast-container {
  display: block;
  position: fixed;
  z-index: 10000;
}
@media only screen and (max-width : 600.99px) {
  #toast-container {
    min-width: 100%;
    bottom: 0%;
  }
}
@media only screen and (min-width : 601px) and (max-width : 992.99px) {
  #toast-container {
    left: 5%;
    bottom: 7%;
    max-width: 90%;
  }
}
@media only screen and (min-width : 993px) {
  #toast-container {
    top: 10%;
    right: 7%;
    max-width: 86%;
  }
}

.toast {
  border-radius: 2px;
  top: 35px;
  width: auto;
  margin-top: 10px;
  position: relative;
  max-width: 100%;
  height: auto;
  min-height: 48px;
  line-height: 1.5em;
  background-color: #323232;
  padding: 10px 25px;
  font-size: 1.1rem;
  font-weight: 300;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: default;
}
.toast .toast-action {
  color: #eeff41;
  font-weight: 500;
  margin-right: -25px;
  margin-left: 3rem;
}
.toast.rounded {
  border-radius: 24px;
}
@media only screen and (max-width : 600.99px) {
  .toast {
    width: 100%;
    border-radius: 0;
  }
}

.tabs.tabs-transparent {
  background-color: transparent;
}
.tabs.tabs-transparent .tab a,
.tabs.tabs-transparent .tab.disabled a,
.tabs.tabs-transparent .tab.disabled a:hover {
  color: rgba(255, 255, 255, 0.7);
}
.tabs.tabs-transparent .tab a:hover,
.tabs.tabs-transparent .tab a.active {
  color: #fff;
}
.tabs.tabs-transparent .indicator {
  background-color: #fff;
}
.tabs.tabs-fixed-width {
  display: flex;
}
.tabs.tabs-fixed-width .tab {
  flex-grow: 1;
}
.tabs {
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  height: 48px;
  width: 100%;
  background-color: #fff;
  margin: 0 auto;
  white-space: nowrap;
}
.tabs .tab {
  display: inline-block;
  text-align: center;
  line-height: 48px;
  height: 48px;
  padding: 0;
  margin: 0;
  text-transform: uppercase;
}
.tabs .tab a:focus, .tabs .tab a:focus.active {
  background-color: rgba(135.25, 135.25, 135.25, 0.2);
  outline: none;
}
.tabs .tab a:hover, .tabs .tab a.active {
  background-color: transparent;
  color: #616161;
}
.tabs .tab a {
  color: rgba(97, 97, 97, 0.7);
  display: block;
  width: 100%;
  height: 100%;
  padding: 0 24px;
  font-size: 14px;
  text-overflow: ellipsis;
  overflow: hidden;
  transition: color 0.28s ease, background-color 0.28s ease;
}
.tabs .tab.disabled a, .tabs .tab.disabled a:hover {
  color: rgba(97, 97, 97, 0.4);
  cursor: default;
}
.tabs .indicator {
  position: absolute;
  bottom: 0;
  height: 2px;
  background-color: rgb(135.25, 135.25, 135.25);
  will-change: left, right;
}

@media only screen and (max-width : 992.99px) {
  .tabs {
    display: flex;
  }
  .tabs .tab {
    flex-grow: 1;
  }
  .tabs .tab a {
    padding: 0 12px;
  }
}
.material-tooltip {
  padding: 10px 8px;
  font-size: 1rem;
  z-index: 2000;
  background-color: transparent;
  border-radius: 2px;
  color: #fff;
  min-height: 36px;
  line-height: 120%;
  opacity: 0;
  position: absolute;
  text-align: center;
  max-width: calc(100% - 4px);
  overflow: hidden;
  left: 0;
  top: 0;
  pointer-events: none;
  visibility: hidden;
  background-color: #323232;
}

.backdrop {
  position: absolute;
  opacity: 0;
  height: 7px;
  width: 14px;
  border-radius: 0 0 50% 50%;
  background-color: #323232;
  z-index: -1;
  transform-origin: 50% 0%;
  visibility: hidden;
}

.btn, .btn-small, .btn-large,
.btn-flat {
  border: none;
  border-radius: 2px;
  display: inline-block;
  height: 36px;
  line-height: 36px;
  padding: 0 16px;
  text-transform: uppercase;
  vertical-align: middle;
  -webkit-tap-highlight-color: transparent;
}

.btn.disabled,
.btn-floating.disabled,
.btn-large.disabled,
.btn-small.disabled,
.btn-flat.disabled,
.btn:disabled,
.btn-floating:disabled,
.btn-large:disabled,
.btn-small:disabled,
.btn-flat:disabled,
.btn[disabled],
.btn-floating[disabled],
.btn-large[disabled],
.btn-small[disabled],
.btn-flat[disabled] {
  pointer-events: none;
  background-color: #DFDFDF !important;
  box-shadow: none;
  color: #9F9F9F !important;
  cursor: default;
}
.btn.disabled:hover,
.btn-floating.disabled:hover,
.btn-large.disabled:hover,
.btn-small.disabled:hover,
.btn-flat.disabled:hover,
.btn:disabled:hover,
.btn-floating:disabled:hover,
.btn-large:disabled:hover,
.btn-small:disabled:hover,
.btn-flat:disabled:hover,
.btn[disabled]:hover,
.btn-floating[disabled]:hover,
.btn-large[disabled]:hover,
.btn-small[disabled]:hover,
.btn-flat[disabled]:hover {
  background-color: #DFDFDF !important;
  color: #9F9F9F !important;
}

.btn,
.btn-small,
.btn-large,
.btn-floating,
.btn-flat {
  font-size: 14px;
  outline: 0;
}
.btn i,
.btn-floating i,
.btn-large i,
.btn-small i,
.btn-flat i {
  font-size: 1.3rem;
  line-height: inherit;
}

.btn:focus, .btn-small:focus, .btn-large:focus,
.btn-floating:focus {
  background-color: rgb(28.5, 124.5, 115.5);
}

.btn, .btn-small, .btn-large {
  text-decoration: none;
  color: #fff;
  background-color: #26a69a;
  text-align: center;
  letter-spacing: 0.5px;
  transition: background-color 0.2s ease-out;
  cursor: pointer;
}
.btn:hover, .btn-small:hover, .btn-large:hover {
  background-color: rgb(42.75, 186.75, 173.25);
}

.btn-floating:hover {
  background-color: #26a69a;
}
.btn-floating:before {
  border-radius: 0;
}
.btn-floating.btn-large.halfway-fab {
  bottom: -28px;
}
.btn-floating.btn-large {
  width: 56px;
  height: 56px;
  padding: 0;
}
.btn-floating.btn-large i {
  line-height: 56px;
}
.btn-floating.btn-small.halfway-fab {
  bottom: -16.2px;
}
.btn-floating.btn-small {
  width: 32.4px;
  height: 32.4px;
}
.btn-floating.btn-small i {
  line-height: 32.4px;
}
.btn-floating.halfway-fab.left {
  right: auto;
  left: 24px;
}
.btn-floating.halfway-fab {
  position: absolute;
  right: 24px;
  bottom: -20px;
}
.btn-floating {
  display: inline-block;
  color: #fff;
  position: relative;
  overflow: hidden;
  z-index: 1;
  width: 40px;
  height: 40px;
  line-height: 40px;
  padding: 0;
  background-color: #26a69a;
  border-radius: 50%;
  transition: background-color 0.3s;
  cursor: pointer;
  vertical-align: middle;
}
.btn-floating i {
  width: inherit;
  display: inline-block;
  text-align: center;
  color: #fff;
  font-size: 1.6rem;
  line-height: 40px;
}

button.btn-floating {
  border: none;
}

.fixed-action-btn.active ul {
  visibility: visible;
}
.fixed-action-btn.direction-left, .fixed-action-btn.direction-right {
  padding: 0 0 0 15px;
}
.fixed-action-btn.direction-left ul, .fixed-action-btn.direction-right ul {
  text-align: right;
  right: 64px;
  top: 50%;
  transform: translateY(-50%);
  height: 100%;
  left: auto;
  /*width 100% only goes to width of button container */
  width: 500px;
}
.fixed-action-btn.direction-left ul li, .fixed-action-btn.direction-right ul li {
  display: inline-block;
  margin: 7.5px 15px 0 0;
}
.fixed-action-btn.direction-right {
  padding: 0 15px 0 0;
}
.fixed-action-btn.direction-right ul {
  text-align: left;
  direction: rtl;
  left: 64px;
  right: auto;
}
.fixed-action-btn.direction-right ul li {
  margin: 7.5px 0 0 15px;
}
.fixed-action-btn.direction-bottom {
  padding: 0 0 15px 0;
}
.fixed-action-btn.direction-bottom ul {
  top: 64px;
  bottom: auto;
  display: flex;
  flex-direction: column-reverse;
}
.fixed-action-btn.direction-bottom ul li {
  margin: 15px 0 0 0;
}
.fixed-action-btn.toolbar.active > a i {
  opacity: 0;
}
.fixed-action-btn.toolbar {
  padding: 0;
  height: 56px;
}
.fixed-action-btn.toolbar ul {
  display: flex;
  top: 0;
  bottom: 0;
  z-index: 1;
}
.fixed-action-btn.toolbar ul li {
  flex: 1;
  display: inline-block;
  margin: 0;
  height: 100%;
  transition: none;
}
.fixed-action-btn.toolbar ul li a {
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
  background-color: transparent;
  box-shadow: none;
  color: #fff;
  line-height: 56px;
  z-index: 1;
}
.fixed-action-btn.toolbar ul li a i {
  line-height: inherit;
}
.fixed-action-btn {
  position: fixed;
  right: 23px;
  bottom: 23px;
  padding-top: 15px;
  margin-bottom: 0;
  z-index: 997;
}
.fixed-action-btn ul {
  left: 0;
  right: 0;
  text-align: center;
  position: absolute;
  bottom: 64px;
  margin: 0;
  visibility: hidden;
}
.fixed-action-btn ul li {
  margin-bottom: 15px;
}
.fixed-action-btn ul a.btn-floating {
  opacity: 0;
}
.fixed-action-btn .fab-backdrop {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 40px;
  height: 40px;
  background-color: #26a69a;
  border-radius: 50%;
  transform: scale(0);
}

.btn-flat {
  box-shadow: none;
  background-color: transparent;
  color: #343434;
  cursor: pointer;
  transition: background-color 0.2s;
}
.btn-flat:focus, .btn-flat:hover {
  box-shadow: none;
}
.btn-flat:focus {
  background-color: rgba(0, 0, 0, 0.1);
}
.btn-flat.disabled, .btn-flat.btn-flat[disabled] {
  background-color: transparent !important;
  color: rgb(178.5, 178.5, 178.5) !important;
  cursor: default;
}

.btn-large {
  height: 54px;
  line-height: 54px;
  font-size: 15px;
  padding: 0 28px;
}
.btn-large i {
  font-size: 1.6rem;
}

.btn-small {
  height: 32.4px;
  line-height: 32.4px;
  font-size: 13px;
}
.btn-small i {
  font-size: 1.2rem;
}

.btn-block {
  display: block;
}

.dropdown-content:focus {
  outline: 0;
}
.dropdown-content {
  background-color: #fff;
  margin: 0;
  display: none;
  min-width: 100px;
  overflow-y: auto;
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 9999;
  transform-origin: 0 0;
}
.dropdown-content li:hover, .dropdown-content li.active {
  background-color: #eee;
}
.dropdown-content li:focus {
  outline: none;
}
.dropdown-content li.divider {
  min-height: 0;
  height: 1px;
}
.dropdown-content li > a, .dropdown-content li > span {
  font-size: 16px;
  color: #26a69a;
  display: block;
  line-height: 22px;
  padding: 14px 16px;
}
.dropdown-content li > span > label {
  top: 1px;
  left: 0;
  height: 18px;
}
.dropdown-content li > a > i {
  height: inherit;
  line-height: inherit;
  float: left;
  margin: 0 24px 0 0;
  width: 24px;
}
.dropdown-content li {
  clear: both;
  color: rgba(0, 0, 0, 0.87);
  cursor: pointer;
  min-height: 50px;
  line-height: 1.5rem;
  width: 100%;
  text-align: left;
}

body.keyboard-focused .dropdown-content li:focus {
  background-color: rgb(217.6, 217.6, 217.6);
}

.input-field.col .dropdown-content [type=checkbox] + label {
  top: 1px;
  left: 0;
  height: 18px;
  transform: none;
}

.dropdown-trigger {
  cursor: pointer;
}

/*!
 * Waves v0.7.6
 * http://fian.my.id/Waves
 *
 * Copyright 2014-2018 Alfiana E. Sibuea and other contributors
 * Released under the MIT license
 * https://github.com/fians/Waves/blob/master/LICENSE */
.waves-effect {
  position: relative;
  cursor: pointer;
  display: inline-block;
  overflow: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.waves-effect .waves-ripple {
  position: absolute;
  border-radius: 50%;
  width: 100px;
  height: 100px;
  margin-top: -50px;
  margin-left: -50px;
  opacity: 0;
  background: rgba(0, 0, 0, 0.2);
  background: -webkit-radial-gradient(rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
  background: -o-radial-gradient(rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
  background: -moz-radial-gradient(rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
  background: radial-gradient(rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  -webkit-transition-property: -webkit-transform, opacity;
  -moz-transition-property: -moz-transform, opacity;
  -o-transition-property: -o-transform, opacity;
  transition-property: transform, opacity;
  -webkit-transform: scale(0) translate(0, 0);
  -moz-transform: scale(0) translate(0, 0);
  -ms-transform: scale(0) translate(0, 0);
  -o-transform: scale(0) translate(0, 0);
  transform: scale(0) translate(0, 0);
  pointer-events: none;
}
.waves-effect.waves-light .waves-ripple {
  background: rgba(255, 255, 255, 0.4);
  background: -webkit-radial-gradient(rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0.3) 40%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
  background: -o-radial-gradient(rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0.3) 40%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
  background: -moz-radial-gradient(rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0.3) 40%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
  background: radial-gradient(rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0.3) 40%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
}
.waves-effect.waves-classic .waves-ripple {
  background: rgba(0, 0, 0, 0.2);
}
.waves-effect.waves-classic.waves-light .waves-ripple {
  background: rgba(255, 255, 255, 0.4);
}
.waves-effect.waves-light .waves-ripple {
  background-color: rgba(255, 255, 255, 0.45);
}
.waves-effect.waves-red .waves-ripple {
  background-color: rgba(244, 67, 54, 0.7);
}
.waves-effect.waves-yellow .waves-ripple {
  background-color: rgba(255, 235, 59, 0.7);
}
.waves-effect.waves-orange .waves-ripple {
  background-color: rgba(255, 152, 0, 0.7);
}
.waves-effect.waves-purple .waves-ripple {
  background-color: rgba(156, 39, 176, 0.7);
}
.waves-effect.waves-green .waves-ripple {
  background-color: rgba(76, 175, 80, 0.7);
}
.waves-effect.waves-teal .waves-ripple {
  background-color: rgba(0, 150, 136, 0.7);
}
.waves-effect input[type=button], .waves-effect input[type=reset], .waves-effect input[type=submit] {
  border: 0;
  font-style: normal;
  font-size: inherit;
  text-transform: inherit;
  background: none;
}

.waves-notransition {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}

.waves-button,
.waves-circle {
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%);
}

.waves-button,
.waves-button:hover,
.waves-button:visited,
.waves-button-input {
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  border: none;
  outline: none;
  color: inherit;
  background-color: rgba(0, 0, 0, 0);
  font-size: 1em;
  line-height: 1em;
  text-align: center;
  text-decoration: none;
  z-index: 1;
}

.waves-button {
  padding: 0.85em 1.1em;
  border-radius: 0.2em;
}

.waves-button-input {
  margin: 0;
  padding: 0.85em 1.1em;
}

.waves-input-wrapper {
  border-radius: 0.2em;
  vertical-align: bottom;
}
.waves-input-wrapper.waves-button {
  padding: 0;
}
.waves-input-wrapper .waves-button-input {
  position: relative;
  top: 0;
  left: 0;
  z-index: 1;
}

.waves-circle {
  text-align: center;
  width: 2.5em;
  height: 2.5em;
  line-height: 2.5em;
  border-radius: 50%;
}

.waves-float {
  -webkit-mask-image: none;
  -webkit-box-shadow: 0px 1px 1.5px 1px rgba(0, 0, 0, 0.12);
  box-shadow: 0px 1px 1.5px 1px rgba(0, 0, 0, 0.12);
  -webkit-transition: all 300ms;
  -moz-transition: all 300ms;
  -o-transition: all 300ms;
  transition: all 300ms;
}
.waves-float:active {
  -webkit-box-shadow: 0px 8px 20px 1px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 8px 20px 1px rgba(0, 0, 0, 0.3);
}

.waves-block {
  display: block;
}

.modal:focus {
  outline: none;
}
.modal {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  background-color: #fafafa;
  padding: 0;
  max-height: 70%;
  width: 55%;
  margin: auto;
  overflow-y: auto;
  border-radius: 2px;
  will-change: top, opacity;
}
@media only screen and (max-width : 992.99px) {
  .modal {
    width: 80%;
  }
}
.modal h1, .modal h2, .modal h3, .modal h4 {
  margin-top: 0;
}
.modal .modal-content {
  padding: 24px;
  overflow-y: hidden;
}
.modal .modal-close {
  cursor: pointer;
}
.modal .modal-footer {
  border-radius: 0 0 2px 2px;
  background-color: #fafafa;
  padding: 4px 6px;
  height: 56px;
  width: 100%;
  text-align: right;
}
.modal .modal-footer .btn, .modal .modal-footer .btn-large, .modal .modal-footer .btn-small, .modal .modal-footer .btn-flat {
  margin: 6px 0;
}

.modal-overlay {
  position: fixed;
  z-index: 999;
  top: -25%;
  left: 0;
  bottom: 0;
  right: 0;
  height: 125%;
  width: 100%;
  background: #000;
  display: none;
  will-change: opacity;
}

.modal.modal-fixed-footer {
  padding: 0;
  height: 70%;
}
.modal.modal-fixed-footer .modal-content {
  position: absolute;
  height: calc(100% - 56px);
  max-height: 100%;
  width: 100%;
  overflow-y: auto;
}
.modal.modal-fixed-footer .modal-footer {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  position: absolute;
  bottom: 0;
}

.modal.bottom-sheet {
  top: auto;
  bottom: -100%;
  margin: 0;
  width: 100%;
  max-height: 45%;
  border-radius: 0;
  will-change: bottom, opacity;
}

.collapsible {
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
  border-left: 1px solid #ddd;
  margin: 0.5rem 0 1rem 0;
}

.collapsible-header:focus {
  outline: 0;
}
.collapsible-header {
  display: flex;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  line-height: 1.5;
  padding: 1rem;
  background-color: #fff;
  border-bottom: 1px solid #ddd;
}
.collapsible-header i {
  width: 2rem;
  font-size: 1.6rem;
  display: inline-block;
  text-align: center;
  margin-right: 1rem;
}

.keyboard-focused .collapsible-header:focus {
  background-color: #eee;
}

.collapsible-body {
  display: none;
  border-bottom: 1px solid #ddd;
  box-sizing: border-box;
  padding: 2rem;
}

.sidenav .collapsible,
.sidenav.sidenav-fixed .collapsible {
  border: none;
  box-shadow: none;
}
.sidenav .collapsible li,
.sidenav.sidenav-fixed .collapsible li {
  padding: 0;
}
.sidenav .collapsible-header,
.sidenav.sidenav-fixed .collapsible-header {
  background-color: transparent;
  border: none;
  line-height: inherit;
  height: inherit;
  padding: 0 16px;
}
.sidenav .collapsible-header:hover,
.sidenav.sidenav-fixed .collapsible-header:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.sidenav .collapsible-header i,
.sidenav.sidenav-fixed .collapsible-header i {
  line-height: inherit;
}
.sidenav .collapsible-body,
.sidenav.sidenav-fixed .collapsible-body {
  border: 0;
  background-color: #fff;
}
.sidenav .collapsible-body li a,
.sidenav.sidenav-fixed .collapsible-body li a {
  padding: 0 23.5px 0 31px;
}

.collapsible.popout {
  border: none;
  box-shadow: none;
}
.collapsible.popout > li {
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  margin: 0 24px;
  transition: margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.collapsible.popout > li.active {
  box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
  margin: 16px 0;
}

.chip:focus {
  outline: none;
  background-color: #26a69a;
  color: #fff;
}
.chip {
  display: inline-block;
  height: 32px;
  font-size: 13px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.6);
  line-height: 32px;
  padding: 0 12px;
  border-radius: 16px;
  background-color: #e4e4e4;
  margin-bottom: 5px;
  margin-right: 5px;
}
.chip > img {
  float: left;
  margin: 0 8px 0 -12px;
  height: 32px;
  width: 32px;
  border-radius: 50%;
}
.chip .close {
  cursor: pointer;
  float: right;
  font-size: 16px;
  line-height: 32px;
  padding-left: 8px;
}

.chips {
  border: none;
  border-bottom: 1px solid #9e9e9e;
  box-shadow: none;
  margin: 0 0 8px 0;
  min-height: 45px;
  outline: none;
  transition: all 0.3s;
}
.chips.focus {
  border-bottom: 1px solid #26a69a;
  box-shadow: 0 1px 0 0 #26a69a;
}
.chips:hover {
  cursor: text;
}
.chips input:not([type]):not(.browser-default).input {
  background: none;
  border: 0;
  color: rgba(0, 0, 0, 0.6);
  display: inline-block;
  font-size: 16px;
  height: 3rem;
  line-height: 32px;
  outline: 0;
  margin: 0;
  padding: 0;
  width: 120px;
}
.chips input:not([type]):not(.browser-default).input:focus {
  border: 0;
  box-shadow: none;
}
.chips .autocomplete-content {
  margin-top: 0;
  margin-bottom: 0;
}

.prefix ~ .chips {
  margin-left: 3rem;
  width: 92%;
  width: calc(100% - 3rem);
}

.suffix ~ .chips {
  margin-right: 3rem;
  width: 92%;
  width: calc(100% - 3rem);
}

.chips:empty ~ label {
  font-size: 0.8rem;
  transform: translateY(-140%);
}

.materialboxed:hover:not(.active) {
  opacity: 0.8;
}
.materialboxed {
  display: block;
  cursor: zoom-in;
  position: relative;
  transition: opacity 0.4s;
  -webkit-backface-visibility: hidden;
}
.materialboxed.active {
  cursor: zoom-out;
}

#materialbox-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #292929;
  z-index: 1000;
  will-change: opacity;
}

.materialbox-caption {
  position: fixed;
  display: none;
  color: #fff;
  line-height: 50px;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
  padding: 0% 15%;
  height: 50px;
  z-index: 1000;
  -webkit-font-smoothing: antialiased;
}

select:focus {
  outline: 1px solid rgb(201.05, 242.65, 238.75);
}

button:focus {
  outline: none;
  background-color: rgb(41.8, 182.6, 169.4);
}

label {
  font-size: 0.8rem;
  color: #9e9e9e;
}

/* Text Inputs + Textarea
   ========================================================================== */
/* Style Placeholders */
::placeholder {
  color: #d1d1d1;
}

/* Text inputs */
input:not([type]):not(.browser-default),
input[type=text]:not(.browser-default),
input[type=password]:not(.browser-default),
input[type=email]:not(.browser-default),
input[type=url]:not(.browser-default),
input[type=time]:not(.browser-default),
input[type=date]:not(.browser-default),
input[type=datetime]:not(.browser-default),
input[type=datetime-local]:not(.browser-default),
input[type=month]:not(.browser-default),
input[type=tel]:not(.browser-default),
input[type=number]:not(.browser-default),
input[type=search]:not(.browser-default),
textarea.materialize-textarea {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #9e9e9e;
  border-radius: 0;
  outline: none;
  height: 3rem;
  width: 100%;
  font-size: 16px;
  margin: 0 0 8px 0;
  padding: 0;
  box-shadow: none;
  box-sizing: content-box;
  transition: box-shadow 0.3s, border 0.3s;
}
input:not([type]):not(.browser-default):disabled, input:not([type]):not(.browser-default)[readonly=readonly],
input[type=text]:not(.browser-default):disabled,
input[type=text]:not(.browser-default)[readonly=readonly],
input[type=password]:not(.browser-default):disabled,
input[type=password]:not(.browser-default)[readonly=readonly],
input[type=email]:not(.browser-default):disabled,
input[type=email]:not(.browser-default)[readonly=readonly],
input[type=url]:not(.browser-default):disabled,
input[type=url]:not(.browser-default)[readonly=readonly],
input[type=time]:not(.browser-default):disabled,
input[type=time]:not(.browser-default)[readonly=readonly],
input[type=date]:not(.browser-default):disabled,
input[type=date]:not(.browser-default)[readonly=readonly],
input[type=datetime]:not(.browser-default):disabled,
input[type=datetime]:not(.browser-default)[readonly=readonly],
input[type=datetime-local]:not(.browser-default):disabled,
input[type=datetime-local]:not(.browser-default)[readonly=readonly],
input[type=month]:not(.browser-default):disabled,
input[type=month]:not(.browser-default)[readonly=readonly],
input[type=tel]:not(.browser-default):disabled,
input[type=tel]:not(.browser-default)[readonly=readonly],
input[type=number]:not(.browser-default):disabled,
input[type=number]:not(.browser-default)[readonly=readonly],
input[type=search]:not(.browser-default):disabled,
input[type=search]:not(.browser-default)[readonly=readonly],
textarea.materialize-textarea:disabled,
textarea.materialize-textarea[readonly=readonly] {
  color: rgba(0, 0, 0, 0.42);
  border-bottom: 1px dotted rgba(0, 0, 0, 0.42);
}
input:not([type]):not(.browser-default):disabled + label, input:not([type]):not(.browser-default)[readonly=readonly] + label,
input[type=text]:not(.browser-default):disabled + label,
input[type=text]:not(.browser-default)[readonly=readonly] + label,
input[type=password]:not(.browser-default):disabled + label,
input[type=password]:not(.browser-default)[readonly=readonly] + label,
input[type=email]:not(.browser-default):disabled + label,
input[type=email]:not(.browser-default)[readonly=readonly] + label,
input[type=url]:not(.browser-default):disabled + label,
input[type=url]:not(.browser-default)[readonly=readonly] + label,
input[type=time]:not(.browser-default):disabled + label,
input[type=time]:not(.browser-default)[readonly=readonly] + label,
input[type=date]:not(.browser-default):disabled + label,
input[type=date]:not(.browser-default)[readonly=readonly] + label,
input[type=datetime]:not(.browser-default):disabled + label,
input[type=datetime]:not(.browser-default)[readonly=readonly] + label,
input[type=datetime-local]:not(.browser-default):disabled + label,
input[type=datetime-local]:not(.browser-default)[readonly=readonly] + label,
input[type=month]:not(.browser-default):disabled + label,
input[type=month]:not(.browser-default)[readonly=readonly] + label,
input[type=tel]:not(.browser-default):disabled + label,
input[type=tel]:not(.browser-default)[readonly=readonly] + label,
input[type=number]:not(.browser-default):disabled + label,
input[type=number]:not(.browser-default)[readonly=readonly] + label,
input[type=search]:not(.browser-default):disabled + label,
input[type=search]:not(.browser-default)[readonly=readonly] + label,
textarea.materialize-textarea:disabled + label,
textarea.materialize-textarea[readonly=readonly] + label {
  color: rgba(0, 0, 0, 0.42);
}
input:not([type]):not(.browser-default):focus:not([readonly]),
input[type=text]:not(.browser-default):focus:not([readonly]),
input[type=password]:not(.browser-default):focus:not([readonly]),
input[type=email]:not(.browser-default):focus:not([readonly]),
input[type=url]:not(.browser-default):focus:not([readonly]),
input[type=time]:not(.browser-default):focus:not([readonly]),
input[type=date]:not(.browser-default):focus:not([readonly]),
input[type=datetime]:not(.browser-default):focus:not([readonly]),
input[type=datetime-local]:not(.browser-default):focus:not([readonly]),
input[type=month]:not(.browser-default):focus:not([readonly]),
input[type=tel]:not(.browser-default):focus:not([readonly]),
input[type=number]:not(.browser-default):focus:not([readonly]),
input[type=search]:not(.browser-default):focus:not([readonly]),
textarea.materialize-textarea:focus:not([readonly]) {
  border-bottom: 1px solid #26a69a;
  box-shadow: 0 1px 0 0 #26a69a;
}
input:not([type]):not(.browser-default):focus:not([readonly]) + label,
input[type=text]:not(.browser-default):focus:not([readonly]) + label,
input[type=password]:not(.browser-default):focus:not([readonly]) + label,
input[type=email]:not(.browser-default):focus:not([readonly]) + label,
input[type=url]:not(.browser-default):focus:not([readonly]) + label,
input[type=time]:not(.browser-default):focus:not([readonly]) + label,
input[type=date]:not(.browser-default):focus:not([readonly]) + label,
input[type=datetime]:not(.browser-default):focus:not([readonly]) + label,
input[type=datetime-local]:not(.browser-default):focus:not([readonly]) + label,
input[type=month]:not(.browser-default):focus:not([readonly]) + label,
input[type=tel]:not(.browser-default):focus:not([readonly]) + label,
input[type=number]:not(.browser-default):focus:not([readonly]) + label,
input[type=search]:not(.browser-default):focus:not([readonly]) + label,
textarea.materialize-textarea:focus:not([readonly]) + label {
  color: #26a69a;
}
input:not([type]):not(.browser-default):focus.valid ~ label,
input[type=text]:not(.browser-default):focus.valid ~ label,
input[type=password]:not(.browser-default):focus.valid ~ label,
input[type=email]:not(.browser-default):focus.valid ~ label,
input[type=url]:not(.browser-default):focus.valid ~ label,
input[type=time]:not(.browser-default):focus.valid ~ label,
input[type=date]:not(.browser-default):focus.valid ~ label,
input[type=datetime]:not(.browser-default):focus.valid ~ label,
input[type=datetime-local]:not(.browser-default):focus.valid ~ label,
input[type=month]:not(.browser-default):focus.valid ~ label,
input[type=tel]:not(.browser-default):focus.valid ~ label,
input[type=number]:not(.browser-default):focus.valid ~ label,
input[type=search]:not(.browser-default):focus.valid ~ label,
textarea.materialize-textarea:focus.valid ~ label {
  color: #fbc02d;
}
input:not([type]):not(.browser-default):focus.invalid ~ label,
input[type=text]:not(.browser-default):focus.invalid ~ label,
input[type=password]:not(.browser-default):focus.invalid ~ label,
input[type=email]:not(.browser-default):focus.invalid ~ label,
input[type=url]:not(.browser-default):focus.invalid ~ label,
input[type=time]:not(.browser-default):focus.invalid ~ label,
input[type=date]:not(.browser-default):focus.invalid ~ label,
input[type=datetime]:not(.browser-default):focus.invalid ~ label,
input[type=datetime-local]:not(.browser-default):focus.invalid ~ label,
input[type=month]:not(.browser-default):focus.invalid ~ label,
input[type=tel]:not(.browser-default):focus.invalid ~ label,
input[type=number]:not(.browser-default):focus.invalid ~ label,
input[type=search]:not(.browser-default):focus.invalid ~ label,
textarea.materialize-textarea:focus.invalid ~ label {
  color: #F44336;
}
input:not([type]):not(.browser-default).validate + label,
input[type=text]:not(.browser-default).validate + label,
input[type=password]:not(.browser-default).validate + label,
input[type=email]:not(.browser-default).validate + label,
input[type=url]:not(.browser-default).validate + label,
input[type=time]:not(.browser-default).validate + label,
input[type=date]:not(.browser-default).validate + label,
input[type=datetime]:not(.browser-default).validate + label,
input[type=datetime-local]:not(.browser-default).validate + label,
input[type=month]:not(.browser-default).validate + label,
input[type=tel]:not(.browser-default).validate + label,
input[type=number]:not(.browser-default).validate + label,
input[type=search]:not(.browser-default).validate + label,
textarea.materialize-textarea.validate + label {
  width: 100%;
}
/* Validation Sass Placeholders */
.select-wrapper.valid > input.select-dropdown, input:not([type]):not(.browser-default).valid, input:not([type]):not(.browser-default):focus.valid,
input[type=text]:not(.browser-default).valid,
input[type=text]:not(.browser-default):focus.valid,
input[type=password]:not(.browser-default).valid,
input[type=password]:not(.browser-default):focus.valid,
input[type=email]:not(.browser-default).valid,
input[type=email]:not(.browser-default):focus.valid,
input[type=url]:not(.browser-default).valid,
input[type=url]:not(.browser-default):focus.valid,
input[type=time]:not(.browser-default).valid,
input[type=time]:not(.browser-default):focus.valid,
input[type=date]:not(.browser-default).valid,
input[type=date]:not(.browser-default):focus.valid,
input[type=datetime]:not(.browser-default).valid,
input[type=datetime]:not(.browser-default):focus.valid,
input[type=datetime-local]:not(.browser-default).valid,
input[type=datetime-local]:not(.browser-default):focus.valid,
input[type=month]:not(.browser-default).valid,
input[type=month]:not(.browser-default):focus.valid,
input[type=tel]:not(.browser-default).valid,
input[type=tel]:not(.browser-default):focus.valid,
input[type=number]:not(.browser-default).valid,
input[type=number]:not(.browser-default):focus.valid,
input[type=search]:not(.browser-default).valid,
input[type=search]:not(.browser-default):focus.valid,
textarea.materialize-textarea.valid,
textarea.materialize-textarea:focus.valid {
  border-bottom: 1px solid #fbc02d;
  box-shadow: 0 1px 0 0 #fbc02d;
}

.select-wrapper.invalid > input.select-dropdown, .select-wrapper.invalid > input.select-dropdown:focus, input:not([type]):not(.browser-default).invalid, input:not([type]):not(.browser-default):focus.invalid,
input[type=text]:not(.browser-default).invalid,
input[type=text]:not(.browser-default):focus.invalid,
input[type=password]:not(.browser-default).invalid,
input[type=password]:not(.browser-default):focus.invalid,
input[type=email]:not(.browser-default).invalid,
input[type=email]:not(.browser-default):focus.invalid,
input[type=url]:not(.browser-default).invalid,
input[type=url]:not(.browser-default):focus.invalid,
input[type=time]:not(.browser-default).invalid,
input[type=time]:not(.browser-default):focus.invalid,
input[type=date]:not(.browser-default).invalid,
input[type=date]:not(.browser-default):focus.invalid,
input[type=datetime]:not(.browser-default).invalid,
input[type=datetime]:not(.browser-default):focus.invalid,
input[type=datetime-local]:not(.browser-default).invalid,
input[type=datetime-local]:not(.browser-default):focus.invalid,
input[type=month]:not(.browser-default).invalid,
input[type=month]:not(.browser-default):focus.invalid,
input[type=tel]:not(.browser-default).invalid,
input[type=tel]:not(.browser-default):focus.invalid,
input[type=number]:not(.browser-default).invalid,
input[type=number]:not(.browser-default):focus.invalid,
input[type=search]:not(.browser-default).invalid,
input[type=search]:not(.browser-default):focus.invalid,
textarea.materialize-textarea.invalid,
textarea.materialize-textarea:focus.invalid {
  border-bottom: 1px solid #F44336;
  box-shadow: 0 1px 0 0 #F44336;
}

.select-wrapper.valid .helper-text[data-success], .select-wrapper.invalid ~ .helper-text[data-error], input:not([type]):not(.browser-default).valid ~ .helper-text[data-success], input:not([type]):not(.browser-default):focus.valid ~ .helper-text[data-success], input:not([type]):not(.browser-default).invalid ~ .helper-text[data-error], input:not([type]):not(.browser-default):focus.invalid ~ .helper-text[data-error],
input[type=text]:not(.browser-default).valid ~ .helper-text[data-success],
input[type=text]:not(.browser-default):focus.valid ~ .helper-text[data-success],
input[type=text]:not(.browser-default).invalid ~ .helper-text[data-error],
input[type=text]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
input[type=password]:not(.browser-default).valid ~ .helper-text[data-success],
input[type=password]:not(.browser-default):focus.valid ~ .helper-text[data-success],
input[type=password]:not(.browser-default).invalid ~ .helper-text[data-error],
input[type=password]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
input[type=email]:not(.browser-default).valid ~ .helper-text[data-success],
input[type=email]:not(.browser-default):focus.valid ~ .helper-text[data-success],
input[type=email]:not(.browser-default).invalid ~ .helper-text[data-error],
input[type=email]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
input[type=url]:not(.browser-default).valid ~ .helper-text[data-success],
input[type=url]:not(.browser-default):focus.valid ~ .helper-text[data-success],
input[type=url]:not(.browser-default).invalid ~ .helper-text[data-error],
input[type=url]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
input[type=time]:not(.browser-default).valid ~ .helper-text[data-success],
input[type=time]:not(.browser-default):focus.valid ~ .helper-text[data-success],
input[type=time]:not(.browser-default).invalid ~ .helper-text[data-error],
input[type=time]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
input[type=date]:not(.browser-default).valid ~ .helper-text[data-success],
input[type=date]:not(.browser-default):focus.valid ~ .helper-text[data-success],
input[type=date]:not(.browser-default).invalid ~ .helper-text[data-error],
input[type=date]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
input[type=datetime]:not(.browser-default).valid ~ .helper-text[data-success],
input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text[data-success],
input[type=datetime]:not(.browser-default).invalid ~ .helper-text[data-error],
input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
input[type=datetime-local]:not(.browser-default).valid ~ .helper-text[data-success],
input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text[data-success],
input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text[data-error],
input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
input[type=month]:not(.browser-default).valid ~ .helper-text[data-success],
input[type=month]:not(.browser-default):focus.valid ~ .helper-text[data-success],
input[type=month]:not(.browser-default).invalid ~ .helper-text[data-error],
input[type=month]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
input[type=tel]:not(.browser-default).valid ~ .helper-text[data-success],
input[type=tel]:not(.browser-default):focus.valid ~ .helper-text[data-success],
input[type=tel]:not(.browser-default).invalid ~ .helper-text[data-error],
input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
input[type=number]:not(.browser-default).valid ~ .helper-text[data-success],
input[type=number]:not(.browser-default):focus.valid ~ .helper-text[data-success],
input[type=number]:not(.browser-default).invalid ~ .helper-text[data-error],
input[type=number]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
input[type=search]:not(.browser-default).valid ~ .helper-text[data-success],
input[type=search]:not(.browser-default):focus.valid ~ .helper-text[data-success],
input[type=search]:not(.browser-default).invalid ~ .helper-text[data-error],
input[type=search]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
textarea.materialize-textarea.valid ~ .helper-text[data-success],
textarea.materialize-textarea:focus.valid ~ .helper-text[data-success],
textarea.materialize-textarea.invalid ~ .helper-text[data-error],
textarea.materialize-textarea:focus.invalid ~ .helper-text[data-error] {
  color: transparent;
  user-select: none;
  pointer-events: none;
}

.select-wrapper.valid ~ .helper-text:after, input:not([type]):not(.browser-default).valid ~ .helper-text:after, input:not([type]):not(.browser-default):focus.valid ~ .helper-text:after,
input[type=text]:not(.browser-default).valid ~ .helper-text:after,
input[type=text]:not(.browser-default):focus.valid ~ .helper-text:after,
input[type=password]:not(.browser-default).valid ~ .helper-text:after,
input[type=password]:not(.browser-default):focus.valid ~ .helper-text:after,
input[type=email]:not(.browser-default).valid ~ .helper-text:after,
input[type=email]:not(.browser-default):focus.valid ~ .helper-text:after,
input[type=url]:not(.browser-default).valid ~ .helper-text:after,
input[type=url]:not(.browser-default):focus.valid ~ .helper-text:after,
input[type=time]:not(.browser-default).valid ~ .helper-text:after,
input[type=time]:not(.browser-default):focus.valid ~ .helper-text:after,
input[type=date]:not(.browser-default).valid ~ .helper-text:after,
input[type=date]:not(.browser-default):focus.valid ~ .helper-text:after,
input[type=datetime]:not(.browser-default).valid ~ .helper-text:after,
input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text:after,
input[type=datetime-local]:not(.browser-default).valid ~ .helper-text:after,
input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text:after,
input[type=month]:not(.browser-default).valid ~ .helper-text:after,
input[type=month]:not(.browser-default):focus.valid ~ .helper-text:after,
input[type=tel]:not(.browser-default).valid ~ .helper-text:after,
input[type=tel]:not(.browser-default):focus.valid ~ .helper-text:after,
input[type=number]:not(.browser-default).valid ~ .helper-text:after,
input[type=number]:not(.browser-default):focus.valid ~ .helper-text:after,
input[type=search]:not(.browser-default).valid ~ .helper-text:after,
input[type=search]:not(.browser-default):focus.valid ~ .helper-text:after,
textarea.materialize-textarea.valid ~ .helper-text:after,
textarea.materialize-textarea:focus.valid ~ .helper-text:after {
  content: attr(data-success);
  color: #fbc02d;
}

.select-wrapper.invalid ~ .helper-text:after, input:not([type]):not(.browser-default).invalid ~ .helper-text:after, input:not([type]):not(.browser-default):focus.invalid ~ .helper-text:after,
input[type=text]:not(.browser-default).invalid ~ .helper-text:after,
input[type=text]:not(.browser-default):focus.invalid ~ .helper-text:after,
input[type=password]:not(.browser-default).invalid ~ .helper-text:after,
input[type=password]:not(.browser-default):focus.invalid ~ .helper-text:after,
input[type=email]:not(.browser-default).invalid ~ .helper-text:after,
input[type=email]:not(.browser-default):focus.invalid ~ .helper-text:after,
input[type=url]:not(.browser-default).invalid ~ .helper-text:after,
input[type=url]:not(.browser-default):focus.invalid ~ .helper-text:after,
input[type=time]:not(.browser-default).invalid ~ .helper-text:after,
input[type=time]:not(.browser-default):focus.invalid ~ .helper-text:after,
input[type=date]:not(.browser-default).invalid ~ .helper-text:after,
input[type=date]:not(.browser-default):focus.invalid ~ .helper-text:after,
input[type=datetime]:not(.browser-default).invalid ~ .helper-text:after,
input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text:after,
input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text:after,
input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text:after,
input[type=month]:not(.browser-default).invalid ~ .helper-text:after,
input[type=month]:not(.browser-default):focus.invalid ~ .helper-text:after,
input[type=tel]:not(.browser-default).invalid ~ .helper-text:after,
input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text:after,
input[type=number]:not(.browser-default).invalid ~ .helper-text:after,
input[type=number]:not(.browser-default):focus.invalid ~ .helper-text:after,
input[type=search]:not(.browser-default).invalid ~ .helper-text:after,
input[type=search]:not(.browser-default):focus.invalid ~ .helper-text:after,
textarea.materialize-textarea.invalid ~ .helper-text:after,
textarea.materialize-textarea:focus.invalid ~ .helper-text:after {
  content: attr(data-error);
  color: #F44336;
}

.select-wrapper + label:after, input:not([type]):not(.browser-default) + label:after,
input[type=text]:not(.browser-default) + label:after,
input[type=password]:not(.browser-default) + label:after,
input[type=email]:not(.browser-default) + label:after,
input[type=url]:not(.browser-default) + label:after,
input[type=time]:not(.browser-default) + label:after,
input[type=date]:not(.browser-default) + label:after,
input[type=datetime]:not(.browser-default) + label:after,
input[type=datetime-local]:not(.browser-default) + label:after,
input[type=month]:not(.browser-default) + label:after,
input[type=tel]:not(.browser-default) + label:after,
input[type=number]:not(.browser-default) + label:after,
input[type=search]:not(.browser-default) + label:after,
textarea.materialize-textarea + label:after {
  display: block;
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  opacity: 0;
  transition: 0.2s opacity ease-out, 0.2s color ease-out;
}

.input-field.inline {
  display: inline-block;
  vertical-align: middle;
  margin-left: 5px;
}
.input-field.inline input,
.input-field.inline .select-dropdown {
  margin-bottom: 1rem;
}
.input-field.col label {
  left: 0.75rem;
}
.input-field.col .prefix ~ label,
.input-field.col .prefix ~ .validate ~ label,
.input-field.col .suffix ~ label,
.input-field.col .suffix ~ .validate ~ label {
  width: calc(100% - 3rem - 1.5rem);
}
.input-field {
  position: relative;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.input-field > label {
  color: #9e9e9e;
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1rem;
  cursor: text;
  transition: transform 0.2s ease-out, color 0.2s ease-out;
  transform-origin: 0% 100%;
  text-align: initial;
  transform: translateY(12px);
}
.input-field > label:not(.label-icon).active {
  transform: translateY(-14px) scale(0.8);
  transform-origin: 0 0;
}
.input-field > label:not(.active) + input[type=date], .input-field > label:not(.active) + input[type=datetime-local], .input-field > label:not(.active) + input[type=month], .input-field > label:not(.active) + input[type=time] {
  color: transparent;
}
.input-field > input[type]:-webkit-autofill:not(.browser-default):not([type=search]) + label, .input-field > input[type=date]:not(.browser-default) + label, .input-field > input[type=time]:not(.browser-default) + label {
  transform: translateY(-14px) scale(0.8);
  transform-origin: 0 0;
}
.input-field .helper-text::after {
  opacity: 1;
  position: absolute;
  top: 0;
  left: 0;
}
.input-field .helper-text {
  position: relative;
  min-height: 18px;
  display: block;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.54);
}
.input-field .prefix, .input-field .suffix {
  position: absolute;
  width: 3rem;
  font-size: 2rem;
  transition: color 0.2s;
  top: 0.5rem;
}
.input-field .prefix.active, .input-field .suffix.active {
  color: #26a69a;
}
.input-field .prefix ~ input,
.input-field .prefix ~ textarea,
.input-field .prefix ~ .select-wrapper,
.input-field .prefix ~ label,
.input-field .prefix ~ .validate ~ label,
.input-field .prefix ~ .helper-text,
.input-field .prefix ~ .autocomplete-content {
  margin-left: 3rem;
  width: 92%;
  width: calc(100% - 3rem);
}
.input-field .prefix ~ label {
  margin-left: 3rem;
}
@media only screen and (max-width : 992.99px) {
  .input-field .prefix ~ input,
  .input-field .suffix ~ input {
    width: 86%;
    width: calc(100% - 3rem);
  }
}
@media only screen and (max-width : 600.99px) {
  .input-field .prefix ~ input,
  .input-field .suffix ~ input {
    width: 80%;
    width: calc(100% - 3rem);
  }
}
.input-field .suffix {
  right: 0;
}
.input-field .suffix ~ input,
.input-field .suffix ~ textarea,
.input-field .suffix ~ .select-wrapper,
.input-field .suffix ~ label,
.input-field .suffix ~ .validate ~ label,
.input-field .suffix ~ .helper-text,
.input-field .suffix ~ .autocomplete-content {
  margin-right: 3rem;
  width: 92%;
  width: calc(100% - 3rem);
}
.input-field .suffix ~ label {
  margin-right: 3rem;
}

/* Search Field */
.input-field input[type=search] {
  display: block;
  line-height: inherit;
  transition: 0.3s background-color;
}
.nav-wrapper .input-field input[type=search] {
  height: inherit;
  padding-left: 4rem;
  width: calc(100% - 4rem);
  border: 0;
  box-shadow: none;
}
.input-field input[type=search]:focus:not(.browser-default) {
  background-color: #fff;
  border: 0;
  box-shadow: none;
  color: #444;
}
.input-field input[type=search]:focus:not(.browser-default) + label i, .input-field input[type=search]:focus:not(.browser-default) ~ .mdi-navigation-close, .input-field input[type=search]:focus:not(.browser-default) ~ .material-icons {
  color: #444;
}
.input-field input[type=search] + .label-icon {
  transform: none;
  left: 1rem;
}
.input-field input[type=search] ~ .mdi-navigation-close, .input-field input[type=search] ~ .material-icons {
  position: absolute;
  top: 0;
  right: 1rem;
  color: transparent;
  cursor: pointer;
  font-size: 2rem;
  transition: 0.3s color;
}

/* Textarea */
textarea {
  width: 100%;
  height: 3rem;
  background-color: transparent;
}
textarea.materialize-textarea {
  line-height: normal;
  overflow-y: hidden; /* prevents scroll bar flash */
  padding: 0.8rem 0 0.8rem 0; /* prevents text jump on Enter keypress */
  resize: none;
  min-height: 3rem;
  box-sizing: border-box;
}

.hiddendiv {
  visibility: hidden;
  white-space: pre-wrap;
  word-wrap: break-word;
  overflow-wrap: break-word; /* future version of deprecated 'word-wrap' */
  padding-top: 1.2rem; /* prevents text jump on Enter keypress */
  position: absolute;
  top: 0;
  z-index: -1;
}

/* Autocomplete */
.autocomplete-content li .highlight {
  color: #444;
}
.autocomplete-content li img {
  height: 40px;
  width: 40px;
  margin: 5px 15px;
}

/* Character Counter */
.character-counter {
  min-height: 18px;
}

/* Radio Buttons
   ========================================================================== */
[type=radio]:not(:checked),
[type=radio]:checked {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

[type=radio]:not(:checked) + span,
[type=radio]:checked + span {
  position: relative;
  padding-left: 35px;
  cursor: pointer;
  display: inline-block;
  height: 25px;
  line-height: 25px;
  font-size: 1rem;
  transition: 0.28s ease;
  user-select: none;
}

[type=radio] + span:before,
[type=radio] + span:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  margin: 4px;
  width: 16px;
  height: 16px;
  z-index: 0;
  transition: 0.28s ease;
}

/* Unchecked styles */
[type=radio]:not(:checked) + span:before,
[type=radio]:not(:checked) + span:after,
[type=radio]:checked + span:before,
[type=radio]:checked + span:after,
[type=radio].with-gap:checked + span:before,
[type=radio].with-gap:checked + span:after {
  border-radius: 50%;
}

[type=radio]:not(:checked) + span:before,
[type=radio]:not(:checked) + span:after {
  border: 2px solid #5a5a5a;
}

[type=radio]:not(:checked) + span:after {
  transform: scale(0);
}

/* Checked styles */
[type=radio]:checked + span:before {
  border: 2px solid transparent;
}

[type=radio]:checked + span:after,
[type=radio].with-gap:checked + span:before,
[type=radio].with-gap:checked + span:after {
  border: 2px solid #26a69a;
}

[type=radio]:checked + span:after,
[type=radio].with-gap:checked + span:after {
  background-color: #26a69a;
}

[type=radio]:checked + span:after {
  transform: scale(1.02);
}

/* Radio With gap */
[type=radio].with-gap:checked + span:after {
  transform: scale(0.5);
}

/* Focused styles */
[type=radio].tabbed:focus + span:before {
  box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1);
}

/* Disabled Radio With gap */
[type=radio].with-gap:disabled:checked + span:before {
  border: 2px solid rgba(0, 0, 0, 0.42);
}

[type=radio].with-gap:disabled:checked + span:after {
  border: none;
  background-color: rgba(0, 0, 0, 0.42);
}

/* Disabled style */
[type=radio]:disabled:not(:checked) + span:before,
[type=radio]:disabled:checked + span:before {
  background-color: transparent;
  border-color: rgba(0, 0, 0, 0.42);
}

[type=radio]:disabled + span {
  color: rgba(0, 0, 0, 0.42);
}

[type=radio]:disabled:not(:checked) + span:before {
  border-color: rgba(0, 0, 0, 0.42);
}

[type=radio]:disabled:checked + span:after {
  background-color: rgba(0, 0, 0, 0.42);
  border-color: #949494;
}

/* Checkboxes
   ========================================================================== */
/* Remove default checkbox */
[type=checkbox]:not(:checked),
[type=checkbox]:checked {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

[type=checkbox] + span:not(.lever) {
  position: relative;
  padding-left: 35px;
  cursor: pointer;
  display: inline-block;
  height: 25px;
  line-height: 25px;
  font-size: 1rem;
  user-select: none;
}
[type=checkbox] {
  /* checkbox aspect */
}
[type=checkbox] + span:not(.lever):before, [type=checkbox]:not(.filled-in) + span:not(.lever):after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  z-index: 0;
  border: 2px solid #5a5a5a;
  border-radius: 1px;
  margin-top: 3px;
  transition: 0.2s;
}
[type=checkbox]:not(.filled-in) + span:not(.lever):after {
  border: 0;
  transform: scale(0);
}
[type=checkbox]:not(:checked):disabled + span:not(.lever):before {
  border: none;
  background-color: rgba(0, 0, 0, 0.42);
}
[type=checkbox].tabbed:focus + span:not(.lever):after {
  transform: scale(1);
  border: 0;
  border-radius: 50%;
  box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1);
  background-color: rgba(0, 0, 0, 0.1);
}

[type=checkbox]:checked + span:not(.lever):before {
  top: -4px;
  left: -5px;
  width: 12px;
  height: 22px;
  border-top: 2px solid transparent;
  border-left: 2px solid transparent;
  border-right: 2px solid #26a69a;
  border-bottom: 2px solid #26a69a;
  transform: rotate(40deg);
  backface-visibility: hidden;
  transform-origin: 100% 100%;
}
[type=checkbox]:checked:disabled + span:before {
  border-right: 2px solid rgba(0, 0, 0, 0.42);
  border-bottom: 2px solid rgba(0, 0, 0, 0.42);
}

/* Indeterminate checkbox */
[type=checkbox]:indeterminate + span:not(.lever):before {
  top: -11px;
  left: -12px;
  width: 10px;
  height: 22px;
  border-top: none;
  border-left: none;
  border-right: 2px solid #26a69a;
  border-bottom: none;
  transform: rotate(90deg);
  backface-visibility: hidden;
  transform-origin: 100% 100%;
}
[type=checkbox]:indeterminate:disabled + span:not(.lever):before {
  border-right: 2px solid rgba(0, 0, 0, 0.42);
  background-color: transparent;
}

[type=checkbox].filled-in + span:not(.lever):after {
  border-radius: 2px;
}
[type=checkbox].filled-in + span:not(.lever):before,
[type=checkbox].filled-in + span:not(.lever):after {
  content: "";
  left: 0;
  position: absolute;
  /* .1s delay is for check animation */
  transition: border 0.25s, background-color 0.25s, width 0.2s 0.1s, height 0.2s 0.1s, top 0.2s 0.1s, left 0.2s 0.1s;
  z-index: 1;
}
[type=checkbox].filled-in:not(:checked) + span:not(.lever):before {
  width: 0;
  height: 0;
  border: 3px solid transparent;
  left: 6px;
  top: 10px;
  transform: rotateZ(37deg);
  transform-origin: 100% 100%;
}
[type=checkbox].filled-in:not(:checked) + span:not(.lever):after {
  height: 20px;
  width: 20px;
  background-color: transparent;
  border: 2px solid #5a5a5a;
  top: 0px;
  z-index: 0;
}
[type=checkbox].filled-in:checked + span:not(.lever):before {
  top: 0;
  left: 1px;
  width: 8px;
  height: 13px;
  border-top: 2px solid transparent;
  border-left: 2px solid transparent;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotateZ(37deg);
  transform-origin: 100% 100%;
}
[type=checkbox].filled-in:checked + span:not(.lever):after {
  top: 0;
  width: 20px;
  height: 20px;
  border: 2px solid #26a69a;
  background-color: #26a69a;
  z-index: 0;
}
[type=checkbox].filled-in.tabbed:focus + span:not(.lever):after {
  border-radius: 2px;
  border-color: #5a5a5a;
  background-color: rgba(0, 0, 0, 0.1);
}
[type=checkbox].filled-in.tabbed:checked:focus + span:not(.lever):after {
  border-radius: 2px;
  background-color: #26a69a;
  border-color: #26a69a;
}
[type=checkbox].filled-in:disabled:not(:checked) + span:not(.lever):before {
  background-color: transparent;
  border: 2px solid transparent;
}
[type=checkbox].filled-in:disabled:not(:checked) + span:not(.lever):after {
  border-color: transparent;
  background-color: #949494;
}
[type=checkbox].filled-in:disabled:checked + span:not(.lever):before {
  background-color: transparent;
}
[type=checkbox].filled-in:disabled:checked + span:not(.lever):after {
  background-color: #949494;
  border-color: #949494;
}

/* Switch
   ========================================================================== */
.switch,
.switch * {
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}

.switch label {
  cursor: pointer;
}

.switch label input[type=checkbox] {
  opacity: 0;
  width: 0;
  height: 0;
}
.switch label input[type=checkbox]:checked:not([disabled]) {
  background-color: rgb(132.0625, 199.4375, 193.12109375);
}
.switch label input[type=checkbox]:checked + .lever:before, .switch label input[type=checkbox]:checked + .lever:after {
  left: 18px;
}
.switch label input[type=checkbox]:checked + .lever:after {
  background-color: #26a69a;
}

.switch label .lever {
  content: "";
  display: inline-block;
  position: relative;
  width: 36px;
  height: 14px;
  background-color: rgba(0, 0, 0, 0.38);
  border-radius: 15px;
  margin-right: 10px;
  transition: background 0.3s ease;
  vertical-align: middle;
  margin: 0 16px;
}
.switch label .lever:before, .switch label .lever:after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  left: 0;
  top: -3px;
  transition: left 0.3s ease, background 0.3s ease, box-shadow 0.1s ease, transform 0.1s ease;
}
.switch label .lever:before {
  background-color: rgba(38, 166, 154, 0.15);
}
.switch label .lever:after {
  background-color: #F1F1F1;
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}

input[type=checkbox]:checked:not(:disabled) ~ .lever:active::before,
input[type=checkbox]:checked:not(:disabled).tabbed:focus ~ .lever::before {
  transform: scale(2.4);
  background-color: rgba(38, 166, 154, 0.15);
}

input[type=checkbox]:not(:disabled) ~ .lever:active:before,
input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before {
  transform: scale(2.4);
  background-color: rgba(0, 0, 0, 0.08);
}

.switch input[type=checkbox][disabled] + .lever {
  cursor: default;
  background-color: rgba(0, 0, 0, 0.12);
}

.switch label input[type=checkbox][disabled] + .lever:after,
.switch label input[type=checkbox][disabled]:checked + .lever:after {
  background-color: #949494;
}

/* Select Field
   ========================================================================== */
select.browser-default {
  opacity: 1;
}

select {
  opacity: 0;
  background-color: rgba(255, 255, 255, 0.9);
  width: 100%;
  padding: 5px;
  border: 1px solid #f2f2f2;
  border-radius: 2px;
  height: 3rem;
}

.select-label {
  position: absolute;
}

.select-wrapper.valid + label, .select-wrapper.invalid + label {
  width: 100%;
  pointer-events: none;
}
.select-wrapper {
  position: relative;
}
.select-wrapper input.select-dropdown:focus {
  border-bottom: 1px solid #26a69a;
}
.select-wrapper input.select-dropdown {
  position: relative;
  cursor: pointer;
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #9e9e9e;
  outline: none;
  height: 3rem;
  line-height: 3rem;
  width: 100%;
  font-size: 16px;
  margin: 0 0 8px 0;
  padding: 0;
  display: block;
  user-select: none;
  z-index: 1;
}
.select-wrapper .caret {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
  z-index: 0;
  fill: rgba(0, 0, 0, 0.87);
}
.select-wrapper + label {
  position: absolute;
  top: -26px;
  font-size: 0.8rem;
}
.select-wrapper .hide-select {
  width: 0;
  height: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  z-index: -1;
}

select:disabled {
  color: rgba(0, 0, 0, 0.42);
}

.select-wrapper.disabled + label {
  color: rgba(0, 0, 0, 0.42);
}
.select-wrapper.disabled .caret {
  fill: rgba(0, 0, 0, 0.42);
}

.select-wrapper input.select-dropdown:disabled {
  color: rgba(0, 0, 0, 0.42);
  cursor: default;
  user-select: none;
}

.select-wrapper i {
  color: rgba(0, 0, 0, 0.3);
}

.select-dropdown li.disabled,
.select-dropdown li.disabled > span,
.select-dropdown li.optgroup {
  color: rgba(0, 0, 0, 0.3);
  background-color: transparent;
}

body.keyboard-focused .select-dropdown.dropdown-content li:focus {
  background-color: rgba(0, 0, 0, 0.08);
}

.select-dropdown.dropdown-content li:hover {
  background-color: rgba(0, 0, 0, 0.08);
}
.select-dropdown.dropdown-content li.selected {
  background-color: rgba(0, 0, 0, 0.03);
}

.prefix ~ .select-wrapper {
  margin-left: 3rem;
  width: 92%;
  width: calc(100% - 3rem);
}

.prefix ~ label {
  margin-left: 3rem;
}

.suffix ~ .select-wrapper {
  margin-right: 3rem;
  width: 92%;
  width: calc(100% - 3rem);
}

.suffix ~ label {
  margin-right: 3rem;
}

.select-dropdown li img {
  height: 40px;
  width: 40px;
  margin: 5px 15px;
  float: right;
}

.select-dropdown li.optgroup {
  border-top: 1px solid #eee;
}
.select-dropdown li.optgroup.selected > span {
  color: rgba(0, 0, 0, 0.7);
}
.select-dropdown li.optgroup > span {
  color: rgba(0, 0, 0, 0.4);
}
.select-dropdown li.optgroup ~ li.optgroup-option {
  padding-left: 1rem;
}

/* File Input
   ========================================================================== */
.file-field {
  position: relative;
}
.file-field .file-path-wrapper {
  overflow: hidden;
  padding-left: 10px;
}
.file-field input.file-path {
  width: 100%;
}
.file-field .btn, .file-field .btn-large, .file-field .btn-small {
  float: left;
  height: 3rem;
  line-height: 3rem;
}
.file-field span {
  cursor: pointer;
}
.file-field input[type=file]::-webkit-file-upload-button {
  display: none;
}
.file-field input[type=file] {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: 20px;
  cursor: pointer;
  opacity: 0;
  filter: alpha(opacity=0);
}

/* Range
   ========================================================================== */
.range-field {
  position: relative;
}

input[type=range],
input[type=range] + .thumb {
  cursor: pointer;
}

input[type=range] {
  position: relative;
  background-color: transparent;
  border: none;
  outline: none;
  width: 100%;
  margin: 15px 0;
  padding: 0;
}
input[type=range]:focus {
  outline: none;
}

input[type=range] + .thumb {
  position: absolute;
  top: 10px;
  left: 0;
  border: none;
  height: 0;
  width: 0;
  border-radius: 50%;
  background-color: #26a69a;
  margin-left: 7px;
  transform-origin: 50% 50%;
  transform: rotate(-45deg);
}
input[type=range] + .thumb .value {
  display: block;
  width: 30px;
  text-align: center;
  color: #26a69a;
  font-size: 0;
  transform: rotate(45deg);
}
input[type=range] + .thumb.active {
  border-radius: 50% 50% 50% 0;
}
input[type=range] + .thumb.active .value {
  color: #fff;
  margin-left: -1px;
  margin-top: 8px;
  font-size: 10px;
}

input[type=range] {
  -webkit-appearance: none;
}

input[type=range]::-webkit-slider-runnable-track {
  height: 3px;
  background: #c2c0c2;
  border: none;
}

input[type=range]::-webkit-slider-thumb {
  border: none;
  height: 14px;
  width: 14px;
  border-radius: 50%;
  background: #26a69a;
  transition: box-shadow 0.3s;
  -webkit-appearance: none;
  background-color: #26a69a;
  transform-origin: 50% 50%;
  margin: -5px 0 0 0;
}

.keyboard-focused input[type=range]:focus:not(.active)::-webkit-slider-thumb {
  box-shadow: 0 0 0 10px rgba(38, 166, 154, 0.26);
}

input[type=range] {
  /* fix for FF unable to apply focus style bug  */
  border: 1px solid white;
  /*required for proper track sizing in FF*/
}

input[type=range]::-moz-range-track {
  height: 3px;
  background: #c2c0c2;
  border: none;
}

input[type=range]::-moz-focus-inner {
  border: 0;
}

input[type=range]::-moz-range-thumb {
  border: none;
  height: 14px;
  width: 14px;
  border-radius: 50%;
  background: #26a69a;
  transition: box-shadow 0.3s;
  margin-top: -5px;
}

input[type=range]:-moz-focusring {
  outline: 1px solid #fff;
  outline-offset: -1px;
}

.keyboard-focused input[type=range]:focus:not(.active)::-moz-range-thumb {
  box-shadow: 0 0 0 10px rgba(38, 166, 154, 0.26);
}

input[type=range]::-ms-track {
  height: 3px;
  background: transparent;
  border-color: transparent;
  border-width: 6px 0;
  /*remove default tick marks*/
  color: transparent;
}

input[type=range]::-ms-fill-lower {
  background: #777;
}

input[type=range]::-ms-fill-upper {
  background: #ddd;
}

input[type=range]::-ms-thumb {
  border: none;
  height: 14px;
  width: 14px;
  border-radius: 50%;
  background: #26a69a;
  transition: box-shadow 0.3s;
}

.keyboard-focused input[type=range]:focus:not(.active)::-ms-thumb {
  box-shadow: 0 0 0 10px rgba(38, 166, 154, 0.26);
}

/***************
    Nav List
***************/
.table-of-contents.fixed {
  position: fixed;
}
.table-of-contents li {
  padding: 2px 0;
}
.table-of-contents a {
  display: inline-block;
  font-weight: 300;
  color: #757575;
  padding-left: 16px;
  height: 1.5rem;
  line-height: 1.5rem;
  letter-spacing: 0.4;
  display: inline-block;
}
.table-of-contents a:hover {
  color: #a8a8a8;
  padding-left: 15px;
  border-left: 1px solid #616161;
}
.table-of-contents a.active {
  font-weight: 500;
  padding-left: 14px;
  border-left: 2px solid #616161;
}

.sidenav {
  position: fixed;
  width: 300px;
  left: 0;
  top: 0;
  margin: 0;
  transform: translateX(-100%);
  height: 100vh;
  padding-bottom: 60px;
  background-color: #fff;
  z-index: 999;
  overflow-y: auto;
  will-change: transform;
  backface-visibility: hidden;
  transform: translateX(-105%);
}
.sidenav.right-aligned {
  right: 0;
  transform: translateX(105%);
  left: auto;
  transform: translateX(100%);
}
.sidenav .collapsible {
  margin: 0;
}
.sidenav li {
  float: none;
  line-height: 48px;
}
.sidenav li.active {
  background-color: rgba(0, 0, 0, 0.05);
}
.sidenav li > a {
  color: rgba(0, 0, 0, 0.87);
  display: block;
  font-size: 14px;
  font-weight: 500;
  height: 48px;
  line-height: 48px;
  padding: 0 32px;
}
.sidenav li > a:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.sidenav li > a.btn, .sidenav li > a.btn-small, .sidenav li > a.btn-large, .sidenav li > a.btn-flat, .sidenav li > a.btn-floating {
  margin: 10px 15px;
}
.sidenav li > a.btn, .sidenav li > a.btn-small, .sidenav li > a.btn-large, .sidenav li > a.btn-floating {
  color: #fff;
}
.sidenav li > a.btn-flat {
  color: #343434;
}
.sidenav li > a.btn:hover, .sidenav li > a.btn-small:hover, .sidenav li > a.btn-large:hover {
  background-color: rgb(42.75, 186.75, 173.25);
}
.sidenav li > a.btn-floating:hover {
  background-color: #26a69a;
}
.sidenav li > a > i, .sidenav li > a > [class^=mdi-], .sidenav li > a li > a > [class*=mdi-], .sidenav li > a > i.material-icons {
  float: left;
  height: 48px;
  line-height: 48px;
  margin: 0 32px 0 0;
  width: 24px;
  color: rgba(0, 0, 0, 0.54);
}
.sidenav .divider {
  margin: 8px 0 0 0;
}
.sidenav .subheader:hover {
  background-color: transparent;
}
.sidenav .subheader {
  cursor: initial;
  pointer-events: none;
  color: rgba(0, 0, 0, 0.54);
  font-size: 14px;
  font-weight: 500;
  line-height: 48px;
}
.sidenav .user-view {
  position: relative;
  padding: 32px 32px 0;
  margin-bottom: 8px;
}
.sidenav .user-view > a:hover {
  background-color: transparent;
}
.sidenav .user-view > a {
  height: auto;
  padding: 0;
}
.sidenav .user-view .background {
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.sidenav .user-view .circle, .sidenav .user-view .name, .sidenav .user-view .email {
  display: block;
}
.sidenav .user-view .circle {
  height: 64px;
  width: 64px;
}
.sidenav .user-view .name,
.sidenav .user-view .email {
  font-size: 14px;
  line-height: 24px;
}
.sidenav .user-view .name {
  margin-top: 16px;
  font-weight: 500;
}
.sidenav .user-view .email {
  padding-bottom: 16px;
  font-weight: 400;
}

.drag-target.right-aligned {
  right: 0;
}
.drag-target {
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 998;
}

.sidenav.sidenav-fixed.right-aligned {
  right: 0;
  left: auto;
}
.sidenav.sidenav-fixed {
  left: 0;
  transform: translateX(0);
  position: fixed;
}

@media only screen and (max-width : 992.99px) {
  .sidenav.sidenav-fixed {
    transform: translateX(-105%);
  }
  .sidenav.sidenav-fixed.right-aligned {
    transform: translateX(105%);
  }
  .sidenav > a {
    padding: 0 16px;
  }
  .sidenav .user-view {
    padding: 16px 16px 0;
  }
}
.sidenav .collapsible-body > ul:not(.collapsible) > li.active,
.sidenav.sidenav-fixed .collapsible-body > ul:not(.collapsible) > li.active {
  background-color: #616161;
}
.sidenav .collapsible-body > ul:not(.collapsible) > li.active a,
.sidenav.sidenav-fixed .collapsible-body > ul:not(.collapsible) > li.active a {
  color: #fff;
}

.sidenav .collapsible-body {
  padding: 0;
}

.sidenav-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  opacity: 0;
  height: 120vh;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 997;
  display: none;
}

/*
    @license
    Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
    This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
    The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
    The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
    Code distributed by Google as part of the polymer project is also
    subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
 */
/**************************/
/* STYLES FOR THE SPINNER */
/**************************/
/*
 * Constants:
 *      STROKEWIDTH = 3px
 *      ARCSIZE     = 270 degrees (amount of circle the arc takes up)
 *      ARCTIME     = 1333ms (time it takes to expand and contract arc)
 *      ARCSTARTROT = 216 degrees (how much the start location of the arc
 *                                should rotate each time, 216 gives us a
 *                                5 pointed star shape (it's 360/5 * 3).
 *                                For a 7 pointed star, we might do
 *                                360/7 * 3 = 154.286)
 *      CONTAINERWIDTH = 28px
 *      SHRINK_TIME = 400ms
 */
.preloader-wrapper {
  display: inline-block;
  position: relative;
  width: 50px;
  height: 50px;
}
.preloader-wrapper.small {
  width: 36px;
  height: 36px;
}
.preloader-wrapper.big {
  width: 64px;
  height: 64px;
}
.preloader-wrapper.active {
  /* duration: 360 * ARCTIME / (ARCSTARTROT + (360-ARCSIZE)) */
  -webkit-animation: container-rotate 1568ms linear infinite;
  animation: container-rotate 1568ms linear infinite;
}

@-webkit-keyframes container-rotate {
  to {
    -webkit-transform: rotate(360deg);
  }
}
@keyframes container-rotate {
  to {
    transform: rotate(360deg);
  }
}
.spinner-layer {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  border-color: #26a69a;
}

.spinner-blue,
.spinner-blue-only {
  border-color: #4285f4;
}

.spinner-red,
.spinner-red-only {
  border-color: #db4437;
}

.spinner-yellow,
.spinner-yellow-only {
  border-color: #f4b400;
}

.spinner-green,
.spinner-green-only {
  border-color: #0f9d58;
}

/**
 * IMPORTANT NOTE ABOUT CSS ANIMATION PROPERTIES (keanulee):
 *
 * iOS Safari (tested on iOS 8.1) does not handle animation-delay very well - it doesn't
 * guarantee that the animation will start _exactly_ after that value. So we avoid using
 * animation-delay and instead set custom keyframes for each color (as redundant as it
 * seems).
 *
 * We write out each animation in full (instead of separating animation-name,
 * animation-duration, etc.) because under the polyfill, Safari does not recognize those
 * specific properties properly, treats them as -webkit-animation, and overrides the
 * other animation rules. See https://github.com/Polymer/platform/issues/53.
 */
.active .spinner-layer.spinner-blue {
  /* durations: 4 * ARCTIME */
  -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.active .spinner-layer.spinner-red {
  /* durations: 4 * ARCTIME */
  -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.active .spinner-layer.spinner-yellow {
  /* durations: 4 * ARCTIME */
  -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.active .spinner-layer.spinner-green {
  /* durations: 4 * ARCTIME */
  -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.active .spinner-layer,
.active .spinner-layer.spinner-blue-only,
.active .spinner-layer.spinner-red-only,
.active .spinner-layer.spinner-yellow-only,
.active .spinner-layer.spinner-green-only {
  /* durations: 4 * ARCTIME */
  opacity: 1;
  -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

@-webkit-keyframes fill-unfill-rotate {
  12.5% {
    -webkit-transform: rotate(135deg);
  } /* 0.5 * ARCSIZE */
  25% {
    -webkit-transform: rotate(270deg);
  } /* 1   * ARCSIZE */
  37.5% {
    -webkit-transform: rotate(405deg);
  } /* 1.5 * ARCSIZE */
  50% {
    -webkit-transform: rotate(540deg);
  } /* 2   * ARCSIZE */
  62.5% {
    -webkit-transform: rotate(675deg);
  } /* 2.5 * ARCSIZE */
  75% {
    -webkit-transform: rotate(810deg);
  } /* 3   * ARCSIZE */
  87.5% {
    -webkit-transform: rotate(945deg);
  } /* 3.5 * ARCSIZE */
  to {
    -webkit-transform: rotate(1080deg);
  } /* 4   * ARCSIZE */
}
@keyframes fill-unfill-rotate {
  12.5% {
    transform: rotate(135deg);
  } /* 0.5 * ARCSIZE */
  25% {
    transform: rotate(270deg);
  } /* 1   * ARCSIZE */
  37.5% {
    transform: rotate(405deg);
  } /* 1.5 * ARCSIZE */
  50% {
    transform: rotate(540deg);
  } /* 2   * ARCSIZE */
  62.5% {
    transform: rotate(675deg);
  } /* 2.5 * ARCSIZE */
  75% {
    transform: rotate(810deg);
  } /* 3   * ARCSIZE */
  87.5% {
    transform: rotate(945deg);
  } /* 3.5 * ARCSIZE */
  to {
    transform: rotate(1080deg);
  } /* 4   * ARCSIZE */
}
@-webkit-keyframes blue-fade-in-out {
  from {
    opacity: 1;
  }
  25% {
    opacity: 1;
  }
  26% {
    opacity: 0;
  }
  89% {
    opacity: 0;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes blue-fade-in-out {
  from {
    opacity: 1;
  }
  25% {
    opacity: 1;
  }
  26% {
    opacity: 0;
  }
  89% {
    opacity: 0;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes red-fade-in-out {
  from {
    opacity: 0;
  }
  15% {
    opacity: 0;
  }
  25% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  51% {
    opacity: 0;
  }
}
@keyframes red-fade-in-out {
  from {
    opacity: 0;
  }
  15% {
    opacity: 0;
  }
  25% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  51% {
    opacity: 0;
  }
}
@-webkit-keyframes yellow-fade-in-out {
  from {
    opacity: 0;
  }
  40% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  75% {
    opacity: 1;
  }
  76% {
    opacity: 0;
  }
}
@keyframes yellow-fade-in-out {
  from {
    opacity: 0;
  }
  40% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  75% {
    opacity: 1;
  }
  76% {
    opacity: 0;
  }
}
@-webkit-keyframes green-fade-in-out {
  from {
    opacity: 0;
  }
  65% {
    opacity: 0;
  }
  75% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes green-fade-in-out {
  from {
    opacity: 0;
  }
  65% {
    opacity: 0;
  }
  75% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/**
 * Patch the gap that appear between the two adjacent div.circle-clipper while the
 * spinner is rotating (appears on Chrome 38, Safari 7.1, and IE 11).
 */
.gap-patch {
  position: absolute;
  top: 0;
  left: 45%;
  width: 10%;
  height: 100%;
  overflow: hidden;
  border-color: inherit;
}

.gap-patch .circle {
  width: 1000%;
  left: -450%;
}

.circle-clipper {
  display: inline-block;
  position: relative;
  width: 50%;
  height: 100%;
  overflow: hidden;
  border-color: inherit;
}
.circle-clipper .circle {
  width: 200%;
  height: 100%;
  border-width: 3px; /* STROKEWIDTH */
  border-style: solid;
  border-color: inherit;
  border-bottom-color: transparent !important;
  border-radius: 50%;
  -webkit-animation: none;
  animation: none;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
}
.circle-clipper.left .circle {
  left: 0;
  border-right-color: transparent !important;
  -webkit-transform: rotate(129deg);
  transform: rotate(129deg);
}
.circle-clipper.right .circle {
  left: -100%;
  border-left-color: transparent !important;
  -webkit-transform: rotate(-129deg);
  transform: rotate(-129deg);
}

.active .circle-clipper.left .circle {
  /* duration: ARCTIME */
  -webkit-animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.active .circle-clipper.right .circle {
  /* duration: ARCTIME */
  -webkit-animation: right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

@-webkit-keyframes left-spin {
  from {
    -webkit-transform: rotate(130deg);
  }
  50% {
    -webkit-transform: rotate(-5deg);
  }
  to {
    -webkit-transform: rotate(130deg);
  }
}
@keyframes left-spin {
  from {
    transform: rotate(130deg);
  }
  50% {
    transform: rotate(-5deg);
  }
  to {
    transform: rotate(130deg);
  }
}
@-webkit-keyframes right-spin {
  from {
    -webkit-transform: rotate(-130deg);
  }
  50% {
    -webkit-transform: rotate(5deg);
  }
  to {
    -webkit-transform: rotate(-130deg);
  }
}
@keyframes right-spin {
  from {
    transform: rotate(-130deg);
  }
  50% {
    transform: rotate(5deg);
  }
  to {
    transform: rotate(-130deg);
  }
}
#spinnerContainer.cooldown {
  /* duration: SHRINK_TIME */
  -webkit-animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);
  animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);
}

@-webkit-keyframes fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.slider {
  position: relative;
  height: 400px;
  width: 100%;
}
.slider.fullscreen {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.slider.fullscreen ul.slides {
  height: 100%;
}
.slider.fullscreen ul.indicators {
  z-index: 2;
  bottom: 30px;
}
.slider .slides {
  background-color: #9e9e9e;
  margin: 0;
  height: 400px;
}
.slider .slides li {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: inherit;
  overflow: hidden;
}
.slider .slides li img {
  height: 100%;
  width: 100%;
  background-size: cover;
  background-position: center;
}
.slider .slides li .caption {
  color: #fff;
  position: absolute;
  top: 15%;
  left: 15%;
  width: 70%;
  opacity: 0;
}
.slider .slides li .caption p {
  color: #e0e0e0;
}
.slider .slides li.active {
  z-index: 2;
}
.slider .indicators {
  position: absolute;
  text-align: center;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
}
.slider .indicators .indicator-item {
  display: inline-block;
  position: relative;
  height: 16px;
  width: 16px;
  margin: 0 12px;
}
.slider .indicators .indicator-item-btn.active {
  background-color: #4CAF50;
}
.slider .indicators .indicator-item-btn {
  position: absolute;
  top: 0;
  left: 0;
  cursor: pointer;
  background-color: #e0e0e0;
  transition: background-color 0.3s;
  border-radius: 50%;
  border-width: 0;
  width: 100%;
  height: 100%;
}

.carousel.carousel-slider {
  top: 0;
  left: 0;
}
.carousel.carousel-slider .carousel-fixed-item.with-indicators {
  bottom: 68px;
}
.carousel.carousel-slider .carousel-fixed-item {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 20px;
  z-index: 1;
}
.carousel.carousel-slider .carousel-item {
  width: 100%;
  height: 100%;
  min-height: 400px;
  position: absolute;
  top: 0;
  left: 0;
}
.carousel.carousel-slider .carousel-item h2 {
  font-size: 24px;
  font-weight: 500;
  line-height: 32px;
}
.carousel.carousel-slider .carousel-item p {
  font-size: 15px;
}
.carousel {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 400px;
  perspective: 500px;
  transform-style: preserve-3d;
  transform-origin: 0% 50%;
}
.carousel .carousel-item {
  visibility: hidden;
  width: 200px;
  height: 200px;
  position: absolute;
  top: 0;
  left: 0;
}
.carousel .carousel-item > img {
  width: 100%;
}
.carousel .indicators {
  position: absolute;
  text-align: center;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
}
.carousel .indicators .indicator-item.active {
  background-color: #fff;
}
.carousel .indicators .indicator-item {
  display: inline-block;
  position: relative;
  cursor: pointer;
  height: 8px;
  width: 8px;
  margin: 24px 4px;
  background-color: rgba(255, 255, 255, 0.5);
  transition: background-color 0.3s;
  border-radius: 50%;
}
.carousel.scrolling .carousel-item .materialboxed,
.carousel .carousel-item:not(.active) .materialboxed {
  pointer-events: none;
}

.tap-target-wrapper {
  width: 800px;
  height: 800px;
  position: fixed;
  z-index: 1000;
  visibility: hidden;
  transition: visibility 0s 0.3s;
}

.tap-target-wrapper.open {
  visibility: visible;
  transition: visibility 0s;
}
.tap-target-wrapper.open .tap-target {
  transform: scale(1);
  opacity: 0.95;
  transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
}
.tap-target-wrapper.open .tap-target-wave::before {
  transform: scale(1);
}
.tap-target-wrapper.open .tap-target-wave::after {
  visibility: visible;
  animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
  transition: opacity 0.3s, transform 0.3s, visibility 0s 1s;
}

.tap-target {
  position: absolute;
  font-size: 1rem;
  border-radius: 50%;
  background-color: #616161;
  box-shadow: 0 20px 20px 0 rgba(0, 0, 0, 0.14), 0 10px 50px 0 rgba(0, 0, 0, 0.12), 0 30px 10px -20px rgba(0, 0, 0, 0.2);
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: scale(0);
  transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
}

.tap-target-content {
  position: relative;
  display: table-cell;
}

.tap-target-wave::before, .tap-target-wave::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #ffffff;
}
.tap-target-wave::before {
  transform: scale(0);
  transition: transform 0.3s;
}
.tap-target-wave::after {
  visibility: hidden;
  transition: opacity 0.3s, transform 0.3s, visibility 0s;
  z-index: -1;
}
.tap-target-wave {
  position: absolute;
  border-radius: 50%;
  z-index: 10001;
}

.tap-target-origin:not(.btn):not(.btn-large):not(.btn-small), .tap-target-origin:not(.btn):not(.btn-large):not(.btn-small):hover {
  background: none;
}
.tap-target-origin {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10002;
  position: absolute !important;
}

@media only screen and (max-width: 600px) {
  .tap-target, .tap-target-wrapper {
    width: 600px;
    height: 600px;
  }
}
.pulse::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: inherit;
  border-radius: inherit;
  transition: opacity 0.3s, transform 0.3s;
  animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
  z-index: -1;
}
.pulse {
  overflow: visible;
  position: relative;
}

@keyframes pulse-animation {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0;
    transform: scale(1.5);
  }
  100% {
    opacity: 0;
    transform: scale(1.5);
  }
}
/* Modal */
.datepicker-modal {
  max-width: 325px;
  min-width: 300px;
  max-height: none;
}

.datepicker-container.modal-content {
  display: flex;
  flex-direction: column;
  padding: 0;
}

.datepicker-controls {
  display: flex;
  justify-content: space-between;
  width: 280px;
  margin: 0 auto;
}
.datepicker-controls .selects-container {
  display: flex;
}
.datepicker-controls .select-wrapper input:focus {
  border-bottom: none;
}
.datepicker-controls .select-wrapper input {
  border-bottom: none;
  text-align: center;
  margin: 0;
}
.datepicker-controls .select-wrapper .caret {
  display: none;
}
.datepicker-controls .select-year input {
  width: 50px;
}
.datepicker-controls .select-month input {
  width: 80px;
}

.month-prev, .month-next {
  margin-top: 4px;
  cursor: pointer;
  background-color: transparent;
  border: none;
}

/* Date Display */
.datepicker-date-display {
  flex: 1 auto;
  background-color: #26a69a;
  color: #fff;
  padding: 20px 22px;
  font-weight: 500;
}
.datepicker-date-display .year-text {
  display: block;
  font-size: 1.5rem;
  line-height: 25px;
  color: rgba(255, 255, 255, 0.7);
}
.datepicker-date-display .date-text {
  display: block;
  font-size: 2.8rem;
  line-height: 47px;
  font-weight: 500;
}

/* Calendar */
.datepicker-calendar-container {
  flex: 2.5 auto;
}

.datepicker-table {
  width: 280px;
  font-size: 1rem;
  margin: 0 auto;
}
.datepicker-table thead {
  border-bottom: none;
}
.datepicker-table th {
  padding: 10px 5px;
  text-align: center;
}
.datepicker-table tr {
  border: none;
}
.datepicker-table abbr {
  text-decoration: none;
  color: #999;
}
.datepicker-table td.is-today {
  color: #26a69a;
}
.datepicker-table td.is-selected {
  background-color: #26a69a;
  color: #fff;
}
.datepicker-table td.is-outside-current-month, .datepicker-table td.is-disabled {
  color: rgba(0, 0, 0, 0.3);
  pointer-events: none;
}
.datepicker-table td {
  border-radius: 50%;
  padding: 0;
}

.datepicker-day-button:focus {
  background-color: rgba(43.1, 160.9, 149.85625, 0.25);
}
.datepicker-day-button {
  background-color: transparent;
  border: none;
  line-height: 38px;
  display: block;
  width: 100%;
  border-radius: 50%;
  padding: 0 5px;
  cursor: pointer;
  color: inherit;
}

/* Footer */
.datepicker-footer {
  width: 280px;
  margin: 0 auto;
  padding-bottom: 5px;
  display: flex;
  justify-content: space-between;
}

.datepicker-cancel,
.datepicker-clear,
.datepicker-today,
.datepicker-done {
  color: #26a69a;
  padding: 0 1rem;
}

.datepicker-clear {
  color: #F44336;
}

/* Media Queries */
@media only screen and (min-width : 601px) {
  .datepicker-modal {
    max-width: 625px;
  }
  .datepicker-container.modal-content {
    flex-direction: row;
  }
  .datepicker-date-display {
    flex: 0 1 270px;
  }
  .datepicker-controls,
  .datepicker-table,
  .datepicker-footer {
    width: 320px;
  }
  .datepicker-day-button {
    line-height: 44px;
  }
}
/* Timepicker Containers */
.timepicker-modal {
  max-width: 325px;
  max-height: none;
}

.timepicker-container.modal-content {
  display: flex;
  flex-direction: column;
  padding: 0;
}

.text-primary {
  color: rgb(255, 255, 255);
}

/* Clock Digital Display */
.timepicker-digital-display {
  width: 200px;
  flex: 1 auto;
  background-color: #26a69a;
  padding: 10px;
  font-weight: 300;
}

.timepicker-text-container {
  font-size: 4rem;
  font-weight: bold;
  text-align: center;
  color: rgba(255, 255, 255, 0.6);
  font-weight: 400;
  position: relative;
  user-select: none;
}
.timepicker-text-container input[type=text] {
  height: 4rem;
  color: rgba(255, 255, 255, 0.6);
  border-bottom: 0px;
  font-size: 4rem;
  direction: ltr;
}

.timepicker-input-hours,
.timepicker-input-minutes,
.timepicker-span-am-pm div {
  cursor: pointer;
}

input[type=text].timepicker-input-hours {
  text-align: right;
  width: 28%;
  margin-right: 3px;
}

input[type=text].timepicker-input-minutes {
  width: 33%;
  margin-left: 3px;
}

input[type=text].text-primary {
  color: rgb(255, 255, 255);
}

.timepicker-display-am-pm {
  font-size: 1.3rem;
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  font-weight: 400;
}

/* Analog Clock Display */
.timepicker-analog-display {
  flex: 2.5 auto;
}

.timepicker-plate {
  background-color: #eee;
  border-radius: 50%;
  width: 270px;
  height: 270px;
  overflow: visible;
  position: relative;
  margin: auto;
  margin-top: 25px;
  margin-bottom: 5px;
  user-select: none;
}

.timepicker-canvas,
.timepicker-dial {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.timepicker-minutes {
  visibility: hidden;
}

.timepicker-tick {
  border-radius: 50%;
  color: rgba(0, 0, 0, 0.87);
  line-height: 40px;
  text-align: center;
  width: 40px;
  height: 40px;
  position: absolute;
  cursor: pointer;
  font-size: 15px;
}

.timepicker-tick.active,
.timepicker-tick:hover {
  background-color: rgba(38, 166, 154, 0.25);
}

.timepicker-dial {
  transition: transform 350ms, opacity 350ms;
}

.timepicker-dial-out.timepicker-hours {
  transform: scale(1.1, 1.1);
}
.timepicker-dial-out.timepicker-minutes {
  transform: scale(0.8, 0.8);
}
.timepicker-dial-out {
  opacity: 0;
}

.timepicker-canvas {
  transition: opacity 175ms;
}
.timepicker-canvas line {
  stroke: #26a69a;
  stroke-width: 4;
  stroke-linecap: round;
}

.timepicker-canvas-out {
  opacity: 0.25;
}

.timepicker-canvas-bearing {
  stroke: none;
  fill: #26a69a;
}

.timepicker-canvas-bg {
  stroke: none;
  fill: #26a69a;
}

/* Footer */
.timepicker-footer {
  margin: 0 auto;
  padding: 5px 1rem;
  display: flex;
  justify-content: space-between;
}

.timepicker-clear {
  color: #F44336;
}

.timepicker-close {
  color: #26a69a;
}

.timepicker-clear,
.timepicker-close {
  padding: 0 20px;
}

/* Media Queries */
@media only screen and (min-width : 601px) {
  .timepicker-modal {
    max-width: 600px;
  }
  .timepicker-container.modal-content {
    flex-direction: row;
  }
  .timepicker-text-container {
    top: 32%;
  }
  .timepicker-display-am-pm {
    position: relative;
    right: auto;
    bottom: auto;
    text-align: center;
    margin-top: 1.2rem;
  }
}
a.asc,
a.desc,
a.sortable {
  color: inherit;
}

a.asc .material-icons.right,
a.desc .material-icons.right {
  margin-left: 0;
}

a.asc .material-icons.left,
a.desc .material-icons.left {
  margin-right: 0;
}

.flatpickr-wrapper {
  width: 100%;
}

.flatpickr-month {
  height: 60px !important;
}

.export {
  float: right;
}

.hidden-row {
  display: none;
}

.checkmark-container input {
  position: relative !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  margin-left: 5px;
}

.indigo-text {
  color: #616161 !important;
}

#toast-container {
  min-width: 10%;
  top: 50%;
  right: 50%;
  transform: translateX(50%) translateY(50%);
}

.alert-warning {
  color: #856404;
  background-color: #fff3cd;
  border-color: #ffeeba;
}

.alert-danger {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}

.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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SlI7O0FJckpNO0VBQ0U7QUp3SlI7O0FJNUpNO0VBQ0U7QUorSlI7O0FJN0pNO0VBQ0U7QUpnS1I7O0FJcEtNO0VBQ0U7QUp1S1I7O0FJcktNO0VBQ0U7QUp3S1I7O0FJcExNO0VBQ0U7QUp1TFI7O0FJckxNO0VBQ0U7QUp3TFI7O0FJcExNO0VBQ0U7QUp1TFI7O0FJckxNO0VBQ0U7QUp3TFI7O0FJNUxNO0VBQ0U7QUorTFI7O0FJN0xNO0VBQ0U7QUpnTVI7O0FJcE1NO0VBQ0U7QUp1TVI7O0FJck1NO0VBQ0U7QUp3TVI7O0FJNU1NO0VBQ0U7QUorTVI7O0FJN01NO0VBQ0U7QUpnTlI7O0FJcE5NO0VBQ0U7QUp1TlI7O0FJck5NO0VBQ0U7QUp3TlI7O0FJNU5NO0VBQ0U7QUorTlI7O0FJN05NO0VBQ0U7QUpnT1I7O0FJcE9NO0VBQ0U7QUp1T1I7O0FJck9NO0VBQ0U7QUp3T1I7O0FJNU9NO0VBQ0U7QUorT1I7O0FJN09NO0VBQ0U7QUpnUFI7O0FJcFBNO0VBQ0U7QUp1UFI7O0FJclBNO0VBQ0U7QUp3UFI7O0FJNVBNO0VBQ0U7QUorUFI7O0FJN1BNO0VBQ0U7QUpnUVI7O0FJcFFNO0VBQ0U7QUp1UVI7O0FJclFNO0VBQ0U7QUp3UVI7O0FJNVFNO0VBQ0U7QUorUVI7O0FJN1FNO0VBQ0U7QUpnUlI7O0FJcFJNO0VBQ0U7QUp1UlI7O0FJclJNO0VBQ0U7QUp3UlI7O0FJcFNNO0VBQ0U7QUp1U1I7O0FJclNNO0VBQ0U7QUp3U1I7O0FJcFNNO0VBQ0U7QUp1U1I7O0FJclNNO0VBQ0U7QUp3U1I7O0FJNVNNO0VBQ0U7QUorU1I7O0FJN1NNO0VBQ0U7QUpnVFI7O0FJcFRNO0VBQ0U7QUp1VFI7O0FJclRNO0VBQ0U7QUp3VFI7O0FJNVRNO0VBQ0U7QUorVFI7O0FJN1RNO0VBQ0U7QUpnVVI7O0FJcFVNO0VBQ0U7QUp1VVI7O0FJclVNO0VBQ0U7QUp3VVI7O0FJNVVNO0VBQ0U7QUorVVI7O0FJN1VNO0VBQ0U7QUpnVlI7O0FJcFZNO0VBQ0U7QUp1VlI7O0FJclZNO0VBQ0U7QUp3VlI7O0FJNVZNO0VBQ0U7QUorVlI7O0FJN1ZNO0VBQ0U7QUpnV1I7O0FJcFdNO0VBQ0U7QUp1V1I7O0FJcldNO0VBQ0U7QUp3V1I7O0FJNVdNO0VBQ0U7QUorV1I7O0FJN1dNO0VBQ0U7QUpnWFI7O0FJcFhNO0VBQ0U7QUp1WFI7O0FJclhNO0VBQ0U7QUp3WFI7O0FJNVhNO0VBQ0U7QUorWFI7O0FJN1hNO0VBQ0U7QUpnWVI7O0FJcFlNO0VBQ0U7QUp1WVI7O0FJcllNO0VBQ0U7QUp3WVI7O0FJcFpNO0VBQ0U7QUp1WlI7O0FJclpNO0VBQ0U7QUp3WlI7O0FJcFpNO0VBQ0U7QUp1WlI7O0FJclpNO0VBQ0U7QUp3WlI7O0FJNVpNO0VBQ0U7QUorWlI7O0FJN1pNO0VBQ0U7QUpnYVI7O0FJcGFNO0VBQ0U7QUp1YVI7O0FJcmFNO0VBQ0U7QUp3YVI7O0FJNWFNO0VBQ0U7QUorYVI7O0FJN2FNO0VBQ0U7QUpnYlI7O0FJcGJNO0VBQ0U7QUp1YlI7O0FJcmJNO0VBQ0U7QUp3YlI7O0FJNWJNO0VBQ0U7QUorYlI7O0FJN2JNO0VBQ0U7QUpnY1I7O0FJcGNNO0VBQ0U7QUp1Y1I7O0FJcmNNO0VBQ0U7QUp3Y1I7O0FJNWNNO0VBQ0U7QUorY1I7O0FJN2NNO0VBQ0U7QUpnZFI7O0FJcGRNO0VBQ0U7QUp1ZFI7O0FJcmRNO0VBQ0U7QUp3ZFI7O0FJNWRNO0VBQ0U7QUorZFI7O0FJN2RNO0VBQ0U7QUpnZVI7O0FJcGVNO0VBQ0U7QUp1ZVI7O0FJcmVNO0VBQ0U7QUp3ZVI7O0FJNWVNO0VBQ0U7QUorZVI7O0FJN2VNO0VBQ0U7QUpnZlI7O0FJcGZNO0VBQ0U7QUp1ZlI7O0FJcmZNO0VBQ0U7QUp3ZlI7O0FJcGdCTTtFQUNFO0FKdWdCUjs7QUlyZ0JNO0VBQ0U7QUp3Z0JSOztBSXBnQk07RUFDRTtBSnVnQlI7O0FJcmdCTTtFQUNFO0FKd2dCUjs7QUk1Z0JNO0VBQ0U7QUorZ0JSOztBSTdnQk07RUFDRTtBSmdoQlI7O0FJcGhCTTtFQUNFO0FKdWhCUjs7QUlyaEJNO0VBQ0U7QUp3aEJSOztBSTVoQk07RUFDRTtBSitoQlI7O0FJN2hCTTtFQUNFO0FKZ2lCUjs7QUlwaUJNO0VBQ0U7QUp1aUJSOztBSXJpQk07RUFDRTtBSndpQlI7O0FJNWlCTTtFQUNFO0FKK2lCUjs7QUk3aUJNO0VBQ0U7QUpnakJSOztBSXBqQk07RUFDRTtBSnVqQlI7O0FJcmpCTTtFQUNFO0FKd2pCUjs7QUk1akJNO0VBQ0U7QUorakJSOztBSTdqQk07RUFDRTtBSmdrQlI7O0FJcGtCTTtFQUNFO0FKdWtCUjs7QUlya0JNO0VBQ0U7QUp3a0JSOztBSTVrQk07RUFDRTtBSitrQlI7O0FJN2tCTTtFQUNFO0FKZ2xCUjs7QUlwbEJNO0VBQ0U7QUp1bEJSOztBSXJsQk07RUFDRTtBSndsQlI7O0FJNWxCTTtFQUNFO0FKK2xCUjs7QUk3bEJNO0VBQ0U7QUpnbUJSOztBSXBtQk07RUFDRTtBSnVtQlI7O0FJcm1CTTtFQUNFO0FKd21CUjs7QUlwbkJNO0VBQ0U7QUp1bkJSOztBSXJuQk07RUFDRTtBSnduQlI7O0FJcG5CTTtFQUNFO0FKdW5CUjs7QUlybkJNO0VBQ0U7QUp3bkJSOztBSTVuQk07RUFDRTtBSituQlI7O0FJN25CTTtFQUNFO0FKZ29CUjs7QUlwb0JNO0VBQ0U7QUp1b0JSOztBSXJvQk07RUFDRTtBSndvQlI7O0FJNW9CTTtFQUNFO0FKK29CUjs7QUk3b0JNO0VBQ0U7QUpncEJSOztBSXBwQk07RUFDRTtBSnVwQlI7O0FJcnBCTTtFQUNFO0FKd3BCUjs7QUk1cEJNO0VBQ0U7QUorcEJSOztBSTdwQk07RUFDRTtBSmdxQlI7O0FJcHFCTTtFQUNFO0FKdXFCUjs7QUlycUJNO0VBQ0U7QUp3cUJSOztBSTVxQk07RUFDRTtBSitxQlI7O0FJN3FCTTtFQUNFO0FKZ3JCUjs7QUlwckJNO0VBQ0U7QUp1ckJSOztBSXJyQk07RUFDRTtBSndyQlI7O0FJNXJCTTtFQUNFO0FKK3JCUjs7QUk3ckJNO0VBQ0U7QUpnc0JSOztBSXBzQk07RUFDRTtBSnVzQlI7O0FJcnNCTTtFQUNFO0FKd3NCUjs7QUk1c0JNO0VBQ0U7QUorc0JSOztBSTdzQk07RUFDRTtBSmd0QlI7O0FJcHRCTTtFQUNFO0FKdXRCUjs7QUlydEJNO0VBQ0U7QUp3dEJSOztBSXB1Qk07RUFDRTtBSnV1QlI7O0FJcnVCTTtFQUNFO0FKd3VCUjs7QUlwdUJNO0VBQ0U7QUp1dUJSOztBSXJ1Qk07RUFDRTtBSnd1QlI7O0FJNXVCTTtFQUNFO0FKK3VCUjs7QUk3dUJNO0VBQ0U7QUpndkJSOztBSXB2Qk07RUFDRTtBSnV2QlI7O0FJcnZCTTtFQUNFO0FKd3ZCUjs7QUk1dkJNO0VBQ0U7QUordkJSOztBSTd2Qk07RUFDRTtBSmd3QlI7O0FJcHdCTTtFQUNFO0FKdXdCUjs7QUlyd0JNO0VBQ0U7QUp3d0JSOztBSTV3Qk07RUFDRTtBSit3QlI7O0FJN3dCTTtFQUNFO0FKZ3hCUjs7QUlweEJNO0VBQ0U7QUp1eEJSOztBSXJ4Qk07RUFDRTtBSnd4QlI7O0FJNXhCTTtFQUNFO0FKK3hCUjs7QUk3eEJNO0VBQ0U7QUpneUJSOztBSXB5Qk07RUFDRTtBSnV5QlI7O0FJcnlCTTtFQUNFO0FKd3lCUjs7QUk1eUJNO0VBQ0U7QUoreUJSOztBSTd5Qk07RUFDRTtBSmd6QlI7O0FJcHpCTTtFQUNFO0FKdXpCUjs7QUlyekJNO0VBQ0U7QUp3ekJSOztBSTV6Qk07RUFDRTtBSit6QlI7O0FJN3pCTTtFQUNFO0FKZzBCUjs7QUlwMEJNO0VBQ0U7QUp1MEJSOztBSXIwQk07RUFDRTtBSncwQlI7O0FJcDFCTTtFQUNFO0FKdTFCUjs7QUlyMUJNO0VBQ0U7QUp3MUJSOztBSXAxQk07RUFDRTtBSnUxQlI7O0FJcjFCTTtFQUNFO0FKdzFCUjs7QUk1MUJNO0VBQ0U7QUorMUJSOztBSTcxQk07RUFDRTtBSmcyQlI7O0FJcDJCTTtFQUNFO0FKdTJCUjs7QUlyMkJNO0VBQ0U7QUp3MkJSOztBSTUyQk07RUFDRTtBSisyQlI7O0FJNzJCTTtFQUNFO0FKZzNCUjs7QUlwM0JNO0VBQ0U7QUp1M0JSOztBSXIzQk07RUFDRTtBSnczQlI7O0FJNTNCTTtFQUNFO0FKKzNCUjs7QUk3M0JNO0VBQ0U7QUpnNEJSOztBSXA0Qk07RUFDRTtBSnU0QlI7O0FJcjRCTTtFQUNFO0FKdzRCUjs7QUk1NEJNO0VBQ0U7QUorNEJSOztBSTc0Qk07RUFDRTtBSmc1QlI7O0FJcDVCTTtFQUNFO0FKdTVCUjs7QUlyNUJNO0VBQ0U7QUp3NUJSOztBSTU1Qk07RUFDRTtBSis1QlI7O0FJNzVCTTtFQUNFO0FKZzZCUjs7QUlwNkJNO0VBQ0U7QUp1NkJSOztBSXI2Qk07RUFDRTtBSnc2QlI7O0FJNTZCTTtFQUNFO0FKKzZCUjs7QUk3NkJNO0VBQ0U7QUpnN0JSOztBSXA3Qk07RUFDRTtBSnU3QlI7O0FJcjdCTTtFQUNFO0FKdzdCUjs7QUlwOEJNO0VBQ0U7QUp1OEJSOztBSXI4Qk07RUFDRTtBSnc4QlI7O0FJcDhCTTtFQUNFO0FKdThCUjs7QUlyOEJNO0VBQ0U7QUp3OEJSOztBSTU4Qk07RUFDRTtBSis4QlI7O0FJNzhCTTtFQUNFO0FKZzlCUjs7QUlwOUJNO0VBQ0U7QUp1OUJSOztBSXI5Qk07RUFDRTtBSnc5QlI7O0FJNTlCTTtFQUNFO0FKKzlCUjs7QUk3OUJNO0VBQ0U7QUpnK0JSOztBSXArQk07RUFDRTtBSnUrQlI7O0FJcitCTTtFQUNFO0FKdytCUjs7QUk1K0JNO0VBQ0U7QUorK0JSOztBSTcrQk07RUFDRTtBSmcvQlI7O0FJcC9CTTtFQUNFO0FKdS9CUjs7QUlyL0JNO0VBQ0U7QUp3L0JSOztBSTUvQk07RUFDRTtBSisvQlI7O0FJNy9CTTtFQUNFO0FKZ2dDUjs7QUlwZ0NNO0VBQ0U7QUp1Z0NSOztBSXJnQ007RUFDRTtBSndnQ1I7O0FJNWdDTTtFQUNFO0FKK2dDUjs7QUk3Z0NNO0VBQ0U7QUpnaENSOztBSXBoQ007RUFDRTtBSnVoQ1I7O0FJcmhDTTtFQUNFO0FKd2hDUjs7QUk1aENNO0VBQ0U7QUoraENSOztBSTdoQ007RUFDRTtBSmdpQ1I7O0FJcGlDTTtFQUNFO0FKdWlDUjs7QUlyaUNNO0VBQ0U7QUp3aUNSOztBSXBqQ007RUFDRTtBSnVqQ1I7O0FJcmpDTTtFQUNFO0FKd2pDUjs7QUlwakNNO0VBQ0U7QUp1akNSOztBSXJqQ007RUFDRTtBSndqQ1I7O0FJNWpDTTtFQUNFO0FKK2pDUjs7QUk3akNNO0VBQ0U7QUpna0NSOztBSXBrQ007RUFDRTtBSnVrQ1I7O0FJcmtDTTtFQUNFO0FKd2tDUjs7QUk1a0NNO0VBQ0U7QUora0NSOztBSTdrQ007RUFDRTtBSmdsQ1I7O0FJcGxDTTtFQUNFO0FKdWxDUjs7QUlybENNO0VBQ0U7QUp3bENSOztBSTVsQ007RUFDRTtBSitsQ1I7O0FJN2xDTTtFQUNFO0FKZ21DUjs7QUlwbUNNO0VBQ0U7QUp1bUNSOztBSXJtQ007RUFDRTtBSndtQ1I7O0FJNW1DTTtFQUNFO0FKK21DUjs7QUk3bUNNO0VBQ0U7QUpnbkNSOztBSXBuQ007RUFDRTtBSnVuQ1I7O0FJcm5DTTtFQUNFO0FKd25DUjs7QUk1bkNNO0VBQ0U7QUorbkNSOztBSTduQ007RUFDRTtBSmdvQ1I7O0FJcG9DTTtFQUNFO0FKdW9DUjs7QUlyb0NNO0VBQ0U7QUp3b0NSOztBSTVvQ007RUFDRTtBSitvQ1I7O0FJN29DTTtFQUNFO0FKZ3BDUjs7QUlwcENNO0VBQ0U7QUp1cENSOztBSXJwQ007RUFDRTtBSndwQ1I7O0FJcHFDTTtFQUNFO0FKdXFDUjs7QUlycUNNO0VBQ0U7QUp3cUNSOztBSXBxQ007RUFDRTtBSnVxQ1I7O0FJcnFDTTtFQUNFO0FKd3FDUjs7QUk1cUNNO0VBQ0U7QUorcUNSOztBSTdxQ007RUFDRTtBSmdyQ1I7O0FJcHJDTTtFQUNFO0FKdXJDUjs7QUlyckNNO0VBQ0U7QUp3ckNSOztBSTVyQ007RUFDRTtBSityQ1I7O0FJN3JDTTtFQUNFO0FKZ3NDUjs7QUlwc0NNO0VBQ0U7QUp1c0NSOztBSXJzQ007RUFDRTtBSndzQ1I7O0FJNXNDTTtFQUNFO0FKK3NDUjs7QUk3c0NNO0VBQ0U7QUpndENSOztBSXB0Q007RUFDRTtBSnV0Q1I7O0FJcnRDTTtFQUNFO0FKd3RDUjs7QUk1dENNO0VBQ0U7QUordENSOztBSTd0Q007RUFDRTtBSmd1Q1I7O0FJcHVDTTtFQUNFO0FKdXVDUjs7QUlydUNNO0VBQ0U7QUp3dUNSOztBSTV1Q007RUFDRTtBSit1Q1I7O0FJN3VDTTtFQUNFO0FKZ3ZDUjs7QUlwdkNNO0VBQ0U7QUp1dkNSOztBSXJ2Q007RUFDRTtBSnd2Q1I7O0FJNXZDTTtFQUNFO0FKK3ZDUjs7QUk3dkNNO0VBQ0U7QUpnd0NSOztBSXB3Q007RUFDRTtBSnV3Q1I7O0FJcndDTTtFQUNFO0FKd3dDUjs7QUlweENNO0VBQ0U7QUp1eENSOztBSXJ4Q007RUFDRTtBSnd4Q1I7O0FJcHhDTTtFQUNFO0FKdXhDUjs7QUlyeENNO0VBQ0U7QUp3eENSOztBSTV4Q007RUFDRTtBSit4Q1I7O0FJN3hDTTtFQUNFO0FKZ3lDUjs7QUlweUNNO0VBQ0U7QUp1eUNSOztBSXJ5Q007RUFDRTtBSnd5Q1I7O0FJNXlDTTtFQUNFO0FKK3lDUjs7QUk3eUNNO0VBQ0U7QUpnekNSOztBSXB6Q007RUFDRTtBSnV6Q1I7O0FJcnpDTTtFQUNFO0FKd3pDUjs7QUk1ekNNO0VBQ0U7QUorekNSOztBSTd6Q007RUFDRTtBSmcwQ1I7O0FJcDBDTTtFQUNFO0FKdTBDUjs7QUlyMENNO0VBQ0U7QUp3MENSOztBSTUwQ007RUFDRTtBSiswQ1I7O0FJNzBDTTtFQUNFO0FKZzFDUjs7QUlwMUNNO0VBQ0U7QUp1MUNSOztBSXIxQ007RUFDRTtBSncxQ1I7O0FJNTFDTTtFQUNFO0FKKzFDUjs7QUk3MUNNO0VBQ0U7QUpnMkNSOztBSXAyQ007RUFDRTtBSnUyQ1I7O0FJcjJDTTtFQUNFO0FKdzJDUjs7QUk1MkNNO0VBQ0U7QUorMkNSOztBSTcyQ007RUFDRTtBSmczQ1I7O0FJcDNDTTtFQUNFO0FKdTNDUjs7QUlyM0NNO0VBQ0U7QUp3M0NSOztBSXA0Q007RUFDRTtBSnU0Q1I7O0FJcjRDTTtFQUNFO0FKdzRDUjs7QUlwNENNO0VBQ0U7QUp1NENSOztBSXI0Q007RUFDRTtBSnc0Q1I7O0FJNTRDTTtFQUNFO0FKKzRDUjs7QUk3NENNO0VBQ0U7QUpnNUNSOztBSXA1Q007RUFDRTtBSnU1Q1I7O0FJcjVDTTtFQUNFO0FKdzVDUjs7QUk1NUNNO0VBQ0U7QUorNUNSOztBSTc1Q007RUFDRTtBSmc2Q1I7O0FJcDZDTTtFQUNFO0FKdTZDUjs7QUlyNkNNO0VBQ0U7QUp3NkNSOztBSTU2Q007RUFDRTtBSis2Q1I7O0FJNzZDTTtFQUNFO0FKZzdDUjs7QUlwN0NNO0VBQ0U7QUp1N0NSOztBSXI3Q007RUFDRTtBSnc3Q1I7O0FJNTdDTTtFQUNFO0FKKzdDUjs7QUk3N0NNO0VBQ0U7QUpnOENSOztBSXA4Q007RUFDRTtBSnU4Q1I7O0FJcjhDTTtFQUNFO0FKdzhDUjs7QUk1OENNO0VBQ0U7QUorOENSOztBSTc4Q007RUFDRTtBSmc5Q1I7O0FJcDlDTTtFQUNFO0FKdTlDUjs7QUlyOUNNO0VBQ0U7QUp3OUNSOztBSTU5Q007RUFDRTtBSis5Q1I7O0FJNzlDTTtFQUNFO0FKZytDUjs7QUlwK0NNO0VBQ0U7QUp1K0NSOztBSXIrQ007RUFDRTtBSncrQ1I7O0FJcC9DTTtFQUNFO0FKdS9DUjs7QUlyL0NNO0VBQ0U7QUp3L0NSOztBSXAvQ007RUFDRTtBSnUvQ1I7O0FJci9DTTtFQUNFO0FKdy9DUjs7QUk1L0NNO0VBQ0U7QUorL0NSOztBSTcvQ007RUFDRTtBSmdnRFI7O0FJcGdETTtFQUNFO0FKdWdEUjs7QUlyZ0RNO0VBQ0U7QUp3Z0RSOztBSTVnRE07RUFDRTtBSitnRFI7O0FJN2dETTtFQUNFO0FKZ2hEUjs7QUlwaERNO0VBQ0U7QUp1aERSOztBSXJoRE07RUFDRTtBSndoRFI7O0FJNWhETTtFQUNFO0FKK2hEUjs7QUk3aERNO0VBQ0U7QUpnaURSOztBSXBpRE07RUFDRTtBSnVpRFI7O0FJcmlETTtFQUNFO0FKd2lEUjs7QUk1aURNO0VBQ0U7QUoraURSOztBSTdpRE07RUFDRTtBSmdqRFI7O0FJcGpETTtFQUNFO0FKdWpEUjs7QUlyakRNO0VBQ0U7QUp3akRSOztBSTVqRE07RUFDRTtBSitqRFI7O0FJN2pETTtFQUNFO0FKZ2tEUjs7QUlwa0RNO0VBQ0U7QUp1a0RSOztBSXJrRE07RUFDRTtBSndrRFI7O0FJNWtETTtFQUNFO0FKK2tEUjs7QUk3a0RNO0VBQ0U7QUpnbERSOztBSXBsRE07RUFDRTtBSnVsRFI7O0FJcmxETTtFQUNFO0FKd2xEUjs7QUlwbURNO0VBQ0U7QUp1bURSOztBSXJtRE07RUFDRTtBSndtRFI7O0FJcG1ETTtFQUNFO0FKdW1EUjs7QUlybURNO0VBQ0U7QUp3bURSOztBSTVtRE07RUFDRTtBSittRFI7O0FJN21ETTtFQUNFO0FKZ25EUjs7QUlwbkRNO0VBQ0U7QUp1bkRSOztBSXJuRE07RUFDRTtBSnduRFI7O0FJNW5ETTtFQUNFO0FKK25EUjs7QUk3bkRNO0VBQ0U7QUpnb0RSOztBSXBvRE07RUFDRTtBSnVvRFI7O0FJcm9ETTtFQUNFO0FKd29EUjs7QUk1b0RNO0VBQ0U7QUorb0RSOztBSTdvRE07RUFDRTtBSmdwRFI7O0FJcHBETTtFQUNFO0FKdXBEUjs7QUlycERNO0VBQ0U7QUp3cERSOztBSTVwRE07RUFDRTtBSitwRFI7O0FJN3BETTtFQUNFO0FKZ3FEUjs7QUlwcURNO0VBQ0U7QUp1cURSOztBSXJxRE07RUFDRTtBSndxRFI7O0FJNXFETTtFQUNFO0FKK3FEUjs7QUk3cURNO0VBQ0U7QUpnckRSOztBSXByRE07RUFDRTtBSnVyRFI7O0FJcnJETTtFQUNFO0FKd3JEUjs7QUk1ckRNO0VBQ0U7QUorckRSOztBSTdyRE07RUFDRTtBSmdzRFI7O0FJcHNETTtFQUNFO0FKdXNEUjs7QUlyc0RNO0VBQ0U7QUp3c0RSOztBSXB0RE07RUFDRTtBSnV0RFI7O0FJcnRETTtFQUNFO0FKd3REUjs7QUlwdERNO0VBQ0U7QUp1dERSOztBSXJ0RE07RUFDRTtBSnd0RFI7O0FJNXRETTtFQUNFO0FKK3REUjs7QUk3dERNO0VBQ0U7QUpndURSOztBSXB1RE07RUFDRTtBSnV1RFI7O0FJcnVETTtFQUNFO0FKd3VEUjs7QUk1dURNO0VBQ0U7QUordURSOztBSTd1RE07RUFDRTtBSmd2RFI7O0FJcHZETTtFQUNFO0FKdXZEUjs7QUlydkRNO0VBQ0U7QUp3dkRSOztBSTV2RE07RUFDRTtBSit2RFI7O0FJN3ZETTtFQUNFO0FKZ3dEUjs7QUlwd0RNO0VBQ0U7QUp1d0RSOztBSXJ3RE07RUFDRTtBSnd3RFI7O0FJNXdETTtFQUNFO0FKK3dEUjs7QUk3d0RNO0VBQ0U7QUpneERSOztBSXB4RE07RUFDRTtBSnV4RFI7O0FJcnhETTtFQUNFO0FKd3hEUjs7QUk1eERNO0VBQ0U7QUoreERSOztBSTd4RE07RUFDRTtBSmd5RFI7O0FJcHlETTtFQUNFO0FKdXlEUjs7QUlyeURNO0VBQ0U7QUp3eURSOztBSTV5RE07RUFDRTtBSit5RFI7O0FJN3lETTtFQUNFO0FKZ3pEUjs7QUlwekRNO0VBQ0U7QUp1ekRSOztBSXJ6RE07RUFDRTtBSnd6RFI7O0FJcDBETTtFQUNFO0FKdTBEUjs7QUlyMERNO0VBQ0U7QUp3MERSOztBSXAwRE07RUFDRTtBSnUwRFI7O0FJcjBETTtFQUNFO0FKdzBEUjs7QUk1MERNO0VBQ0U7QUorMERSOztBSTcwRE07RUFDRTtBSmcxRFI7O0FJcDFETTtFQUNFO0FKdTFEUjs7QUlyMURNO0VBQ0U7QUp3MURSOztBSTUxRE07RUFDRTtBSisxRFI7O0FJNzFETTtFQUNFO0FKZzJEUjs7QUlwMkRNO0VBQ0U7QUp1MkRSOztBSXIyRE07RUFDRTtBSncyRFI7O0FJNTJETTtFQUNFO0FKKzJEUjs7QUk3MkRNO0VBQ0U7QUpnM0RSOztBSXAzRE07RUFDRTtBSnUzRFI7O0FJcjNETTtFQUNFO0FKdzNEUjs7QUk1M0RNO0VBQ0U7QUorM0RSOztBSTczRE07RUFDRTtBSmc0RFI7O0FJcDRETTtFQUNFO0FKdTREUjs7QUlyNERNO0VBQ0U7QUp3NERSOztBSTU0RE07RUFDRTtBSis0RFI7O0FJNzRETTtFQUNFO0FKZzVEUjs7QUlwNURNO0VBQ0U7QUp1NURSOztBSXI1RE07RUFDRTtBSnc1RFI7O0FJNTVETTtFQUNFO0FKKzVEUjs7QUk3NURNO0VBQ0U7QUpnNkRSOztBSXA2RE07RUFDRTtBSnU2RFI7O0FJcjZETTtFQUNFO0FKdzZEUjs7QUlwN0RNO0VBQ0U7QUp1N0RSOztBSXI3RE07RUFDRTtBSnc3RFI7O0FJcDdETTtFQUNFO0FKdTdEUjs7QUlyN0RNO0VBQ0U7QUp3N0RSOztBSTU3RE07RUFDRTtBSis3RFI7O0FJNzdETTtFQUNFO0FKZzhEUjs7QUlwOERNO0VBQ0U7QUp1OERSOztBSXI4RE07RUFDRTtBSnc4RFI7O0FJNThETTtFQUNFO0FKKzhEUjs7QUk3OERNO0VBQ0U7QUpnOURSOztBSXA5RE07RUFDRTtBSnU5RFI7O0FJcjlETTtFQUNFO0FKdzlEUjs7QUk1OURNO0VBQ0U7QUorOURSOztBSTc5RE07RUFDRTtBSmcrRFI7O0FJcCtETTtFQUNFO0FKdStEUjs7QUlyK0RNO0VBQ0U7QUp3K0RSOztBSTUrRE07RUFDRTtBSisrRFI7O0FJNytETTtFQUNFO0FKZy9EUjs7QUlwL0RNO0VBQ0U7QUp1L0RSOztBSXIvRE07RUFDRTtBSncvRFI7O0FJcGdFTTtFQUNFO0FKdWdFUjs7QUlyZ0VNO0VBQ0U7QUp3Z0VSOztBSXBnRU07RUFDRTtBSnVnRVI7O0FJcmdFTTtFQUNFO0FKd2dFUjs7QUk1Z0VNO0VBQ0U7QUorZ0VSOztBSTdnRU07RUFDRTtBSmdoRVI7O0FJcGhFTTtFQUNFO0FKdWhFUjs7QUlyaEVNO0VBQ0U7QUp3aEVSOztBSTVoRU07RUFDRTtBSitoRVI7O0FJN2hFTTtFQUNFO0FKZ2lFUjs7QUlwaUVNO0VBQ0U7QUp1aUVSOztBSXJpRU07RUFDRTtBSndpRVI7O0FJNWlFTTtFQUNFO0FKK2lFUjs7QUk3aUVNO0VBQ0U7QUpnakVSOztBSXBqRU07RUFDRTtBSnVqRVI7O0FJcmpFTTtFQUNFO0FKd2pFUjs7QUk1akVNO0VBQ0U7QUorakVSOztBSTdqRU07RUFDRTtBSmdrRVI7O0FJcGtFTTtFQUNFO0FKdWtFUjs7QUlya0VNO0VBQ0U7QUp3a0VSOztBSXBsRU07RUFDRTtBSnVsRVI7O0FJcmxFTTtFQUNFO0FKd2xFUjs7QUlwbEVNO0VBQ0U7QUp1bEVSOztBSXJsRU07RUFDRTtBSndsRVI7O0FJNWxFTTtFQUNFO0FKK2xFUjs7QUk3bEVNO0VBQ0U7QUpnbUVSOztBSXBtRU07RUFDRTtBSnVtRVI7O0FJcm1FTTtFQUNFO0FKd21FUjs7QUk1bUVNO0VBQ0U7QUorbUVSOztBSTdtRU07RUFDRTtBSmduRVI7O0FJcG5FTTtFQUNFO0FK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RUFDRTtBTHNwRUY7O0FLbnBFQTsrRUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDRTtBTG9wRUY7O0FLanBFQTs7RUFBQTtBQUlBO0VBQ0U7QUxtcEVGOztBS2hwRUE7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0U7QUxpcEVGOztBTTVrRkE7RUFDQztBTitrRkQ7O0FNN2tGQTtFQUNDO0FOZ2xGRDs7QU03a0ZBOzs7OztFQUtFLGdJQ3FTVztBUDJ5RWI7O0FNNWtGRTtFQUNFO0VBQ0E7QU4ra0ZKO0FNN2tGSTtFQUNFO0FOK2tGTjs7QU0xa0ZBO0VBQ0MsY0NnQlk7RURmWjtFQUdDO0FOMmtGRjs7QU10a0ZBO0VBQ0U7RUFDQTtBTnlrRkY7O0FNcGtGQTtFQUNFO0FOdWtGRjs7QU1sa0ZBO0VBQ0U7QU5xa0ZGOztBTWxrRkE7QUFDQTtFQUNFO0FOcWtGRjs7QU1qa0ZBO0VBQ0U7QU5va0ZGOztBTWprRkE7QUFDQTtFQUNFO0FOb2tGRjs7QU0vakZBO0FBQ0E7RUFDRTtBTmtrRkY7O0FNN2pGQTtBQUNBO0VBQ0U7QU5na0ZGOztBTTNqRkE7QUFDQTtFQUNFO0FOOGpGRjs7QU16akZBO0VBQ0U7QU40akZGO0FNMWpGRTtFQUNFO0FONGpGSjs7QU10akZBO0VBQ0U7RUFDQTtFQUNBO0FOeWpGRjs7QU1uakZBO0VBQ0U7RUFDQTtFQUNBO0FOc2pGRjs7QU1qakZBO0VBQ0U7QU5vakZGO0FNbGpGRTtFQUNFO0VBQ0E7QU5vakZKO0FNbGpGRTtFQUNFO0VBQ0E7QU5vakZKO0FNbGpGRTtFQUNFO0FOb2pGSjtBTWxqRkU7RUFDRTtBTm9qRko7QU1sakZFO0VBQ0U7QU5vakZKO0FNbGpGRTtFQUNFO0FOb2pGSjs7QU0vaUZBOztFQUVFO0VBQ0E7QU5rakZGOztBTTFpRkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONmlGSjtBTTNpRkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONmlGTjtBTTFpRkk7RUFBYTtBTjZpRmpCO0FNM2lGSTtFQUFXLHlCRXhLQztBUnN0RmhCO0FNNWlGSTtFQUNFO0VBQ0E7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RSx5QkZ0Qlk7RUV1Qlosa0NGb1JvQjtBUGszRjFCO0FTcG9HTTtFQUNFO0FUc29HUjtBU2xvR0U7RUFDRTtFQUNBO0VBQ0EsY0ZqQ2M7QVBxcUdsQjtBU2xvR007RUFDRSxzQkZ3UW9CO0FQNDNGNUI7QVM5bkdJO0VBQ0Usc0JGOFBnQjtFRTdQaEI7RUFDQTtBVGdvR047QVM5bkdJO0VBQ0U7QVRnb0dOO0FTOW5HSTtFQUNFO0FUZ29HTjs7QVMxbkdBO0VBQ0U7RUFDQSxjRjNEZ0I7QVB3ckdsQjs7QVMzbkdBO0VBQ0U7RUFDQTtBVDhuR0Y7O0FVdHVHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxpQkg2Q2E7RUc1Q2IsWUg0Q2E7RUczQ2I7RUFDQTtFQUNBO0FWeXVHRjtBVXZ1R0U7RUFDRTtFQUNBO0VBQ0E7RUFDQSx5Qkh5QmM7RUd4QmQ7QVZ5dUdKO0FVdnVHRTtFQUNFO0FWeXVHSjtBVXR1R0U7RUFDRTtBVnd1R0o7O0FVbnVHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGlCSGtCYTtFR2pCYixZSGlCYTtFR2hCYjtBVnN1R0Y7O0FVbHVHQTtFQUNFO0FWcXVHRjs7QVVudUdBO0VBQ0U7QVZzdUdGOztBVXB1R0E7RUFDRTtBVnV1R0Y7O0FVcHVHQTtFQUNFO0VBQ0E7RUFDQTtBVnV1R0Y7O0FXNXhHQTtBQUNBO0VBQ0U7RUFDQTtBWCt4R0Y7O0FZaHlHQTtFQUNFO0VBQ0E7RUFDQTtBWm15R0Y7O0FZanlHQTtFQUNFO0lBQ0U7RVpveUdGO0FBQ0Y7QVlseUdBO0VBQ0U7SUFDRTtFWm95R0Y7QUFDRjtBWWx5R0E7RUFDRTtFQUNBO0Fab3lHRjs7QVlqeUdBO0VBQ0U7RUFDQTtBWm95R0Y7QVlseUdFO0VBQ0U7QVpveUdKO0FZbHlHRTtFQUNFO0Fab3lHSjtBWWx5R0U7RUFDRTtBWm95R0o7O0FZNXdHQTtFQUNFO0VBQ0E7RUFDQTtBWit3R0Y7QVk1d0dFO0VBQ0U7RUFDQTtFQUNBO0FaOHdHSjtBWTN3R0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBWjZ3R0o7QVkzd0dJO0VBRUU7QVo0d0dO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O0VaczNIYjtFWTc5SEE7SUFDRSxVQXNHVztFWnkzSGI7RVk3OUhBO0lBQ0UsU0FtR1c7RVo0M0hiO0VZdCtIQTtJQUNFLDJCQXlHVztFWiszSGI7RVl0K0hBO0lBQ0UscUJBc0dXO0VaazRIYjtFWXQrSEE7SUFDRSxvQkFtR1c7RVpxNEhiO0VZLytIQTtJQUNFLDJCQXlHVztFWnc0SGI7RVkvK0hBO0lBQ0UscUJBc0dXO0VaMjRIYjtFWS8rSEE7SUFDRSxvQkFtR1c7RVo4NEhiO0VZeC9IQTtJQUNFLGlCQXlHVztFWmk1SGI7RVl4L0hBO0lBQ0UsV0FzR1c7RVpvNUhiO0VZeC9IQTtJQUNFLFVBbUdXO0VadTVIYjtBQUNGOztBYTlpSUU7RUFDRTtBYmlqSUo7QWEvaUlJO0VBQ0UsZ0JObVBpQjtFTWxQakI7QWJpaklOO0FhOWlJSTtFQUNFO0VBQ0E7QWJnaklOO0FhM2pJQTtFQWVFLFdONE9rQjtFTTFPbEIseUJMWGM7RUtZZDtFQUNBLFlOcU9xQjtFTXBPckIsaUJOb09xQjtBUDAwSHZCO0FhNWlJRTtFQUFJLFdOcU9jO0FQMDBIcEI7QWE3aUlFOzs7RUFHRTtFQUNBO0VBQ0EsWU4yTm1CO0VNMU5uQixpQk4wTm1CO0FQcTFIdkI7QWE1aUlFO0VBQ0U7RUFDQTtBYjhpSUo7QWEzaUlFO0VBQ0U7SUFBb0I7RWI4aUl0QjtBQUNGO0FhMWlJRTtFQUNFO0VBQ0E7RUFDQTtFQUNBLFlOd01tQjtFTXZNbkI7QWI0aUlKO0FhMWlJSTtFQUNFLFlOb01pQjtFTW5NakIsaUJObU1pQjtBUHkySHZCO0FhdGlJRTtFQUNFO0VBQ0EsV044TGdCO0VNN0xoQjtFQUNBLGlCTjZMcUI7RU01THJCO0Fid2lJSjtBYXRpSUk7RUFDRTtFQUNBO0Fid2lJTjtBYXJpSUk7RUFaRjtJQWFJO0lBQ0E7RWJ3aUlKO0VhdGlJSTtJQUNFO0lBQ0E7RWJ3aUlOO0VhcmlJSTtJQUFTO0Vid2lJYjtFYXZpSUk7SUFDRTtJQUNBO0VieWlJTjtBQUNGO0FhdGlJSTtFQUNFO0VBQ0E7QWJ3aUlOO0FhcmlJSTs7O0VBR0U7RUFDQTtBYnVpSU47QWFqaUlFO0VBQ0U7RUFDQTtFQUNBO0FibWlJSjtBYTloSUU7RUFDRTtBYmdpSUo7QWE5aElJO0VBQ0U7RUFDQTtFQUNBO0FiZ2lJTjtBYTloSU07RUFDRTtBYmdpSVI7QWE3aElJO0VBQ0U7RUFDQSxlTjhIYTtFTTdIYixXTjhIYztFTTdIZDtFQUNBO0VBQ0E7QWIraElOO0FhN2hJTTtFQUNFO0VBQ0E7RUFDQTtBYitoSVI7QWE3aElRO0VBQ0U7RUFDQTtBYitoSVY7QWEzaElNO0VBQ0U7QWI2aElSO0FhemhJSTtFQUNFO0FiMmhJTjtBYXRoSUU7RUFDRTtBYndoSUo7QWFyaElFO0VBQ0U7RUFDQTtBYnVoSUo7QWFyaElJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWJ1aElOO0FhcmhJTTtFQUVFO0VBQ0E7QWJzaElSO0FhbGhJSTtFQUNFO0VBQ0E7QWJvaElOO0FhbGhJTTtFQUNFO0VBQ0E7QWJvaElSO0FhbGhJTTtFQUFhLFdOc0VDO0FQKzhIcEI7O0FhL2dJQTtFQUNFO0VBQ0EsWU4yRHFCO0VNMURyQjtBYmtoSUY7QWFoaElFO0VBQ0U7QWJraElKOztBYS9nSUE7RUFDRTtJQUNFLGdCTmdEWTtFUGsrSGQ7RWFoaElBO0lBQ0UsWU42Q1k7SU01Q1osaUJONENZO0VQcytIZDtFYWhoSUE7SUFDRSxZTnlDWTtFUHkrSGQ7QUFDRjtBYzd0SUE7RUFDRTtBZCt0SUY7O0FjNXRJQTtFQUNFO0FkK3RJRjtBYzd0SUU7RUFIRjtJQUlJO0VkZ3VJRjtBQUNGO0FjOXRJRTtFQVBGO0lBUUk7RWRpdUlGO0FBQ0Y7QWMvdElFO0VBWEY7SUFZSTtFZGt1SUY7QUFDRjtBYy91SUE7RUFlRSxnSVA2Ulc7RU81Ulg7RUFDQSwwQlA0UlU7QVB1OEhaOztBY2p1SUE7RUFDQztFQUNBO0Fkb3VJRDs7QWNodUlBO0VBQXFDO0Fkb3VJckM7O0FjbnVJQTtFQUFLLGlCUHFSUztFT3JSZ0I7RUFBbUI7QWR5dUlqRDs7QWN4dUlBO0VBQUssa0JQcVJTO0VPclJnQjtFQUFtQjtBZDh1SWpEOztBYzd1SUE7RUFBSyxrQlBxUlM7RU9yUmdCO0VBQW1CO0FkbXZJakQ7O0FjbHZJQTtFQUFLLGtCUHFSUztFT3JSZ0I7RUFBbUI7QWR3dklqRDs7QWN2dklBO0VBQUssa0JQcVJTO0VPclJnQjtFQUFtQjtBZDZ2SWpEOztBYzV2SUE7RUFBSyxrQlBxUlM7RU9yUmdCO0VBQW1CO0Fka3dJakQ7O0FjL3ZJQTtFQUFLO0FkbXdJTDs7QWNsd0lBO0VBQVM7QWRzd0lUOztBY3J3SUE7RUFBUTtBZHl3SVI7O0FjeHdJQTtFQUFTO0FkNHdJVDs7QWMzd0lBO0VBQVE7QWQrd0lSOztBY3p3SUk7RUFISjtJQUlNO0VkNndJSjtBQUNGO0FjL3dJSTtFQUhKO0lBSU07RWRreElKO0FBQ0Y7QWNweElJO0VBSEo7SUFJTTtFZHV4SUo7QUFDRjtBY3p4SUk7RUFISjtJQUlNO0VkNHhJSjtBQUNGO0FjOXhJSTtFQUhKO0lBSU07RWRpeUlKO0FBQ0Y7QWNueUlJO0VBSEo7SUFJTTtFZHN5SUo7QUFDRjtBY3h5SUk7RUFISjtJQUlNO0VkMnlJSjtBQUNGO0FjN3lJSTtFQUhKO0lBSU07RWRneklKO0FBQ0Y7QWNseklJO0VBSEo7SUFJTTtFZHF6SUo7QUFDRjtBY3Z6SUk7RUFISjtJQUlNO0VkMHpJSjtBQUNGO0FjNXpJSTtFQUhKO0lBSU07RWQreklKO0FBQ0Y7QWNqMElJO0VBSEo7SUFJTTtFZG8wSUo7QUFDRjtBY3QwSUk7RUFISjtJQUlNO0VkeTBJSjtBQUNGO0FjMzBJSTtFQUhKO0lBSU07RWQ4MElKO0FBQ0Y7QWNoMUlJO0VBSEo7SUFJTTtFZG0xSUo7QUFDRjtBY3IxSUk7RUFISjtJQUlNO0VkdzFJSjtBQUNGO0FjMTFJSTtFQUhKO0lBSU07RWQ2MUlKO0FBQ0Y7QWMvMUlJO0VBSEo7SUFJTTtFZGsySUo7QUFDRjtBY3AySUk7RUFISjtJQUlNO0VkdTJJSjtBQUNGO0FjejJJSTtFQUhKO0lBSU07RWQ0MklKO0FBQ0Y7QWM5MklJO0VBSEo7SUFJTTtFZGkzSUo7QUFDRjtBYzUySUU7RUFWRjtJQVdJO0VkKzJJRjtBQUNGOztBZXo2SUU7RUFDRTtFQUNBO0FmNDZJSjtBZXo2SUU7RUFDRTtBZjI2SUo7QWVsN0lBO0VBVUU7QWYyNklGOztBZ0JwN0lBO0VBQ0U7RUFDQSxhVG1HYTtFU2xHYjtFQUNBO0VBRUEsc0JUZ0djO0FQczFJaEI7O0FnQm43SUE7RUFDRTtFQUNBO0VBQ0Esc0JUMEZjO0VTekZkO0VBQ0E7QWhCczdJRjtBZ0JsN0lFO0VBQ0U7RUFDQTtBaEJvN0lKO0FnQm43SUk7RUFDRTtBaEJxN0lOO0FnQmg3SUU7RUFDRTtBaEJrN0lKO0FnQmg3SUk7RUFDRTtFQUNBO0FoQms3SU47QWdCaDdJSTtFQUNFO0FoQms3SU47QWdCaDdJSTtFQUNFO0VBQ0E7QWhCazdJTjtBZ0JoN0lJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWhCazdJTjtBZ0I5NklFO0VBQ0U7QWhCZzdJSjtBZ0I3NklFO0VBQ0U7QWhCKzZJSjtBZ0I1NklFO0VBQ0U7QWhCODZJSjtBZ0J4NklNO0VBQ0U7RUFDQTtFQUNBO0FoQjA2SVI7QWdCeDZJUTtFQUNFO0FoQjA2SVY7QWdCbDdJRTtFQWFFO0FoQnc2SUo7QWdCdDZJSTtFQUNFO0FoQnc2SU47QWdCdjZJTTtFQUNFO0VBQ0E7RUFDQTtBaEJ5NklSO0FnQnI2SUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBaEJ1NklOO0FnQnI2SU07RUFDRTtBaEJ1NklSO0FnQmg2SUk7RUFDRTtBaEJrNklOO0FnQi81SUk7RUFDRTtFQUNBO0FoQmk2SU47QWdCMTVJRTtFQUNFO0FoQjQ1SUo7QWdCejVJSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCMjVJTjtBZ0J4NUlJO0VBQ0UsV1QzQlU7RVM0QlY7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhVGpDUztBUDI3SWY7QWdCdDVJRTtFQUNFLGFUdENXO0VTdUNYO0FoQnc1SUo7QWdCdDVJSTtFQUNFO0FoQnc1SU47QWdCdDVJSTtFQUNFO0VBQ0E7RUFDQTtBaEJ3NUlOO0FnQnQ1SU07RUFDRTtBaEJ3NUlSO0FnQmw1SUk7RUFDRTtBaEJvNUlOO0FnQnQ1SUU7RUFJRTtFQUNB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QnVCO0FQOHhKN0I7QW9CendKSTtFQUNFO0FwQjJ3Sk47QW9CN3dKRTtFQUlFLGFibEJ5QjtFYW1CekIsY2JuQnlCO0FQK3hKN0I7QW9CM3dKSTtFQUNFLG1CYnJCdUI7QVBreUo3QjtBb0J4d0pJO0VBQ0U7RUFDQTtBcEIwd0pOO0FvQjd3SkU7RUFLRTtFQUNBO0VBQ0E7QXBCMndKSjtBb0JqekpBO0VBd0NFO0VBQ0EsV2IxQnNCO0VhMkJ0QjtFQUNBO0VBQ0E7RUFDQSxXYjdCcUI7RWE4QnJCLFliOUJxQjtFYStCckIsaUJiL0JxQjtFYWdDckI7RUFDQSx5QmJ2RmdCO0Vhd0ZoQixrQmJqQ3VCO0VhbUN2QjtFQUNBO0VBQ0E7QXBCMndKRjtBb0Ixd0pFO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsV2I1Q29CO0VhNkNwQixpQmI5RDBCO0VhK0QxQixpQmI3Q21CO0FQeXpKdkI7O0FvQnZ3SkE7RUFDRSxZYnhGYztBUGsySmhCOztBb0Jwd0pJO0VBQ0U7QXBCdXdKTjtBb0Jsd0pFO0VBRUU7QXBCbXdKSjtBb0Jsd0pJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJvd0pOO0FvQm53Sk07RUFDRTtFQUNBO0FwQnF3SlI7QW9CandKRTtFQUNFO0FwQm13Sko7QW9CbHdKSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FwQm93Sk47QW9CbndKTTtFQUNFO0FwQnF3SlI7QW9CandKRTtFQUNFO0FwQm13Sko7QW9CbHdKSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FwQm93Sk47QW9CbndKTTtFQUNFO0FwQnF3SlI7QW9CL3ZKTTtFQUNFO0FwQml3SlI7QW9CcHdKRTtFQU1FO0VBQ0EsWWJoSXlCO0FQaTRKN0I7QW9CaHdKSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FwQmt3Sk47QW9CandKTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCbXdKUjtBb0Jsd0pRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGlCYnJKbUI7RWFzSm5CO0FwQm93SlY7QW9CbndKVTtFQUNFO0FwQnF3Slo7QW9CdDFKQTtFQXVGRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCa3dKRjtBb0Jqd0pFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCbXdKSjtBb0Jsd0pJO0VBQ0U7QXBCb3dKTjtBb0Jsd0pJO0VBQ0U7QXBCb3dKTjtBb0Jqd0pFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXYnhLbUI7RWF5S25CLFliekttQjtFYTBLbkIseUJiaE9jO0VhaU9kLGtCYjFLcUI7RWEyS3JCO0FwQm13Sko7O0FvQjl2SkE7RUFDRTtFQUNBO0VBQ0EsY2IzTGtCO0VhNExsQjtFQUNBO0FwQml3SkY7QW9CaHdKRTtFQUVFO0FwQml3Sko7QW9CL3ZKRTtFQUNFO0FwQml3Sko7QW9CL3ZKRTtFQUVFO0VBQ0E7RUFDQTtBcEJnd0pKOztBb0IzdkpBO0VBRUUsWWIxTm9CO0VhMk5wQixpQmIzTm9CO0VhNE5wQixlYjlOdUI7RWErTnZCO0FwQjZ2SkY7QW9CM3ZKRTtFQUNFLGlCYmpPMEI7QVA4OUo5Qjs7QW9CeHZKQTtFQUVFLGNiak9vQjtFYWtPcEIsbUJibE9vQjtFYW1PcEIsZWJyT3VCO0FQKzlKekI7QW9CenZKRTtFQUNFLGlCYnRPMEI7QVBpK0o5Qjs7QW9CdHZKQTtFQUNFO0FwQnl2SkY7O0FxQnhqS0U7RUFDRTtBckIyaktKO0FxQjdqS0E7RUFPRSxzQmRzSmtCO0VjckpsQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckJ5aktGO0FxQnJqS0k7RUFDRSxzQmR3SW9CO0FQKzZKMUI7QXFCcGpLSTtFQUNFO0FyQnNqS047QXFCbmpLSTtFQUNFO0VBQ0E7QXJCcWpLTjtBcUJsaktJO0VBQ0U7RUFDQSxjZE1ZO0VjTFo7RUFDQTtFQUNBO0FyQm9qS047QXFCampLSTtFQUNFO0VBQ0E7RUFDQTtBckJtaktOO0FxQi9pS0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQmlqS047QXFCbmxLRTtFQXNDRTtFQUNBLDBCZHlQ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QUNBO0VBQ0E7QXZCa3lLRjs7QXdCajRLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F4Qm80S0Y7O0F3Qi8zS0U7RUFDRTtBeEJrNEtKO0F3QnA0S0E7RUFLRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esc0JqQndHeUI7RWlCdkd6QjtBeEJrNEtGO0F3Qmg0S0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4Qms0S0o7O0F3Qi8zS0E7RUFDRTtBeEJrNEtGOztBd0IvM0tBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXhCazRLRjs7QXdCMzNLRTs7RUFDRTtFQUNBO0F4QiszS0o7QXdCNzNLSTs7RUFBSztBeEJpNEtUO0F3QjkzS0U7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEJpNEtKO0F3Qi8zS0k7O0VBQVU7QXhCbTRLZDtBd0JsNEtJOztFQUFJO0F4QnM0S1I7QXdCbjRLRTs7RUFDRTtFQUNBLHNCakIwRHVCO0FQNDBLM0I7QXdCcDRLSTs7RUFDRTtBeEJ1NEtOOztBd0I5M0tBO0VBQ0U7RUFDQTtBeEJpNEtGO0F3Qmg0S0U7RUFDRTtFQUVBO0VBQ0E7QXhCaTRLSjtBd0IvM0tFO0VBQ0U7RUFDQTtBeEJpNEtKOztBeUJ2OUtFO0VBQ0U7RUFDQSx5QmxCZ0lrQjtFa0IvSGxCO0F6QjA5S0o7QXlCOTlLQTtFQU9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmxCa0hjO0VrQmpIZCxrQmxCb0hZO0VrQm5IWixpQmxCbUhZO0FQdTJLZDtBeUJ4OUtFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekIwOUtKO0F5QnY5S0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6Qnk5S0o7O0F5QnI5S0E7RUFDRTtFQUNBO0VBQ0E7RUFDQSxpQmxCd0lhO0VrQnZJYjtFQUNBO0VBQ0E7QXpCdzlLRjtBeUJ0OUtFO0VBQ0U7RUFDQTtBekJ3OUtKO0F5QnI5S0U7RUFDRTtBekJ1OUtKO0F5QnA5S0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGVsQm1IYztFa0JsSGQsWWxCMkdXO0VrQjFHWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6QnM5S0o7QXlCcDlLSTtFQUNFO0VBQ0E7QXpCczlLTjtBeUJqOUtFO0VBQ0U7RUFDQTtBekJtOUtKOztBeUI5OEtBO0VBQ0U7RUFDQTtFQUNBO0F6Qmk5S0Y7O0F5Qjk4S0E7RUFDRTtFQUNBO0VBQ0E7QXpCaTlLRjs7QXlCLzhLQTtFQUNFO0VBQ0E7QXpCazlLRjs7QTBCOWlMSTtFQUNFO0ExQmlqTE47QTBCcGpMQTtFQU9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCZ2pMRjtBMEI5aUxFO0VBQ0U7QTFCZ2pMSjs7QTBCNWlMQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCK2lMRjs7QTBCNWlMQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUIraUxGOztBMkJ2bExBO0VBQ0UsOENwQnFNYTtBUHE1S2Y7O0EyQnZsTEE7RUFDRTtFQUNBLHlDcEJxRHdCO0FQcWlMMUI7O0EyQnZsTEE7RUFDRSxpQnBCdUtnQjtFb0J0S2hCLGNwQjRKbUI7QVA4N0tyQjs7QTRCdG1MQTsrRUFBQTtBQUdBO0FBRUE7RUFDRSxjckJrTHVCO0FQcTdLekI7O0E0QnBtTEE7QUFFQTs7Ozs7Ozs7Ozs7Ozs7RUFnQkU7RUFDQTtFQUNBLGdDckI0SWE7RXFCM0liO0VBQ0E7RUFDQSxZckJ1SWE7RXFCdEliO0VBQ0EsZXJCNElnQjtFcUIzSWhCLGlCckI2SWE7RXFCNUliLFVyQjZJYztFcUI1SWQ7RUFDQTtFQUNBO0E1Qm9tTEY7QTRCam1MRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBRUUsMEJyQnVJbUI7RXFCdEluQiw2Q3JCd0lvQjtBUG8vS3hCO0E0QnhuTEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUVFLDBCckJnSW1CO0FQbWhMdkI7QTRCL29MRTs7Ozs7Ozs7Ozs7Ozs7RUFDRTtFQUNBO0E1QjhwTEo7QTRCMXBMRTs7Ozs7Ozs7Ozs7Ozs7RUFDRSxjckJwQmM7QVA2ckxsQjtBNEJucExFOzs7Ozs7Ozs7Ozs7OztFQUNFLGNwQm5GWTtBUnF2TGhCO0E0QnBwTEU7Ozs7Ozs7Ozs7Ozs7O0VBQ0UsY3JCeERVO0FQMnRMZDtBNEIvcExFOzs7Ozs7Ozs7Ozs7OztFQUNFO0E1QjhxTEo7QTRCcHFMQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFDRTtFQUNBO0E1QmdzTEY7O0E0QjlyTEE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUNFLGdDckI2RHFCO0VxQjVEckI7QTVCMnRMRjs7QTRCenRMQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFDRTtFQUNBO0VBQ0E7QTVCZ3hMRjs7QTRCOXdMQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBQ0U7RUFDQSxjcEJqSWM7QVI0NkxoQjs7QTRCenlMQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBQ0U7RUFDQSxjckIzRlk7QVBpNkxkOztBNEJwMExBOzs7Ozs7Ozs7Ozs7OztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Qm8xTEY7O0E0QjcwTEU7RUFDRTtFQUNBO0VBQ0E7QTVCZzFMSjtBNEI5MExJOztFQUVFO0E1QmcxTE47QTRCMTBMSTtFQUNFO0E1QjQwTE47QTRCejBMSTs7OztFQUlFO0E1QjIwTE47QTRCbDJMQTtFQTJCRTtFQUNBO0VBQ0E7QTVCMDBMRjtBNEJ4MExFO0VBQ0UsY3JCYmlCO0VxQmNqQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVCMDBMSjtBNEJ4MExJO0VBQ0U7RUFDQTtBNUIwMExOO0E0QnQwTEk7RUFJRTtBNUJxMExOO0E0QmgwTEU7RUFHRTtFQUNBO0E1QmcwTEo7QTRCNXpMSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1Qjh6TE47QTRCbjBMRTtFQVFFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVCOHpMSjtBNEIxekxFO0VBQ0U7RUFDQSxXckJqRVc7RXFCa0VYLGVyQmxEYztFcUJtRGQ7RUFDQTtBNUI0ekxKO0E0QjF6TEk7RUFBVyxjckJuTUc7QVBnZ01sQjtBNEIxekxFOzs7Ozs7O0VBT0U7RUFDQTtFQUNBO0E1QjR6TEo7QTRCenpMRTtFQUFrQjtBNUI0ekxwQjtBNEIxekxFO0VBQ0U7O0lBRUU7SUFDQTtFNUI0ekxKO0FBQ0Y7QTRCenpMRTtFQUNFOztJQUVFO0lBQ0E7RTVCMnpMSjtBQUNGO0E0QnR6TEU7RUFDRTtBNUJ3ekxKO0E0QnJ6TEU7Ozs7Ozs7RUFPRTtFQUNBO0VBQ0E7QTVCdXpMSjtBNEJwekxFO0VBQWtCO0E1QnV6THBCOztBNEJuekxBO0FBRUE7RUFDRTtFQUNBO0VBQ0E7QTVCcXpMRjtBNEJuekxFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUJxekxKO0E0Qmx6TEU7RUFDRSxzQnJCMUllO0VxQjJJZjtFQUNBO0VBQ0E7QTVCb3pMSjtBNEJsekxJO0VBR0U7QTVCa3pMTjtBNEI5eUxFO0VBQ0U7RUFDQTtBNUJnekxKO0E0Qjd5TEU7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZXJCckpjO0VxQnNKZDtBNUI4eUxKOztBNEJ6eUxBO0FBR0E7RUFDRTtFQUNBLFlyQmhMYTtFcUJpTGI7QTVCMHlMRjtBNEJ4eUxFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxnQnJCeExXO0VxQnlMWDtBNUIweUxKOztBNEJyeUxBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtBNUJzeUxGOztBNEJseUxBO0FBR0k7RUFBYTtBNUJveUxqQjtBNEJseUxJO0VBQ0U7RUFDQTtFQUNBO0E1Qm95TE47O0E0Qi94TEE7QUFDQTtFQUNFO0E1Qmt5TEY7O0E2QnBxTUE7K0VBQUE7QUFJQTs7RUFFRTtFQUNBO0VBQ0E7QTdCcXFNRjs7QTZCbHFNQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCcXFNRjs7QTZCbHFNQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCcXFNRjs7QTZCbHFNQTtBQUNBOzs7Ozs7RUFNRTtBN0JxcU1GOztBNkJscU1BOztFQUVFO0E3QnFxTUY7O0E2QmxxTUE7RUFDRTtBN0JxcU1GOztBNkJscU1BO0FBQ0E7RUFDRTtBN0JxcU1GOztBNkJscU1BOzs7RUFHRSx5QnRCNkhhO0FQd2lNZjs7QTZCbHFNQTs7RUFFRSx5QnRCM0JnQjtBUGdzTWxCOztBNkJscU1BO0VBQ0U7QTdCcXFNRjs7QTZCbHFNQTtBQUNBO0VBQ0U7QTdCcXFNRjs7QTZCbHFNQTtBQUNBO0VBQ0U7QTdCcXFNRjs7QTZCbHFNQTtBQUNBO0VBQ0U7QTdCcXFNRjs7QTZCbHFNQTtFQUNFO0VBQ0EscUN0QnNGcUI7QVAra012Qjs7QTZCbHFNQTtBQUNBOztFQUVFO0VBQ0EsaUN0QitFcUI7QVBzbE12Qjs7QTZCbHFNQTtFQUNFLDBCdEIyRXFCO0FQMGxNdkI7O0E2QmxxTUE7RUFDRSxpQ3RCdUVxQjtBUDhsTXZCOztBNkJscU1BO0VBQ0UscUN0Qm1FcUI7RXNCbEVyQixxQnRCbUUyQjtBUGttTTdCOztBOEJ0eE1BOytFQUFBO0FBR0E7QUFDQTs7RUFFRTtFQUNBO0VBQ0E7QTlCd3hNRjs7QThCbHhNRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlCcXhNSjtBOEIveE1BO0VBYUU7QTlCcXhNRjtBOEJweE1FO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUJxeE1KO0E4Qmx4TUU7RUFDRTtFQUNBO0E5Qm94TUo7QThCanhNRTtFQUNFO0VBQ0EscUN2Qm1JbUI7QVBncE12QjtBOEIvd01FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUJpeE1KOztBOEI1d01FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsK0J2QndIVztFdUJ2SFgsZ0N2QnVIVztFdUJ0SFg7RUFDQTtFQUNBO0E5Qit3TUo7QThCNXdNRTtFQUNFO0VBQ0E7QTlCOHdNSjs7QThCMXdNQTtBQUVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsK0J2QmtHVztFdUJqR1g7RUFDQTtFQUNBO0VBQ0E7QTlCNHdNSjtBOEJ4d01FO0VBQ0U7RUFDQTtBOUIwd01KOztBOEJud01FO0VBQ0U7QTlCc3dNSjtBOEJud01FOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUJxd01KO0E4Qmp3TUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUJtd01KO0E4Qmh3TUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlCa3dNSjtBOEI3dk1JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlCK3ZNTjtBOEI1dk1JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QnZCeEhZO0V1QnlIWjtBOUI4dk1OO0E4Qnp2TUU7RUFDRTtFQUNBLHFCdkJrQmdCO0V1QmpCaEI7QTlCMnZNSjtBOEJ4dk1FO0VBQ0U7RUFDQSx5QnZCdEljO0V1QnVJZCxxQnZCdkljO0FQaTRNbEI7QThCdHZNRTtFQUNFO0VBQ0E7QTlCd3ZNSjtBOEJydk1FO0VBQ0U7RUFDQSx5QnZCUnlCO0FQK3ZNN0I7QThCcHZNRTtFQUNFO0E5QnN2TUo7QThCbnZNRTtFQUNFLHlCdkJoQnlCO0V1QmlCekIscUJ2QmpCeUI7QVBzd003Qjs7QStCMTdNQTsrRUFBQTtBQUdBOztFQUVFO0VBQ0E7QS9CNDdNRjs7QStCejdNQTtFQUNFO0EvQjQ3TUY7O0ErQno3TUE7RUFDRTtFQUNBO0VBQ0E7QS9CNDdNRjtBK0IxN01FO0VBQ0UsdUR4QjhMc0I7QVA4dk0xQjtBK0J4N01JO0VBQ0U7QS9CMDdNTjtBK0J2N01JO0VBQ0UseUJ4QmNZO0FQMjZNbEI7O0ErQnA3TUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EscUN4QjRLMEI7RXdCM0sxQixtQnhCNEtjO0V3QjNLZDtFQUNBO0VBQ0E7RUFDQTtBL0J1N01GO0ErQnI3TUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9CdTdNSjtBK0JwN01FO0VBQ0U7QS9CczdNSjtBK0JuN01FO0VBQ0UseUJ4Qm1Ka0I7RXdCbEpsQjtBL0JxN01KOztBK0JoN01BOztFQUVFO0VBQ0E7QS9CbTdNRjs7QStCaDdNQTs7RUFFRTtFQUNBO0EvQm03TUY7O0ErQi82TUE7RUFDRTtFQUNBO0EvQms3TUY7O0ErQi82TUE7O0VBRUUseUJ4QjJGMkI7QVB1MU03Qjs7QWdDM2dOQTsrRUFBQTtBQUdBO0VBQXlCO0FoQzhnTnpCOztBZ0M3Z05BO0VBQ0U7RUFDQSwwQ3pCZ01rQjtFeUIvTGxCO0VBQ0EsWXpCbU1lO0V5QmxNZix5QnpCNExjO0V5QjNMZCxrQnpCa01jO0V5QmpNZCxZekI0SmE7QVBvM01mOztBZ0M3Z05BO0VBQ0U7QWhDZ2hORjs7QWdDbC9NRTtFQUVFO0VBQ0E7QWhDby9NSjtBZ0NsaE5BO0VBcUNFO0FoQ2cvTUY7QWdDNytNSTtFQUNFO0FoQysrTU47QWdDai9NRTtFQUlFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0N6QndHVztFeUJ2R1g7RUFDQSxZekJvR1c7RXlCbkdYLGlCekJtR1c7RXlCbEdYO0VBQ0EsZXpCd0djO0V5QnZHZCxpQnpCeUdXO0V5QnhHWDtFQUNBO0VBQ0E7RUFDQTtBaENnL01KO0FnQzcrTUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEMrK01KO0FnQzUrTUU7RUFDRTtFQUNBO0VBQ0EsaUJ6QnVGYztBUHU1TWxCO0FnQ3orTUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhDMitNSjs7QWdDdCtNQTtFQUNFLDBCekJ1RXFCO0FQazZNdkI7O0FnQ3IrTUU7RUFDRSwwQnpCa0VtQjtBUHM2TXZCO0FnQ3QrTUU7RUFDRSx5QnpCK0RtQjtBUHk2TXZCOztBZ0NwK01BO0VBQ0UsMEJ6QjBEcUI7RXlCekRyQjtFQUNBO0FoQ3UrTUY7O0FnQ3ArTUE7RUFDRSx5QnpCOEVzQjtBUHk1TXhCOztBZ0NwK01BOzs7RUFHRSx5QnpCd0VzQjtFeUJ2RXRCO0FoQ3UrTUY7O0FnQ24rTUU7RUFDRSxxQ3pCOERrQjtBUHc2TXRCOztBZ0NoK01JO0VBQ0UscUN6QnNEZ0I7QVA2Nk10QjtBZ0NoK01JO0VBQ0UscUN6Qm9EbUI7QVA4Nk16Qjs7QWdDNTlNQTtFQUNFO0VBQ0E7RUFDQTtBaEMrOU1GOztBZ0M1OU1BO0VBQWtCO0FoQ2crTWxCOztBZ0M3OU1BO0VBQ0U7RUFDQTtFQUNBO0FoQ2crTUY7O0FnQzc5TUE7RUFBa0I7QWhDaStNbEI7O0FnQzc5TUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBaENnK01KOztBZ0MzOU1BO0VBQ0U7QWhDODlNRjtBZ0M1OU1FO0VBQ0U7QWhDODlNSjtBZ0MzOU1FO0VBQ0U7QWhDNjlNSjtBZ0MxOU1FO0VBQ0U7QWhDNDlNSjs7QWlDaHFOQTsrRUFBQTtBQUdBO0VBQ0U7QWpDa3FORjtBaUNocU5FO0VBQ0U7RUFDQTtBakNrcU5KO0FpQy9wTkU7RUFBa0I7QWpDa3FOcEI7QWlDaHFORTtFQUNFO0VBQ0EsWTFCd0pXO0UwQnZKWCxpQjFCdUpXO0FQMmdOZjtBaUMvcE5FO0VBQ0U7QWpDaXFOSjtBaUMzcE5JO0VBQ0U7QWpDNnBOTjtBaUNqcU5FO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQzZwTko7O0FrQ3RzTkE7K0VBQUE7QUFHQTtFQUNFO0FsQ3dzTkY7O0FrQ3JzTkE7O0VBR0U7QWxDdXNORjs7QWtDcHNOQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQ3VzTkY7QWtDcnNORTtFQUNFO0FsQ3VzTko7O0FrQ25zTkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCM0JPZ0I7RTJCTmhCO0VBRUE7RUFDQTtBbENxc05GO0FrQ25zTkU7RUFDRTtFQUNBO0VBQ0E7RUFDQSxjM0JIYztFMkJJZDtFQUNBO0FsQ3FzTko7QWtDbHNORTtFQUNFO0FsQ29zTko7QWtDbHNOSTtFQUNFLFczQm9IYTtFMkJuSGI7RUFDQTtFQUNBO0FsQ29zTk47O0FrQzlxTkE7RUFDRTtBbENpck5GOztBa0M5cU5BO0VBbkJFLFczQmtJYTtFMkJqSWI7RUFDQTtBbENxc05GOztBa0Nock5BO0VBakJFO0VBQ0EsWTNCeUhhO0UyQnhIYixXM0J5SFk7RTJCeEhaO0VBQ0EsbUIzQmhDZ0I7RTJCaUNoQjtFQWNBO0VBQ0EseUIzQmhEZ0I7RTJCaURoQjtFQUNBO0FsQ3dyTkY7O0FrQ3ByTkE7RUFDRTtBbEN1ck5GOztBa0Nuck5BO0VBQ0U7RUFDQTtFQUVBO0FsQ3FyTkY7O0FrQ2xyTkE7RUE1Q0UsVzNCa0lhO0UyQmpJYjtFQUNBO0FsQ2t1TkY7O0FrQ3ByTkE7RUFDRTtBbEN1ck5GOztBa0Nwck5BO0VBOUNFO0VBQ0EsWTNCeUhhO0UyQnhIYixXM0J5SFk7RTJCeEhaO0VBQ0EsbUIzQmhDZ0I7RTJCaUNoQjtFQTJDQTtBbEM0ck5GOztBa0N4ck5BO0VBQ0U7RUFDQTtBbEMyck5GOztBa0N4ck5BO0VBQ0U7QWxDMnJORjs7QWtDdnJOQTtFQUNFLFczQjZEYTtFMkIxRGI7RUFHQTtFQUNBO0VBRUE7RUFDQTtBbENxck5GOztBa0Nsck5BO0VBQ0U7QWxDcXJORjs7QWtDbHJOQTtFQUNFO0FsQ3FyTkY7O0FrQ2xyTkE7RUFwRkU7RUFDQSxZM0J5SGE7RTJCeEhiLFczQnlIWTtFMkJ4SFo7RUFDQSxtQjNCaENnQjtFMkJpQ2hCO0FsQzB3TkY7O0FrQ3ZyTkE7RUFDRTtBbEMwck5GOztBbUN6MU5BOztlQUFBO0FBSUU7RUFDSTtBbkMyMU5OO0FtQ3gxTkU7RUFDRTtBbkMwMU5KO0FtQ3gxTkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQzAxTko7QW1DeDFOSTtFQUNFO0VBQ0E7RUFDQTtBbkMwMU5OO0FtQ3gxTkk7RUFDRTtFQUNBO0VBQ0E7QW5DMDFOTjs7QW9DdjNOQTtFQUNFO0VBQ0EsWTdCK1BjO0U2QjlQZDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQjdCMlBpQjtFNkIxUGpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBDMDNORjtBb0NyM05FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXBDdTNOSjtBb0NwM05FO0VBQ0U7QXBDczNOSjtBb0NsM05FO0VBQ0U7RUFDQSxpQjdCcU9rQjtBUCtvTnRCO0FvQ2wzTkk7RUFBVztBcENxM05mO0FvQ2wzTkU7RUFDRSwwQjdCNE5pQjtFNkIzTmpCO0VBQ0EsZTdCeU5nQjtFNkJ4TmhCO0VBQ0EsWTdCMk5rQjtFNkIxTmxCLGlCN0IwTmtCO0U2QnpObEI7QXBDbzNOSjtBb0NsM05JO0VBQVU7QXBDcTNOZDtBb0NuM05JO0VBQ0U7QXBDcTNOTjtBb0NsM05JO0VBRWlCLFc3Qm1CQztBUGcyTnRCO0FvQ2wzTkk7RUFBYSxjN0JpQ0c7QVBvMU5wQjtBb0NuM05JO0VBQ29CO0FwQ3EzTnhCO0FvQ3AzTkk7RUFBdUIseUI3QmxCVDtBUHk0TmxCO0FvQ3IzTkk7RUFHRTtFQUNBLFk3Qm9NZ0I7RTZCbk1oQixpQjdCbU1nQjtFNkJsTWhCO0VBQ0E7RUFDQTtBcENxM05OO0FvQ2gzTkU7RUFDRTtBcENrM05KO0FvQzkyTkk7RUFDRTtBcENnM05OO0FvQ2wzTkU7RUFLRTtFQUNBO0VBQ0E7RUFDQSxlN0IyS2dCO0U2QjFLaEI7RUFDQSxpQjdCNktrQjtBUG1zTnRCO0FvQzcyTkU7RUFDRTtFQUNBO0VBQ0E7QXBDKzJOSjtBb0M1Mk5NO0VBQVU7QXBDKzJOaEI7QW9DaDNOSTtFQUVFO0VBQ0E7QXBDaTNOTjtBb0M5Mk5JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBDZzNOTjtBb0M3Mk5JO0VBQ0U7QXBDKzJOTjtBb0M1Mk5JO0VBQ0U7RUFDQTtBcEM4Mk5OO0FvQzMyTkk7O0VBRUUsZTdCc0ljO0U2QnJJZDtBcEM2Mk5OO0FvQzEyTkk7RUFDRTtFQUNBO0FwQzQyTk47QW9DejJOSTtFQUNFO0VBQ0E7QXBDMjJOTjs7QW9DbDJORTtFQUNFO0FwQ3EyTko7QW9DeDJOQTtFQU1FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBDcTJORjs7QW9DOTFORTtFQUNFO0VBQ0E7QXBDaTJOSjtBb0NyMk5BO0VBT0U7RUFDQTtFQUNBO0FwQ2kyTkY7O0FvQzcxTkE7RUFFSTtJQUNFO0VwQysxTko7RW9DNzFOSTtJQUNFO0VwQysxTk47RW9DMzFORTtJQUNFO0VwQzYxTko7RW9DMTFORTtJQUNFO0VwQzQxTko7QUFDRjtBb0N2MU5BOztFQUVFLHlCNUIzTGM7QVJvaE9oQjtBb0N4MU5FOztFQUNFLFc3QmlFZTtBUDB4Tm5COztBb0N4MU5BO0VBQ0U7QXBDMjFORjs7QW9DdjFOQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEMwMU5GOztBcUM5aU9BOzs7Ozs7OztFQUFBO0FBVUE7QUFDQTtBQUNBO0FBRUE7Ozs7Ozs7Ozs7OztFQUFBO0FBZUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckM2aU9GO0FxQzNpT0U7RUFDRTtFQUNBO0FyQzZpT0o7QXFDMWlPRTtFQUNFO0VBQ0E7QXJDNGlPSjtBcUN6aU9FO0VBQ0U7RUFDQTtFQUNBO0FyQzJpT0o7O0FxQ3ZpT0E7RUFDRTtJQUFLO0VyQzJpT0w7QUFDRjtBcUN6aU9BO0VBQ0U7SUFBSztFckM0aU9MO0FBQ0Y7QXFDMWlPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EscUI5QnZCZ0I7QVBta09sQjs7QXFDemlPQTs7RUFFRTtBckM0aU9GOztBcUN6aU9BOztFQUVFO0FyQzRpT0Y7O0FxQ3ppT0E7O0VBRUU7QXJDNGlPRjs7QXFDemlPQTs7RUFFRTtBckM0aU9GOztBcUN6aU9BOzs7Ozs7Ozs7Ozs7RUFBQTtBQWFBO0VBQ0U7RUFDQTtFQUNBO0FyQzRpT0Y7O0FxQ3ppT0E7RUFDRTtFQUNBO0VBQ0E7QXJDNGlPRjs7QXFDemlPQTtFQUNFO0VBQ0E7RUFDQTtBckM0aU9GOztBcUN6aU9BO0VBQ0U7RUFDQTtFQUNBO0FyQzRpT0Y7O0FxQ3ppT0E7Ozs7O0VBS0U7RUFDQTtFQUNBO0VBQ0E7QXJDNGlPRjs7QXFDemlPQTtFQUNFO0lBQVE7RXJDNmlPUixFcUM3aU84QztFQUM5QztJQUFRO0VyQytpT1IsRXFDL2lPOEM7RUFDOUM7SUFBUTtFckNpak9SLEVxQ2pqTzhDO0VBQzlDO0lBQVE7RXJDbWpPUixFcUNuak84QztFQUM5QztJQUFRO0VyQ3FqT1IsRXFDcmpPOEM7RUFDOUM7SUFBUTtFckN1ak9SLEVxQ3ZqTzhDO0VBQzlDO0lBQVE7RXJDeWpPUixFcUN6ak84QztFQUM5QztJQUFRO0VyQzJqT1IsRXFDM2pPOEM7QXJDNGpPaEQ7QXFDempPQTtFQUNFO0lBQVE7RXJDNGpPUixFcUM1ak9zQztFQUN0QztJQUFRO0VyQzhqT1IsRXFDOWpPc0M7RUFDdEM7SUFBUTtFckNna09SLEVxQ2hrT3NDO0VBQ3RDO0lBQVE7RXJDa2tPUixFcUNsa09zQztFQUN0QztJQUFRO0VyQ29rT1IsRXFDcGtPc0M7RUFDdEM7SUFBUTtFckNza09SLEVxQ3RrT3NDO0VBQ3RDO0lBQVE7RXJDd2tPUixFcUN4a09zQztFQUN0QztJQUFRO0VyQzBrT1IsRXFDMWtPc0M7QXJDMmtPeEM7QXFDeGtPQTtFQUNFO0lBQU87RXJDMmtPUDtFcUMxa09BO0lBQU07RXJDNmtPTjtFcUM1a09BO0lBQU07RXJDK2tPTjtFcUM5a09BO0lBQU07RXJDaWxPTjtFcUNobE9BO0lBQU07RXJDbWxPTjtFcUNsbE9BO0lBQU87RXJDcWxPUDtBQUNGO0FxQ25sT0E7RUFDRTtJQUFPO0VyQ3NsT1A7RXFDcmxPQTtJQUFNO0VyQ3dsT047RXFDdmxPQTtJQUFNO0VyQzBsT047RXFDemxPQTtJQUFNO0VyQzRsT047RXFDM2xPQTtJQUFNO0VyQzhsT047RXFDN2xPQTtJQUFPO0VyQ2dtT1A7QUFDRjtBcUM5bE9BO0VBQ0U7SUFBTztFckNpbU9QO0VxQ2htT0E7SUFBTTtFckNtbU9OO0VxQ2xtT0E7SUFBTTtFckNxbU9OO0VxQ3BtT0E7SUFBTTtFckN1bU9OO0VxQ3RtT0E7SUFBTTtFckN5bU9OO0FBQ0Y7QXFDdm1PQTtFQUNFO0lBQU87RXJDMG1PUDtFcUN6bU9BO0lBQU07RXJDNG1PTjtFcUMzbU9BO0lBQU07RXJDOG1PTjtFcUM3bU9BO0lBQU07RXJDZ25PTjtFcUMvbU9BO0lBQU07RXJDa25PTjtBQUNGO0FxQ2huT0E7RUFDRTtJQUFPO0VyQ21uT1A7RXFDbG5PQTtJQUFNO0VyQ3FuT047RXFDcG5PQTtJQUFNO0VyQ3VuT047RXFDdG5PQTtJQUFNO0VyQ3luT047RXFDeG5PQTtJQUFNO0VyQzJuT047QUFDRjtBcUN6bk9BO0VBQ0U7SUFBTztFckM0bk9QO0VxQzNuT0E7SUFBTTtFckM4bk9OO0VxQzduT0E7SUFBTTtFckNnb09OO0VxQy9uT0E7SUFBTTtFckNrb09OO0VxQ2pvT0E7SUFBTTtFckNvb09OO0FBQ0Y7QXFDbG9PQTtFQUNFO0lBQU87RXJDcW9PUDtFcUNwb09BO0lBQU07RXJDdW9PTjtFcUN0b09BO0lBQU07RXJDeW9PTjtFcUN4b09BO0lBQU07RXJDMm9PTjtFcUMxb09BO0lBQU87RXJDNm9PUDtBQUNGO0FxQzNvT0E7RUFDRTtJQUFPO0VyQzhvT1A7RXFDN29PQTtJQUFNO0VyQ2dwT047RXFDL29PQTtJQUFNO0VyQ2twT047RXFDanBPQTtJQUFNO0VyQ29wT047RXFDbnBPQTtJQUFPO0VyQ3NwT1A7QUFDRjtBcUNwcE9BOzs7RUFBQTtBQUlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDc3BPRjs7QXFDbnBPQTtFQUNFO0VBQ0E7QXJDc3BPRjs7QXFDbnBPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckNzcE9GO0FxQ3BwT0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckNzcE9KO0FxQ25wT0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckNxcE9KO0FxQ25wT0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckNxcE9KOztBcUMvb09BO0VBQ0U7RUFDQTtFQUNBO0FyQ2twT0Y7O0FxQy9vT0E7RUFDRTtFQUNBO0VBQ0E7QXJDa3BPRjs7QXFDL29PQTtFQUNFO0lBQU87RXJDbXBPUDtFcUNscE9BO0lBQU07RXJDcXBPTjtFcUNwcE9BO0lBQUs7RXJDdXBPTDtBQUNGO0FxQ3JwT0E7RUFDRTtJQUFPO0VyQ3dwT1A7RXFDdnBPQTtJQUFNO0VyQzBwT047RXFDenBPQTtJQUFLO0VyQzRwT0w7QUFDRjtBcUMxcE9BO0VBQ0U7SUFBTztFckM2cE9QO0VxQzVwT0E7SUFBTTtFckMrcE9OO0VxQzlwT0E7SUFBSztFckNpcU9MO0FBQ0Y7QXFDL3BPQTtFQUNFO0lBQU87RXJDa3FPUDtFcUNqcU9BO0lBQU07RXJDb3FPTjtFcUNucU9BO0lBQUs7RXJDc3FPTDtBQUNGO0FxQ3BxT0E7RUFDRTtFQUNBO0VBQ0E7QXJDc3FPRjs7QXFDbnFPQTtFQUNFO0lBQU87RXJDdXFPUDtFcUN0cU9BO0lBQUs7RXJDeXFPTDtBQUNGO0FxQ3ZxT0E7RUFDRTtJQUFPO0VyQzBxT1A7RXFDenFPQTtJQUFLO0VyQzRxT0w7QUFDRjtBc0N6L09BO0VBQ0U7RUFDQTtFQUNBO0F0QzIvT0Y7QXNDeC9PRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QzAvT0o7QXNDeC9PSTtFQUNFO0F0QzAvT047QXNDdi9PSTtFQUNFO0VBQ0E7QXRDeS9PTjtBc0NyL09FO0VBQ0UseUIvQm1QYztFK0JsUGQ7RUFDQTtBdEN1L09KO0FzQ3IvT0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Q3UvT047QXNDci9PTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F0Q3UvT1I7QXNDcC9PTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdENzL09SO0FzQ3AvT1E7RUFBSSxjL0J1Tlk7QVBneU94QjtBc0NwL09NO0VBQ0U7QXRDcy9PUjtBc0NoL09FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Q2svT0o7QXNDaC9PSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRDay9PTjtBc0M5K09NO0VBQ0UseUIvQjRMaUI7QVBvek96QjtBc0NsL09JO0VBSUU7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5Qi9CcUxrQjtFK0JuTGxCO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QXRDKytPTjs7QXVDOWtQRTtFQUNFO0VBQ0E7QXZDaWxQSjtBdUM5a1BNO0VBQ0U7QXZDZ2xQUjtBdUNsbFBJO0VBS0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkNnbFBOO0F1QzdrUEk7RUFDRTtFQUNBO0VBQ0EsaUJoQzRGWTtFZ0MzRlo7RUFDQTtFQUNBO0F2QytrUE47QXVDN2tQTTtFQUNFO0VBQ0E7RUFDQTtBdkMra1BSO0F1QzVrUE07RUFDRTtBdkM4a1BSO0F1QzltUEE7RUFxQ0U7RUFDQTtFQUNBO0VBQ0EsYWhDd0VnQjtFZ0N2RWhCO0VBQ0E7RUFDQTtBdkM0a1BGO0F1QzFrUEU7RUFDRTtFQUNBLFloQ2tFbUI7RWdDakVuQixhaENpRW1CO0VnQ2hFbkI7RUFDQTtFQUNBO0F2QzRrUEo7QXVDMWtQSTtFQUNFO0F2QzRrUE47QXVDeGtQRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkMwa1BKO0F1Q3ZrUE07RUFDRTtBdkN5a1BSO0F1QzNrUEk7RUFLRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QXZDd2tQTjtBdUNua1BFOztFQUVFO0F2Q3FrUEo7O0F3QzVwUEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhDK3BQRjs7QXdDNXBQQTtFQUNFO0VBQ0E7QXhDK3BQRjtBd0M3cFBFO0VBQ0U7RUFDQTtFQUNBLHNHQUNFO0F4QzhwUE47QXdDMXBQRTtFQUNFO0F4QzRwUEo7QXdDMXBQRTtFQUNFO0VBQ0E7RUFDQSwwREFDRTtBeEMycFBOOztBd0NycFBBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EseUJoQ2hDYztFZ0NpQ2Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHNHQUNFO0F4Q3VwUEo7O0F3Q25wUEE7RUFDRTtFQUNBO0F4Q3NwUEY7O0F3Q2xwUEU7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeENvcFBKO0F3Q2xwUEU7RUFDRTtFQUNBO0F4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O0VBQ0E7RUFDQTtBQW1uUUY7O0FBaG5RQTtFQUNFO0FBbW5RRjs7QUFoblFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFtblFGOztBQWhuUUE7RUFDRTtFQUNBO0VBQ0E7QUFtblFGOztBQWpuUUE7RUFDRTtFQUNBO0VBQ0E7QUFvblFGOztBQWpuUUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBb25RRixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL2Z1bGxjYWxlbmRhci9kaXN0L2Z1bGxjYWxlbmRhci5jc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL2ZsYXRwaWNrci9kaXN0L2ZsYXRwaWNrci5jc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vYXNzZXRzL3Njc3MvZ2xvYmFsLnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vYXNzZXRzL3Njc3MvY29tcG9uZW50cy9faWNvbnMuc2NzcyIsIndlYnBhY2s6Ly9wcmlzZS1kZS1wb3N0ZS13ZWIvLi9hc3NldHMvc2Nzcy9jb21wb25lbnRzL19jb2xvci5zY3NzIiwid2VicGFjazovL3ByaXNlLWRlLXBvc3RlLXdlYi8uL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX25hdmJhci5zY3NzIiwid2VicGFjazovL3ByaXNlLWRlLXBvc3RlLXdlYi8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWxpemVjc3MvbWF0ZXJpYWxpemUvc2Fzcy9jb21wb25lbnRzL19jb2xvci1jbGFzc2VzLnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX25vcm1hbGl6ZS5zY3NzIiwid2VicGFjazovL3ByaXNlLWRlLXBvc3RlLXdlYi8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWxpemVjc3MvbWF0ZXJpYWxpemUvc2Fzcy9jb21wb25lbnRzL19nbG9iYWwuc2NzcyIsIndlYnBhY2s6Ly9wcmlzZS1kZS1wb3N0ZS13ZWIvLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX2NvbGxlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly9wcmlzZS1kZS1wb3N0ZS13ZWIvLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fYmFkZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX2ljb25zLW1hdGVyaWFsLWRlc2lnbi5zY3NzIiwid2VicGFjazovL3ByaXNlLWRlLXBvc3RlLXdlYi8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWxpemVjc3MvbWF0ZXJpYWxpemUvc2Fzcy9jb21wb25lbnRzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX25hdmJhci5zY3NzIiwid2VicGFjazovL3ByaXNlLWRlLXBvc3RlLXdlYi8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWxpemVjc3MvbWF0ZXJpYWxpemUvc2Fzcy9jb21wb25lbnRzL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX3RyYW5zaXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX2NhcmRzLnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX3RvYXN0LnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIndlYnBhY2s6Ly9wcmlzZS1kZS1wb3N0ZS13ZWIvLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwid2VicGFjazovL3ByaXNlLWRlLXBvc3RlLXdlYi8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWxpemVjc3MvbWF0ZXJpYWxpemUvc2Fzcy9jb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX3dhdmVzLnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX21vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX2NvbGxhcHNpYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX2NoaXBzLnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX21hdGVyaWFsYm94LnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvZm9ybXMvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvZm9ybXMvX2lucHV0LWZpZWxkcy5zY3NzIiwid2VicGFjazovL3ByaXNlLWRlLXBvc3RlLXdlYi8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWxpemVjc3MvbWF0ZXJpYWxpemUvc2Fzcy9jb21wb25lbnRzL2Zvcm1zL19yYWRpby1idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvZm9ybXMvX2NoZWNrYm94ZXMuc2NzcyIsIndlYnBhY2s6Ly9wcmlzZS1kZS1wb3N0ZS13ZWIvLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9mb3Jtcy9fc3dpdGNoZXMuc2NzcyIsIndlYnBhY2s6Ly9wcmlzZS1kZS1wb3N0ZS13ZWIvLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvZm9ybXMvX2ZpbGUtaW5wdXQuc2NzcyIsIndlYnBhY2s6Ly9wcmlzZS1kZS1wb3N0ZS13ZWIvLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9mb3Jtcy9fcmFuZ2Uuc2NzcyIsIndlYnBhY2s6Ly9wcmlzZS1kZS1wb3N0ZS13ZWIvLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fdGFibGVfb2ZfY29udGVudHMuc2NzcyIsIndlYnBhY2s6Ly9wcmlzZS1kZS1wb3N0ZS13ZWIvLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fc2lkZW5hdi5zY3NzIiwid2VicGFjazovL3ByaXNlLWRlLXBvc3RlLXdlYi8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWxpemVjc3MvbWF0ZXJpYWxpemUvc2Fzcy9jb21wb25lbnRzL19wcmVsb2FkZXIuc2NzcyIsIndlYnBhY2s6Ly9wcmlzZS1kZS1wb3N0ZS13ZWIvLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX2Nhcm91c2VsLnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX3RhcFRhcmdldC5zY3NzIiwid2VicGFjazovL3ByaXNlLWRlLXBvc3RlLXdlYi8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWxpemVjc3MvbWF0ZXJpYWxpemUvc2Fzcy9jb21wb25lbnRzL19wdWxzZS5zY3NzIiwid2VicGFjazovL3ByaXNlLWRlLXBvc3RlLXdlYi8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWxpemVjc3MvbWF0ZXJpYWxpemUvc2Fzcy9jb21wb25lbnRzL19kYXRlcGlja2VyLnNjc3MiLCJ3ZWJwYWNrOi8vcHJpc2UtZGUtcG9zdGUtd2ViLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX3RpbWVwaWNrZXIuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEZ1bGxDYWxlbmRhciB2My4xMC41XG4gKiBEb2NzICYgTGljZW5zZTogaHR0cHM6Ly9mdWxsY2FsZW5kYXIuaW8vXG4gKiAoYykgMjAxOSBBZGFtIFNoYXdcbiAqL1xuLmZjIHtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmZjLXJ0bCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbmJvZHkgLmZjIHtcbiAgLyogZXh0cmEgcHJlY2VkZW5jZSB0byBvdmVyY29tZSBqcXVpICovXG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi8qIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWhpZ2hsaWdodCB7XG4gIC8qIHdoZW4gdXNlciBpcyBzZWxlY3RpbmcgY2VsbHMgKi9cbiAgYmFja2dyb3VuZDogI2JjZThmMTtcbiAgb3BhY2l0eTogLjM7IH1cblxuLmZjLWJnZXZlbnQge1xuICAvKiBkZWZhdWx0IGxvb2sgZm9yIGJhY2tncm91bmQgZXZlbnRzICovXG4gIGJhY2tncm91bmQ6ICM4ZmRmODI7XG4gIG9wYWNpdHk6IC4zOyB9XG5cbi5mYy1ub25idXNpbmVzcyB7XG4gIC8qIGRlZmF1bHQgbG9vayBmb3Igbm9uLWJ1c2luZXNzLWhvdXJzIGFyZWFzICovXG4gIC8qIHdpbGwgaW5oZXJpdCAuZmMtYmdldmVudCdzIHN0eWxlcyAqL1xuICBiYWNrZ3JvdW5kOiAjZDdkN2Q3OyB9XG5cbi8qIEJ1dHRvbnMgKHN0eWxlZCA8YnV0dG9uPiB0YWdzLCBub3JtYWxpemVkIHRvIHdvcmsgY3Jvc3MtYnJvd3Nlcilcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYyBidXR0b24ge1xuICAvKiBmb3JjZSBoZWlnaHQgdG8gaW5jbHVkZSB0aGUgYm9yZGVyIGFuZCBwYWRkaW5nICovXG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiBkaW1lbnNpb25zICovXG4gIG1hcmdpbjogMDtcbiAgaGVpZ2h0OiAyLjFlbTtcbiAgcGFkZGluZzogMCAuNmVtO1xuICAvKiB0ZXh0ICYgY3Vyc29yICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiBub3JtYWxpemUgKi9cbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qIEZpcmVmb3ggaGFzIGFuIGFubm95aW5nIGlubmVyIGJvcmRlciAqL1xuLmZjIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4uZmMtc3RhdGUtZGVmYXVsdCB7XG4gIC8qIG5vbi10aGVtZSAqL1xuICBib3JkZXI6IDFweCBzb2xpZDsgfVxuXG4uZmMtc3RhdGUtZGVmYXVsdC5mYy1jb3JuZXItbGVmdCB7XG4gIC8qIG5vbi10aGVtZSAqL1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsgfVxuXG4uZmMtc3RhdGUtZGVmYXVsdC5mYy1jb3JuZXItcmlnaHQge1xuICAvKiBub24tdGhlbWUgKi9cbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgfVxuXG4vKiBpY29ucyBpbiBidXR0b25zICovXG4uZmMgYnV0dG9uIC5mYy1pY29uIHtcbiAgLyogbm9uLXRoZW1lICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMC4wNWVtO1xuICAvKiBzZWVtcyB0byBiZSBhIGdvb2QgYWRqdXN0bWVudCBhY3Jvc3MgYnJvd3NlcnMgKi9cbiAgbWFyZ2luOiAwIC4yZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLypcbiAgYnV0dG9uIHN0YXRlc1xuICBib3Jyb3dlZCBmcm9tIHR3aXR0ZXIgYm9vdHN0cmFwIChodHRwOi8vdHdpdHRlci5naXRodWIuY29tL2Jvb3RzdHJhcC8pXG4qL1xuLmZjLXN0YXRlLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZmZmYsICNlNmU2ZTYpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oI2ZmZmZmZiksIHRvKCNlNmU2ZTYpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmZmZmLCAjZTZlNmU2KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZmZmZiwgI2U2ZTZlNik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmZmZmYsICNlNmU2ZTYpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJvcmRlci1jb2xvcjogI2U2ZTZlNiAjZTZlNmU2ICNiZmJmYmY7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBjb2xvcjogIzMzMztcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cblxuLmZjLXN0YXRlLWhvdmVyLFxuLmZjLXN0YXRlLWRvd24sXG4uZmMtc3RhdGUtYWN0aXZlLFxuLmZjLXN0YXRlLWRpc2FibGVkIHtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cblxuLmZjLXN0YXRlLWhvdmVyIHtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTVweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXBvc2l0aW9uIDAuMXMgbGluZWFyO1xuICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4xcyBsaW5lYXI7XG4gIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4xcyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4xcyBsaW5lYXI7IH1cblxuLmZjLXN0YXRlLWRvd24sXG4uZmMtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDUpOyB9XG5cbi5mYy1zdGF0ZS1kaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgb3BhY2l0eTogMC42NTtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4vKiBCdXR0b25zIEdyb3Vwc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWJ1dHRvbi1ncm91cCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKlxuZXZlcnkgYnV0dG9uIHRoYXQgaXMgbm90IGZpcnN0IGluIGEgYnV0dG9uIGdyb3VwIHNob3VsZCBzY29vdGNoIG92ZXIgb25lIHBpeGVsIGFuZCBjb3ZlciB0aGVcbnByZXZpb3VzIGJ1dHRvbidzIGJvcmRlci4uLlxuKi9cbi5mYyAuZmMtYnV0dG9uLWdyb3VwID4gKiB7XG4gIC8qIGV4dHJhIHByZWNlZGVuY2UgYi9jIGJ1dHRvbnMgaGF2ZSBtYXJnaW4gc2V0IHRvIHplcm8gKi9cbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCAwIDAgLTFweDsgfVxuXG4uZmMgLmZjLWJ1dHRvbi1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gIC8qIHNhbWUgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLyogUG9wb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG5cbi5mYy1wb3BvdmVyIC5mYy1oZWFkZXIge1xuICAvKiBUT0RPOiBiZSBtb3JlIGNvbnNpc3RlbnQgd2l0aCBmYy1oZWFkL2ZjLWJvZHkgKi9cbiAgcGFkZGluZzogMnB4IDRweDsgfVxuXG4uZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy10aXRsZSB7XG4gIG1hcmdpbjogMCAycHg7IH1cblxuLmZjLXBvcG92ZXIgLmZjLWhlYWRlciAuZmMtY2xvc2Uge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmZjLWx0ciAuZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy10aXRsZSxcbi5mYy1ydGwgLmZjLXBvcG92ZXIgLmZjLWhlYWRlciAuZmMtY2xvc2Uge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uZmMtcnRsIC5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgLmZjLXRpdGxlLFxuLmZjLWx0ciAuZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy1jbG9zZSB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4vKiBNaXNjIFJldXNhYmxlIENvbXBvbmVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1kaXZpZGVyIHtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7IH1cblxuaHIuZmMtZGl2aWRlciB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDAgMnB4O1xuICAvKiBoZWlnaHQgaXMgdW5yZWxpYWJsZSBhY3Jvc3MgYnJvd3NlcnMsIHNvIHVzZSBwYWRkaW5nICovXG4gIGJvcmRlci13aWR0aDogMXB4IDA7IH1cblxuLmZjLWNsZWFyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmZjLWJnLFxuLmZjLWJnZXZlbnQtc2tlbGV0b24sXG4uZmMtaGlnaGxpZ2h0LXNrZWxldG9uLFxuLmZjLWhlbHBlci1za2VsZXRvbiB7XG4gIC8qIHRoZXNlIGVsZW1lbnQgc2hvdWxkIGFsd2F5cyBjbGluZyB0byB0b3AtbGVmdC9yaWdodCBjb3JuZXJzICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDsgfVxuXG4uZmMtYmcge1xuICBib3R0b206IDA7XG4gIC8qIHN0cmVjaCBiZyB0byBib3R0b20gZWRnZSAqLyB9XG5cbi5mYy1iZyB0YWJsZSB7XG4gIGhlaWdodDogMTAwJTtcbiAgLyogc3RyZWNoIGJnIHRvIGJvdHRvbSBlZGdlICovIH1cblxuLyogVGFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMgdGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogZml4IHNjcm9sbGJhciBpc3N1ZSBpbiBmaXJlZm94ICovXG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogbm9ybWFsaXplIGNyb3NzLWJyb3dzZXIgKi8gfVxuXG4uZmMgdGgge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZjIHRoLFxuLmZjIHRkIHtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLmZjIHRkLmZjLXRvZGF5IHtcbiAgYm9yZGVyLXN0eWxlOiBkb3VibGU7XG4gIC8qIG92ZXJjb21lIG5laWdoYm9yaW5nIGJvcmRlcnMgKi8gfVxuXG4vKiBJbnRlcm5hbCBOYXYgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmFbZGF0YS1nb3RvXSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5hW2RhdGEtZ290b106aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKiBGYWtlIFRhYmxlIFJvd3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYyAuZmMtcm93IHtcbiAgLyogZXh0cmEgcHJlY2VkZW5jZSB0byBvdmVyY29tZSB0aGVtZXMgdy8gLnVpLXdpZGdldC1jb250ZW50IGZvcmNpbmcgYSAxcHggYm9yZGVyICovXG4gIC8qIG5vIHZpc2libGUgYm9yZGVyIGJ5IGRlZmF1bHQuIGJ1dCBtYWtlIGF2YWlsYWJsZSBpZiBuZWVkIGJlIChzY3JvbGxiYXIgd2lkdGggY29tcGVuc2F0aW9uKSAqL1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDA7IH1cblxuLmZjLXJvdyB0YWJsZSB7XG4gIC8qIGRvbid0IHB1dCBsZWZ0L3JpZ2h0IGJvcmRlciBvbiBhbnl0aGluZyB3aXRoaW4gYSBmYWtlIHJvdy5cbiAgICAgdGhlIG91dGVyIHRib2R5IHdpbGwgd29ycnkgYWJvdXQgdGhpcyAqL1xuICBib3JkZXItbGVmdDogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7XG4gIC8qIG5vIGJvdHRvbSBib3JkZXJzIG9uIHJvd3MgKi9cbiAgYm9yZGVyLWJvdHRvbTogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7IH1cblxuLmZjLXJvdzpmaXJzdC1jaGlsZCB0YWJsZSB7XG4gIGJvcmRlci10b3A6IDAgaGlkZGVuIHRyYW5zcGFyZW50O1xuICAvKiBubyB0b3AgYm9yZGVyIG9uIGZpcnN0IHJvdyAqLyB9XG5cbi8qIERheSBSb3cgKHVzZWQgd2l0aGluIHRoZSBoZWFkZXIgYW5kIHRoZSBEYXlHcmlkKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXJvdyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZmMtcm93IC5mYy1iZyB7XG4gIHotaW5kZXg6IDE7IH1cblxuLyogaGlnaGxpZ2h0aW5nIGNlbGxzICYgYmFja2dyb3VuZCBldmVudCBza2VsZXRvbiAqL1xuLmZjLXJvdyAuZmMtYmdldmVudC1za2VsZXRvbixcbi5mYy1yb3cgLmZjLWhpZ2hsaWdodC1za2VsZXRvbiB7XG4gIGJvdHRvbTogMDtcbiAgLyogc3RyZXRjaCBza2VsZXRvbiB0byBib3R0b20gb2Ygcm93ICovIH1cblxuLmZjLXJvdyAuZmMtYmdldmVudC1za2VsZXRvbiB0YWJsZSxcbi5mYy1yb3cgLmZjLWhpZ2hsaWdodC1za2VsZXRvbiB0YWJsZSB7XG4gIGhlaWdodDogMTAwJTtcbiAgLyogc3RyZXRjaCBza2VsZXRvbiB0byBib3R0b20gb2Ygcm93ICovIH1cblxuLmZjLXJvdyAuZmMtaGlnaGxpZ2h0LXNrZWxldG9uIHRkLFxuLmZjLXJvdyAuZmMtYmdldmVudC1za2VsZXRvbiB0ZCB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmZjLXJvdyAuZmMtYmdldmVudC1za2VsZXRvbiB7XG4gIHotaW5kZXg6IDI7IH1cblxuLmZjLXJvdyAuZmMtaGlnaGxpZ2h0LXNrZWxldG9uIHtcbiAgei1pbmRleDogMzsgfVxuXG4vKlxucm93IGNvbnRlbnQgKHdoaWNoIGNvbnRhaW5zIGRheS93ZWVrIG51bWJlcnMgYW5kIGV2ZW50cykgYXMgd2VsbCBhcyBcImhlbHBlclwiICh3aGljaCBjb250YWluc1xudGVtcG9yYXJ5IHJlbmRlcmVkIGV2ZW50cykuXG4qL1xuLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNDtcbiAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgLyogbWF0Y2hlcyB0aGUgc3BhY2UgYWJvdmUgdGhlIGV2ZW50cyAqLyB9XG5cbi5mYy1yb3cgLmZjLWhlbHBlci1za2VsZXRvbiB7XG4gIHotaW5kZXg6IDU7IH1cblxuLmZjIC5mYy1yb3cgLmZjLWNvbnRlbnQtc2tlbGV0b24gdGFibGUsXG4uZmMgLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB0ZCxcbi5mYyAuZmMtcm93IC5mYy1oZWxwZXItc2tlbGV0b24gdGQge1xuICAvKiBzZWUtdGhyb3VnaCB0byB0aGUgYmFja2dyb3VuZCBiZWxvdyAqL1xuICAvKiBleHRyYSBwcmVjZWRlbmNlIHRvIHByZXZlbnQgdGhlbWUtcHJvdmlkZWQgYmFja2dyb3VuZHMgKi9cbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgLyogaW4gY2FzZSA8dGQ+cyBhcmUgZ2xvYmFsbHkgc3R5bGVkICovXG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB0ZCxcbi5mYy1yb3cgLmZjLWhlbHBlci1za2VsZXRvbiB0ZCB7XG4gIC8qIGRvbid0IHB1dCBhIGJvcmRlciBiZXR3ZWVuIGV2ZW50cyBhbmQvb3IgdGhlIGRheSBudW1iZXIgKi9cbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4uZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHRib2R5IHRkLFxuLmZjLXJvdyAuZmMtaGVscGVyLXNrZWxldG9uIHRib2R5IHRkIHtcbiAgLyogZG9uJ3QgcHV0IGEgYm9yZGVyIGJldHdlZW4gZXZlbnQgY2VsbHMgKi9cbiAgYm9yZGVyLXRvcDogMDsgfVxuXG4vKiBTY3JvbGxpbmcgQ29udGFpbmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtc2Nyb2xsZXIge1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cblxuLyogVE9ETzogbW92ZSB0byBhZ2VuZGEvYmFzaWMgKi9cbi5mYy1zY3JvbGxlciA+IC5mYy1kYXktZ3JpZCxcbi5mYy1zY3JvbGxlciA+IC5mYy10aW1lLWdyaWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIHJlLXNjb3BlIGFsbCBwb3NpdGlvbnMgKi9cbiAgd2lkdGg6IDEwMCU7XG4gIC8qIGhhY2sgdG8gZm9yY2UgcmUtc2l6aW5nIHRoaXMgaW5uZXIgZWxlbWVudCB3aGVuIHNjcm9sbGJhcnMgYXBwZWFyL2Rpc2FwcGVhciAqLyB9XG5cbi8qIEdsb2JhbCBFdmVudCBTdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1ldmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogZm9yIHJlc2l6ZSBoYW5kbGUgYW5kIG90aGVyIGlubmVyIHBvc2l0aW9uaW5nICovXG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvKiBtYWtlIHRoZSA8YT4gdGFnIGJsb2NrICovXG4gIGZvbnQtc2l6ZTogLjg1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzNhODdhZDtcbiAgLyogZGVmYXVsdCBCT1JERVIgY29sb3IgKi8gfVxuXG4uZmMtZXZlbnQsXG4uZmMtZXZlbnQtZG90IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhODdhZDtcbiAgLyogZGVmYXVsdCBCQUNLR1JPVU5EIGNvbG9yICovIH1cblxuLmZjLWV2ZW50LFxuLmZjLWV2ZW50OmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIC8qIGRlZmF1bHQgVEVYVCBjb2xvciAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIC8qIGlmIDxhPiBoYXMgYW4gaHJlZiAqLyB9XG5cbi5mYy1ldmVudFtocmVmXSxcbi5mYy1ldmVudC5mYy1kcmFnZ2FibGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIGdpdmUgZXZlbnRzIHdpdGggbGlua3MgYW5kIGRyYWdnYWJsZSBldmVudHMgYSBoYW5kIG1vdXNlIHBvaW50ZXIgKi8gfVxuXG4uZmMtbm90LWFsbG93ZWQsXG4uZmMtbm90LWFsbG93ZWQgLmZjLWV2ZW50IHtcbiAgLyogdG8gb3ZlcnJpZGUgYW4gZXZlbnQncyBjdXN0b20gY3Vyc29yICovXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmZjLWV2ZW50IC5mYy1iZyB7XG4gIC8qIHRoZSBnZW5lcmljIC5mYy1iZyBhbHJlYWR5IGRvZXMgcG9zaXRpb24gKi9cbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgb3BhY2l0eTogLjI1OyB9XG5cbi5mYy1ldmVudCAuZmMtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjsgfVxuXG4vKiByZXNpemVyIChjdXJzb3IgQU5EIHRvdWNoIGRldmljZXMpICovXG4uZmMtZXZlbnQgLmZjLXJlc2l6ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDQ7IH1cblxuLyogcmVzaXplciAodG91Y2ggZGV2aWNlcykgKi9cbi5mYy1ldmVudCAuZmMtcmVzaXplciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZjLWV2ZW50LmZjLWFsbG93LW1vdXNlLXJlc2l6ZSAuZmMtcmVzaXplcixcbi5mYy1ldmVudC5mYy1zZWxlY3RlZCAuZmMtcmVzaXplciB7XG4gIC8qIG9ubHkgc2hvdyB3aGVuIGhvdmVyaW5nIG9yIHNlbGVjdGVkICh3aXRoIHRvdWNoKSAqL1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBoaXQgYXJlYSAqL1xuLmZjLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1yZXNpemVyOmJlZm9yZSB7XG4gIC8qIDQweDQwIHRvdWNoIGFyZWEgKi9cbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA5OTk5O1xuICAvKiB1c2VyIG9mIHRoaXMgdXRpbCBjYW4gc2NvcGUgd2l0aGluIGEgbG93ZXIgei1pbmRleCAqL1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIG1hcmdpbi10b3A6IC0yMHB4OyB9XG5cbi8qIEV2ZW50IFNlbGVjdGlvbiAob25seSBmb3IgdG91Y2ggZGV2aWNlcylcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1ldmVudC5mYy1zZWxlY3RlZCB7XG4gIHotaW5kZXg6IDk5OTkgIWltcG9ydGFudDtcbiAgLyogb3ZlcmNvbWVzIGlubGluZSB6LWluZGV4ICovXG4gIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLmZjLWV2ZW50LmZjLXNlbGVjdGVkLmZjLWRyYWdnaW5nIHtcbiAgYm94LXNoYWRvdzogMCAycHggN3B4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4vKiBIb3Jpem9udGFsIEV2ZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogYmlnZ2VyIHRvdWNoIGFyZWEgd2hlbiBzZWxlY3RlZCAqL1xuLmZjLWgtZXZlbnQuZmMtc2VsZWN0ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAzO1xuICAvKiBiZWxvdyByZXNpemVycyAqL1xuICB0b3A6IC0xMHB4O1xuICBib3R0b206IC0xMHB4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDsgfVxuXG4vKiBldmVudHMgdGhhdCBhcmUgY29udGludWluZyB0by9mcm9tIGFub3RoZXIgd2Vlay4ga2lsbCByb3VuZGVkIGNvcm5lcnMgYW5kIGJ1dHQgdXAgYWdhaW5zdCBlZGdlICovXG4uZmMtbHRyIC5mYy1oLWV2ZW50LmZjLW5vdC1zdGFydCxcbi5mYy1ydGwgLmZjLWgtZXZlbnQuZmMtbm90LWVuZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgcGFkZGluZy1sZWZ0OiAxcHg7XG4gIC8qIHJlcGxhY2UgdGhlIGJvcmRlciB3aXRoIHBhZGRpbmcgKi9cbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgfVxuXG4uZmMtbHRyIC5mYy1oLWV2ZW50LmZjLW5vdC1lbmQsXG4uZmMtcnRsIC5mYy1oLWV2ZW50LmZjLW5vdC1zdGFydCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAxcHg7XG4gIC8qIHJlcGxhY2UgdGhlIGJvcmRlciB3aXRoIHBhZGRpbmcgKi9cbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi8qIHJlc2l6ZXIgKGN1cnNvciBBTkQgdG91Y2ggZGV2aWNlcykgKi9cbi8qIGxlZnQgcmVzaXplciAgKi9cbi5mYy1sdHIgLmZjLWgtZXZlbnQgLmZjLXN0YXJ0LXJlc2l6ZXIsXG4uZmMtcnRsIC5mYy1oLWV2ZW50IC5mYy1lbmQtcmVzaXplciB7XG4gIGN1cnNvcjogdy1yZXNpemU7XG4gIGxlZnQ6IC0xcHg7XG4gIC8qIG92ZXJjb21lIGJvcmRlciAqLyB9XG5cbi8qIHJpZ2h0IHJlc2l6ZXIgKi9cbi5mYy1sdHIgLmZjLWgtZXZlbnQgLmZjLWVuZC1yZXNpemVyLFxuLmZjLXJ0bCAuZmMtaC1ldmVudCAuZmMtc3RhcnQtcmVzaXplciB7XG4gIGN1cnNvcjogZS1yZXNpemU7XG4gIHJpZ2h0OiAtMXB4O1xuICAvKiBvdmVyY29tZSBib3JkZXIgKi8gfVxuXG4vKiByZXNpemVyIChtb3VzZSBkZXZpY2VzKSAqL1xuLmZjLWgtZXZlbnQuZmMtYWxsb3ctbW91c2UtcmVzaXplIC5mYy1yZXNpemVyIHtcbiAgd2lkdGg6IDdweDtcbiAgdG9wOiAtMXB4O1xuICAvKiBvdmVyY29tZSB0b3AgYm9yZGVyICovXG4gIGJvdHRvbTogLTFweDtcbiAgLyogb3ZlcmNvbWUgYm90dG9tIGJvcmRlciAqLyB9XG5cbi8qIHJlc2l6ZXIgKHRvdWNoIGRldmljZXMpICovXG4uZmMtaC1ldmVudC5mYy1zZWxlY3RlZCAuZmMtcmVzaXplciB7XG4gIC8qIDh4OCBsaXR0bGUgZG90ICovXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIHdpZHRoOiA2cHg7XG4gIGhlaWdodDogNnB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIC8qIHZlcnRpY2FsbHkgY2VudGVyICovXG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtNHB4OyB9XG5cbi8qIGxlZnQgcmVzaXplciAgKi9cbi5mYy1sdHIgLmZjLWgtZXZlbnQuZmMtc2VsZWN0ZWQgLmZjLXN0YXJ0LXJlc2l6ZXIsXG4uZmMtcnRsIC5mYy1oLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1lbmQtcmVzaXplciB7XG4gIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAvKiBjZW50ZXJzIHRoZSA4eDggZG90IG9uIHRoZSBsZWZ0IGVkZ2UgKi8gfVxuXG4vKiByaWdodCByZXNpemVyICovXG4uZmMtbHRyIC5mYy1oLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1lbmQtcmVzaXplcixcbi5mYy1ydGwgLmZjLWgtZXZlbnQuZmMtc2VsZWN0ZWQgLmZjLXN0YXJ0LXJlc2l6ZXIge1xuICBtYXJnaW4tcmlnaHQ6IC00cHg7XG4gIC8qIGNlbnRlcnMgdGhlIDh4OCBkb3Qgb24gdGhlIHJpZ2h0IGVkZ2UgKi8gfVxuXG4vKiBEYXlHcmlkIGV2ZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuV2UgdXNlIHRoZSBmdWxsIFwiZmMtZGF5LWdyaWQtZXZlbnRcIiBjbGFzcyBpbnN0ZWFkIG9mIHVzaW5nIGRlc2NlbmRhbnRzIGJlY2F1c2UgdGhlIGV2ZW50IHdvbid0XG5iZSBhIGRlc2NlbmRhbnQgb2YgdGhlIGdyaWQgd2hlbiBpdCBpcyBiZWluZyBkcmFnZ2VkLlxuKi9cbi5mYy1kYXktZ3JpZC1ldmVudCB7XG4gIG1hcmdpbjogMXB4IDJweCAwO1xuICAvKiBzcGFjaW5nIGJldHdlZW4gZXZlbnRzIGFuZCBlZGdlcyAqL1xuICBwYWRkaW5nOiAwIDFweDsgfVxuXG50cjpmaXJzdC1jaGlsZCA+IHRkID4gLmZjLWRheS1ncmlkLWV2ZW50IHtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICAvKiBhIGxpdHRsZSBiaXQgbW9yZSBzcGFjZSBiZWZvcmUgdGhlIGZpcnN0IGV2ZW50ICovIH1cblxuLmZjLWRheS1ncmlkLWV2ZW50LmZjLXNlbGVjdGVkOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICAvKiBzYW1lIHotaW5kZXggYXMgZmMtYmcsIGJlaGluZCB0ZXh0ICovXG4gIC8qIG92ZXJjb21lIHRoZSBib3JkZXJzICovXG4gIHRvcDogLTFweDtcbiAgcmlnaHQ6IC0xcHg7XG4gIGJvdHRvbTogLTFweDtcbiAgbGVmdDogLTFweDtcbiAgLyogZGFya2VuaW5nIGVmZmVjdCAqL1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAuMjU7IH1cblxuLmZjLWRheS1ncmlkLWV2ZW50IC5mYy1jb250ZW50IHtcbiAgLyogZm9yY2UgZXZlbnRzIHRvIGJlIG9uZS1saW5lIHRhbGwgKi9cbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uZmMtZGF5LWdyaWQtZXZlbnQgLmZjLXRpbWUge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiByZXNpemVyIChjdXJzb3IgZGV2aWNlcykgKi9cbi8qIGxlZnQgcmVzaXplciAgKi9cbi5mYy1sdHIgLmZjLWRheS1ncmlkLWV2ZW50LmZjLWFsbG93LW1vdXNlLXJlc2l6ZSAuZmMtc3RhcnQtcmVzaXplcixcbi5mYy1ydGwgLmZjLWRheS1ncmlkLWV2ZW50LmZjLWFsbG93LW1vdXNlLXJlc2l6ZSAuZmMtZW5kLXJlc2l6ZXIge1xuICBtYXJnaW4tbGVmdDogLTJweDtcbiAgLyogdG8gdGhlIGRheSBjZWxsJ3MgZWRnZSAqLyB9XG5cbi8qIHJpZ2h0IHJlc2l6ZXIgKi9cbi5mYy1sdHIgLmZjLWRheS1ncmlkLWV2ZW50LmZjLWFsbG93LW1vdXNlLXJlc2l6ZSAuZmMtZW5kLXJlc2l6ZXIsXG4uZmMtcnRsIC5mYy1kYXktZ3JpZC1ldmVudC5mYy1hbGxvdy1tb3VzZS1yZXNpemUgLmZjLXN0YXJ0LXJlc2l6ZXIge1xuICBtYXJnaW4tcmlnaHQ6IC0ycHg7XG4gIC8qIHRvIHRoZSBkYXkgY2VsbCdzIGVkZ2UgKi8gfVxuXG4vKiBFdmVudCBMaW1pdGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogXCJtb3JlXCIgbGluayB0aGF0IHJlcHJlc2VudHMgaGlkZGVuIGV2ZW50cyAqL1xuYS5mYy1tb3JlIHtcbiAgbWFyZ2luOiAxcHggM3B4O1xuICBmb250LXNpemU6IC44NWVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5hLmZjLW1vcmU6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uZmMtbGltaXRlZCB7XG4gIC8qIHJvd3MgYW5kIGNlbGxzIHRoYXQgYXJlIGhpZGRlbiBiZWNhdXNlIG9mIGEgXCJtb3JlXCIgbGluayAqL1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIHBvcG92ZXIgdGhhdCBhcHBlYXJzIHdoZW4gXCJtb3JlXCIgbGluayBpcyBjbGlja2VkICovXG4uZmMtZGF5LWdyaWQgLmZjLXJvdyB7XG4gIHotaW5kZXg6IDE7XG4gIC8qIG1ha2UgdGhlIFwibW9yZVwiIHBvcG92ZXIgb25lIGhpZ2hlciB0aGFuIHRoaXMgKi8gfVxuXG4uZmMtbW9yZS1wb3BvdmVyIHtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDIyMHB4OyB9XG5cbi5mYy1tb3JlLXBvcG92ZXIgLmZjLWV2ZW50LWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDEwcHg7IH1cblxuLyogTm93IEluZGljYXRvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLW5vdy1pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogMCBzb2xpZCByZWQ7IH1cblxuLyogVXRpbGl0aWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdW5zZWxlY3RhYmxlIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgfVxuXG4vKlxuVE9ETzogbW9yZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoaXMgZmlsZSBhbmQgY29tbW9uLmNzc1xuKi9cbi8qIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXVudGhlbWVkIHRoLFxuLmZjLXVudGhlbWVkIHRkLFxuLmZjLXVudGhlbWVkIHRoZWFkLFxuLmZjLXVudGhlbWVkIHRib2R5LFxuLmZjLXVudGhlbWVkIC5mYy1kaXZpZGVyLFxuLmZjLXVudGhlbWVkIC5mYy1yb3csXG4uZmMtdW50aGVtZWQgLmZjLWNvbnRlbnQsXG4uZmMtdW50aGVtZWQgLmZjLXBvcG92ZXIsXG4uZmMtdW50aGVtZWQgLmZjLWxpc3Qtdmlldyxcbi5mYy11bnRoZW1lZCAuZmMtbGlzdC1oZWFkaW5nIHRkIHtcbiAgYm9yZGVyLWNvbG9yOiAjZGRkOyB9XG5cbi5mYy11bnRoZW1lZCAuZmMtcG9wb3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLmZjLXVudGhlbWVkIC5mYy1kaXZpZGVyLFxuLmZjLXVudGhlbWVkIC5mYy1wb3BvdmVyIC5mYy1oZWFkZXIsXG4uZmMtdW50aGVtZWQgLmZjLWxpc3QtaGVhZGluZyB0ZCB7XG4gIGJhY2tncm91bmQ6ICNlZWU7IH1cblxuLmZjLXVudGhlbWVkIC5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgLmZjLWNsb3NlIHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLmZjLXVudGhlbWVkIHRkLmZjLXRvZGF5IHtcbiAgYmFja2dyb3VuZDogI2ZjZjhlMzsgfVxuXG4uZmMtdW50aGVtZWQgLmZjLWRpc2FibGVkLWRheSB7XG4gIGJhY2tncm91bmQ6ICNkN2Q3ZDc7XG4gIG9wYWNpdHk6IC4zOyB9XG5cbi8qIEljb25zIChpbmxpbmUgZWxlbWVudHMgd2l0aCBzdHlsZWQgdGV4dCB0aGF0IG1vY2sgYXJyb3cgaWNvbnMpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiBcIkNvdXJpZXIgTmV3XCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgLyogZG9uJ3QgYWxsb3cgYnJvd3NlciB0ZXh0LXNlbGVjdGlvbiAqL1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4vKlxuQWNjZXB0YWJsZSBmb250LWZhbWlseSBvdmVycmlkZXMgZm9yIGluZGl2aWR1YWwgaWNvbnM6XG4gIFwiQXJpYWxcIiwgc2Fucy1zZXJpZlxuICBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZlxuXG5OT1RFOiB1c2UgcGVyY2VudGFnZSBmb250IHNpemVzIG9yIGVsc2Ugb2xkIElFIGNob2tlc1xuKi9cbi5mYy1pY29uOmFmdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mYy1pY29uLWxlZnQtc2luZ2xlLWFycm93OmFmdGVyIHtcbiAgY29udGVudDogXCJcXDIwMzlcIjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMjAwJTtcbiAgdG9wOiAtNyU7IH1cblxuLmZjLWljb24tcmlnaHQtc2luZ2xlLWFycm93OmFmdGVyIHtcbiAgY29udGVudDogXCJcXDIwM0FcIjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMjAwJTtcbiAgdG9wOiAtNyU7IH1cblxuLmZjLWljb24tbGVmdC1kb3VibGUtYXJyb3c6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcQUJcIjtcbiAgZm9udC1zaXplOiAxNjAlO1xuICB0b3A6IC03JTsgfVxuXG4uZmMtaWNvbi1yaWdodC1kb3VibGUtYXJyb3c6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcQkJcIjtcbiAgZm9udC1zaXplOiAxNjAlO1xuICB0b3A6IC03JTsgfVxuXG4uZmMtaWNvbi1sZWZ0LXRyaWFuZ2xlOmFmdGVyIHtcbiAgY29udGVudDogXCJcXDI1QzRcIjtcbiAgZm9udC1zaXplOiAxMjUlO1xuICB0b3A6IDMlOyB9XG5cbi5mYy1pY29uLXJpZ2h0LXRyaWFuZ2xlOmFmdGVyIHtcbiAgY29udGVudDogXCJcXDI1QkFcIjtcbiAgZm9udC1zaXplOiAxMjUlO1xuICB0b3A6IDMlOyB9XG5cbi5mYy1pY29uLWRvd24tdHJpYW5nbGU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcMjVCQ1wiO1xuICBmb250LXNpemU6IDEyNSU7XG4gIHRvcDogMiU7IH1cblxuLmZjLWljb24teDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxEN1wiO1xuICBmb250LXNpemU6IDIwMCU7XG4gIHRvcDogNiU7IH1cblxuLyogUG9wb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXVudGhlbWVkIC5mYy1wb3BvdmVyIHtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7IH1cblxuLmZjLXVudGhlbWVkIC5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgLmZjLWNsb3NlIHtcbiAgZm9udC1zaXplOiAuOWVtO1xuICBtYXJnaW4tdG9wOiAycHg7IH1cblxuLyogTGlzdCBWaWV3XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdW50aGVtZWQgLmZjLWxpc3QtaXRlbTpob3ZlciB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7IH1cblxuLyogQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktd2lkZ2V0IC5mYy1kaXNhYmxlZC1kYXkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi8qIFBvcG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1wb3BvdmVyID4gLnVpLXdpZGdldC1oZWFkZXIgKyAudWktd2lkZ2V0LWNvbnRlbnQge1xuICBib3JkZXItdG9wOiAwO1xuICAvKiB3aGVyZSB0aGV5IG1lZXQsIGxldCB0aGUgaGVhZGVyIGhhdmUgdGhlIGJvcmRlciAqLyB9XG5cbi8qIEdsb2JhbCBFdmVudCBTdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS13aWRnZXQgLmZjLWV2ZW50IHtcbiAgLyogb3ZlcnBvd2VyIGpxdWkncyBzdHlsZXMgb24gPGE+IHRhZ3MuIFRPRE86IG1vcmUgRFJZICovXG4gIGNvbG9yOiAjZmZmO1xuICAvKiBkZWZhdWx0IFRFWFQgY29sb3IgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAvKiBpZiA8YT4gaGFzIGFuIGhyZWYgKi9cbiAgLyogdW5kbyB1aS13aWRnZXQtaGVhZGVyIGJvbGQgKi9cbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKiBUaW1lR3JpZCBheGlzIHJ1bm5pbmcgZG93biB0aGUgc2lkZSAoZm9yIGJvdGggdGhlIGFsbC1kYXkgYXJlYSBhbmQgdGhlIHNsb3QgYXJlYSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS13aWRnZXQgdGQuZmMtYXhpcyB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIC8qIG92ZXJjb21lIGJvbGQgKi8gfVxuXG4vKiBUaW1lR3JpZCBTbGF0cyAobGluZXMgdGhhdCBydW4gaG9yaXpvbnRhbGx5KVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXRpbWUtZ3JpZCAuZmMtc2xhdHMgLnVpLXdpZGdldC1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgLyogc2VlIHRocm91Z2ggdG8gZmMtYmcgKi8gfVxuXG4uZmMuZmMtYm9vdHN0cmFwMyBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5mYy5mYy1ib290c3RyYXAzIGFbZGF0YS1nb3RvXTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5mYy1ib290c3RyYXAzIGhyLmZjLWRpdmlkZXIge1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7IH1cblxuLmZjLWJvb3RzdHJhcDMgLmZjLXRvZGF5LmFsZXJ0IHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4vKiBQb3BvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtYm9vdHN0cmFwMyAuZmMtcG9wb3ZlciAucGFuZWwtYm9keSB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyogVGltZUdyaWQgU2xhdHMgKGxpbmVzIHRoYXQgcnVuIGhvcml6b250YWxseSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1ib290c3RyYXAzIC5mYy10aW1lLWdyaWQgLmZjLXNsYXRzIHRhYmxlIHtcbiAgLyogc29tZSB0aGVtZXMgaGF2ZSBiYWNrZ3JvdW5kIGNvbG9yLiBzZWUgdGhyb3VnaCB0byBzbGF0cyAqL1xuICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi5mYy5mYy1ib290c3RyYXA0IGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmZjLmZjLWJvb3RzdHJhcDQgYVtkYXRhLWdvdG9dOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmZjLWJvb3RzdHJhcDQgaHIuZmMtZGl2aWRlciB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuXG4uZmMtYm9vdHN0cmFwNCAuZmMtdG9kYXkuYWxlcnQge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5mYy1ib290c3RyYXA0IGEuZmMtZXZlbnQ6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmZjLWJvb3RzdHJhcDQgLmZjLXBvcG92ZXIuY2FyZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4vKiBQb3BvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtYm9vdHN0cmFwNCAuZmMtcG9wb3ZlciAuY2FyZC1ib2R5IHtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiBUaW1lR3JpZCBTbGF0cyAobGluZXMgdGhhdCBydW4gaG9yaXpvbnRhbGx5KVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWJvb3RzdHJhcDQgLmZjLXRpbWUtZ3JpZCAuZmMtc2xhdHMgdGFibGUge1xuICAvKiBzb21lIHRoZW1lcyBoYXZlIGJhY2tncm91bmQgY29sb3IuIHNlZSB0aHJvdWdoIHRvIHNsYXRzICovXG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLyogVG9vbGJhclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXRvb2xiYXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZjLXRvb2xiYXIuZmMtaGVhZGVyLXRvb2xiYXIge1xuICBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuLmZjLXRvb2xiYXIuZmMtZm9vdGVyLXRvb2xiYXIge1xuICBtYXJnaW4tdG9wOiAxZW07IH1cblxuLmZjLXRvb2xiYXIgLmZjLWxlZnQge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uZmMtdG9vbGJhciAuZmMtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmZjLXRvb2xiYXIgLmZjLWNlbnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiB0aGUgdGhpbmdzIHdpdGhpbiBlYWNoIGxlZnQvcmlnaHQvY2VudGVyIHNlY3Rpb24gKi9cbi5mYyAuZmMtdG9vbGJhciA+ICogPiAqIHtcbiAgLyogZXh0cmEgcHJlY2VkZW5jZSB0byBvdmVycmlkZSBidXR0b24gYm9yZGVyIG1hcmdpbnMgKi9cbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAuNzVlbTsgfVxuXG4vKiB0aGUgZmlyc3QgdGhpbmcgd2l0aGluIGVhY2ggbGVmdC9jZW50ZXIvcmlnaHQgc2VjdGlvbiAqL1xuLmZjIC5mYy10b29sYmFyID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gIC8qIGV4dHJhIHByZWNlZGVuY2UgdG8gb3ZlcnJpZGUgYnV0dG9uIGJvcmRlciBtYXJnaW5zICovXG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi8qIHRpdGxlIHRleHQgKi9cbi5mYy10b29sYmFyIGgyIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIGJ1dHRvbiBsYXllcmluZyAoZm9yIGJvcmRlciBwcmVjZWRlbmNlKSAqL1xuLmZjLXRvb2xiYXIgYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mYy10b29sYmFyIC5mYy1zdGF0ZS1ob3Zlcixcbi5mYy10b29sYmFyIC51aS1zdGF0ZS1ob3ZlciB7XG4gIHotaW5kZXg6IDI7IH1cblxuLmZjLXRvb2xiYXIgLmZjLXN0YXRlLWRvd24ge1xuICB6LWluZGV4OiAzOyB9XG5cbi5mYy10b29sYmFyIC5mYy1zdGF0ZS1hY3RpdmUsXG4uZmMtdG9vbGJhciAudWktc3RhdGUtYWN0aXZlIHtcbiAgei1pbmRleDogNDsgfVxuXG4uZmMtdG9vbGJhciBidXR0b246Zm9jdXMge1xuICB6LWluZGV4OiA1OyB9XG5cbi8qIFZpZXcgU3RydWN0dXJlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiB1bmRvIHR3aXR0ZXIgYm9vdHN0cmFwJ3MgYm94LXNpemluZyBydWxlcy4gbm9ybWFsaXplcyBwb3NpdGlvbmluZyB0ZWNobmlxdWVzICovXG4vKiBkb24ndCBkbyB0aGlzIGZvciB0aGUgdG9vbGJhciBiZWNhdXNlIHdlJ2xsIHdhbnQgYm9vdHN0cmFwIHRvIHN0eWxlIHRob3NlIGJ1dHRvbnMgYXMgc29tZSBwdCAqL1xuLmZjLXZpZXctY29udGFpbmVyICosXG4uZmMtdmlldy1jb250YWluZXIgKjpiZWZvcmUsXG4uZmMtdmlldy1jb250YWluZXIgKjphZnRlciB7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi5mYy12aWV3LFxuLmZjLXZpZXcgPiB0YWJsZSB7XG4gIC8qIHNvIGRyYWdnZWQgZWxlbWVudHMgY2FuIGJlIGFib3ZlIHRoZSB2aWV3J3MgbWFpbiBlbGVtZW50ICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuXG4vKiBCYXNpY1ZpZXdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIGRheSByb3cgc3RydWN0dXJlICovXG4uZmMtYmFzaWNXZWVrLXZpZXcgLmZjLWNvbnRlbnQtc2tlbGV0b24sXG4uZmMtYmFzaWNEYXktdmlldyAuZmMtY29udGVudC1za2VsZXRvbiB7XG4gIC8qIHRoZXJlIG1heSBiZSB3ZWVrIG51bWJlcnMgaW4gdGhlc2Ugdmlld3MsIHNvIG5vIHBhZGRpbmctdG9wICovXG4gIHBhZGRpbmctYm90dG9tOiAxZW07XG4gIC8qIGVuc3VyZSBhIHNwYWNlIGF0IGJvdHRvbSBvZiBjZWxsIGZvciB1c2VyIHNlbGVjdGluZy9jbGlja2luZyAqLyB9XG5cbi5mYy1iYXNpYy12aWV3IC5mYy1ib2R5IC5mYy1yb3cge1xuICBtaW4taGVpZ2h0OiA0ZW07XG4gIC8qIGVuc3VyZSB0aGF0IGFsbCByb3dzIGFyZSBhdCBsZWFzdCB0aGlzIHRhbGwgKi8gfVxuXG4vKiBhIFwicmlnaWRcIiByb3cgd2lsbCB0YWtlIHVwIGEgY29uc3RhbnQgYW1vdW50IG9mIGhlaWdodCBiZWNhdXNlIGNvbnRlbnQtc2tlbGV0b24gaXMgYWJzb2x1dGUgKi9cbi5mYy1yb3cuZmMtcmlnaWQge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5mYy1yb3cuZmMtcmlnaWQgLmZjLWNvbnRlbnQtc2tlbGV0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLyogd2VlayBhbmQgZGF5IG51bWJlciBzdHlsaW5nICovXG4uZmMtZGF5LXRvcC5mYy1vdGhlci1tb250aCB7XG4gIG9wYWNpdHk6IDAuMzsgfVxuXG4uZmMtYmFzaWMtdmlldyAuZmMtd2Vlay1udW1iZXIsXG4uZmMtYmFzaWMtdmlldyAuZmMtZGF5LW51bWJlciB7XG4gIHBhZGRpbmc6IDJweDsgfVxuXG4uZmMtYmFzaWMtdmlldyB0aC5mYy13ZWVrLW51bWJlcixcbi5mYy1iYXNpYy12aWV3IHRoLmZjLWRheS1udW1iZXIge1xuICBwYWRkaW5nOiAwIDJweDtcbiAgLyogY29sdW1uIGhlYWRlcnMgY2FuJ3QgaGF2ZSBhcyBtdWNoIHYgc3BhY2UgKi8gfVxuXG4uZmMtbHRyIC5mYy1iYXNpYy12aWV3IC5mYy1kYXktdG9wIC5mYy1kYXktbnVtYmVyIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5mYy1ydGwgLmZjLWJhc2ljLXZpZXcgLmZjLWRheS10b3AgLmZjLWRheS1udW1iZXIge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uZmMtbHRyIC5mYy1iYXNpYy12aWV3IC5mYy1kYXktdG9wIC5mYy13ZWVrLW51bWJlciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBib3JkZXItcmFkaXVzOiAwIDAgM3B4IDA7IH1cblxuLmZjLXJ0bCAuZmMtYmFzaWMtdmlldyAuZmMtZGF5LXRvcCAuZmMtd2Vlay1udW1iZXIge1xuICBmbG9hdDogcmlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDNweDsgfVxuXG4uZmMtYmFzaWMtdmlldyAuZmMtZGF5LXRvcCAuZmMtd2Vlay1udW1iZXIge1xuICBtaW4td2lkdGg6IDEuNWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIGNvbG9yOiAjODA4MDgwOyB9XG5cbi8qIHdoZW4gd2Vlay9kYXkgbnVtYmVyIGhhdmUgb3duIGNvbHVtbiAqL1xuLmZjLWJhc2ljLXZpZXcgdGQuZmMtd2Vlay1udW1iZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZjLWJhc2ljLXZpZXcgdGQuZmMtd2Vlay1udW1iZXIgPiAqIHtcbiAgLyogd29yayBhcm91bmQgdGhlIHdheSB3ZSBkbyBjb2x1bW4gcmVzaXppbmcgYW5kIGVuc3VyZSBhIG1pbmltdW0gd2lkdGggKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDEuMjVlbTsgfVxuXG4vKiBBZ2VuZGFWaWV3IGFsbC1kYXkgYXJlYVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWFnZW5kYS12aWV3IC5mYy1kYXktZ3JpZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgLyogc28gdGhlIFwibW9yZS4uXCIgcG9wb3ZlciB3aWxsIGJlIG92ZXIgdGhlIHRpbWUgZ3JpZCAqLyB9XG5cbi5mYy1hZ2VuZGEtdmlldyAuZmMtZGF5LWdyaWQgLmZjLXJvdyB7XG4gIG1pbi1oZWlnaHQ6IDNlbTtcbiAgLyogYWxsLWRheSBzZWN0aW9uIHdpbGwgbmV2ZXIgZ2V0IHNob3J0ZXIgdGhhbiB0aGlzICovIH1cblxuLmZjLWFnZW5kYS12aWV3IC5mYy1kYXktZ3JpZCAuZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgLyogZ2l2ZSBzcGFjZSB1bmRlcm5lYXRoIGV2ZW50cyBmb3IgY2xpY2tpbmcvc2VsZWN0aW5nIGRheXMgKi8gfVxuXG4vKiBUaW1lR3JpZCBheGlzIHJ1bm5pbmcgZG93biB0aGUgc2lkZSAoZm9yIGJvdGggdGhlIGFsbC1kYXkgYXJlYSBhbmQgdGhlIHNsb3QgYXJlYSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYyAuZmMtYXhpcyB7XG4gIC8qIC5mYyB0byBvdmVyY29tZSBkZWZhdWx0IGNlbGwgc3R5bGVzICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHBhZGRpbmc6IDAgNHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5mYy1sdHIgLmZjLWF4aXMge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uZmMtcnRsIC5mYy1heGlzIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4vKiBUaW1lR3JpZCBTdHJ1Y3R1cmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy10aW1lLWdyaWQtY29udGFpbmVyLFxuLmZjLXRpbWUtZ3JpZCB7XG4gIC8qIHNvIHNsYXRzL2JnL2NvbnRlbnQvZXRjIHBvc2l0aW9ucyBnZXQgc2NvcGVkIHdpdGhpbiBoZXJlICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuXG4uZmMtdGltZS1ncmlkIHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgLyogc28gaWYgaGVpZ2h0IHNldHRpbmcgaXMgJ2F1dG8nLCAuZmMtYmcgc3RyZXRjaGVzIHRvIGZpbGwgaGVpZ2h0ICovIH1cblxuLmZjLXRpbWUtZ3JpZCB0YWJsZSB7XG4gIC8qIGRvbid0IHB1dCBvdXRlciBib3JkZXJzIG9uIHNsYXRzL2JnL2NvbnRlbnQvZXRjICovXG4gIGJvcmRlcjogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7IH1cblxuLmZjLXRpbWUtZ3JpZCA+IC5mYy1iZyB7XG4gIHotaW5kZXg6IDE7IH1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtc2xhdHMsXG4uZmMtdGltZS1ncmlkID4gaHIge1xuICAvKiB0aGUgPGhyPiBBZ2VuZGFWaWV3IGluamVjdHMgd2hlbiBncmlkIGlzIHNob3J0ZXIgdGhhbiBzY3JvbGxlciAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7IH1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtY29udGVudC1jb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIGJlY2F1c2Ugbm93LWluZGljYXRvciBsaXZlcyBkaXJlY3RseSBpbnNpZGUgKi8gfVxuXG4uZmMtdGltZS1ncmlkIC5mYy1jb250ZW50LXNrZWxldG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAzO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi8qIGRpdnMgd2l0aGluIGEgY2VsbCB3aXRoaW4gdGhlIGZjLWNvbnRlbnQtc2tlbGV0b24gKi9cbi5mYy10aW1lLWdyaWQgLmZjLWJ1c2luZXNzLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuXG4uZmMtdGltZS1ncmlkIC5mYy1iZ2V2ZW50LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjsgfVxuXG4uZmMtdGltZS1ncmlkIC5mYy1oaWdobGlnaHQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzOyB9XG5cbi5mYy10aW1lLWdyaWQgLmZjLWV2ZW50LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNDsgfVxuXG4uZmMtdGltZS1ncmlkIC5mYy1ub3ctaW5kaWNhdG9yLWxpbmUge1xuICB6LWluZGV4OiA1OyB9XG5cbi5mYy10aW1lLWdyaWQgLmZjLWhlbHBlci1jb250YWluZXIge1xuICAvKiBhbHNvIGlzIGZjLWV2ZW50LWNvbnRhaW5lciAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDY7IH1cblxuLyogVGltZUdyaWQgU2xhdHMgKGxpbmVzIHRoYXQgcnVuIGhvcml6b250YWxseSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy10aW1lLWdyaWQgLmZjLXNsYXRzIHRkIHtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgLyogZWFjaCBjZWxsIGlzIHJlc3BvbnNpYmxlIGZvciBpdHMgdG9wIGJvcmRlciAqLyB9XG5cbi5mYy10aW1lLWdyaWQgLmZjLXNsYXRzIC5mYy1taW5vciB0ZCB7XG4gIGJvcmRlci10b3Atc3R5bGU6IGRvdHRlZDsgfVxuXG4vKiBUaW1lR3JpZCBIaWdobGlnaHRpbmcgU2xvdHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy10aW1lLWdyaWQgLmZjLWhpZ2hsaWdodC1jb250YWluZXIge1xuICAvKiBhIGRpdiB3aXRoaW4gYSBjZWxsIHdpdGhpbiB0aGUgZmMtaGlnaGxpZ2h0LXNrZWxldG9uICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogc2NvcGVzIHRoZSBsZWZ0L3JpZ2h0IG9mIHRoZSBmYy1oaWdobGlnaHQgdG8gYmUgaW4gdGhlIGNvbHVtbiAqLyB9XG5cbi5mYy10aW1lLWdyaWQgLmZjLWhpZ2hsaWdodCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIC8qIHRvcCBhbmQgYm90dG9tIHdpbGwgYmUgaW4gYnkgSlMgKi8gfVxuXG4vKiBUaW1lR3JpZCBFdmVudCBDb250YWlubWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWx0ciAuZmMtdGltZS1ncmlkIC5mYy1ldmVudC1jb250YWluZXIge1xuICAvKiBzcGFjZSBvbiB0aGUgc2lkZXMgb2YgZXZlbnRzIGZvciBMVFIgKGRlZmF1bHQpICovXG4gIG1hcmdpbjogMCAyLjUlIDAgMnB4OyB9XG5cbi5mYy1ydGwgLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQtY29udGFpbmVyIHtcbiAgLyogc3BhY2Ugb24gdGhlIHNpZGVzIG9mIGV2ZW50cyBmb3IgUlRMICovXG4gIG1hcmdpbjogMCAycHggMCAyLjUlOyB9XG5cbi5mYy10aW1lLWdyaWQgLmZjLWV2ZW50LFxuLmZjLXRpbWUtZ3JpZCAuZmMtYmdldmVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgLyogc2NvcGUgaW5uZXIgei1pbmRleCdzICovIH1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtYmdldmVudCB7XG4gIC8qIGJhY2tncm91bmQgZXZlbnRzIGFsd2F5cyBzcGFuIGZ1bGwgd2lkdGggKi9cbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLyogR2VuZXJpYyBWZXJ0aWNhbCBFdmVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXYtZXZlbnQuZmMtbm90LXN0YXJ0IHtcbiAgLyogZXZlbnRzIHRoYXQgYXJlIGNvbnRpbnVpbmcgZnJvbSBhbm90aGVyIGRheSAqL1xuICAvKiByZXBsYWNlIHNwYWNlIG1hZGUgYnkgdGhlIHRvcCBib3JkZXIgd2l0aCBwYWRkaW5nICovXG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIHBhZGRpbmctdG9wOiAxcHg7XG4gIC8qIHJlbW92ZSB0b3Agcm91bmRlZCBjb3JuZXJzICovXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5mYy12LWV2ZW50LmZjLW5vdC1lbmQge1xuICAvKiByZXBsYWNlIHNwYWNlIG1hZGUgYnkgdGhlIHRvcCBib3JkZXIgd2l0aCBwYWRkaW5nICovXG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gIC8qIHJlbW92ZSBib3R0b20gcm91bmRlZCBjb3JuZXJzICovXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi8qIFRpbWVHcmlkIEV2ZW50IFN0eWxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbldlIHVzZSB0aGUgZnVsbCBcImZjLXRpbWUtZ3JpZC1ldmVudFwiIGNsYXNzIGluc3RlYWQgb2YgdXNpbmcgZGVzY2VuZGFudHMgYmVjYXVzZSB0aGUgZXZlbnQgd29uJ3RcbmJlIGEgZGVzY2VuZGFudCBvZiB0aGUgZ3JpZCB3aGVuIGl0IGlzIGJlaW5nIGRyYWdnZWQuXG4qL1xuLmZjLXRpbWUtZ3JpZC1ldmVudCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIGRvbid0IGxldCB0aGUgYmcgZmxvdyBvdmVyIHJvdW5kZWQgY29ybmVycyAqLyB9XG5cbi5mYy10aW1lLWdyaWQtZXZlbnQuZmMtc2VsZWN0ZWQge1xuICAvKiBuZWVkIHRvIGFsbG93IHRvdWNoIHJlc2l6ZXJzIHRvIGV4dGVuZCBvdXRzaWRlIGV2ZW50J3MgYm91bmRpbmcgYm94ICovXG4gIC8qIGNvbW1vbiBmYy1zZWxlY3RlZCBzdHlsZXMgaGlkZSB0aGUgZmMtYmcsIHNvIGRvbid0IG5lZWQgdGhpcyBhbnl3YXkgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zZWxlY3RlZCAuZmMtYmcge1xuICBkaXNwbGF5OiBub25lO1xuICAvKiBoaWRlIHNlbWktd2hpdGUgYmFja2dyb3VuZCwgdG8gYXBwZWFyIGRhcmtlciAqLyB9XG5cbi5mYy10aW1lLWdyaWQtZXZlbnQgLmZjLWNvbnRlbnQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiBmb3Igd2hlbiAuZmMtc2VsZWN0ZWQgKi8gfVxuXG4uZmMtdGltZS1ncmlkLWV2ZW50IC5mYy10aW1lLFxuLmZjLXRpbWUtZ3JpZC1ldmVudCAuZmMtdGl0bGUge1xuICBwYWRkaW5nOiAwIDFweDsgfVxuXG4uZmMtdGltZS1ncmlkLWV2ZW50IC5mYy10aW1lIHtcbiAgZm9udC1zaXplOiAuODVlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiBzaG9ydCBtb2RlLCB3aGVyZSB0aW1lIGFuZCB0aXRsZSBhcmUgb24gdGhlIHNhbWUgbGluZSAqL1xuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zaG9ydCAuZmMtY29udGVudCB7XG4gIC8qIGRvbid0IHdyYXAgdG8gc2Vjb25kIGxpbmUgKG5vdyB0aGF0IGNvbnRlbnRzIHdpbGwgYmUgaW5saW5lKSAqL1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5mYy10aW1lLWdyaWQtZXZlbnQuZmMtc2hvcnQgLmZjLXRpbWUsXG4uZmMtdGltZS1ncmlkLWV2ZW50LmZjLXNob3J0IC5mYy10aXRsZSB7XG4gIC8qIHB1dCB0aGUgdGltZSBhbmQgdGl0bGUgb24gdGhlIHNhbWUgbGluZSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zaG9ydCAuZmMtdGltZSBzcGFuIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgLyogZG9uJ3QgZGlzcGxheSB0aGUgZnVsbCB0aW1lIHRleHQuLi4gKi8gfVxuXG4uZmMtdGltZS1ncmlkLWV2ZW50LmZjLXNob3J0IC5mYy10aW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1zdGFydCk7XG4gIC8qIC4uLmluc3RlYWQsIGRpc3BsYXkgb25seSB0aGUgc3RhcnQgdGltZSAqLyB9XG5cbi5mYy10aW1lLWdyaWQtZXZlbnQuZmMtc2hvcnQgLmZjLXRpbWU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcQTAtXFxBMFwiO1xuICAvKiBzZXBlcmF0ZSB3aXRoIGEgZGFzaCwgd3JhcHBlZCBpbiBuYnNwJ3MgKi8gfVxuXG4uZmMtdGltZS1ncmlkLWV2ZW50LmZjLXNob3J0IC5mYy10aXRsZSB7XG4gIGZvbnQtc2l6ZTogLjg1ZW07XG4gIC8qIG1ha2UgdGhlIHRpdGxlIHRleHQgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgdGltZSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiB1bmRvIHBhZGRpbmcgZnJvbSBhYm92ZSAqLyB9XG5cbi8qIHJlc2l6ZXIgKGN1cnNvciBkZXZpY2UpICovXG4uZmMtdGltZS1ncmlkLWV2ZW50LmZjLWFsbG93LW1vdXNlLXJlc2l6ZSAuZmMtcmVzaXplciB7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogOHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaW5lLWhlaWdodDogOHB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBzLXJlc2l6ZTsgfVxuXG4uZmMtdGltZS1ncmlkLWV2ZW50LmZjLWFsbG93LW1vdXNlLXJlc2l6ZSAuZmMtcmVzaXplcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiPVwiOyB9XG5cbi8qIHJlc2l6ZXIgKHRvdWNoIGRldmljZSkgKi9cbi5mYy10aW1lLWdyaWQtZXZlbnQuZmMtc2VsZWN0ZWQgLmZjLXJlc2l6ZXIge1xuICAvKiAxMHgxMCBkb3QgKi9cbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgLyogaG9yaXpvbnRhbGx5IGNlbnRlciAqL1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAvKiBjZW50ZXIgb24gdGhlIGJvdHRvbSBlZGdlICovXG4gIGJvdHRvbTogLTVweDsgfVxuXG4vKiBOb3cgSW5kaWNhdG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdGltZS1ncmlkIC5mYy1ub3ctaW5kaWNhdG9yLWxpbmUge1xuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi8qIGFycm93IG9uIGF4aXMgKi9cbi5mYy10aW1lLWdyaWQgLmZjLW5vdy1pbmRpY2F0b3ItYXJyb3cge1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuICAvKiB2ZXJ0aWNhbGx5IGNlbnRlciBvbiB0b3AgY29vcmRpbmF0ZSAqLyB9XG5cbi5mYy1sdHIgLmZjLXRpbWUtZ3JpZCAuZmMtbm93LWluZGljYXRvci1hcnJvdyB7XG4gIGxlZnQ6IDA7XG4gIC8qIHRyaWFuZ2xlIHBvaW50aW5nIHJpZ2h0Li4uICovXG4gIGJvcmRlci13aWR0aDogNXB4IDAgNXB4IDZweDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5mYy1ydGwgLmZjLXRpbWUtZ3JpZCAuZmMtbm93LWluZGljYXRvci1hcnJvdyB7XG4gIHJpZ2h0OiAwO1xuICAvKiB0cmlhbmdsZSBwb2ludGluZyBsZWZ0Li4uICovXG4gIGJvcmRlci13aWR0aDogNXB4IDZweCA1cHggMDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qIExpc3QgVmlld1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogcG9zc2libHkgcmV1c2FibGUgKi9cbi5mYy1ldmVudC1kb3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4vKiB2aWV3IHdyYXBwZXIgKi9cbi5mYy1ydGwgLmZjLWxpc3QtdmlldyB7XG4gIGRpcmVjdGlvbjogcnRsO1xuICAvKiB1bmxpa2UgY29yZSB2aWV3cywgbGV2ZXJhZ2UgYnJvd3NlciBSVEwgKi8gfVxuXG4uZmMtbGlzdC12aWV3IHtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7IH1cblxuLyogdGFibGUgcmVzZXRzICovXG4uZmMgLmZjLWxpc3QtdGFibGUge1xuICB0YWJsZS1sYXlvdXQ6IGF1dG87XG4gIC8qIGZvciBzaHJpbmt3cmFwcGluZyBjZWxsIGNvbnRlbnQgKi8gfVxuXG4uZmMtbGlzdC10YWJsZSB0ZCB7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgcGFkZGluZzogOHB4IDE0cHg7IH1cblxuLmZjLWxpc3QtdGFibGUgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XG5cbi8qIGRheSBoZWFkaW5ncyB3aXRoIHRoZSBsaXN0ICovXG4uZmMtbGlzdC1oZWFkaW5nIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4OyB9XG5cbi5mYy1saXN0LWhlYWRpbmcgdGQge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uZmMtbHRyIC5mYy1saXN0LWhlYWRpbmctbWFpbiB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5mYy1sdHIgLmZjLWxpc3QtaGVhZGluZy1hbHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmZjLXJ0bCAuZmMtbGlzdC1oZWFkaW5nLW1haW4ge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmZjLXJ0bCAuZmMtbGlzdC1oZWFkaW5nLWFsdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi8qIGV2ZW50IGxpc3QgaXRlbXMgKi9cbi5mYy1saXN0LWl0ZW0uZmMtaGFzLXVybCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogd2hvbGUgcm93IHdpbGwgYmUgY2xpY2thYmxlICovIH1cblxuLmZjLWxpc3QtaXRlbS1tYXJrZXIsXG4uZmMtbGlzdC1pdGVtLXRpbWUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMXB4OyB9XG5cbi8qIG1ha2UgdGhlIGRvdCBjbG9zZXIgdG8gdGhlIGV2ZW50IHRpdGxlICovXG4uZmMtbHRyIC5mYy1saXN0LWl0ZW0tbWFya2VyIHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uZmMtcnRsIC5mYy1saXN0LWl0ZW0tbWFya2VyIHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5mYy1saXN0LWl0ZW0tdGl0bGUgYSB7XG4gIC8qIGV2ZXJ5IGV2ZW50IHRpdGxlIGNlbGwgaGFzIGFuIDxhPiB0YWcgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG4uZmMtbGlzdC1pdGVtLXRpdGxlIGFbaHJlZl06aG92ZXIge1xuICAvKiBob3ZlciBlZmZlY3Qgb25seSBvbiB0aXRsZXMgd2l0aCBocmVmcyAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKiBtZXNzYWdlIHdoZW4gbm8gZXZlbnRzICovXG4uZmMtbGlzdC1lbXB0eS13cmFwMiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwOyB9XG5cbi5mYy1saXN0LWVtcHR5LXdyYXAxIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogdGFibGU7IH1cblxuLmZjLWxpc3QtZW1wdHkge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZjLXVudGhlbWVkIC5mYy1saXN0LWVtcHR5IHtcbiAgLyogdGhlbWUgd2lsbCBwcm92aWRlIG93biBiYWNrZ3JvdW5kICovXG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH1cbiIsIi5mbGF0cGlja3ItY2FsZW5kYXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgb3BhY2l0eTogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBub25lO1xuICAgICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAzMDcuODc1cHg7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAxcHggMCAwICNlNmU2ZTYsIC0xcHggMCAwICNlNmU2ZTYsIDAgMXB4IDAgI2U2ZTZlNiwgMCAtMXB4IDAgI2U2ZTZlNiwgMCAzcHggMTNweCByZ2JhKDAsMCwwLDAuMDgpO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDFweCAwIDAgI2U2ZTZlNiwgLTFweCAwIDAgI2U2ZTZlNiwgMCAxcHggMCAjZTZlNmU2LCAwIC0xcHggMCAjZTZlNmU2LCAwIDNweCAxM3B4IHJnYmEoMCwwLDAsMC4wOCk7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLm9wZW4sXG4uZmxhdHBpY2tyLWNhbGVuZGFyLmlubGluZSB7XG4gIG9wYWNpdHk6IDE7XG4gIG1heC1oZWlnaHQ6IDY0MHB4O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5vcGVuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB6LWluZGV4OiA5OTk5OTtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuYW5pbWF0ZS5vcGVuIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZwRmFkZUluRG93biAzMDBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG4gICAgICAgICAgYW5pbWF0aW9uOiBmcEZhZGVJbkRvd24gMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5pbmxpbmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDJweDtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuc3RhdGljIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDJweCk7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLnN0YXRpYy5vcGVuIHtcbiAgei1pbmRleDogOTk5O1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIubXVsdGlNb250aCAuZmxhdHBpY2tyLWRheXMgLmRheUNvbnRhaW5lcjpudGgtY2hpbGQobisxKSAuZmxhdHBpY2tyLWRheS5pblJhbmdlOm50aC1jaGlsZCg3bis3KSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIubXVsdGlNb250aCAuZmxhdHBpY2tyLWRheXMgLmRheUNvbnRhaW5lcjpudGgtY2hpbGQobisyKSAuZmxhdHBpY2tyLWRheS5pblJhbmdlOm50aC1jaGlsZCg3bisxKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogLTJweCAwIDAgI2U2ZTZlNiwgNXB4IDAgMCAjZTZlNmU2O1xuICAgICAgICAgIGJveC1zaGFkb3c6IC0ycHggMCAwICNlNmU2ZTYsIDVweCAwIDAgI2U2ZTZlNjtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIgLmhhc1dlZWtzIC5kYXlDb250YWluZXIsXG4uZmxhdHBpY2tyLWNhbGVuZGFyIC5oYXNUaW1lIC5kYXlDb250YWluZXIge1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIgLmhhc1dlZWtzIC5kYXlDb250YWluZXIge1xuICBib3JkZXItbGVmdDogMDtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuaGFzVGltZSAuZmxhdHBpY2tyLXRpbWUge1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTZlNmU2O1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5ub0NhbGVuZGFyLmhhc1RpbWUgLmZsYXRwaWNrci10aW1lIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhcjpiZWZvcmUsXG4uZmxhdHBpY2tyLWNhbGVuZGFyOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBsZWZ0OiAyMnB4O1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5yaWdodE1vc3Q6YmVmb3JlLFxuLmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd1JpZ2h0OmJlZm9yZSxcbi5mbGF0cGlja3ItY2FsZW5kYXIucmlnaHRNb3N0OmFmdGVyLFxuLmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd1JpZ2h0OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDIycHg7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93Q2VudGVyOmJlZm9yZSxcbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dDZW50ZXI6YWZ0ZXIge1xuICBsZWZ0OiA1MCU7XG4gIHJpZ2h0OiA1MCU7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGJvcmRlci13aWR0aDogNXB4O1xuICBtYXJnaW46IDAgLTVweDtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXI6YWZ0ZXIge1xuICBib3JkZXItd2lkdGg6IDRweDtcbiAgbWFyZ2luOiAwIC00cHg7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93VG9wOmJlZm9yZSxcbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dUb3A6YWZ0ZXIge1xuICBib3R0b206IDEwMCU7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93VG9wOmJlZm9yZSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNlNmU2ZTY7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93VG9wOmFmdGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dCb3R0b206YmVmb3JlLFxuLmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd0JvdHRvbTphZnRlciB7XG4gIHRvcDogMTAwJTtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dCb3R0b206YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2U2ZTZlNjtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dCb3R0b206YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjZmZmO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhcjpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG4uZmxhdHBpY2tyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5mbGF0cGlja3ItbW9udGhzIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW1vbnRoIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsMCwwLDAuOSk7XG4gIGZpbGw6IHJnYmEoMCwwLDAsMC45KTtcbiAgaGVpZ2h0OiAzNHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleDogMTtcbiAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgIGZsZXg6IDE7XG59XG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGgsXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGgge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGhlaWdodDogMzRweDtcbiAgcGFkZGluZzogMTBweDtcbiAgei1pbmRleDogMztcbiAgY29sb3I6IHJnYmEoMCwwLDAsMC45KTtcbiAgZmlsbDogcmdiYSgwLDAsMCwwLjkpO1xufVxuLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoLmZsYXRwaWNrci1kaXNhYmxlZCxcbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aC5mbGF0cGlja3ItZGlzYWJsZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoIGksXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGggaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aC5mbGF0cGlja3ItcHJldi1tb250aCxcbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aC5mbGF0cGlja3ItcHJldi1tb250aCB7XG4vKlxuICAgICAgLypydGw6YmVnaW46aWdub3JlKi9cbi8qXG4gICAgICAqL1xuICBsZWZ0OiAwO1xuLypcbiAgICAgIC8qcnRsOmVuZDppZ25vcmUqL1xuLypcbiAgICAgICovXG59XG4vKlxuICAgICAgLypydGw6YmVnaW46aWdub3JlKi9cbi8qXG4gICAgICAvKnJ0bDplbmQ6aWdub3JlKi9cbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aC5mbGF0cGlja3ItbmV4dC1tb250aCxcbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aC5mbGF0cGlja3ItbmV4dC1tb250aCB7XG4vKlxuICAgICAgLypydGw6YmVnaW46aWdub3JlKi9cbi8qXG4gICAgICAqL1xuICByaWdodDogMDtcbi8qXG4gICAgICAvKnJ0bDplbmQ6aWdub3JlKi9cbi8qXG4gICAgICAqL1xufVxuLypcbiAgICAgIC8qcnRsOmJlZ2luOmlnbm9yZSovXG4vKlxuICAgICAgLypydGw6ZW5kOmlnbm9yZSovXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGg6aG92ZXIsXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGg6aG92ZXIge1xuICBjb2xvcjogIzk1OWVhOTtcbn1cbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aDpob3ZlciBzdmcsXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGg6aG92ZXIgc3ZnIHtcbiAgZmlsbDogI2Y2NDc0Nztcbn1cbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aCBzdmcsXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGggc3ZnIHtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbn1cbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aCBzdmcgcGF0aCxcbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aCBzdmcgcGF0aCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogZmlsbCAwLjFzO1xuICB0cmFuc2l0aW9uOiBmaWxsIDAuMXM7XG4gIGZpbGw6IGluaGVyaXQ7XG59XG4ubnVtSW5wdXRXcmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG59XG4ubnVtSW5wdXRXcmFwcGVyIGlucHV0LFxuLm51bUlucHV0V3JhcHBlciBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLm51bUlucHV0V3JhcHBlciBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm51bUlucHV0V3JhcHBlciBpbnB1dDo6LW1zLWNsZWFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5udW1JbnB1dFdyYXBwZXIgaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4ubnVtSW5wdXRXcmFwcGVyIGlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4ubnVtSW5wdXRXcmFwcGVyIHNwYW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTRweDtcbiAgcGFkZGluZzogMCA0cHggMCAycHg7XG4gIGhlaWdodDogNTAlO1xuICBsaW5lLWhlaWdodDogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNTcsNTcsNTcsMC4xNSk7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjEpO1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4yKTtcbn1cbi5udW1JbnB1dFdyYXBwZXIgc3BhbjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4ubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dVcCB7XG4gIHRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd1VwOmFmdGVyIHtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCByZ2JhKDU3LDU3LDU3LDAuNik7XG4gIHRvcDogMjYlO1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93RG93biB7XG4gIHRvcDogNTAlO1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93RG93bjphZnRlciB7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiA0cHggc29saWQgcmdiYSg1Nyw1Nyw1NywwLjYpO1xuICB0b3A6IDQwJTtcbn1cbi5udW1JbnB1dFdyYXBwZXIgc3BhbiBzdmcge1xuICB3aWR0aDogaW5oZXJpdDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuIHN2ZyBwYXRoIHtcbiAgZmlsbDogcmdiYSgwLDAsMCwwLjUpO1xufVxuLm51bUlucHV0V3JhcHBlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4wNSk7XG59XG4ubnVtSW5wdXRXcmFwcGVyOmhvdmVyIHNwYW4ge1xuICBvcGFjaXR5OiAxO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIHtcbiAgZm9udC1zaXplOiAxMzUlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDc1JTtcbiAgbGVmdDogMTIuNSU7XG4gIHBhZGRpbmc6IDcuNDhweCAwIDAgMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGhlaWdodDogMzRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIHNwYW4uY3VyLW1vbnRoIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVjaDtcbiAgcGFkZGluZzogMDtcbn1cbi5mbGF0cGlja3ItY3VycmVudC1tb250aCBzcGFuLmN1ci1tb250aDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4wNSk7XG59XG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggLm51bUlucHV0V3JhcHBlciB7XG4gIHdpZHRoOiA2Y2g7XG4gIHdpZHRoOiA3Y2hcXDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5mbGF0cGlja3ItY3VycmVudC1tb250aCAubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dVcDphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwwLDAsMC45KTtcbn1cbi5mbGF0cGlja3ItY3VycmVudC1tb250aCAubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dEb3duOmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgwLDAsMCwwLjkpO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIGlucHV0LmN1ci15ZWFyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiB0ZXh0O1xuICBwYWRkaW5nOiAwIDAgMCAwLjVjaDtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdmVydGljYWwtYWxpZ246IGluaXRpYWw7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIGlucHV0LmN1ci15ZWFyOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi5mbGF0cGlja3ItY3VycmVudC1tb250aCBpbnB1dC5jdXIteWVhcltkaXNhYmxlZF0sXG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggaW5wdXQuY3VyLXllYXJbZGlzYWJsZWRdOmhvdmVyIHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBjb2xvcjogcmdiYSgwLDAsMCwwLjUpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggLmZsYXRwaWNrci1tb250aERyb3Bkb3duLW1vbnRocyB7XG4gIGFwcGVhcmFuY2U6IG1lbnVsaXN0O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXdlaWdodDogMzAwO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW46IC0xcHggMCAwIDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDAgMCAwIDAuNWNoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBpbml0aWFsO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbWVudWxpc3Q7XG4gIC1tb3otYXBwZWFyYW5jZTogbWVudWxpc3Q7XG4gIHdpZHRoOiBhdXRvO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5mbGF0cGlja3ItbW9udGhEcm9wZG93bi1tb250aHM6Zm9jdXMsXG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggLmZsYXRwaWNrci1tb250aERyb3Bkb3duLW1vbnRoczphY3RpdmUge1xuICBvdXRsaW5lOiBub25lO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5mbGF0cGlja3ItbW9udGhEcm9wZG93bi1tb250aHM6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMDUpO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5mbGF0cGlja3ItbW9udGhEcm9wZG93bi1tb250aHMgLmZsYXRwaWNrci1tb250aERyb3Bkb3duLW1vbnRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG4uZmxhdHBpY2tyLXdlZWtkYXlzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMjhweDtcbn1cbi5mbGF0cGlja3Itd2Vla2RheXMgLmZsYXRwaWNrci13ZWVrZGF5Y29udGFpbmVyIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleDogMTtcbiAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgIGZsZXg6IDE7XG59XG5zcGFuLmZsYXRwaWNrci13ZWVrZGF5IHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBmb250LXNpemU6IDkwJTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsMCwwLDAuNTQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAtd2Via2l0LWZsZXg6IDE7XG4gICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICBmbGV4OiAxO1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuLmRheUNvbnRhaW5lcixcbi5mbGF0cGlja3Itd2Vla3Mge1xuICBwYWRkaW5nOiAxcHggMCAwIDA7XG59XG4uZmxhdHBpY2tyLWRheXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHdpZHRoOiAzMDcuODc1cHg7XG59XG4uZmxhdHBpY2tyLWRheXM6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuLmRheUNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIG91dGxpbmU6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdpZHRoOiAzMDcuODc1cHg7XG4gIG1pbi13aWR0aDogMzA3Ljg3NXB4O1xuICBtYXgtd2lkdGg6IDMwNy44NzVweDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG4gIG9wYWNpdHk6IDE7XG59XG4uZGF5Q29udGFpbmVyICsgLmRheUNvbnRhaW5lciB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogLTFweCAwIDAgI2U2ZTZlNjtcbiAgICAgICAgICBib3gtc2hhZG93OiAtMXB4IDAgMCAjZTZlNmU2O1xufVxuLmZsYXRwaWNrci1kYXkge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMTUwcHg7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogIzM5MzkzOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogNDAwO1xuICB3aWR0aDogMTQuMjg1NzE0MyU7XG4gIC13ZWJraXQtZmxleC1iYXNpczogMTQuMjg1NzE0MyU7XG4gICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTQuMjg1NzE0MyU7XG4gICAgICAgICAgZmxleC1iYXNpczogMTQuMjg1NzE0MyU7XG4gIG1heC13aWR0aDogMzlweDtcbiAgaGVpZ2h0OiAzOXB4O1xuICBsaW5lLWhlaWdodDogMzlweDtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZmxhdHBpY2tyLWRheS5pblJhbmdlLFxuLmZsYXRwaWNrci1kYXkucHJldk1vbnRoRGF5LmluUmFuZ2UsXG4uZmxhdHBpY2tyLWRheS5uZXh0TW9udGhEYXkuaW5SYW5nZSxcbi5mbGF0cGlja3ItZGF5LnRvZGF5LmluUmFuZ2UsXG4uZmxhdHBpY2tyLWRheS5wcmV2TW9udGhEYXkudG9kYXkuaW5SYW5nZSxcbi5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheS50b2RheS5pblJhbmdlLFxuLmZsYXRwaWNrci1kYXk6aG92ZXIsXG4uZmxhdHBpY2tyLWRheS5wcmV2TW9udGhEYXk6aG92ZXIsXG4uZmxhdHBpY2tyLWRheS5uZXh0TW9udGhEYXk6aG92ZXIsXG4uZmxhdHBpY2tyLWRheTpmb2N1cyxcbi5mbGF0cGlja3ItZGF5LnByZXZNb250aERheTpmb2N1cyxcbi5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheTpmb2N1cyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogMDtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgYm9yZGVyLWNvbG9yOiAjZTZlNmU2O1xufVxuLmZsYXRwaWNrci1kYXkudG9kYXkge1xuICBib3JkZXItY29sb3I6ICM5NTllYTk7XG59XG4uZmxhdHBpY2tyLWRheS50b2RheTpob3Zlcixcbi5mbGF0cGlja3ItZGF5LnRvZGF5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjOTU5ZWE5O1xuICBiYWNrZ3JvdW5kOiAjOTU5ZWE5O1xuICBjb2xvcjogI2ZmZjtcbn1cbi5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLFxuLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZSxcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLFxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuaW5SYW5nZSxcbi5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2UuaW5SYW5nZSxcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLmluUmFuZ2UsXG4uZmxhdHBpY2tyLWRheS5zZWxlY3RlZDpmb2N1cyxcbi5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2U6Zm9jdXMsXG4uZmxhdHBpY2tyLWRheS5lbmRSYW5nZTpmb2N1cyxcbi5mbGF0cGlja3ItZGF5LnNlbGVjdGVkOmhvdmVyLFxuLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZTpob3Zlcixcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlOmhvdmVyLFxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQucHJldk1vbnRoRGF5LFxuLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZS5wcmV2TW9udGhEYXksXG4uZmxhdHBpY2tyLWRheS5lbmRSYW5nZS5wcmV2TW9udGhEYXksXG4uZmxhdHBpY2tyLWRheS5zZWxlY3RlZC5uZXh0TW9udGhEYXksXG4uZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLm5leHRNb250aERheSxcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLm5leHRNb250aERheSB7XG4gIGJhY2tncm91bmQ6ICM1NjlmZjc7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjNTY5ZmY3O1xufVxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZSxcbi5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2Uuc3RhcnRSYW5nZSxcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLnN0YXJ0UmFuZ2Uge1xuICBib3JkZXItcmFkaXVzOiA1MHB4IDAgMCA1MHB4O1xufVxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuZW5kUmFuZ2UsXG4uZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLmVuZFJhbmdlLFxuLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2UuZW5kUmFuZ2Uge1xuICBib3JkZXItcmFkaXVzOiAwIDUwcHggNTBweCAwO1xufVxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZSArIC5lbmRSYW5nZTpub3QoOm50aC1jaGlsZCg3bisxKSksXG4uZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLnN0YXJ0UmFuZ2UgKyAuZW5kUmFuZ2U6bm90KDpudGgtY2hpbGQoN24rMSkpLFxuLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2Uuc3RhcnRSYW5nZSArIC5lbmRSYW5nZTpub3QoOm50aC1jaGlsZCg3bisxKSkge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IC0xMHB4IDAgMCAjNTY5ZmY3O1xuICAgICAgICAgIGJveC1zaGFkb3c6IC0xMHB4IDAgMCAjNTY5ZmY3O1xufVxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZS5lbmRSYW5nZSxcbi5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2Uuc3RhcnRSYW5nZS5lbmRSYW5nZSxcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLnN0YXJ0UmFuZ2UuZW5kUmFuZ2Uge1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xufVxuLmZsYXRwaWNrci1kYXkuaW5SYW5nZSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogLTVweCAwIDAgI2U2ZTZlNiwgNXB4IDAgMCAjZTZlNmU2O1xuICAgICAgICAgIGJveC1zaGFkb3c6IC01cHggMCAwICNlNmU2ZTYsIDVweCAwIDAgI2U2ZTZlNjtcbn1cbi5mbGF0cGlja3ItZGF5LmZsYXRwaWNrci1kaXNhYmxlZCxcbi5mbGF0cGlja3ItZGF5LmZsYXRwaWNrci1kaXNhYmxlZDpob3Zlcixcbi5mbGF0cGlja3ItZGF5LnByZXZNb250aERheSxcbi5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheSxcbi5mbGF0cGlja3ItZGF5Lm5vdEFsbG93ZWQsXG4uZmxhdHBpY2tyLWRheS5ub3RBbGxvd2VkLnByZXZNb250aERheSxcbi5mbGF0cGlja3ItZGF5Lm5vdEFsbG93ZWQubmV4dE1vbnRoRGF5IHtcbiAgY29sb3I6IHJnYmEoNTcsNTcsNTcsMC4zKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5mbGF0cGlja3ItZGF5LmZsYXRwaWNrci1kaXNhYmxlZCxcbi5mbGF0cGlja3ItZGF5LmZsYXRwaWNrci1kaXNhYmxlZDpob3ZlciB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIGNvbG9yOiByZ2JhKDU3LDU3LDU3LDAuMSk7XG59XG4uZmxhdHBpY2tyLWRheS53ZWVrLnNlbGVjdGVkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAtNXB4IDAgMCAjNTY5ZmY3LCA1cHggMCAwICM1NjlmZjc7XG4gICAgICAgICAgYm94LXNoYWRvdzogLTVweCAwIDAgIzU2OWZmNywgNXB4IDAgMCAjNTY5ZmY3O1xufVxuLmZsYXRwaWNrci1kYXkuaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnJhbmdlTW9kZSAuZmxhdHBpY2tyLWRheSB7XG4gIG1hcmdpbi10b3A6IDFweDtcbn1cbi5mbGF0cGlja3Itd2Vla3dyYXBwZXIge1xuICBmbG9hdDogbGVmdDtcbn1cbi5mbGF0cGlja3Itd2Vla3dyYXBwZXIgLmZsYXRwaWNrci13ZWVrcyB7XG4gIHBhZGRpbmc6IDAgMTJweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAxcHggMCAwICNlNmU2ZTY7XG4gICAgICAgICAgYm94LXNoYWRvdzogMXB4IDAgMCAjZTZlNmU2O1xufVxuLmZsYXRwaWNrci13ZWVrd3JhcHBlciAuZmxhdHBpY2tyLXdlZWtkYXkge1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuLmZsYXRwaWNrci13ZWVrd3JhcHBlciBzcGFuLmZsYXRwaWNrci1kYXksXG4uZmxhdHBpY2tyLXdlZWt3cmFwcGVyIHNwYW4uZmxhdHBpY2tyLWRheTpob3ZlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBjb2xvcjogcmdiYSg1Nyw1Nyw1NywwLjMpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXI6IG5vbmU7XG59XG4uZmxhdHBpY2tyLWlubmVyQ29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5mbGF0cGlja3ItckNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uZmxhdHBpY2tyLXRpbWUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG91dGxpbmU6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uZmxhdHBpY2tyLXRpbWU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG4uZmxhdHBpY2tyLXRpbWUgLm51bUlucHV0V3JhcHBlciB7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleDogMTtcbiAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgIGZsZXg6IDE7XG4gIHdpZHRoOiA0MCU7XG4gIGhlaWdodDogNDBweDtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uZmxhdHBpY2tyLXRpbWUgLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93VXA6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMzkzOTM5O1xufVxuLmZsYXRwaWNrci10aW1lIC5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd0Rvd246YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjMzkzOTM5O1xufVxuLmZsYXRwaWNrci10aW1lLmhhc1NlY29uZHMgLm51bUlucHV0V3JhcHBlciB7XG4gIHdpZHRoOiAyNiU7XG59XG4uZmxhdHBpY2tyLXRpbWUudGltZTI0aHIgLm51bUlucHV0V3JhcHBlciB7XG4gIHdpZHRoOiA0OSU7XG59XG4uZmxhdHBpY2tyLXRpbWUgaW5wdXQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGhlaWdodDogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMzkzOTM5O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuLmZsYXRwaWNrci10aW1lIGlucHV0LmZsYXRwaWNrci1ob3VyIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uZmxhdHBpY2tyLXRpbWUgaW5wdXQuZmxhdHBpY2tyLW1pbnV0ZSxcbi5mbGF0cGlja3ItdGltZSBpbnB1dC5mbGF0cGlja3Itc2Vjb25kIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi5mbGF0cGlja3ItdGltZSBpbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJvcmRlcjogMDtcbn1cbi5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLXRpbWUtc2VwYXJhdG9yLFxuLmZsYXRwaWNrci10aW1lIC5mbGF0cGlja3ItYW0tcG0ge1xuICBoZWlnaHQ6IGluaGVyaXQ7XG4gIGZsb2F0OiBsZWZ0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMzOTM5Mzk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB3aWR0aDogMiU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cbi5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLWFtLXBtIHtcbiAgb3V0bGluZTogMDtcbiAgd2lkdGg6IDE4JTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uZmxhdHBpY2tyLXRpbWUgaW5wdXQ6aG92ZXIsXG4uZmxhdHBpY2tyLXRpbWUgLmZsYXRwaWNrci1hbS1wbTpob3Zlcixcbi5mbGF0cGlja3ItdGltZSBpbnB1dDpmb2N1cyxcbi5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLWFtLXBtOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2VlZTtcbn1cbi5mbGF0cGlja3ItaW5wdXRbcmVhZG9ubHldIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZwRmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZnBGYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIn5AbWF0ZXJpYWxpemVjc3MvbWF0ZXJpYWxpemUvc2Fzcy9jb21wb25lbnRzL2NvbG9yLXZhcmlhYmxlc1wiO1xuXG5AaW1wb3J0IFwiY29tcG9uZW50cy92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2ljb25zXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb2xvclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbmF2YmFyXCI7XG5cbkBpbXBvcnQgXCJ+QG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvbWF0ZXJpYWxpemVcIjtcbkBpbXBvcnQgXCJ+ZnVsbGNhbGVuZGFyL2Rpc3QvZnVsbGNhbGVuZGFyLmNzc1wiO1xuQGltcG9ydCBcIn5mbGF0cGlja3IvZGlzdC9mbGF0cGlja3IuY3NzXCI7XG5cbmEuYXNjLFxuYS5kZXNjLFxuYS5zb3J0YWJsZXtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbmEuYXNjIC5tYXRlcmlhbC1pY29ucy5yaWdodCxcbmEuZGVzYyAubWF0ZXJpYWwtaWNvbnMucmlnaHQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuXG5hLmFzYyAubWF0ZXJpYWwtaWNvbnMubGVmdCxcbmEuZGVzYyAubWF0ZXJpYWwtaWNvbnMubGVmdCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmZsYXRwaWNrci13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uZmxhdHBpY2tyLW1vbnRoIHtcbiAgaGVpZ2h0OiA2MHB4IWltcG9ydGFudDtcbn1cblxuLmV4cG9ydCB7XG4gIGZsb2F0OnJpZ2h0O1xufVxuXG4uaGlkZGVuLXJvdyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jaGVja21hcmstY29udGFpbmVyIGlucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMSFpbXBvcnRhbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLmluZGlnby10ZXh0IHtcbiAgY29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbiN0b2FzdC1jb250YWluZXIge1xuICBtaW4td2lkdGg6IDEwJTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpIHRyYW5zbGF0ZVkoNTAlKTtcbn1cblxuLmFsZXJ0LXdhcm5pbmcge1xuICBjb2xvcjogIzg1NjQwNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNjZDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZlZWJhO1xufVxuLmFsZXJ0LWRhbmdlciB7XG4gIGNvbG9yOiAjNzIxYzI0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhkN2RhO1xuICBib3JkZXItY29sb3I6ICNmNWM2Y2I7XG59XG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogLjc1cmVtIDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAuMjVyZW07XG59XG4iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIjeyRtYXRlcmlhbC1mb250LXBhdGh9TWF0ZXJpYWxJY29ucy1SZWd1bGFyLmVvdFwiKTsgLyogRm9yIElFNi04ICovXG4gIHNyYzogbG9jYWwoJ01hdGVyaWFsIEljb25zJyksXG4gIGxvY2FsKCdNYXRlcmlhbEljb25zLVJlZ3VsYXInKSxcbiAgdXJsKFwiI3skbWF0ZXJpYWwtZm9udC1wYXRofU1hdGVyaWFsSWNvbnMtUmVndWxhci53b2ZmMlwiKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybChcIiN7JG1hdGVyaWFsLWZvbnQtcGF0aH1NYXRlcmlhbEljb25zLVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKFwiI3skbWF0ZXJpYWwtZm9udC1wYXRofU1hdGVyaWFsSWNvbnMtUmVndWxhci50dGZcIikgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuXG4ubWF0ZXJpYWwtaWNvbnMge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDI0cHg7ICAvKiBQcmVmZXJyZWQgaWNvbiBzaXplICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlyZWN0aW9uOiBsdHI7XG5cbiAgLyogU3VwcG9ydCBmb3IgYWxsIFdlYktpdCBicm93c2Vycy4gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC8qIFN1cHBvcnQgZm9yIFNhZmFyaSBhbmQgQ2hyb21lLiAqL1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXG4gIC8qIFN1cHBvcnQgZm9yIEZpcmVmb3guICovXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbiAgLyogU3VwcG9ydCBmb3IgSUUuICovXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xufVxuXG4ubWF0ZXJpYWwtaWNvbnMubWQtc20geyBmb250LXNpemU6IDE4cHg7IH1cbi5tYXRlcmlhbC1pY29ucy5tZC1tZCB7IGZvbnQtc2l6ZTogMjRweDsgfVxuLm1hdGVyaWFsLWljb25zLm1kLWxnIHsgZm9udC1zaXplOiAzNnB4OyB9XG4ubWF0ZXJpYWwtaWNvbnMubWQteGwgeyBmb250LXNpemU6IDQ4cHg7IH1cblxuLyogUnVsZXMgZm9yIHVzaW5nIGljb25zIGFzIGJsYWNrIG9uIGEgbGlnaHQgYmFja2dyb3VuZC4gKi9cbi5tYXRlcmlhbC1pY29ucy5tZC1kYXJrIHsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7IH1cbi5tYXRlcmlhbC1pY29ucy5tZC1kYXJrLm1kLWluYWN0aXZlIHsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cblxuLyogUnVsZXMgZm9yIHVzaW5nIGljb25zIGFzIHdoaXRlIG9uIGEgZGFyayBiYWNrZ3JvdW5kLiAqL1xuLm1hdGVyaWFsLWljb25zLm1kLWxpZ2h0IHsgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7IH1cbi5tYXRlcmlhbC1pY29ucy5tZC1saWdodC5tZC1pbmFjdGl2ZSB7IGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7IH0iLCIuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6ICRzdWNjZXNzLWNvbG9yICFpbXBvcnRhbnQ7XG59XG4uaW5mbyB7XG4gIGJhY2tncm91bmQ6ICRpbmZvLWNvbG9yICFpbXBvcnRhbnQ7XG59XG4uZGFuZ2VyIHtcbiAgYmFja2dyb3VuZDogJGRhbmdlci1jb2xvciAhaW1wb3J0YW50O1xufVxuLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiAkd2FybmluZy1jb2xvciAhaW1wb3J0YW50O1xufVxuLm5vdGljZSB7XG4gIGJhY2tncm91bmQ6ICRub3RpY2UtY29sb3IgIWltcG9ydGFudDtcbn1cblxuLmVuYWJsZSB7XG4gIGJhY2tncm91bmQ6ICRlbmFibGUtY29sb3IgIWltcG9ydGFudDtcbn1cblxuLmRpc2FibGUge1xuICBiYWNrZ3JvdW5kOiAkZGlzYWJsZS1jb2xvciAhaW1wb3J0YW50O1xufVxuIiwiaGVhZGVyLCBtYWluLCBmb290ZXIge1xuICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDk5MnB4KSB7XG4gIGhlYWRlciwgbWFpbiwgZm9vdGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLnNpZGVuYXYge1xuICB3aWR0aDogMzAwcHg7XG59IiwiLy8gQ29sb3IgQ2xhc3Nlc1xuXG5AZWFjaCAkY29sb3JfbmFtZSwgJGNvbG9yIGluICRjb2xvcnMge1xuICBAZWFjaCAkY29sb3JfdHlwZSwgJGNvbG9yX3ZhbHVlIGluICRjb2xvciB7XG4gICAgQGlmICRjb2xvcl90eXBlID09IFwiYmFzZVwiIHtcbiAgICAgIC4jeyRjb2xvcl9uYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl92YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLiN7JGNvbG9yX25hbWV9LXRleHQge1xuICAgICAgICBjb2xvcjogJGNvbG9yX3ZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2xvcl9uYW1lICE9IFwic2hhZGVzXCIge1xuICAgICAgLiN7JGNvbG9yX25hbWV9LiN7JGNvbG9yX3R5cGV9IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3ZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuI3skY29sb3JfbmFtZX0tdGV4dC50ZXh0LSN7JGNvbG9yX3R5cGV9IHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl92YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTaGFkZSBjbGFzc2VzXG5AZWFjaCAkY29sb3IsICRjb2xvcl92YWx1ZSBpbiAkc2hhZGVzIHtcbiAgLiN7JGNvbG9yfSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3ZhbHVlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLiN7JGNvbG9yfS10ZXh0IHtcbiAgICBjb2xvcjogJGNvbG9yX3ZhbHVlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHY3LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4geyAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctIGFuZCBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzLCAvKiAxICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhpZGRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLy9EZWZhdWx0IHN0eWxlc1xuXG5odG1sIHtcbiBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjaztcbn1cblxudWwge1xuICAmOm5vdCguYnJvd3Nlci1kZWZhdWx0KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICYgPiBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbmEge1xuXHRjb2xvcjogJGxpbmstY29sb3I7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAvLyBHZXRzIHJpZCBvZiB0YXAgYWN0aXZlIHN0YXRlXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cblxuLy8gUG9zaXRpb25pbmdcbi52YWxpZ24td3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cblxuLy8gY2xhc3NpYyBjbGVhcmZpeFxuLmNsZWFyZml4IHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cblxuLy8gWi1sZXZlbHNcbi56LWRlcHRoLTAge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIDJkcCBlbGV2YXRpb24gbW9kaWZpZWQqL1xuLnotZGVwdGgtMSB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwwLDAsMC4xNCksXG4gICAgICAgICAgICAgIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwwLDAsMC4xMiksXG4gICAgICAgICAgICAgIDAgMXB4IDVweCAwIHJnYmEoMCwwLDAsMC4yKTtcbn1cbi56LWRlcHRoLTEtaGFsZiB7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDdweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDFweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLyogNmRwIGVsZXZhdGlvbiBtb2RpZmllZCovXG4uei1kZXB0aC0yIHtcbiAgYm94LXNoYWRvdzogMCA0cHggNXB4IDAgcmdiYSgwLDAsMCwwLjE0KSxcbiAgICAgICAgICAgICAgMCAxcHggMTBweCAwIHJnYmEoMCwwLDAsMC4xMiksXG4gICAgICAgICAgICAgIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwwLDAsMC4zKTtcbn1cblxuLyogMTJkcCBlbGV2YXRpb24gbW9kaWZpZWQqL1xuLnotZGVwdGgtMyB7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDE3cHggMnB4IHJnYmEoMCwwLDAsMC4xNCksXG4gICAgICAgICAgICAgIDAgM3B4IDE0cHggMnB4IHJnYmEoMCwwLDAsMC4xMiksXG4gICAgICAgICAgICAgIDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLyogMTZkcCBlbGV2YXRpb24gKi9cbi56LWRlcHRoLTQge1xuICBib3gtc2hhZG93OiAwIDE2cHggMjRweCAycHggcmdiYSgwLDAsMCwwLjE0KSxcbiAgICAgICAgICAgICAgMCA2cHggMzBweCA1cHggcmdiYSgwLDAsMCwwLjEyKSxcbiAgICAgICAgICAgICAgMCA4cHggMTBweCAtN3B4IHJnYmEoMCwwLDAsMC4yKTtcbn1cblxuLyogMjRkcCBlbGV2YXRpb24gKi9cbi56LWRlcHRoLTUge1xuICBib3gtc2hhZG93OiAwIDI0cHggMzhweCAzcHggcmdiYSgwLDAsMCwwLjE0KSxcbiAgICAgICAgICAgICAgMCA5cHggNDZweCA4cHggcmdiYSgwLDAsMCwwLjEyKSxcbiAgICAgICAgICAgICAgMCAxMXB4IDE1cHggLTdweCByZ2JhKDAsMCwwLDAuMik7XG59XG5cbi5ob3ZlcmFibGUge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4yNXM7XG5cbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMTdweCAwIHJnYmEoMCwgMCwgMCwgMC4yKSwgMCA2cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xOSk7XG4gIH1cbn1cblxuLy8gRGl2aWRlcnNcblxuLmRpdmlkZXIge1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJncmV5XCIsIFwibGlnaHRlbi0yXCIpO1xufVxuXG5cbi8vICBCbG9ja3F1b3RlXG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDIwcHggMDtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJHByaW1hcnktY29sb3I7XG59XG5cbi8vIEljb24gU3R5bGVzXG5cbmkge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcblxuICAmLmxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgfVxuICAmLnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIH1cbiAgJi50aW55IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbiAgJi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG4gICYubWVkaXVtIHtcbiAgICBmb250LXNpemU6IDRyZW07XG4gIH1cbiAgJi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiA2cmVtO1xuICB9XG59XG5cbi8vIEltYWdlc1xuaW1nLnJlc3BvbnNpdmUtaW1nLFxudmlkZW8ucmVzcG9uc2l2ZS12aWRlbyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFBhZ2luYXRpb25cblxuLnBhZ2luYXRpb24ge1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGhlaWdodDogMzBweDtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIH1cblxuICAgICYuYWN0aXZlIGEgeyBjb2xvcjogI2ZmZjsgfVxuXG4gICAgJi5hY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjsgfVxuXG4gICAgJi5kaXNhYmxlZCBhIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgIH1cblxuICAgIGkge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgIH1cbiAgfVxuXG5cbiAgbGkucGFnZXMgdWwgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuQG1lZGlhICN7JG1lZGl1bS1hbmQtZG93bn0ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBsaS5wcmV2LFxuICAgIGxpLm5leHQge1xuICAgICAgd2lkdGg6IDEwJTtcbiAgICB9XG5cbiAgICBsaS5wYWdlcyB7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICB9XG59XG5cbi8vIEJyZWFkY3J1bWJzXG4uYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxOHB4O1xuICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwgLjcpO1xuXG4gIGksXG4gIFtjbGFzc149XCJtZGktXCJdLCBbY2xhc3MqPVwibWRpLVwiXSxcbiAgaS5tYXRlcmlhbC1pY29ucyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFxFNUNDJztcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwgLjcpO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBtYXJnaW46IDAgMTBweCAwIDhweDtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxufVxuXG4vLyBQYXJhbGxheFxuLnBhcmFsbGF4LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiA1MDBweDtcblxuICAucGFyYWxsYXgge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogLTE7XG5cbiAgICBpbWcge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUHVzaHBpblxuLnBpbi10b3AsIC5waW4tYm90dG9tIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnBpbm5lZCB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG4gIFRyYW5zaXRpb24gQ2xhc3Nlc1xuKioqKioqKioqKioqKioqKioqKioqKi9cblxudWwuc3RhZ2dlcmVkLWxpc3QgbGkge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uZmFkZS1pbiB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKipcbiAgTWVkaWEgUXVlcnkgQ2xhc3Nlc1xuKioqKioqKioqKioqKioqKioqKioqKi9cbi5oaWRlLW9uLXNtYWxsLW9ubHksIC5oaWRlLW9uLXNtYWxsLWFuZC1kb3duIHtcbiAgQG1lZGlhICN7JHNtYWxsLWFuZC1kb3dufSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4uaGlkZS1vbi1tZWQtYW5kLWRvd24ge1xuICBAbWVkaWEgI3skbWVkaXVtLWFuZC1kb3dufSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4uaGlkZS1vbi1tZWQtYW5kLXVwIHtcbiAgQG1lZGlhICN7JG1lZGl1bS1hbmQtdXB9IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5oaWRlLW9uLW1lZC1vbmx5IHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc21hbGwtc2NyZWVuLXVwKSBhbmQgKG1heC13aWR0aDogJG1lZGl1bS1zY3JlZW4pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5oaWRlLW9uLWxhcmdlLW9ubHkge1xuICBAbWVkaWEgI3skbGFyZ2UtYW5kLXVwfSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4uaGlkZS1vbi1leHRyYS1sYXJnZS1vbmx5IHtcbiAgQG1lZGlhICN7JGV4dHJhLWxhcmdlLWFuZC11cH0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnNob3ctb24tZXh0cmEtbGFyZ2Uge1xuICBAbWVkaWEgI3skZXh0cmEtbGFyZ2UtYW5kLXVwfSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnNob3ctb24tbGFyZ2Uge1xuICBAbWVkaWEgI3skbGFyZ2UtYW5kLXVwfSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnNob3ctb24tbWVkaXVtIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc21hbGwtc2NyZWVuLXVwKSBhbmQgKG1heC13aWR0aDogJG1lZGl1bS1zY3JlZW4pIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4uc2hvdy1vbi1zbWFsbCB7XG4gIEBtZWRpYSAjeyRzbWFsbC1hbmQtZG93bn0ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5zaG93LW9uLW1lZGl1bS1hbmQtdXAge1xuICBAbWVkaWEgI3skbWVkaXVtLWFuZC11cH0ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5zaG93LW9uLW1lZGl1bS1hbmQtZG93biB7XG4gIEBtZWRpYSAjeyRtZWRpdW0tYW5kLWRvd259IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLy8gQ2VudGVyIHRleHQgb24gbW9iaWxlXG4uY2VudGVyLW9uLXNtYWxsLW9ubHkge1xuICBAbWVkaWEgI3skc21hbGwtYW5kLWRvd259IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLy8gRm9vdGVyXG4ucGFnZS1mb290ZXIge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgY29sb3I6ICRmb290ZXItZm9udC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1iZy1jb2xvcjtcblxuICAuZm9vdGVyLWNvcHlyaWdodCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMTBweCAwcHg7XG4gICAgY29sb3I6ICRmb290ZXItY29weXJpZ2h0LWZvbnQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1jb3B5cmlnaHQtYmctY29sb3I7XG4gIH1cbn1cblxuLy8gVGFibGVzXG50YWJsZSwgdGgsIHRkIHtcbiAgIGJvcmRlcjogbm9uZTtcbn1cblxudGFibGUge1xuICB3aWR0aDoxMDAlO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG5cbiAgJi5zdHJpcGVkIHtcbiAgICB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgID4gdGJvZHkgPiB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLmhpZ2hsaWdodCA+IHRib2R5ID4gdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjI1cyBlYXNlO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJi5jZW50ZXJlZCB7XG4gICAgdGhlYWQgdHIgdGgsIHRib2R5IHRyIHRkIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cblxudHIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbn1cblxudGQsIHRoe1xuICBwYWRkaW5nOiAxNXB4IDVweDtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gUmVzcG9uc2l2ZSBUYWJsZVxuQG1lZGlhICN7JG1lZGl1bS1hbmQtZG93bn0ge1xuXG4gIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgdGQ6ZW1wdHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYTAnO1xuICAgIH1cblxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuXG4gICAgdGggeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgdHIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDtcblxuICAgICAgICB0aDo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlxcMDBhMFwiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRib2R5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgdHIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB9XG4gICAgfVxuICAgIHRoIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICAgIHRkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWluLWhlaWdodDogMS4yNWVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB9XG5cbiAgICAvKiBzb3J0IG91dCBib3JkZXJzICovXG4gICAgdGhlYWQge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxufVxuXG5cbi8vIFJlc3BvbnNpdmUgVmlkZW9zXG4udmlkZW8tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGlmcmFtZSwgb2JqZWN0LCBlbWJlZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxufVxuXG4vLyBQcm9ncmVzcyBCYXJcbi5wcm9ncmVzcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogNHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJHByb2dyZXNzLWJhci1jb2xvciwgNDAlKTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgbWFyZ2luOiAkZWxlbWVudC10b3AtbWFyZ2luIDAgJGVsZW1lbnQtYm90dG9tLW1hcmdpbiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIC5kZXRlcm1pbmF0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIC4zcyBsaW5lYXI7XG4gIH1cbiAgLmluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItY29sb3I7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDowO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lsbC1jaGFuZ2U6IGxlZnQsIHJpZ2h0O1xuICAgICAgLy8gQ3VzdG9tIGJlemllclxuICAgICAgYW5pbWF0aW9uOiBpbmRldGVybWluYXRlIDIuMXMgY3ViaWMtYmV6aWVyKDAuNjUwLCAwLjgxNSwgMC43MzUsIDAuMzk1KSBpbmZpbml0ZTtcblxuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6MDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpbGwtY2hhbmdlOiBsZWZ0LCByaWdodDtcbiAgICAgIC8vIEN1c3RvbSBiZXppZXJcbiAgICAgIGFuaW1hdGlvbjogaW5kZXRlcm1pbmF0ZS1zaG9ydCAyLjFzIGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCkgaW5maW5pdGU7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IDEuMTVzO1xuICAgIH1cbiAgfVxufVxuQGtleWZyYW1lcyBpbmRldGVybWluYXRlIHtcbiAgICAwJSB7XG4gICAgICBsZWZ0OiAtMzUlO1xuICAgICAgcmlnaHQ6MTAwJTtcbiAgICB9XG4gICAgNjAlIHtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICByaWdodDogLTkwJTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgICAgcmlnaHQ6IC05MCU7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGluZGV0ZXJtaW5hdGUtc2hvcnQge1xuICAgIDAlIHtcbiAgICAgIGxlZnQ6IC0yMDAlO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIDYwJSB7XG4gICAgICBsZWZ0OiAxMDclO1xuICAgICAgcmlnaHQ6IC04JTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBsZWZ0OiAxMDclO1xuICAgICAgcmlnaHQ6IC04JTtcbiAgICB9XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKipcbiAgVXRpbGl0eSBDbGFzc2VzXG4qKioqKioqKioqKioqKioqKioqL1xuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gVGV4dCBBbGlnblxuLmxlZnQtYWxpZ24ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnJpZ2h0LWFsaWduIHtcbiAgdGV4dC1hbGlnbjogcmlnaHRcbn1cbi5jZW50ZXIsIC5jZW50ZXItYWxpZ24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cbi5yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4vLyBObyBUZXh0IFNlbGVjdFxuLm5vLXNlbGVjdCB7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4uY2VudGVyLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi50cnVuY2F0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLm5vLXBhZGRpbmcge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWF0ZXJpYWxpemUgdmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAxLiBDb2xvcnNcbi8vICAyLiBCYWRnZXNcbi8vICAzLiBCdXR0b25zXG4vLyAgNC4gQ2FyZHNcbi8vICA1LiBDYXJvdXNlbFxuLy8gIDYuIENvbGxhcHNpYmxlXG4vLyAgNy4gQ2hpcHNcbi8vICA4LiBEYXRlICsgVGltZSBQaWNrZXJcbi8vICA5LiBEcm9wZG93blxuLy8gIDEwLiBGb3Jtc1xuLy8gIDExLiBHbG9iYWxcbi8vICAxMi4gR3JpZFxuLy8gIDEzLiBOYXZpZ2F0aW9uIEJhclxuLy8gIDE0LiBTaWRlIE5hdmlnYXRpb25cbi8vICAxNS4gUGhvdG8gU2xpZGVyXG4vLyAgMTYuIFNwaW5uZXJzIHwgTG9hZGVyc1xuLy8gIDE3LiBUYWJzXG4vLyAgMTguIFRhYmxlc1xuLy8gIDE5LiBUb2FzdHNcbi8vICAyMC4gVHlwb2dyYXBoeVxuLy8gIDIxLiBGb290ZXJcbi8vICAyMi4gRmxvdyBUZXh0XG4vLyAgMjMuIENvbGxlY3Rpb25zXG4vLyAgMjQuIFByb2dyZXNzIEJhclxuXG5cblxuLy8gMS4gQ29sb3JzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AdXNlIFwic2FzczptYXRoXCI7XG5cbiRwcmltYXJ5LWNvbG9yOiBjb2xvcihcIm1hdGVyaWFsaXplLXJlZFwiLCBcImxpZ2h0ZW4tMlwiKSAhZGVmYXVsdDtcbiRwcmltYXJ5LWNvbG9yLWxpZ2h0OiBsaWdodGVuKCRwcmltYXJ5LWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJHByaW1hcnktY29sb3ItZGFyazogZGFya2VuKCRwcmltYXJ5LWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuXG4kc2Vjb25kYXJ5LWNvbG9yOiBjb2xvcihcInRlYWxcIiwgXCJsaWdodGVuLTFcIikgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1jb2xvcjogY29sb3IoXCJncmVlblwiLCBcImJhc2VcIikgIWRlZmF1bHQ7XG4kZXJyb3ItY29sb3I6IGNvbG9yKFwicmVkXCIsIFwiYmFzZVwiKSAhZGVmYXVsdDtcbiRsaW5rLWNvbG9yOiBjb2xvcihcImxpZ2h0LWJsdWVcIiwgXCJkYXJrZW4tMVwiKSAhZGVmYXVsdDtcblxuXG4vLyAyLiBCYWRnZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRiYWRnZS1iZy1jb2xvcjogJHNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRiYWRnZS1oZWlnaHQ6IDIycHggIWRlZmF1bHQ7XG5cblxuLy8gMy4gQnV0dG9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gU2hhcmVkIHN0eWxlc1xuJGJ1dHRvbi1ib3JkZXI6IG5vbmUgIWRlZmF1bHQ7XG4kYnV0dG9uLWJhY2tncm91bmQtZm9jdXM6IGxpZ2h0ZW4oJHNlY29uZGFyeS1jb2xvciwgNCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXNpemU6IDE0cHggIWRlZmF1bHQ7XG4kYnV0dG9uLWljb24tZm9udC1zaXplOiAxLjNyZW0gIWRlZmF1bHQ7XG4kYnV0dG9uLWhlaWdodDogMzZweCAhZGVmYXVsdDtcbiRidXR0b24tcGFkZGluZzogMCAxNnB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1yYWRpdXM6IDJweCAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZWQgc3R5bGVzXG4kYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQ6ICNERkRGREYgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWNvbG9yOiAjOUY5RjlGICFkZWZhdWx0O1xuXG4vLyBSYWlzZWQgYnV0dG9uc1xuJGJ1dHRvbi1yYWlzZWQtYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcmFpc2VkLWJhY2tncm91bmQtaG92ZXI6IGxpZ2h0ZW4oJGJ1dHRvbi1yYWlzZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1yYWlzZWQtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG5cbi8vIExhcmdlIGJ1dHRvbnNcbiRidXR0b24tbGFyZ2UtZm9udC1zaXplOiAxNXB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1pY29uLWZvbnQtc2l6ZTogMS42cmVtICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1oZWlnaHQ6ICRidXR0b24taGVpZ2h0ICogMS41ICFkZWZhdWx0O1xuJGJ1dHRvbi1mbG9hdGluZy1sYXJnZS1zaXplOiA1NnB4ICFkZWZhdWx0O1xuXG4vLyBTbWFsbCBidXR0b25zXG4kYnV0dG9uLXNtYWxsLWZvbnQtc2l6ZTogMTNweCAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtaWNvbi1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtaGVpZ2h0OiAkYnV0dG9uLWhlaWdodCAqIC45ICFkZWZhdWx0O1xuJGJ1dHRvbi1mbG9hdGluZy1zbWFsbC1zaXplOiAkYnV0dG9uLWhlaWdodCAqIC45ICFkZWZhdWx0O1xuXG4vLyBGbGF0IGJ1dHRvbnNcbiRidXR0b24tZmxhdC1jb2xvcjogIzM0MzQzNCAhZGVmYXVsdDtcbiRidXR0b24tZmxhdC1kaXNhYmxlZC1jb2xvcjogbGlnaHRlbigjOTk5LCAxMCUpICFkZWZhdWx0O1xuXG4vLyBGbG9hdGluZyBidXR0b25zXG4kYnV0dG9uLWZsb2F0aW5nLWJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWZsb2F0aW5nLWJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tZmxvYXRpbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZmxvYXRpbmctY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kYnV0dG9uLWZsb2F0aW5nLXNpemU6IDQwcHggIWRlZmF1bHQ7XG4kYnV0dG9uLWZsb2F0aW5nLXJhZGl1czogNTAlICFkZWZhdWx0O1xuXG5cbi8vIDQuIENhcmRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY2FyZC1wYWRkaW5nOiAyNHB4ICFkZWZhdWx0O1xuJGNhcmQtYmctY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kY2FyZC1saW5rLWNvbG9yOiBjb2xvcihcIm9yYW5nZVwiLCBcImFjY2VudC0yXCIpICFkZWZhdWx0O1xuJGNhcmQtbGluay1jb2xvci1saWdodDogbGlnaHRlbigkY2FyZC1saW5rLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuXG5cbi8vIDUuIENhcm91c2VsXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY2Fyb3VzZWwtaGVpZ2h0OiA0MDBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pdGVtLWhlaWdodDogJGNhcm91c2VsLWhlaWdodCAqIDAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pdGVtLXdpZHRoOiAkY2Fyb3VzZWwtaXRlbS1oZWlnaHQgIWRlZmF1bHQ7XG5cblxuLy8gNi4gQ29sbGFwc2libGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb2xsYXBzaWJsZS1oZWlnaHQ6IDNyZW0gIWRlZmF1bHQ7XG4kY29sbGFwc2libGUtbGluZS1oZWlnaHQ6ICRjb2xsYXBzaWJsZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY29sbGFwc2libGUtaGVhZGVyLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGNvbGxhcHNpYmxlLWJvcmRlci1jb2xvcjogI2RkZCAhZGVmYXVsdDtcblxuXG4vLyA3LiBDaGlwc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNoaXAtYmctY29sb3I6ICNlNGU0ZTQgIWRlZmF1bHQ7XG4kY2hpcC1ib3JkZXItY29sb3I6ICM5ZTllOWUgIWRlZmF1bHQ7XG4kY2hpcC1zZWxlY3RlZC1jb2xvcjogIzI2YTY5YSAhZGVmYXVsdDtcbiRjaGlwLW1hcmdpbjogNXB4ICFkZWZhdWx0O1xuXG5cbi8vIDguIERhdGUgKyBUaW1lIFBpY2tlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRhdGVwaWNrZXItZGlzcGxheS1mb250LXNpemU6IDIuOHJlbTtcbiRkYXRlcGlja2VyLWNhbGVuZGFyLWhlYWRlci1jb2xvcjogIzk5OTtcbiRkYXRlcGlja2VyLXdlZWtkYXktY29sb3I6IHJnYmEoMCwgMCwgMCwgLjg3KSAhZGVmYXVsdDtcbiRkYXRlcGlja2VyLXdlZWtkYXktYmc6IGRhcmtlbigkc2Vjb25kYXJ5LWNvbG9yLCA3JSkgIWRlZmF1bHQ7XG4kZGF0ZXBpY2tlci1kYXRlLWJnOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGRhdGVwaWNrZXIteWVhcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNykgIWRlZmF1bHQ7XG4kZGF0ZXBpY2tlci1mb2N1czogcmdiYSgwLDAsMCwgLjA1KSAhZGVmYXVsdDtcbiRkYXRlcGlja2VyLXNlbGVjdGVkOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGRhdGVwaWNrZXItc2VsZWN0ZWQtb3V0Zm9jdXM6IGRlc2F0dXJhdGUobGlnaHRlbigkc2Vjb25kYXJ5LWNvbG9yLCAzNSUpLCAxNSUpICFkZWZhdWx0O1xuJGRhdGVwaWNrZXItZGF5LWZvY3VzOiB0cmFuc3BhcmVudGl6ZShkZXNhdHVyYXRlKCRzZWNvbmRhcnktY29sb3IsIDUlKSwgLjc1KSAhZGVmYXVsdDtcbiRkYXRlcGlja2VyLWRpc2FibGVkLWRheS1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMykgIWRlZmF1bHQ7XG5cbiR0aW1lcGlja2VyLWNsb2NrLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC44NykgIWRlZmF1bHQ7XG4kdGltZXBpY2tlci1jbG9jay1wbGF0ZS1iZzogI2VlZSAhZGVmYXVsdDtcblxuXG4vLyA5LiBEcm9wZG93blxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRyb3Bkb3duLWJnLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGRyb3Bkb3duLWhvdmVyLWJnLWNvbG9yOiAjZWVlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0taGVpZ2h0OiA1MHB4ICFkZWZhdWx0O1xuXG5cbi8vIDEwLiBGb3Jtc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gVGV4dCBJbnB1dHMgKyBUZXh0YXJlYVxuJGlucHV0LWhlaWdodDogM3JlbSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6IGNvbG9yKFwiZ3JleVwiLCBcImJhc2VcIikgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAjZmZmICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLWNvbG9yOiAkZXJyb3ItY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtc3VjY2Vzcy1jb2xvcjogJHN1Y2Nlc3MtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICRzZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJGlucHV0LW1hcmdpbi1ib3R0b206IDhweDtcbiRpbnB1dC1tYXJnaW46IDAgMCAkaW5wdXQtbWFyZ2luLWJvdHRvbSAwICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC1zaXplOiAuOHJlbSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1jb2xvcjogcmdiYSgwLDAsMCwgLjQyKSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1zb2xpZC1jb2xvcjogIzk0OTQ5NCAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1ib3JkZXI6IDFweCBkb3R0ZWQgJGlucHV0LWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWludmFsaWQtYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWVycm9yLWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWljb24tc2l6ZTogMnJlbTtcbiRwbGFjZWhvbGRlci10ZXh0LWNvbG9yOiBsaWdodGVuKCRpbnB1dC1ib3JkZXItY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG5cbi8vIFJhZGlvIEJ1dHRvbnNcbiRyYWRpby1maWxsLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHJhZGlvLWVtcHR5LWNvbG9yOiAjNWE1YTVhICFkZWZhdWx0O1xuJHJhZGlvLWJvcmRlcjogMnB4IHNvbGlkICRyYWRpby1maWxsLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBSYW5nZVxuJHJhbmdlLWhlaWdodDogMTRweCAhZGVmYXVsdDtcbiRyYW5nZS13aWR0aDogMTRweCAhZGVmYXVsdDtcbiR0cmFjay1oZWlnaHQ6IDNweCAhZGVmYXVsdDtcblxuLy8gU2VsZWN0XG4kc2VsZWN0LWJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjIgIWRlZmF1bHQ7XG4kc2VsZWN0LWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45MCkgIWRlZmF1bHQ7XG4kc2VsZWN0LWZvY3VzOiAxcHggc29saWQgbGlnaHRlbigkc2Vjb25kYXJ5LWNvbG9yLCA0NyUpICFkZWZhdWx0O1xuJHNlbGVjdC1vcHRpb24taG92ZXI6IHJnYmEoMCwwLDAsLjA4KSAhZGVmYXVsdDtcbiRzZWxlY3Qtb3B0aW9uLWZvY3VzOiByZ2JhKDAsMCwwLC4wOCkgIWRlZmF1bHQ7XG4kc2VsZWN0LW9wdGlvbi1zZWxlY3RlZDogcmdiYSgwLDAsMCwuMDMpICFkZWZhdWx0O1xuJHNlbGVjdC1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kc2VsZWN0LXJhZGl1czogMnB4ICFkZWZhdWx0O1xuJHNlbGVjdC1kaXNhYmxlZC1jb2xvcjogcmdiYSgwLDAsMCwuMykgIWRlZmF1bHQ7XG5cbi8vIFN3aXRjaGVzXG4kc3dpdGNoLWJnLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHN3aXRjaC1jaGVja2VkLWxldmVyLWJnOiBkZXNhdHVyYXRlKGxpZ2h0ZW4oJHN3aXRjaC1iZy1jb2xvciwgMjUlKSwgMjUlKSAhZGVmYXVsdDtcbiRzd2l0Y2gtdW5jaGVja2VkLWJnOiAjRjFGMUYxICFkZWZhdWx0O1xuJHN3aXRjaC11bmNoZWNrZWQtbGV2ZXItYmc6IHJnYmEoMCwwLDAsLjM4KSAhZGVmYXVsdDtcbiRzd2l0Y2gtcmFkaXVzOiAxNXB4ICFkZWZhdWx0O1xuXG5cbi8vIDExLiBHbG9iYWxcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIE1lZGlhIFF1ZXJ5IFJhbmdlc1xuJHNtYWxsLXNjcmVlbi11cDogNjAxcHggIWRlZmF1bHQ7XG4kbWVkaXVtLXNjcmVlbi11cDogOTkzcHggIWRlZmF1bHQ7XG4kbGFyZ2Utc2NyZWVuLXVwOiAxMjAxcHggIWRlZmF1bHQ7XG4kc21hbGwtc2NyZWVuOiA2MDAuOTlweCAhZGVmYXVsdDtcbiRtZWRpdW0tc2NyZWVuOiA5OTIuOTlweCAhZGVmYXVsdDtcbiRsYXJnZS1zY3JlZW46IDEyMDAuOTlweCAhZGVmYXVsdDtcblxuJG1lZGl1bS1hbmQtdXA6IFwib25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAjeyRzbWFsbC1zY3JlZW4tdXB9KVwiICFkZWZhdWx0O1xuJGxhcmdlLWFuZC11cDogXCJvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6ICN7JG1lZGl1bS1zY3JlZW4tdXB9KVwiICFkZWZhdWx0O1xuJGV4dHJhLWxhcmdlLWFuZC11cDogXCJvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6ICN7JGxhcmdlLXNjcmVlbi11cH0pXCIgIWRlZmF1bHQ7XG4kc21hbGwtYW5kLWRvd246IFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiAjeyRzbWFsbC1zY3JlZW59KVwiICFkZWZhdWx0O1xuJG1lZGl1bS1hbmQtZG93bjogXCJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6ICN7JG1lZGl1bS1zY3JlZW59KVwiICFkZWZhdWx0O1xuJG1lZGl1bS1vbmx5OiBcIm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogI3skc21hbGwtc2NyZWVuLXVwfSkgYW5kIChtYXgtd2lkdGggOiAjeyRtZWRpdW0tc2NyZWVufSlcIiAhZGVmYXVsdDtcblxuXG4vLyAxMi4gR3JpZFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG51bS1jb2xzOiAxMiAhZGVmYXVsdDtcbiRndXR0ZXItd2lkdGg6IDEuNXJlbSAhZGVmYXVsdDtcbiRlbGVtZW50LXRvcC1tYXJnaW46IG1hdGguZGl2KCRndXR0ZXItd2lkdGgsIDMpICFkZWZhdWx0O1xuJGVsZW1lbnQtYm90dG9tLW1hcmdpbjogbWF0aC5kaXYoJGd1dHRlci13aWR0aCoyLCAzKSAhZGVmYXVsdDtcblxuXG4vLyAxMy4gTmF2aWdhdGlvbiBCYXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRuYXZiYXItaGVpZ2h0OiA2NHB4ICFkZWZhdWx0O1xuJG5hdmJhci1saW5lLWhlaWdodDogJG5hdmJhci1oZWlnaHQgIWRlZmF1bHQ7XG4kbmF2YmFyLWhlaWdodC1tb2JpbGU6IDU2cHggIWRlZmF1bHQ7XG4kbmF2YmFyLWxpbmUtaGVpZ2h0LW1vYmlsZTogJG5hdmJhci1oZWlnaHQtbW9iaWxlICFkZWZhdWx0O1xuJG5hdmJhci1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLWZvbnQtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogMi4xcmVtICFkZWZhdWx0O1xuXG4vLyAxNC4gU2lkZSBOYXZpZ2F0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2lkZW5hdi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG4kc2lkZW5hdi1mb250LXNpemU6IDE0cHggIWRlZmF1bHQ7XG4kc2lkZW5hdi1mb250LWNvbG9yOiByZ2JhKDAsMCwwLC44NykgIWRlZmF1bHQ7XG4kc2lkZW5hdi1iZy1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRzaWRlbmF2LXBhZGRpbmc6IDE2cHggIWRlZmF1bHQ7XG4kc2lkZW5hdi1pdGVtLWhlaWdodDogNDhweCAhZGVmYXVsdDtcbiRzaWRlbmF2LWxpbmUtaGVpZ2h0OiAkc2lkZW5hdi1pdGVtLWhlaWdodCAhZGVmYXVsdDtcblxuXG4vLyAxNS4gUGhvdG8gU2xpZGVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2xpZGVyLWJnLWNvbG9yOiBjb2xvcignZ3JleScsICdiYXNlJykgIWRlZmF1bHQ7XG4kc2xpZGVyLWJnLWNvbG9yLWxpZ2h0OiBjb2xvcignZ3JleScsICdsaWdodGVuLTInKSAhZGVmYXVsdDtcbiRzbGlkZXItaW5kaWNhdG9yLWNvbG9yOiBjb2xvcignZ3JlZW4nLCAnYmFzZScpICFkZWZhdWx0O1xuXG5cbi8vIDE2LiBTcGlubmVycyB8IExvYWRlcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzcGlubmVyLWRlZmF1bHQtY29sb3I6ICRzZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gMTcuIFRhYnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0YWJzLXVuZGVybGluZS1jb2xvcjogJHByaW1hcnktY29sb3ItbGlnaHQgIWRlZmF1bHQ7XG4kdGFicy10ZXh0LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiR0YWJzLWJnLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuXG5cbi8vIDE4LiBUYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0YWJsZS1ib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjEyKSAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWNvbG9yOiByZ2JhKDI0MiwgMjQyLCAyNDIsIDAuNSkgIWRlZmF1bHQ7XG5cblxuLy8gMTkuIFRvYXN0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRvYXN0LWhlaWdodDogNDhweCAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogIzMyMzIzMiAhZGVmYXVsdDtcbiR0b2FzdC10ZXh0LWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJHRvYXN0LWFjdGlvbi1jb2xvcjogI2VlZmY0MTtcblxuXG4vLyAyMC4gVHlwb2dyYXBoeVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGZvbnQtc3RhY2s6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJG9mZi1ibGFjazogcmdiYSgwLCAwLCAwLCAwLjg3KSAhZGVmYXVsdDtcbi8vIEhlYWRlciBTdHlsZXNcbiRoMS1mb250c2l6ZTogNC4ycmVtICFkZWZhdWx0O1xuJGgyLWZvbnRzaXplOiAzLjU2cmVtICFkZWZhdWx0O1xuJGgzLWZvbnRzaXplOiAyLjkycmVtICFkZWZhdWx0O1xuJGg0LWZvbnRzaXplOiAyLjI4cmVtICFkZWZhdWx0O1xuJGg1LWZvbnRzaXplOiAxLjY0cmVtICFkZWZhdWx0O1xuJGg2LWZvbnRzaXplOiAxLjE1cmVtICFkZWZhdWx0O1xuXG5cbi8vIDIxLiBGb290ZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRmb290ZXItZm9udC1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRmb290ZXItYmctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGZvb3Rlci1jb3B5cmlnaHQtZm9udC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuOCkgIWRlZmF1bHQ7XG4kZm9vdGVyLWNvcHlyaWdodC1iZy1jb2xvcjogcmdiYSg1MSw1MSw1MSwuMDgpICFkZWZhdWx0O1xuXG5cbi8vIDIyLiBGbG93IFRleHRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRyYW5nZSA6ICRsYXJnZS1zY3JlZW4gLSAkc21hbGwtc2NyZWVuICFkZWZhdWx0O1xuJGludGVydmFsczogMjAgIWRlZmF1bHQ7XG4kaW50ZXJ2YWwtc2l6ZTogbWF0aC5kaXYoJHJhbmdlLCAkaW50ZXJ2YWxzKSAhZGVmYXVsdDtcblxuXG4vLyAyMy4gQ29sbGVjdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb2xsZWN0aW9uLWJvcmRlci1jb2xvcjogI2UwZTBlMCAhZGVmYXVsdDtcbiRjb2xsZWN0aW9uLWJnLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGNvbGxlY3Rpb24tYWN0aXZlLWJnLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNvbGxlY3Rpb24tYWN0aXZlLWNvbG9yOiBsaWdodGVuKCRzZWNvbmRhcnktY29sb3IsIDU1JSkgIWRlZmF1bHQ7XG4kY29sbGVjdGlvbi1ob3Zlci1iZy1jb2xvcjogI2RkZCAhZGVmYXVsdDtcbiRjb2xsZWN0aW9uLWxpbmstY29sb3I6ICRzZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4kY29sbGVjdGlvbi1saW5lLWhlaWdodDogMS41cmVtICFkZWZhdWx0O1xuJGNvbGxlY3Rpb24tYm9yZGVyLXJhZGl1czogMnB4ICFkZWZhdWx0O1xuXG5cbi8vIDI0LiBQcm9ncmVzcyBCYXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwcm9ncmVzcy1iYXItY29sb3I6ICRzZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4iLCIkbWF0ZXJpYWwtZm9udC1wYXRoOiBcIn5tYXRlcmlhbC1kZXNpZ24taWNvbnMvaWNvbmZvbnQvXCIgIWRlZmF1bHQ7XG5cbiRzdWNjZXNzLWNvbG9yOiBjb2xvcigneWVsbG93JywgJ2Rhcmtlbi0yJyk7XG4kZGFuZ2VyLWNvbG9yOiBjb2xvcignZ3JleScsICdkYXJrZW4tNCcpO1xuJHdhcm5pbmctY29sb3I6IGNvbG9yKCd5ZWxsb3cnLCAnZGFya2VuLTInKTtcbiRpbmZvLWNvbG9yOiBjb2xvcignYmx1ZScsICdsaWdodGVuLTEnKTtcbiRwcmltYXJ5LWNvbG9yOiBjb2xvcignZ3JleScsICdkYXJrZW4tMicpO1xuJG5vdGljZS1jb2xvcjogY29sb3IoJ3JlZCcsJ2Rhcmtlbi0yJyk7XG4kZW5hYmxlLWNvbG9yIDogY29sb3IoJ2dyZWVuJywnZGFya2VuLTInKTtcbiRkaXNhYmxlLWNvbG9yIDogY29sb3IoJ3JlZCcsJ2Rhcmtlbi0yJyk7XG4iLCJcbi8vIENvbGxlY3Rpb25zXG4uY29sbGVjdGlvbiB7XG4gIG1hcmdpbjogJGVsZW1lbnQtdG9wLW1hcmdpbiAwICRlbGVtZW50LWJvdHRvbS1tYXJnaW4gMDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbGxlY3Rpb24tYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkY29sbGVjdGlvbi1ib3JkZXItcmFkaXVzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmNvbGxlY3Rpb24taXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbGxlY3Rpb24tYmctY29sb3I7XG4gICAgbGluZS1oZWlnaHQ6ICRjb2xsZWN0aW9uLWxpbmUtaGVpZ2h0O1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xsZWN0aW9uLWJvcmRlci1jb2xvcjtcblxuICAgIC8vIEF2YXRhciBDb2xsZWN0aW9uXG4gICAgJi5hdmF0YXIge1xuICAgICAgbWluLWhlaWdodDogODRweDtcbiAgICAgIHBhZGRpbmctbGVmdDogNzJweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLy8gRG9uJ3Qgc3R5bGUgY2lyY2xlcyBpbnNpZGUgcHJlbG9hZGVyIGNsYXNzZXMuXG4gICAgICAmOm5vdCguY2lyY2xlLWNsaXBwZXIpID4gLmNpcmNsZSxcbiAgICAgIDpub3QoLmNpcmNsZS1jbGlwcGVyKSA+IC5jaXJjbGUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICAgIGkuY2lyY2xlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDJweDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgIC5zZWNvbmRhcnktY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxNnB4O1xuICAgICAgICByaWdodDogMTZweDtcbiAgICAgIH1cblxuICAgIH1cblxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbGxlY3Rpb24tYWN0aXZlLWJnLWNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xsZWN0aW9uLWFjdGl2ZS1jb2xvcjtcblxuICAgICAgLnNlY29uZGFyeS1jb250ZW50IHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGEuY29sbGVjdGlvbi1pdGVte1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zaXRpb246IC4yNXM7XG4gICAgY29sb3I6ICRjb2xsZWN0aW9uLWxpbmstY29sb3I7XG4gICAgJjpub3QoLmFjdGl2ZSkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xsZWN0aW9uLWhvdmVyLWJnLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYud2l0aC1oZWFkZXIge1xuICAgIC5jb2xsZWN0aW9uLWhlYWRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sbGVjdGlvbi1iZy1jb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sbGVjdGlvbi1ib3JkZXItY29sb3I7XG4gICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgfVxuICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIH1cbiAgICAuY29sbGVjdGlvbi1pdGVtLmF2YXRhciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDcycHg7XG4gICAgfVxuICB9XG5cbn1cbi8vIE1hZGUgbGVzcyBzcGVjaWZpYyB0byBhbGxvdyBlYXNpZXIgb3ZlcnJpZGluZ1xuLnNlY29uZGFyeS1jb250ZW50IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbn1cbi5jb2xsYXBzaWJsZSAuY29sbGVjdGlvbiB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiBub25lO1xufSIsIi8vIEJhZGdlc1xuc3Bhbi5iYWRnZSB7XG4gIG1pbi13aWR0aDogM3JlbTtcbiAgcGFkZGluZzogMCA2cHg7XG4gIG1hcmdpbi1sZWZ0OiAxNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6ICRiYWRnZS1oZWlnaHQ7XG4gIGhlaWdodDogJGJhZGdlLWhlaWdodDtcbiAgY29sb3I6IGNvbG9yKCdncmV5JywgJ2Rhcmtlbi0xJyk7XG4gIGZsb2F0OiByaWdodDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAmLm5ldyB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2UtYmctY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB9XG4gICYubmV3OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBuZXdcIjtcbiAgfVxuXG4gICZbZGF0YS1iYWRnZS1jYXB0aW9uXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiIGF0dHIoZGF0YS1iYWRnZS1jYXB0aW9uKTtcbiAgfVxufVxuXG4vLyBTcGVjaWFsIGNhc2VzXG5uYXYgdWwgYSBzcGFuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgbGluZS1oZWlnaHQ6ICRiYWRnZS1oZWlnaHQ7XG4gIGhlaWdodDogJGJhZGdlLWhlaWdodDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYXV0bztcbn1cblxuLy8gTGluZSBoZWlnaHQgY2VudGVyaW5nXG4uY29sbGVjdGlvbi1pdGVtIHNwYW4uYmFkZ2Uge1xuICBtYXJnaW4tdG9wOiBjYWxjKCN7JGNvbGxlY3Rpb24tbGluZS1oZWlnaHQgKiAwLjV9IC0gI3skYmFkZ2UtaGVpZ2h0ICogMC41fSk7XG59XG4uY29sbGFwc2libGUgc3Bhbi5iYWRnZSB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuLnNpZGVuYXYgc3Bhbi5iYWRnZSB7XG4gIG1hcmdpbi10b3A6IGNhbGMoI3skc2lkZW5hdi1saW5lLWhlaWdodCAqIDAuNX0gLSAjeyRiYWRnZS1oZWlnaHQgKiAwLjV9KTtcbn1cblxudGFibGUgc3Bhbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuIiwiLyogVGhpcyBpcyBuZWVkZWQgZm9yIHNvbWUgbW9iaWxlIHBob25lcyB0byBkaXNwbGF5IHRoZSBHb29nbGUgSWNvbiBmb250IHByb3Blcmx5ICovXG4ubWF0ZXJpYWwtaWNvbnMge1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLmNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEyODBweDtcbiAgd2lkdGg6IDkwJTtcbn1cbkBtZWRpYSAjeyRtZWRpdW0tYW5kLXVwfSB7XG4gIC5jb250YWluZXIge1xuICAgIHdpZHRoOiA4NSU7XG4gIH1cbn1cbkBtZWRpYSAjeyRsYXJnZS1hbmQtdXB9IHtcbiAgLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDcwJTtcbiAgfVxufVxuLmNvbCAucm93IHtcbiAgbWFyZ2luLWxlZnQ6ICgtMSAqICRndXR0ZXItd2lkdGggKiAwLjUpO1xuICBtYXJnaW4tcmlnaHQ6ICgtMSAqICRndXR0ZXItd2lkdGggKiAwLjUpO1xufVxuXG4uc2VjdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcblxuICAmLm5vLXBhZCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAmLm5vLXBhZC1ib3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG4gICYubm8tcGFkLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cblxuXG4vLyBNaXhpbnMgdG8gZWxpbWluYXRlIGNvZGUgcmVwZXRpdGlvblxuQG1peGluIHJlc2V0LW9mZnNldCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogYXV0bztcbn1cbkBtaXhpbiBncmlkLWNsYXNzZXMoJHNpemUsICRpLCAkcGVyYykge1xuICAmLm9mZnNldC0jeyRzaXplfSN7JGl9IHtcbiAgICBtYXJnaW4tbGVmdDogJHBlcmM7XG4gIH1cbiAgJi5wdWxsLSN7JHNpemV9I3skaX0ge1xuICAgIHJpZ2h0OiAkcGVyYztcbiAgfVxuICAmLnB1c2gtI3skc2l6ZX0jeyRpfSB7XG4gICAgbGVmdDogJHBlcmM7XG4gIH1cbn1cblxuXG4ucm93IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAvLyBDbGVhciBmbG9hdGluZyBjaGlsZHJlblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cbiAgLmNvbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAwICRndXR0ZXItd2lkdGggKiAwLjU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuXG4gICAgJltjbGFzcyo9XCJwdXNoLVwiXSxcbiAgICAmW2NsYXNzKj1cInB1bGwtXCJdIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAkaTogMTtcbiAgICBAd2hpbGUgJGkgPD0gJG51bS1jb2xzIHtcbiAgICAgICRwZXJjOiB1bnF1b3RlKG1hdGguZGl2KDEwMCwgbWF0aC5kaXYoJG51bS1jb2xzLCAkaSkpICsgXCIlXCIpO1xuICAgICAgJi5zI3skaX0ge1xuICAgICAgICB3aWR0aDogJHBlcmM7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LW9mZnNldDtcbiAgICAgIH1cbiAgICAgICRpOiAkaSArIDE7XG4gICAgfVxuXG4gICAgJGk6IDE7XG4gICAgQHdoaWxlICRpIDw9ICRudW0tY29scyB7XG4gICAgICAkcGVyYzogdW5xdW90ZShtYXRoLmRpdigxMDAsIG1hdGguZGl2KCRudW0tY29scywgJGkpKSArIFwiJVwiKTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY2xhc3NlcyhcInNcIiwgJGksICRwZXJjKTtcbiAgICAgICRpOiAkaSArIDE7XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JG1lZGl1bS1hbmQtdXB9IHtcblxuICAgICAgJGk6IDE7XG4gICAgICBAd2hpbGUgJGkgPD0gJG51bS1jb2xzIHtcbiAgICAgICAgJHBlcmM6IHVucXVvdGUobWF0aC5kaXYoMTAwLCBtYXRoLmRpdigkbnVtLWNvbHMsICRpKSkgKyBcIiVcIik7XG4gICAgICAgICYubSN7JGl9IHtcbiAgICAgICAgICB3aWR0aDogJHBlcmM7XG4gICAgICAgICAgQGluY2x1ZGUgcmVzZXQtb2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgICRpOiAkaSArIDFcbiAgICAgIH1cblxuICAgICAgJGk6IDE7XG4gICAgICBAd2hpbGUgJGkgPD0gJG51bS1jb2xzIHtcbiAgICAgICAgJHBlcmM6IHVucXVvdGUobWF0aC5kaXYoMTAwLCBtYXRoLmRpdigkbnVtLWNvbHMsICRpKSkgKyBcIiVcIik7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY2xhc3NlcyhcIm1cIiwgJGksICRwZXJjKTtcbiAgICAgICAgJGk6ICRpICsgMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgI3skbGFyZ2UtYW5kLXVwfSB7XG5cbiAgICAgICRpOiAxO1xuICAgICAgQHdoaWxlICRpIDw9ICRudW0tY29scyB7XG4gICAgICAgICRwZXJjOiB1bnF1b3RlKG1hdGguZGl2KDEwMCwgbWF0aC5kaXYoJG51bS1jb2xzLCAkaSkpICsgXCIlXCIpO1xuICAgICAgICAmLmwjeyRpfSB7XG4gICAgICAgICAgd2lkdGg6ICRwZXJjO1xuICAgICAgICAgIEBpbmNsdWRlIHJlc2V0LW9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAkaTogJGkgKyAxO1xuICAgICAgfVxuXG4gICAgICAkaTogMTtcbiAgICAgIEB3aGlsZSAkaSA8PSAkbnVtLWNvbHMge1xuICAgICAgICAkcGVyYzogdW5xdW90ZShtYXRoLmRpdigxMDAsIG1hdGguZGl2KCRudW0tY29scywgJGkpKSArIFwiJVwiKTtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jbGFzc2VzKFwibFwiLCAkaSwgJHBlcmMpO1xuICAgICAgICAkaTogJGkgKyAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAjeyRleHRyYS1sYXJnZS1hbmQtdXB9IHtcblxuICAgICAgJGk6IDE7XG4gICAgICBAd2hpbGUgJGkgPD0gJG51bS1jb2xzIHtcbiAgICAgICAgJHBlcmM6IHVucXVvdGUobWF0aC5kaXYoMTAwLCBtYXRoLmRpdigkbnVtLWNvbHMsICRpKSkgKyBcIiVcIik7XG4gICAgICAgICYueGwjeyRpfSB7XG4gICAgICAgICAgd2lkdGg6ICRwZXJjO1xuICAgICAgICAgIEBpbmNsdWRlIHJlc2V0LW9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAkaTogJGkgKyAxO1xuICAgICAgfVxuXG4gICAgICAkaTogMTtcbiAgICAgIEB3aGlsZSAkaSA8PSAkbnVtLWNvbHMge1xuICAgICAgICAkcGVyYzogdW5xdW90ZShtYXRoLmRpdigxMDAsIG1hdGguZGl2KCRudW0tY29scywgJGkpKSArIFwiJVwiKTtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jbGFzc2VzKFwieGxcIiwgJGksICRwZXJjKTtcbiAgICAgICAgJGk6ICRpICsgMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIm5hdiB7XG4gICYubmF2LWV4dGVuZGVkIHtcbiAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAubmF2LXdyYXBwZXIge1xuICAgICAgbWluLWhlaWdodDogJG5hdmJhci1oZWlnaHQtbW9iaWxlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC5uYXYtY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgfVxuXG4gIGNvbG9yOiAkbmF2YmFyLWZvbnQtY29sb3I7XG4gIEBleHRlbmQgLnotZGVwdGgtMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRuYXZiYXItaGVpZ2h0LW1vYmlsZTtcbiAgbGluZS1oZWlnaHQ6ICRuYXZiYXItbGluZS1oZWlnaHQtbW9iaWxlO1xuXG4gIGEgeyBjb2xvcjogJG5hdmJhci1mb250LWNvbG9yOyB9XG5cbiAgaSxcbiAgW2NsYXNzXj1cIm1kaS1cIl0sIFtjbGFzcyo9XCJtZGktXCJdLFxuICBpLm1hdGVyaWFsLWljb25zIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgaGVpZ2h0OiAkbmF2YmFyLWhlaWdodC1tb2JpbGU7XG4gICAgbGluZS1oZWlnaHQ6ICRuYXZiYXItbGluZS1oZWlnaHQtbW9iaWxlO1xuICB9XG5cbiAgLm5hdi13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgQG1lZGlhICN7JGxhcmdlLWFuZC11cH0ge1xuICAgIGEuc2lkZW5hdi10cmlnZ2VyIHsgZGlzcGxheTogbm9uZTsgfVxuICB9XG5cblxuICAvLyBDb2xsYXBzZSBidXR0b25cbiAgLnNpZGVuYXYtdHJpZ2dlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgaGVpZ2h0OiAkbmF2YmFyLWhlaWdodC1tb2JpbGU7XG4gICAgbWFyZ2luOiAwIDE4cHg7XG5cbiAgICBpIHtcbiAgICAgIGhlaWdodDogJG5hdmJhci1oZWlnaHQtbW9iaWxlO1xuICAgICAgbGluZS1oZWlnaHQ6ICRuYXZiYXItbGluZS1oZWlnaHQtbW9iaWxlO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gTG9nb1xuICAuYnJhbmQtbG9nbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbG9yOiAkbmF2YmFyLWZvbnQtY29sb3I7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJG5hdmJhci1icmFuZC1mb250LXNpemU7XG4gICAgcGFkZGluZzogMDtcblxuICAgICYuY2VudGVyIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLWFuZC1kb3dufSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICAgICYubGVmdCwgJi5yaWdodCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJi5sZWZ0IHsgbGVmdDogMC41cmVtOyB9XG4gICAgICAmLnJpZ2h0IHtcbiAgICAgICAgcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAwLjVyZW07XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIGksXG4gICAgW2NsYXNzXj1cIm1kaS1cIl0sIFtjbGFzcyo9XCJtZGktXCJdLFxuICAgIGkubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgfVxuICB9XG5cblxuICAvLyBUaXRsZVxuICAubmF2LXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIHBhZGRpbmc6IDI4cHggMDtcbiAgfVxuXG5cbiAgLy8gTmF2YmFyIExpbmtzXG4gIHVsIHtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBsaSB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4zcztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4xKTtcbiAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4zcztcbiAgICAgIGZvbnQtc2l6ZTogJG5hdmJhci1mb250LXNpemU7XG4gICAgICBjb2xvcjogJG5hdmJhci1mb250LWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICYuYnRuLCAmLmJ0bi1sYXJnZSwgJi5idG4tZmxhdCwgJi5idG4tZmxvYXRpbmcge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuXG4gICAgICAgICYgPiAubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC8vIE5hdmJhciBTZWFyY2ggRm9ybVxuICBmb3JtIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuaW5wdXQtZmllbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBpbnB1dCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcblxuICAgICAgJjpmb2N1cywgJlt0eXBlPXRleHRdOnZhbGlkLCAmW3R5cGU9cGFzc3dvcmRdOnZhbGlkLFxuICAgICAgJlt0eXBlPWVtYWlsXTp2YWxpZCwgJlt0eXBlPXVybF06dmFsaWQsICZbdHlwZT1kYXRlXTp2YWxpZCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuXG4gICAgICBpIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjcpO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3M7XG4gICAgICB9XG4gICAgICAmLmFjdGl2ZSBpIHsgY29sb3I6ICRuYXZiYXItZm9udC1jb2xvcjsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaXhlZCBOYXZiYXJcbi5uYXZiYXItZml4ZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJG5hdmJhci1oZWlnaHQtbW9iaWxlO1xuICB6LWluZGV4OiA5OTc7XG5cbiAgbmF2IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbn1cbkBtZWRpYSAjeyRtZWRpdW0tYW5kLXVwfSB7XG4gIG5hdi5uYXYtZXh0ZW5kZWQgLm5hdi13cmFwcGVyIHtcbiAgICBtaW4taGVpZ2h0OiAkbmF2YmFyLWhlaWdodDtcbiAgfVxuICBuYXYsIG5hdiAubmF2LXdyYXBwZXIgaSwgbmF2IGEuc2lkZW5hdi10cmlnZ2VyLCBuYXYgYS5zaWRlbmF2LXRyaWdnZXIgaSB7XG4gICAgaGVpZ2h0OiAkbmF2YmFyLWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJG5hdmJhci1saW5lLWhlaWdodDtcbiAgfVxuICAubmF2YmFyLWZpeGVkIHtcbiAgICBoZWlnaHQ6ICRuYXZiYXItaGVpZ2h0O1xuICB9XG59XG4iLCJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuaHRtbHtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtZWRpdW0tc2NyZWVuLXVwKSB7XG4gICAgZm9udC1zaXplOiAxNC41cHg7XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gIH1cblxuICBmb250LWZhbWlseTogJGZvbnQtc3RhY2s7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAkb2ZmLWJsYWNrO1xufVxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi8vIEhlYWRlciBTdHlsZXNcbmgxIGEsIGgyIGEsIGgzIGEsIGg0IGEsIGg1IGEsIGg2IGEgeyBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuaDEgeyBmb250LXNpemU6ICRoMS1mb250c2l6ZTsgbGluZS1oZWlnaHQ6IDExMCU7IG1hcmdpbjogbWF0aC5kaXYoJGgxLWZvbnRzaXplLCAxLjUpIDAgbWF0aC5kaXYoJGgxLWZvbnRzaXplLCAyLjUpIDA7fVxuaDIgeyBmb250LXNpemU6ICRoMi1mb250c2l6ZTsgbGluZS1oZWlnaHQ6IDExMCU7IG1hcmdpbjogbWF0aC5kaXYoJGgyLWZvbnRzaXplLCAxLjUpIDAgbWF0aC5kaXYoJGgyLWZvbnRzaXplLCAyLjUpIDA7fVxuaDMgeyBmb250LXNpemU6ICRoMy1mb250c2l6ZTsgbGluZS1oZWlnaHQ6IDExMCU7IG1hcmdpbjogbWF0aC5kaXYoJGgzLWZvbnRzaXplLCAxLjUpIDAgbWF0aC5kaXYoJGgzLWZvbnRzaXplLCAyLjUpIDA7fVxuaDQgeyBmb250LXNpemU6ICRoNC1mb250c2l6ZTsgbGluZS1oZWlnaHQ6IDExMCU7IG1hcmdpbjogbWF0aC5kaXYoJGg0LWZvbnRzaXplLCAxLjUpIDAgbWF0aC5kaXYoJGg0LWZvbnRzaXplLCAyLjUpIDA7fVxuaDUgeyBmb250LXNpemU6ICRoNS1mb250c2l6ZTsgbGluZS1oZWlnaHQ6IDExMCU7IG1hcmdpbjogbWF0aC5kaXYoJGg1LWZvbnRzaXplLCAxLjUpIDAgbWF0aC5kaXYoJGg1LWZvbnRzaXplLCAyLjUpIDA7fVxuaDYgeyBmb250LXNpemU6ICRoNi1mb250c2l6ZTsgbGluZS1oZWlnaHQ6IDExMCU7IG1hcmdpbjogbWF0aC5kaXYoJGg2LWZvbnRzaXplLCAxLjUpIDAgbWF0aC5kaXYoJGg2LWZvbnRzaXplLCAyLjUpIDA7fVxuXG4vLyBUZXh0IFN0eWxlc1xuZW0geyBmb250LXN0eWxlOiBpdGFsaWM7IH1cbnN0cm9uZyB7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cbnNtYWxsIHsgZm9udC1zaXplOiA3NSU7IH1cbi5saWdodCB7IGZvbnQtd2VpZ2h0OiAzMDA7IH1cbi50aGluIHsgZm9udC13ZWlnaHQ6IDIwMDsgfVxuXG5cbi5mbG93LXRleHR7XG4gICRpOiAwO1xuICBAd2hpbGUgJGkgPD0gJGludGVydmFscyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogMzYwICsgKCRpICogJGludGVydmFsLXNpemUpKSB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbSAqICgxICsgKC4wMiAqICRpKSk7XG4gICAgfVxuICAgICRpOiAkaSArIDE7XG4gIH1cblxuICAvLyBIYW5kbGUgYmVsb3cgMzYwcHggc2NyZWVuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgfVxufVxuIiwiLy8gU2NhbGUgdHJhbnNpdGlvblxuLnNjYWxlLXRyYW5zaXRpb24ge1xuICAmLnNjYWxlLW91dCB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmLnNjYWxlLWluIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMC41MywgMC4wMSwgMC4zNiwgMS42MykgIWltcG9ydGFudDtcbn0iLCJcblxuLmNhcmQtcGFuZWwge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4yNXM7XG4gIHBhZGRpbmc6ICRjYXJkLXBhZGRpbmc7XG4gIG1hcmdpbjogJGVsZW1lbnQtdG9wLW1hcmdpbiAwICRlbGVtZW50LWJvdHRvbS1tYXJnaW4gMDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBAZXh0ZW5kIC56LWRlcHRoLTE7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWJnLWNvbG9yO1xufVxuXG4uY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkZWxlbWVudC10b3AtbWFyZ2luIDAgJGVsZW1lbnQtYm90dG9tLW1hcmdpbiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1iZy1jb2xvcjtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuMjVzO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIEBleHRlbmQgLnotZGVwdGgtMTtcblxuXG4gIC5jYXJkLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAmLmFjdGl2YXRvciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FyZCBTaXplc1xuICAmLnNtYWxsLCAmLm1lZGl1bSwgJi5sYXJnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmNhcmQtaW1hZ2Uge1xuICAgICAgbWF4LWhlaWdodDogNjAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgLmNhcmQtaW1hZ2UgKyAuY2FyZC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IDQwJTtcbiAgICB9XG4gICAgLmNhcmQtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgLmNhcmQtYWN0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAmLnNtYWxsIHtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICB9XG5cbiAgJi5tZWRpdW0ge1xuICAgIGhlaWdodDogNDAwcHg7XG4gIH1cblxuICAmLmxhcmdlIHtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBDYXJkc1xuICAmLmhvcml6b250YWwge1xuICAgICYuc21hbGwsICYubWVkaXVtLCAmLmxhcmdlIHtcbiAgICAgIC5jYXJkLWltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAuY2FyZC1pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIGltZyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweCAwIDAgMnB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkLXN0YWNrZWQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmbGV4OiAxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAuY2FyZC1jb250ZW50IHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN0aWNreSBBY3Rpb24gU2VjdGlvblxuICAmLnN0aWNreS1hY3Rpb24ge1xuICAgIC5jYXJkLWFjdGlvbiB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIC5jYXJkLXJldmVhbCB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgcGFkZGluZy1ib3R0b206IDY0cHg7XG4gICAgfVxuICB9XG5cblxuXG5cbiAgLmNhcmQtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIEltYWdlIGJhY2tncm91bmQgZm9yIGNvbnRlbnRcbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHggMnB4IDAgMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jYXJkLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAkY2FyZC1iZy1jb2xvcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAkY2FyZC1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJkLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6ICRjYXJkLXBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDJweCAycHg7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLmNhcmQtdGl0bGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcblxuICAgICAgaSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jYXJkLWFjdGlvbiB7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAycHggMnB4O1xuICAgIH1cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyAvLyBVc2UgaW5oZXJpdCB0byBpbmhlcml0IGNvbG9yIGNsYXNzZXNcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxNjAsMTYwLDE2MCwuMik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDE2cHggJGNhcmQtcGFkZGluZztcblxuICAgIGE6bm90KC5idG4pOm5vdCguYnRuLWxhcmdlKTpub3QoLmJ0bi1mbG9hdGluZykge1xuICAgICAgY29sb3I6ICRjYXJkLWxpbmstY29sb3I7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJkLXBhZGRpbmc7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICY6aG92ZXIgeyBjb2xvcjogJGNhcmQtbGluay1jb2xvci1saWdodDsgfVxuICAgIH1cbiAgfVxuXG4gIC5jYXJkLXJldmVhbCB7XG4gICAgcGFkZGluZzogJGNhcmQtcGFkZGluZztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtYmctY29sb3I7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMztcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgLmNhcmQtdGl0bGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIjdG9hc3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTpibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAwMDtcblxuICBAbWVkaWEgI3skc21hbGwtYW5kLWRvd259IHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgYm90dG9tOiAwJTtcbiAgfVxuICBAbWVkaWEgI3skbWVkaXVtLW9ubHl9IHtcbiAgICBsZWZ0OiA1JTtcbiAgICBib3R0b206IDclO1xuICAgIG1heC13aWR0aDogOTAlO1xuICB9XG4gIEBtZWRpYSAjeyRsYXJnZS1hbmQtdXB9IHtcbiAgICB0b3A6IDEwJTtcbiAgICByaWdodDogNyU7XG4gICAgbWF4LXdpZHRoOiA4NiU7XG4gIH1cbn1cblxuLnRvYXN0IHtcbiAgQGV4dGVuZCAuei1kZXB0aC0xO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIHRvcDogMzVweDtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOjEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogJHRvYXN0LWhlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtY29sb3I7XG4gIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiAkdG9hc3QtdGV4dC1jb2xvcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgLnRvYXN0LWFjdGlvbiB7XG4gICAgY29sb3I6ICR0b2FzdC1hY3Rpb24tY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtO1xuICB9XG5cbiAgJi5yb3VuZGVke1xuICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIH1cblxuICBAbWVkaWEgI3skc21hbGwtYW5kLWRvd259IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4iLCIudGFicyB7XG4gICYudGFicy10cmFuc3BhcmVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAudGFiIGEsXG4gICAgLnRhYi5kaXNhYmxlZCBhLFxuICAgIC50YWIuZGlzYWJsZWQgYTpob3ZlciB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xuICAgIH1cblxuICAgIC50YWIgYTpob3ZlcixcbiAgICAudGFiIGEuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgIC5pbmRpY2F0b3Ige1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cblxuICAmLnRhYnMtZml4ZWQtd2lkdGgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAudGFiIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG4gIH1cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgaGVpZ2h0OiA0OHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYnMtYmctY29sb3I7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC50YWIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBhIHtcbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmZvY3VzLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCR0YWJzLXVuZGVybGluZS1jb2xvciwgLjgpO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICR0YWJzLXRleHQtY29sb3I7XG4gICAgICB9XG5cbiAgICAgIGNvbG9yOiByZ2JhKCR0YWJzLXRleHQtY29sb3IsIC43KTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwIDI0cHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMjhzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgLjI4cyBlYXNlO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQgYSxcbiAgICAmLmRpc2FibGVkIGE6aG92ZXIge1xuICAgICAgY29sb3I6IHJnYmEoJHRhYnMtdGV4dC1jb2xvciwgLjQpO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbiAgfVxuICAuaW5kaWNhdG9yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJzLXVuZGVybGluZS1jb2xvcjtcbiAgICB3aWxsLWNoYW5nZTogbGVmdCwgcmlnaHQ7XG4gIH1cbn1cblxuLy8gRml4ZWQgU2lkZW5hdiBoaWRlIG9uIHNtYWxsZXJcbkBtZWRpYSAjeyRtZWRpdW0tYW5kLWRvd259IHtcbiAgLnRhYnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAudGFiIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tYXRlcmlhbC10b29sdGlwIHtcbiAgcGFkZGluZzogMTBweCA4cHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgei1pbmRleDogMjAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgY29sb3I6ICNmZmY7XG4gIG1pbi1oZWlnaHQ6IDM2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0cHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMjMyMzI7XG59XG5cbi5iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbiAgaGVpZ2h0OiA3cHg7XG4gIHdpZHRoOiAxNHB4O1xuICBib3JkZXItcmFkaXVzOiAwIDAgNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMyMzIzMjtcbiAgei1pbmRleDogLTE7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwJTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuIiwiLy8gc2hhcmVkIHN0eWxlc1xuLmJ0bixcbi5idG4tZmxhdCB7XG4gIGJvcmRlcjogJGJ1dHRvbi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogJGJ1dHRvbi1oZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWhlaWdodDtcbiAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBHZXRzIHJpZCBvZiB0YXAgYWN0aXZlIHN0YXRlXG59XG5cbi8vIERpc2FibGVkIHNoYXJlZCBzdHlsZVxuLmJ0bi5kaXNhYmxlZCxcbi5idG4tZmxvYXRpbmcuZGlzYWJsZWQsXG4uYnRuLWxhcmdlLmRpc2FibGVkLFxuLmJ0bi1zbWFsbC5kaXNhYmxlZCxcbi5idG4tZmxhdC5kaXNhYmxlZCxcbi5idG46ZGlzYWJsZWQsXG4uYnRuLWZsb2F0aW5nOmRpc2FibGVkLFxuLmJ0bi1sYXJnZTpkaXNhYmxlZCxcbi5idG4tc21hbGw6ZGlzYWJsZWQsXG4uYnRuLWZsYXQ6ZGlzYWJsZWQsXG4uYnRuW2Rpc2FibGVkXSxcbi5idG4tZmxvYXRpbmdbZGlzYWJsZWRdLFxuLmJ0bi1sYXJnZVtkaXNhYmxlZF0sXG4uYnRuLXNtYWxsW2Rpc2FibGVkXSxcbi5idG4tZmxhdFtkaXNhYmxlZF0ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWNvbG9yICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRidXR0b24tZGlzYWJsZWQtY29sb3IgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBTaGFyZWQgaWNvbiBzdHlsZXNcbi5idG4sXG4uYnRuLWZsb2F0aW5nLFxuLmJ0bi1sYXJnZSxcbi5idG4tc21hbGwsXG4uYnRuLWZsYXQge1xuICBmb250LXNpemU6ICRidXR0b24tZm9udC1zaXplO1xuICBvdXRsaW5lOiAwO1xuICBpIHtcbiAgICBmb250LXNpemU6ICRidXR0b24taWNvbi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gU2hhcmVkIGZvY3VzIGJ1dHRvbiBzdHlsZVxuLmJ0bixcbi5idG4tZmxvYXRpbmcge1xuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJ1dHRvbi1yYWlzZWQtYmFja2dyb3VuZCwgMTAlKTtcbiAgfVxufVxuXG4vLyBSYWlzZWQgQnV0dG9uXG4uYnRuIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogJGJ1dHRvbi1yYWlzZWQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcmFpc2VkLWJhY2tncm91bmQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XG4gIEBleHRlbmQgLnotZGVwdGgtMTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1vdXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1yYWlzZWQtYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBAZXh0ZW5kIC56LWRlcHRoLTEtaGFsZjtcbiAgfVxufVxuXG4vLyBGbG9hdGluZyBidXR0b25cbi5idG4tZmxvYXRpbmcge1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWZsb2F0aW5nLWJhY2tncm91bmQtaG92ZXI7XG4gICAgQGV4dGVuZCAuei1kZXB0aC0xLWhhbGY7XG4gIH1cbiAgJjpiZWZvcmUge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgJi5idG4tbGFyZ2Uge1xuICAgICYuaGFsZndheS1mYWIge1xuICAgICAgYm90dG9tOiAtJGJ1dHRvbi1mbG9hdGluZy1sYXJnZS1zaXplICogMC41O1xuICAgIH1cbiAgICB3aWR0aDogJGJ1dHRvbi1mbG9hdGluZy1sYXJnZS1zaXplO1xuICAgIGhlaWdodDogJGJ1dHRvbi1mbG9hdGluZy1sYXJnZS1zaXplO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaSB7XG4gICAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1mbG9hdGluZy1sYXJnZS1zaXplO1xuICAgIH1cbiAgfVxuXG4gICYuYnRuLXNtYWxsIHtcbiAgICAmLmhhbGZ3YXktZmFiIHtcbiAgICAgIGJvdHRvbTogLSRidXR0b24tZmxvYXRpbmctc21hbGwtc2l6ZSAqIDAuNTtcbiAgICB9XG4gICAgd2lkdGg6ICRidXR0b24tZmxvYXRpbmctc21hbGwtc2l6ZTtcbiAgICBoZWlnaHQ6ICRidXR0b24tZmxvYXRpbmctc21hbGwtc2l6ZTtcbiAgICBpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWZsb2F0aW5nLXNtYWxsLXNpemU7XG4gICAgfVxuICB9XG5cbiAgJi5oYWxmd2F5LWZhYiB7XG4gICAgJi5sZWZ0IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMjRweDtcbiAgICB9XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyNHB4O1xuICAgIGJvdHRvbTogLSRidXR0b24tZmxvYXRpbmctc2l6ZSAqIDAuNTtcbiAgfVxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAkYnV0dG9uLWZsb2F0aW5nLWNvbG9yO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiAkYnV0dG9uLWZsb2F0aW5nLXNpemU7XG4gIGhlaWdodDogJGJ1dHRvbi1mbG9hdGluZy1zaXplO1xuICBsaW5lLWhlaWdodDogJGJ1dHRvbi1mbG9hdGluZy1zaXplO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWZsb2F0aW5nLWJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tZmxvYXRpbmctcmFkaXVzO1xuICBAZXh0ZW5kIC56LWRlcHRoLTE7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGkge1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICRidXR0b24tZmxvYXRpbmctY29sb3I7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uLWxhcmdlLWljb24tZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWZsb2F0aW5nLXNpemU7XG4gIH1cbn1cblxuLy8gYnV0dG9uIGZpeFxuYnV0dG9uLmJ0bi1mbG9hdGluZyB7XG4gIGJvcmRlcjogJGJ1dHRvbi1ib3JkZXI7XG59XG5cbi8vIEZpeGVkIEFjdGlvbiBCdXR0b25cbi5maXhlZC1hY3Rpb24tYnRuIHtcbiAgJi5hY3RpdmUge1xuICAgIHVsIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlyZWN0aW9uc1xuICAmLmRpcmVjdGlvbi1sZWZ0LFxuICAmLmRpcmVjdGlvbi1yaWdodCB7XG4gICAgcGFkZGluZzogMCAwIDAgMTVweDtcbiAgICB1bCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHJpZ2h0OiA2NHB4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgLyp3aWR0aCAxMDAlIG9ubHkgZ29lcyB0byB3aWR0aCBvZiBidXR0b24gY29udGFpbmVyICovXG4gICAgICB3aWR0aDogNTAwcHg7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiA3LjVweCAxNXB4IDAgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5kaXJlY3Rpb24tcmlnaHQge1xuICAgIHBhZGRpbmc6IDAgMTVweCAwIDA7XG4gICAgdWwge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGRpcmVjdGlvbjogcnRsO1xuICAgICAgbGVmdDogNjRweDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGkge1xuICAgICAgICBtYXJnaW46IDcuNXB4IDAgMCAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmRpcmVjdGlvbi1ib3R0b20ge1xuICAgIHBhZGRpbmc6IDAgMCAxNXB4IDA7XG4gICAgdWwge1xuICAgICAgdG9wOiA2NHB4O1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDAgMCAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnRvb2xiYXIge1xuICAgICYuYWN0aXZlIHtcbiAgICAgICY+YSBpIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6ICRidXR0b24tZmxvYXRpbmctbGFyZ2Utc2l6ZTtcbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGxpIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6ICRidXR0b24tZmxvYXRpbmctbGFyZ2Utc2l6ZTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIGkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDIzcHg7XG4gIGJvdHRvbTogMjNweDtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHotaW5kZXg6IDk5NztcbiAgdWwge1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDY0cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cbiAgICBhLmJ0bi1mbG9hdGluZyB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuICAuZmFiLWJhY2tkcm9wIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgd2lkdGg6ICRidXR0b24tZmxvYXRpbmctc2l6ZTtcbiAgICBoZWlnaHQ6ICRidXR0b24tZmxvYXRpbmctc2l6ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWZsb2F0aW5nLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1mbG9hdGluZy1yYWRpdXM7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxufVxuXG4vLyBGbGF0IGJ1dHRvblxuLmJ0bi1mbGF0IHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAkYnV0dG9uLWZsYXQtY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnM7XG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMSk7XG4gIH1cbiAgJi5kaXNhYmxlZCxcbiAgJi5idG4tZmxhdFtkaXNhYmxlZF0gIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkYnV0dG9uLWZsYXQtZGlzYWJsZWQtY29sb3IgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8gTGFyZ2UgYnV0dG9uXG4uYnRuLWxhcmdlIHtcbiAgQGV4dGVuZCAuYnRuO1xuICBoZWlnaHQ6ICRidXR0b24tbGFyZ2UtaGVpZ2h0O1xuICBsaW5lLWhlaWdodDogJGJ1dHRvbi1sYXJnZS1oZWlnaHQ7XG4gIGZvbnQtc2l6ZTogJGJ1dHRvbi1sYXJnZS1mb250LXNpemU7XG4gIHBhZGRpbmc6IDAgMjhweDtcblxuICBpIHtcbiAgICBmb250LXNpemU6ICRidXR0b24tbGFyZ2UtaWNvbi1mb250LXNpemU7XG4gIH1cbn1cblxuLy8gU21hbGwgYnV0dG9uXG4uYnRuLXNtYWxsIHtcbiAgQGV4dGVuZCAuYnRuO1xuICBoZWlnaHQ6ICRidXR0b24tc21hbGwtaGVpZ2h0O1xuICBsaW5lLWhlaWdodDogJGJ1dHRvbi1zbWFsbC1oZWlnaHQ7XG4gIGZvbnQtc2l6ZTogJGJ1dHRvbi1zbWFsbC1mb250LXNpemU7XG4gIGkge1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbi1zbWFsbC1pY29uLWZvbnQtc2l6ZTtcbiAgfVxufVxuXG4vLyBCbG9jayBidXR0b25cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIi5kcm9wZG93bi1jb250ZW50IHtcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG5cbiAgQGV4dGVuZCAuei1kZXB0aC0xO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmctY29sb3I7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAxMDBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDk5OTk7IC8vIFRPRE86IENoZWNrIGlmIHRoaXMgZG9lc24ndCBicmVhayBvdGhlciB0aGluZ3NcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuXG5cbiAgbGkge1xuICAgICY6aG92ZXIsICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1ob3Zlci1iZy1jb2xvcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kaXZpZGVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICB9XG5cbiAgICAmID4gYSwgJiA+IHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICBwYWRkaW5nOiAoKCRkcm9wZG93bi1pdGVtLWhlaWdodCAtIDIyKSAqIDAuNSkgMTZweDtcbiAgICB9XG5cbiAgICAmID4gc3BhbiA+IGxhYmVsIHtcbiAgICAgIHRvcDogMXB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICB9XG5cbiAgICAvLyBJY29uIGFsaWdubWVudCBvdmVycmlkZVxuICAgICYgPiBhID4gaSB7XG4gICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luOiAwIDI0cHggMCAwO1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgfVxuXG5cbiAgICBjbGVhcjogYm90aDtcbiAgICBjb2xvcjogJG9mZi1ibGFjaztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWluLWhlaWdodDogJGRyb3Bkb3duLWl0ZW0taGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG5ib2R5LmtleWJvYXJkLWZvY3VzZWQge1xuICAuZHJvcGRvd24tY29udGVudCBsaTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRkcm9wZG93bi1ob3Zlci1iZy1jb2xvciwgOCUpO1xuICB9XG59XG5cbi8vIElucHV0IGZpZWxkIHNwZWNpZmljaXR5IGJ1Z2ZpeFxuLmlucHV0LWZpZWxkLmNvbCAuZHJvcGRvd24tY29udGVudCBbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwge1xuICB0b3A6IDFweDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxOHB4O1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5kcm9wZG93bi10cmlnZ2VyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufSIsIi8qIVxuICogV2F2ZXMgdjAuNy42XG4gKiBodHRwOi8vZmlhbi5teS5pZC9XYXZlc1xuICpcbiAqIENvcHlyaWdodCAyMDE0LTIwMTggQWxmaWFuYSBFLiBTaWJ1ZWEgYW5kIG90aGVyIGNvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZmlhbnMvV2F2ZXMvYmxvYi9tYXN0ZXIvTElDRU5TRSAqL1xuXG5AbWl4aW4gd2F2ZXMtdHJhbnNpdGlvbigkdHJhbnNpdGlvbil7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gIC1tb3otdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gIC1vLXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cblxuQG1peGluIHdhdmVzLXRyYW5zZm9ybSgkc3RyaW5nKXtcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICRzdHJpbmc7XG4gIC1tb3otdHJhbnNmb3JtOiAkc3RyaW5nO1xuICAtbXMtdHJhbnNmb3JtOiAkc3RyaW5nO1xuICAtby10cmFuc2Zvcm06ICRzdHJpbmc7XG4gIHRyYW5zZm9ybTogJHN0cmluZztcbn1cblxuQG1peGluIHdhdmVzLWJveC1zaGFkb3coJHNoYWRvdyl7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuLndhdmVzLWVmZmVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgLndhdmVzLXJpcHBsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBtYXJnaW4tdG9wOi01MHB4O1xuICAgIG1hcmdpbi1sZWZ0Oi01MHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjIpO1xuICAgICRncmFkaWVudDogcmdiYSgwLDAsMCwwLjIpIDAscmdiYSgwLDAsMCwuMykgNDAlLHJnYmEoMCwwLDAsLjQpIDUwJSxyZ2JhKDAsMCwwLC41KSA2MCUscmdiYSgyNTUsMjU1LDI1NSwwKSA3MCU7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoJGdyYWRpZW50KTtcbiAgICBiYWNrZ3JvdW5kOiAtby1yYWRpYWwtZ3JhZGllbnQoJGdyYWRpZW50KTtcbiAgICBiYWNrZ3JvdW5kOiAtbW96LXJhZGlhbC1ncmFkaWVudCgkZ3JhZGllbnQpO1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCgkZ3JhZGllbnQpO1xuICAgIEBpbmNsdWRlIHdhdmVzLXRyYW5zaXRpb24oYWxsIDAuNXMgZWFzZS1vdXQpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiAtbW96LXRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiAtby10cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIEBpbmNsdWRlIHdhdmVzLXRyYW5zZm9ybShzY2FsZSgwKSB0cmFuc2xhdGUoMCwwKSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAmLndhdmVzLWxpZ2h0IC53YXZlcy1yaXBwbGUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC40KTtcbiAgICAkZ3JhZGllbnQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4yKSAwLHJnYmEoMjU1LDI1NSwyNTUsLjMpIDQwJSxyZ2JhKDI1NSwyNTUsMjU1LC40KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuNSkgNjAlLHJnYmEoMjU1LDI1NSwyNTUsMCkgNzAlO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KCRncmFkaWVudCk7XG4gICAgYmFja2dyb3VuZDogLW8tcmFkaWFsLWdyYWRpZW50KCRncmFkaWVudCk7XG4gICAgYmFja2dyb3VuZDogLW1vei1yYWRpYWwtZ3JhZGllbnQoJGdyYWRpZW50KTtcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoJGdyYWRpZW50KTtcbiAgfVxuXG4gICYud2F2ZXMtY2xhc3NpYyAud2F2ZXMtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMik7XG4gIH1cblxuICAmLndhdmVzLWNsYXNzaWMud2F2ZXMtbGlnaHQgLndhdmVzLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjQpO1xuICB9XG5cbiAgLy8gV2F2ZXMgQ29sb3JzXG4gICYud2F2ZXMtbGlnaHQgLndhdmVzLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ1KTtcbiAgfVxuICAmLndhdmVzLXJlZCAud2F2ZXMtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NCwgNjcsIDU0LCAuNzApO1xuICB9XG4gICYud2F2ZXMteWVsbG93IC53YXZlcy1yaXBwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyMzUsIDU5LCAuNzApO1xuICB9XG4gICYud2F2ZXMtb3JhbmdlIC53YXZlcy1yaXBwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxNTIsIDAsIC43MCk7XG4gIH1cbiAgJi53YXZlcy1wdXJwbGUgLndhdmVzLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTYsIDM5LCAxNzYsIDAuNzApO1xuICB9XG4gICYud2F2ZXMtZ3JlZW4gLndhdmVzLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3NiwgMTc1LCA4MCwgMC43MCk7XG4gIH1cbiAgJi53YXZlcy10ZWFsIC53YXZlcy1yaXBwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTUwLCAxMzYsIDAuNzApO1xuICB9XG5cbiAgLy8gU3R5bGUgaW5wdXQgYnV0dG9uIGJ1Zy5cbiAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgaW5wdXRbdHlwZT1cInJlc2V0XCJdLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG59XG5cbi53YXZlcy1ub3RyYW5zaXRpb24ge1xuICBAaW5jbHVkZSB3YXZlcy10cmFuc2l0aW9uKG5vbmUgI3tcIiFpbXBvcnRhbnRcIn0pO1xufVxuXG4ud2F2ZXMtYnV0dG9uLFxuLndhdmVzLWNpcmNsZSB7XG4gIEBpbmNsdWRlIHdhdmVzLXRyYW5zZm9ybSh0cmFuc2xhdGVaKDApKTtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHdoaXRlIDEwMCUsIGJsYWNrIDEwMCUpO1xufVxuXG4ud2F2ZXMtYnV0dG9uLFxuLndhdmVzLWJ1dHRvbjpob3Zlcixcbi53YXZlcy1idXR0b246dmlzaXRlZCxcbi53YXZlcy1idXR0b24taW5wdXQge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDoxZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB6LWluZGV4OiAxO1xufVxuXG4ud2F2ZXMtYnV0dG9uIHtcbiAgcGFkZGluZzogMC44NWVtIDEuMWVtO1xuICBib3JkZXItcmFkaXVzOiAwLjJlbTtcbn1cblxuLndhdmVzLWJ1dHRvbi1pbnB1dCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC44NWVtIDEuMWVtO1xufVxuXG4ud2F2ZXMtaW5wdXQtd3JhcHBlciB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuXG4gICYud2F2ZXMtYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLndhdmVzLWJ1dHRvbi1pbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cblxuLndhdmVzLWNpcmNsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDIuNWVtO1xuICBoZWlnaHQ6IDIuNWVtO1xuICBsaW5lLWhlaWdodDogMi41ZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLndhdmVzLWZsb2F0IHtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiBub25lO1xuICBAaW5jbHVkZSB3YXZlcy1ib3gtc2hhZG93KDBweCAxcHggMS41cHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xMikpO1xuICBAaW5jbHVkZSB3YXZlcy10cmFuc2l0aW9uKGFsbCAzMDBtcyk7XG5cbiAgJjphY3RpdmUge1xuICAgIEBpbmNsdWRlIHdhdmVzLWJveC1zaGFkb3coMHB4IDhweCAyMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMzApKTtcbiAgfVxufVxuXG4ud2F2ZXMtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIi5tb2RhbCB7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICBAZXh0ZW5kIC56LWRlcHRoLTU7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgcGFkZGluZzogMDtcbiAgbWF4LWhlaWdodDogNzAlO1xuICB3aWR0aDogNTUlO1xuICBtYXJnaW46IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB3aWxsLWNoYW5nZTogdG9wLCBvcGFjaXR5O1xuXG4gIEBtZWRpYSAjeyRtZWRpdW0tYW5kLWRvd259IHtcbiAgICB3aWR0aDogODAlO1xuICB9XG5cbiAgaDEsaDIsaDMsaDQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAubW9kYWwtY29udGVudCB7XG4gICAgcGFkZGluZzogMjRweDtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIH1cblxuICAubW9kYWwtY2xvc2Uge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC5tb2RhbC1mb290ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAycHggMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gICAgcGFkZGluZzogNHB4IDZweDtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAuYnRuLCAuYnRuLWZsYXQge1xuICAgICAgbWFyZ2luOiA2cHggMDtcbiAgICB9XG4gIH1cbn1cblxuLm1vZGFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTtcbiAgdG9wOiAtMjUlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEyNSU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xufVxuXG4vLyBNb2RhbCB3aXRoIGZpeGVkIGFjdGlvbiBmb290ZXJcbi5tb2RhbC5tb2RhbC1maXhlZC1mb290ZXIge1xuICBwYWRkaW5nOiAwO1xuICBoZWlnaHQ6IDcwJTtcblxuICAubW9kYWwtY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gNTZweCk7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLWZvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gIH1cbn1cblxuLy8gTW9kYWwgQm90dG9tIFNoZWV0IFN0eWxlXG4ubW9kYWwuYm90dG9tLXNoZWV0IHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IC0xMDAlO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiA0NSU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHdpbGwtY2hhbmdlOiBib3R0b20sIG9wYWNpdHk7XG59XG4iLCIuY29sbGFwc2libGUge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbGxhcHNpYmxlLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNvbGxhcHNpYmxlLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sbGFwc2libGUtYm9yZGVyLWNvbG9yO1xuICBtYXJnaW46ICRlbGVtZW50LXRvcC1tYXJnaW4gMCAkZWxlbWVudC1ib3R0b20tbWFyZ2luIDA7XG4gIEBleHRlbmQgLnotZGVwdGgtMTtcbn1cblxuLmNvbGxhcHNpYmxlLWhlYWRlciB7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDBcbiAgfVxuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbGxhcHNpYmxlLWhlYWRlci1jb2xvcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xsYXBzaWJsZS1ib3JkZXItY29sb3I7XG5cbiAgaSB7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIH1cbn1cbi5rZXlib2FyZC1mb2N1c2VkIC5jb2xsYXBzaWJsZS1oZWFkZXI6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xufVxuXG4uY29sbGFwc2libGUtYm9keSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sbGFwc2libGUtYm9yZGVyLWNvbG9yO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAycmVtO1xufVxuXG4vLyBTaWRlbmF2IGNvbGxhcHNpYmxlIHN0eWxpbmdcbi5zaWRlbmF2LFxuLnNpZGVuYXYuc2lkZW5hdi1maXhlZCB7XG5cbiAgLmNvbGxhcHNpYmxlIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgIGxpIHsgcGFkZGluZzogMDsgfVxuICB9XG5cbiAgLmNvbGxhcHNpYmxlLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiAwICRzaWRlbmF2LXBhZGRpbmc7XG5cbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuMDUpOyB9XG4gICAgaSB7IGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG4gIH1cblxuICAuY29sbGFwc2libGUtYm9keSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xsYXBzaWJsZS1oZWFkZXItY29sb3I7XG5cbiAgICBsaSBhIHtcbiAgICAgIHBhZGRpbmc6IDAgKDcuNXB4ICsgJHNpZGVuYXYtcGFkZGluZylcbiAgICAgICAgICAgICAgIDAgKDE1cHggKyAkc2lkZW5hdi1wYWRkaW5nKTtcbiAgICB9XG4gIH1cblxufVxuXG4vLyBQb3BvdXQgQ29sbGFwc2libGVcblxuLmNvbGxhcHNpYmxlLnBvcG91dCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgPiBsaSB7XG4gICAgYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgLy8gdHJhbnNmb3JtOiBzY2FsZVgoLjkyKTtcbiAgICBtYXJnaW46IDAgMjRweDtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4gLjM1cyBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xuICB9XG4gID4gbGkuYWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiAwIDVweCAxMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE4KSwgMCA0cHggMTVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgbWFyZ2luOiAxNnB4IDA7XG4gICAgLy8gdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIH1cbn1cbiIsIi5jaGlwIHtcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hpcC1zZWxlY3RlZC1jb2xvcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAzMnB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiByZ2JhKDAsMCwwLC42KTtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIHBhZGRpbmc6IDAgMTJweDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNoaXAtYmctY29sb3I7XG4gIG1hcmdpbi1ib3R0b206ICRjaGlwLW1hcmdpbjtcbiAgbWFyZ2luLXJpZ2h0OiAkY2hpcC1tYXJnaW47XG5cbiAgPiBpbWcge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCA4cHggMCAtMTJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB9XG5cbiAgLmNsb3NlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgfVxufVxuXG4uY2hpcHMge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY2hpcC1ib3JkZXItY29sb3I7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG1hcmdpbjogJGlucHV0LW1hcmdpbjtcbiAgbWluLWhlaWdodDogNDVweDtcbiAgb3V0bGluZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcztcblxuICAmLmZvY3VzIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNoaXAtc2VsZWN0ZWQtY29sb3I7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMCAwICRjaGlwLXNlbGVjdGVkLWNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiB0ZXh0O1xuICB9XG5cbiAgaW5wdXQ6bm90KFt0eXBlXSk6bm90KC5icm93c2VyLWRlZmF1bHQpLmlucHV0IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogcmdiYSgwLDAsMCwuNik7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgb3V0bGluZTogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTIwcHg7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0b2NvbXBsZXRlXG4gIC5hdXRvY29tcGxldGUtY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vIEZvcm0gcHJlZml4XG4ucHJlZml4IH4gLmNoaXBzIHtcbiAgbWFyZ2luLWxlZnQ6IDNyZW07XG4gIHdpZHRoOiA5MiU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTtcbn1cbi8vIEZvcm0gc3VmZml4XG4uc3VmZml4IH4gLmNoaXBzIHtcbiAgbWFyZ2luLXJpZ2h0OiAzcmVtO1xuICB3aWR0aDogOTIlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG59XG4uY2hpcHM6ZW1wdHkgfiBsYWJlbCAge1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDAlKTtcbn1cbiIsIi5tYXRlcmlhbGJveGVkIHtcbiAgJjpob3ZlciB7XG4gICAgJjpub3QoLmFjdGl2ZSkge1xuICAgICAgb3BhY2l0eTogLjg7XG4gICAgfVxuICB9XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGN1cnNvcjogem9vbS1pbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cztcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgJi5hY3RpdmUge1xuICAgIGN1cnNvcjogem9vbS1vdXQ7XG4gIH1cbn1cblxuI21hdGVyaWFsYm94LW92ZXJsYXkge1xuICBwb3NpdGlvbjpmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyOTI5O1xuICB6LWluZGV4OiAxMDAwO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbn1cblxuLm1hdGVyaWFsYm94LWNhcHRpb24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGNvbG9yOiAjZmZmO1xuICBsaW5lLWhlaWdodDogNTBweDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwJSAxNSU7XG4gIGhlaWdodDogNTBweDtcbiAgei1pbmRleDogMTAwMDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59IiwiLy8gUmVtb3ZlIEZvY3VzIEJveGVzXG5zZWxlY3Q6Zm9jdXMge1xuICBvdXRsaW5lOiAkc2VsZWN0LWZvY3VzO1xufVxuXG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQtZm9jdXM7XG59XG5cbmxhYmVsIHtcbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBjb2xvcjogJGlucHV0LWJvcmRlci1jb2xvcjtcbn1cblxuQGltcG9ydCAnaW5wdXQtZmllbGRzJztcbkBpbXBvcnQgJ3JhZGlvLWJ1dHRvbnMnO1xuQGltcG9ydCAnY2hlY2tib3hlcyc7XG5AaW1wb3J0ICdzd2l0Y2hlcyc7XG5AaW1wb3J0ICdzZWxlY3QnO1xuQGltcG9ydCAnZmlsZS1pbnB1dCc7XG5AaW1wb3J0ICdyYW5nZSc7XG4iLCIvKiBUZXh0IElucHV0cyArIFRleHRhcmVhXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBTdHlsZSBQbGFjZWhvbGRlcnMgKi9cblxuOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAkcGxhY2Vob2xkZXItdGV4dC1jb2xvcjtcbn1cblxuLyogVGV4dCBpbnB1dHMgKi9cblxuaW5wdXQ6bm90KFt0eXBlXSk6bm90KC5icm93c2VyLWRlZmF1bHQpLFxuaW5wdXRbdHlwZT10ZXh0XTpub3QoLmJyb3dzZXItZGVmYXVsdCksXG5pbnB1dFt0eXBlPXBhc3N3b3JkXTpub3QoLmJyb3dzZXItZGVmYXVsdCksXG5pbnB1dFt0eXBlPWVtYWlsXTpub3QoLmJyb3dzZXItZGVmYXVsdCksXG5pbnB1dFt0eXBlPXVybF06bm90KC5icm93c2VyLWRlZmF1bHQpLFxuaW5wdXRbdHlwZT10aW1lXTpub3QoLmJyb3dzZXItZGVmYXVsdCksXG5pbnB1dFt0eXBlPWRhdGVdOm5vdCguYnJvd3Nlci1kZWZhdWx0KSxcbmlucHV0W3R5cGU9ZGF0ZXRpbWVdOm5vdCguYnJvd3Nlci1kZWZhdWx0KSxcbmlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdOm5vdCguYnJvd3Nlci1kZWZhdWx0KSxcbmlucHV0W3R5cGU9bW9udGhdOm5vdCguYnJvd3Nlci1kZWZhdWx0KSxcbmlucHV0W3R5cGU9dGVsXTpub3QoLmJyb3dzZXItZGVmYXVsdCksXG5pbnB1dFt0eXBlPW51bWJlcl06bm90KC5icm93c2VyLWRlZmF1bHQpLFxuaW5wdXRbdHlwZT1zZWFyY2hdOm5vdCguYnJvd3Nlci1kZWZhdWx0KSxcbnRleHRhcmVhLm1hdGVyaWFsaXplLXRleHRhcmVhIHtcblxuICAvLyBHZW5lcmFsIFN0eWxlc1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIG1hcmdpbjogJGlucHV0LW1hcmdpbjtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4zcywgYm9yZGVyIC4zcztcblxuICAvLyBEaXNhYmxlZCBpbnB1dCBzdHlsZVxuICAmOmRpc2FibGVkLFxuICAmW3JlYWRvbmx5PVwicmVhZG9ubHlcIl0ge1xuICAgIGNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTogJGlucHV0LWRpc2FibGVkLWJvcmRlcjtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGxhYmVsIHN0eWxlXG4gICY6ZGlzYWJsZWQrbGFiZWwsXG4gICZbcmVhZG9ubHk9XCJyZWFkb25seVwiXStsYWJlbCB7XG4gICAgY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gIC8vIEZvY3VzZWQgaW5wdXQgc3R5bGVcbiAgJjpmb2N1czpub3QoW3JlYWRvbmx5XSkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMCAwICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgfVxuXG4gIC8vIEZvY3VzZWQgbGFiZWwgc3R5bGVcbiAgJjpmb2N1czpub3QoW3JlYWRvbmx5XSkrbGFiZWwge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gIH1cblxuICAvLyBIaWRlIGhlbHBlciB0ZXh0IG9uIGRhdGEgbWVzc2FnZVxuICAmLnZhbGlkIH4gLmhlbHBlci10ZXh0W2RhdGEtc3VjY2Vzc10sXG4gICY6Zm9jdXMudmFsaWQgfiAuaGVscGVyLXRleHRbZGF0YS1zdWNjZXNzXSxcbiAgJi5pbnZhbGlkIH4gLmhlbHBlci10ZXh0W2RhdGEtZXJyb3JdLFxuICAmOmZvY3VzLmludmFsaWQgfiAuaGVscGVyLXRleHRbZGF0YS1lcnJvcl0ge1xuICAgIEBleHRlbmQgJWhpZGRlbi10ZXh0O1xuICB9XG5cbiAgLy8gVmFsaWQgSW5wdXQgU3R5bGVcbiAgJi52YWxpZCxcbiAgJjpmb2N1cy52YWxpZCB7XG4gICAgQGV4dGVuZCAldmFsaWQtaW5wdXQtc3R5bGU7XG4gIH1cblxuICAvLyBDdXN0b20gU3VjY2VzcyBNZXNzYWdlXG4gICYudmFsaWQgfiAuaGVscGVyLXRleHQ6YWZ0ZXIsXG4gICY6Zm9jdXMudmFsaWQgfiAuaGVscGVyLXRleHQ6YWZ0ZXIge1xuICAgIEBleHRlbmQgJWN1c3RvbS1zdWNjZXNzLW1lc3NhZ2U7XG4gIH1cbiAgJjpmb2N1cy52YWxpZCB+IGxhYmVsIHtcbiAgICBjb2xvcjogJGlucHV0LXN1Y2Nlc3MtY29sb3I7XG4gIH1cblxuICAvLyBJbnZhbGlkIElucHV0IFN0eWxlXG4gICYuaW52YWxpZCxcbiAgJjpmb2N1cy5pbnZhbGlkIHtcbiAgICBAZXh0ZW5kICVpbnZhbGlkLWlucHV0LXN0eWxlO1xuICB9XG5cbiAgLy8gQ3VzdG9tIEVycm9yIG1lc3NhZ2VcbiAgJi5pbnZhbGlkIH4gLmhlbHBlci10ZXh0OmFmdGVyLFxuICAmOmZvY3VzLmludmFsaWQgfiAuaGVscGVyLXRleHQ6YWZ0ZXIge1xuICAgIEBleHRlbmQgJWN1c3RvbS1lcnJvci1tZXNzYWdlO1xuICB9XG4gICY6Zm9jdXMuaW52YWxpZCB+IGxhYmVsIHtcbiAgICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xuICB9XG5cbiAgLy8gRnVsbCB3aWR0aCBsYWJlbCB3aGVuIHVzaW5nIHZhbGlkYXRlIGZvciBlcnJvciBtZXNzYWdlc1xuICAmLnZhbGlkYXRlICsgbGFiZWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gRm9ybSBNZXNzYWdlIFNoYXJlZCBTdHlsZXNcbiAgJiArIGxhYmVsOmFmdGVyIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1hZnRlci1zdHlsZTtcbiAgfVxufVxuXG5cbi8qIFZhbGlkYXRpb24gU2FzcyBQbGFjZWhvbGRlcnMgKi9cbiV2YWxpZC1pbnB1dC1zdHlsZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkaW5wdXQtc3VjY2Vzcy1jb2xvcjtcbiAgYm94LXNoYWRvdzogMCAxcHggMCAwICRpbnB1dC1zdWNjZXNzLWNvbG9yO1xufVxuJWludmFsaWQtaW5wdXQtc3R5bGUge1xuICBib3JkZXItYm90dG9tOiAkaW5wdXQtaW52YWxpZC1ib3JkZXI7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDAgMCAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG4laGlkZGVuLXRleHQge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiVjdXN0b20tc3VjY2Vzcy1tZXNzYWdlIHtcbiAgY29udGVudDogYXR0cihkYXRhLXN1Y2Nlc3MpO1xuICBjb2xvcjogJGlucHV0LXN1Y2Nlc3MtY29sb3I7XG59XG4lY3VzdG9tLWVycm9yLW1lc3NhZ2Uge1xuICBjb250ZW50OiBhdHRyKGRhdGEtZXJyb3IpO1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuJWlucHV0LWFmdGVyLXN0eWxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiAuMnMgb3BhY2l0eSBlYXNlLW91dCwgLjJzIGNvbG9yIGVhc2Utb3V0O1xufVxuXG5cbi8vIFN0eWxpbmcgZm9yIGlucHV0IGZpZWxkIHdyYXBwZXJcbi5pbnB1dC1maWVsZCB7XG4gIC8vIElubGluZSBzdHlsZXNcbiAgJi5pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG5cbiAgICBpbnB1dCxcbiAgICAuc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gR3V0dGVyIHNwYWNpbmdcbiAgJi5jb2wge1xuICAgIGxhYmVsIHtcbiAgICAgIGxlZnQ6ICRndXR0ZXItd2lkdGggKiAwLjU7XG4gICAgfVxuXG4gICAgLnByZWZpeCB+IGxhYmVsLFxuICAgIC5wcmVmaXggfiAudmFsaWRhdGUgfiBsYWJlbCxcbiAgICAuc3VmZml4IH4gbGFiZWwsXG4gICAgLnN1ZmZpeCB+IC52YWxpZGF0ZSB+IGxhYmVsICB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSAtICN7JGd1dHRlci13aWR0aH0pO1xuICAgIH1cbiAgfVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAmID4gbGFiZWwge1xuICAgIGNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY3Vyc29yOiB0ZXh0O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZS1vdXQsIGNvbG9yIC4ycyBlYXNlLW91dDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSAxMDAlO1xuICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEycHgpO1xuXG4gICAgJjpub3QoLmxhYmVsLWljb24pLmFjdGl2ZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0cHgpIHNjYWxlKC44KTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICB9XG5cbiAgICAvLyBQcmV2ZW50IGxhYmVsIGZyb20gZmxvYXRpbmcgb24gdG9wIG9mIGRlZmF1bHQgSFRNTCBwbGFjZWhvbGRlcnNcbiAgICAmOm5vdCguYWN0aXZlKSArIGlucHV0W3R5cGU9ZGF0ZV0sXG4gICAgJjpub3QoLmFjdGl2ZSkgKyBpbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXSxcbiAgICAmOm5vdCguYWN0aXZlKSArIGlucHV0W3R5cGU9bW9udGhdLFxuICAgICY6bm90KC5hY3RpdmUpICsgaW5wdXRbdHlwZT10aW1lXSB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0b2ZpbGwgKyBkYXRlICsgdGltZSBpbnB1dHNcbiAgJiA+IGlucHV0W3R5cGVdOi13ZWJraXQtYXV0b2ZpbGw6bm90KC5icm93c2VyLWRlZmF1bHQpOm5vdChbdHlwZT1cInNlYXJjaFwiXSkgKyBsYWJlbCxcbiAgJiA+IGlucHV0W3R5cGU9ZGF0ZV06bm90KC5icm93c2VyLWRlZmF1bHQpICsgbGFiZWwsXG4gICYgPiBpbnB1dFt0eXBlPXRpbWVdOm5vdCguYnJvd3Nlci1kZWZhdWx0KSArIGxhYmVsIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0cHgpIHNjYWxlKC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIH1cblxuICAuaGVscGVyLXRleHQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxOHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogcmdiYSgwLDAsMCwuNTQpO1xuICB9XG5cbiAgLy8gUHJlZml4IEljb25zXG4gIC5wcmVmaXgsIC5zdWZmaXgge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogJGlucHV0LWhlaWdodDtcbiAgICBmb250LXNpemU6ICRpbnB1dC1pY29uLXNpemU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjJzO1xuICAgIHRvcDogKCRpbnB1dC1oZWlnaHQgLSAkaW5wdXQtaWNvbi1zaXplKSAqIDAuNTtcblxuICAgICYuYWN0aXZlIHsgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjsgfVxuICB9XG5cbiAgLnByZWZpeCB+IGlucHV0LFxuICAucHJlZml4IH4gdGV4dGFyZWEsXG4gIC5wcmVmaXggfiAuc2VsZWN0LXdyYXBwZXIsXG4gIC5wcmVmaXggfiBsYWJlbCxcbiAgLnByZWZpeCB+IC52YWxpZGF0ZSB+IGxhYmVsLFxuICAucHJlZml4IH4gLmhlbHBlci10ZXh0LFxuICAucHJlZml4IH4gLmF1dG9jb21wbGV0ZS1jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbTtcbiAgICB3aWR0aDogOTIlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTtcbiAgfVxuXG4gIC5wcmVmaXggfiBsYWJlbCB7IG1hcmdpbi1sZWZ0OiAzcmVtOyB9XG5cbiAgQG1lZGlhICN7JG1lZGl1bS1hbmQtZG93bn0ge1xuICAgIC5wcmVmaXggfiBpbnB1dCxcbiAgICAuc3VmZml4IH4gaW5wdXQge1xuICAgICAgd2lkdGg6IDg2JTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgI3skc21hbGwtYW5kLWRvd259IHtcbiAgICAucHJlZml4IH4gaW5wdXQsXG4gICAgLnN1ZmZpeCB+IGlucHV0IHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG4gICAgfVxuICB9XG5cblxuICAvLyBTdWZmaXggSWNvbnNcbiAgLnN1ZmZpeCB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAuc3VmZml4IH4gaW5wdXQsXG4gIC5zdWZmaXggfiB0ZXh0YXJlYSxcbiAgLnN1ZmZpeCB+IC5zZWxlY3Qtd3JhcHBlcixcbiAgLnN1ZmZpeCB+IGxhYmVsLFxuICAuc3VmZml4IH4gLnZhbGlkYXRlIH4gbGFiZWwsXG4gIC5zdWZmaXggfiAuaGVscGVyLXRleHQsXG4gIC5zdWZmaXggfiAuYXV0b2NvbXBsZXRlLWNvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbTtcbiAgICB3aWR0aDogOTIlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTtcbiAgfVxuXG4gIC5zdWZmaXggfiBsYWJlbCB7IG1hcmdpbi1yaWdodDogM3JlbTsgfVxuXG59XG5cbi8qIFNlYXJjaCBGaWVsZCAqL1xuXG4uaW5wdXQtZmllbGQgaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiAuM3MgYmFja2dyb3VuZC1jb2xvcjtcblxuICAubmF2LXdyYXBwZXIgJiB7XG4gICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNHJlbSk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzOm5vdCguYnJvd3Nlci1kZWZhdWx0KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6ICM0NDQ7XG5cbiAgICAmICsgbGFiZWwgaSxcbiAgICAmIH4gLm1kaS1uYXZpZ2F0aW9uLWNsb3NlLFxuICAgICYgfiAubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgY29sb3I6ICM0NDQ7XG4gICAgfVxuICB9XG5cbiAgJiArIC5sYWJlbC1pY29uIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgbGVmdDogMXJlbTtcbiAgfVxuXG4gICYgfiAubWRpLW5hdmlnYXRpb24tY2xvc2UsXG4gICYgfiAubWF0ZXJpYWwtaWNvbnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6ICRpbnB1dC1pY29uLXNpemU7XG4gICAgdHJhbnNpdGlvbjogLjNzIGNvbG9yO1xuICB9XG59XG5cblxuLyogVGV4dGFyZWEgKi9cblxuLy8gRGVmYXVsdCB0ZXh0YXJlYVxudGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAmLm1hdGVyaWFsaXplLXRleHRhcmVhIHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjsgLyogcHJldmVudHMgc2Nyb2xsIGJhciBmbGFzaCAqL1xuICAgIHBhZGRpbmc6IC44cmVtIDAgLjhyZW0gMDsgLyogcHJldmVudHMgdGV4dCBqdW1wIG9uIEVudGVyIGtleXByZXNzICovXG4gICAgcmVzaXplOiBub25lO1xuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxufVxuXG4vLyBGb3IgdGV4dGFyZWEgYXV0b3Jlc2l6ZVxuLmhpZGRlbmRpdiB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7IC8qIGZ1dHVyZSB2ZXJzaW9uIG9mIGRlcHJlY2F0ZWQgJ3dvcmQtd3JhcCcgKi9cbiAgcGFkZGluZy10b3A6IDEuMnJlbTsgLyogcHJldmVudHMgdGV4dCBqdW1wIG9uIEVudGVyIGtleXByZXNzICovXG5cbiAgLy8gUmVkdWNlcyByZXBhaW50c1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgei1pbmRleDogLTE7XG59XG5cblxuLyogQXV0b2NvbXBsZXRlICovXG4uYXV0b2NvbXBsZXRlLWNvbnRlbnQge1xuICBsaSB7XG4gICAgLmhpZ2hsaWdodCB7IGNvbG9yOiAjNDQ0OyB9XG5cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiAkZHJvcGRvd24taXRlbS1oZWlnaHQgLSAxMDtcbiAgICAgIHdpZHRoOiAkZHJvcGRvd24taXRlbS1oZWlnaHQgLSAxMDtcbiAgICAgIG1hcmdpbjogNXB4IDE1cHg7XG4gICAgfVxuICB9XG59XG5cbi8qIENoYXJhY3RlciBDb3VudGVyICovXG4uY2hhcmFjdGVyLWNvdW50ZXIge1xuICBtaW4taGVpZ2h0OiAxOHB4O1xufVxuIiwiLyogUmFkaW8gQnV0dG9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gUmVtb3ZlIGRlZmF1bHQgUmFkaW8gQnV0dG9uc1xuW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpLFxuW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpICsgc3Bhbixcblt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIHNwYW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMzVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMjVweDtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgdHJhbnNpdGlvbjogLjI4cyBlYXNlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuW3R5cGU9XCJyYWRpb1wiXSArIHNwYW46YmVmb3JlLFxuW3R5cGU9XCJyYWRpb1wiXSArIHNwYW46YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIG1hcmdpbjogNHB4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2l0aW9uOiAuMjhzIGVhc2U7XG59XG5cbi8qIFVuY2hlY2tlZCBzdHlsZXMgKi9cblt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKSArIHNwYW46YmVmb3JlLFxuW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpICsgc3BhbjphZnRlcixcblt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIHNwYW46YmVmb3JlLFxuW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgc3BhbjphZnRlcixcblt0eXBlPVwicmFkaW9cIl0ud2l0aC1nYXA6Y2hlY2tlZCArIHNwYW46YmVmb3JlLFxuW3R5cGU9XCJyYWRpb1wiXS53aXRoLWdhcDpjaGVja2VkICsgc3BhbjphZnRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpICsgc3BhbjpiZWZvcmUsXG5bdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBzcGFuOmFmdGVyIHtcbiAgYm9yZGVyOiAycHggc29saWQgJHJhZGlvLWVtcHR5LWNvbG9yO1xufVxuXG5bdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBzcGFuOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbn1cblxuLyogQ2hlY2tlZCBzdHlsZXMgKi9cblt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIHNwYW46YmVmb3JlIHtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cblt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIHNwYW46YWZ0ZXIsXG5bdHlwZT1cInJhZGlvXCJdLndpdGgtZ2FwOmNoZWNrZWQgKyBzcGFuOmJlZm9yZSxcblt0eXBlPVwicmFkaW9cIl0ud2l0aC1nYXA6Y2hlY2tlZCArIHNwYW46YWZ0ZXIge1xuICBib3JkZXI6ICRyYWRpby1ib3JkZXI7XG59XG5cblt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIHNwYW46YWZ0ZXIsXG5bdHlwZT1cInJhZGlvXCJdLndpdGgtZ2FwOmNoZWNrZWQgKyBzcGFuOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJhZGlvLWZpbGwtY29sb3I7XG59XG5cblt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIHNwYW46YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xufVxuXG4vKiBSYWRpbyBXaXRoIGdhcCAqL1xuW3R5cGU9XCJyYWRpb1wiXS53aXRoLWdhcDpjaGVja2VkICsgc3BhbjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoLjUpO1xufVxuXG4vKiBGb2N1c2VkIHN0eWxlcyAqL1xuW3R5cGU9XCJyYWRpb1wiXS50YWJiZWQ6Zm9jdXMgKyBzcGFuOmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgwLDAsMCwuMSk7XG59XG5cbi8qIERpc2FibGVkIFJhZGlvIFdpdGggZ2FwICovXG5bdHlwZT1cInJhZGlvXCJdLndpdGgtZ2FwOmRpc2FibGVkOmNoZWNrZWQgKyBzcGFuOmJlZm9yZSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRpbnB1dC1kaXNhYmxlZC1jb2xvcjtcbn1cblxuW3R5cGU9XCJyYWRpb1wiXS53aXRoLWdhcDpkaXNhYmxlZDpjaGVja2VkICsgc3BhbjphZnRlciB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWNvbG9yO1xufVxuXG4vKiBEaXNhYmxlZCBzdHlsZSAqL1xuW3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZDpub3QoOmNoZWNrZWQpICsgc3BhbjpiZWZvcmUsXG5bdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkOmNoZWNrZWQgKyBzcGFuOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1jb2xvcjtcbn1cblxuW3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZCArIHNwYW4ge1xuICBjb2xvcjogJGlucHV0LWRpc2FibGVkLWNvbG9yO1xufVxuXG5bdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkOm5vdCg6Y2hlY2tlZCkgKyBzcGFuOmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogJGlucHV0LWRpc2FibGVkLWNvbG9yO1xufVxuXG5bdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkOmNoZWNrZWQgKyBzcGFuOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWNvbG9yO1xuICBib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1zb2xpZC1jb2xvcjtcbn1cbiIsIi8qIENoZWNrYm94ZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFJlbW92ZSBkZWZhdWx0IGNoZWNrYm94ICovXG5bdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCksXG5bdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vLyBDaGVja2JveCBTdHlsZXNcblt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAvLyBUZXh0IExhYmVsIFN0eWxlXG4gICsgc3Bhbjpub3QoLmxldmVyKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjVweDtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAvKiBjaGVja2JveCBhc3BlY3QgKi9cbiAgKyBzcGFuOm5vdCgubGV2ZXIpOmJlZm9yZSxcbiAgJjpub3QoLmZpbGxlZC1pbikgKyBzcGFuOm5vdCgubGV2ZXIpOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIHotaW5kZXg6IDA7XG4gICAgYm9yZGVyOiAycHggc29saWQgJHJhZGlvLWVtcHR5LWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgdHJhbnNpdGlvbjogLjJzO1xuICB9XG5cbiAgJjpub3QoLmZpbGxlZC1pbikgKyBzcGFuOm5vdCgubGV2ZXIpOmFmdGVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuXG4gICY6bm90KDpjaGVja2VkKTpkaXNhYmxlZCArIHNwYW46bm90KC5sZXZlcik6YmVmb3JlIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWNvbG9yO1xuICB9XG5cbiAgLy8gRm9jdXNlZCBzdHlsZXNcbiAgJi50YWJiZWQ6Zm9jdXMgKyBzcGFuOm5vdCgubGV2ZXIpOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDAsMCwwLC4xKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4xKTtcbiAgfVxufVxuXG5bdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICArIHNwYW46bm90KC5sZXZlcik6YmVmb3JlIHtcbiAgICB0b3A6IC00cHg7XG4gICAgbGVmdDogLTVweDtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAkcmFkaW8tYm9yZGVyO1xuICAgIGJvcmRlci1ib3R0b206ICRyYWRpby1ib3JkZXI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDBkZWcpO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gIH1cblxuICAmOmRpc2FibGVkICsgc3BhbjpiZWZvcmUge1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRpbnB1dC1kaXNhYmxlZC1jb2xvcjtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGlucHV0LWRpc2FibGVkLWNvbG9yO1xuICB9XG59XG5cbi8qIEluZGV0ZXJtaW5hdGUgY2hlY2tib3ggKi9cblt0eXBlPVwiY2hlY2tib3hcIl06aW5kZXRlcm1pbmF0ZSB7XG4gICsgc3Bhbjpub3QoLmxldmVyKTpiZWZvcmUge1xuICAgIHRvcDogLTExcHg7XG4gICAgbGVmdDogLTEycHg7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0OiAkcmFkaW8tYm9yZGVyO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBpbmRldGVybWluYXRlXG4gICY6ZGlzYWJsZWQgKyBzcGFuOm5vdCgubGV2ZXIpOmJlZm9yZSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGlucHV0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vIEZpbGxlZCBpbiBTdHlsZVxuW3R5cGU9XCJjaGVja2JveFwiXS5maWxsZWQtaW4ge1xuICAvLyBHZW5lcmFsXG4gICsgc3Bhbjpub3QoLmxldmVyKTphZnRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB9XG5cbiAgKyBzcGFuOm5vdCgubGV2ZXIpOmJlZm9yZSxcbiAgKyBzcGFuOm5vdCgubGV2ZXIpOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvKiAuMXMgZGVsYXkgaXMgZm9yIGNoZWNrIGFuaW1hdGlvbiAqL1xuICAgIHRyYW5zaXRpb246IGJvcmRlciAuMjVzLCBiYWNrZ3JvdW5kLWNvbG9yIC4yNXMsIHdpZHRoIC4yMHMgLjFzLCBoZWlnaHQgLjIwcyAuMXMsIHRvcCAuMjBzIC4xcywgbGVmdCAuMjBzIC4xcztcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgLy8gVW5jaGVja2VkIHN0eWxlXG4gICY6bm90KDpjaGVja2VkKSArIHNwYW46bm90KC5sZXZlcik6YmVmb3JlIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgbGVmdDogNnB4O1xuICAgIHRvcDogMTBweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMzdkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcbiAgfVxuXG4gICY6bm90KDpjaGVja2VkKSArIHNwYW46bm90KC5sZXZlcik6YWZ0ZXIge1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkcmFkaW8tZW1wdHktY29sb3I7XG4gICAgdG9wOiAwcHg7XG4gICAgei1pbmRleDogMDtcbiAgfVxuXG4gIC8vIENoZWNrZWQgc3R5bGVcbiAgJjpjaGVja2VkIHtcbiAgICArIHNwYW46bm90KC5sZXZlcik6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDFweDtcbiAgICAgIHdpZHRoOiA4cHg7XG4gICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGlucHV0LWJhY2tncm91bmQ7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGlucHV0LWJhY2tncm91bmQ7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMzdkZWcpO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xuICAgIH1cblxuICAgICsgc3Bhbjpub3QoLmxldmVyKTphZnRlciB7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgei1pbmRleDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBGb2N1c2VkIHN0eWxlc1xuICAmLnRhYmJlZDpmb2N1cyArIHNwYW46bm90KC5sZXZlcik6YWZ0ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBib3JkZXItY29sb3I6ICRyYWRpby1lbXB0eS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4xKTtcbiAgfVxuXG4gICYudGFiYmVkOmNoZWNrZWQ6Zm9jdXMgKyBzcGFuOm5vdCgubGV2ZXIpOmFmdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdHlsZVxuICAmOmRpc2FibGVkOm5vdCg6Y2hlY2tlZCkgKyBzcGFuOm5vdCgubGV2ZXIpOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOmRpc2FibGVkOm5vdCg6Y2hlY2tlZCkgKyBzcGFuOm5vdCgubGV2ZXIpOmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1zb2xpZC1jb2xvcjtcbiAgfVxuXG4gICY6ZGlzYWJsZWQ6Y2hlY2tlZCArIHNwYW46bm90KC5sZXZlcik6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6ZGlzYWJsZWQ6Y2hlY2tlZCArIHNwYW46bm90KC5sZXZlcik6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1zb2xpZC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1zb2xpZC1jb2xvcjtcbiAgfVxufVxuIiwiLyogU3dpdGNoXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc3dpdGNoLFxuLnN3aXRjaCAqIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5zd2l0Y2ggbGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zd2l0Y2ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gICY6Y2hlY2tlZDpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzd2l0Y2gtY2hlY2tlZC1sZXZlci1iZztcbiAgfVxuXG4gICY6Y2hlY2tlZCArIC5sZXZlciB7XG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgbGVmdDogMThweDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzd2l0Y2gtYmctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5zd2l0Y2ggbGFiZWwgLmxldmVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzd2l0Y2gtdW5jaGVja2VkLWxldmVyLWJnO1xuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDE2cHg7XG5cbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAtM3B4O1xuICAgIHRyYW5zaXRpb246IGxlZnQgMC4zcyBlYXNlLCBiYWNrZ3JvdW5kIC4zcyBlYXNlLCBib3gtc2hhZG93IDAuMXMgZWFzZSwgdHJhbnNmb3JtIC4xcyBlYXNlO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRzd2l0Y2gtYmctY29sb3IsIC44NSk7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3dpdGNoLXVuY2hlY2tlZC1iZztcbiAgICBib3gtc2hhZG93OiAwcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDJweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICB9XG59XG5cbi8vIFN3aXRjaCBhY3RpdmUgc3R5bGVcbmlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQ6bm90KDpkaXNhYmxlZCkgfiAubGV2ZXI6YWN0aXZlOjpiZWZvcmUsXG5pbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkOm5vdCg6ZGlzYWJsZWQpLnRhYmJlZDpmb2N1cyB+IC5sZXZlcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgyLjQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkc3dpdGNoLWJnLWNvbG9yLCAuODUpO1xufVxuXG5pbnB1dFt0eXBlPWNoZWNrYm94XTpub3QoOmRpc2FibGVkKSB+IC5sZXZlcjphY3RpdmU6YmVmb3JlLFxuaW5wdXRbdHlwZT1jaGVja2JveF06bm90KDpkaXNhYmxlZCkudGFiYmVkOmZvY3VzIH4gLmxldmVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDIuNCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsLjA4KTtcbn1cblxuLy8gRGlzYWJsZWQgU3R5bGVzXG4uc3dpdGNoIGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSArIC5sZXZlciB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuMTIpO1xufVxuXG4uc3dpdGNoIGxhYmVsIGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSArIC5sZXZlcjphZnRlcixcbi5zd2l0Y2ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdOmNoZWNrZWQgKyAubGV2ZXI6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtc29saWQtY29sb3I7XG59XG4iLCIvKiBTZWxlY3QgRmllbGRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbnNlbGVjdC5icm93c2VyLWRlZmF1bHQgeyBvcGFjaXR5OiAxOyB9XG5zZWxlY3Qge1xuICBvcGFjaXR5OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkc2VsZWN0LXBhZGRpbmc7XG4gIGJvcmRlcjogJHNlbGVjdC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG59XG5cbi5zZWxlY3QtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5zZWxlY3Qtd3JhcHBlciB7XG4gICYudmFsaWQgLmhlbHBlci10ZXh0W2RhdGEtc3VjY2Vzc10sXG4gICYuaW52YWxpZCB+IC5oZWxwZXItdGV4dFtkYXRhLWVycm9yXSB7XG4gICAgQGV4dGVuZCAlaGlkZGVuLXRleHQ7XG4gIH1cblxuICAmLnZhbGlkIHtcbiAgICAmID4gaW5wdXQuc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgIEBleHRlbmQgJXZhbGlkLWlucHV0LXN0eWxlO1xuICAgIH1cblxuICAgICYgfiAuaGVscGVyLXRleHQ6YWZ0ZXIge1xuICAgICAgQGV4dGVuZCAlY3VzdG9tLXN1Y2Nlc3MtbWVzc2FnZTtcbiAgICB9XG4gIH1cblxuICAmLmludmFsaWQge1xuICAgICYgPiBpbnB1dC5zZWxlY3QtZHJvcGRvd24sXG4gICAgJiA+IGlucHV0LnNlbGVjdC1kcm9wZG93bjpmb2N1cyB7XG4gICAgICBAZXh0ZW5kICVpbnZhbGlkLWlucHV0LXN0eWxlO1xuICAgIH1cblxuICAgICYgfiAuaGVscGVyLXRleHQ6YWZ0ZXIge1xuICAgICAgQGV4dGVuZCAlY3VzdG9tLWVycm9yLW1lc3NhZ2U7XG4gICAgfVxuICB9XG5cbiAgJi52YWxpZCArIGxhYmVsLFxuICAmLmludmFsaWQgKyBsYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAmICsgbGFiZWw6YWZ0ZXIge1xuICAgIEBleHRlbmQgJWlucHV0LWFmdGVyLXN0eWxlO1xuICB9XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGlucHV0LnNlbGVjdC1kcm9wZG93biB7XG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgIH1cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAkaW5wdXQtYm9yZGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICBtYXJnaW46ICRpbnB1dC1tYXJnaW47XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB1c2VyLXNlbGVjdDpub25lO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAuY2FyZXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0byAwO1xuICAgIHotaW5kZXg6IDA7XG4gICAgZmlsbDogcmdiYSgwLDAsMCwuODcpO1xuICB9XG5cbiAgJiArIGxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMjZweDtcbiAgICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBIaWRlIHNlbGVjdCB3aXRoIG92ZXJmbG93IGhpZGRlbiBpbnN0ZWFkIG9mIHVzaW5nIGRpc3BsYXkgbm9uZVxuICAvLyAodGhpcyBwcmV2ZW50cyBmb3JtIHZhbGlkYXRpb24gZXJyb3JzIHdpdGggaGlkZGVuIGZvcm0gZWxlbWVudHMpXG4gIC5oaWRlLXNlbGVjdCB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxufVxuXG4vLyBEaXNhYmxlZCBzdHlsZXNcbnNlbGVjdDpkaXNhYmxlZCB7XG4gIGNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtY29sb3I7XG59XG5cbi5zZWxlY3Qtd3JhcHBlci5kaXNhYmxlZCB7XG4gICsgbGFiZWwge1xuICAgIGNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtY29sb3I7XG4gIH1cbiAgLmNhcmV0IHtcbiAgICBmaWxsOiAkaW5wdXQtZGlzYWJsZWQtY29sb3I7XG4gIH1cbn1cblxuLnNlbGVjdC13cmFwcGVyIGlucHV0LnNlbGVjdC1kcm9wZG93bjpkaXNhYmxlZCB7XG4gIGNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtY29sb3I7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5zZWxlY3Qtd3JhcHBlciBpIHtcbiAgY29sb3I6ICRzZWxlY3QtZGlzYWJsZWQtY29sb3I7XG59XG5cbi5zZWxlY3QtZHJvcGRvd24gbGkuZGlzYWJsZWQsXG4uc2VsZWN0LWRyb3Bkb3duIGxpLmRpc2FibGVkID4gc3Bhbixcbi5zZWxlY3QtZHJvcGRvd24gbGkub3B0Z3JvdXAge1xuICBjb2xvcjogJHNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbmJvZHkua2V5Ym9hcmQtZm9jdXNlZCB7XG4gIC5zZWxlY3QtZHJvcGRvd24uZHJvcGRvd24tY29udGVudCBsaTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1vcHRpb24tZm9jdXM7XG4gIH1cbn1cblxuLnNlbGVjdC1kcm9wZG93bi5kcm9wZG93bi1jb250ZW50IHtcbiAgbGkge1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1vcHRpb24taG92ZXI7XG4gICAgfVxuXG4gICAgJi5zZWxlY3RlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LW9wdGlvbi1zZWxlY3RlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gUHJlZml4IEljb25zXG4ucHJlZml4IH4gLnNlbGVjdC13cmFwcGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDNyZW07XG4gIHdpZHRoOiA5MiU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTtcbn1cblxuLnByZWZpeCB+IGxhYmVsIHsgbWFyZ2luLWxlZnQ6IDNyZW07IH1cblxuLy8gU3VmZml4IEljb25zXG4uc3VmZml4IH4gLnNlbGVjdC13cmFwcGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAzcmVtO1xuICB3aWR0aDogOTIlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG59XG5cbi5zdWZmaXggfiBsYWJlbCB7IG1hcmdpbi1yaWdodDogM3JlbTsgfVxuXG4vLyBJY29uc1xuLnNlbGVjdC1kcm9wZG93biBsaSB7XG4gIGltZyB7XG4gICAgaGVpZ2h0OiAkZHJvcGRvd24taXRlbS1oZWlnaHQgLSAxMDtcbiAgICB3aWR0aDogJGRyb3Bkb3duLWl0ZW0taGVpZ2h0IC0gMTA7XG4gICAgbWFyZ2luOiA1cHggMTVweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cblxuLy8gT3B0Z3JvdXAgc3R5bGVzXG4uc2VsZWN0LWRyb3Bkb3duIGxpLm9wdGdyb3VwIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRkcm9wZG93bi1ob3Zlci1iZy1jb2xvcjtcblxuICAmLnNlbGVjdGVkID4gc3BhbiB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgLjcpO1xuICB9XG5cbiAgJiA+IHNwYW4ge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIC40KTtcbiAgfVxuXG4gICYgfiBsaS5vcHRncm91cC1vcHRpb24ge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgfVxufVxuIiwiLyogRmlsZSBJbnB1dFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmZpbGUtZmllbGQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmZpbGUtcGF0aC13cmFwcGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuXG4gIGlucHV0LmZpbGUtcGF0aCB7IHdpZHRoOiAxMDAlOyB9XG5cbiAgLmJ0biB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgc3BhbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1maWxlXSB7XG5cbiAgICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgd2Via2l0IGJ1dHRvblxuICAgICY6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICB9XG59XG4iLCIvKiBSYW5nZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnJhbmdlLWZpZWxkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5pbnB1dFt0eXBlPXJhbmdlXSxcbmlucHV0W3R5cGU9cmFuZ2VdICsgLnRodW1iIHtcbiAgQGV4dGVuZCAubm8tc2VsZWN0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmlucHV0W3R5cGU9cmFuZ2VdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPXJhbmdlXSArIC50aHVtYiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICBsZWZ0OiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJhZGlvLWZpbGwtY29sb3I7XG4gIG1hcmdpbi1sZWZ0OiA3cHg7XG5cbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblxuICAudmFsdWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogJHJhZGlvLWZpbGwtY29sb3I7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCUgNTAlIDUwJSAwO1xuXG4gICAgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgIH1cbiAgfVxufVxuXG4vLyBTaGFyZWRcbkBtaXhpbiByYW5nZS10cmFjayB7XG4gIGhlaWdodDogJHRyYWNrLWhlaWdodDtcbiAgYmFja2dyb3VuZDogI2MyYzBjMjtcbiAgYm9yZGVyOiBub25lO1xufVxuXG5AbWl4aW4gcmFuZ2UtdGh1bWIge1xuICBib3JkZXI6IG5vbmU7XG4gIGhlaWdodDogJHJhbmdlLWhlaWdodDtcbiAgd2lkdGg6ICRyYW5nZS13aWR0aDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAkcmFkaW8tZmlsbC1jb2xvcjtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuM3M7XG59XG5cbi8vIFdlYktpdFxuaW5wdXRbdHlwZT1yYW5nZV0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gIEBpbmNsdWRlIHJhbmdlLXRyYWNrO1xufVxuXG5pbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICBAaW5jbHVkZSByYW5nZS10aHVtYjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmFkaW8tZmlsbC1jb2xvcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgbWFyZ2luOiAtNXB4IDAgMCAwO1xuXG59XG5cbi5rZXlib2FyZC1mb2N1c2VkIGlucHV0W3R5cGU9cmFuZ2VdOmZvY3VzOm5vdCguYWN0aXZlKTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICBib3gtc2hhZG93OiAwIDAgMCAxMHB4IHJnYmEoJHJhZGlvLWZpbGwtY29sb3IsIC4yNik7XG59XG5cbi8vIEZpcmVGb3hcbmlucHV0W3R5cGU9cmFuZ2VdIHtcbiAgLyogZml4IGZvciBGRiB1bmFibGUgdG8gYXBwbHkgZm9jdXMgc3R5bGUgYnVnICAqL1xuICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcblxuICAvKnJlcXVpcmVkIGZvciBwcm9wZXIgdHJhY2sgc2l6aW5nIGluIEZGKi9cbn1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdHJhY2sge1xuICBAaW5jbHVkZSByYW5nZS10cmFjaztcbn1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG59XG5cbmlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRodW1iIHtcbiAgQGluY2x1ZGUgcmFuZ2UtdGh1bWI7XG4gIG1hcmdpbi10b3A6IC01cHg7XG59XG5cbi8vIGhpZGUgdGhlIG91dGxpbmUgYmVoaW5kIHRoZSBib3JkZXJcbmlucHV0W3R5cGU9cmFuZ2VdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IHNvbGlkICNmZmY7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xufVxuXG4ua2V5Ym9hcmQtZm9jdXNlZCBpbnB1dFt0eXBlPXJhbmdlXTpmb2N1czpub3QoLmFjdGl2ZSk6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICBib3gtc2hhZG93OiAwIDAgMCAxMHB4IHJnYmEoJHJhZGlvLWZpbGwtY29sb3IsIC4yNik7XG59XG5cbi8vIElFIDEwK1xuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFjayB7XG4gIGhlaWdodDogJHRyYWNrLWhlaWdodDtcblxuICAvLyByZW1vdmUgYmcgY29sb3VyIGZyb20gdGhlIHRyYWNrLCB3ZSdsbCB1c2UgbXMtZmlsbC1sb3dlciBhbmQgbXMtZmlsbC11cHBlciBpbnN0ZWFkXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gIC8vIGxlYXZlIHJvb20gZm9yIHRoZSBsYXJnZXIgdGh1bWIgdG8gb3ZlcmZsb3cgd2l0aCBhIHRyYW5zcGFyZW50IGJvcmRlciAqL1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDZweCAwO1xuXG4gIC8qcmVtb3ZlIGRlZmF1bHQgdGljayBtYXJrcyovXG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy1maWxsLWxvd2VyIHtcbiAgYmFja2dyb3VuZDogIzc3Nztcbn1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy1maWxsLXVwcGVyIHtcbiAgYmFja2dyb3VuZDogI2RkZDtcbn1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10aHVtYiB7XG4gIEBpbmNsdWRlIHJhbmdlLXRodW1iO1xufVxuXG4ua2V5Ym9hcmQtZm9jdXNlZCBpbnB1dFt0eXBlPXJhbmdlXTpmb2N1czpub3QoLmFjdGl2ZSk6Oi1tcy10aHVtYiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgkcmFkaW8tZmlsbC1jb2xvciwgLjI2KTtcbn1cbiIsIi8qKioqKioqKioqKioqKipcbiAgICBOYXYgTGlzdFxuKioqKioqKioqKioqKioqL1xuLnRhYmxlLW9mLWNvbnRlbnRzIHtcbiAgJi5maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuXG4gIGxpIHtcbiAgICBwYWRkaW5nOiAycHggMDtcbiAgfVxuICBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogIzc1NzU3NTtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogbGlnaHRlbigjNzU3NTc1LCAyMCUpO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gICAgJi5hY3RpdmUge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTRweDtcbiAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIuc2lkZW5hdiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6ICRzaWRlbmF2LXdpZHRoO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlbmF2LWJnLWNvbG9yO1xuICB6LWluZGV4OiA5OTk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDUlKTtcblxuICBAZXh0ZW5kIC56LWRlcHRoLTE7XG5cbiAgLy8gUmlnaHQgQWxpZ25cbiAgJi5yaWdodC1hbGlnbmVkIHtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTA1JSk7XG4gICAgbGVmdDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIH1cblxuICAuY29sbGFwc2libGUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG5cbiAgbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAkc2lkZW5hdi1saW5lLWhlaWdodDtcblxuICAgICYuYWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuMDUpOyB9XG4gIH1cblxuICBsaSA+IGEge1xuICAgIGNvbG9yOiAkc2lkZW5hdi1mb250LWNvbG9yO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJHNpZGVuYXYtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgaGVpZ2h0OiAkc2lkZW5hdi1pdGVtLWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHNpZGVuYXYtbGluZS1oZWlnaHQ7XG4gICAgcGFkZGluZzogMCAoJHNpZGVuYXYtcGFkZGluZyAqIDIpO1xuXG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsLjA1KTt9XG5cbiAgICAmLmJ0biwgJi5idG4tbGFyZ2UsICYuYnRuLWZsYXQsICYuYnRuLWZsb2F0aW5nIHtcbiAgICAgIG1hcmdpbjogMTBweCAxNXB4O1xuICAgIH1cblxuICAgICYuYnRuLFxuICAgICYuYnRuLWxhcmdlLFxuICAgICYuYnRuLWZsb2F0aW5nIHsgY29sb3I6ICRidXR0b24tcmFpc2VkLWNvbG9yOyB9XG4gICAgJi5idG4tZmxhdCB7IGNvbG9yOiAkYnV0dG9uLWZsYXQtY29sb3I7IH1cblxuICAgICYuYnRuOmhvdmVyLFxuICAgICYuYnRuLWxhcmdlOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYnV0dG9uLXJhaXNlZC1iYWNrZ3JvdW5kLCA1JSk7IH1cbiAgICAmLmJ0bi1mbG9hdGluZzpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcmFpc2VkLWJhY2tncm91bmQ7IH1cblxuICAgICYgPiBpLFxuICAgICYgPiBbY2xhc3NePVwibWRpLVwiXSwgbGkgPiBhID4gW2NsYXNzKj1cIm1kaS1cIl0sXG4gICAgJiA+IGkubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBoZWlnaHQ6ICRzaWRlbmF2LWl0ZW0taGVpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6ICRzaWRlbmF2LWxpbmUtaGVpZ2h0O1xuICAgICAgbWFyZ2luOiAwICgkc2lkZW5hdi1wYWRkaW5nICogMikgMCAwO1xuICAgICAgd2lkdGg6ICRzaWRlbmF2LWl0ZW0taGVpZ2h0ICogMC41O1xuICAgICAgY29sb3I6IHJnYmEoMCwwLDAsLjU0KTtcbiAgICB9XG4gIH1cblxuXG4gIC5kaXZpZGVyIHtcbiAgICBtYXJnaW46ICgkc2lkZW5hdi1wYWRkaW5nICogMC41KSAwIDAgMDtcbiAgfVxuXG4gIC5zdWJoZWFkZXIge1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgY3Vyc29yOiBpbml0aWFsO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbG9yOiByZ2JhKDAsMCwwLC41NCk7XG4gICAgZm9udC1zaXplOiAkc2lkZW5hdi1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogJHNpZGVuYXYtbGluZS1oZWlnaHQ7XG4gIH1cblxuICAudXNlci12aWV3IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogKCRzaWRlbmF2LXBhZGRpbmcgKiAyKSAoJHNpZGVuYXYtcGFkZGluZyAqIDIpIDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNpZGVuYXYtcGFkZGluZyAqIDAuNTtcblxuICAgICYgPiBhIHtcbiAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuYmFja2dyb3VuZCB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAgLmNpcmNsZSwgLm5hbWUsIC5lbWFpbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuY2lyY2xlIHtcbiAgICAgIGhlaWdodDogNjRweDtcbiAgICAgIHdpZHRoOiA2NHB4O1xuICAgIH1cblxuICAgIC5uYW1lLFxuICAgIC5lbWFpbCB7XG4gICAgICBmb250LXNpemU6ICRzaWRlbmF2LWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkc2lkZW5hdi1saW5lLWhlaWdodCAqIDAuNTtcbiAgICB9XG5cbiAgICAubmFtZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICAuZW1haWwge1xuICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRvdWNoIGludGVyYWN0aW9uXG4uZHJhZy10YXJnZXQge1xuICAvLyBSaWdodCBBbGlnblxuICAmLnJpZ2h0LWFsaWduZWQge1xuICAgIHJpZ2h0OiAwO1xuICB9XG5cbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk4O1xufVxuXG5cbi8vIEZpeGVkIFNpZGVuYXYgc2hvd25cbi5zaWRlbmF2LnNpZGVuYXYtZml4ZWQge1xuICAvLyBSaWdodCBBbGlnblxuICAmLnJpZ2h0LWFsaWduZWQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cblxuLy8gRml4ZWQgU2lkZW5hdiBoaWRlIG9uIHNtYWxsZXJcbkBtZWRpYSAjeyRtZWRpdW0tYW5kLWRvd259IHtcbiAgLnNpZGVuYXYge1xuICAgICYuc2lkZW5hdi1maXhlZCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwNSUpO1xuXG4gICAgICAmLnJpZ2h0LWFsaWduZWQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTA1JSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDAgJHNpZGVuYXYtcGFkZGluZztcbiAgICB9XG5cbiAgICAudXNlci12aWV3IHtcbiAgICAgIHBhZGRpbmc6ICRzaWRlbmF2LXBhZGRpbmcgJHNpZGVuYXYtcGFkZGluZyAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi5zaWRlbmF2IC5jb2xsYXBzaWJsZS1ib2R5ID4gdWw6bm90KC5jb2xsYXBzaWJsZSkgPiBsaS5hY3RpdmUsXG4uc2lkZW5hdi5zaWRlbmF2LWZpeGVkIC5jb2xsYXBzaWJsZS1ib2R5ID4gdWw6bm90KC5jb2xsYXBzaWJsZSkgPiBsaS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgYSB7XG4gICAgY29sb3I6ICRzaWRlbmF2LWJnLWNvbG9yO1xuICB9XG59XG4uc2lkZW5hdiAuY29sbGFwc2libGUtYm9keSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cblxuLnNpZGVuYXYtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgb3BhY2l0eTogMDtcbiAgaGVpZ2h0OiAxMjB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuNSk7XG4gIHotaW5kZXg6IDk5NztcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qXG4gICAgQGxpY2Vuc2VcbiAgICBDb3B5cmlnaHQgKGMpIDIwMTQgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHRcbiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dFxuICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dFxuICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvXG4gICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHRcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBTVFlMRVMgRk9SIFRIRSBTUElOTkVSICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qXG4gKiBDb25zdGFudHM6XG4gKiAgICAgIFNUUk9LRVdJRFRIID0gM3B4XG4gKiAgICAgIEFSQ1NJWkUgICAgID0gMjcwIGRlZ3JlZXMgKGFtb3VudCBvZiBjaXJjbGUgdGhlIGFyYyB0YWtlcyB1cClcbiAqICAgICAgQVJDVElNRSAgICAgPSAxMzMzbXMgKHRpbWUgaXQgdGFrZXMgdG8gZXhwYW5kIGFuZCBjb250cmFjdCBhcmMpXG4gKiAgICAgIEFSQ1NUQVJUUk9UID0gMjE2IGRlZ3JlZXMgKGhvdyBtdWNoIHRoZSBzdGFydCBsb2NhdGlvbiBvZiB0aGUgYXJjXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkIHJvdGF0ZSBlYWNoIHRpbWUsIDIxNiBnaXZlcyB1cyBhXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNSBwb2ludGVkIHN0YXIgc2hhcGUgKGl0J3MgMzYwLzUgKiAzKS5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3IgYSA3IHBvaW50ZWQgc3Rhciwgd2UgbWlnaHQgZG9cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNjAvNyAqIDMgPSAxNTQuMjg2KVxuICogICAgICBDT05UQUlORVJXSURUSCA9IDI4cHhcbiAqICAgICAgU0hSSU5LX1RJTUUgPSA0MDBtc1xuICovXG5cblxuLnByZWxvYWRlci13cmFwcGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG5cbiAgJi5zbWFsbCB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICB9XG5cbiAgJi5iaWcge1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICAvKiBkdXJhdGlvbjogMzYwICogQVJDVElNRSAvIChBUkNTVEFSVFJPVCArICgzNjAtQVJDU0laRSkpICovXG4gICAgLXdlYmtpdC1hbmltYXRpb246IGNvbnRhaW5lci1yb3RhdGUgMTU2OG1zIGxpbmVhciBpbmZpbml0ZTtcbiAgICBhbmltYXRpb246IGNvbnRhaW5lci1yb3RhdGUgMTU2OG1zIGxpbmVhciBpbmZpbml0ZTtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgY29udGFpbmVyLXJvdGF0ZSB7XG4gIHRvIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIH1cbn1cblxuQGtleWZyYW1lcyBjb250YWluZXItcm90YXRlIHtcbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIH1cbn1cblxuLnNwaW5uZXItbGF5ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIGJvcmRlci1jb2xvcjogJHNwaW5uZXItZGVmYXVsdC1jb2xvcjtcbn1cblxuLnNwaW5uZXItYmx1ZSxcbi5zcGlubmVyLWJsdWUtb25seSB7XG4gIGJvcmRlci1jb2xvcjogIzQyODVmNDtcbn1cblxuLnNwaW5uZXItcmVkLFxuLnNwaW5uZXItcmVkLW9ubHkge1xuICBib3JkZXItY29sb3I6ICNkYjQ0Mzc7XG59XG5cbi5zcGlubmVyLXllbGxvdyxcbi5zcGlubmVyLXllbGxvdy1vbmx5IHtcbiAgYm9yZGVyLWNvbG9yOiAjZjRiNDAwO1xufVxuXG4uc3Bpbm5lci1ncmVlbixcbi5zcGlubmVyLWdyZWVuLW9ubHkge1xuICBib3JkZXItY29sb3I6ICMwZjlkNTg7XG59XG5cbi8qKlxuICogSU1QT1JUQU5UIE5PVEUgQUJPVVQgQ1NTIEFOSU1BVElPTiBQUk9QRVJUSUVTIChrZWFudWxlZSk6XG4gKlxuICogaU9TIFNhZmFyaSAodGVzdGVkIG9uIGlPUyA4LjEpIGRvZXMgbm90IGhhbmRsZSBhbmltYXRpb24tZGVsYXkgdmVyeSB3ZWxsIC0gaXQgZG9lc24ndFxuICogZ3VhcmFudGVlIHRoYXQgdGhlIGFuaW1hdGlvbiB3aWxsIHN0YXJ0IF9leGFjdGx5XyBhZnRlciB0aGF0IHZhbHVlLiBTbyB3ZSBhdm9pZCB1c2luZ1xuICogYW5pbWF0aW9uLWRlbGF5IGFuZCBpbnN0ZWFkIHNldCBjdXN0b20ga2V5ZnJhbWVzIGZvciBlYWNoIGNvbG9yIChhcyByZWR1bmRhbnQgYXMgaXRcbiAqIHNlZW1zKS5cbiAqXG4gKiBXZSB3cml0ZSBvdXQgZWFjaCBhbmltYXRpb24gaW4gZnVsbCAoaW5zdGVhZCBvZiBzZXBhcmF0aW5nIGFuaW1hdGlvbi1uYW1lLFxuICogYW5pbWF0aW9uLWR1cmF0aW9uLCBldGMuKSBiZWNhdXNlIHVuZGVyIHRoZSBwb2x5ZmlsbCwgU2FmYXJpIGRvZXMgbm90IHJlY29nbml6ZSB0aG9zZVxuICogc3BlY2lmaWMgcHJvcGVydGllcyBwcm9wZXJseSwgdHJlYXRzIHRoZW0gYXMgLXdlYmtpdC1hbmltYXRpb24sIGFuZCBvdmVycmlkZXMgdGhlXG4gKiBvdGhlciBhbmltYXRpb24gcnVsZXMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vUG9seW1lci9wbGF0Zm9ybS9pc3N1ZXMvNTMuXG4gKi9cbi5hY3RpdmUgLnNwaW5uZXItbGF5ZXIuc3Bpbm5lci1ibHVlIHtcbiAgLyogZHVyYXRpb25zOiA0ICogQVJDVElNRSAqL1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmlsbC11bmZpbGwtcm90YXRlIDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSkgaW5maW5pdGUgYm90aCwgYmx1ZS1mYWRlLWluLW91dCA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGg7XG4gIGFuaW1hdGlvbjogZmlsbC11bmZpbGwtcm90YXRlIDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSkgaW5maW5pdGUgYm90aCwgYmx1ZS1mYWRlLWluLW91dCA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGg7XG59XG5cbi5hY3RpdmUgLnNwaW5uZXItbGF5ZXIuc3Bpbm5lci1yZWQge1xuICAvKiBkdXJhdGlvbnM6IDQgKiBBUkNUSU1FICovXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmaWxsLXVuZmlsbC1yb3RhdGUgNTMzMm1zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKSBpbmZpbml0ZSBib3RoLCByZWQtZmFkZS1pbi1vdXQgNTMzMm1zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKSBpbmZpbml0ZSBib3RoO1xuICBhbmltYXRpb246IGZpbGwtdW5maWxsLXJvdGF0ZSA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGgsIHJlZC1mYWRlLWluLW91dCA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGg7XG59XG5cbi5hY3RpdmUgLnNwaW5uZXItbGF5ZXIuc3Bpbm5lci15ZWxsb3cge1xuICAvKiBkdXJhdGlvbnM6IDQgKiBBUkNUSU1FICovXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmaWxsLXVuZmlsbC1yb3RhdGUgNTMzMm1zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKSBpbmZpbml0ZSBib3RoLCB5ZWxsb3ctZmFkZS1pbi1vdXQgNTMzMm1zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKSBpbmZpbml0ZSBib3RoO1xuICBhbmltYXRpb246IGZpbGwtdW5maWxsLXJvdGF0ZSA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGgsIHllbGxvdy1mYWRlLWluLW91dCA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGg7XG59XG5cbi5hY3RpdmUgLnNwaW5uZXItbGF5ZXIuc3Bpbm5lci1ncmVlbiB7XG4gIC8qIGR1cmF0aW9uczogNCAqIEFSQ1RJTUUgKi9cbiAgLXdlYmtpdC1hbmltYXRpb246IGZpbGwtdW5maWxsLXJvdGF0ZSA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGgsIGdyZWVuLWZhZGUtaW4tb3V0IDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSkgaW5maW5pdGUgYm90aDtcbiAgYW5pbWF0aW9uOiBmaWxsLXVuZmlsbC1yb3RhdGUgNTMzMm1zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKSBpbmZpbml0ZSBib3RoLCBncmVlbi1mYWRlLWluLW91dCA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGg7XG59XG5cbi5hY3RpdmUgLnNwaW5uZXItbGF5ZXIsXG4uYWN0aXZlIC5zcGlubmVyLWxheWVyLnNwaW5uZXItYmx1ZS1vbmx5LFxuLmFjdGl2ZSAuc3Bpbm5lci1sYXllci5zcGlubmVyLXJlZC1vbmx5LFxuLmFjdGl2ZSAuc3Bpbm5lci1sYXllci5zcGlubmVyLXllbGxvdy1vbmx5LFxuLmFjdGl2ZSAuc3Bpbm5lci1sYXllci5zcGlubmVyLWdyZWVuLW9ubHkge1xuICAvKiBkdXJhdGlvbnM6IDQgKiBBUkNUSU1FICovXG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmaWxsLXVuZmlsbC1yb3RhdGUgNTMzMm1zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKSBpbmZpbml0ZSBib3RoO1xuICBhbmltYXRpb246IGZpbGwtdW5maWxsLXJvdGF0ZSA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGg7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmaWxsLXVuZmlsbC1yb3RhdGUge1xuICAxMi41JSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTsgIH0gLyogMC41ICogQVJDU0laRSAqL1xuICAyNSUgICB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgIH0gLyogMSAgICogQVJDU0laRSAqL1xuICAzNy41JSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDA1ZGVnKTsgIH0gLyogMS41ICogQVJDU0laRSAqL1xuICA1MCUgICB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNTQwZGVnKTsgIH0gLyogMiAgICogQVJDU0laRSAqL1xuICA2Mi41JSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNjc1ZGVnKTsgIH0gLyogMi41ICogQVJDU0laRSAqL1xuICA3NSUgICB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoODEwZGVnKTsgIH0gLyogMyAgICogQVJDU0laRSAqL1xuICA4Ny41JSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTQ1ZGVnKTsgIH0gLyogMy41ICogQVJDU0laRSAqL1xuICB0byAgICB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTA4MGRlZyk7IH0gLyogNCAgICogQVJDU0laRSAqL1xufVxuXG5Aa2V5ZnJhbWVzIGZpbGwtdW5maWxsLXJvdGF0ZSB7XG4gIDEyLjUlIHsgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTsgIH0gLyogMC41ICogQVJDU0laRSAqL1xuICAyNSUgICB7IHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7ICB9IC8qIDEgICAqIEFSQ1NJWkUgKi9cbiAgMzcuNSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0MDVkZWcpOyAgfSAvKiAxLjUgKiBBUkNTSVpFICovXG4gIDUwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoNTQwZGVnKTsgIH0gLyogMiAgICogQVJDU0laRSAqL1xuICA2Mi41JSB7IHRyYW5zZm9ybTogcm90YXRlKDY3NWRlZyk7ICB9IC8qIDIuNSAqIEFSQ1NJWkUgKi9cbiAgNzUlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg4MTBkZWcpOyAgfSAvKiAzICAgKiBBUkNTSVpFICovXG4gIDg3LjUlIHsgdHJhbnNmb3JtOiByb3RhdGUoOTQ1ZGVnKTsgIH0gLyogMy41ICogQVJDU0laRSAqL1xuICB0byAgICB7IHRyYW5zZm9ybTogcm90YXRlKDEwODBkZWcpOyB9IC8qIDQgICAqIEFSQ1NJWkUgKi9cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJsdWUtZmFkZS1pbi1vdXQge1xuICBmcm9tIHsgb3BhY2l0eTogMTsgfVxuICAyNSUgeyBvcGFjaXR5OiAxOyB9XG4gIDI2JSB7IG9wYWNpdHk6IDA7IH1cbiAgODklIHsgb3BhY2l0eTogMDsgfVxuICA5MCUgeyBvcGFjaXR5OiAxOyB9XG4gIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbkBrZXlmcmFtZXMgYmx1ZS1mYWRlLWluLW91dCB7XG4gIGZyb20geyBvcGFjaXR5OiAxOyB9XG4gIDI1JSB7IG9wYWNpdHk6IDE7IH1cbiAgMjYlIHsgb3BhY2l0eTogMDsgfVxuICA4OSUgeyBvcGFjaXR5OiAwOyB9XG4gIDkwJSB7IG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJlZC1mYWRlLWluLW91dCB7XG4gIGZyb20geyBvcGFjaXR5OiAwOyB9XG4gIDE1JSB7IG9wYWNpdHk6IDA7IH1cbiAgMjUlIHsgb3BhY2l0eTogMTsgfVxuICA1MCUgeyBvcGFjaXR5OiAxOyB9XG4gIDUxJSB7IG9wYWNpdHk6IDA7IH1cbn1cblxuQGtleWZyYW1lcyByZWQtZmFkZS1pbi1vdXQge1xuICBmcm9tIHsgb3BhY2l0eTogMDsgfVxuICAxNSUgeyBvcGFjaXR5OiAwOyB9XG4gIDI1JSB7IG9wYWNpdHk6IDE7IH1cbiAgNTAlIHsgb3BhY2l0eTogMTsgfVxuICA1MSUgeyBvcGFjaXR5OiAwOyB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB5ZWxsb3ctZmFkZS1pbi1vdXQge1xuICBmcm9tIHsgb3BhY2l0eTogMDsgfVxuICA0MCUgeyBvcGFjaXR5OiAwOyB9XG4gIDUwJSB7IG9wYWNpdHk6IDE7IH1cbiAgNzUlIHsgb3BhY2l0eTogMTsgfVxuICA3NiUgeyBvcGFjaXR5OiAwOyB9XG59XG5cbkBrZXlmcmFtZXMgeWVsbG93LWZhZGUtaW4tb3V0IHtcbiAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cbiAgNDAlIHsgb3BhY2l0eTogMDsgfVxuICA1MCUgeyBvcGFjaXR5OiAxOyB9XG4gIDc1JSB7IG9wYWNpdHk6IDE7IH1cbiAgNzYlIHsgb3BhY2l0eTogMDsgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZ3JlZW4tZmFkZS1pbi1vdXQge1xuICBmcm9tIHsgb3BhY2l0eTogMDsgfVxuICA2NSUgeyBvcGFjaXR5OiAwOyB9XG4gIDc1JSB7IG9wYWNpdHk6IDE7IH1cbiAgOTAlIHsgb3BhY2l0eTogMTsgfVxuICAxMDAlIHsgb3BhY2l0eTogMDsgfVxufVxuXG5Aa2V5ZnJhbWVzIGdyZWVuLWZhZGUtaW4tb3V0IHtcbiAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cbiAgNjUlIHsgb3BhY2l0eTogMDsgfVxuICA3NSUgeyBvcGFjaXR5OiAxOyB9XG4gIDkwJSB7IG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7IG9wYWNpdHk6IDA7IH1cbn1cblxuLyoqXG4gKiBQYXRjaCB0aGUgZ2FwIHRoYXQgYXBwZWFyIGJldHdlZW4gdGhlIHR3byBhZGphY2VudCBkaXYuY2lyY2xlLWNsaXBwZXIgd2hpbGUgdGhlXG4gKiBzcGlubmVyIGlzIHJvdGF0aW5nIChhcHBlYXJzIG9uIENocm9tZSAzOCwgU2FmYXJpIDcuMSwgYW5kIElFIDExKS5cbiAqL1xuLmdhcC1wYXRjaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA0NSU7XG4gIHdpZHRoOiAxMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xufVxuXG4uZ2FwLXBhdGNoIC5jaXJjbGUge1xuICB3aWR0aDogMTAwMCU7XG4gIGxlZnQ6IC00NTAlO1xufVxuXG4uY2lyY2xlLWNsaXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDUwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG5cbiAgLmNpcmNsZSB7XG4gICAgd2lkdGg6IDIwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci13aWR0aDogM3B4OyAvKiBTVFJPS0VXSURUSCAqL1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBub25lO1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfVxuXG4gICYubGVmdCAuY2lyY2xlIHtcbiAgICBsZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEyOWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTI5ZGVnKTtcbiAgfVxuICAmLnJpZ2h0IC5jaXJjbGUge1xuICAgIGxlZnQ6IC0xMDAlO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEyOWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEyOWRlZyk7XG4gIH1cbn1cblxuXG5cbi5hY3RpdmUgLmNpcmNsZS1jbGlwcGVyLmxlZnQgLmNpcmNsZSB7XG4gIC8qIGR1cmF0aW9uOiBBUkNUSU1FICovXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBsZWZ0LXNwaW4gMTMzM21zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKSBpbmZpbml0ZSBib3RoO1xuICBhbmltYXRpb246IGxlZnQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGg7XG59XG5cbi5hY3RpdmUgLmNpcmNsZS1jbGlwcGVyLnJpZ2h0IC5jaXJjbGUge1xuICAvKiBkdXJhdGlvbjogQVJDVElNRSAqL1xuICAtd2Via2l0LWFuaW1hdGlvbjogcmlnaHQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGg7XG4gIGFuaW1hdGlvbjogcmlnaHQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGg7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsZWZ0LXNwaW4ge1xuICBmcm9tIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpOyB9XG4gIDUwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XG4gIHRvIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpOyB9XG59XG5cbkBrZXlmcmFtZXMgbGVmdC1zcGluIHtcbiAgZnJvbSB7IHRyYW5zZm9ybTogcm90YXRlKDEzMGRlZyk7IH1cbiAgNTAlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMTMwZGVnKTsgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcmlnaHQtc3BpbiB7XG4gIGZyb20geyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMzBkZWcpOyB9XG4gIDUwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cbiAgdG8geyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMzBkZWcpOyB9XG59XG5cbkBrZXlmcmFtZXMgcmlnaHQtc3BpbiB7XG4gIGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTMwZGVnKTsgfVxuICA1MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKC0xMzBkZWcpOyB9XG59XG5cbiNzcGlubmVyQ29udGFpbmVyLmNvb2xkb3duIHtcbiAgLyogZHVyYXRpb246IFNIUklOS19USU1FICovXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBjb250YWluZXItcm90YXRlIDE1NjhtcyBsaW5lYXIgaW5maW5pdGUsIGZhZGUtb3V0IDQwMG1zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKTtcbiAgYW5pbWF0aW9uOiBjb250YWluZXItcm90YXRlIDE1NjhtcyBsaW5lYXIgaW5maW5pdGUsIGZhZGUtb3V0IDQwMG1zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGUtb3V0IHtcbiAgZnJvbSB7IG9wYWNpdHk6IDE7IH1cbiAgdG8geyBvcGFjaXR5OiAwOyB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZS1vdXQge1xuICBmcm9tIHsgb3BhY2l0eTogMTsgfVxuICB0byB7IG9wYWNpdHk6IDA7IH1cbn1cbiIsIi5zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNDAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC8vIEZ1bGxzY3JlZW4gc2xpZGVyXG4gICYuZnVsbHNjcmVlbiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG5cbiAgICB1bC5zbGlkZXMge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIHVsLmluZGljYXRvcnMge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGJvdHRvbTogMzBweDtcbiAgICB9XG4gIH1cblxuICAuc2xpZGVzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJnLWNvbG9yO1xuICAgIG1hcmdpbjogMDtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuXG4gICAgbGkge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5jYXB0aW9uIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxNSU7XG4gICAgICAgIGxlZnQ6IDE1JTtcbiAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICBwIHsgY29sb3I6ICRzbGlkZXItYmctY29sb3ItbGlnaHQ7IH1cbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLmluZGljYXRvcnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgLmluZGljYXRvci1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgbWFyZ2luOiAwIDEycHg7XG4gICAgfVxuXG4gICAgLmluZGljYXRvci1pdGVtLWJ0biB7XG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaW5kaWNhdG9yLWNvbG9yO1xuICAgICAgfVxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmctY29sb3ItbGlnaHQ7XG5cbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxufSIsIi5jYXJvdXNlbCB7XG4gICYuY2Fyb3VzZWwtc2xpZGVyIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIC5jYXJvdXNlbC1maXhlZC1pdGVtIHtcbiAgICAgICYud2l0aC1pbmRpY2F0b3JzIHtcbiAgICAgICAgYm90dG9tOiA2OHB4O1xuICAgICAgfVxuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDIwcHg7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5jYXJvdXNlbC1pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogJGNhcm91c2VsLWhlaWdodDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG5cbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1oZWlnaHQ7XG4gIHBlcnNwZWN0aXZlOiA1MDBweDtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xuXG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pdGVtLXdpZHRoO1xuICAgIGhlaWdodDogJGNhcm91c2VsLWl0ZW0taGVpZ2h0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgICYgPiBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmluZGljYXRvcnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgLmluZGljYXRvci1pdGVtIHtcbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICB3aWR0aDogOHB4O1xuICAgICAgbWFyZ2luOiAyNHB4IDRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjUpO1xuXG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4zcztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG4gIH1cblxuICAvLyBNYXRlcmlhbGJveCBjb21wYXRpYmlsaXR5XG4gICYuc2Nyb2xsaW5nIC5jYXJvdXNlbC1pdGVtIC5tYXRlcmlhbGJveGVkLFxuICAuY2Fyb3VzZWwtaXRlbTpub3QoLmFjdGl2ZSkgLm1hdGVyaWFsYm94ZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG4iLCIudGFwLXRhcmdldC13cmFwcGVyIHtcbiAgd2lkdGg6IDgwMHB4O1xuICBoZWlnaHQ6IDgwMHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyAuM3M7XG59XG5cbi50YXAtdGFyZ2V0LXdyYXBwZXIub3BlbiB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMHM7XG5cbiAgLnRhcC10YXJnZXQge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogLjk1O1xuICAgIHRyYW5zaXRpb246XG4gICAgICB0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguNDIsMCwuNTgsMSksXG4gICAgICBvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQyLDAsLjU4LDEpO1xuICB9XG5cbiAgLnRhcC10YXJnZXQtd2F2ZTo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIC50YXAtdGFyZ2V0LXdhdmU6OmFmdGVyIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGFuaW1hdGlvbjogcHVsc2UtYW5pbWF0aW9uIDFzIGN1YmljLWJlemllcigwLjI0LCAwLCAwLjM4LCAxKSBpbmZpbml0ZTtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgb3BhY2l0eSAuM3MsXG4gICAgICB0cmFuc2Zvcm0gLjNzLFxuICAgICAgdmlzaWJpbGl0eSAwcyAxcztcbiAgfVxufVxuXG4udGFwLXRhcmdldCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICBib3gtc2hhZG93OiAwIDIwcHggMjBweCAwIHJnYmEoMCwwLDAsMC4xNCksIDAgMTBweCA1MHB4IDAgcmdiYSgwLDAsMCwwLjEyKSwgMCAzMHB4IDEwcHggLTIwcHggcmdiYSgwLDAsMCwwLjIpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2l0aW9uOlxuICAgIHRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC40MiwwLC41OCwxKSxcbiAgICBvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQyLDAsLjU4LDEpO1xufVxuXG4udGFwLXRhcmdldC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuXG4udGFwLXRhcmdldC13YXZlIHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgfVxuICAmOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcztcbiAgfVxuICAmOjphZnRlciB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246XG4gICAgICBvcGFjaXR5IC4zcyxcbiAgICAgIHRyYW5zZm9ybSAuM3MsXG4gICAgICB2aXNpYmlsaXR5IDBzO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHotaW5kZXg6IDEwMDAxO1xufVxuXG4udGFwLXRhcmdldC1vcmlnaW4ge1xuICAmOm5vdCguYnRuKSxcbiAgJjpub3QoLmJ0bik6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cblxuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuXG4gIHotaW5kZXg6IDEwMDAyO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAudGFwLXRhcmdldCwgLnRhcC10YXJnZXQtd3JhcHBlciB7XG4gICAgd2lkdGg6IDYwMHB4O1xuICAgIGhlaWdodDogNjAwcHg7XG4gIH1cbn1cbiIsIi5wdWxzZSB7XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MsIHRyYW5zZm9ybSAuM3M7XG4gICAgYW5pbWF0aW9uOiBwdWxzZS1hbmltYXRpb24gMXMgY3ViaWMtYmV6aWVyKDAuMjQsIDAsIDAuMzgsIDEpIGluZmluaXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQGtleWZyYW1lcyBwdWxzZS1hbmltYXRpb24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIH1cbn1cbiIsIi8qIE1vZGFsICovXG4uZGF0ZXBpY2tlci1tb2RhbCB7XG4gIG1heC13aWR0aDogMzI1cHg7XG4gIG1pbi13aWR0aDogMzAwcHg7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG59XG5cbi5kYXRlcGlja2VyLWNvbnRhaW5lci5tb2RhbC1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMDtcbn1cblxuLmRhdGVwaWNrZXItY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAyODBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgLnNlbGVjdHMtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgLnNlbGVjdC13cmFwcGVyIHtcbiAgICBpbnB1dCB7XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIH1cbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmNhcmV0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnNlbGVjdC15ZWFyIGlucHV0IHtcbiAgICB3aWR0aDogNTBweDtcbiAgfVxuXG4gIC5zZWxlY3QtbW9udGggaW5wdXQge1xuICAgIHdpZHRoOiA4MHB4O1xuICB9XG59XG5cbi5tb250aC1wcmV2LCAubW9udGgtbmV4dCB7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xufVxuXG5cbi8qIERhdGUgRGlzcGxheSAqL1xuLmRhdGVwaWNrZXItZGF0ZS1kaXNwbGF5IHtcbiAgZmxleDogMSBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMjBweCAyMnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIC55ZWFyLXRleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGNvbG9yOiAkZGF0ZXBpY2tlci15ZWFyO1xuICB9XG5cbiAgLmRhdGUtdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDQ3cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxufVxuXG5cbi8qIENhbGVuZGFyICovXG4uZGF0ZXBpY2tlci1jYWxlbmRhci1jb250YWluZXIge1xuICBmbGV4OiAyLjUgYXV0bztcbn1cblxuLmRhdGVwaWNrZXItdGFibGUge1xuICB3aWR0aDogMjgwcHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgdGhlYWQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cblxuICB0aCB7XG4gICAgcGFkZGluZzogMTBweCA1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgdHIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuXG4gIGFiYnIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogJGRhdGVwaWNrZXItY2FsZW5kYXItaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgdGQge1xuICAgICYuaXMtdG9kYXkge1xuICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgfVxuXG4gICAgJi5pcy1zZWxlY3RlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgJi5pcy1vdXRzaWRlLWN1cnJlbnQtbW9udGgsXG4gICAgJi5pcy1kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGRhdGVwaWNrZXItZGlzYWJsZWQtZGF5LWNvbG9yO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLmRhdGVwaWNrZXItZGF5LWJ1dHRvbiB7XG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXRlcGlja2VyLWRheS1mb2N1cztcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcGFkZGluZzogMCA1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cblxuLyogRm9vdGVyICovXG4uZGF0ZXBpY2tlci1mb290ZXIge1xuICB3aWR0aDogMjgwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5kYXRlcGlja2VyLWNhbmNlbCxcbi5kYXRlcGlja2VyLWNsZWFyLFxuLmRhdGVwaWNrZXItdG9kYXksXG4uZGF0ZXBpY2tlci1kb25lIHtcbiAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbn1cblxuLmRhdGVwaWNrZXItY2xlYXIge1xuICBjb2xvcjogJGVycm9yLWNvbG9yO1xufVxuXG5cbi8qIE1lZGlhIFF1ZXJpZXMgKi9cbkBtZWRpYSAjeyRtZWRpdW0tYW5kLXVwfSB7XG4gIC5kYXRlcGlja2VyLW1vZGFsIHtcbiAgICBtYXgtd2lkdGg6IDYyNXB4O1xuICB9XG5cbiAgLmRhdGVwaWNrZXItY29udGFpbmVyLm1vZGFsLWNvbnRlbnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cblxuICAuZGF0ZXBpY2tlci1kYXRlLWRpc3BsYXkge1xuICAgIGZsZXg6IDAgMSAyNzBweDtcbiAgfVxuXG4gIC5kYXRlcGlja2VyLWNvbnRyb2xzLFxuICAuZGF0ZXBpY2tlci10YWJsZSxcbiAgLmRhdGVwaWNrZXItZm9vdGVyIHtcbiAgICB3aWR0aDogMzIwcHg7XG4gIH1cblxuICAuZGF0ZXBpY2tlci1kYXktYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgfVxufVxuIiwiLyogVGltZXBpY2tlciBDb250YWluZXJzICovXG4udGltZXBpY2tlci1tb2RhbCB7XG4gIG1heC13aWR0aDogMzI1cHg7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG59XG5cbi50aW1lcGlja2VyLWNvbnRhaW5lci5tb2RhbC1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMDtcbn1cblxuLnRleHQtcHJpbWFyeSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xufVxuXG5cbi8qIENsb2NrIERpZ2l0YWwgRGlzcGxheSAqL1xuLnRpbWVwaWNrZXItZGlnaXRhbC1kaXNwbGF5IHtcbiAgd2lkdGg6IDIwMHB4O1xuICBmbGV4OiAxIGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi50aW1lcGlja2VyLXRleHQtY29udGFpbmVyIHtcbiAgZm9udC1zaXplOiA0cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIGlucHV0W3R5cGU9dGV4dF17XG4gICAgaGVpZ2h0OiA0cmVtO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgYm9yZGVyLWJvdHRvbTogMHB4O1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgfVxufVxuXG4udGltZXBpY2tlci1pbnB1dC1ob3Vycyxcbi50aW1lcGlja2VyLWlucHV0LW1pbnV0ZXMsXG4udGltZXBpY2tlci1zcGFuLWFtLXBtIGRpdiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuaW5wdXRbdHlwZT10ZXh0XS50aW1lcGlja2VyLWlucHV0LWhvdXJzIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHdpZHRoOiAyOCU7XG4gIG1hcmdpbi1yaWdodDogM3B4O1xufVxuXG5pbnB1dFt0eXBlPXRleHRdLnRpbWVwaWNrZXItaW5wdXQtbWludXRlcyB7XG4gIHdpZHRoOiAzMyU7XG4gIG1hcmdpbi1sZWZ0OiAzcHg7XG59XG5cbmlucHV0W3R5cGU9dGV4dF0udGV4dC1wcmltYXJ5IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG59XG5cbi50aW1lcGlja2VyLWRpc3BsYXktYW0tcG0ge1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMXJlbTtcbiAgYm90dG9tOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5cbi8qIEFuYWxvZyBDbG9jayBEaXNwbGF5ICovXG4udGltZXBpY2tlci1hbmFsb2ctZGlzcGxheSB7XG4gIGZsZXg6IDIuNSBhdXRvO1xufVxuXG4udGltZXBpY2tlci1wbGF0ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICR0aW1lcGlja2VyLWNsb2NrLXBsYXRlLWJnO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdHdpZHRoOiAyNzBweDtcblx0aGVpZ2h0OiAyNzBweDtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXJnaW4tdG9wOiAyNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cdHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4udGltZXBpY2tlci1jYW52YXMsXG4udGltZXBpY2tlci1kaWFsIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG59XG4udGltZXBpY2tlci1taW51dGVzIHtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udGltZXBpY2tlci10aWNrIHtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRjb2xvcjogJHRpbWVwaWNrZXItY2xvY2stY29sb3I7XG5cdGxpbmUtaGVpZ2h0OiA0MHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHdpZHRoOiA0MHB4O1xuXHRoZWlnaHQ6IDQwcHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE1cHg7XG59XG5cbi50aW1lcGlja2VyLXRpY2suYWN0aXZlLFxuLnRpbWVwaWNrZXItdGljazpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRzZWNvbmRhcnktY29sb3IsIC43NSk7XG59XG4udGltZXBpY2tlci1kaWFsIHtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDM1MG1zLCBvcGFjaXR5IDM1MG1zO1xufVxuLnRpbWVwaWNrZXItZGlhbC1vdXQge1xuICAmLnRpbWVwaWNrZXItaG91cnMge1xuXHQgIHRyYW5zZm9ybTogc2NhbGUoMS4xLCAxLjEpO1xuICB9XG5cbiAgJi50aW1lcGlja2VyLW1pbnV0ZXMge1xuXHQgIHRyYW5zZm9ybTogc2NhbGUoLjgsIC44KTtcbiAgfVxuXG5cdG9wYWNpdHk6IDA7XG59XG4udGltZXBpY2tlci1jYW52YXMge1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDE3NW1zO1xuXG4gIGxpbmUge1xuXHQgIHN0cm9rZTogJHNlY29uZGFyeS1jb2xvcjtcblx0ICBzdHJva2Utd2lkdGg6IDQ7XG5cdCAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICB9XG59XG4udGltZXBpY2tlci1jYW52YXMtb3V0IHtcblx0b3BhY2l0eTogMC4yNTtcbn1cbi50aW1lcGlja2VyLWNhbnZhcy1iZWFyaW5nIHtcblx0c3Ryb2tlOiBub25lO1xuXHRmaWxsOiAkc2Vjb25kYXJ5LWNvbG9yO1xufVxuLnRpbWVwaWNrZXItY2FudmFzLWJnIHtcblx0c3Ryb2tlOiBub25lO1xuXHRmaWxsOiAkc2Vjb25kYXJ5LWNvbG9yO1xufVxuXG5cbi8qIEZvb3RlciAqL1xuLnRpbWVwaWNrZXItZm9vdGVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDVweCAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi50aW1lcGlja2VyLWNsZWFyIHtcbiAgY29sb3I6ICRlcnJvci1jb2xvcjtcbn1cblxuLnRpbWVwaWNrZXItY2xvc2Uge1xuICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbn1cblxuLnRpbWVwaWNrZXItY2xlYXIsXG4udGltZXBpY2tlci1jbG9zZSB7XG4gIHBhZGRpbmc6IDAgMjBweDtcbn1cblxuLyogTWVkaWEgUXVlcmllcyAqL1xuQG1lZGlhICN7JG1lZGl1bS1hbmQtdXB9IHtcbiAgLnRpbWVwaWNrZXItbW9kYWwge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gIH1cblxuICAudGltZXBpY2tlci1jb250YWluZXIubW9kYWwtY29udGVudCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuXG4gIC50aW1lcGlja2VyLXRleHQtY29udGFpbmVyIHtcblx0XHR0b3A6IDMyJTtcblx0fVxuXG5cdC50aW1lcGlja2VyLWRpc3BsYXktYW0tcG0ge1xuXHQgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ICByaWdodDogYXV0bztcblx0ICBib3R0b206IGF1dG87XG5cdCAgdGV4dC1hbGlnbjogY2VudGVyO1xuXHQgIG1hcmdpbi10b3A6IDEuMnJlbTtcblx0fVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/