@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.2.4
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*
== malihu jquery custom scrollbar plugin ==
Plugin URI: http://manos.malihu.gr/jquery-custom-content-scroller
*/
/*
CONTENTS: 
	1. BASIC STYLE - Plugin's basic/essential CSS properties (normally, should not be edited). 
	2. VERTICAL SCROLLBAR - Positioning and dimensions of vertical scrollbar. 
	3. HORIZONTAL SCROLLBAR - Positioning and dimensions of horizontal scrollbar.
	4. VERTICAL AND HORIZONTAL SCROLLBARS - Positioning and dimensions of 2-axis scrollbars. 
	5. TRANSITIONS - CSS3 transitions for hover events, auto-expanded and auto-hidden scrollbars. 
	6. SCROLLBAR COLORS, OPACITY AND BACKGROUNDS 
		6.1 THEMES - Scrollbar colors, opacity, dimensions, backgrounds etc. via ready-to-use themes.
*/
/* 
------------------------------------------------------------------------------------------------------------------------
1. BASIC STYLE  
------------------------------------------------------------------------------------------------------------------------
*/
.mCustomScrollbar {
  -ms-touch-action: pinch-zoom;
  touch-action: pinch-zoom;
  /* direct pointer events to js */ }

.mCustomScrollbar.mCS_no_scrollbar, .mCustomScrollbar.mCS_touch_action {
  -ms-touch-action: auto;
  touch-action: auto; }

.mCustomScrollBox {
  /* contains plugin's markup */
  position: relative;
  overflow: hidden;
  height: 100%;
  max-width: 100%;
  outline: none;
  direction: ltr; }

.mCSB_container {
  /* contains the original content */
  overflow: hidden;
  width: auto;
  height: auto; }

/* 
------------------------------------------------------------------------------------------------------------------------
2. VERTICAL SCROLLBAR 
y-axis
------------------------------------------------------------------------------------------------------------------------
*/
.mCSB_inside > .mCSB_container {
  margin-right: 30px; }

.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden {
  margin-right: 0; }

/* non-visible scrollbar */
.mCS-dir-rtl > .mCSB_inside > .mCSB_container {
  /* RTL direction/left-side scrollbar */
  margin-right: 0;
  margin-left: 30px; }

.mCS-dir-rtl > .mCSB_inside > .mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden {
  margin-left: 0; }

/* RTL direction/left-side scrollbar */
.mCSB_scrollTools {
  /* contains scrollbar markup (draggable element, dragger rail, buttons etc.) */
  position: absolute;
  width: 16px;
  height: auto;
  left: auto;
  top: 0;
  right: 0;
  bottom: 0; }

.mCSB_outside + .mCSB_scrollTools {
  right: -26px; }

/* scrollbar position: outside */
.mCS-dir-rtl > .mCSB_inside > .mCSB_scrollTools,
.mCS-dir-rtl > .mCSB_outside + .mCSB_scrollTools {
  /* RTL direction/left-side scrollbar */
  right: auto;
  left: 0; }

.mCS-dir-rtl > .mCSB_outside + .mCSB_scrollTools {
  left: -26px; }

/* RTL direction/left-side scrollbar (scrollbar position: outside) */
.mCSB_scrollTools .mCSB_draggerContainer {
  /* contains the draggable element and dragger rail markup */
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  height: auto; }

.mCSB_scrollTools a + .mCSB_draggerContainer {
  margin: 20px 0; }

.mCSB_scrollTools .mCSB_draggerRail {
  width: 2px;
  height: 100%;
  margin: 0 auto;
  border-radius: 16px; }

.mCSB_scrollTools .mCSB_dragger {
  /* the draggable element */
  cursor: pointer;
  width: 100%;
  height: 30px;
  /* minimum dragger height */
  z-index: 1; }

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  /* the dragger element */
  position: relative;
  width: 4px;
  height: 100%;
  margin: 0 auto;
  border-radius: 16px;
  text-align: center; }

.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  width: 12px;
  /* auto-expanded scrollbar */ }

.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  width: 8px;
  /* auto-expanded scrollbar */ }

.mCSB_scrollTools .mCSB_buttonUp,
.mCSB_scrollTools .mCSB_buttonDown {
  display: block;
  position: absolute;
  height: 20px;
  width: 100%;
  overflow: hidden;
  margin: 0 auto;
  cursor: pointer; }

.mCSB_scrollTools .mCSB_buttonDown {
  bottom: 0; }

/* 
------------------------------------------------------------------------------------------------------------------------
3. HORIZONTAL SCROLLBAR 
x-axis
------------------------------------------------------------------------------------------------------------------------
*/
.mCSB_horizontal.mCSB_inside > .mCSB_container {
  margin-right: 0;
  margin-bottom: 30px; }

.mCSB_horizontal.mCSB_outside > .mCSB_container {
  min-height: 100%; }

.mCSB_horizontal > .mCSB_container.mCS_no_scrollbar_x.mCS_x_hidden {
  margin-bottom: 0; }

/* non-visible scrollbar */
.mCSB_scrollTools.mCSB_scrollTools_horizontal {
  width: auto;
  height: 16px;
  top: auto;
  right: 0;
  bottom: 0;
  left: 0; }

.mCustomScrollBox + .mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCustomScrollBox + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  bottom: -26px; }

/* scrollbar position: outside */
.mCSB_scrollTools.mCSB_scrollTools_horizontal a + .mCSB_draggerContainer {
  margin: 0 20px; }

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 2px;
  margin: 7px 0; }

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 30px;
  /* minimum dragger width */
  height: 100%;
  left: 0; }

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 4px;
  margin: 6px auto; }

.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  height: 12px;
  /* auto-expanded scrollbar */
  margin: 2px auto; }

.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  height: 8px;
  /* auto-expanded scrollbar */
  margin: 4px 0; }

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft,
.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight {
  display: block;
  position: absolute;
  width: 20px;
  height: 100%;
  overflow: hidden;
  margin: 0 auto;
  cursor: pointer; }

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft {
  left: 0; }

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight {
  right: 0; }

/* 
------------------------------------------------------------------------------------------------------------------------
4. VERTICAL AND HORIZONTAL SCROLLBARS 
yx-axis 
------------------------------------------------------------------------------------------------------------------------
*/
.mCSB_container_wrapper {
  position: absolute;
  height: auto;
  width: auto;
  overflow: hidden;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin-right: 30px;
  margin-bottom: 30px; }

.mCSB_container_wrapper > .mCSB_container {
  padding-right: 30px;
  padding-bottom: 30px;
  box-sizing: border-box; }

.mCSB_vertical_horizontal > .mCSB_scrollTools.mCSB_scrollTools_vertical {
  bottom: 20px; }

.mCSB_vertical_horizontal > .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  right: 20px; }

/* non-visible horizontal scrollbar */
.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden + .mCSB_scrollTools.mCSB_scrollTools_vertical {
  bottom: 0; }

/* non-visible vertical scrollbar/RTL direction/left-side scrollbar */
.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden + .mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCS-dir-rtl > .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  right: 0; }

/* RTL direction/left-side scrollbar */
.mCS-dir-rtl > .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  left: 20px; }

/* non-visible scrollbar/RTL direction/left-side scrollbar */
.mCS-dir-rtl > .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden + .mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  left: 0; }

.mCS-dir-rtl > .mCSB_inside > .mCSB_container_wrapper {
  /* RTL direction/left-side scrollbar */
  margin-right: 0;
  margin-left: 30px; }

.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden > .mCSB_container {
  padding-right: 0; }

.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden > .mCSB_container {
  padding-bottom: 0; }

.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden {
  margin-right: 0;
  /* non-visible scrollbar */
  margin-left: 0; }

/* non-visible horizontal scrollbar */
.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden {
  margin-bottom: 0; }

/* 
------------------------------------------------------------------------------------------------------------------------
5. TRANSITIONS  
------------------------------------------------------------------------------------------------------------------------
*/
.mCSB_scrollTools,
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCSB_scrollTools .mCSB_buttonUp,
.mCSB_scrollTools .mCSB_buttonDown,
.mCSB_scrollTools .mCSB_buttonLeft,
.mCSB_scrollTools .mCSB_buttonRight {
  transition: opacity .2s ease-in-out, background-color .2s ease-in-out; }

.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,
.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail,
.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,
.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail {
  transition: width .2s ease-out .2s, height .2s ease-out .2s, 
 margin-left .2s ease-out .2s, margin-right .2s ease-out .2s, 
 margin-top .2s ease-out .2s, margin-bottom .2s ease-out .2s,
 opacity .2s ease-in-out, background-color .2s ease-in-out; }

/* 
------------------------------------------------------------------------------------------------------------------------
6. SCROLLBAR COLORS, OPACITY AND BACKGROUNDS  
------------------------------------------------------------------------------------------------------------------------
*/
/* 
	----------------------------------------
	6.1 THEMES 
	----------------------------------------
	*/
/* default theme ("light") */
.mCSB_scrollTools {
  opacity: 0.75;
  filter: "alpha(opacity=75)";
  -ms-filter: "alpha(opacity=75)"; }

.mCS-autoHide > .mCustomScrollBox > .mCSB_scrollTools,
.mCS-autoHide > .mCustomScrollBox ~ .mCSB_scrollTools {
  opacity: 0;
  filter: "alpha(opacity=0)";
  -ms-filter: "alpha(opacity=0)"; }

.mCustomScrollbar > .mCustomScrollBox > .mCSB_scrollTools.mCSB_scrollTools_onDrag,
.mCustomScrollbar > .mCustomScrollBox ~ .mCSB_scrollTools.mCSB_scrollTools_onDrag,
.mCustomScrollBox:hover > .mCSB_scrollTools,
.mCustomScrollBox:hover ~ .mCSB_scrollTools,
.mCS-autoHide:hover > .mCustomScrollBox > .mCSB_scrollTools,
.mCS-autoHide:hover > .mCustomScrollBox ~ .mCSB_scrollTools {
  opacity: 1;
  filter: "alpha(opacity=100)";
  -ms-filter: "alpha(opacity=100)"; }

.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.4);
  filter: "alpha(opacity=40)";
  -ms-filter: "alpha(opacity=40)"; }

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.75);
  filter: "alpha(opacity=75)";
  -ms-filter: "alpha(opacity=75)"; }

.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.85);
  filter: "alpha(opacity=85)";
  -ms-filter: "alpha(opacity=85)"; }

.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9);
  filter: "alpha(opacity=90)";
  -ms-filter: "alpha(opacity=90)"; }

.mCSB_scrollTools .mCSB_buttonUp,
.mCSB_scrollTools .mCSB_buttonDown,
.mCSB_scrollTools .mCSB_buttonLeft,
.mCSB_scrollTools .mCSB_buttonRight {
  background-image: url(mCSB_buttons.png);
  /* css sprites */
  background-repeat: no-repeat;
  opacity: 0.4;
  filter: "alpha(opacity=40)";
  -ms-filter: "alpha(opacity=40)"; }

.mCSB_scrollTools .mCSB_buttonUp {
  background-position: 0 0;
  /* 
		sprites locations 
		light: 0 0, -16px 0, -32px 0, -48px 0, 0 -72px, -16px -72px, -32px -72px
		dark: -80px 0, -96px 0, -112px 0, -128px 0, -80px -72px, -96px -72px, -112px -72px
		*/ }

.mCSB_scrollTools .mCSB_buttonDown {
  background-position: 0 -20px;
  /* 
		sprites locations
		light: 0 -20px, -16px -20px, -32px -20px, -48px -20px, 0 -92px, -16px -92px, -32px -92px
		dark: -80px -20px, -96px -20px, -112px -20px, -128px -20px, -80px -92px, -96px -92px, -112 -92px
		*/ }

.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: 0 -40px;
  /* 
		sprites locations 
		light: 0 -40px, -20px -40px, -40px -40px, -60px -40px, 0 -112px, -20px -112px, -40px -112px
		dark: -80px -40px, -100px -40px, -120px -40px, -140px -40px, -80px -112px, -100px -112px, -120px -112px
		*/ }

.mCSB_scrollTools .mCSB_buttonRight {
  background-position: 0 -56px;
  /* 
		sprites locations 
		light: 0 -56px, -20px -56px, -40px -56px, -60px -56px, 0 -128px, -20px -128px, -40px -128px
		dark: -80px -56px, -100px -56px, -120px -56px, -140px -56px, -80px -128px, -100px -128px, -120px -128px
		*/ }

.mCSB_scrollTools .mCSB_buttonUp:hover,
.mCSB_scrollTools .mCSB_buttonDown:hover,
.mCSB_scrollTools .mCSB_buttonLeft:hover,
.mCSB_scrollTools .mCSB_buttonRight:hover {
  opacity: 0.75;
  filter: "alpha(opacity=75)";
  -ms-filter: "alpha(opacity=75)"; }

.mCSB_scrollTools .mCSB_buttonUp:active,
.mCSB_scrollTools .mCSB_buttonDown:active,
.mCSB_scrollTools .mCSB_buttonLeft:active,
.mCSB_scrollTools .mCSB_buttonRight:active {
  opacity: 0.9;
  filter: "alpha(opacity=90)";
  -ms-filter: "alpha(opacity=90)"; }

/* theme: "dark" */
.mCS-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.15); }

.mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75); }

.mCS-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -80px 0; }

.mCS-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -80px -20px; }

.mCS-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -80px -40px; }

.mCS-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -80px -56px; }

/* ---------------------------------------- */
/* theme: "light-2", "dark-2" */
.mCS-light-2.mCSB_scrollTools .mCSB_draggerRail,
.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail {
  width: 4px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 1px; }

.mCS-light-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 4px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.75);
  border-radius: 1px; }

.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 4px;
  margin: 6px auto; }

.mCS-light-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.85); }

.mCS-light-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-light-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9); }

.mCS-light-2.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px 0; }

.mCS-light-2.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -20px; }

.mCS-light-2.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -40px; }

.mCS-light-2.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -56px; }

/* theme: "dark-2" */
.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 1px; }

.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75);
  border-radius: 1px; }

.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-dark-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px 0; }

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -20px; }

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -40px; }

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -56px; }

/* ---------------------------------------- */
/* theme: "light-thick", "dark-thick" */
.mCS-light-thick.mCSB_scrollTools .mCSB_draggerRail,
.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail {
  width: 4px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 2px; }

.mCS-light-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 6px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.75);
  border-radius: 2px; }

.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 4px;
  margin: 6px 0; }

.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 6px;
  margin: 5px auto; }

.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.85); }

.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-light-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9); }

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -16px 0; }

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -16px -20px; }

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -20px -40px; }

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -20px -56px; }

/* theme: "dark-thick" */
.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 2px; }

.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75);
  border-radius: 2px; }

.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -96px 0; }

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -96px -20px; }

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -100px -40px; }

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -100px -56px; }

/* ---------------------------------------- */
/* theme: "light-thin", "dark-thin" */
.mCS-light-thin.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.1); }

.mCS-light-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 2px; }

.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%; }

.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 2px;
  margin: 7px auto; }

/* theme "dark-thin" */
.mCS-dark-thin.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.15); }

.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75); }

.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -80px 0; }

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -80px -20px; }

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -80px -40px; }

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -80px -56px; }

/* ---------------------------------------- */
/* theme "rounded", "rounded-dark", "rounded-dots", "rounded-dots-dark" */
.mCS-rounded.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.15); }

.mCS-rounded.mCSB_scrollTools .mCSB_dragger,
.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger,
.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger {
  height: 14px; }

.mCS-rounded.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 14px;
  margin: 0 1px; }

.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 14px; }

.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  height: 14px;
  margin: 1px 0; }

.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  width: 16px;
  /* auto-expanded scrollbar */
  height: 16px;
  margin: -1px 0; }

.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,
.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  width: 4px;
  /* auto-expanded scrollbar */ }

.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  height: 16px;
  /* auto-expanded scrollbar */
  width: 16px;
  margin: 0 -1px; }

.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,
.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  height: 4px;
  /* auto-expanded scrollbar */
  margin: 6px 0; }

.mCS-rounded.mCSB_scrollTools .mCSB_buttonUp {
  background-position: 0 -72px; }

.mCS-rounded.mCSB_scrollTools .mCSB_buttonDown {
  background-position: 0 -92px; }

.mCS-rounded.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: 0 -112px; }

.mCS-rounded.mCSB_scrollTools .mCSB_buttonRight {
  background-position: 0 -128px; }

/* theme "rounded-dark", "rounded-dots-dark" */
.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75); }

.mCS-rounded-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.15); }

.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -80px -72px; }

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -80px -92px; }

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -80px -112px; }

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -80px -128px; }

/* theme "rounded-dots", "rounded-dots-dark" */
.mCS-rounded-dots.mCSB_scrollTools_vertical .mCSB_draggerRail,
.mCS-rounded-dots-dark.mCSB_scrollTools_vertical .mCSB_draggerRail {
  width: 4px; }

.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  background-color: transparent;
  background-position: center; }

.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAANElEQVQYV2NkIAAYiVbw//9/Y6DiM1ANJoyMjGdBbLgJQAX/kU0DKgDLkaQAvxW4HEvQFwCRcxIJK1XznAAAAABJRU5ErkJggg==");
  background-repeat: repeat-y;
  opacity: 0.3;
  filter: "alpha(opacity=30)";
  -ms-filter: "alpha(opacity=30)"; }

.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  height: 4px;
  margin: 6px 0;
  background-repeat: repeat-x; }

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -16px -72px; }

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -16px -92px; }

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -20px -112px; }

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -20px -128px; }

/* theme "rounded-dots-dark" */
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYV2NkIAAYSVFgDFR8BqrBBEifBbGRTfiPZhpYjiQFBK3A6l6CvgAAE9kGCd1mvgEAAAAASUVORK5CYII="); }

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -96px -72px; }

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -96px -92px; }

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -100px -112px; }

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -100px -128px; }

/* ---------------------------------------- */
/* theme "3d", "3d-dark", "3d-thick", "3d-thick-dark" */
.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-repeat: repeat-y;
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%); }

.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  background-repeat: repeat-x;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%); }

/* theme "3d", "3d-dark" */
.mCS-3d.mCSB_scrollTools_vertical .mCSB_dragger,
.mCS-3d-dark.mCSB_scrollTools_vertical .mCSB_dragger {
  height: 70px; }

.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 70px; }

.mCS-3d.mCSB_scrollTools,
.mCS-3d-dark.mCSB_scrollTools {
  opacity: 1;
  filter: "alpha(opacity=30)";
  -ms-filter: "alpha(opacity=30)"; }

.mCS-3d.mCSB_scrollTools .mCSB_draggerRail,
.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  border-radius: 16px; }

.mCS-3d.mCSB_scrollTools .mCSB_draggerRail,
.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail {
  width: 8px;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.2);
  box-shadow: inset 1px 0 1px rgba(0, 0, 0, 0.5), inset -1px 0 1px rgba(255, 255, 255, 0.2); }

.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-3d.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-3d.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #555; }

.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 8px; }

.mCS-3d.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 8px;
  margin: 4px 0;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.5), inset 0 -1px 1px rgba(255, 255, 255, 0.2); }

.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 8px;
  margin: 4px auto; }

.mCS-3d.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px; }

.mCS-3d.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px; }

.mCS-3d.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px; }

.mCS-3d.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px; }

/* theme "3d-dark" */
.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.1);
  box-shadow: inset 1px 0 1px rgba(0, 0, 0, 0.1); }

.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1); }

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px; }

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px; }

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px; }

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px; }

/* ---------------------------------------- */
/* theme: "3d-thick", "3d-thick-dark" */
.mCS-3d-thick.mCSB_scrollTools,
.mCS-3d-thick-dark.mCSB_scrollTools {
  opacity: 1;
  filter: "alpha(opacity=30)";
  -ms-filter: "alpha(opacity=30)"; }

.mCS-3d-thick.mCSB_scrollTools,
.mCS-3d-thick-dark.mCSB_scrollTools,
.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer {
  border-radius: 7px; }

.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  border-radius: 5px; }

.mCSB_inside + .mCS-3d-thick.mCSB_scrollTools_vertical,
.mCSB_inside + .mCS-3d-thick-dark.mCSB_scrollTools_vertical {
  right: 1px; }

.mCS-3d-thick.mCSB_scrollTools_vertical,
.mCS-3d-thick-dark.mCSB_scrollTools_vertical {
  box-shadow: inset 1px 0 1px rgba(0, 0, 0, 0.1), inset 0 0 14px rgba(0, 0, 0, 0.5); }

.mCS-3d-thick.mCSB_scrollTools_horizontal,
.mCS-3d-thick-dark.mCSB_scrollTools_horizontal {
  bottom: 1px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1), inset 0 0 14px rgba(0, 0, 0, 0.5); }

.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.4);
  width: 12px;
  margin: 2px;
  position: absolute;
  height: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }

.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4); }

.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #555; }

.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  height: 12px;
  width: auto; }

.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.05);
  box-shadow: inset 1px 1px 16px rgba(0, 0, 0, 0.1); }

.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent; }

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px; }

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px; }

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px; }

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px; }

/* theme: "3d-thick-dark" */
.mCS-3d-thick-dark.mCSB_scrollTools {
  box-shadow: inset 0 0 14px rgba(0, 0, 0, 0.2); }

.mCS-3d-thick-dark.mCSB_scrollTools_horizontal {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1), inset 0 0 14px rgba(0, 0, 0, 0.2); }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.4), inset -1px 0 0 rgba(0, 0, 0, 0.2); }

.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), inset 0 -1px 0 rgba(0, 0, 0, 0.2); }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #777; }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer {
  background-color: #fff;
  background-color: rgba(0, 0, 0, 0.05);
  box-shadow: inset 1px 1px 16px rgba(0, 0, 0, 0.1); }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent; }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px; }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px; }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px; }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px; }

/* ---------------------------------------- */
/* theme: "minimal", "minimal-dark" */
.mCSB_outside + .mCS-minimal.mCSB_scrollTools_vertical,
.mCSB_outside + .mCS-minimal-dark.mCSB_scrollTools_vertical {
  right: 0;
  margin: 12px 0; }

.mCustomScrollBox.mCS-minimal + .mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCustomScrollBox.mCS-minimal + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCustomScrollBox.mCS-minimal-dark + .mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCustomScrollBox.mCS-minimal-dark + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  bottom: 0;
  margin: 0 12px; }

/* RTL direction/left-side scrollbar */
.mCS-dir-rtl > .mCSB_outside + .mCS-minimal.mCSB_scrollTools_vertical,
.mCS-dir-rtl > .mCSB_outside + .mCS-minimal-dark.mCSB_scrollTools_vertical {
  left: 0;
  right: auto; }

.mCS-minimal.mCSB_scrollTools .mCSB_draggerRail,
.mCS-minimal-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent; }

.mCS-minimal.mCSB_scrollTools_vertical .mCSB_dragger,
.mCS-minimal-dark.mCSB_scrollTools_vertical .mCSB_dragger {
  height: 50px; }

.mCS-minimal.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-minimal-dark.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 50px; }

.mCS-minimal.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.2);
  filter: "alpha(opacity=20)";
  -ms-filter: "alpha(opacity=20)"; }

.mCS-minimal.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-minimal.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.5);
  filter: "alpha(opacity=50)";
  -ms-filter: "alpha(opacity=50)"; }

/* theme: "minimal-dark" */
.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.2);
  filter: "alpha(opacity=20)";
  -ms-filter: "alpha(opacity=20)"; }

.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.5);
  filter: "alpha(opacity=50)";
  -ms-filter: "alpha(opacity=50)"; }

/* ---------------------------------------- */
/* theme "light-3", "dark-3" */
.mCS-light-3.mCSB_scrollTools .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail {
  width: 6px;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.2); }

.mCS-light-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 6px; }

.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 6px;
  margin: 5px 0; }

.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  width: 12px; }

.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  height: 12px;
  margin: 2px 0; }

.mCS-light-3.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px; }

.mCS-light-3.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px; }

.mCS-light-3.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px; }

.mCS-light-3.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px; }

/* theme "dark-3" */
.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75); }

.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-dark-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.1); }

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px; }

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px; }

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px; }

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px; }

/* ---------------------------------------- */
/* theme "inset", "inset-dark", "inset-2", "inset-2-dark", "inset-3", "inset-3-dark" */
.mCS-inset.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail {
  width: 12px;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.2); }

.mCS-inset.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 6px;
  margin: 3px 5px;
  position: absolute;
  height: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }

.mCS-inset.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  height: 6px;
  margin: 5px 3px;
  position: absolute;
  width: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }

.mCS-inset.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 12px;
  margin: 2px 0; }

.mCS-inset.mCSB_scrollTools .mCSB_buttonUp,
.mCS-inset-2.mCSB_scrollTools .mCSB_buttonUp,
.mCS-inset-3.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px; }

.mCS-inset.mCSB_scrollTools .mCSB_buttonDown,
.mCS-inset-2.mCSB_scrollTools .mCSB_buttonDown,
.mCS-inset-3.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px; }

.mCS-inset.mCSB_scrollTools .mCSB_buttonLeft,
.mCS-inset-2.mCSB_scrollTools .mCSB_buttonLeft,
.mCS-inset-3.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px; }

.mCS-inset.mCSB_scrollTools .mCSB_buttonRight,
.mCS-inset-2.mCSB_scrollTools .mCSB_buttonRight,
.mCS-inset-3.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px; }

/* theme "inset-dark", "inset-2-dark", "inset-3-dark" */
.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75); }

.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.1); }

.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonUp,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonUp,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px; }

.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonDown,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonDown,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px; }

.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonLeft,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonLeft,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px; }

.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonRight,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonRight,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px; }

/* theme "inset-2", "inset-2-dark" */
.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent;
  border-width: 1px;
  border-style: solid;
  border-color: #fff;
  border-color: rgba(255, 255, 255, 0.2);
  box-sizing: border-box; }

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail {
  border-color: #000;
  border-color: rgba(0, 0, 0, 0.2); }

/* theme "inset-3", "inset-3-dark" */
.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6); }

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.6); }

.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75); }

.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.75); }

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.85); }

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9); }

/* ---------------------------------------- */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
   * 1. Set default font family to sans-serif.
   * 2. Prevent iOS and IE text size adjust after device orientation change,
   *    without disabling user zoom.
   */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
   * Remove default margin.
   */
body {
  margin: 0; }

/* HTML5 display definitions
     ========================================================================== */
/**
   * Correct `block` display not defined for any HTML5 element in IE 8/9.
   * Correct `block` display not defined for `details` or `summary` in IE 10/11
   * and Firefox.
   * Correct `block` display not defined for `main` in IE 11.
   */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
   * 1. Correct `inline-block` display not defined in IE 8/9.
   * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
   */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
   * Prevent modern browsers from displaying `audio` without controls.
   * Remove excess height in iOS 5 devices.
   */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
   * Address `[hidden]` styling not present in IE 8/9/10.
   * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
   */
[hidden],
template {
  display: none; }

/* Links
     ========================================================================== */
/**
   * Remove the gray background color from active links in IE 10.
   */
a {
  background-color: transparent; }

/**
   * Improve readability of focused elements when they are also in an
   * active/hover state.
   */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
     ========================================================================== */
/**
   * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
   */
abbr[title] {
  border-bottom: 1px dotted; }

/**
   * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
   */
b,
strong {
  font-weight: bold; }

/**
   * Address styling not present in Safari and Chrome.
   */
dfn {
  font-style: italic; }

/**
   * Address variable `h1` font-size and margin within `section` and `article`
   * contexts in Firefox 4+, Safari, and Chrome.
   */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
   * Address styling not present in IE 8/9.
   */
mark {
  background: #ff0;
  color: #000; }

/**
   * Address inconsistent and variable font size in all browsers.
   */
small {
  font-size: 80%; }

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
     ========================================================================== */
/**
   * Remove border when inside `a` element in IE 8/9/10.
   */
img {
  border: 0; }

/**
   * Correct overflow not hidden in IE 9/10/11.
   */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
     ========================================================================== */
/**
   * Address margin not present in IE 8/9 and Safari.
   */
figure {
  margin: 1em 40px; }

/**
   * Address differences between Firefox and other browsers.
   */
hr {
  box-sizing: content-box;
  height: 0; }

/**
   * Contain overflow in all browsers.
   */
pre {
  overflow: auto; }

/**
   * Address odd `em`-unit font size rendering in all browsers.
   */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
     ========================================================================== */
/**
   * Known limitation: by default, Chrome and Safari on OS X allow very limited
   * styling of `select`, unless a `border` property is set.
   */
/**
   * 1. Correct color not being inherited.
   *    Known issue: affects color of disabled elements.
   * 2. Correct font properties not being inherited.
   * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
   */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
   * Address `overflow` set to `hidden` in IE 8/9/10/11.
   */
button {
  overflow: visible; }

/**
   * Address inconsistent `text-transform` inheritance for `button` and `select`.
   * All other form control elements do not inherit `text-transform` values.
   * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
   * Correct `select` style inheritance in Firefox.
   */
button,
select {
  text-transform: none; }

/**
   * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
   *    and `video` controls.
   * 2. Correct inability to style clickable `input` types in iOS.
   * 3. Improve usability and consistency of cursor style between image-type
   *    `input` and others.
   */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
   * Re-set default cursor for disabled elements.
   */
button[disabled],
html input[disabled] {
  cursor: not-allowed; }

/**
   * Remove inner padding and border in Firefox 4+.
   */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
   * Address Firefox 4+ setting `line-height` on `input` using `!important` in
   * the UA stylesheet.
   */
input {
  line-height: normal; }

/**
   * It's recommended that you don't attempt to style these elements.
   * Firefox's implementation doesn't respect box-sizing, padding, or width.
   *
   * 1. Address box sizing set to `content-box` in IE 8/9/10.
   * 2. Remove excess padding in IE 8/9/10.
   */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
   * Fix the cursor style for Chrome's increment/decrement buttons. For certain
   * `font-size` values of the `input`, it causes the cursor style of the
   * decrement button to change from `default` to `text`.
   */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
   * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
   * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
   */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */ }

/**
   * Remove inner padding and search cancel button in Safari and Chrome on OS X.
   * Safari (but not Chrome) clips the cancel button when the search input has
   * padding (and `textfield` appearance).
   */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
   * Define consistent border, margin, and padding.
   * [NOTE] We don't enable this ruleset in Foundation, because we want the <fieldset> element to have plain styling.
   */
/* fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
  } */
/**
   * 1. Correct `color` not being inherited in IE 8/9/10/11.
   * 2. Remove padding so people aren't caught out if they zero out fieldsets.
   */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
   * Remove default vertical scrollbar in IE 8/9/10/11.
   */
textarea {
  overflow: auto; }

/**
   * Don't inherit the `font-weight` (applied by a rule above).
   * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
   */
optgroup {
  font-weight: bold; }

/* Tables
     ========================================================================== */
/**
   * Remove most spacing between table cells.
   */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }

html {
  font-size: 100%;
  box-sizing: border-box; }

*,
*::before,
*::after {
  box-sizing: inherit; }

body {
  padding: 0;
  margin: 0;
  font-family: "Futura", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  background: #fefefe;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
  display: inline-block;
  vertical-align: middle; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  width: 100%;
  border-radius: 0; }

#map_canvas img,
#map_canvas embed,
#map_canvas object,
.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: transparent;
  padding: 0;
  border: 0;
  border-radius: 0;
  line-height: 1; }
  [data-whatinput='mouse'] button {
    outline: 0; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

p {
  font-size: inherit;
  line-height: 1.6;
  margin-bottom: 1rem;
  text-rendering: optimizeLegibility; }

em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: bold;
  line-height: inherit; }

small {
  font-size: 80%;
  line-height: inherit; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Futura", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  font-style: normal;
  color: inherit;
  text-rendering: optimizeLegibility;
  margin-top: 0;
  margin-bottom: 0.5rem;
  line-height: 1.4; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  h5 small,
  h6 small {
    color: #bbb;
    line-height: 0; }

h1 {
  font-size: 1.5rem; }

h2 {
  font-size: 1.25rem; }

h3 {
  font-size: 1.1875rem; }

h4 {
  font-size: 1.125rem; }

h5 {
  font-size: 1.0625rem; }

h6 {
  font-size: 1rem; }

@media screen and (min-width: 40em) {
  h1 {
    font-size: 3rem; }
  h2 {
    font-size: 2.5rem; }
  h3 {
    font-size: 1.9375rem; }
  h4 {
    font-size: 1.5625rem; }
  h5 {
    font-size: 1.25rem; }
  h6 {
    font-size: 1rem; } }

a {
  color: #fefefe;
  text-decoration: none;
  line-height: inherit;
  cursor: pointer; }
  a:hover, a:focus {
    color: #dadada; }
  a img {
    border: 0; }

hr {
  max-width: 75rem;
  height: 0;
  border-right: 0;
  border-top: 0;
  border-bottom: 1px solid #bbb;
  border-left: 0;
  margin: 1.25rem auto;
  clear: both; }

ul,
ol,
dl {
  line-height: 1.6;
  margin-bottom: 1rem;
  list-style-position: outside; }

li {
  font-size: inherit; }

ul {
  list-style-type: disc;
  margin-left: 1.25rem; }

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #bbb; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #666; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #666; }
  cite:before {
    content: '\2014 \0020'; }

abbr {
  color: #0a0a0a;
  cursor: help;
  border-bottom: 1px dotted #0a0a0a; }

code {
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #0a0a0a;
  background-color: #e6e6e6;
  border: 1px solid #bbb;
  padding: 0.125rem 0.3125rem 0.0625rem; }

kbd {
  padding: 0.125rem 0.25rem 0;
  margin: 0;
  background-color: #e6e6e6;
  color: #0a0a0a;
  font-family: Consolas, "Liberation Mono", Courier, monospace; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #666; }

.lead {
  font-size: 125%;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

.no-bullet {
  margin-left: 0;
  list-style: none; }

.text-left {
  text-align: left; }

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

.text-center {
  text-align: center; }

.text-justify {
  text-align: justify; }

@media screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media screen and (min-width: 64em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #666;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

.button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 0;
  padding: 0.65em 2em;
  margin: 0 0 1rem 0;
  font-size: 20px;
  background-color: #c68c31;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #a8772a;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-left: 0;
    margin-right: 0; }
  .button.primary {
    background-color: #c68c31;
    color: #fefefe; }
    .button.primary:hover, .button.primary:focus {
      background-color: #9e7027;
      color: #fefefe; }
  .button.secondary {
    background-color: #777;
    color: #fefefe; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5f5f5f;
      color: #fefefe; }
  .button.success {
    background-color: #3adb76;
    color: #fefefe; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #fefefe; }
  .button.warning {
    background-color: #ffae00;
    color: #fefefe; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #fefefe; }
  .button.alert {
    background-color: #ec5840;
    color: #fefefe; }
    .button.alert:hover, .button.alert:focus {
      background-color: #da3116;
      color: #fefefe; }
  .button.danger {
    background-color: #b3122d;
    color: #fefefe; }
    .button.danger:hover, .button.danger:focus {
      background-color: #8f0e24;
      color: #fefefe; }
  .button.bright {
    background-color: #ff6600;
    color: #fefefe; }
    .button.bright:hover, .button.bright:focus {
      background-color: #cc5200;
      color: #fefefe; }
  .button.link {
    background-color: #fefefe;
    color: #0a0a0a; }
    .button.link:hover, .button.link:focus {
      background-color: #cbcbcb;
      color: #0a0a0a; }
  .button.hollow {
    border: 1px solid #c68c31;
    color: #c68c31; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #634619;
      color: #634619; }
    .button.hollow.primary {
      border: 1px solid #c68c31;
      color: #c68c31; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #634619;
        color: #634619; }
    .button.hollow.secondary {
      border: 1px solid #777;
      color: #777; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3c3c3c;
        color: #3c3c3c; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
    .button.hollow.alert {
      border: 1px solid #ec5840;
      color: #ec5840; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #881f0e;
        color: #881f0e; }
    .button.hollow.danger {
      border: 1px solid #b3122d;
      color: #b3122d; }
      .button.hollow.danger:hover, .button.hollow.danger:focus {
        border-color: #5a0917;
        color: #5a0917; }
    .button.hollow.bright {
      border: 1px solid #ff6600;
      color: #ff6600; }
      .button.hollow.bright:hover, .button.hollow.bright:focus {
        border-color: #803300;
        color: #803300; }
    .button.hollow.link {
      border: 1px solid #fefefe;
      color: #fefefe; }
      .button.hollow.link:hover, .button.hollow.link:focus {
        border-color: #7f7f7f;
        color: #7f7f7f; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      background-color: #c68c31;
      color: #fefefe; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #c68c31;
        color: #fefefe; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #777;
        color: #fefefe; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3adb76;
        color: #fefefe; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #fefefe; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #ec5840;
        color: #fefefe; }
    .button.disabled.danger, .button[disabled].danger {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.danger:hover, .button.disabled.danger:focus, .button[disabled].danger:hover, .button[disabled].danger:focus {
        background-color: #b3122d;
        color: #fefefe; }
    .button.disabled.bright, .button[disabled].bright {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.bright:hover, .button.disabled.bright:focus, .button[disabled].bright:hover, .button[disabled].bright:focus {
        background-color: #ff6600;
        color: #fefefe; }
    .button.disabled.link, .button[disabled].link {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.link:hover, .button.disabled.link:focus, .button[disabled].link:hover, .button[disabled].link:focus {
        background-color: #fefefe;
        color: #fefefe; }
  .button.dropdown::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    border-color: #fefefe transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    position: relative;
    top: 0.4em;
    float: right;
    margin-left: 2em;
    display: inline-block; }
  .button.arrow-only::after {
    margin-left: 0;
    float: none;
    top: -0.1em; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  padding: 0.5rem;
  border: none;
  margin: 0 0 1rem;
  font-family: inherit;
  font-size: 1rem;
  color: #0a0a0a;
  background-color: #fefefe;
  box-shadow: none;
  border-radius: 0;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
  -moz-appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    border: 1px solid transparent;
    background-color: #fefefe;
    outline: none;
    box-shadow: none;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #bbb; }

input::-moz-placeholder,
textarea::-moz-placeholder {
  color: #bbb; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #bbb; }

input::placeholder,
textarea::placeholder {
  color: #bbb; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: default; }

[type='submit'],
[type='button'] {
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none; }

input[type='search'] {
  box-sizing: border-box; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
  vertical-align: baseline; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #0a0a0a; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #0a0a0a; }

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1rem; }
  .input-group > :first-child {
    border-radius: 0 0 0 0; }
  .input-group > :last-child > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button {
  margin: 0;
  white-space: nowrap;
  display: table-cell;
  vertical-align: middle; }

.input-group-label {
  text-align: center;
  padding: 0 1rem;
  background: transparent;
  color: #0a0a0a;
  border: none;
  white-space: nowrap;
  width: 1%;
  height: 100%; }

.input-group-field {
  border-radius: 0;
  height: 2.5rem; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  height: 100%;
  width: 1%; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button {
    margin: 0; }

.input-group .input-group-button {
  display: table-cell; }

fieldset {
  border: 0;
  padding: 0;
  margin: 0; }

legend {
  margin-bottom: 0.5rem;
  max-width: 100%; }

.fieldset {
  border: 1px solid #bbb;
  padding: 1.25rem;
  margin: 1.125rem 0; }
  .fieldset legend {
    background: #fefefe;
    padding: 0 0.1875rem;
    margin: 0;
    margin-left: -0.1875rem; }

select {
  height: 2.4375rem;
  padding: 0.5rem;
  border: none;
  margin: 0 0 1rem;
  font-size: 1rem;
  font-family: inherit;
  line-height: normal;
  color: #0a0a0a;
  background-color: #fefefe;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28102, 102, 102%29'></polygon></svg>");
  background-size: 9px 6px;
  background-position: right -1rem center;
  background-origin: content-box;
  background-repeat: no-repeat;
  padding-right: 1.5rem; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:disabled {
    background-color: #e6e6e6;
    cursor: default; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  background-color: rgba(236, 88, 64, 0.1);
  border-color: #ec5840; }

.is-invalid-label {
  color: #ec5840; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #ec5840; }
  .form-error.is-visible {
    display: block; }

.close-button {
  position: absolute;
  color: #666;
  right: 1rem;
  top: 0.5rem;
  font-size: 2em;
  line-height: 1;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #0a0a0a; }

body.is-reveal-open {
  overflow: hidden; }

html.is-reveal-open,
html.is-reveal-open body {
  min-height: 100%;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.reveal-overlay {
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1005;
  background-color: rgba(10, 10, 10, 0.45);
  overflow-y: scroll; }

.reveal {
  display: none;
  z-index: 1006;
  padding: 1rem;
  border: 1px solid #bbb;
  background-color: #fefefe;
  border-radius: 0;
  position: relative;
  top: 100px;
  margin-left: auto;
  margin-right: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column,
  .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 75rem; } }
  @media screen and (min-width: 40em) {
    .reveal .reveal {
      left: auto;
      right: auto;
      margin: 0 auto; } }
  .reveal.collapse {
    padding: 0; }
  @media screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 75rem; } }
  @media screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 75rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    max-width: none;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 39.9375em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      max-width: none;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.tabs {
  margin: 0;
  list-style-type: none;
  background: #fefefe;
  border: 1px solid transparent; }
  .tabs::before, .tabs::after {
    content: ' ';
    display: table; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  width: auto;
  float: none;
  display: block; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #c68c31; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #bc852f; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    line-height: 1;
    font-size: 24px; }
    .tabs-title > a:hover {
      background: #fefefe; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #fefefe; }

.tabs-content {
  background: #fefefe;
  transition: all 0.5s ease;
  border: 1px solid transparent;
  border-top: 0; }

.tabs-content.vertical {
  border: 1px solid transparent;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel.is-active {
    display: block; }

.slide-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateY(-100%);
      transform: translateY(-100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-down.mui-enter.mui-enter-active {
  -ms-transform: translateY(0);
      transform: translateY(0); }

.slide-in-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateX(-100%);
      transform: translateX(-100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-left.mui-enter.mui-enter-active {
  -ms-transform: translateX(0);
      transform: translateX(0); }

.slide-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateY(100%);
      transform: translateY(100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-up.mui-enter.mui-enter-active {
  -ms-transform: translateY(0);
      transform: translateY(0); }

.slide-in-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateX(100%);
      transform: translateX(100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-right.mui-enter.mui-enter-active {
  -ms-transform: translateX(0);
      transform: translateX(0); }

.slide-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateY(0);
      transform: translateY(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-down.mui-leave.mui-leave-active {
  -ms-transform: translateY(100%);
      transform: translateY(100%); }

.slide-out-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateX(0);
      transform: translateX(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-right.mui-leave.mui-leave-active {
  -ms-transform: translateX(100%);
      transform: translateX(100%); }

.slide-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateY(0);
      transform: translateY(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-up.mui-leave.mui-leave-active {
  -ms-transform: translateY(-100%);
      transform: translateY(-100%); }

.slide-out-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateX(0);
      transform: translateX(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-left.mui-leave.mui-leave-active {
  -ms-transform: translateX(-100%);
      transform: translateX(-100%); }

.fade-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 0;
  transition-property: opacity; }

.fade-in.mui-enter.mui-enter-active {
  opacity: 1; }

.fade-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 1;
  transition-property: opacity; }

.fade-out.mui-leave.mui-leave-active {
  opacity: 0; }

.hinge-in-from-top.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(-90deg);
  -ms-transform-origin: top;
      transform-origin: top;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-top.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(-90deg);
  -ms-transform-origin: right;
      transform-origin: right;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-right.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-bottom.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(90deg);
  -ms-transform-origin: bottom;
      transform-origin: bottom;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(90deg);
  -ms-transform-origin: left;
      transform-origin: left;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-left.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-x.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(-90deg);
  -ms-transform-origin: center;
      transform-origin: center;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-y.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(-90deg);
  -ms-transform-origin: center;
      transform-origin: center;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-out-from-top.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: top;
      transform-origin: top;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-top.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: right;
      transform-origin: right;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-right.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.hinge-out-from-bottom.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: bottom;
      transform-origin: bottom;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(90deg);
  opacity: 0; }

.hinge-out-from-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: left;
      transform-origin: left;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-left.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(90deg);
  opacity: 0; }

.hinge-out-from-middle-x.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: center;
      transform-origin: center;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-middle-y.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: center;
      transform-origin: center;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.scale-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: scale(0.5);
      transform: scale(0.5);
  transition-property: transform, opacity;
  opacity: 0; }

.scale-in-up.mui-enter.mui-enter-active {
  -ms-transform: scale(1);
      transform: scale(1);
  opacity: 1; }

.scale-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: scale(1.5);
      transform: scale(1.5);
  transition-property: transform, opacity;
  opacity: 0; }

.scale-in-down.mui-enter.mui-enter-active {
  -ms-transform: scale(1);
      transform: scale(1);
  opacity: 1; }

.scale-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: scale(1);
      transform: scale(1);
  transition-property: transform, opacity;
  opacity: 1; }

.scale-out-up.mui-leave.mui-leave-active {
  -ms-transform: scale(1.5);
      transform: scale(1.5);
  opacity: 0; }

.scale-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: scale(1);
      transform: scale(1);
  transition-property: transform, opacity;
  opacity: 1; }

.scale-out-down.mui-leave.mui-leave-active {
  -ms-transform: scale(0.5);
      transform: scale(0.5);
  opacity: 0; }

.spin-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: rotate(-0.75turn);
      transform: rotate(-0.75turn);
  transition-property: transform, opacity;
  opacity: 0; }

.spin-in.mui-enter.mui-enter-active {
  -ms-transform: rotate(0);
      transform: rotate(0);
  opacity: 1; }

.spin-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: rotate(0);
      transform: rotate(0);
  transition-property: transform, opacity;
  opacity: 1; }

.spin-out.mui-leave.mui-leave-active {
  -ms-transform: rotate(0.75turn);
      transform: rotate(0.75turn);
  opacity: 0; }

.spin-in-ccw.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: rotate(0.75turn);
      transform: rotate(0.75turn);
  transition-property: transform, opacity;
  opacity: 0; }

.spin-in-ccw.mui-enter.mui-enter-active {
  -ms-transform: rotate(0);
      transform: rotate(0);
  opacity: 1; }

.spin-out-ccw.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: rotate(0);
      transform: rotate(0);
  transition-property: transform, opacity;
  opacity: 1; }

.spin-out-ccw.mui-leave.mui-leave-active {
  -ms-transform: rotate(-0.75turn);
      transform: rotate(-0.75turn);
  opacity: 0; }

.slow {
  transition-duration: 750ms !important; }

.fast {
  transition-duration: 250ms !important; }

.linear {
  transition-timing-function: linear !important; }

.ease {
  transition-timing-function: ease !important; }

.ease-in {
  transition-timing-function: ease-in !important; }

.ease-out {
  transition-timing-function: ease-out !important; }

.ease-in-out {
  transition-timing-function: ease-in-out !important; }

.bounce-in {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  transition-delay: 300ms !important; }

.long-delay {
  transition-delay: 700ms !important; }

.shake {
  animation-name: shake-7; }

@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    transform: translateX(-7%); } }

.spin-cw {
  animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    transform: rotate(-1turn); }
  100% {
    transform: rotate(0); } }

.spin-ccw {
  animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    transform: rotate(0); }
  100% {
    transform: rotate(1turn); } }

.wiggle {
  animation-name: wiggle-7deg; }

@keyframes wiggle-7deg {
  40%, 50%, 60% {
    transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    transform: rotate(0); } }

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
  animation-duration: 500ms; }

.infinite {
  animation-iteration-count: infinite; }

.slow {
  animation-duration: 750ms !important; }

.fast {
  animation-duration: 250ms !important; }

.linear {
  animation-timing-function: linear !important; }

.ease {
  animation-timing-function: ease !important; }

.ease-in {
  animation-timing-function: ease-in !important; }

.ease-out {
  animation-timing-function: ease-out !important; }

.ease-in-out {
  animation-timing-function: ease-in-out !important; }

.bounce-in {
  animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  animation-delay: 300ms !important; }

.long-delay {
  animation-delay: 700ms !important; }

/*
 * jQuery FlexSlider v2.6.2
 * http://www.woothemes.com/flexslider/
 *
 * Copyright 2012 WooThemes
 * Free to use under the GPLv2 and later license.
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Contributing author: Tyler Smith (@mbmufffin)
 *
 */
/* ====================================================================================================================
 * FONT-FACE
 * ====================================================================================================================*/
@font-face {
  font-family: 'flexslider-icon';
  src: url("fonts/flexslider-icon.eot");
  src: url("fonts/flexslider-icon.eot?#iefix") format("embedded-opentype"), url("fonts/flexslider-icon.woff") format("woff"), url("fonts/flexslider-icon.ttf") format("truetype"), url("fonts/flexslider-icon.svg#flexslider-icon") format("svg");
  font-weight: normal;
  font-style: normal; }

/* ====================================================================================================================
 * RESETS
 * ====================================================================================================================*/
.flex-container a:hover,
.flex-slider a:hover {
  outline: none; }

.slides,
.slides > li,
.flex-control-nav,
.flex-direction-nav {
  margin: 0;
  padding: 0;
  list-style: none; }

.flex-pauseplay span {
  text-transform: capitalize; }

/* ====================================================================================================================
 * BASE STYLES
 * ====================================================================================================================*/
.flexslider {
  margin: 0;
  padding: 0; }

.flexslider .slides > li {
  display: none;
  -webkit-backface-visibility: hidden; }

.flexslider .slides img {
  width: 100%;
  display: block; }

.flexslider .slides:after {
  content: "\0020";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0; }

html[xmlns] .flexslider .slides {
  display: block; }

* html .flexslider .slides {
  height: 1%; }

.no-js .flexslider .slides > li:first-child {
  display: block; }

/* ====================================================================================================================
 * DEFAULT THEME
 * ====================================================================================================================*/
.flexslider {
  margin: 0 0 60px;
  background: #fff;
  border: 4px solid #fff;
  position: relative;
  zoom: 1;
  border-radius: 4px;
  -o-box-shadow: "" 0 1px 4px rgba(0, 0, 0, 0.2);
  box-shadow: "" 0 1px 4px rgba(0, 0, 0, 0.2); }

.flexslider .slides {
  zoom: 1; }

.flexslider .slides img {
  height: auto;
  -moz-user-select: none; }

.flex-viewport {
  max-height: 2000px;
  transition: all 1s ease; }

.loading .flex-viewport {
  max-height: 300px; }

.carousel li {
  margin-right: 5px; }

.flex-direction-nav {
  *height: 0; }

.flex-direction-nav a {
  text-decoration: none;
  display: block;
  width: 40px;
  height: 40px;
  margin: -20px 0 0;
  position: absolute;
  top: 50%;
  z-index: 10;
  overflow: hidden;
  opacity: 0;
  cursor: pointer;
  color: rgba(0, 0, 0, 0.8);
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
  transition: all 0.3s ease-in-out; }

.flex-direction-nav a:before {
  font-family: "flexslider-icon";
  font-size: 40px;
  display: inline-block;
  content: '\f001';
  color: rgba(0, 0, 0, 0.8);
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3); }

.flex-direction-nav a.flex-next:before {
  content: '\f002'; }

.flex-direction-nav .flex-prev {
  left: -50px; }

.flex-direction-nav .flex-next {
  right: -50px;
  text-align: right; }

.flexslider:hover .flex-direction-nav .flex-prev {
  opacity: 0.7;
  left: 10px; }

.flexslider:hover .flex-direction-nav .flex-prev:hover {
  opacity: 1; }

.flexslider:hover .flex-direction-nav .flex-next {
  opacity: 0.7;
  right: 10px; }

.flexslider:hover .flex-direction-nav .flex-next:hover {
  opacity: 1; }

.flex-direction-nav .flex-disabled {
  opacity: 0 !important;
  filter: alpha(opacity=0);
  cursor: default;
  z-index: -1; }

.flex-pauseplay a {
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  bottom: 5px;
  left: 10px;
  opacity: 0.8;
  z-index: 10;
  overflow: hidden;
  cursor: pointer;
  color: #000; }

.flex-pauseplay a:before {
  font-family: "flexslider-icon";
  font-size: 20px;
  display: inline-block;
  content: '\f004'; }

.flex-pauseplay a:hover {
  opacity: 1; }

.flex-pauseplay a.flex-play:before {
  content: '\f003'; }

.flex-control-nav {
  width: 100%;
  position: absolute;
  bottom: -40px;
  text-align: center; }

.flex-control-nav li {
  margin: 0 6px;
  display: inline-block;
  zoom: 1;
  *display: inline; }

.flex-control-paging li a {
  width: 11px;
  height: 11px;
  display: block;
  background: #666;
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  text-indent: -9999px;
  -o-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  border-radius: 20px; }

.flex-control-paging li a:hover {
  background: #333;
  background: rgba(0, 0, 0, 0.7); }

.flex-control-paging li a.flex-active {
  background: #000;
  background: rgba(0, 0, 0, 0.9);
  cursor: default; }

.flex-control-thumbs {
  margin: 5px 0 0;
  position: static;
  overflow: hidden; }

.flex-control-thumbs li {
  width: 25%;
  float: left;
  margin: 0; }

.flex-control-thumbs img {
  width: 100%;
  height: auto;
  display: block;
  opacity: .7;
  cursor: pointer;
  -moz-user-select: none;
  transition: all 1s ease; }

.flex-control-thumbs img:hover {
  opacity: 1; }

.flex-control-thumbs .flex-active {
  opacity: 1;
  cursor: default; }

/* ====================================================================================================================
 * RESPONSIVE
 * ====================================================================================================================*/
@media screen and (max-width: 860px) {
  .flex-direction-nav .flex-prev {
    opacity: 1;
    left: 10px; }
  .flex-direction-nav .flex-next {
    opacity: 1;
    right: 10px; } }

/* Ion.RangeSlider
// css version 2.0.3
// © 2013-2014 Denis Ineshin | IonDen.com
// ===================================================================================================================*/
/* =====================================================================================================================
// RangeSlider */
.irs {
  position: relative;
  display: block;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.irs-line {
  position: relative;
  display: block;
  overflow: hidden;
  outline: none !important; }

.irs-line-left, .irs-line-mid, .irs-line-right {
  position: absolute;
  display: block;
  top: 0; }

.irs-line-left {
  left: 0;
  width: 11%; }

.irs-line-mid {
  left: 9%;
  width: 82%; }

.irs-line-right {
  right: 0;
  width: 11%; }

.irs-bar {
  position: absolute;
  display: block;
  left: 0;
  width: 0; }

.irs-bar-edge {
  position: absolute;
  display: block;
  top: 0;
  left: 0; }

.irs-shadow {
  position: absolute;
  display: none;
  left: 0;
  width: 0; }

.irs-slider {
  position: absolute;
  display: block;
  cursor: default;
  z-index: 1; }

.irs-slider.type_last {
  z-index: 2; }

.irs-min {
  position: absolute;
  display: block;
  left: 0;
  cursor: default; }

.irs-max {
  position: absolute;
  display: block;
  right: 0;
  cursor: default; }

.irs-from, .irs-to, .irs-single {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  cursor: default;
  white-space: nowrap; }

.irs-grid {
  position: absolute;
  display: none;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 20px; }

.irs-with-grid .irs-grid {
  display: block; }

.irs-grid-pol {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 8px;
  background: #000; }

.irs-grid-pol.small {
  height: 4px; }

.irs-grid-text {
  position: absolute;
  bottom: 0;
  left: 0;
  white-space: nowrap;
  text-align: center;
  font-size: 9px;
  line-height: 9px;
  padding: 0 3px;
  color: #000; }

.irs-disable-mask {
  position: absolute;
  display: block;
  top: 0;
  left: -1%;
  width: 102%;
  height: 100%;
  cursor: default;
  background: transparent;
  z-index: 2; }

.lt-ie9 .irs-disable-mask {
  background: #000;
  filter: alpha(opacity=0);
  cursor: not-allowed; }

.irs-disabled {
  opacity: 0.4; }

.irs-hidden-input {
  position: absolute !important;
  display: block !important;
  top: 0 !important;
  left: 0 !important;
  width: 0 !important;
  height: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  outline: none !important;
  z-index: -9999 !important;
  background: none !important;
  border-style: solid !important;
  border-color: transparent !important; }

.animated {
  animation-duration: 0.5s;
  animation-fill-mode: both; }

.animated.infinite {
  animation-iteration-count: infinite; }

.animated.hinge {
  animation-duration: 2s; }

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    transform: none; } }

.fadeInLeft {
  animation-name: fadeInLeft; }

@keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0); } }

.fadeOutLeft {
  animation-name: fadeOutLeft; }

.body-background {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }

  @media (max-width: 991px) {
    .body-background {
        background-size: initial; } }

@font-face {
  font-family: 'Bebas';
  src: url("../fonts/bebas/bebasneue_thin-webfont.woff") format("woff");
  font-weight: 100;
  font-style: normal; }

@font-face {
  font-family: 'Bebas';
  src: url("../fonts/bebas/bebasneue_light-webfont.woff") format("woff");
  font-weight: 300;
  font-style: normal; }

@font-face {
  font-family: 'Bebas';
  src: url("../fonts/bebas/bebasneue_regular-webfont.woff") format("woff");
  font-weight: 400;
  font-style: normal; }

@font-face {
  font-family: 'Bebas';
  src: url("../fonts/bebas/bebasneue_bold-webfont.woff") format("woff");
  font-weight: 700;
  font-style: normal; }

@font-face {
  font-family: 'Futura';
  src: url("../fonts/futura/futuralightc-webfont.woff") format("woff");
  font-weight: 300;
  font-style: normal; }

@font-face {
  font-family: 'Futura';
  src: url("../fonts/futura/FuturaLightC-Italic.woff") format("woff");
  font-weight: 300;
  font-style: italic; }

@font-face {
  font-family: 'Futura';
  src: url("../fonts/futura/futurabookc-webfont.woff") format("woff");
  font-weight: 400;
  font-style: normal; }

@font-face {
  font-family: 'Futura';
  src: url("../fonts/futura/futurabookc-italic-webfont.woff") format("woff");
  font-weight: 400;
  font-style: italic; }

@font-face {
  font-family: 'Futura';
  src: url("../fonts/futura/futuramediumc-webfont.woff") format("woff");
  font-weight: 500;
  font-style: normal; }

@font-face {
  font-family: 'Futura';
  src: url("../fonts/futura/futuramediumc-italic-webfont.woff") format("woff");
  font-weight: 500;
  font-style: italic; }

@font-face {
  font-family: 'Futura';
  src: url("../fonts/futura/futurademic-webfont.woff") format("woff");
  font-weight: 600;
  font-style: normal; }

@font-face {
  font-family: 'Futura';
  src: url("../fonts/futura/futurademic-italic-webfont.woff") format("woff");
  font-weight: 600;
  font-style: italic; }

/*
SCSS variables are information about icon's compiled state, stored under its original file name

.icon-home {
  width: $icon-home-width;
}

The large array-like variables contain all information about a single icon
$icon-home: x y offset_x offset_y width height total_width total_height image_path;

At the bottom of this section, we provide information about the spritesheet itself
$spritesheet: width height image $spritesheet-sprites;
*/
/*
The provided mixins are intended to be used with the array-like variables

.icon-home {
  @include sprite-width($icon-home);
}

.icon-email {
  @include sprite($icon-email);
}

Example usage in HTML:

`display: block` sprite:
<div class="icon-home"></div>

To change `display` (e.g. `display: inline-block;`), we suggest using a common CSS class:

// CSS
.icon {
  display: inline-block;
}

// HTML
<i class="icon icon-home"></i>
*/
/*
The `sprites` mixin generates identical output to the CSS template
  but can be overridden inside of SCSS

@include sprites($spritesheet-sprites);
*/
.catalog-filter {
  display: -ms-flexbox;
  display: flex;
  margin-left: 25.64103%;
  -ms-flex: 1 0 74.35897%;
      flex: 1 0 74.35897%; }

.filters {
  display: -ms-flexbox;
  display: flex;
  min-width: 100%; }

.filter {
  display: -ms-flexbox;
  display: flex; }

.filter__title {
  margin-bottom: 0;
  margin-right: 15px; }

.filter__content {
  display: -ms-flexbox;
  display: flex; }

.filter__container {
  margin-right: 5.98291%; }

.filter__container--checkbox {
  -ms-flex: 1 0 14.52991%;
      flex: 1 0 14.52991%; }
  .filter__container--checkbox .filter__content {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
    width: 77px; }

.filter__container--range {
  -ms-flex: 1 0 48.71795%;
      flex: 1 0 48.71795%; }
  .filter__container--range .filter__content {
    -ms-flex: 1 0 40.17094%;
        flex: 1 0 40.17094%; }

.range-slider {
  min-width: 100%; }

.range-slider__data {
  -ms-flex: 0 0 60px;
      flex: 0 0 60px; }

.range-slider__slider {
  -ms-flex: 1 0 100px;
      flex: 1 0 100px;
  margin-right: 12px; }

html, body {
  height: 100vh;
  overflow: hidden;
  min-height: 700px;
  min-width: 320px;
  /*min-width: 1200px; */}

.site-wrap {
  position: relative;
  height: 100%;
  display: -ms-flexbox;
  display: flex; }

.main-wrap {
  -ms-flex-positive: 1;
      flex-grow: 1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  position: relative; }
  .main-wrap.-vertical-justify {
    -ms-flex-pack: justify;
        justify-content: space-between; }

.main {
  margin: 25px; }
  .main.-flex {
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -ms-flex-pack: end;
        justify-content: flex-end; }
  .main.-center-justify {
    -ms-flex-pack: center;
        justify-content: center; }
  .main.-justify-space_tab {
    -ms-flex-pack: space-around;
        justify-content: space-around; }

.page-content.-narrow {
  margin: auto 0;
  /*width: 900px;*/
  width: 100%;
  padding: 0;
  height: 465px;
  /*max-height: calc(100vh - 300px);*/ }
  .-justify-space_tab .page-content.-narrow {
	width: 900px;
  }

.-justify-space_tab .page-content.-narrow { 
	margin: 15% 5px;
}
.sidebar,
.content-bar {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto; }
  .sidebar.-right,
  .content-bar.-right {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: end;
        align-items: flex-end;
    -ms-flex-direction: column;
        flex-direction: column;
    padding-bottom: 25px; }
  .sidebar.-overlayed,
  .content-bar.-overlayed {
    position: absolute;
    width: 385px;
    height: 100%;
    z-index: 1; }
    .sidebar.-overlayed.-left,
    .content-bar.-overlayed.-left {
      min-width: 385px;
      width: auto;
      left: 0; }
  .sidebar.-left,
  .content-bar.-left {
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: start;
        align-items: flex-start;
    -ms-flex-order: -1;
        order: -1; }
  .sidebar.-dark,
  .content-bar.-dark {
    background-color: rgba(10, 10, 10, 0.7);
    color: #fefefe; }
  .sidebar.-vert-justify,
  .content-bar.-vert-justify {
    -ms-flex-pack: justify;
        justify-content: space-between; }
  .sidebar.-top-space,
  .content-bar.-top-space {
    padding-top: 25px; }
  .sidebar.-flexed,
  .content-bar.-flexed {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
  .sidebar.-with-width,
  .content-bar.-with-width {
    -ms-flex-preferred-size: 260px;
        flex-basis: 260px; }

.sidebar.-right {
  padding-left: 25px; }

.sidebar-footer {
  padding-left: 25px;
  padding-right: 25px;
  color: #fefefe; }
  .sidebar-footer.-dark {
    color: #0a0a0a; }
  .sidebar-footer.-inline {
    border-top: 1px solid rgba(10, 10, 10, 0.2);
    padding-top: 10px; }
    .sidebar-footer.-inline .sidebar-contacts {
      display: inline-block;
      vertical-align: baseline;
      padding-right: 25px; }

.sidebar-contacts__address {
  margin-top: 25px; }

.sidebar-contacts__phone {
  margin-top: 25px; }

.address {
  text-transform: uppercase;
  font-size: 12px; }

.anm-tabs__title {
  color: #777;
  font-family: "Bebas", sans-serif; }
  .anm-tabs__title.is-active {
    color: #ec5840; }
    .anm-tabs__title.is-active a {
      text-decoration: underline; }
  .anm-tabs__title a {
    color: inherit; }

.back-buttons {
  margin-left: 25px; }

.bc-select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #ec5840;
  color: #ec5840;
  font-family: "Bebas", sans-serif;
  line-height: 1;
  padding: 7px 10px;
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAECAYAAABCxiV9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU5QjVENDE4ODk3MzExRTY5NkJGRjFFOUU1MDBFMEE0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjU5QjVENDE5ODk3MzExRTY5NkJGRjFFOUU1MDBFMEE0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTlCNUQ0MTY4OTczMTFFNjk2QkZGMUU5RTUwMEUwQTQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTlCNUQ0MTc4OTczMTFFNjk2QkZGMUU5RTUwMEUwQTQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5hN39RAAAAS0lEQVR42mL8n8ZwjoGBoRSI9zIggBMQ9zIBiTwgXgrEgVAJfyBeDsT5LEDiCBB7AvEWIPYAYl8ofZ4Jqvo8EDsCsSaUBvEZAAIMADe0DL0d6eDAAAAAAElFTkSuQmCC") no-repeat right center;
  background-origin: content-box;
  width: auto; }
  [data-whatinput='mouse'] .bc-select {
    outline: 0; }

.brand {
  position: relative; 
  
  z-index: 100;}

.main-body .brand .js-show-nav {
	pointer-events: none;
	cursor: default;
}
  /*new*/
.brandText {
	position: absolute;
	top: 25px;
	left: 25px;
	z-index: 0;
}
.menuText {
	position: absolute;
	top: 25px;
	left: 90px;
	z-index: 0;
}

.btn {
  font-family: "Bebas", sans-serif;
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  transition: background-color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 0;
  padding: 0.65em 2em;
  margin: 0;
  font-size: 20px;
  letter-spacing: 0.05em; }
  [data-whatinput='mouse'] .btn {
    outline: 0; }
  .btn.-pointing {
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAKCAYAAACXDi8zAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE1Q0E0QTIwN0ZGNDExRTZBOTU2Q0MzODFGQzU3QkI4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE1Q0E0QTIxN0ZGNDExRTZBOTU2Q0MzODFGQzU3QkI4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTVDQTRBMUU3RkY0MTFFNkE5NTZDQzM4MUZDNTdCQjgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTVDQTRBMUY3RkY0MTFFNkE5NTZDQzM4MUZDNTdCQjgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5/nAB9AAAAXUlEQVR42mL4//9/DhBXAzEDMgYR4kB8DYhr0CWwSiJrB0leBeJaEJ+FAQFeArETEO8DYkYmBlTwD4iB5jAwIxslCsRXgLgB2Q4xqGA9suUYgjCJXCCuQ/cgQIABADrFnankpz31AAAAAElFTkSuQmCC") no-repeat calc(100% - 1em) center;
    padding-right: 3em; }
  .btn.-large {
    padding: 0.9em 2.55em; }
  .btn.-right-align {
    -ms-flex-item-align: start;
        align-self: flex-start; }
  .btn.-condensed {
    font-family: "Bebas", sans-serif;
    font-size: 17px; }
  .btn.-hollow {
    border: 1px solid; }
  .btn.-font-normal {
    font-family: "Futura", Helvetica, Roboto, Arial, sans-serif; }
  .btn.-uppercase {
    text-transform: uppercase; }
  .btn.-size-small {
    padding-left: 7px;
    padding-right: 7px;
    font-size: 12px; }
  .btn.-large.-largespec {
    width: 100%;
    height: 54px;
    align-items: center;
    display: flex;
  }

.btn-icon {
  width: 60px;
  height: 60px;
  padding: 10px; }

.btn.-primary,
.btn-icon.-primary {
  color: #fefefe;
  background-color: rgba(198, 140, 49, 0.8); }
  .btn.-primary:hover, .btn.-primary:active, .btn.-primary:focus,
  .btn-icon.-primary:hover,
  .btn-icon.-primary:active,
  .btn-icon.-primary:focus {
    background-color: rgba(198, 140, 49, 0.9); }

.btn.-gentle,
.btn-icon.-gentle {
  color: #fefefe;
  background-color: rgba(254, 254, 254, 0.3); }
  .btn.-gentle:hover, .btn.-gentle:active, .btn.-gentle:focus,
  .btn-icon.-gentle:hover,
  .btn-icon.-gentle:active,
  .btn-icon.-gentle:focus {
    background-color: rgba(254, 254, 254, 0.4); }

.btn.-gentle-hollow,
.btn-icon.-gentle-hollow {
  font-family: "Bebas", sans-serif;
  color: rgba(254, 254, 254, 0.9);
  border: 1px solid rgba(254, 254, 254, 0.3); }
  .btn.-gentle-hollow:hover, .btn.-gentle-hollow:active, .btn.-gentle-hollow:focus,
  .btn-icon.-gentle-hollow:hover,
  .btn-icon.-gentle-hollow:active,
  .btn-icon.-gentle-hollow:focus {
    background-color: rgba(254, 254, 254, 0.3);
    color: #fefefe; }
	.btn.-dopinfo {margin-bottom: 20px;}
	.btn.-dopinfo:first-child {margin-right: 50px;}

.btn.-back,
.btn-icon.-back {
  margin-bottom: 15px;
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAKCAYAAAB4zEQNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjY1OUNCMTM5ODk2MjExRTZBQTI0RDk5QTk1MzlGNUEzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjY1OUNCMTNBODk2MjExRTZBQTI0RDk5QTk1MzlGNUEzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjU5Q0IxMzc4OTYyMTFFNkFBMjREOTlBOTUzOUY1QTMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjU5Q0IxMzg4OTYyMTFFNkFBMjREOTlBOTUzOUY1QTMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7yKN5GAAAAZklEQVR42mL4//8/AxoWB+IEIGZmYkAFckAcC8RngPgvsg51IC4FYiWYGEzCAIiLgVga2QoQYQ/EBUAsgm4/yM7/DLgAVJU+EJdgMxaG1aAOUsYmCcKyUBN0sUmCsBgQx4MCASDAAHvBsAsbGXznAAAAAElFTkSuQmCC") no-repeat 16px center; }

.btn.-dark-hollow,
.btn-icon.-dark-hollow {
  font-family: "Bebas", sans-serif;
  color: rgba(10, 10, 10, 0.9);
  border: 1px solid rgba(10, 10, 10, 0.3); }
  .btn.-dark-hollow:hover, .btn.-dark-hollow:active, .btn.-dark-hollow:focus,
  .btn-icon.-dark-hollow:hover,
  .btn-icon.-dark-hollow:active,
  .btn-icon.-dark-hollow:focus {
    background-color: rgba(10, 10, 10, 0.3);
    color: #0a0a0a; }

.btn.-bright,
.btn-icon.-bright {
  color: #fefefe;
  background-color: rgba(255, 102, 0, 0.8); }
  .btn.-bright:hover, .btn.-bright:active, .btn.-bright:focus,
  .btn-icon.-bright:hover,
  .btn-icon.-bright:active,
  .btn-icon.-bright:focus {
    background-color: rgba(255, 102, 0, 0.9); }

.close-btn.-white {
  color: #fefefe; }

.catalog-filter {
  margin-bottom: 50px; }

.catalog-table {
  font-size: 0.8vw;
  font-size: 12px;
  font-weight: 500;
  width: 100%;
  vertical-align: top;
  text-align: center; }
  @media (max-width: 1500px) {
    .catalog-table {
      font-size: 12px; } }
  @media (min-width: 1875px) {
    .catalog-table {
      font-size: 15px; } }
  .catalog-table thead > tr {
    border: 0 solid #bbb;
    border-top-width: 1px;
    border-bottom-width: 1px; }
  .catalog-table tbody > tr:hover {
    background-color: rgba(255, 102, 0, 0.2); }
  .catalog-table th {
    padding: 12px 10px; }
  .catalog-table td {
    padding: 10px; }

.checkbox-custom {
  position: relative;
  cursor: pointer; }

.checkbox-custom__checkbox {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.checkbox-custom__label {
  border: 1px solid #e6e6e6;
  width: 35px;
  height: 35px;
  text-align: center;
  font-weight: 500;
  font-size: 14px;
  line-height: 35px; }

.checkbox-custom__checkbox + .checkbox-custom__label {
  margin-right: 0;
  margin-left: 0;
  margin-bottom: 7px; }

.checkbox-custom__checkbox:checked + .checkbox-custom__label {
  background-color: #e6e6e6;
  border-color: #0a0a0a; }

.content-bar__main {
  padding: 25px;
  -ms-flex-item-align: start;
      align-self: flex-start;
  max-width: 385px; }

.content-bar__title {
  font-family: "Bebas", sans-serif;
  font-size: 35px;
  text-transform: uppercase;
  /*margin-bottom: 25px;*/
  padding-bottom: 25px;
  border-bottom: 1px solid rgba(10, 10, 10, 0.2); }

.content-bar__content {
  max-height: 350px; }
  .content-bar__content .mCSB_inside > .mCSB_container {
    padding: 0; }
  .content-bar__content .mCustomScrollBox > .mCSB_scrollTools {
    right: 0;
    left: auto; }

.content-wysiwyg h1,
.content-wysiwyg h2,
.content-wysiwyg h3,
.content-wysiwyg h4,
.content-wysiwyg h5,
.content-wysiwyg h6 {
  text-transform: uppercase;
  font-size: 16px;
  margin: 15px 0;
  color: #0a0a0a;
  font-weight: 500; }

.content-wysiwyg p {
  color: #666;
  /*color: #fff;*/ }
.content-bar--dark .content-wysiwyg h1,
.content-bar--dark .content-wysiwyg h2,
.content-bar--dark .content-wysiwyg h3,
.content-bar--dark .content-wysiwyg h4,
.content-bar--dark .content-wysiwyg h5,
.content-bar--dark .content-wysiwyg h6 {
  color: #fefefe; }

.content-bar--dark .content-wysiwyg p {
	color: #fefefe;}
	
.content-bar.-dark .content-wysiwyg p {
	color: #fefefe;}

.custom-scroller .mCSB_scrollTools .mCSB_buttonUp,
.custom-scroller .mCSB_scrollTools .mCSB_buttonDown,
.custom-scroller .mCSB_scrollTools .mCSB_buttonLeft,
.custom-scroller .mCSB_scrollTools .mCSB_buttonRight {
  background-image: url("../img/mCSB_buttons.png");
  /* css sprites */ }

.custom-scroller--right .mCustomScrollBox > .mCSB_scrollTools {
  left: 0; }

/*.custom-scroller {
  .mCSB_inside > .mCSB_container {
    padding: 0 40px;
  }
}*/
.easypin-marker {
  z-index: 200; }
  .easypin-marker:before {
    content: '';
    display: block;
    width: 36px;
    height: 36px;
    background: rgba(10, 10, 10, 0.7);
    -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    border: 1px solid rgba(254, 254, 254, 0.7);
    position: relative;
    padding: 7px; }
  .easypin-marker::after {
    content: '+';
    font-size: 80px;
    font-family: "Bebas", sans-serif;
    color: #fefefe;
    font-weight: 100;
    line-height: 0;
    position: absolute;
    top: 18px;
    left: 3px; }
  .easypin-marker.is-active::after {
    left: 2px;
    -ms-transform: rotate(45deg);
        transform: rotate(45deg); }

.easypin-marker__text {
  color: rgba(254, 254, 254, 0.8);
  font-family: "Bebas", sans-serif;
  position: absolute;
  white-space: nowrap;
  top: 6px;
  left: 56px; }

.easypin {
  position: absolute !important;
  /*  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);*/
  top: 0;
  min-height: 100%;
  min-width: 100%;
  border: 0 !important;
  background: url("../img/uploads/backgrounds/team.jpg") no-repeat;
  background-position: center center;
  background-size: cover;
  overflow: hidden; }
  .easypin .pin {
    opacity: 0 !important; }

.filter__title {
  text-transform: uppercase;
  font-size: 0.8vw;
  font-weight: 600; }
  @media (max-width: 1500px) {
    .filter__title {
      font-size: 12px; } }
  @media (min-width: 1875px) {
    .filter__title {
      font-size: 15px; } }

.filter__container--range .filter {
  margin: 15px 0; }

.content-flexslider {
  max-width: 385px;
  background: transparent; }
  .content-flexslider .flex-control-nav {
    display: none; }
  .content-flexslider .flex-direction-nav {
    top: 41px;
    right: 30px;
    left: auto; }

.flexslider {
  border-width: 0;
  margin: 0; }

.flex-direction-nav {
  position: absolute;
  /*top: 90px;*/
  top: 100px;
  left: 29px; }
  .flex-direction-nav .flex-nav-prev,
  .flex-direction-nav .flex-nav-next {
    display: inline-block;
    vertical-align: middle; }
  .flex-direction-nav .flex-next {
    right: auto;
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAOCAYAAAD9lDaoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjdBNDVGMzM2ODU1QTExRTZBMjE1OEY1RDI4ODE1ODQ3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdBNDVGMzM3ODU1QTExRTZBMjE1OEY1RDI4ODE1ODQ3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6N0EzMTBCNjE4NTVBMTFFNkEyMTU4RjVEMjg4MTU4NDciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6N0EzMTBCNjI4NTVBMTFFNkEyMTU4RjVEMjg4MTU4NDciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7Y7bfYAAAAjklEQVR42mL4//8/AxCvAmIXKBsDwxg2QPwSiH3wKQJhUyB+DsSh+BSBsB4QPwXiWHyKQFgDiB8BcQY+RSCsCMR3gbgIxGdhwA7uA7E9EO8BYn4mBtyACYr/4LJOGYjvA3EeLjdpQh2eisvhhkD8DIijcQWBORC/AOIgXIFpB40WT3zRsgyIHXFFMECAAQCJ31X3Z7VkjAAAAABJRU5ErkJggg==") no-repeat right center; }
    .flex-direction-nav .flex-next::before {
      display: none; }
  .flex-direction-nav .flex-prev {
    left: auto;
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAOCAYAAAD9lDaoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjdBMzEwQjVCODU1QTExRTZBMjE1OEY1RDI4ODE1ODQ3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdBMzEwQjVDODU1QTExRTZBMjE1OEY1RDI4ODE1ODQ3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6N0EzMTBCNTk4NTVBMTFFNkEyMTU4RjVEMjg4MTU4NDciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6N0EzMTBCNUE4NTVBMTFFNkEyMTU4RjVEMjg4MTU4NDciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5u9IKMAAAAlklEQVR42mL4//8/Aw7sDMSrQGxcCryB+AUQ2+BSFArEz4HYBCaGriAWiJ8CsR6yOLKCdCB+BMQa6KbDGIVAfA+IFbG5EUTUA/ENIJbF5VMmBgaGv0AMohkZcAGo6hwgvg/Eyrisg+EUIH4MxJr4FIFwFBA/A2JDfIpAOBAa2ub4FIGwJxC/BGI7fIpA2BGIV4DYAAEGAFrRcFw36udXAAAAAElFTkSuQmCC") no-repeat left center; }
    .flex-direction-nav .flex-prev::before {
      display: none; }
  .flex-direction-nav a {
    opacity: 0.5;
    width: 9px;
    height: 14px;
    font-size: 0;
    color: transparent;
    margin: 0 4px;
    position: static;
    top: auto;
    z-index: 10;
    overflow: visible; }
    .flex-direction-nav a:hover {
      opacity: 1; }

.flex-control-nav {
  width: auto;
  position: absolute;
  bottom: auto;
  text-align: center;
  top: 135px;
  left: 25px;
  counter-reset: slide-count;
  color: #fefefe;
  font-size: 19px;
  line-height: 1.2; }
  .flex-control-nav::after {
    content: "/" counter(slide-count);
    font-size: 19px; }
  .flex-control-nav li {
    counter-increment: slide-count;
    margin: 0; }
    .flex-control-nav li a {
      display: none;
      width: auto;
      height: auto;
      background: transparent;
      cursor: pointer;
      text-indent: 0;
      box-shadow: none;
      border-radius: 0; }
      .flex-control-nav li a.flex-active {
        background: transparent;
        display: block; }

.flexsider--right-side .flex-direction-nav {
  bottom: 25px;
  right: 25px;
  top: auto;
  left: auto; }

.flexsider--right-side .flex-control-nav {
  bottom: 25px;
  right: 75px;
  top: auto;
  left: auto; }

.flexsider--dark .flex-control-nav {
  color: #0a0a0a; }
  .flexsider--dark .flex-control-nav a {
    color: #0a0a0a; }

.flexsider--dark .flex-direction-nav .flex-next {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAANCAYAAACUwi84AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI5QTIzNzI2ODZGMjExRTY5NzhFRDJBMjEyNzQ5MUJFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI5QTIzNzI3ODZGMjExRTY5NzhFRDJBMjEyNzQ5MUJFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjlBMjM3MjQ4NkYyMTFFNjk3OEVEMkEyMTI3NDkxQkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QjlBMjM3MjU4NkYyMTFFNjk3OEVEMkEyMTI3NDkxQkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7XNyD5AAAAb0lEQVR42mJgYGDQAeJtQMzDgAUwAfE1IH4MxDuAmJ8BB2AE4klAfBqIhRjwgC4gPg/EovgUNQPxVSCWwKeoEohvALEcIx5FW3D5DGbCTSCWx+UGkNclSfIFLBzOYAsHUGjOBOJjuEJSF19cAAQYAMd1EhCyNcYaAAAAAElFTkSuQmCC"); }

.flexsider--dark .flex-direction-nav .flex-prev {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAANCAYAAACUwi84AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkFCQjhDMzUwODZGMjExRTY4RkFDQkYxRkFGOEM4NDlDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkFCQjhDMzUxODZGMjExRTY4RkFDQkYxRkFGOEM4NDlDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUJCOEMzNEU4NkYyMTFFNjhGQUNCRjFGQUY4Qzg0OUMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QUJCOEMzNEY4NkYyMTFFNjhGQUNCRjFGQUY4Qzg0OUMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4xWXTvAAAAfUlEQVR42mJgwA64gHgDEOswYZHkBeIdQPweiK+jSwoC8QkgngbEjOiSIkB8Doh7sElKAvFVIG7B5iB5IL4JxJU4HMxwDIg3MuABIBNuAXEFPkUgN1wD4iZ8ikShvujG5gvkcDgJxFPxKeID4sNAPA+ImRnwxAXIZ9oAAQYAUZESxpZKnHcAAAAASUVORK5CYII="); }

.form {
  color: #0a0a0a;
  font-size: 20px;
  font-weight: 500;
  line-height: 2; }

.form__row.-narrow {
  width: 80%; }

.form__input {
  box-shadow: none;
  border: 0 solid #e6e6e6;
  border-bottom-width: 1px; }
  .form__input [type='text'], .form__input [type='password'], .form__input [type='date'], .form__input [type='datetime'], .form__input [type='datetime-local'], .form__input [type='month'], .form__input [type='week'], .form__input [type='email'], .form__input [type='number'], .form__input [type='search'], .form__input [type='tel'], .form__input [type='time'], .form__input [type='url'], .form__input [type='color'],
  .form__input textarea {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 2.4375rem;
    padding: 0.5rem;
    border: none;
    margin: 0 0 1rem;
    font-family: inherit;
    font-size: 1rem;
    color: #0a0a0a;
    background-color: #fefefe;
    box-shadow: none;
    border-radius: 0;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    -webkit-appearance: none;
    -moz-appearance: none; }
    .form__input [type='text']:focus, .form__input [type='password']:focus, .form__input [type='date']:focus, .form__input [type='datetime']:focus, .form__input [type='datetime-local']:focus, .form__input [type='month']:focus, .form__input [type='week']:focus, .form__input [type='email']:focus, .form__input [type='number']:focus, .form__input [type='search']:focus, .form__input [type='tel']:focus, .form__input [type='time']:focus, .form__input [type='url']:focus, .form__input [type='color']:focus,
    .form__input textarea:focus {
      border: 1px solid transparent;
      background-color: #fefefe;
      outline: none;
      box-shadow: none;
      transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  .form__input textarea {
    max-width: 100%; }
    .form__input textarea[rows] {
      height: auto; }
  .form__input input::-webkit-input-placeholder,
  .form__input textarea::-webkit-input-placeholder {
    color: #bbb; }
  .form__input input::-moz-placeholder,
  .form__input textarea::-moz-placeholder {
    color: #bbb; }
  .form__input input:-ms-input-placeholder,
  .form__input textarea:-ms-input-placeholder {
    color: #bbb; }
  .form__input input::placeholder,
  .form__input textarea::placeholder {
    color: #bbb; }
  .form__input input:disabled, .form__input input[readonly],
  .form__input textarea:disabled,
  .form__input textarea[readonly] {
    background-color: #e6e6e6;
    cursor: default; }
  .form__input [type='submit'],
  .form__input [type='button'] {
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none; }
  .form__input input[type='search'] {
    box-sizing: border-box; }
  .form__input:focus, .form__input:active {
    border: 0 solid #bbb;
    border-bottom-width: 1px; }

.form__text-hightlight {
  color: #ec5840; }

.full-slider {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  min-width: 100%; }
  .full-slider .flex-viewport,
  .full-slider .slides {
    min-height: 100%;
    height: 100%;
    width: 100%;
    min-width: 100%; }
  .full-slider .slides {
    margin: 0;
    padding: 0; }
    .full-slider .slides > li {
      height: 100%; }

.full-slider__item {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: left center;
  position: relative; }

.full-slider__title {
  position: absolute;
  right: 25px;
  bottom: 60px;
  font-family: "Bebas", sans-serif;
  font-size: 24px; }

.google-maps {
  height: 100%;
  width: 100%;
  position: absolute !important;
  left: 0;
  top: 0; }

.header {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin: 25px;
  z-index: 2; 
  margin-bottom: 80px;}

.icon-nav__list {
  list-style: none;
  margin: 0;
  padding: 0; }

.icon-nav__item {
  box-shadow: 0 -1px 5px 1px rgba(0, 0, 0, 0.15); }

.icon-nav__link {
  display: block;
  text-align: center;
  line-height: 1; }
  .icon-nav__link:hover {
    line-height: 1.4; }
    .icon-nav__link:hover::before {
      top: 0;
      -ms-transform: translateY(0);
          transform: translateY(0); }
    .icon-nav__link:hover .icon-nav__text {
      display: block; }

.icon-nav__text {
  font-size: 9px;
  font-family: "Bebas", sans-serif;
  letter-spacing: 0.04em;
  display: none; }

.icon-about::before {
  content: '';
  background-image: url(sprite.png);
  background-position: -18px -24px;
  width: 18px;
  height: 19px;
  display: inline-block;
  position: relative;
  top: 50%;
  -ms-transform: translateY(50%);
      transform: translateY(50%);
  transition: all ease 0.3s; }

.icon-gallery::before {
  content: '';
  background-image: url(sprite.png);
  background-position: -49px 0px;
  width: 18px;
  height: 19px;
  display: inline-block;
  position: relative;
  top: 50%;
  -ms-transform: translateY(50%);
      transform: translateY(50%);
  transition: all ease 0.3s; }

.icon-contacts::before {
  content: '';
  background-image: url(sprite.png);
  background-position: 0px -24px;
  width: 18px;
  height: 22px;
  display: inline-block;
  position: relative;
  top: 50%;
  -ms-transform: translateY(50%);
      transform: translateY(50%);
  transition: all ease 0.3s; }

.img-icon {
  text-align: center; }

.img-icon__image {
  display: inline-block; }

.img-icon__title {
  display: block;
  font-family: "Bebas", sans-serif;
  color: #fefefe; }

/* Ion.RangeSlider, Simple Skin
// css version 2.0.3
// © Denis Ineshin, 2014    https://github.com/IonDen
// © guybowden, 2014        https://github.com/guybowden
// ===================================================================================================================*/
/* =====================================================================================================================
// Skin details */
.irs {
  height: 19px; }

.irs-with-grid {
  height: 19px; }

.irs-line {
  height: 2px;
  top: 11px;
  background: #e6e6e6; }

.irs-line-left {
  height: 2px; }

.irs-line-mid {
  height: 2px; }

.irs-line-right {
  height: 2px; }

.irs-bar {
  height: 2px;
  top: 11px;
  background: #0a0a0a; }

.irs-bar-edge {
  height: 2px;
  top: 11px;
  width: 14px;
  background: #0a0a0a; }

.irs-shadow {
  height: 2px;
  top: 38px; }

.irs-slider {
  top: 6px;
  width: 11px;
  height: 11px;
  border-radius: 6px;
  border: 2px solid #0a0a0a;
  background: #fefefe;
  cursor: pointer; }

.irs-slider.state_hover, .irs-slider:hover {
  background: #e6e6e6; }

.irs-min, .irs-max {
  color: #333;
  font-size: 12px;
  line-height: 1.333;
  text-shadow: none;
  top: 0;
  padding: 1px 5px;
  background: rgba(0, 0, 0, 0.1);
  display: none; }

.lt-ie9 .irs-min, .lt-ie9 .irs-max {
  background: #ccc; }

.irs-from, .irs-to, .irs-single {
  color: #fff;
  font-size: 14px;
  line-height: 1.333;
  text-shadow: none;
  padding: 1px 5px;
  border-radius: 3px;
  display: none; }

.lt-ie9 .irs-from, .lt-ie9 .irs-to, .lt-ie9 .irs-single {
  background: #999; }

.irs-grid {
  height: 27px; }

.irs-grid-pol {
  opacity: 0.5;
  background: #428bca; }

.irs-grid-pol.small {
  background: #999; }

.irs-grid-text {
  bottom: 5px;
  color: #99a4ac; }

/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp {
  padding: 0;
  margin: 0;
  border: 0;
  outline: none;
  vertical-align: top; }

.fancybox-wrap {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 8020; }

.fancybox-skin {
  position: relative;
  background: #f9f9f9;
  color: #444;
  text-shadow: none;
  border-radius: 4px; }

.fancybox-opened {
  z-index: 8030; }

.fancybox-opened .fancybox-skin {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); }

.fancybox-outer, .fancybox-inner {
  position: relative; }

.fancybox-inner {
  overflow: hidden; }

.fancybox-type-iframe .fancybox-inner {
  -webkit-overflow-scrolling: touch; }

.fancybox-error {
  color: #444;
  font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
  margin: 0;
  padding: 15px;
  white-space: nowrap; }

.fancybox-image, .fancybox-iframe {
  display: block;
  width: 100%;
  height: 100%; }

.fancybox-image {
  max-width: 100%;
  max-height: 100%; }

#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
  background-image: url("../img/fancybox/fancybox_sprite.png"); }

#fancybox-loading {
  position: fixed;
  top: 50%;
  left: 50%;
  margin-top: -22px;
  margin-left: -22px;
  background-position: 0 -108px;
  opacity: 0.8;
  cursor: pointer;
  z-index: 8060; }

#fancybox-loading div {
  width: 44px;
  height: 44px;
  background: url("../img/fancybox/fancybox_loading.gif") center center no-repeat; }

.fancybox-close {
  position: absolute;
  top: -18px;
  right: -18px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  z-index: 8040; }

.fancybox-nav {
  position: absolute;
  top: 0;
  width: 40%;
  height: 100%;
  cursor: pointer;
  text-decoration: none;
  background: transparent url("../img/fancybox/blank.gif");
  /* helps IE */
  -webkit-tap-highlight-color: transparent;
  z-index: 8040; }

.fancybox-prev {
  left: 0; }

.fancybox-next {
  right: 0; }

.fancybox-nav span {
  position: absolute;
  top: 50%;
  width: 36px;
  height: 34px;
  margin-top: -18px;
  cursor: pointer;
  z-index: 8040;
  visibility: hidden; }

.fancybox-prev span {
  left: 10px;
  background-position: 0 -36px; }

.fancybox-next span {
  right: 10px;
  background-position: 0 -72px; }

.fancybox-nav:hover span {
  visibility: visible; }

.fancybox-tmp {
  position: absolute;
  top: -99999px;
  left: -99999px;
  visibility: hidden;
  max-width: 99999px;
  max-height: 99999px;
  overflow: visible !important; }

/* Overlay helper */
.fancybox-lock {
  overflow: hidden !important;
  width: auto; }

.fancybox-lock body {
  overflow: hidden !important; }

.fancybox-lock-test {
  overflow-y: hidden !important; }

.fancybox-overlay {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  display: none;
  z-index: 8010;
  background: url("../img/fancybox/fancybox_overlay.png"); }

.fancybox-overlay-fixed {
  position: fixed;
  bottom: 0;
  right: 0; }

.fancybox-lock .fancybox-overlay {
  overflow: auto;
  overflow-y: scroll; }

/* Title helper */
.fancybox-title {
  visibility: hidden;
  font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
  position: relative;
  text-shadow: none;
  z-index: 8050; }

.fancybox-opened .fancybox-title {
  visibility: visible; }

.fancybox-title-float-wrap {
  position: absolute;
  bottom: 0;
  right: 50%;
  margin-bottom: -35px;
  z-index: 8050;
  text-align: center; }

.fancybox-title-float-wrap .child {
  display: inline-block;
  margin-right: -100%;
  padding: 2px 20px;
  background: transparent;
  /* Fallback for web browsers that doesn't support RGBa */
  background: rgba(0, 0, 0, 0.8);
  border-radius: 15px;
  text-shadow: 0 1px 2px #222;
  color: #FFF;
  font-weight: bold;
  line-height: 24px;
  white-space: nowrap; }

.fancybox-title-outside-wrap {
  position: relative;
  margin-top: 10px;
  color: #fff; }

.fancybox-title-inside-wrap {
  padding-top: 10px; }

.fancybox-title-over-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  color: #fff;
  padding: 10px;
  background: #000;
  background: rgba(0, 0, 0, 0.8); }

/*Retina graphics!*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
  #fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
    background-image: url("../img/fancybox/fancybox_sprite@2x.png");
    background-size: 44px 152px;
    /*The size of the normal image, half the size of the hi-res image*/ }
  #fancybox-loading div {
    background-image: url("../img/fancybox/fancybox_loading@2x.gif");
    background-size: 24px 24px;
    /*The size of the normal image, half the size of the hi-res image*/ } }

/*
.nav-submenu {


}*/
.nav-submenu {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  min-width: 100%;
  z-index: 200; }
  .nav__item:hover .nav-submenu {
    display: block; }

  @media (min-width: 992px) {
    .business-body .nav-submenu {
      display: flex;
      position: relative;
      top: auto;
      right: auto;
      min-width: inherit;
    }
  }

.nav-submenu__item {
  transition: all ease 0.2s; }
  .nav-submenu__item:hover {
    background-color: rgba(254, 254, 254, 0.3); }

.nav-submenu__item > a {
  display: block;
  padding: 8px 15px; }

.disclosure-body .nav-submenu__item > a {
  color: #0a0a0a;
}

.disclosure-body .nav-submenu__item > a:hover,
.disclosure-body .nav-submenu__item > a:focus {
    color: #fefefe;
    background-color: rgba(10, 10, 10, 0.7);
}

.nav {
  position: relative; }
  .nav::after {
    content: '';
    width: 100%;
    height: 1px;
    background-color: #b3122d;
    position: absolute;
    bottom: 0;
    left: 0; }
  .nav.-sub::after {
    background-color: rgba(254, 254, 254, 0.3); }
.main-body .nav.is-hidden {
	display: flex !important;}
  @media (max-width: 991px) {
    .main-body .nav.is-hidden {
      display: none !important;}
  }
.nav__list {
  list-style: none;
  margin: 0 0 0 20px;
  padding: 0; }
  .nav__list::before, .nav__list::after {
    content: ' ';
    display: table; }
  .nav__list::after {
    clear: both; }

.nav__item {
  float: left;
  position: relative;
  text-transform: uppercase;
  color: #fefefe;
  font-family: "Bebas", sans-serif;
  letter-spacing: 0.04em;
  z-index: 2; }
  .nav__item:last-child:not(.-has-child) {
    padding-right: 0; }

.disclosure-body .nav::after {
	background-color: #b3122d;
}
.disclosure-body .close-btn.-white,
.disclosure-body .nav__item {
	color: #0a0a0a;
}
  .history-body .nav__item.-has-child {
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAFCAYAAACJmvbYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkIwOEMyQkYzODE3QzExRTZBMzY4RjVGNDg5M0ZCNUZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkIwOEMyQkY0ODE3QzExRTZBMzY4RjVGNDg5M0ZCNUZFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjA4QzJCRjE4MTdDMTFFNkEzNjhGNUY0ODkzRkI1RkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QjA4QzJCRjI4MTdDMTFFNkEzNjhGNUY0ODkzRkI1RkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7nOr3zAAAAVUlEQVR42mL8//8/KwMDAwh/Y0AALiD+wwQkdIA4HioAApxAHAfEuiDJ80B8G4hjgJgfSt8D4rOMQGNhRnkCsTEQnwPibWARkCQUgxTqQWmwGECAAQBzUiRnyInkZwAAAABJRU5ErkJggg==") no-repeat right center; }
  @media (max-width: 991px) {
    .nav__item.-has-child {
      background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAFCAYAAACJmvbYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkIwOEMyQkYzODE3QzExRTZBMzY4RjVGNDg5M0ZCNUZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkIwOEMyQkY0ODE3QzExRTZBMzY4RjVGNDg5M0ZCNUZFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjA4QzJCRjE4MTdDMTFFNkEzNjhGNUY0ODkzRkI1RkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QjA4QzJCRjI4MTdDMTFFNkEzNjhGNUY0ODkzRkI1RkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7nOr3zAAAAVUlEQVR42mL8//8/KwMDAwh/Y0AALiD+wwQkdIA4HioAApxAHAfEuiDJ80B8G4hjgJgfSt8D4rOMQGNhRnkCsTEQnwPibWARkCQUgxTqQWmwGECAAQBzUiRnyInkZwAAAABJRU5ErkJggg==") no-repeat right center; }
  }
  @media (min-width: 992px) {
    .business-body .nav__item.-has-child {
      display: flex;
      align-items: center;
    }
  }

.business-body .nav__item > a,
.business-body .nav__item > span,
.nav__item > a,
.nav__item > span {
  color: inherit;
  font-family: inherit;
  display: block;
  padding: 0 15px;
  line-height: 60px;
  /*line-height: 46px;*/}

  @media (max-width: 991px) {
    .nav__item.-has-child > a {
      padding-right: 30px; }
  }

.main-body .nav__close {
  display: none;}
.nav__close {
  margin-left: 17px;
  font-size: 18px;
  margin-top: 2px;}
  @media (max-width: 991px) {
    .main-body .nav__close {display: flex;
    }
  }

.main-body .menuText {
  display: none;
}
  @media (max-width: 991px) {
    .main-body .menuText {display: flex;
    }
  }


.navigation {
  display: -ms-flexbox;
  display: flex; }

.office-preview-gallery {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }

.office-preview-gallery__item {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  position: relative;
  transition: all ease 0.5s; }
  .office-preview-gallery__item::after {
    content: '';
    background-color: rgba(10, 10, 10, 0.5);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    transition: all ease 0.5s; }
  .office-preview-gallery__item:hover::after {
    content: none; }

.order-block {
  margin-bottom: 25px; }

.order-block--inline {
  font-size: 0; }
  .order-block--inline .order-block__btn {
    width: 50%;
    display: inline-block;
    padding-top: 35px;
    padding-bottom: 35px;
    border-left: 0;
    border-right-width: 0; }
    .order-block--inline .order-block__btn:not(:last-child) {
      border-right-width: 1px; }

.order-block__btn {
  font-size: 11px;
  text-transform: uppercase;
  border: 1px solid rgba(254, 254, 254, 0.4);
  padding-left: 50px;
  padding-right: 25px;
  line-height: 1;
  text-align: left;
  background: no-repeat 18px center; }

.order-block__btn--phone {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhBQzRDQTgzQUZDQzExRTZCQTExRUU4QzBGOUI3RkM0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhBQzRDQTg0QUZDQzExRTZCQTExRUU4QzBGOUI3RkM0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OEFBNTVCMzZBRkNDMTFFNkJBMTFFRThDMEY5QjdGQzQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OEFDNENBODJBRkNDMTFFNkJBMTFFRThDMEY5QjdGQzQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5urhRBAAACHElEQVR42uyVQUiUQRTH3dLq1kGN0It4CPamfSt1KRXTS0HUiqAIItJJIT2oN1NPggcV6hQRgRBEJrnrRdFSLwa71s1LiCCC5HoQOlSa2+/Bf2n8/Fz04M0HP2bmzZv35pv3Zr5QOp3OOUsJnQc4dYBIJHKsrW8cuLNEInFofCFL8CvQDJOQggMfKc01yzZQggLkQQ9sQD98hya4pq8Iqd+kuX7Z9mjt8QE4Ho8mCY3QBjegF4q0259iUrpe2bRpTVI+jgZgooFmHt5ABUxpRzEYgjjcE3HpYrKZ0hpbOy9f/5OMwqK/gIew5GzgOdRANWz5vv46fII56HD0d+AjtJPwtyHP88oYLEIdimWniophHW7BinQFalNqb8IXKIHNTBXh4zbdGbhrRzQKw+bct8NaWHWc35eTTfVzNLcqW7dUzdew+bYAlUqaX6xS1pxxFC6JqKNfk61fzGelBViARwEGP6DUGU/AHzHh6Etl6xfzuWABOqFb5+bKLIR1zibTykux+pkchGXrlrv56jbfZ19FmbdItfsSBmEM9uEyfABPxfBZTqr05XYpH8NvyIWn0AdPcP7uyGOnW/ga/sIzXSiTFt3WMo2/wStdLJMHMAAXoRXnyWyvqd3MLp3hrqrBzvgrbMusEMpVnpbMqyrLEZzvnfS5theyXiVp55rvy8GO8mUV9R5+BT3XuVmea1swLk78Pzj/J59a/gkwAFBXxZPcVMXaAAAAAElFTkSuQmCC"); }
  .order-block__btn--phone.-light {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU0MTVENzVBOEExODExRTY5OTMwRkUyRjI5REU4NTZGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjU0MTVENzVCOEExODExRTY5OTMwRkUyRjI5REU4NTZGIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTQxNUQ3NTg4QTE4MTFFNjk5MzBGRTJGMjlERTg1NkYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTQxNUQ3NTk4QTE4MTFFNjk5MzBGRTJGMjlERTg1NkYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz46AmypAAAAp0lEQVR42mL4//8/AxbsAcRP/hMHnkDVYzOHgRFEYAFPgHg2EC9kIAzigTgViGWwyuKwGQQUiDAcpFYBqh6rWSx49K4AKvhBhB0c+CTxWbAGiN8QYYEIEJvj8yJNg4iJgcZg1IJRC0YtGLVgMFiAr7gOAZaGxBbX5FkAxBRXOETXB0A+CxAvA9HUqDKfgipzoAL0Sv8IqHJHayjEQ9WT5AOqNVsAAgwA5ApZUiUCjeQAAAAASUVORK5CYII="); }

.order-block__btn--scan {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhBQTU1QjJDQUZDQzExRTZCQTExRUU4QzBGOUI3RkM0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhBQTU1QjJEQUZDQzExRTZCQTExRUU4QzBGOUI3RkM0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OEE4OTk1NkRBRkNDMTFFNkJBMTFFRThDMEY5QjdGQzQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OEE4OTk1NkVBRkNDMTFFNkJBMTFFRThDMEY5QjdGQzQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4JpvwYAAAA2ElEQVR42mL8//8/AzowMTFhBVKbgdgFiJkZ8IO/QLwHiH3PnDnzG12SBYcmHSCWBGJ9IP5KwAJuIF4O1XOeWAv4gHgT0EVXGYgAQB/vg+phINYCEIgFarRlIA6oAPF6Ui24AMQbiLQgCpcEXguAQbSAyCAywCXHxEBjMGrBqAWjFoxaMBgswFeaGgBLyQQizdEipz4AFcECJFQ4JPtgMbA+qEUr96NBNFB8KZr4BFIt+ARqJQA1rkCr9N9ADVRAq/SdgHghKRZcAeIXQHyRhGbLFWySAAEGAInqMX+i9XU5AAAAAElFTkSuQmCC"); }
  .order-block__btn--scan.-light {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAYCAYAAAAPtVbGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjBFMjE1QjdCODk2MDExRTZBQzQ1ODgyQkZBMDQwRTlFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjBFMjE1QjdDODk2MDExRTZBQzQ1ODgyQkZBMDQwRTlFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEUyMTVCNzk4OTYwMTFFNkFDNDU4ODJCRkEwNDBFOUUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MEUyMTVCN0E4OTYwMTFFNkFDNDU4ODJCRkEwNDBFOUUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4holzVAAABaElEQVR42uzVsUsCURzA8S6DQAlaInA6oUVwaLOhRclQIQe7vbX/oNmtw/8iR60/IKSWhsZwqSHoHEPKaCqX6/vkd/F4PcUCb8kHH+7e737v9zu5e6cThuHSvIezaPKbsTLu5DgTE7iJHQ517CKLdbn0hnvc4IIat1N/idmEmAoc4gRbuEQXdxhI2ga2sYd9PMLHOfVCs6A5z6CLPo6RkngZbTwIdV6WaynJ7cvazMQmnJfwglMkJZbAGd7RxIFoSkxdS0huUtaqGqUfTTjW8IqKcRM+nuBanpcr13wjXpFate8myGGIopGcxgh5LbamaPO85KSNtUWpmYuaXKFhudMj9LR5FR+iqsV7KteyvqFqL8u8gLbl7dtEoM09rApPiweSaw5VsxA1uTYWReMZ+rPo4FN0tLgruebwxrVjeyaxvF0z7JPWlH3SmnmfWHZ88IcdH9h2fCzfLmuTuXyFF/+M/6/JlwADAIDHOpqun9wAAAAAAElFTkSuQmCC"); }

.order-block--details .order-block__btn {
  padding: 20px 35px 20px 60px;
  margin: 15px 0;
  border-color: #666;
  color: #666;
  text-transform: none;
  font-size: 16px; }

.page-title {
  text-transform: uppercase;
  font-family: "Bebas", sans-serif;
  font-size: 30px;
  margin-bottom: 15px; }

.phone-alert {
  margin: 40px 25px 25px;
  float: right;
  width: 60px;
  padding: 18px;
  background-color: #b3122d;
  border-radius: 50%;
  box-shadow: 0 0 5px 25px rgba(179, 18, 45, 0.15); }
  .phone-alert::after {
    content: '';
    background-image: url(sprite.png);
    background-position: -25px 0px;
    width: 24px;
    height: 24px;
    display: block; }
  .phone-alert:hover {
    animation: pulse 2s infinite; }

@keyframes pulse {
  0% {
    box-shadow: 0 0 5px 14px rgba(179, 18, 45, 0.15); }
  50% {
    box-shadow: 0 0 5px 25px rgba(179, 18, 45, 0.25); }
  100% {
    box-shadow: 0 0 5px 14px rgba(179, 18, 45, 0.15); } }

.phone {
  font-size: 20px;
  font-weight: 500; }

.range-slider {
  font-size: 0.8vw;
  display: -ms-flexbox;
  display: flex; }
  @media (max-width: 1625px) {
    .range-slider {
      font-size: 13px; } }
  @media (min-width: 2000px) {
    .range-slider {
      font-size: 16px; } }
  .no-js .range-slider {
    display: none; }

.range-slider__input {
  display: inline;
  background-color: transparent;
  border-width: 0;
  font-size: 0.8vw;
  font-weight: 500;
  cursor: default;
  padding: 0 6px;
  height: 19px;
  width: 46px;
  width: 6ch;
  margin-bottom: 0; }
  @media (max-width: 1625px) {
    .range-slider__input {
      font-size: 13px; } }
  @media (min-width: 1875px) {
    .range-slider__input {
      font-size: 15px; } }
  .range-slider__input:disabled {
    background-color: transparent;
    cursor: default; }

.rent-price {
  margin-bottom: 1em;
  font-weight: 500;
  line-height: 1; }
  .rent-price.-large {
    font-size: 35px; }
  .rent-price.-medium {
    font-size: 28px; }
  .rent-price.-small {
    font-size: 25px; }
  .rent-price:last-child {
    margin-bottom: 0; }

.rent-price__title {
  font-size: 14px;
  color: #666;
  margin-bottom: 7px;
  display: block; }

.rhombus-photo {
  width: 130px;
  height: 130px;
  overflow: hidden;
  -ms-transform: rotate(45deg);
      transform: rotate(45deg);
  position: relative; }

.rhombus-photo > img {
  -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
  position: absolute;
  top: -52px;
  left: 27px;
  width: 150%;
  max-width: 200%; }

.side-nav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  margin-bottom: 25px; }

.extra-nav {
  -ms-flex-order: -1;
      order: -1; }

.sidebar--with-image {
  background: no-repeat left top transparent;
  background-size: cover;
  position: relative;
  color: #fefefe; }
  .sidebar--with-image::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: rgba(10, 10, 10, 0.7); }

.sidebar__content {
  z-index: 1;
  position: relative;
  height: 100%;
  -ms-flex-pack: justify;
      justify-content: space-between;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column; }

.team-member {
  bottom: 100% !important;
  left: -47px;
  margin: 0 0 8px;
  padding: 0; }

.team-member__photo {
  position: absolute;
  top: 27px; }

.team-member__descr {
  margin-left: 65px;
  padding: 25px 25px 25px 115px;
  background-color: rgba(10, 10, 10, 0.75);
  height: 184px;
  min-width: 300px;
  color: #fefefe;
  text-align: right;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: justify;
      justify-content: space-between; }

.team-member__name {
  font-size: 15px;
  line-height: 1.1;
  font-weight: 300;
  color: rgba(254, 254, 254, 0.7); }

.team-member__surname {
  text-transform: uppercase;
  font-weight: 600;
  color: #fefefe;
  display: block;
  text-align: right; }

.team-member__position {
  font-family: "Bebas", sans-serif;
  text-transform: uppercase;
  color: rgba(254, 254, 254, 0.7);
  line-height: 1.1; }

.team-member__contacts {
  font-family: "Bebas", sans-serif;
  line-height: 1.1; }
  .team-member__contacts > a {
    display: block;
    text-align: right; }

.titles-list {
  list-style: none;
  padding: 0;
 margin: 0; }

.titles-list__item {
  font-weight: 300;
  text-transform: uppercase;
  color: rgba(254, 254, 254, 0.6);
  padding: 20px;
  cursor: pointer;
  position: relative; }
  .titles-list__item:hover {
    color: #fefefe; }
  .titles-list__item:not(.is-active)::before {
    content: '';
    background: rgba(254, 254, 254, 0.6);
    position: absolute;
    height: 100%;
    width: 1px;
    left: 0;
    top: 0; }
  .titles-list__item.is-active {
    padding: 0 0 0 20px;
    margin-left: -20px;
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAANCAYAAACUwi84AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlFRjE4NTU2ODQ5NjExRTZCQ0M5Qjc4QUI1RkUwN0Y4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlFRjE4NTU3ODQ5NjExRTZCQ0M5Qjc4QUI1RkUwN0Y4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUVGMTg1NTQ4NDk2MTFFNkJDQzlCNzhBQjVGRTA3RjgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OUVGMTg1NTU4NDk2MTFFNkJDQzlCNzhBQjVGRTA3RjgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6EeMiTAAAAh0lEQVR42mL4//8/AxAbArEwlI2CQYQqEP8D4rtALINNAQcQn/gPAbeBWBpdAQjzA/FpqKIbQCyJrgCEBYH4HFTRNSAWQ1cAwiJAfBGq6DKIz4DF5ZpA/BeqqABdEt0aUWRJrA5FljyJzasggh2Ij0IlMQILOSQfALE8tpAEYTOYv9ExQIABAMY0VIOKIW0TAAAAAElFTkSuQmCC") no-repeat 0 25px; }

.titles-list__name {
  display: inline-block;
  text-align: left;
  font-size: 22px;
  /*font-size: 24px;*/
  line-height: 1.3; }
  .titles-list__item.is-active .titles-list__name {
    font-size: 32px;
    /*font-size: 40px;*/
    font-weight: 500;
    color: #fefefe;
    padding-right: 70px; }

.titles-list__link {
  display: none;
  text-transform: none;
  font-size: 14px;
  text-align: right;
  font-weight: 300;
  font-style: italic;
  cursor: pointer;
  margin-right: -70px; }
  .titles-list__item.is-active .titles-list__link {
    display: block;
    color: rgba(254, 254, 254, 0.6); }
	
.titles-list__text {
	display: none;
}
.titles-list__text.is-active {
	/*display: flex;*/
	display: block;
	position: absolute;
	top:0;
	color:#fff;
	width: 50%;
	left: 430px;
}
.titles-list__text .content-bar__content {
	height: 265px;/*335*//*345*/
}
.titles-list__text .content-wysiwyg p,
.titles-list__text .content-wysiwyg h2 {
	color:#fff;
}
/* No files to import found in partials//**/
/*.scss */
.contacts {
  padding-left: 25px;
  max-width: 385px; }

.contacts__title {
  font-family: "Bebas", sans-serif;
  font-size: 30px;
  font-weight: 400;
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid #bbb; }

.contacts__address {
  font-family: "Bebas", sans-serif;
  margin-bottom: 30px; }

.contacts__email {
  font-family: "Bebas", sans-serif;
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid #bbb; }

.contacts-call__item {
  font-family: "Bebas", sans-serif;
  margin-bottom: 10px; }

.contacts-call__title {
  font-family: "Bebas", sans-serif;
  font-size: 16px;
  margin-bottom: 0; }

.contacts-call__phone {
  font-family: "Bebas", sans-serif;
  color: #bbb; }
  .contacts-call__phone > a {
    color: inherit; }

.home-extra-link {
  display: block; }

.home-footer {
  font-size: 0;
  margin: 25px; }

.home-footer__logo,
.home-footer__link {
  display: inline-block;
  vertical-align: bottom; }

.home-footer__logo {
  position: relative;
  margin-bottom: 15px; }
  .home-footer__logo::before {
    content: '';
    position: absolute;
    width: 25px;
    height: 47px;
    -ms-transform: skewY(-29deg);
        transform: skewY(-29deg);
    right: 0;
    bottom: -7px;
    background-color: rgba(254, 254, 254, 0.3);
    z-index: 1; }

.home-footer__link {
  font-size: 15px;
  color: #fefefe;
  font-weight: 300;
  margin-left: -25px;
  position: relative;
  z-index: 2; }
  .home-footer__link > a {
    color: inherit;
    display: block;
    padding: 0 15px;
    line-height: 47px;
    background-color: rgba(73, 66, 60, 0.85); }
    .home-footer__link > a:hover {
      background-color: rgba(73, 66, 60, 0.95); }

.home-footer__link.made {
		margin-left: 25px;
		text-align: center;
	}
	.home-footer__link.made > a {
		background-color: rgba(73, 66, 60, 0);
		line-height: 15px;
		opacity: 0.5;
		transition: 0.3s;}
	.home-footer__link.made > a:hover {
		opacity: 1;		
	}

.motto {
  text-transform: uppercase;
  color: #fefefe; }
  .motto.-over-content {
    z-index: 100;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    margin-left: 25px;
    margin-right: 25px;
    pointer-events: none; }

.motto__title {
  font-weight: 500;
  font-size: 56px; }

.motto__sub {
  font-weight: 300;
  font-size: 35px;
  display: block;
  position: relative; }
  .motto__sub:before {
    content: '';
    height: 3px;
    width: 26px;
    position: absolute;
    /*background-color: #fefefe;*/
    top: -6px; }

.rent-short {
  margin-bottom: 25px;
  width: 260px;
  z-index: 1; }
  .rent-short.-wider {
    width: 385px; }

.rent-short__header {
  border-bottom: 1px solid rgba(254, 254, 254, 0.4);
  padding-bottom: 25px;
  margin-bottom: 25px; }
  .rent-short__header::before, .rent-short__header::after {
    content: ' ';
    display: table; }
  .rent-short__header::after {
    clear: both; }
  .rent-short__header.-no-bottom-space {
    margin-bottom: 0; }

.rent-short__title {
  line-height: 1;
  text-transform: uppercase;
  font-family: "Bebas", sans-serif;
  font-size: 30px;
  padding-left: 12.5px;
  float: left; }

.rent-short__header-btn {
  float: right; }

.rent__prices {
  padding: 0 25px 25px; }

.rent__footer {
  margin-bottom: 50px;
  z-index: 1; }

.rent-main {
  padding: 25px 35px; }

.bc-short-icons {
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #e6e6e6;
  -ms-flex: 1 0 74.35897%;
      flex: 1 0 74.35897%; }

.bc-short-icons__item {
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 500;
  -ms-flex: 0 1 31.62393%;
      flex: 0 1 31.62393%;
  margin-right: 2.5641%;
  padding-bottom: 12px; }
  .bc-short-icons__item:nth-child(3n) {
    margin-right: 0; }

.bc-short-icons__img {
  margin-right: 10px;
  float: left; }

.office__header {
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 50px; }
  .office__header.-small-offset {
    margin-bottom: 25px; }

.bc-select__wrap {
  -ms-flex: 0 1 23.07692%;
      flex: 0 1 23.07692%;
  margin-right: 2.5641%; }

.office__content {
  display: -ms-flexbox;
  display: flex; }
  .office__content .l-col {
    -ms-flex: 1 0 57.26496%;
        flex: 1 0 57.26496%;
    margin-right: 2.5641%;
    max-width: 600px; }
  .office__content .r-col {
    -ms-flex: 1 0 40.17094%;
        flex: 1 0 40.17094%; }

.office__details {
  margin-top: 50px; }

.characteristics__title {
  font-family: "Bebas", sans-serif;
  color: #ec5840; }

.characteristics__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 57.26496%; }

.characteristics__item {
  font-weight: 500;
  font-size: 15px;
  -ms-flex: 1 0 48.71795%;
      flex: 1 0 48.71795%;
  margin-bottom: 10px; }
  .characteristics__item:nth-child(2n+1) {
    margin-right: 2.5641%; }

.characteristics__item-title {
  color: #666;
  font-size: inherit; }

.contact-data__title {
  font-weight: 500;
  font-size: 19px;
  color: #666; }

.contact-data__phone {
  font-weight: 500;
  font-size: 24px;
  color: #ec5840; }

.advantages-list {
  list-style: none; }

.advantages-list__item {
  width: 150px;
  margin: 35px;
  /*margin: 40px;
  float: left;*/
  display: inline-table;
  }
  /*.advantages-list__item:nth-child(2n +1) {
    clear: left; }*/

/* block-spec-link */
.block-spec-link{
  max-width: 385px;
  /*padding: 25px;*/
  padding: 12px 25px 25px;
  /*position: absolute;
  bottom: 25px;
  left: 25px;*/
}


.block-spec-link .extra-link{
	position: relative;
	text-transform: inherit;
	font-family: "Futura", Helvetica, Roboto, Arial, sans-serif;
	/*line-height: 18px;*/
  line-height: 17px;
	/*margin-top: 12px;*/
	margin-top: 8px;
	text-align: left;
	font-size: 16px;
	/*padding: 0.5em;*/
	padding: 0.4em;
	padding-right: 2em;
}

.block-spec-link .extra-link:after{
  	content: '';
 	display: block;
	position: absolute;
	right: 0.5em;
	top: 33%;
	width: 16px;
    height: 16px;
	background-image: url(../img/download.png);
}

.block-spec-link .extra-link.-largespec:after {
  background-image: inherit;
}

.home-footer-adaptive,
.advantages-list-adaptive{
	display: none;
}

  .business-body .extra-link{
    max-width: 385px;
  }

  .lang__list {
    position: absolute;
    right: 25px;
    top: 25px;
    list-style: none;
    margin: 0;
    height: 46px;
    overflow: hidden;
    z-index: 3;
  }

  .business-body .lang__list {
    right: 410px;
  }

  @media (max-width: 992px) {
    .business-body .lang__list {
      right: 20px;
    }
  }

  .lang__item {
    float: left;
    position: relative;
    text-transform: uppercase;
    color: #fefefe;
    font-family: "Bebas", sans-serif;
    letter-spacing: 0.04em;
  }
  .lang__item > span,
  .lang__item > a {
    background-color: rgba(198, 140, 49, 0.9);
    color: inherit;
    font-family: inherit;
    display: block;
    padding: 0 15px;
    line-height: 46px;
    width: 46px;
    box-sizing: border-box;
  }
  .lang__item > a:hover {
    background-color: rgba(198, 140, 49, 0.4);
  }

  .lang__item > span {
    background-color: rgba(254, 254, 254, 0.4);
  }


@media screen and (max-width: 1650px){
	.motto.-over-content{
		z-index: 1;
		top: 40%;
	}
}
@media screen and (max-width: 1199px){
	.sidebar.-right{
		padding-left: 0;
	}
}

@media screen and (max-width: 991px){
	html,
	body.catalog-body,
	body.business-body,
	body.main-body,
	body.advantages-body{
		overflow: auto;
		height: auto;
	}

	html, body{
		position: relative;
	}

	.overlay-bg{
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(0,0,0,.5);
		z-index: -1;
		height:100%;
		position:fixed;
		width:100%;
		top:0;
		left:0;
	}

	.contacts-body .overlay-bg,
	.catalog-body .overlay-bg,
	.business-body .overlay-bg{
		display: none;
	}

	.main-body .header,
	.header{
		margin-bottom: 60px;
	}

	.content-bar.-top-space,
	.site-wrap{
		height: auto;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
			-ms-flex-direction: column;
				flex-direction: column;
		z-index: 1;
	}

	.catalog-body .site-wrap{
		-webkit-box-orient: initial;
		-webkit-box-direction: initial;
			-ms-flex-direction: initial;
				flex-direction: initial;
	}

	.advantages-body .sidebar.-right,
	.main-body .sidebar.-right,
	.advantages-body .main-wrap,
	.main-body .main-wrap{
		width: 100%;
	}

	.home-footer-nope,
	.advantages-list-nope{
		display: none;
	}

	.home-footer-adaptive{
		-webkit-box-pack: justify;
			-ms-flex-pack: justify;
				justify-content: space-between;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin: 25px 15px 25px 0;
	}

	.phone-alert{
		margin: 0;
	}

	.main-body .sidebar-footer,
	.history-body .sidebar-footer,
	.advantages-body .sidebar-footer{
		-webkit-box-pack: justify;
			-ms-flex-pack: justify;
				justify-content: space-between;
		-webkit-box-align: center;
			-ms-flex-align: center;
				align-items: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: 100%;
	}

	/*menu*/
	.header{
		align-items: flex-start;
	}

	.nav-overflow{
		background: rgba(0,0,0,.9);
		position: absolute;
		z-index: 1000;
		width: 100%;
		left: 0;
		top: 0;
	}

	.nav-overflow .navigation{
		-webkit-box-pack: end;
			-ms-flex-pack: end;
				justify-content: flex-end;
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
			-ms-flex-direction: column-reverse;
				flex-direction: column-reverse;
		height: 160vh;
    margin-top: 20vh
	}

	.nav-overflow .nav__list{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
			-ms-flex-direction: column;
				flex-direction: column;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin: 0;
		width: 100%;
	}

	.nav-overflow .nav__item{
		text-align: center;
		font-size: 26px;
		float: none;
	}

	.nav-overflow .nav__close{
		margin-left: 0;
		margin-top: 0;
		font-size: 40px;
		position: absolute;
		z-index: 100;
		width: 50px;
		right: 10px;
		top: 10px;
	}

	/*advantages*/
	.advantages-body .main.-flex{
		height: auto;
	}

	.advantages-body .sidebar.-right{
		-webkit-box-pack: justify;
			-ms-flex-pack: justify;
				justify-content: space-between;
		-webkit-box-orient: initial;
		-webkit-box-direction: initial;
			-ms-flex-direction: initial;
				flex-direction: initial;
	}

	.advantages-body .sidebar.-right .side-nav{
		margin-bottom: 0;
	}

	.advantages-body .sidebar.-right .sidebar-footer{
		width: 100%;
	}

	.advantages-body .sidebar.-right .icon-nav__list{
		margin-bottom: 25px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}

	.advantages-list.page-content.-narrow.advantages-list-adaptive{
		justify-content: center;
		align-content: flex-start;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin: 0;
		height: 600px;
		width: 100%;
	}

	.advantages-list__item{
		margin: 15px;
		width: 140px;
	}

	/*business*/
	.history-body .site-wrap{
		height: 100%;
	}

	/*business*/
	.business-body .content-bar.-top-space,
	.business-body .site-wrap{
		width: 100%;
	}

	.business-body .site-wrap{
		height: auto;
	}

	.business-body .main-wrap{
		width: 100%;
		height: 436px;
	}

	.business-body .content-bar__main{
		max-width: none;
	}

	.business-body .sidebar-footer.-inline{
		width: 100%;
	}

	.business-body .sidebar-contacts__address,
	.business-body .sidebar-contacts__phone{
		margin:0;
	}

	.business-body .phone-alert{
		margin-top: 25px;
		margin-right: 15px;
	}

	.business-body .flex-control-nav{
		bottom: 25px;
		top: auto;
	}

	.business-body .flex-direction-nav{
		bottom: 60px;
		top: auto;
	}

	.business-body .content-bar__content{
		max-height: 220px;
	}

	/*team*/
	.team-body .site-wrap{
		height: 100%;
	}

	.team-body .motto.-over-content{
		top: 30%;
	}

	/*contacts*/
	.contacts-body .site-wrap{
		height: 100%;
	}

  .mCS-light-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
  .mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
    width: 8px;
  }
}

@media screen and (max-width:767px){
	body.team-body{
		overflow: auto;
		height: auto;
	}

	.header{
		margin-bottom: 30px;
		margin-right: 15px;
		margin-left: 15px;
	}

	.brandText{
		left: 15px;
	}

	.main{
		margin: 15px;
	}

	.motto__title{
		font-size: 40px;
	}

	.motto__sub{
		font-size: 26px;
	}

	.sidebar-footer{
		padding: 15px;
		padding-right: 15px;
		padding-left: 15px;
	}

	/*advantages*/
	.advantages-list__item{
		margin: 15px 0;
		width: 50%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
			-ms-flex-align: center;
				align-items: center;
	}

	.advantages-list__item:nth-child(even){
		padding-left: 15px;
	}

	.advantages-list__item .img-icon__image{
		margin-right: 15px;
		height: 60px;
	}

	.advantages-list__item .img-icon__title{
		text-align: left;
	}

	/*history*/
	body.history-body{
		overflow: auto;
		height: auto;
	}

	.history-body .site-wrap{
		padding-bottom: 25px;
	}

	.history-body .content-bar.-overlayed.-left{
		min-width: 300px;
		width: 100%;
	}

	.history-body .content-bar__main{
		max-width: none;
		padding: 25px 15px;
	}

	.history-body .mCustomScrollBox{
		height: 45%;
	}

	.history-body .block-spec-link{
		max-width: 100%;
		padding: 15px;
	}
  .block-spec-link .extra-link {
    margin-top: 10px;
    font-size: 15px;
    line-height: 16px;
  }
  .block-spec-link .extra-link:first-child {
    margin-top: 0;
  }

	.history-body .block-spec-link .extra-link{
		width: 100%;
	}
  .btn.-large,
  .btn.-large.-largespec {
    height: 45px;
  }

	/*contacts*/
	body.contacts-body{
    background-image: url("/files/img/fidel/fidel2018/img_5072_web.jpg") !important;
		overflow: auto;
		height: auto;
	}

  .google-maps{
    top: 280px;
  }

	.contacts-body .content-bar.-overlayed.-left{
		height: 280px;
		width: 100%;
	}

	.contacts-body .contacts{
		-webkit-box-pack: justify;
			-ms-flex-pack: justify;
				justify-content: space-between;
		padding-right: 15px;
		padding-left: 15px;
		max-width: none;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}

	.contacts-body .contacts__title{
		padding-bottom: 15px;
		margin-bottom: 15px;
		width: 100%;
	}

	.contacts-body .contacts__address{
		-webkit-box-pack: justify;
			-ms-flex-pack: justify;
				justify-content: space-between;
		margin-bottom: 0;
	}

	.contacts-body .contacts-call{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}

	.contacts-body .contacts-call .contacts-call__item:not(:first-child){
		padding-left: 30px;
	}

	.contacts-body .contacts__email{
		padding-top: 0;
		border-top: 0;
		margin-top: 0;
	}

	.contacts-body .contacts__title{
		font-size: 26px;
		line-height: 1.1;
	}

	/*team*/
	.team-body .motto.-over-content{
		margin-left: 15px;
		top: 25%;
	}

	.easypin .pin{
		max-width: none;
		opacity: 1 !important;
		-webkit-filter: grayscale(.75);
		filter: grayscale(.75);
		width: auto !important;
		left: -90%;
	}

	.easypin-marker{
		z-index: 1 !important;
		left: 15px !important;
	}

	.team-member{
		padding: 0;
		bottom: auto !important;
		left: 44px;
		top: -50px;
	}

	.easypin-marker:nth-child(6){
		top: 78% !important;
	}

	.easypin-marker:nth-child(2){
		top: 66% !important;
	}

	.easypin-marker:nth-child(3){
		top: 54% !important;
	}

	.easypin-marker:nth-child(4){
		top: 42% !important;
	}

	.easypin-marker:nth-child(5){
		top: 30% !important;
	}
}

@media screen and (max-width:620px){
	.contacts-body .content-bar.-overlayed.-left{
		height: 330px;
	}

	.contacts-body .contacts-call{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
			-ms-flex-direction: column;
				flex-direction: column;
	}

	.contacts-body .contacts-call .contacts-call__item:not(:first-child){
		padding-left: 0;
	}

  .google-maps{
    top: 330px;
  }
}

@media screen and (max-width:520px){
	.history-body .content-bar__content{
		max-height: 400px;
	}
}

@media screen and (max-width:480px){
	.motto__title{
		line-height: 1.1;
	}

	.motto__sub{
		font-size: 22px;
	}

	/*advantages*/
	.advantages-list.page-content.-narrow.advantages-list-adaptive{
		height: 800px;
	}

	.advantages-list__item{
		margin: 7px 0;
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
			-ms-flex-align: center;
				align-items: center;
	}

	.advantages-list__item:nth-child(even){
		padding-left: 0;
	}

	.advantages-list__item .img-icon__image{
		margin-right: 15px;
		height: 50px;
	}

	.advantages-body .sidebar.-right{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
			-ms-flex-direction: column;
				flex-direction: column;
		-webkit-box-align: baseline;
		-ms-flex-align: baseline;
			align-items: baseline;
	}

	.advantages-body .sidebar.-right .sidebar-footer{
		width: 100%;
	}

	.advantages-body .sidebar.-right .sidebar-footer{
		padding: 0 15px;
	}

	/*history*/
	.history-body .content-bar__content{
		max-height: 580px;
	}

	/*business*/
	.business-body .motto.-over-content{
		margin-left: 15px;
		top: 50%;
	}

	.business-body .nav-visible .nav__item:first-child{
		display: none;
	}

	.business-body .nav-visible .nav__item > a{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
			-ms-flex-align: center;
				align-items: center;
		line-height: 30px;
		height: 60px;
	}

	.business-body .nav-visible .nav-submenu__item{
		background-color: rgba(254, 254, 254, 0.1);
	}

	.business-body .nav-visible .nav-submenu__item:hover{
		background-color: rgba(254, 254, 254, 0.3);
	}

	/*contacts*/
  .google-maps{
    top: 470px;
  }

	.contacts-body .content-bar.-overlayed.-left{
		height: 470px;
	}

	.contacts-body .contacts{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
			-ms-flex-direction: column;
				flex-direction: column;
	}

	.contacts-body .contacts__address{
		margin-bottom: 15px;
	}

	.contacts-body .content-bar.-overlayed.-left{
		min-width: 280px;
	}

	/*team*/
	.team-body .motto.-over-content{
		margin-left: 15px;
		top: 20%;
	}

	.team-body .motto__title{
		font-size: 32px;
	}

	.motto__sub{
		font-size: 18px;
	}

	.rhombus-photo{
		width: 100px;
		height: 100px;
	}

	.team-member{
		left: 39px;
		top: -52px;
	}

	.team-member__photo{
		top: 20px;
	}

	.rhombus-photo > img{
		left: 24px;
		top: -42px;
	}

	.team-member__descr{
		margin-left: 50px;
		min-width: 200px;
		padding: 5px 10px 5px 70px;
		height: 141px;
	}
}

.disclosure-page {
	color: #ffffff;
}

.disclosure-block {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
}

.cbp-ntcontent > div {
	margin-bottom: 20px;
}

.disclosure-block a {
	color: #0a0a0a;
	position: relative;
	text-decoration: none;
	background-image: linear-gradient(#0a0a0a, #0a0a0a);
	background-position: 0% 100%;
	background-repeat: no-repeat;
	background-size: 100% 1px;
	transition: background-size .4s;
}

.disclosure-block a:hover,
.disclosure-block a:focus {
	text-decoration: none;
	background-size: 0 1px;
}

.disclosure-item {
	width: 100%;
	margin-bottom: 35px;
	border: 1px solid #0a0a0a;
	padding: 10px 20px;
}
.disclosure-item h4 {
	width: 100%;
	color: #0a0a0a;
	margin: 0;
}

/* Icon font for arrow icons */
@font-face {
	font-family: 'icomoon';
	src:url('../fonts/icomoon_arrows/icomoon.eot');
	src:url('../fonts/icomoon_arrows/icomoon.eot?#iefix') format('embedded-opentype'),
		url('../fonts/icomoon_arrows/icomoon.woff') format('woff'),
		url('../fonts/icomoon_arrows/icomoon.ttf') format('truetype'),
		url('../fonts/icomoon_arrows/icomoon.svg#icomoon') format('svg');
	font-weight: normal;
	font-style: normal;
} /* Iconfont by Icomoon http://icomoon.io/ */

/* Accordion style */
.cbp-ntaccordion {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cbp-ntsubaccordion {
	list-style: none;
}

.cbp-ntaccordion .cbp-nttrigger {
	cursor: pointer;
} 

.cbp-ntaccordion h4 {
	font-size: 18px;
	font-weight: bold;
	text-transform: uppercase;
	/*font-size: 1.4em;
	letter-spacing: 0.4em;
	padding: 0.5em 0 0.5em;
	margin: 0 0 0.5em;*/
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.cbp-ntaccordion .cbp-ntopen  h4 {
	margin: 0 0 2em;
}

/* Arrow icons */
.cbp-ntaccordion > li > .cbp-nttrigger:after,
.cbp-ntsubaccordion > li > .cbp-nttrigger:after {
	font-family: 'icomoon';
	speak: none;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	color: #ddd;
	margin-right: 0.5em;
	-webkit-font-smoothing: antialiased;
	width: 20px;
	overflow: hidden;
	display: inline-block;
	text-indent: -18px;
}

.cbp-ntaccordion > li > .cbp-nttrigger:after {
	/*font-size: 75%;*/
}

.cbp-ntaccordion > li > .cbp-nttrigger:after {
	content: "36";
}
.cbp-ntaccordion > li.cbp-ntopen > .cbp-nttrigger:after,
.cbp-ntaccordion > li > .cbp-nttrigger:hover:after {
	content: "35";
	color: inherit;
}
.cbp-ntaccordion > li.cbp-ntopen > .cbp-nttrigger:after,
.no-js .cbp-ntaccordion > li > .cbp-nttrigger:after {
	content: "34";
	color: inherit;
}

.cbp-ntsubaccordion > li > .cbp-nttrigger:after {
	content: "32";
}
.cbp-ntsubaccordion > li > .cbp-nttrigger:hover:after {
	content: "33";
	color: inherit;
}
.cbp-ntsubaccordion > li.cbp-ntopen > .cbp-nttrigger:after,
.no-js .cbp-ntsubaccordion > li > .cbp-nttrigger:after {
	content: "31";
	color: inherit;
}

/* Initial height is zero */
.cbp-ntaccordion .cbp-ntcontent {
	height: 0;
	overflow: hidden;
}

/* When open, set height to auto */
.cbp-ntaccordion .cbp-ntopen > .cbp-ntcontent,
.cbp-ntsubaccordion .cbp-ntopen > .cbp-ntcontent,
.no-js .cbp-ntaccordion .cbp-ntcontent {
	height: auto;
	display: flex;
	flex-direction: column;
}

/* Example for media query */
@media screen and (max-width: 991px) { 
	.disclosure-body .overlay-bg {
		display: none;
	}
	.disclosure-block a {
		font-size: 18px;
	}
	.cbp-ntaccordion h4 {
		font-size: 18px;
		font-weight: bold;
	}
}
@media screen and (max-width: 32em) { 

	.cbp-ntaccordion {
		font-size: 70%;
	}

}


/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21hbGlodS1jdXN0b20tc2Nyb2xsYmFyLXBsdWdpbi9qcXVlcnkubUN1c3RvbVNjcm9sbGJhci5jc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3V0aWwvX2tleWZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fem9vbS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fYW5pbWF0aW9uLnNjc3MiLCJ2ZW5kb3IvX2ZsZXhzbGlkZXIuc2NzcyIsInZlbmRvci9faW9uLnJhbmdlU2xpZGVyLnNjc3MiLCJnZW5lcmFsL2FuaW1hdGlvbnMvX2FuaW1hdGlvbnMuc2NzcyIsImdlbmVyYWwvcGFnZS1iYWNrZ3JvdW5kL19wYWdlLWJhY2tncm91bmQuc2NzcyIsImdlbmVyYWwvdHlwb2dyYXBoeS9iZWJhcy9fYmViYXMuc2NzcyIsImdlbmVyYWwvdHlwb2dyYXBoeS9mdXR1cmEvX2Z1dHVyYS5zY3NzIiwic3ByaXRlL19zcHJpdGUuc2NzcyIsImxheW91dC9fZmlsdGVycy5zY3NzIiwibGF5b3V0L19nZW5lcmFsLnNjc3MiLCJsYXlvdXQvX21haW4td3JhcC5zY3NzIiwibGF5b3V0L19tYWluLnNjc3MiLCJsYXlvdXQvX3BhZ2UtY29udGVudC5zY3NzIiwibGF5b3V0L19zaWRlYmFyLnNjc3MiLCJjb21wb25lbnRzL2FkZHJlc3MvX2FkZHJlc3Muc2NzcyIsImNvbXBvbmVudHMvYW5tLXRhYnMvX2FubS10YWJzLnNjc3MiLCJjb21wb25lbnRzL2JhY2stYnV0dG9ucy9fYmFjay1idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL2JjLXNlbGVjdC9fYmMtc2VsZWN0LnNjc3MiLCJjb21wb25lbnRzL2JyYW5kL19icmFuZC5zY3NzIiwiaGVscGVycy9fYnRuLW1peGlucy5zY3NzIiwiY29tcG9uZW50cy9idXR0b25zL2J0bi9fYnRuLnNjc3MiLCJjb21wb25lbnRzL2NhdGFsb2ctdGFibGUvX2NhdGFsb2ctdGFibGUuc2NzcyIsImhlbHBlcnMvX3Jlc3BvbnNpdmUtZm9udC5zY3NzIiwiY29tcG9uZW50cy9jaGVja2JveC1jdXN0b20vX2NoZWNrYm94LWN1c3RvbS5zY3NzIiwiY29tcG9uZW50cy9jb250ZW50LWJhci9fY29udGVudC1iYXIuc2NzcyIsImNvbXBvbmVudHMvY29udGVudC13eXNpd3lnL19jb250ZW50LXd5c2l3eWcuc2NzcyIsImNvbXBvbmVudHMvY3VzdG9tLXNjcm9sbGVyL19jdXN0b20tc2Nyb2xsZXIuc2NzcyIsImNvbXBvbmVudHMvZWFzeXBpbi1tYXJrZXIvX2Vhc3lwaW4tbWFya2VyLnNjc3MiLCJjb21wb25lbnRzL2Vhc3lwaW4vX2Vhc3lwaW4uc2NzcyIsImNvbXBvbmVudHMvZmlsdGVyL19maWx0ZXIuc2NzcyIsImNvbXBvbmVudHMvZmxleHNsaWRlci9fY29udGVudC1mbGV4c2xpZGVyLnNjc3MiLCJjb21wb25lbnRzL2ZsZXhzbGlkZXIvX2ZsZXhzbGlkZXIuc2NzcyIsImNvbXBvbmVudHMvZm9ybS9fZm9ybS5zY3NzIiwiY29tcG9uZW50cy9mdWxsLXNsaWRlci9fZnVsbC1zbGlkZXIuc2NzcyIsImNvbXBvbmVudHMvZ29vZ2xlLW1hcHMvX2dvb2dsZS1tYXBzLnNjc3MiLCJjb21wb25lbnRzL2hlYWRlci9faGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL2ljb24tbmF2L19pY29uLW5hdi5zY3NzIiwiY29tcG9uZW50cy9pY29ucy9faWNvbi1uYXYuc2NzcyIsImNvbXBvbmVudHMvaWNvbnMvX2ltZy1pY29uLnNjc3MiLCJjb21wb25lbnRzL2lycy9faXJzLnNjc3MiLCJjb21wb25lbnRzL2xpZ2h0Ym94L19mYW5jeWJveC5zY3NzIiwiY29tcG9uZW50cy9uYXYvX25hdi1zdWJtZW51LnNjc3MiLCJjb21wb25lbnRzL25hdi9fbmF2LnNjc3MiLCJjb21wb25lbnRzL25hdmlnYXRpb24vX25hdmlnYXRpb24uc2NzcyIsImNvbXBvbmVudHMvb2ZmaWNlLXByZXZpZXctZ2FsbGVyeS9fb2ZmaWNlLXByZXZpZXctZ2FsbGVyeS5zY3NzIiwiY29tcG9uZW50cy9vcmRlci1ibG9jay9fb3JkZXItYmxvY2suc2NzcyIsImNvbXBvbmVudHMvcGFnZS10aXRsZS9fcGFnZS10aXRsZS5zY3NzIiwiY29tcG9uZW50cy9waG9uZS1hbGVydC9fcGhvbmUtYWxlcnQuc2NzcyIsImNvbXBvbmVudHMvcGhvbmUvX3Bob25lLnNjc3MiLCJjb21wb25lbnRzL3JhbmdlLXNsaWRlci9fcmFuZ2Utc2xpZGVyLnNjc3MiLCJjb21wb25lbnRzL3JlbnQtcHJpY2UvX3JlbnQtcHJpY2Uuc2NzcyIsImNvbXBvbmVudHMvcmhvbWJ1cy1waG90by9fcmhvbWJ1cy1waG90by5zY3NzIiwiY29tcG9uZW50cy9zaWRlLW5hdi9fc2lkZS1uYXYuc2NzcyIsImNvbXBvbmVudHMvc2lkZWJhci9fc2lkZWJhci5zY3NzIiwiY29tcG9uZW50cy90ZWFtLW1lbWJlci9fdGVhbS1tZW1iZXIuc2NzcyIsImNvbXBvbmVudHMvdGl0bGVzLWxpc3QvX3RpdGxlcy1saXN0LnNjc3MiLCJhcHAuc2NzcyIsInBhZ2VzL2NvbnRhY3RzL19jb250YWN0cy5zY3NzIiwicGFnZXMvaG9tZS9ob21lLWV4dHJhLWxpbmsvX2hvbWUtZXh0cmEtbGluay5zY3NzIiwicGFnZXMvaG9tZS9ob21lLWZvb3Rlci9faG9tZS1mb290ZXIuc2NzcyIsInBhZ2VzL2hvbWUvbW90dG8vX21vdHRvLnNjc3MiLCJwYWdlcy9yZW50L19yZW50LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX3NwYW4uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fZ3V0dGVycy5zY3NzIiwicGFnZXMvcmVudC9jaGFyYWN0ZXJpc3RpY3MvX2NoYXJhY3RlcmlzdGljcy5zY3NzIiwicGFnZXMvcmVudC9jb250YWN0LWRhdGEvX2NvbnRhY3QtZGF0YS5zY3NzIiwicGFnZXMvd2h5VXMvYWR2YW50YWdlcy9fYWR2YW50YWdlcy1saXN0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCOzs7OztHQUtHO0FDTEg7OztFQUdFO0FBSUY7Ozs7Ozs7OztFQVNFO0FBSUY7Ozs7RUFJRTtBQUVEO0VBQW1CLDZCQUE2QjtFQUFFLHlCQUF5QjtFQUFFLGlDQUFpQyxFQUFHOztBQUNqSDtFQUF3RSx1QkFBdUI7RUFBRSxtQkFBbUIsRUFBSTs7QUFFeEg7RUFBbUIsOEJBQThCO0VBQ2hELG1CQUFtQjtFQUNuQixpQkFBaUI7RUFDakIsYUFBYTtFQUNiLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2QsZUFBZSxFQUNmOztBQUVEO0VBQWlCLG1DQUFtQztFQUNuRCxpQkFBaUI7RUFDakIsWUFBWTtFQUNaLGFBQWEsRUFDYjs7QUFJRjs7Ozs7RUFLRTtBQUVEO0VBQWdDLG1CQUFtQixFQUFJOztBQUV2RDtFQUFpRCxnQkFBZ0IsRUFBSTs7QUFBQSwyQkFBMkI7QUFFaEc7RUFBK0MsdUNBQXVDO0VBQ3JGLGdCQUFnQjtFQUNoQixrQkFBa0IsRUFDbEI7O0FBRUQ7RUFBK0UsZUFBZSxFQUFJOztBQUFBLHVDQUF1QztBQUV6STtFQUFtQiwrRUFBK0U7RUFDakcsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixhQUFhO0VBQ2IsV0FBVztFQUNYLE9BQU87RUFDUCxTQUFTO0VBQ1QsVUFBVSxFQUNWOztBQUVEO0VBQW1DLGFBQWEsRUFBSTs7QUFBQSxpQ0FBaUM7QUFFckY7O0VBQ2tELHVDQUF1QztFQUN4RixZQUFZO0VBQ1osUUFBUSxFQUNSOztBQUVEO0VBQWtELFlBQVksRUFBSTs7QUFBQSxxRUFBcUU7QUFFdkk7RUFBMEMsNERBQTREO0VBQ3JHLG1CQUFtQjtFQUNuQixPQUFPO0VBQ1AsUUFBUTtFQUNSLFVBQVU7RUFDVixTQUFTO0VBQ1QsYUFBYSxFQUNiOztBQUVEO0VBQThDLGVBQWUsRUFBSTs7QUFFakU7RUFDQyxXQUFXO0VBQ1gsYUFBYTtFQUNiLGVBQWU7RUFDMEMsb0JBQW9CLEVBQzdFOztBQUVEO0VBQWlDLDJCQUEyQjtFQUMzRCxnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLGFBQWE7RUFBRSw0QkFBNEI7RUFDM0MsV0FBVyxFQUNYOztBQUVEO0VBQW1ELHlCQUF5QjtFQUMzRSxtQkFBbUI7RUFDbkIsV0FBVztFQUNYLGFBQWE7RUFDYixlQUFlO0VBQzBDLG9CQUFvQjtFQUM3RSxtQkFBbUIsRUFDbkI7O0FBRUQ7O0VBQ3dILFlBQVk7RUFBRSw2QkFBNkIsRUFBRzs7QUFFdEs7O0VBQzBHLFdBQVc7RUFBRSw2QkFBNkIsRUFBRzs7QUFFdko7O0VBRUMsZUFBZTtFQUNmLG1CQUFtQjtFQUNuQixhQUFhO0VBQ2IsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixlQUFlO0VBQ2YsZ0JBQWdCLEVBQ2hCOztBQUVEO0VBQW9DLFVBQVUsRUFBSTs7QUFJbkQ7Ozs7O0VBS0U7QUFFRDtFQUNDLGdCQUFnQjtFQUNoQixvQkFBb0IsRUFDcEI7O0FBRUQ7RUFBaUQsaUJBQWlCLEVBQUk7O0FBRXRFO0VBQW9FLGlCQUFpQixFQUFJOztBQUFBLDJCQUEyQjtBQUVwSDtFQUNDLFlBQVk7RUFDWixhQUFhO0VBQ2IsVUFBVTtFQUNWLFNBQVM7RUFDVCxVQUFVO0VBQ1YsUUFBUSxFQUNSOztBQUVEOztFQUN1RixjQUFjLEVBQUk7O0FBQUEsaUNBQWlDO0FBRTFJO0VBQTBFLGVBQWUsRUFBSTs7QUFFN0Y7RUFDQyxZQUFZO0VBQ1osWUFBWTtFQUNaLGNBQWMsRUFDZDs7QUFFRDtFQUNDLFlBQVk7RUFBRSwyQkFBMkI7RUFDekMsYUFBYTtFQUNiLFFBQVEsRUFDUjs7QUFFRDtFQUNDLFlBQVk7RUFDWixZQUFZO0VBQ1osaUJBQWlCLEVBQ2pCOztBQUVEOztFQUVDLGFBQWE7RUFBRSw2QkFBNkI7RUFDNUMsaUJBQWlCLEVBQ2pCOztBQUVEOztFQUVDLFlBQVk7RUFBRSw2QkFBNkI7RUFDM0MsY0FBYyxFQUNkOztBQUVEOztFQUVDLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLGFBQWE7RUFDYixpQkFBaUI7RUFDakIsZUFBZTtFQUNmLGdCQUFnQixFQUNoQjs7QUFFRDtFQUFnRSxRQUFRLEVBQUk7O0FBRTVFO0VBQWlFLFNBQVMsRUFBSTs7QUFJL0U7Ozs7O0VBS0U7QUFFRDtFQUNDLG1CQUFtQjtFQUNuQixhQUFhO0VBQ2IsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixPQUFPO0VBQ1AsUUFBUTtFQUNSLFNBQVM7RUFDVCxVQUFVO0VBQ1YsbUJBQW1CO0VBQ25CLG9CQUFvQixFQUNwQjs7QUFFRDtFQUNDLG9CQUFvQjtFQUNwQixxQkFBcUI7RUFDMEMsdUJBQXVCLEVBQ3RGOztBQUVEO0VBQXlFLGFBQWEsRUFBSTs7QUFFMUY7RUFBMkUsWUFBWSxFQUFJOztBQUUzRixzQ0FBc0M7QUFDdEM7RUFBdUcsVUFBVSxFQUFJOztBQUVySCxzRUFBc0U7QUFDdEU7O0VBQ3VILFNBQVMsRUFBSTs7QUFFcEksdUNBQXVDO0FBQ3ZDO0VBQXVILFdBQVcsRUFBSTs7QUFFdEksNkRBQTZEO0FBQzdEO0VBQXFNLFFBQVEsRUFBSTs7QUFFak47RUFBdUQsdUNBQXVDO0VBQzdGLGdCQUFnQjtFQUNoQixrQkFBa0IsRUFDbEI7O0FBRUQ7RUFBMkUsaUJBQWlCLEVBQUk7O0FBRWhHO0VBQTJFLGtCQUFrQixFQUFJOztBQUVqRztFQUNDLGdCQUFnQjtFQUFFLDJCQUEyQjtFQUM3QyxlQUFlLEVBQ2Y7O0FBRUQsc0NBQXNDO0FBQ3RDO0VBQWtILGlCQUFpQixFQUFJOztBQUl4STs7OztFQUlFO0FBRUQ7Ozs7OztFQVNDLHNFQUFzRSxFQUN0RTs7QUFFRDs7OztFRmlDQyxzUEFDeUQsRUFBRTs7QUFFN0Q7Ozs7RUFJRTtBQUNGOzs7O0dFSG9DO0FGUXBDLDZCRVI4RTtBRlM5RTtFRVBDLGNBQWdCO0VBQ2hCLDRCQUFnQjtFQUF1QyxnQ0FBVyxFQUFBOztBRlduRTs7RUVUQyxXQUFBO0VBQ0EsMkJBQW9CO0VBQ3BCLCtCQUEwQixFQUFBOztBQUUxQjs7Ozs7O0VBR0EsV0FBQTtFQUNDLDZCQUF1QjtFQUFFLGlDQUFrQixFQUFBOztBRmlCN0M7RUFDRSx1QkFBdUI7RUVkeEIscUNBQWdDO0VBQy9CLDRCQUF1QjtFQUFFLGdDQUFrQixFQUFBOztBRmtCN0M7RUFDRSx1QkFBdUI7RUVmeEIsNENBQXNDO0VBQ3JDLDRCQUF1QjtFQUFFLGdDQUFrQixFQUFBOztBRm1CN0M7RUFDRSx1QkFBdUI7RUVqQnhCLDRDQUF1QztFQUN2Qyw0QkFBa0I7RUFDakIsZ0NBQXVCLEVBQUE7O0FGb0J6Qjs7RUFFRSx1QkFBdUI7RUVsQnhCLDJDQUFnQztFQUNoQyw0QkFBa0I7RUFDbEIsZ0NBQWtDLEVBQUE7O0FGcUJuQzs7OztFRWpCaUIsd0NBQTRCO0VBQUUsaUJBQVk7RUZ1QnpELDZCQUE2QjtFRXBCOUIsYUFBQTtFQUNDLDRCQUF5QjtFQUN6QixnQ0FBQSxFQUFBOztBRnVCRjtFQUNFLHlCQUF5QjtFQUN6Qjs7OztJRWhCQSxFQUFBOztBRnNCRjtFQUNFLDZCQUE2QjtFQUM3Qjs7OztJRWZBLEVBQUE7O0FGcUJGO0VBQ0UsNkJBQTZCO0VBQzdCOzs7O0lFZEEsRUFBQTs7QUZvQkY7RUFDRSw2QkFBNkI7RUFDN0I7Ozs7SUViRCxFQUFBOztBRm1CRDs7OztFRWhCQyxjQUFBO0VBQ0EsNEJBQWtCO0VBQ2xCLGdDQUFrQyxFQUFBOztBRnNCbkM7Ozs7RUVsQkMsYUFBQTtFQUVBLDRCQUEyQjtFQUFtQixnQ0FBdUIsRUFBQTs7QUZ3QnRFLG1CQUFtQjtBRXRCbEI7RUFBNEQsdUJBQXVCO0VBQUUsc0NBQXNCLEVBQWdCOztBQUUzSDtFQUFrRSx1QkFBa0I7RUYyQm5GLHNDQUFzQyxFQUFFOztBRXhCekM7RUFBZ0Ysc0NBQXNCLEVBQWU7O0FBRXJIOztFRjZCQyxxQ0FBcUMsRUFBRTs7QUFFekM7RUFDRSw2QkFBNkIsRUFBRTs7QUFFakM7RUFDRSxpQ0FBaUMsRUFBRTs7QUFFckM7RUFDRSxpQ0FBaUMsRUFBRTs7QUUxQnBDO0VBRUEsaUNBQThCLEVBQUE7O0FGNkIvQiw4Q0UzQmE7QUY0QmIsZ0NFM0J5QjtBRjRCekI7O0VFM0IrQixXQUFBO0VBQTBCLHVCQUN2RDtFRjhCQSwyQ0FBMkM7RUUxQjNDLG1CQUFXLEVBQUE7O0FGK0JiOztFRTdCK0IsV0FBQTtFQUEwQix1QkFDdkQ7RUZnQ0EsNENBQTRDO0VFNUI3QyxtQkFBWSxFQUFBOztBRmlDYjs7OztFRTFCQyxZQUFZO0VBQXlELFlBQUE7RUFBeUIsaUJBQWdCLEVBQUU7O0FBRWhIO0VBQ0EsdUJBQVk7RUFBdUUsNENBQXVCLEVBQUE7O0FGbUMzRzs7RUVqQytDLHVCQUFxQjtFRm9DbEUsMkNBQTJDLEVBQUU7O0FBRS9DO0VBQ0UsNkJBQTZCLEVBQUU7O0FBRWpDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FFbENwQztFQUNDLGlDQUF1QixFQUFBOztBRnNDekIscUJFckNFO0FGc0NGO0VFdEN5RCx1QkFDdkQ7RUZ1Q0EscUNBQXFDO0VFcENaLG1CQUFrQixFQUFBOztBRnlDN0M7RUV4Q3lELHVCQUN2RDtFRnlDQSxzQ0FBc0M7RUV2Q3NELG1CQUFrQixFQUFBOztBQUUvRztFQUNBLHVCQUFXO0VBQXVFLHNDQUF1QixFQUFBOztBRjZDMUc7O0VFM0M4Qyx1QkFBcUI7RUY4Q2pFLHFDQUFxQyxFQUFFOztBQUV6QztFQUNFLDhCQUE4QixFQUFFOztBQUVsQztFQUNFLGtDQUFrQyxFQUFFOztBQUV0QztFQUNFLGtDQUFrQyxFQUFFOztBRTNDckM7RUFFQSxrQ0FBa0MsRUFBQTs7QUY4Q25DLDhDRTVDYTtBRjZDYix3Q0U1Q3lCO0FGNkN6Qjs7RUU1QytCLFdBQUE7RUFBMEIsdUJBQ3ZEO0VGK0NBLDJDQUEyQztFRTNDM0MsbUJBQVcsRUFBQTs7QUZnRGI7O0VFOUMrQixXQUFBO0VBQTBCLHVCQUN2RDtFRmlEQSw0Q0FBNEM7RUU3QzVDLG1CQUFZLEVBQUE7O0FGa0RkOztFRTdDQyxZQUFBO0VBQ0EsWUFBQTtFQUNDLGNBQVksRUFBQTs7QUZpRGQ7O0VFNUNDLFlBQUE7RUFBeUUsWUFBQTtFQUF5QixpQkFBZ0IsRUFBRTs7QUFFcEg7RUFDQSx1QkFBZ0I7RUFBdUUsNENBQXVCLEVBQUE7O0FGbUQvRzs7RUVqRG1ELHVCQUFxQjtFRm9EdEUsMkNBQTJDLEVBQUU7O0FBRS9DO0VBQ0UsNkJBQTZCLEVBQUU7O0FBRWpDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FFbERwQztFQUNDLGlDQUF1QixFQUFBOztBRnNEekIseUJFckR5QjtBRnNEekI7RUV0RHlELHVCQUN2RDtFRnVEQSxxQ0FBcUM7RUVwRFosbUJBQWtCLEVBQUE7O0FGeUQ3QztFRXhEeUQsdUJBQ3ZEO0VGeURBLHNDQUFzQztFRXZEMEQsbUJBQWtCLEVBQUE7O0FBRW5IO0VBQ0EsdUJBQWU7RUFBdUUsc0NBQXVCLEVBQUE7O0FGNkQ5Rzs7RUUzRGtELHVCQUFxQjtFRjhEckUscUNBQXFDLEVBQUU7O0FBRXpDO0VBQ0UsNkJBQTZCLEVBQUU7O0FBRWpDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0Usa0NBQWtDLEVBQUU7O0FFM0RyQztFQUVBLGtDQUFpQyxFQUFBOztBRjhEbEMsOENFOURvRztBRitEcEcsc0NBQXNDO0FFN0RyQztFQUNBLHVCQUFjO0VBQW1ELDJDQUFlLEVBQUE7O0FBRWhGOztFQUM4RCxXQUFZLEVBQUE7O0FBRTFFOztFQUVDLFlBQVksRUFBQTs7QUZrRWQ7O0VFNURDLFlBQUE7RUFFQSxZQUFjO0VBQXFDLGlCQUFnQixFQUFFOztBRmdFdEUsdUJBQXVCO0FFOUR0QjtFQUFpRSx1QkFBdUI7RUFBRSxzQ0FBc0IsRUFBZ0I7O0FBRWhJO0VBQXVFLHVCQUF1QjtFQUFFLHNDQUFzQixFQUFnQjs7QUFFdEk7RUFDQSx1QkFBYztFQUF1RSxzQ0FBdUIsRUFBQTs7QUZzRTdHOztFRXBFaUQsdUJBQXFCO0VGdUVwRSxxQ0FBcUMsRUFBRTs7QUFFekM7RUFDRSw2QkFBNkIsRUFBRTs7QUFFakM7RUFDRSxpQ0FBaUMsRUFBRTs7QUFFckM7RUFDRSxpQ0FBaUMsRUFBRTs7QUVwRXBDO0VBRUEsaUNBQThCLEVBQUE7O0FGdUUvQiw4Q0V2RWlHO0FGd0VqRywwRUFBMEU7QUV0RXpFO0VBQ0EsdUJBQWlCO0VBQ2pCLDRDQUFtQyxFQUFhOztBRnlFakQ7Ozs7RUVwRUMsYUFBQSxFQUFpQjs7QUYwRWxCOzs7O0VFbkVDLFlBQUE7RUFDQSxjQUFBLEVBQWlCOztBRnlFbEI7Ozs7RUVwRUMsWUFBQSxFQUFBOztBRjBFRDs7OztFRW5FQyxhQUFZO0VBQ1osY0FBQSxFQUFpQjs7QUZ5RWxCOzs7O0VBSUUsWUFBWTtFRXRFYiw2QkFBWTtFQUNaLGFBQVk7RUFDWixlQUFpQixFQUFBOztBRnlFbEI7Ozs7RUVyRUMsV0FBWTtFQUNaLDZCQUFpQixFQUFBOztBRjJFbEI7Ozs7RUFJRSxhQUFhO0VFeEVkLDZCQUFZO0VBQ1osWUFBWTtFQUNaLGVBQWlCLEVBQUE7O0FGMkVsQjs7OztFRXJFQyxZQUFZO0VBQWtDLDZCQUE2QjtFRjJFMUUsY0FBYyxFQUFFOztBQUVsQjtFQUNFLDZCQUE2QixFQUFFOztBQUVqQztFQUNFLDZCQUE2QixFQUFFOztBQUVqQztFQUNFLDhCQUE4QixFQUFFOztBRXpFakM7RUFDQSw4QkFBc0IsRUFBQTs7QUY2RXZCLCtDRTdFeUk7QUY4RXpJOztFRTVFdUQsdUJBQXVCO0VBQUUsc0NBQXNCLEVBQWdCOztBQUVySDtFQUNBLHVCQUFzQjtFQUF5RCxzQ0FBdUIsRUFBQTs7QUZrRnZHOztFRS9FQyx1QkFBaUI7RUFDakIsc0NBQXdDLEVBQUE7O0FGbUZ6Qzs7OztFRWhGb0QsdUJBQXFCO0VGcUZ2RSxxQ0FBcUMsRUFBRTs7QUFFekM7RUFDRSxpQ0FBaUMsRUFBRTs7QUFFckM7RUFDRSxpQ0FBaUMsRUFBRTs7QUFFckM7RUFDRSxrQ0FBa0MsRUFBRTs7QUVuRnJDO0VBQ0Esa0NBQXNCLEVBQUE7O0FGdUZ2QiwrQ0FBK0M7QUVyRjlDOztFQUVBLFdBQUEsRUFBQTs7QUZ3RkQ7Ozs7RUVqRkMsOEJBQXNCO0VBQ3JCLDRCQUFrQixFQUFBOztBRnVGcEI7O0VFcEZnQyxvTUFDOUI7RUZzRkEsNEJBQTRCO0VFcEY3QixhQUFBO0VBQ0EsNEJBQXNCO0VBQ3JCLGdDQUFZLEVBQUE7O0FGdUZkOztFRWxGQyxZQUFBO0VBQW1ELGNBQUE7RUZzRmxELDRCQUE0QixFQUFFOztBQUVoQztFQUNFLGlDQUFpQyxFQUFFOztBQUVyQztFQUNFLGlDQUFpQyxFQUFFOztBQUVyQztFQUNFLGtDQUFrQyxFQUFFOztBRXBGckM7RUFDQyxrQ0FBa0IsRUFBQTs7QUFHbkIsK0JBQXNCO0FGc0Z2QjtFQUNFLHdMQUF3TCxFQUFFOztBQUU1TDtFQUNFLGlDQUFpQyxFQUFFOztBQUVyQztFQUNFLGlDQUFpQyxFQUFFOztBQUVyQztFQUNFLG1DQUFtQyxFQUFFOztBRXBGdEM7RUFFQSxtQ0FBeUIsRUFBYzs7QUFFdkMsOENBQTZDO0FBQzdDLHdEQUFrRDtBRnNGbkQ7Ozs7RUVqRkUsNEJBQWtCO0VBT25CLHNHQUF5RSxFQUFBOztBRnNGMUU7Ozs7RUVoRkUsNEJBQWtCO0VBU25CLHVHQUFvRCxFQUFBOztBRm1GckQsMkJBQTJCO0FFakYxQjs7RUFDd0QsYUFBWSxFQUFJOztBQUV4RTs7RUFFQyxZQUFXLEVBQUE7O0FGcUZiOztFRWpGQyxXQUFPO0VBQ1AsNEJBQXlCO0VBQ3pCLGdDQUE4QixFQUFBOztBRnFGL0I7Ozs7RUVoRkUsb0JBQVcsRUFBQTs7QUZ3RmI7O0VBRUUsV0FBVztFRXJGWix1QkFBeUI7RUFDekIscUNBQXNDO0VBQ3RDLDBGQUErRCxFQUFBOztBQUUvRDs7Ozs7Ozs7RUFNK0QsdUJBQWUsRUFBQTs7QUFFOUU7O0VBRUMsV0FBWSxFQUFBOztBRjBGZDs7RUFFRSxZQUFZO0VFdEZiLFlBQU87RUFDUCxjQUFZO0VBQ1gsMEZBQVksRUFBQTs7QUZ5RmQ7O0VFcEZDLFlBQU87RUFBa0MsWUFBQTtFRndGeEMsaUJBQWlCLEVBQUU7O0FBRXJCO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0Usa0NBQWtDLEVBQUU7O0FFdEZyQztFQUNDLGtDQUF1QixFQUFBOztBRjBGekIscUJFekZvQjtBRjBGcEI7RUV2RkMsdUJBQVk7RUFBZ0QscUNBQTRCO0VGMEZ2RiwrQ0FBK0MsRUFBRTs7QUFFbkQ7RUFDRSwrQ0FBK0MsRUFBRTs7QUFFbkQ7RUFDRSxrQ0FBa0MsRUFBRTs7QUFFdEM7RUFDRSxrQ0FBa0MsRUFBRTs7QUFFdEM7RUFDRSxtQ0FBbUMsRUFBRTs7QUV4RnRDO0VBRUEsbUNBQThCLEVBQUE7O0FGMkYvQiw4Q0V6RmE7QUYwRmIsd0NFekY4QjtBRjBGOUI7O0VFdkZDLFdBQWE7RUFDYiw0QkFBa0I7RUFDbEIsZ0NBQStCLEVBQUE7O0FGMkZoQzs7OztFRXZGc0UsbUJBQUEsRUFBcUI7O0FGK0YzRjs7RUU1RjhELG1CQUFlLEVBQUE7O0FBRTVFOztFQUM4QyxXQUFVLEVBQUU7O0FBRTFEOztFQUVDLGtGQUFZLEVBQUE7O0FGbUdkOztFRTlGQyxZQUFBO0VBQ0Msa0ZBQThCLEVBQUE7O0FGa0doQzs7RUU5RkUsbURBQWE7RUFDYixZQUFPO0VBQ1AsWUFBVTtFQUNWLG1CQUFRO0VBQ1IsYUFDQTtFRmdHQSxPQUFPO0VFOUZSLFVBQUE7RUFDQSxRQUFBO0VBQWdGLFNBQUEsRUFBVTs7QUFFMUY7O0VBRUEsbURBQW9ELEVBQUE7O0FGa0dyRDs7OztFRTdGRSx1QkFBYSxFQUFBOztBRm1HZjs7RUU5RkUsYUFBQTtFQUF5QixZQUFBLEVBQUE7O0FGbUczQjtFRS9GQyx1QkFBYTtFQUFxQyxzQ0FBa0M7RUZrR25GLGtEQUFrRCxFQUFFOztBQUV0RDtFQUNFLDhCQUE4QixFQUFFOztBQUVsQztFQUNFLGlDQUFpQyxFQUFFOztBQUVyQztFQUNFLGlDQUFpQyxFQUFFOztBQUVyQztFQUNFLGtDQUFrQyxFQUFFOztBRWpHckM7RUFBcUMsa0NBQTJCLEVBQUE7O0FBRWhFLDRCQUFrQjtBRnFHbkI7RUFDRSw4Q0FBOEMsRUFBRTs7QUFFbEQ7RUFDRSxrRkFBa0YsRUFBRTs7QUFFdEY7RUFDRSxzRkFBc0YsRUFBRTs7QUVyR3pGO0VBQ0Esc0ZBQTBFLEVBQUE7O0FGeUczRTs7OztFRXJHMkIsdUJBQWtCLEVBQUE7O0FGMkc3QztFRXZHQyx1QkFBa0I7RUFBcUMsc0NBQWtDO0VGMEd4RixrREFBa0QsRUFBRTs7QUFFdEQ7RUFDRSw4QkFBOEIsRUFBRTs7QUFFbEM7RUFDRSxrQ0FBa0MsRUFBRTs7QUFFdEM7RUFDRSxrQ0FBa0MsRUFBRTs7QUFFdEM7RUFDRSxtQ0FBbUMsRUFBRTs7QUV4R3RDO0VBRUEsbUNBQTRCLEVBQUE7O0FGMkc3Qiw4Q0V6R1c7QUYwR1gsc0NFeEdFO0FGeUdGOztFRXRHQyxTQUFBO0VBQ0EsZUFBaUIsRUFBQTs7QUYwR2xCOzs7O0VFbkdDLFVBQVk7RUFDWixlQUFlLEVBQUE7O0FGeUdoQix1Q0V0R0U7QUZ1R0Y7O0VFcEdDLFFBQUE7RUFBc0QsWUFBQSxFQUFBOztBQUV0RDs7RUFDMkQsOEJBQWlCLEVBQUE7O0FBRTVFOztFQUM2RCxhQUFZLEVBQUk7O0FBRTdFOztFQUMwQixZQUFBLEVBQUE7O0FGNEczQjtFQUNFLHVCQUF1QjtFRXpHeEIsMkNBQTJDO0VBQzNDLDRCQUE4QjtFQUM3QixnQ0FBdUIsRUFBQTs7QUY0R3pCOztFQUVFLHVCQUF1QjtFRXpHeEIsMkNBQTJCO0VBRTNCLDRCQUFpQjtFQUNoQixnQ0FBdUIsRUFBQTs7QUYyR3pCLDJCRTFHVTtBRjJHVjtFQUNFLHVCQUF1QjtFRXpHeEIscUNBQW1DO0VBQ25DLDRCQUFpQjtFQUNoQixnQ0FBdUIsRUFBQTs7QUY0R3pCOztFQUVFLHVCQUF1QjtFRTFHeEIscUNBQUE7RUFJQSw0QkFBQTtFQUVBLGdDQUE4QixFQUFBOztBRnlHL0IsOENFdkdhO0FGd0diLCtCRXZHeUI7QUZ3R3pCOztFRXJHQyxXQUFZO0VBQ1osdUJBQVc7RUFBbUQscUNBQWUsRUFBQTs7QUFFN0U7O0VBRUEsV0FBWSxFQUFBOztBRjBHYjs7OztFRW5HQyxZQUFZO0VBQ1osWUFBWTtFQUNaLGNBQVcsRUFBQTs7QUZ5R1o7Ozs7RUVsR0MsWUFBVyxFQUFBOztBRndHWjs7OztFRWxHK0MsYUFBQTtFRnVHN0MsY0FBYyxFQUFFOztBQUVsQjtFQUNFLGlDQUFpQyxFQUFFOztBQUVyQztFQUNFLGlDQUFpQyxFQUFFOztBQUVyQztFQUNFLGtDQUFrQyxFQUFFOztBRXJHckM7RUFBOEQsa0NBQXVCLEVBQUE7O0FGMEd0RixvQkFBb0I7QUV4R25CO0VBQW9FLHVCQUF1QjtFQUFFLHNDQUFzQixFQUFnQjs7QUFFbkk7RUFDQSx1QkFBVztFQUF1RSxzQ0FBdUIsRUFBQTs7QUY4RzFHOztFRTVHaUQsdUJBQXVCO0VBQUUscUNBQXNCLEVBQWU7O0FBRTlHO0VBQTZDLHVCQUFxQjtFRmlIakUscUNBQXFDLEVBQUU7O0FBRXpDO0VBQ0Usa0NBQWtDLEVBQUU7O0FBRXRDO0VBQ0Usa0NBQWtDLEVBQUU7O0FBRXRDO0VBQ0UsbUNBQW1DLEVBQUU7O0FFOUd0QztFQUVBLG1DQUE0QixFQUFBOztBQUU1Qiw4Q0FBOEI7QUFDOUIsdUZBQW9EO0FBQ3BEOzs7Ozs7RUFNQSxZQUFVO0VBQ1YsdUJBQWU7RUFDZixxQ0FBOEIsRUFBQTs7QUFFOUI7Ozs7OztFQU1DLFdBQU87RUFDUCxnQkFBVTtFQUNWLG1CQUFRO0VBQ1IsYUFDQTtFRitHQSxPQUFPO0VFN0dSLFVBQVU7RUFDVixRQUFBO0VBQ0EsU0FBQSxFQUFZOztBQUVaOzs7Ozs7RUFNQyxZQUFPO0VBQ1AsZ0JBQVU7RUFDVixtQkFBUTtFQUNSLFlBQ0E7RUY4R0EsT0FBTztFRTVHUixVQUFVO0VBQ1YsUUFBQTtFQUNBLFNBQUEsRUFBWTs7QUFFWjs7Ozs7O0VBT0EsWUFBVTtFQUNWLGFBQVk7RUFDWixjQUFZLEVBQUE7O0FGOEdiOzs7RUUxR0MsaUNBQThCLEVBQUE7O0FGK0cvQjs7O0VFM0dDLGlDQUE4QixFQUFBOztBRmdIL0I7OztFRTVHQyxrQ0FBOEIsRUFBQTs7QUZpSC9COzs7RUUzR0Msa0NBQW1DLEVBQUE7O0FGZ0hwQyx3REUvRzRGO0FGZ0g1Rjs7O0VFN0dDLHVCQUFpQjtFQUNqQixzQ0FBbUMsRUFBQTs7QUZrSHBDOzs7RUUvR0MsdUJBQWU7RUFDZixzQ0FBbUMsRUFBQTs7QUFFbkM7Ozs7OztFQUlBLHVCQUFpQjtFQUNqQixxQ0FBbUMsRUFBQTs7QUZzSHBDOzs7RUVuSEMsdUJBQWlCO0VBQ2pCLHFDQUFtQyxFQUFBOztBRndIcEM7OztFRXBIQyxrQ0FBbUMsRUFBQTs7QUZ5SHBDOzs7RUVySEMsa0NBQW1DLEVBQUE7O0FGMEhwQzs7O0VFdEhDLG1DQUFtQyxFQUFBOztBRjJIcEM7OztFRXJIQyxtQ0FBbUMsRUFBQTs7QUYwSHBDLHFDRXhIb0I7QUZ5SHBCOztFRXRIRSw4QkFBYztFQUNkLGtCQUFrQjtFQUFlLG9CQUFpQjtFQUFhLG1CQUFZO0VGMkgzRSx1Q0FBdUM7RUV4SG1DLHVCQUFjLEVBQUE7O0FBR3pGO0VBRUEsbUJBQVk7RUFBcUMsaUNBQXVCLEVBQUE7O0FGNEh6RSxxQ0FBcUM7QUUxSHBDO0VBQXNELHVCQUF1QjtFQUFFLDJDQUFxQyxFQUFBOztBQUVwSDtFQUErRCx1QkFBdUI7RUFBRSxxQ0FBc0IsRUFBQTs7QUFFOUc7RUFBcUUsdUJBQXVCO0VBQUUsc0NBQXNCLEVBQWdCOztBQUVwSTtFQUNBLHVCQUFZO0VBQXVFLHNDQUF1QixFQUFBOztBRm9JM0c7O0VFbElxRSx1QkFBdUI7RUFBRSxxQ0FBa0IsRUFBQTs7QUFFL0c7RUFBMEUsdUJBQXVCO0VBQUUsNENBQXNCLEVBQXNCOztBQUUvSTtFQUNBLHVCQUFpQjtFQUF1RSw0Q0FBdUIsRUFBQTs7QUYwSWhIOztFR3RxQ0UsdUJBQUE7RUFFQSwyQ0FBQSxFQUFBOztBSHlxQ0YsOENBQThDO0FBQzlDLDRFQUE0RTtBQUM1RTs7OztLR25xQ0k7QUh3cUNKO0VHdnFDSSx3QkFBd0I7RUFBUyxPQUFPO0VIMHFDMUMsMkJBQTJCO0VHdnFDM0IsT0FBQTtFSHlxQ0EsK0JBQStCO0VBQy9CLE9HeHFDRyxFQUFBOztBSDBxQ0w7O0tHcHFDRTtBSHVxQ0Y7RUdwcUNFLFVBQUEsRUFBQTs7QUh1cUNGO2tGQUNrRjtBQUNsRjs7Ozs7S0cvcENFO0FBQ0E7Ozs7Ozs7Ozs7Ozs7RUhpckNBLGVBQWUsRUFBRTs7QUdocUNqQjs7O0tBR0s7QUhtcUNQOzs7O0VBSUUsc0JBQXNCO0VHbHFDdEIsT0FBQTtFSG9xQ0EseUJBQXlCO0VBQ3pCLE9BQU8sRUFBRTs7QUdocUNUOzs7S0hxcUNHO0FHaHFDSDtFSGtxQ0EsY0FBYztFQUNkLFVBQVUsRUFBRTs7QUFFZDs7O0tBR0s7QUc5cENIOztFQUdBLGNBQUEsRUFBQTs7QUhncUNGO2tGRzVwQ0k7QUg4cENKOztLRzFwQ0U7QUg2cENGO0VBQ0UsOEJBQThCLEVBQUU7O0FHenBDaEM7OztLSDhwQ0c7QUd6cENIOztFQUdBLFdBQUEsRUFBQTs7QUgycENGO2tGR3ZwQ2M7QUh5cENkOztLR3JwQ0U7QUh3cENGO0VBQ0UsMEJHdnBDRyxFQUFBOztBQUdIOztLSHdwQ0c7QUdwcENIOztFSHVwQ0Esa0JHcnBDRyxFQUFBOztBSHVwQ0w7O0tHanBDRTtBSG9wQ0Y7RUFDRSxtQkFBbUIsRUFBRTs7QUdocENyQjs7O0tIcXBDRztBR2hwQ0g7RUhrcENBLGVBQWU7RUFDZixpQkdqcENHLEVBQUE7O0FIbXBDTDs7S0FFSztBRzlvQ0g7RUhncENBLGlCQUFpQjtFQUNqQixZRy9vQ0csRUFBQTs7QUhpcENMOztLRzNvQ0U7QUg4b0NGO0VBQ0UsZUc3b0NHLEVBQUE7O0FBR0g7O0tBRUU7QUg2b0NKOztFQUVFLGVBQWU7RUcxb0NmLGVBQUk7RUFDRixtQkFDRDtFSDJvQ0QseUJBQXlCLEVBQUU7O0FBRTdCO0VBQ0UsWUFBWSxFQUFFOztBQUVoQjtFR3ZvQ0UsZ0JBQUEsRUFBQTs7QUgwb0NGO2tGR3RvQ007QUh3b0NOOztLR3BvQ0U7QUh1b0NGO0VBQ0UsVUd0b0NHLEVBQUE7O0FId29DTDs7S0dsb0NFO0FIcW9DRjtFR2xvQ0UsaUJBQUEsRUFBQTs7QUhxb0NGO2tGR2pvQ1M7QUhtb0NUOztLRy9uQ0U7QUhrb0NGO0VBQ0UsaUJHam9DRyxFQUFBOztBSG1vQ0w7O0tBRUs7QUc5bkNIO0VIZ29DQSx3QkFBd0I7RUFDeEIsVUcvbkNHLEVBQUE7O0FIaW9DTDs7S0czbkNFO0FIOG5DRjtFQUNFLGVHN25DRyxFQUFBOztBQUdIOztLQUVLO0FINm5DUDs7OztFQUlFLGtDQUFrQztFR3puQ2xDLGVBQUEsRUFBQTs7QUg0bkNGO2tGR3puQ0s7QUFFSDs7O0tING5DRztBQUNMOzs7OztLR25uQ0U7QUFDQTs7Ozs7RUFHRSxlQUFVO0VBQUUsT0FBTztFSDRuQ3JCLGNBQWM7RUd6bkNkLE9BQUE7RUgybkNBLFVBQVU7RUFDVixPRzFuQ0csRUFBQTs7QUg0bkNMOztLR3RuQ0U7QUh5bkNGO0VBQ0Usa0JBQWtCLEVBQUU7O0FBRXRCOzs7OztLQUtLO0FHcm5DSDs7RUh3bkNBLHFCQUFxQixFQUFFOztBQUV6Qjs7Ozs7O0tHL21DTztBSHNuQ1A7Ozs7RUFJRSwyQkFBMkI7RUdybkMzQixPQUFBO0VIdW5DQSxnQkFBZ0I7RUFDaEIsT0d0bkNHLEVBQUE7O0FBR0g7O0tIdW5DRztBR25uQ0g7O0VIc25DQSxvQkdwbkNHLEVBQUE7O0FBR0g7O0tBRUU7QUhvbkNKOztFQUVFLFVBQVU7RUFDVixXQUFXLEVBQUU7O0FHL21DYjs7O0tBSUE7QUhpbkNGO0VBQ0Usb0JBQW9CLEVBQUU7O0FBRXhCOzs7Ozs7S0cxbUM2QjtBSGluQzdCOztFQUVFLHVCQUF1QjtFRy9tQ3ZCLE9BQUE7RUhpbkNBLFdBQVc7RUFDWCxPQUFPLEVBQUU7O0FBRVg7Ozs7S0FJSztBRzdtQ0g7O0VIZ25DQSxhQUFhLEVBQUU7O0FHM21DZjs7O0tBRUU7QUgrbUNKO0VBQ0UsOEJBQThCO0VHN21DOUIsT0FBQTtFSCttQ0Esd0JBQXdCO0VBQ3hCLE9BQU8sRUFBRTs7QUFFWDs7OztLQUlLO0FHM21DSDs7RUg4bUNBLHlCQUF5QixFQUFFOztBR3ptQzNCOzs7S0g4bUNHO0FBQ0w7Ozs7TUd0bUNLO0FBRUg7OztLQUVFO0FIMm1DSjtFQUNFLFVBQVU7RUd6bUNWLE9BQUE7RUgybUNBLFdBQVc7RUFDWCxPRzFtQ0csRUFBQTs7QUg0bUNMOztLR3RtQ0U7QUh5bUNGO0VBQ0UsZUFBZSxFQUFFOztBR3JtQ2pCOzs7S0FJQTtBSHVtQ0Y7RUdwbUNFLGtCQUFBLEVBQUE7O0FIdW1DRjtrRkdubUNRO0FIcW1DUjs7S0FFSztBR2xtQ0g7RUFDRSwwQkFBQztFQUNELGtCQUNELEVBQUE7O0FBcmdCRDs7RUgybURBLFdBQVcsRUFBRTs7QUFFZjtFR3ZtREkseUVBQ0QsRUFBQTs7QUFHRDtFQUNDLGdCQUFRO0VBQ1IsdUJBQVEsRUFBQTs7QUh3bURYOzs7RUdqbURJLG9CQUFVLEVBQUE7O0FIc21EZDtFR25tREksV0FBVztFQUNYLFVDaEZJO0VEaUZKLDREQ2hGVztFRG1GVCxvQkFBQTtFQUNBLGlCQUFBO0VIbW1ESixlQUFlO0VHL2xEZixvQkFBSTtFQUVGLG9DQUFnQjtFQUNoQixtQ0FBYSxFQUFBOztBSGltRGpCO0VHNWxESSxnQkFBZ0I7RUg4bERsQixhQUFhO0VHMWxEYixnQ0FBUztFQUNQLHNCQUFhO0VBQ2IsdUJBQWlCLEVBQUE7O0FINmxEckI7RUd4bERFLGFBQU87RUFDTCxpQkFBWTtFQUNaLGlCQ3BHYSxFRHFHZDs7QUFJRDtFQUFBLFlBSUU7RUFKRixpQkFLUSxFQUFBOztBQUpSOzs7Ozs7Ozs7RUFhRSwyQkFBc0IsRUFBQTs7QUh1bEQxQjtFR3BsREkseUJBQVU7RUFDVixzQkMzSGE7RUQ0SGIsd0JBQ0Q7RUhxbERELFdLL21EQTtFTGduREEsVUsvbURTO0VMZ25EVCxpQkFBaUI7RUdwbERqQixlQUFZLEVBQUE7RUFDVjtJSHNsREEsV0FBVyxFQUFFOztBQUVqQjtFQUNFLDBCQUEwQixFQUFFOztBTTFqRDVCO0VBQ0UseUJBQUEsRUFBQTs7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXFCRSxVQUFTO0VBQ1QsV0FBVyxFRnZHUTs7QUptcUR2QjtFQUNFLG1CQUFtQjtFTXZqRGpCLGlCQUFBO0VBQ0Esb0JBQUE7RUFDQSxtQ0FBbUIsRUFBQTs7QU4wakR2Qjs7RU1wakRJLG1CQUFBO0VBQ0EscUJGek1xQixFQUFBOztBSml3RHpCOztFTWxqREksa0JGOUhpQjtFRStIakIscUJBQXFCLEVBQ3RCOztBQUdEO0VBQ0UsZUFBQTtFQUNBLHFCQUFBLEVBQUE7O0FBRUY7Ozs7OztFQU1FLDRERjlJc0M7RUUrSXRDLG9CQUFjO0VBQ2QsbUJGakptQjtFRWtKbkIsZUZuSmdCO0VFc0lsQixtQ0FlTztFQWRQLGNBY087RUFiUCxzQkFhTztFQVpQLGlCQVlPLEVBQUE7RUFYUDs7Ozs7O0lBc0JRLFlDaE9FO0lQaXhEUixlQUFlLEVBQUU7O0FBRXJCO0VBQ0Usa0JBQWtCLEVBQUU7O0FBRXRCO0VBQ0UsbUJBQW1CLEVBQUU7O0FBRXZCO0VBQ0UscUJBQXFCLEVBQUU7O0FBRXpCO0VBQ0Usb0JBQW9CLEVBQUU7O0FBRXhCO0VBQ0UscUJBQXFCLEVBQUU7O0FBRXpCO0VBQ0UsZ0JPbnlEVSxFQUFVOztBUHF5RHRCO0VNdGtEUTtJQUNFLGdCQ2hPRSxFQUFBO0VEK05KO0lBQ0Usa0JDaE9FLEVBQVU7RUQrTmQ7SUFDRSxxQkFDRCxFQUFBO0VBRkQ7SUFDRSxxQkFDRCxFQUFBO0VONmtEUDtJTXZrREUsbUJBQUEsRUFBQTtFQUNBO0lBQ0EsZ0JGekpxQixFQUFBLEVBQUk7O0FKbXVEN0I7RU01a0RFLGVBQUM7RU44a0RELHNCTWxrREc7RUFaSCxxQkFjTTtFTmtrRE4sZ0JNaGtERyxFQUFBO0VOaWtESDtJTTdqREcsZUFBQSxFQUFBO0VBQ0Q7SUFDQSxVQUFVLEVBQUE7O0FOZ2tEZDtFTTdqREksaUJGN0tRO0VFOEtSLFVBQUE7RUFDQSxnQkY5S3FCO0VFK0tyQixjQUNEO0VOOGpERCw4QkFBOEI7RU0zakQ1QixlQUFBO0VBQ0EscUJBQUE7RUFDQSxZQUFDLEVBQUE7O0FOOGpETDs7O0VNdmpESSxpQkFBQztFQUNELG9CQUFtQjtFTjJqRHJCLDZCQUE2QixFQUFFOztBQUVqQztFTXZqREksbUJGOUxlLEVBQU87O0FFa014QjtFQUNFLHNCRm5Nc0I7RUowdkR4QixxQkFBcUIsRUFBRTs7QUFFekI7RU1sakRNLHFCQUNELEVBQUE7O0FBSUg7RUFDRSxxQkY5TXlCO0VFNk0zQixpQkFHSyxFQUFBOztBTmlqRFA7RUFDRSxvQkFBb0IsRUFBRTtFTTNpRHRCO0lBQ0Usc0JGN08wQjtJRThPMUIsa0JDcFRRLEVBQUE7O0FQazJEWjtFQUNFLGlCSTl4RHFCO0VKK3hEckIsdUNNMWlERztFTjJpREgsNEJBQTRCLEVBQUU7RU12aUQ5QjtJQUNFLGlCQUFlO0lBQ2YsWUNoVVEsRUFBQTs7QVAwMkRaO0VBQ0UsZU12aURhO0VOd2lEYixxQkFBcUI7RU1uaURyQixZQUFLLEVBQUE7RUFDSDtJQUNBLHVCQUFhLEVBQUE7O0FOc2lEakI7RU1qaURFLGVBQUs7RUFDSCxhRnJTb0I7RUVzU3BCLGtDRmpXeUIsRUFBQTs7QUpxNEQ3QjtFTWppREksNkRGOVdjO0VFK1dkLG9CQ3RWUTtFUHkzRFYsZUFBZTtFTS9oRGYsMEJBQUk7RUFDRix1QkMzVlE7RUQ0VlIsc0NBQVUsRUFBQTs7QU5raURkO0VNL2hESSw0QkZuVDhCO0VKbzFEaEMsVUFBVTtFUXQ2RFYsMEJBQVc7RUFDVCxlSnVKbUI7RUl0Sm5CLDZESnVKNEIsRUFBQTs7QUpreERoQztFUXQ2REksbUJBQ0Q7RVJ1NkRELHNCQUFzQjtFUXA2RHRCLG9CQUFNO0VBQ0osaUJKeUk4QjtFSXhJOUIsWUFBVyxFSnlJRzs7QUlySWhCO0VBQ0UsZ0JKMElhO0VJekliLGlCQUtELEVBQUE7O0FSZzZESDtFQUNFLGtCQUFrQjtFUTk1RGxCLGVBQVcsRUFBQTtFQUNUO0lBQ0Esa0JBQ0QsRUFBQTs7QUM3RE87RUFDRSxlQVJXO0VUcytEckIsaUJBQWlCLEVBQUU7O0FBRXJCO0VBQ0UsaUJBQWlCLEVBQUU7O0FBRXJCO0VBQ0Usa0JBQWtCLEVBQUU7O0FBRXRCO0VBQ0UsbUJBQW1CLEVBQUU7O0FBRXZCO0VBQ0Usb0JTbC9EeUIsRUFJaEI7O0FUZy9EWDtFU2wvRFU7SUFDRSxpQkFId0IsRUFBTTtFQUVoQztJQUNFLGtCQUhnQyxFQUFPO0VUeS9EakQ7SVU3MkRFLG1CQUFZLEVBQUE7RUQxSU47SUFDRSxvQkFDRCxFQUFBLEVBQUE7O0FUMC9EWDtFUzUvRFU7SUFDRSxpQkFId0IsRUFBTTtFQUVoQztJQUNFLGtCQUhnQyxFQUFPO0VUbWdFakQ7SVc5L0RBLG1CQUFnQixFQUFBO0VBQUU7SVhpZ0VoQixvQkFBb0IsRUFBRSxFQUFFOztBQUU1QjtFQUNFLHlCVy8vRGtCLEVBQUE7O0FYaWdFcEI7RUFDRTtJVzEvREUsbUNBQWdCO0lBQUUsd0JBQVM7SUFDM0IsNEJBQWdCO0lBQUUsNkJBQTZCLEVBQUE7RUFFL0M7SUFBdUIsMEJBQTBCLEVBQUk7RUFDckQ7SUFBdUIseUJBQVMsRUFBQTtFQUNoQztJQUF1QiwwQkFBUyxFQUFBO0VBQ2hDO0lBQW9CLHVDQUFrQyxFQUFBO0VBQ3REO0lBQW9CLG9DQUFtQyxFQUFBO0VBQ3ZEO0lBQW9CLDhCQUErQixFQUFBO0VBR25EO0lBQ0MsK0JBQVMsRUFBQTtFWGlnRVo7SVdoZ0VHLCtCQUFhLEVBQUE7RVhrZ0VoQjs7SVc5L0RHLDJCQUEyQixFQUFBO0VBQzVCO0lBQXFCLDZCQUFnQixFQUFBO0VBR3JDOzs7SUFJQSxZQUFXLEVBQUE7RVgrL0RiO0lXNy9ESSw4QkFDRCxFQUFBO0VBR0Q7O0lBRUUsdUJBQUE7SUFDRix5QkFBSSxFQUFBO0VYNC9ETjtJVzEvREUsNEJBQUksRUFBQTtFWDQvRE47O0lXMS9EVSx5QkFBYyxFQUFBO0VBRXRCO0lBQ0UsMkJBQUEsRUFBQTtFQUNGO0lBQ0UsY0FBVyxFQUFBO0VYNC9EZjs7O0lXdC9ETyxXQUFBO0lYMC9ETCxVQUFVLEVBQUU7RVlwM0RkOztJQTFJQSx3QkFBbUIsRUFBQSxFQUFBOztBWm1nRXJCO0VZaGdFRSxzQkFBb0I7RUFDcEIsbUJBQVk7RUFDWixlQUFjO0VBQ2QsZ0JBQVE7RUFDUix5QlJMZTtFUU1mLGtFUm1MeUI7RVFsTHpCLHVCUm1Ma0M7RVFsTGxDLDhCUjRMbUI7RVF2Sm5CLGlCQUFnQjtFQUNoQixvQkFtS0M7RVoyekRELG1CS3o2RGdCO0VMMDZEaEIsZ0JLeDZEQztFT21DRCwwQkF4RlU7RVorOURWLGVZOTlERSxFQUFBO0VaKzlERjtJWXg0REEsV0FLSSxFQUFBO0VacTRESjtJWTE0REEsMEJBS0k7SUFDRSxlUnFETyxFQUFBO0VRM0RiO0lBTU0sa0JSdURjLEVBQUE7RVE3RHBCO0lBekhFLG1CQUFlLEVBQUE7RVowZ0VqQjtJWXhnRUUsbUJBQWUsRUFBQTtFWjBnRWpCO0lZbjVEQSxlQWVNO0lBMUdOLFlBQUE7SUFDQSxlUnZEYTtJUWlKYixnQkF4RkMsRUFBQTtFWmcvREQ7SUFDRSwwQlk5K0REO0lBcUZELGVBZWlCLEVBQVg7SUExR047TUFDQSwwQkEyR087TUFqQlAsZUF4RkMsRUFBQTtFWnMvREQ7SUFDRSx1QllwL0REO0lBcUZELGVBZU0sRUFBQTtJQTFHTjtNQUNBLDBCQTJHTztNQWpCUCxlQXhGQyxFQUFBO0VaNC9ERDtJQUNFLDBCWTEvREQ7SUFxRkQsZUFlTSxFQUFBO0lBMUdOO01BQ0EsMEJBMkdPO01BakJQLGVBeEZDLEVBQUE7RVprZ0VEO0lBQ0UsMEJZaGdFRDtJQXFGRCxlQWVNLEVBQUE7SUExR047TUFDQSwwQkEyR087TUFqQlAsZUF4RkMsRUFBTTtFWndnRVA7SUFDRSwwQll0Z0VEO0lBcUZELGVBZU0sRUFBQTtJQTFHTjtNQUNBLDBCQTJHTztNQWpCUCxlQXhGQyxFQUFBO0VaOGdFRDtJQUNFLDBCWTVnRUQ7SUFxRkQsZUFlTSxFQUFBO0lBMUdOO01BQ0EsMEJBMkdPO01BakJQLGVBeEZDLEVBQUE7RVpvaEVEO0lBQ0UsMEJZbGhFRDtJQXFGRCxlQWVNLEVBQUE7SUExR047TUFDQSwwQkEyR087TUFqQlAsZUF4RkMsRUFBTTtFWjBoRVA7SUFDRSwwQll4aEVEO0lBcUZELGVBZ0NhLEVBQUE7SUFwR2I7TUFDQSwwQkE0R0s7TUF6Q0wsZUFBQSxFQUFBO0VadzhEQTtJWXg4REEsMEJBQUE7SVowOERFLGVZMWdFWSxFQU5BO0laaWhFWjtNWTM4REYsOEJBcUNRLEVBQUE7SVp3NkROO01ZaGhFRixzQkEwR1M7TUF2Q1QsZUFnQ1ksRUFBQTtJWmc3RFY7TUFDRSwwQlkvZ0VIO01BOERELGVBZ0NZLEVBQUE7TUFwR1o7UUFDQSxzQkEwR1M7UUF2Q1QsZUFnQ1ksRUFBQTtJWnM3RFY7TUFDRSx1QllyaEVIO01BOERELFlBZ0NZLEVBQUE7TUFwR1o7UUFDQSxzQkEwR1M7UUF2Q1QsZUFnQ1ksRUFBQTtJWjQ3RFY7TUFDRSwwQlkzaEVIO01BOERELGVBZ0NZLEVBQUE7TUFwR1o7UUFDQSxzQkEwR1M7UUF2Q1QsZUFnQ1ksRUFBQTtJWms4RFY7TUFDRSwwQllqaUVIO01BOERELGVBZ0NZLEVBQUE7TUFwR1o7UUFDQSxzQkEwR1M7UUF2Q1QsZUFnQ1ksRUFBQTtJWnc4RFY7TUFDRSwwQll2aUVIO01BOERELGVBZ0NZLEVBQUE7TUFwR1o7UUFDQSxzQkEwR1M7UUF2Q1QsZUFnQ1ksRUFBQTtJWjg4RFY7TUFDRSwwQlk3aUVIO01BOERELGVBZ0NZLEVBQUE7TUFwR1o7UUFDQSxzQkEwR1M7UUF2Q1QsZUFnQ1ksRUFBQTtJWm85RFY7TUFDRSwwQlluakVIO01BOERELGVBZ0NZLEVBS0U7TUF6R2Q7UUFDQSxzQkEwR1M7UUF2Q1QsZUFnQ1ksRUFqR1g7SVoyakVDO01BQ0UsMEJZempFSDtNQThERCxlQUFBLEVBQUE7TUF6REE7UUFDQSxzQkE4R0c7UUF0REgsZUF0REMsRUFBQTtFWnNqRUQ7SUFDRSxjSWxwRUk7SVFpSk4sb0JBNkNZLEVBQUE7SVpzOURWO01ZM2pFRiwwQkE0R087TUFwRFAsZUFBTyxFQTZDSztJWnk5RFY7TUFDRSxjSXhwRUU7TVFpSk4sb0JBNkNZLEVBQUE7TUF0R1o7UUFDQSwwQkE0R087UUFwRFAsZUE2Q1ksRUFBQTtJWis5RFY7TUFDRSxjSTlwRUU7TVFpSk4sb0JBNkNZLEVBS0c7TUEzR2Y7UUFDQSx1QkE0R087UUFwRFAsZUE2Q1ksRUFBQTtJWnErRFY7TUFDRSxjSXBxRUU7TVFpSk4sb0JBNkNZLEVBS0c7TUEzR2Y7UUFDQSwwQkE0R087UUFwRFAsZUE2Q1ksRUFBQTtJWjIrRFY7TUFDRSxjSTFxRUU7TVFpSk4sb0JBa0RhLEVBbERiO01BekRBO1FBQ0EsMEJBNEdPO1FBcERQLGVBNkNZLEVBQUE7SVppL0RWO01BQ0UsY0lockVFO01RaUpOLG9CQTZDWSxFQUtFO01BM0dkO1FBQ0EsMEJBNEdPO1FBcERQLGVBNkNZLEVBQUE7SVp1L0RWO01BQ0UsY0l0ckVFO01RaUpOLG9CQTZDWSxFQUtFO01BM0dkO1FBQ0EsMEJBNEdPO1FBcERQLGVBNkNZLEVBQUE7SVo2L0RWO01BQ0UsY0k1ckVFO01RaUpOLG9CQWtEWSxFQWxEWjtNQXpEQTtRQUNBLDBCQTRHTztRQXBEUCxlQTZDWSxFQUFBO0labWdFVjtNQUNFLGNJbHNFRTtNUWlKTixvQkF2Q1MsRUFBQTtNUHZKVDtRQUNBLDBCQUFlO1FBQ2YsZUFBUyxFQUFBO0VMa3ZFVDtJS2h2RUEsWUFBUTtJQUdOLGVEc0NJO0lDckNKLFNBQUE7SUFDQSxVQUFBO0lPZ0pBLG9CQUFtQjtJQUNuQiw4Q0FBVztJQUNYLHdCQUFPO0lBQ1AsdUJSbUZ1QjtJUWxGdkIsbUJBQVM7SUFpQ1gsV0FBTztJQXFFSCxhQUErQjtJQUMvQixpQkFBWTtJQUNaLHNCQUNELEVBQUE7RVo0L0RIO0lhdnFFQSxlQUFlO0lBQ2YsWUFEQTtJQWxDQSxZQUFlLEVBQUE7O0FiOHNFakI7O0VhMXNFRSxlQUFzQjtFQUN0Qix1QlRvU2lCO0VTblNqQixZTklVO0VNRlYsa0JUNFJrQjtFUzNSbEIsZ0JOQ29CO0VNQXBCLGFUdkJNO0VTd0JOLGlCQUFnQjtFQUNoQixxQlQrUmlCO0VTOVJqQixnQlRoQmU7RVNtQmIsZVQ4UmU7RVMxUWYsMEJBQXlCO0VBQ3pCLGlCQUFpQjtFYnVyRW5CLGlCYXhzRUM7RUFlRCw0REFmUTtFYjBzRVIseUJJcDdENkI7RUpxN0Q3QixzQkkzdUVNLEVBQUE7RUo0dUVOOztJYXJzRUksOEJUbVI4QjtJSnE3RGhDLDBCQUEwQjtJYTFyRTVCLGNBQVM7SUFDUCxpQkFLRDtJQU5ELDREQUdVLEVBQUE7O0FiNHJFWjtFYXZyRUUsZ0JBR2dCLEVBQUE7RUFGaEI7SUFHSSxhQUNELEVBQUE7O0FBTEg7O0VBQ0EsWUFRRyxFQUFBOztBQVRIOztFQUNBLFlBUUcsRUFBQTs7QUFUSDs7RUFDQSxZQVFHLEVBQUE7O0FBVEg7O0VBQ0EsWUFRRyxFQUFBOztBYnVyRUw7OztFYS9xRUUsMEJBQWdCO0VBQ2QsZ0JUdEVhLEVBQUE7O0FKMHZFakI7O0VhN3FFRSxpQkFBTTtFQUNKLHlCQUNEO0ViK3FFRCxzQkFBc0IsRUFBRTs7QUFFMUI7RWM3ekVFLHVCQUFlLEVBQUE7O0FkZzBFakI7OztFY3p6RUksaUJBQVMsRUFBQTs7QWQ4ekViOztFYzF6RUksc0JBQWdCO0VkNnpFbEIsb0JjbjBFb0I7RWRvMEVwQixtQmNuMEVpQjtFZG8wRWpCLGlCYzV6RW9CO0VkNnpFcEIseUJBQXlCLEVBQUU7RWN4ekUzQjs7SUFFRSxnQkFBZ0MsRUFBYTs7QWQyekVqRDs7RUFFRSxxQkFBcUIsRUFBRTs7QUFFekI7RWVyMEVFLFlBQVUsRUFBQTs7QWZ3MEVaO0VlcjBFRSxlWDRVdUI7RVczVXZCLFVYZ0NNO0VXdEJOLG9CQUdXO0VmMnpFWCxvQk9qeEVvQjtFUGt4RXBCLGlCZW4wRXVCO0VmbzBFdkIsZUFBZSxFQUFFO0VnQm4xRWpCO0lBR0UsaUJBRjJCO0lBRzNCLGtCVDREa0IsRUFBQTs7QVB3eEV0QjtFQUNFLG9CQUFvQjtFaUJwMUVwQixxQkFBYTtFQUNYLG1CQUF3QztFQUN4QyxlQUFZLEVBQUE7O0FqQnUxRWhCO0VBQ0UsZWlCaDFFaUI7RUFWakIsWUFBWTtFakI0MUVaLG9CSTl5RWUsRUFBQTtFSit5RWY7SWlCejBFQSx1QkFBQSxFQUFBO0VBQ0U7SUFDQSx1QkFBb0IsRUFBQTs7QWpCNDBFeEI7RUFDRSxVQUFVO0VpQnIwRVYsb0JBQW1CO0VBRWpCLG9CQUFtQjtFQUNuQix1QmIwU3VCLEVBQUE7O0FKNmhFM0I7RWlCcDBFSSxtQmJzU3NCO0VhclN0QixnQkFBYTtFQVFYLHdCQUFVO0VBQ1YsZUFZSDtFakJtekVELGFBQWE7RWlCanpFYixvQkFBbUI7RUFFakIsVUFBQTtFQVFFLGFBeEVNLEVBQWdCOztBQTRFMUI7RUFFRSxpQkFBZTtFQUNmLGVBQWMsRUFBSTs7QWpCeXlFdEI7RWlCanlFTSxlQVFIO0VBbkJELGtCQUFBO0VBQUEsbUJBQW1CO0VBQW5CLGFBQUE7RWpCaXpFQSxVaUJoeUVZLEVBQUU7RWpCaXlFZDs7O0lBR0UsVUFBVSxFQUFFOztBQUVoQjtFa0JsM0VJLG9CQUFXLEVBQUE7O0FsQnEzRWY7RWtCajNFRSxVQUFPO0VBQ0wsV0FBQTtFQUNBLFVBQVMsRUFBRTs7QUFHYjtFQXpCQSxzQmRtQ2dCO0VjbENoQixnQlgyRG9CLEVBQUE7O0FQazFFdEI7RUFDRSx1Qkl6MkVhO0VKMDJFYixpQk9wMUVVO0VQcTFFVixtQmtCejRFWSxFQUFBO0VsQjA0RVo7SUFDRSxvQkFBb0I7SW1CNzJFdEIscUJBQU87SUF4Q1AsVUFGVTtJQUdWLHdCQUF1QixFQUFBOztBbkJ5NUV6QjtFbUJ0NUVFLGtCWjBEb0I7RVl6RHBCLGdCZm1Wa0I7RWVsVmxCLGFBQWE7RUFDYixpQmZnQ2E7RWUvQmIsZ0JBQWdCO0VBQ2hCLHFCZndDZTtFZXZDZixvQkFBb0I7RUFDcEIsZUFBZTtFZHdGZiwwQkFBa0I7RWNwRmhCLGlCQUFpQjtFQUNqQix5QmhCK0RtRDtFZ0I5RG5ELHNCQUFtQjtFQUNuQix5T0FBNkI7RUFDN0IseUJBdUJEO0VkMkRELHdDQUEwQjtFTHEwRTFCLCtCbUJsNEVPO0VuQm00RVAsNkJLbjBFc0I7RWNoRXRCLHNCQWpCVyxFQUFBO0VuQnM1RVg7SW1CcDVFRTtNQWVGLHdXQVhjLEVBQUEsRUFBQTtFbkJtNUVkO0ltQng0RUEsMEJBUFk7SUFDVixnQkFBYSxFQUFBO0VuQmk1RWY7SUFDRSxjQUFjLEVBQUU7RW9CNTRFaEI7SUFsQkEsYUFBQTtJQUNBLHVCQUNELEVBQUE7O0FBdUJDO0VBQ0UseUNBQ0Q7RXBCMDRFSCxzQkFBc0IsRUFBRTs7QUFFMUI7RW9CLzVFRSxlQUFZLEVBQUE7O0FwQms2RWQ7RW9CLzVFRSxjaEJlbUI7RWdCZG5CLG9CQXlCQztFQU5ELG9CQUFXO0VwQis0RVgsbUJvQjE0RUc7RXBCMjRFSCxrQkFBa0I7RXFCbjZFbEIsZUFBYyxFQUFBO0VBZmQ7SUFDQSxlakJrQmMsRUFBQTs7QUpvNkVoQjtFcUJuN0VFLG1CakI4UG9CO0VpQjdQcEIsWUFBVztFQUNYLFlBQVE7RXJCcTdFUixZSzF6RUE7RUwyekVBLGVLenpFQztFZ0JwSEQsZUFQQztFckJzN0VELGdCSTE2RWEsRUFBQTtFSjI2RWI7SXNCejNFSSxXQUFBLEVBQUE7RUFDRjtJdEIyM0VBLGVBQWUsRUFBRTs7QXNCdjNFbkI7RUFDRSxpQkFBaUIsRUFBQTs7QXRCMjNFckI7O0VzQnIzRUUsaUJBQWdCO0VBakZoQixpQkFBYztFQUNkLDBCQUFnQjtLQUFoQix1QkFBZ0I7TUFBaEIsc0JBQWdCO1VBQWhCLGtCQUFnQixFQUFBOztBdEIyOEVsQjtFc0J4OEVFLGNBQVE7RUFDUixnQkFBUztFQUNULE9BQU87RUFDUCxVQUFBO0VBQ0EsUUFBQTtFdEIwOEVBLFNBQVM7RXNCNTNFVCxjQUFRO0VBeEVSLHlDQUFjO0VBQ2QsbUJBQXVCLEVBQUE7O0F0Qnc4RXpCO0VzQnI4RUUsY0FBQTtFQUNBLGNBQWE7RUFzRVgsY0FBVTtFQUNWLHVCQUFXO0VBQ1gsMEJBQWtCO0VBQ2xCLGlCQUFjO0VBQ2QsbUJBa0NEO0V0QmcyRUQsV0svMUVBO0VMZzJFQSxrQks5MUVDO0VLMUJDLG1CQUFZO0VWMDNFZCxpQnNCNTRFUSxFQUFBO0V0QjY0RVI7SXNCejhFQSxXQUFBLEVBQU87RUFDUDtJQUNFO01BSUEsY0FBQSxFQUFBLEVBQVk7RXRCdzhFZDs7SXNCbDVFQSxhQUFRLEVBQUE7RXRCcTVFUjtJQUNFLGlCT2w4RVEsRUFBVTtFRzhEbEI7SVlsQkY7TUFhTSxhQUFXO01BQ1gsaUJBQVksRUFBQSxFQUFBO0V0QjY0RWxCO0lzQjM1RUE7TUFxQkksV0FDRDtNWkpELFlBQU07TVlsQlIsZUF5QlUsRUFBQSxFQUFBO0V0QnU0RVY7SUFDRSxXc0J4OEVTLEVmTEQ7RUc4RFI7SVlsQkY7TUF4Q0UsV0FrRXlDO01BakV6QyxpQmZMa0IsRWVzRTRCLEVBQUE7RVpSOUM7SVlsQkY7TUF4Q0UsV0FtRXlDO01BbEV6QyxpQmZMa0IsRWV1RTRCLEVBQUE7RUEzQmhEO0lBaENBO01BQ0EsV0FBUTtNQUNSLGlCQUFZLEVBQUEsRUFBQTtFdEI0OEVaO0lzQjE4RUEsT0FBTTtJQUNOLFFBQUE7SUFDQSxZQUFXO0lBQ1gsYUFBYTtJQUNiLGNBQVU7SUFDVixrQkFBaUI7SVp5Q2YsZ0JBQU07SVlsQlIsZUFBUTtJdEJ1N0VOLFVzQnY5RUs7SXRCdzlFTCxpQnNCdjlFTSxFQUFBO0V0Qnc5RVI7SUFDRTtNc0J0OUVGLE9BQU07TUFDTixRQUFBO01BQ0EsWUFBVztNQUNYLGFBQWE7TUFDYixjQUFVO01BQ1Ysa0JBQWlCO01BdUJqQixnQkFBTztNQXVDSCxlQUFnQjtNdEI0NUVoQixVQUFVO011Qmo5RVIsaUJBQUEsRUFBQSxFQUFBO0VBN0ROO0lBQ0EsZ0JBQWlCLEVBQUE7O0F2QmtoRm5CO0V1QnQ5RUUsVWxCMEJDO0VMODdFRCxzQks1N0VlO0VMNjdFZixvQkt2N0VDO0VrQmxDRCw4QmxCb0NTLEVBQUE7RUx1N0VUO0lBQ0UsYUFBYTtJdUJqaEZiLGVBQUUsRUFBQztFQUNIO0lBQ0EsWUFBWSxFQUFBOztBdkJvaEZoQjtFdUJ2OUVFLFlBQVk7RUFFUixZQUFXO0VBRmYsZUFDSSxFQUFFOztBdkIyOUVSO0V1Qmo5RUUsV0FBYSxFQUFDO0VBQ1o7SUFERix3QkFHVyxFQUFBOztBdkJtOUViO0VBQ0Usb0J3QnhqRlEsRUFBQTtFeEJ5akZSO0l1QjM4RUEsZUFBWSxFQUFBO0lBOUVaO01BRUUsb0JBQUUsRUFBQTs7QXZCNGhGTjtFQUNFLFl1QjFoRkUsRUFBVztFdkIyaEZiO0l1QjloRkUsZUFBQztJdkJnaUZELHdCdUJ4aEZDO0lBUkQsZUFBQztJdkJraUZELGdCSTVpRkksRUFBQTtJSjZpRko7TXVCbjlFRixvQkFBYyxFQUFBO0lBN0RkO01BQ0Esb0JBQVksRUFBYzs7QXZCb2hGNUI7RUFDRSxvQkFBb0I7RXVCcjlFcEIsMEJBQXVCO0VBekR2Qiw4Qm5CeWI4QjtFbUJ4YjlCLGNBQWlDLEVBQUE7O0FBNERqQztFQXZEQSw4QkFBYztFQUNkLGVuQm9id0IsRW1CNVh2Qjs7QXZCdzlFSDtFQUNFLGNBQWM7RXlCam5GZCxjQ1VHLEVBQUE7RURsQkg7SUFDQSxlQUFBLEVBQUE7O0F6QjZuRkY7RTJCbG1GSSwyQkFBNEI7RTNCb21GOUIsbUNBQW1DO0V5QnhuRm5DLGlDQ3NCYTtNRHRCYiw2QkNzQmE7RUVvQlgsd0NGbEJDO0UxQm1tRkgsb0NBQTRCO1VBQTVCLDRCQUE0QixFQUFFOztBQUVoQztFeUJwb0ZFLDZCQUFBO01BQUEseUJBQUEsRUFBMEI7O0F6QnVvRjVCO0UyQjVtRkksMkJBQTRCO0UzQjhtRjlCLG1DQUFtQztFeUJqb0ZuQyxpQ0NxQmE7TURyQmIsNkJDcUJhO0VFb0JYLHdDRmxCQztFMUI2bUZILG9DQUE0QjtVQUE1Qiw0QkFBNEIsRUFBRTs7QUFFaEM7RXlCOW9GRSw2QkFBQTtNQUFBLHlCQUFBLEVBQTBCOztBekJpcEY1QjtFMkJ0bkZJLDJCQUE0QjtFM0J3bkY5QixtQ0FBbUM7RXlCMW9GbkMsZ0NDb0JhO01EcEJiLDRCQ29CYTtFRW9CWCx3Q0ZsQkM7RTFCdW5GSCxvQ0FBNEI7VUFBNUIsNEJBQTRCLEVBQUU7O0FBRWhDO0V5QnhwRkUsNkJBQUE7TUFBQSx5QkFBQSxFQUEwQjs7QXpCMnBGNUI7RTJCaG9GSSwyQkFBNEI7RTNCa29GOUIsbUNBQW1DO0V5Qm5wRm5DLGdDQ21CYTtNRG5CYiw0QkNtQmE7RUVvQlgsd0NGbEJDO0UxQmlvRkgsb0NBQTRCO1VBQTVCLDRCQUE0QixFQUFFOztBQUVoQztFeUJscUZFLDZCQUFBO01BQUEseUJBQUEsRUFBMEI7O0F6QnFxRjVCO0UyQjFvRkksMkJBQTRCO0UzQjRvRjlCLG1DQUFtQztFeUI1cEZuQyw2QkNrQmE7TURsQmIseUJDa0JhO0VFb0JYLHdDRmxCQztFMUIyb0ZILG9DQUE0QjtVQUE1Qiw0QkFBNEIsRUFBRTs7QUFFaEM7RXlCNXFGRSxnQ0lpQ1M7TUpqQ1QsNEJJaUNTLEVBQUE7O0E3QjhvRlg7RTJCcHBGSSwyQkFBNEI7RTNCc3BGOUIsbUNBQW1DO0V5QnJxRm5DLDZCQ2lCYTtNRGpCYix5QkNpQmE7RUVvQlgsd0NGbEJDO0UxQnFwRkgsb0NBQTRCO1VBQTVCLDRCQUE0QixFQUFFOztBQUVoQztFeUJ0ckZFLGdDSWlDUztNSmpDVCw0QklpQ1MsRUFBQTs7QTdCd3BGWDtFMkI5cEZJLDJCQUE0QjtFM0JncUY5QixtQ0FBbUM7RXlCOXFGbkMsNkJDZ0JhO01EaEJiLHlCQ2dCYTtFRW9CWCx3Q0ZsQkM7RTFCK3BGSCxvQ0FBNEI7VUFBNUIsNEJBQTRCLEVBQUU7O0FBRWhDO0V5QmhzRkUsaUNJaUNTO01KakNULDZCSWlDUyxFQUFBOztBN0JrcUZYO0UyQnhxRkksMkJBQTRCO0UzQjBxRjlCLG1DQUFtQztFeUJ2ckZuQyw2QkNlYTtNRGZiLHlCQ2VhO0VFb0JYLHdDRmxCQztFMUJ5cUZILG9DQUE0QjtVQUE1Qiw0QkFBNEIsRUFBRTs7QUFFaEM7RXlCMXNGRSxpQ0lpQ1M7TUpqQ1QsNkJJaUNTLEVBQUE7O0E3QjRxRlg7RUFDRSwyQkFBMkI7RXlCN3JGM0IsbUNDWUU7RUVvQkEsV0hoQ3FDO0V6QmdzRnZDLDZCQUE2QixFQUFFOztBQUVqQztFeUJudEZFLFdBQUEsRUFBQTs7QXpCc3RGRjtFQUNFLDJCQUEyQjtFeUJyc0YzQixtQ0NXRTtFRW9CQSxXSC9CcUM7RXpCd3NGdkMsNkJBQTZCLEVBQUU7O0FBRWpDO0V5QjV0RkUsV0FBQSxFQUFBOztBekIrdEZGO0U4QnZzRk0sMkJBQXFCO0VBQ3JCLG1DSk5EO0UxQitzRkgsK0NBQStDO0V5QjdzRi9DLDBCQ1FHO01EUkgsc0JDUUc7RUVvQkQsd0NHVmdDO0VESjlCLFdBQTJCLEVKSjVCOztBRFRIO0VBdkJBLDRDSWtCYztFSmpCZCxXQUFBLEVBQUE7O0F6QjJ1RkY7RThCbnRGTSwyQkFBcUI7RUFDckIsbUNKTkQ7RTFCMnRGSCwrQ0FBK0M7RXlCeHRGL0MsNEJDT0c7TURQSCx3QkNPRztFRW9CRCx3Q0dWZ0M7RURKOUIsV0FBMkIsRUpKNUI7O0FEUkg7RUF4QkEsNENJa0JjO0VKakJkLFdBQUEsRUFBQTs7QXpCdXZGRjtFOEIvdEZNLDJCQUFxQjtFQUNyQixtQ0pORDtFMUJ1dUZILDhDQUE4QztFeUJudUY5Qyw2QkNNRztNRE5ILHlCQ01HO0VFb0JELHdDR1ZnQztFREo5QixXQUEyQixFSko1Qjs7QURQSDtFQXpCQSw0Q0lrQmM7RUpqQmQsV0FBQSxFQUFBOztBekJtd0ZGO0U4QjN1Rk0sMkJBQXFCO0VBQ3JCLG1DSk5EO0UxQm12RkgsOENBQThDO0V5Qjl1RjlDLDJCQ0tHO01ETEgsdUJDS0c7RUVvQkQsd0NHVmdDO0VESjlCLFdBQTJCLEVKSjVCOztBRE5IO0VBMUJBLDRDSWtCYztFSmpCZCxXQUFBLEVBQUE7O0F6Qit3RkY7RThCdnZGTSwyQkFBcUI7RUFDckIsbUNKTkQ7RTFCK3ZGSCwrQ0FBK0M7RXlCenZGL0MsNkJDSUc7TURKSCx5QkNJRztFRW9CRCx3Q0dWZ0M7RURKOUIsV0FBMkIsRUpKNUI7O0FETEg7RUEzQkEsNENJa0JjO0VKakJkLFdBQUEsRUFBQTs7QXpCMnhGRjtFOEJud0ZNLDJCQUFxQjtFQUNyQixtQ0pORDtFMUIyd0ZILCtDQUErQztFeUJwd0YvQyw2QkNHRztNREhILHlCQ0dHO0VFb0JELHdDR1ZnQztFREo5QixXQUEyQixFSko1Qjs7QURKSDtFQTVCQSw0Q0lrQmM7RUpqQmQsV0FBQSxFQUFBOztBekJ1eUZGO0U4Qi93Rk0sMkJBQXFCO0VBQ3JCLG1DSk5EO0UxQnV4RkgsNENBQTRDO0V5Qi93RjVDLDBCQ0VHO01ERkgsc0JDRUc7RUVvQkQsd0NHckNLO0VEdUJILFdBQThCLEVKSi9COztBREhIO0VBN0JBLCtDSWtCYztFSmpCZCxXQUFBLEVBQUE7O0F6Qm16RkY7RThCM3hGTSwyQkFBcUI7RUFDckIsbUNKTkQ7RTFCbXlGSCw0Q0FBNEM7RXlCMXhGNUMsNEJDQ0c7TURESCx3QkNDRztFRW9CRCx3Q0dwQ087RURzQkwsV0FBOEIsRUpKL0I7O0FERkg7RUE5QkEsK0NJa0JjO0VKakJkLFdBQUEsRUFBQTs7QXpCK3pGRjtFOEJ2eUZNLDJCQUFxQjtFQUNyQixtQ0pORDtFMUIreUZILDRDQUE0QztFeUJyeUY1Qyw2QkNBRztNREFILHlCQ0FHO0VFb0JELHdDR25DUTtFRHFCTixXQUE4QixFSkovQjs7QURESDtFQS9CQSw4Q0lrQmM7RUpqQmQsV0FBQSxFQUFBOztBekIyMEZGO0U4Qm56Rk0sMkJBQXFCO0VBQ3JCLG1DSk5EO0UxQjJ6RkgsNENBQTRDO0V5Qmh6RjVDLDJCQ0RHO01EQ0gsdUJDREc7RUVvQkQsd0NHbENNO0VEb0JKLFdBQThCLEVKSi9COztBREFIO0VBaENBLDhDSWtCYztFSmpCZCxXQUFBLEVBQUE7O0F6QnUxRkY7RThCL3pGTSwyQkFBcUI7RUFDckIsbUNKTkQ7RTFCdTBGSCw0Q0FBNEM7RXlCM3pGNUMsNkJDRkc7TURFSCx5QkNGRztFRW9CRCx3Q0dyQ0s7RUR1QkgsV0FBOEIsRUpKL0I7O0FEQ0g7RUFqQ0EsK0NJa0JjO0VKakJkLFdBQUEsRUFBQTs7QXpCbTJGRjtFOEIzMEZNLDJCQUFxQjtFQUNyQixtQ0pORDtFMUJtMUZILDRDQUE0QztFeUJ0MEY1Qyw2QkNIRztNREdILHlCQ0hHO0VFb0JELHdDR3BDTztFRHNCTCxXQUE4QixFSkovQjs7QURJSDtFQXBDQSwrQ0lrQmM7RUpqQmQsV0FBQSxFQUFBOztBekIrMkZGO0VnQzExRk0sMkJORkQ7RTFCODFGSCxtQ0FBbUM7RXlCOTBGbkMsMEJDTmE7TURNYixzQkNOYTtFRW9CWCx3Q0FGaUI7RUloQmYsV0FBMkIsRU5BNUI7O0FES0g7RUFyQ0Esd0JBQW1CO01BQW5CLG9CQUFtQjtFQUNuQixXQUFBLEVBQUE7O0F6QjAzRkY7RWdDcjJGTSwyQk5GRDtFMUJ5MkZILG1DQUFtQztFeUJ4MUZuQywwQkNQYTtNRE9iLHNCQ1BhO0VFb0JYLHdDQUZpQjtFSWhCZixXQUEyQixFTkE1Qjs7QURNSDtFQXRDQSx3QkFBbUI7TUFBbkIsb0JBQW1CO0VBQ25CLFdBQUEsRUFBQTs7QXpCcTRGRjtFZ0NoM0ZNLDJCTkZEO0UxQm8zRkgsbUNBQW1DO0V5QmwyRm5DLHdCQ1JHO01EUUgsb0JDUkc7RUVvQkQsd0NBRmlCO0VJaEJmLFdBQThCLEVOQS9COztBRE9IO0VBdkNBLDBCSWtCUztNSmxCVCxzQklrQlM7RUpqQlQsV0FBQSxFQUFBOztBekJnNUZGO0VnQzMzRk0sMkJORkQ7RTFCKzNGSCxtQ0FBbUM7RXlCNTJGbkMsd0JDVEc7TURTSCxvQkNURztFRW9CRCx3Q0FGaUI7RUloQmYsV0FBOEIsRU5BL0I7O0FEVUg7RUExQ0EsMEJJa0JTO01KbEJULHNCSWtCUztFSmpCVCxXQUFBLEVBQUE7O0F6QjI1RkY7RWlDdDRGTSwyQlBGRDtFMUIwNEZILG1DQUFtQztFeUJwM0ZuQyxpQ0NaYTtNRFliLDZCQ1phO0VFb0JYLHdDQUZpQjtFS2hCZixXQUEyQixFUEE1Qjs7QURXSDtFQTNDQSx5QklrQlM7TUpsQlQscUJJa0JTO0VKakJULFdBQUEsRUFBQTs7QXpCczZGRjtFaUNqNUZNLDJCUEZEO0UxQnE1RkgsbUNBQW1DO0V5QjkzRm5DLHlCQ2JhO01EYWIscUJDYmE7RUVvQlgsd0NBRmlCO0VLaEJmLFdBQThCLEVQQS9COztBRFlIO0VBNUNBLGdDSWtCYztNSmxCZCw0QklrQmM7RUpqQmQsV0FBQSxFQUFBOztBekJpN0ZGO0VpQzU1Rk0sMkJQRkQ7RTFCZzZGSCxtQ0FBbUM7RXlCeDRGbkMsZ0NDZGE7TURjYiw0QkNkYTtFRW9CWCx3Q0FGaUI7RUtoQmYsV0FBMkIsRVBBNUI7O0FEYUg7RUE3Q0EseUJJa0JTO01KbEJULHFCSWtCUztFSmpCVCxXQUFBLEVBQUE7O0F6QjQ3RkY7RWlDdjZGTSwyQlBGRDtFMUIyNkZILG1DQUFtQztFeUJsNUZuQyx5QkNmYTtNRGViLHFCQ2ZhO0VFb0JYLHdDQUZpQjtFS2hCZixXQUE4QixFUEEvQjs7QURvQkM7RUFBRSxpQ0FBNEI7TUFBNUIsNkJBQTRC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LG1CQUFjO0VBQ2QsWUFBQSxFQUFhOztBL0ZxcEtmO0VBQ0UscUJBQWM7RUFBZCxjQUFjO0UrRmhwS2hCLG9CQUFpQixFQUFBO0VBQ2Y7SUFDQSxvQkVIMEIsRUZJM0I7O0FBRUQ7RUFDRSx3QkFTRDtNQVRDLG9CQVNEO0VBVkQsc0JBRUUsRUFBTzs7QS9Ga3BLVDtFQUNFLHFCK0ZocEthO0UvRmdwS2IsYytGaHBLYSxFQUFBO0VBTGY7SUFRSSx3QkM4RG9CO1FEOURwQixvQkM4RG9CO0loR2tsS3BCLHNCQUFzQjtJK0Y1b0sxQixpQkFBaUIsRUFBQTtFQUNmO0kvRjhvS0Usd0JBQW9CO1FBQXBCLG9CQUFvQixFQUFFOztBQUUxQjtFa0c1dUtFLGlCQUNELEVBQUE7O0FBRUQ7RUFDRSxpQ0FBaUI7RUFDakIsZUFBVSxFQUFBOztBbEc4dUtaO0VrRzN1S0UsaUJBQWdCO0VBQ2hCLFVGNElZO0VoR2ltS1osV0FBVztFa0cxdUtiLHFCQUFBO0VBQUEsY0FBQTtFQUNFLG9CQUFpQjtNQUFqQixnQkFBaUI7RUFDakIsaUJBQWdCLEVBQUE7O0FsRzZ1S2xCO0VrRy91S0EsaUJBQUE7RWxHaXZLRSxnQmlHcHJLZ0I7RWpHcXJLaEIsd0JBQW9CO01BQXBCLG9CQUFvQjtFa0d4dUt0QixvQkFBQSxFQUFBO0VBQ0U7SUFDQSxzQkFDRCxFQUFBOztBQzNCRDtFQUNFLFlBQVc7RUFDWCxtQkFBZ0IsRUFBQTs7QW5HdXdLbEI7RW1HbndLQSxpQkFBQTtFQUNFLGdCQUFpQjtFQUNqQixZQUFXLEVBQUE7O0FuR3N3S2I7RW9HbHhLQSxpQkFBaUI7RUFDZixnQkFBaUI7RXBHb3hLakIsZUFBZSxFQUFFOztBQUVuQjtFb0dqeEtFLGlCQUFhLEVBQUE7O0FwR294S2Y7RUFDRSxhb0dseEtjO0VwR214S2QsYUFBYTtFQUNiLFlBQVksRUFBRTtFQUNkO0lBQ0UsWUFBWSxFQUFFIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcclxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4gKiBWZXJzaW9uIDYuMi40XHJcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cclxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcbiAqL1xuLypcclxuPT0gbWFsaWh1IGpxdWVyeSBjdXN0b20gc2Nyb2xsYmFyIHBsdWdpbiA9PVxyXG5QbHVnaW4gVVJJOiBodHRwOi8vbWFub3MubWFsaWh1LmdyL2pxdWVyeS1jdXN0b20tY29udGVudC1zY3JvbGxlclxyXG4qL1xuLypcclxuQ09OVEVOVFM6IFxyXG5cdDEuIEJBU0lDIFNUWUxFIC0gUGx1Z2luJ3MgYmFzaWMvZXNzZW50aWFsIENTUyBwcm9wZXJ0aWVzIChub3JtYWxseSwgc2hvdWxkIG5vdCBiZSBlZGl0ZWQpLiBcclxuXHQyLiBWRVJUSUNBTCBTQ1JPTExCQVIgLSBQb3NpdGlvbmluZyBhbmQgZGltZW5zaW9ucyBvZiB2ZXJ0aWNhbCBzY3JvbGxiYXIuIFxyXG5cdDMuIEhPUklaT05UQUwgU0NST0xMQkFSIC0gUG9zaXRpb25pbmcgYW5kIGRpbWVuc2lvbnMgb2YgaG9yaXpvbnRhbCBzY3JvbGxiYXIuXHJcblx0NC4gVkVSVElDQUwgQU5EIEhPUklaT05UQUwgU0NST0xMQkFSUyAtIFBvc2l0aW9uaW5nIGFuZCBkaW1lbnNpb25zIG9mIDItYXhpcyBzY3JvbGxiYXJzLiBcclxuXHQ1LiBUUkFOU0lUSU9OUyAtIENTUzMgdHJhbnNpdGlvbnMgZm9yIGhvdmVyIGV2ZW50cywgYXV0by1leHBhbmRlZCBhbmQgYXV0by1oaWRkZW4gc2Nyb2xsYmFycy4gXHJcblx0Ni4gU0NST0xMQkFSIENPTE9SUywgT1BBQ0lUWSBBTkQgQkFDS0dST1VORFMgXHJcblx0XHQ2LjEgVEhFTUVTIC0gU2Nyb2xsYmFyIGNvbG9ycywgb3BhY2l0eSwgZGltZW5zaW9ucywgYmFja2dyb3VuZHMgZXRjLiB2aWEgcmVhZHktdG8tdXNlIHRoZW1lcy5cclxuKi9cbi8qIFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuMS4gQkFTSUMgU1RZTEUgIFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuKi9cbi5tQ3VzdG9tU2Nyb2xsYmFyIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGluY2gtem9vbTtcbiAgdG91Y2gtYWN0aW9uOiBwaW5jaC16b29tO1xuICAvKiBkaXJlY3QgcG9pbnRlciBldmVudHMgdG8ganMgKi8gfVxuXG4ubUN1c3RvbVNjcm9sbGJhci5tQ1Nfbm9fc2Nyb2xsYmFyLCAubUN1c3RvbVNjcm9sbGJhci5tQ1NfdG91Y2hfYWN0aW9uIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogYXV0bztcbiAgdG91Y2gtYWN0aW9uOiBhdXRvOyB9XG5cbi5tQ3VzdG9tU2Nyb2xsQm94IHtcbiAgLyogY29udGFpbnMgcGx1Z2luJ3MgbWFya3VwICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGRpcmVjdGlvbjogbHRyOyB9XG5cbi5tQ1NCX2NvbnRhaW5lciB7XG4gIC8qIGNvbnRhaW5zIHRoZSBvcmlnaW5hbCBjb250ZW50ICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyogXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4yLiBWRVJUSUNBTCBTQ1JPTExCQVIgXHJcbnktYXhpc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuKi9cbi5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lciB7XG4gIG1hcmdpbi1yaWdodDogMzBweDsgfVxuXG4ubUNTQl9jb250YWluZXIubUNTX25vX3Njcm9sbGJhcl95Lm1DU195X2hpZGRlbiB7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4vKiBub24tdmlzaWJsZSBzY3JvbGxiYXIgKi9cbi5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lciB7XG4gIC8qIFJUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG5cbi5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVuIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLyogUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXG4ubUNTQl9zY3JvbGxUb29scyB7XG4gIC8qIGNvbnRhaW5zIHNjcm9sbGJhciBtYXJrdXAgKGRyYWdnYWJsZSBlbGVtZW50LCBkcmFnZ2VyIHJhaWwsIGJ1dHRvbnMgZXRjLikgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7IH1cblxuLm1DU0Jfb3V0c2lkZSArIC5tQ1NCX3Njcm9sbFRvb2xzIHtcbiAgcmlnaHQ6IC0yNnB4OyB9XG5cbi8qIHNjcm9sbGJhciBwb3NpdGlvbjogb3V0c2lkZSAqL1xuLm1DUy1kaXItcnRsID4gLm1DU0JfaW5zaWRlID4gLm1DU0Jfc2Nyb2xsVG9vbHMsXG4ubUNTLWRpci1ydGwgPiAubUNTQl9vdXRzaWRlICsgLm1DU0Jfc2Nyb2xsVG9vbHMge1xuICAvKiBSVEwgZGlyZWN0aW9uL2xlZnQtc2lkZSBzY3JvbGxiYXIgKi9cbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7IH1cblxuLm1DUy1kaXItcnRsID4gLm1DU0Jfb3V0c2lkZSArIC5tQ1NCX3Njcm9sbFRvb2xzIHtcbiAgbGVmdDogLTI2cHg7IH1cblxuLyogUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyIChzY3JvbGxiYXIgcG9zaXRpb246IG91dHNpZGUpICovXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyQ29udGFpbmVyIHtcbiAgLyogY29udGFpbnMgdGhlIGRyYWdnYWJsZSBlbGVtZW50IGFuZCBkcmFnZ2VyIHJhaWwgbWFya3VwICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMgYSArIC5tQ1NCX2RyYWdnZXJDb250YWluZXIge1xuICBtYXJnaW46IDIwcHggMDsgfVxuXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIHdpZHRoOiAycHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTZweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAxNnB4OyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIge1xuICAvKiB0aGUgZHJhZ2dhYmxlIGVsZW1lbnQgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzMHB4O1xuICAvKiBtaW5pbXVtIGRyYWdnZXIgaGVpZ2h0ICovXG4gIHotaW5kZXg6IDE7IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIC8qIHRoZSBkcmFnZ2VyIGVsZW1lbnQgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgd2lkdGg6IDEycHg7XG4gIC8qIGF1dG8tZXhwYW5kZWQgc2Nyb2xsYmFyICovIH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCArIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogOHB4O1xuICAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqLyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLFxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbjogMCBhdXRvO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJvdHRvbTogMDsgfVxuXG4vKiBcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbjMuIEhPUklaT05UQUwgU0NST0xMQkFSIFxyXG54LWF4aXNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiovXG4ubUNTQl9ob3Jpem9udGFsLm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5tQ1NCX2hvcml6b250YWwubUNTQl9vdXRzaWRlID4gLm1DU0JfY29udGFpbmVyIHtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG4ubUNTQl9ob3Jpem9udGFsID4gLm1DU0JfY29udGFpbmVyLm1DU19ub19zY3JvbGxiYXJfeC5tQ1NfeF9oaWRkZW4ge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIG5vbi12aXNpYmxlIHNjcm9sbGJhciAqL1xuLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMTZweDtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi5tQ3VzdG9tU2Nyb2xsQm94ICsgLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLFxuLm1DdXN0b21TY3JvbGxCb3ggKyAubUNTQl9zY3JvbGxUb29scyArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCB7XG4gIGJvdHRvbTogLTI2cHg7IH1cblxuLyogc2Nyb2xsYmFyIHBvc2l0aW9uOiBvdXRzaWRlICovXG4ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgYSArIC5tQ1NCX2RyYWdnZXJDb250YWluZXIge1xuICBtYXJnaW46IDAgMjBweDsgfVxuXG4ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAycHg7XG4gIG1hcmdpbjogN3B4IDA7IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIge1xuICB3aWR0aDogMzBweDtcbiAgLyogbWluaW11bSBkcmFnZ2VyIHdpZHRoICovXG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDsgfVxuXG4ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDRweDtcbiAgbWFyZ2luOiA2cHggYXV0bzsgfVxuXG4ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBoZWlnaHQ6IDEycHg7XG4gIC8qIGF1dG8tZXhwYW5kZWQgc2Nyb2xsYmFyICovXG4gIG1hcmdpbjogMnB4IGF1dG87IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgaGVpZ2h0OiA4cHg7XG4gIC8qIGF1dG8tZXhwYW5kZWQgc2Nyb2xsYmFyICovXG4gIG1hcmdpbjogNHB4IDA7IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2J1dHRvbkxlZnQsXG4ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDAgYXV0bztcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9idXR0b25MZWZ0IHtcbiAgbGVmdDogMDsgfVxuXG4ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfYnV0dG9uUmlnaHQge1xuICByaWdodDogMDsgfVxuXG4vKiBcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbjQuIFZFUlRJQ0FMIEFORCBIT1JJWk9OVEFMIFNDUk9MTEJBUlMgXHJcbnl4LWF4aXMgXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4qL1xuLm1DU0JfY29udGFpbmVyX3dyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyID4gLm1DU0JfY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwgPiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIHtcbiAgYm90dG9tOiAyMHB4OyB9XG5cbi5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwgPiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwge1xuICByaWdodDogMjBweDsgfVxuXG4vKiBub24tdmlzaWJsZSBob3Jpem9udGFsIHNjcm9sbGJhciAqL1xuLm1DU0JfY29udGFpbmVyX3dyYXBwZXIubUNTX25vX3Njcm9sbGJhcl94Lm1DU194X2hpZGRlbiArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwge1xuICBib3R0b206IDA7IH1cblxuLyogbm9uLXZpc2libGUgdmVydGljYWwgc2Nyb2xsYmFyL1JUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuLm1DU0JfY29udGFpbmVyX3dyYXBwZXIubUNTX25vX3Njcm9sbGJhcl95Lm1DU195X2hpZGRlbiArIC5tQ1NCX3Njcm9sbFRvb2xzIH4gLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLFxuLm1DUy1kaXItcnRsID4gLm1DdXN0b21TY3JvbGxCb3gubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsLm1DU0JfaW5zaWRlID4gLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIHtcbiAgcmlnaHQ6IDA7IH1cblxuLyogUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXG4ubUNTLWRpci1ydGwgPiAubUN1c3RvbVNjcm9sbEJveC5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwubUNTQl9pbnNpZGUgPiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwge1xuICBsZWZ0OiAyMHB4OyB9XG5cbi8qIG5vbi12aXNpYmxlIHNjcm9sbGJhci9SVEwgZGlyZWN0aW9uL2xlZnQtc2lkZSBzY3JvbGxiYXIgKi9cbi5tQ1MtZGlyLXJ0bCA+IC5tQ3VzdG9tU2Nyb2xsQm94Lm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyLm1DU19ub19zY3JvbGxiYXJfeS5tQ1NfeV9oaWRkZW4gKyAubUNTQl9zY3JvbGxUb29scyB+IC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCB7XG4gIGxlZnQ6IDA7IH1cblxuLm1DUy1kaXItcnRsID4gLm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVyX3dyYXBwZXIge1xuICAvKiBSVEwgZGlyZWN0aW9uL2xlZnQtc2lkZSBzY3JvbGxiYXIgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMzBweDsgfVxuXG4ubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVuID4gLm1DU0JfY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4ubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3gubUNTX3hfaGlkZGVuID4gLm1DU0JfY29udGFpbmVyIHtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLm1DdXN0b21TY3JvbGxCb3gubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsLm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVyX3dyYXBwZXIubUNTX25vX3Njcm9sbGJhcl95Lm1DU195X2hpZGRlbiB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgLyogbm9uLXZpc2libGUgc2Nyb2xsYmFyICovXG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi8qIG5vbi12aXNpYmxlIGhvcml6b250YWwgc2Nyb2xsYmFyICovXG4ubUN1c3RvbVNjcm9sbEJveC5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3gubUNTX3hfaGlkZGVuIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbjUuIFRSQU5TSVRJT05TICBcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiovXG4ubUNTQl9zY3JvbGxUb29scyxcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCxcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LFxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0OyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlclJhaWwge1xuICAtd2Via2l0LXRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlLW91dCAuMnMsIGhlaWdodCAuMnMgZWFzZS1vdXQgLjJzLCBcciBtYXJnaW4tbGVmdCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tcmlnaHQgLjJzIGVhc2Utb3V0IC4ycywgXHIgbWFyZ2luLXRvcCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tYm90dG9tIC4ycyBlYXNlLW91dCAuMnMsXHIgb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlLW91dCAuMnMsIGhlaWdodCAuMnMgZWFzZS1vdXQgLjJzLCBcciBtYXJnaW4tbGVmdCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tcmlnaHQgLjJzIGVhc2Utb3V0IC4ycywgXHIgbWFyZ2luLXRvcCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tYm90dG9tIC4ycyBlYXNlLW91dCAuMnMsXHIgb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiB3aWR0aCAuMnMgZWFzZS1vdXQgLjJzLCBoZWlnaHQgLjJzIGVhc2Utb3V0IC4ycywgXHIgbWFyZ2luLWxlZnQgLjJzIGVhc2Utb3V0IC4ycywgbWFyZ2luLXJpZ2h0IC4ycyBlYXNlLW91dCAuMnMsIFxyIG1hcmdpbi10b3AgLjJzIGVhc2Utb3V0IC4ycywgbWFyZ2luLWJvdHRvbSAuMnMgZWFzZS1vdXQgLjJzLFxyIG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2Utb3V0IC4ycywgaGVpZ2h0IC4ycyBlYXNlLW91dCAuMnMsIFxyIG1hcmdpbi1sZWZ0IC4ycyBlYXNlLW91dCAuMnMsIG1hcmdpbi1yaWdodCAuMnMgZWFzZS1vdXQgLjJzLCBcciBtYXJnaW4tdG9wIC4ycyBlYXNlLW91dCAuMnMsIG1hcmdpbi1ib3R0b20gLjJzIGVhc2Utb3V0IC4ycyxcciBvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7IH1cblxuLyogXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG42LiBTQ1JPTExCQVIgQ09MT1JTLCBPUEFDSVRZIEFORCBCQUNLR1JPVU5EUyAgXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4qL1xuLyogXHJcblx0LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdDYuMSBUSEVNRVMgXHJcblx0LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdCovXG4vKiBkZWZhdWx0IHRoZW1lIChcImxpZ2h0XCIpICovXG4ubUNTQl9zY3JvbGxUb29scyB7XG4gIG9wYWNpdHk6IDAuNzU7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTc1KVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NzUpXCI7IH1cblxuLm1DUy1hdXRvSGlkZSA+IC5tQ3VzdG9tU2Nyb2xsQm94ID4gLm1DU0Jfc2Nyb2xsVG9vbHMsXG4ubUNTLWF1dG9IaWRlID4gLm1DdXN0b21TY3JvbGxCb3ggfiAubUNTQl9zY3JvbGxUb29scyB7XG4gIG9wYWNpdHk6IDA7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTApXCI7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0wKVwiOyB9XG5cbi5tQ3VzdG9tU2Nyb2xsYmFyID4gLm1DdXN0b21TY3JvbGxCb3ggPiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZyxcbi5tQ3VzdG9tU2Nyb2xsYmFyID4gLm1DdXN0b21TY3JvbGxCb3ggfiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZyxcbi5tQ3VzdG9tU2Nyb2xsQm94OmhvdmVyID4gLm1DU0Jfc2Nyb2xsVG9vbHMsXG4ubUN1c3RvbVNjcm9sbEJveDpob3ZlciB+IC5tQ1NCX3Njcm9sbFRvb2xzLFxuLm1DUy1hdXRvSGlkZTpob3ZlciA+IC5tQ3VzdG9tU2Nyb2xsQm94ID4gLm1DU0Jfc2Nyb2xsVG9vbHMsXG4ubUNTLWF1dG9IaWRlOmhvdmVyID4gLm1DdXN0b21TY3JvbGxCb3ggfiAubUNTQl9zY3JvbGxUb29scyB7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTEwMClcIjtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTEwMClcIjsgfVxuXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NDApXCI7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT00MClcIjsgfVxuXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbiAgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NzUpXCI7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT03NSlcIjsgfVxuXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9ODUpXCI7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT04NSlcIjsgfVxuXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9OTApXCI7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT05MClcIjsgfVxuXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCxcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LFxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobUNTQl9idXR0b25zLnBuZyk7XG4gIC8qIGNzcyBzcHJpdGVzICovXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG9wYWNpdHk6IDAuNDtcbiAgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NDApXCI7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT00MClcIjsgfVxuXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgLyogXHJcblx0XHRzcHJpdGVzIGxvY2F0aW9ucyBcclxuXHRcdGxpZ2h0OiAwIDAsIC0xNnB4IDAsIC0zMnB4IDAsIC00OHB4IDAsIDAgLTcycHgsIC0xNnB4IC03MnB4LCAtMzJweCAtNzJweFxyXG5cdFx0ZGFyazogLTgwcHggMCwgLTk2cHggMCwgLTExMnB4IDAsIC0xMjhweCAwLCAtODBweCAtNzJweCwgLTk2cHggLTcycHgsIC0xMTJweCAtNzJweFxyXG5cdFx0Ki8gfVxuXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjBweDtcbiAgLyogXHJcblx0XHRzcHJpdGVzIGxvY2F0aW9uc1xyXG5cdFx0bGlnaHQ6IDAgLTIwcHgsIC0xNnB4IC0yMHB4LCAtMzJweCAtMjBweCwgLTQ4cHggLTIwcHgsIDAgLTkycHgsIC0xNnB4IC05MnB4LCAtMzJweCAtOTJweFxyXG5cdFx0ZGFyazogLTgwcHggLTIwcHgsIC05NnB4IC0yMHB4LCAtMTEycHggLTIwcHgsIC0xMjhweCAtMjBweCwgLTgwcHggLTkycHgsIC05NnB4IC05MnB4LCAtMTEyIC05MnB4XHJcblx0XHQqLyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00MHB4O1xuICAvKiBcclxuXHRcdHNwcml0ZXMgbG9jYXRpb25zIFxyXG5cdFx0bGlnaHQ6IDAgLTQwcHgsIC0yMHB4IC00MHB4LCAtNDBweCAtNDBweCwgLTYwcHggLTQwcHgsIDAgLTExMnB4LCAtMjBweCAtMTEycHgsIC00MHB4IC0xMTJweFxyXG5cdFx0ZGFyazogLTgwcHggLTQwcHgsIC0xMDBweCAtNDBweCwgLTEyMHB4IC00MHB4LCAtMTQwcHggLTQwcHgsIC04MHB4IC0xMTJweCwgLTEwMHB4IC0xMTJweCwgLTEyMHB4IC0xMTJweFxyXG5cdFx0Ki8gfVxuXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTU2cHg7XG4gIC8qIFxyXG5cdFx0c3ByaXRlcyBsb2NhdGlvbnMgXHJcblx0XHRsaWdodDogMCAtNTZweCwgLTIwcHggLTU2cHgsIC00MHB4IC01NnB4LCAtNjBweCAtNTZweCwgMCAtMTI4cHgsIC0yMHB4IC0xMjhweCwgLTQwcHggLTEyOHB4XHJcblx0XHRkYXJrOiAtODBweCAtNTZweCwgLTEwMHB4IC01NnB4LCAtMTIwcHggLTU2cHgsIC0xNDBweCAtNTZweCwgLTgwcHggLTEyOHB4LCAtMTAwcHggLTEyOHB4LCAtMTIwcHggLTEyOHB4XHJcblx0XHQqLyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwOmhvdmVyLFxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bjpob3Zlcixcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQ6aG92ZXIsXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodDpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNzU7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTc1KVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NzUpXCI7IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXA6YWN0aXZlLFxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bjphY3RpdmUsXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0OmFjdGl2ZSxcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0OmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDAuOTtcbiAgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9OTApXCI7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT05MClcIjsgfVxuXG4vKiB0aGVtZTogXCJkYXJrXCIgKi9cbi5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTsgfVxuXG4ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTsgfVxuXG4ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTsgfVxuXG4ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxuXG4ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IDA7IH1cblxuLm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMHB4OyB9XG5cbi5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNDBweDsgfVxuXG4ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC01NnB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHRoZW1lOiBcImxpZ2h0LTJcIiwgXCJkYXJrLTJcIiAqL1xuLm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgd2lkdGg6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDFweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAxcHg7XG4gIGJvcmRlci1yYWRpdXM6IDFweDsgfVxuXG4ubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgd2lkdGg6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxcHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMXB4O1xuICBib3JkZXItcmFkaXVzOiAxcHg7IH1cblxuLm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHB4O1xuICBtYXJnaW46IDZweCBhdXRvOyB9XG5cbi5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpOyB9XG5cbi5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOyB9XG5cbi5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggMDsgfVxuXG4ubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTIwcHg7IH1cblxuLm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC00MHB4OyB9XG5cbi5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTU2cHg7IH1cblxuLyogdGhlbWU6IFwiZGFyay0yXCIgKi9cbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMXB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogMXB4OyB9XG5cbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMXB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogMXB4OyB9XG5cbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7IH1cblxuLm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpOyB9XG5cbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggMDsgfVxuXG4ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTIwcHg7IH1cblxuLm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC00MHB4OyB9XG5cbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTU2cHg7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogdGhlbWU6IFwibGlnaHQtdGhpY2tcIiwgXCJkYXJrLXRoaWNrXCIgKi9cbi5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgd2lkdGg6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuXG4ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICB3aWR0aDogNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuXG4ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIG1hcmdpbjogNnB4IDA7IH1cblxuLm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDZweDtcbiAgbWFyZ2luOiA1cHggYXV0bzsgfVxuXG4ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7IH1cblxuLm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsgfVxuXG4ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAwOyB9XG5cbi5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIwcHg7IH1cblxuLm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjBweCAtNDBweDsgfVxuXG4ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjBweCAtNTZweDsgfVxuXG4vKiB0aGVtZTogXCJkYXJrLXRoaWNrXCIgKi9cbi5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuXG4ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7IH1cblxuLm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7IH1cblxuLm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7IH1cblxuLm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAwOyB9XG5cbi5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMjBweDsgfVxuXG4ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC00MHB4OyB9XG5cbi5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC01NnB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHRoZW1lOiBcImxpZ2h0LXRoaW5cIiwgXCJkYXJrLXRoaW5cIiAqL1xuLm1DUy1saWdodC10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IH1cblxuLm1DUy1saWdodC10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIHdpZHRoOiAycHg7IH1cblxuLm1DUy1saWdodC10aGluLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5tQ1MtbGlnaHQtdGhpbi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMnB4O1xuICBtYXJnaW46IDdweCBhdXRvOyB9XG5cbi8qIHRoZW1lIFwiZGFyay10aGluXCIgKi9cbi5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG5cbi5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7IH1cblxuLm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTsgfVxuXG4ubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7IH1cblxuLm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IDA7IH1cblxuLm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTIwcHg7IH1cblxuLm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTQwcHg7IH1cblxuLm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC01NnB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHRoZW1lIFwicm91bmRlZFwiLCBcInJvdW5kZWQtZGFya1wiLCBcInJvdW5kZWQtZG90c1wiLCBcInJvdW5kZWQtZG90cy1kYXJrXCIgKi9cbi5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTsgfVxuXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLFxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLFxuLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIge1xuICBoZWlnaHQ6IDE0cHg7IH1cblxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgd2lkdGg6IDE0cHg7XG4gIG1hcmdpbjogMCAxcHg7IH1cblxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyLFxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIsXG4ubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlcixcbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIge1xuICB3aWR0aDogMTRweDsgfVxuXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGhlaWdodDogMTRweDtcbiAgbWFyZ2luOiAxcHggMDsgfVxuXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIHdpZHRoOiAxNnB4O1xuICAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqL1xuICBoZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbjogLTFweCAwOyB9XG5cbi5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgd2lkdGg6IDRweDtcbiAgLyogYXV0by1leHBhbmRlZCBzY3JvbGxiYXIgKi8gfVxuXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgaGVpZ2h0OiAxNnB4O1xuICAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqL1xuICB3aWR0aDogMTZweDtcbiAgbWFyZ2luOiAwIC0xcHg7IH1cblxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGhlaWdodDogNHB4O1xuICAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqL1xuICBtYXJnaW46IDZweCAwOyB9XG5cbi5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNzJweDsgfVxuXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTJweDsgfVxuXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTEycHg7IH1cblxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjhweDsgfVxuXG4vKiB0aGVtZSBcInJvdW5kZWQtZGFya1wiLCBcInJvdW5kZWQtZG90cy1kYXJrXCIgKi9cbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTsgfVxuXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTsgfVxuXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7IH1cblxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxuXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTcycHg7IH1cblxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTkycHg7IH1cblxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTExMnB4OyB9XG5cbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTI4cHg7IH1cblxuLyogdGhlbWUgXCJyb3VuZGVkLWRvdHNcIiwgXCJyb3VuZGVkLWRvdHMtZGFya1wiICovXG4ubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgd2lkdGg6IDRweDsgfVxuXG4ubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG5cbi5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUlDQVlBQUFERUQ3NkxBQUFBTkVsRVFWUVlWMk5rSUFBWWlWYncvLzkvWTZEaU0xQU5Kb3lNakdkQmJMZ0pRQVgva1UwREtnRExrYVFBdnhXNEhFdlFGd0NSY3hJSksxWHpuQUFBQUFCSlJVNUVya0pnZ2c9PVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xuICBvcGFjaXR5OiAwLjM7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTMwKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MzApXCI7IH1cblxuLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBoZWlnaHQ6IDRweDtcbiAgbWFyZ2luOiA2cHggMDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14OyB9XG5cbi5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNzJweDsgfVxuXG4ubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtOTJweDsgfVxuXG4ubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjBweCAtMTEycHg7IH1cblxuLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMHB4IC0xMjhweDsgfVxuXG4vKiB0aGVtZSBcInJvdW5kZWQtZG90cy1kYXJrXCIgKi9cbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQWdBQUFBSUNBWUFBQURFRDc2TEFBQUFMRWxFUVZRWVYyTmtJQUFZU1ZGZ0RGUjhCcXJCQkVpZkJiR1JUZmlQWmhwWWppUUZCSzNBNmw2Q3ZnQUFFOWtHQ2QxbXZnRUFBQUFBU1VWT1JLNUNZSUk9XCIpOyB9XG5cbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC03MnB4OyB9XG5cbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTkycHg7IH1cblxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTExMnB4OyB9XG5cbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtMTI4cHg7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogdGhlbWUgXCIzZFwiLCBcIjNkLWRhcmtcIiwgXCIzZC10aGlja1wiLCBcIjNkLXRoaWNrLWRhcmtcIiAqL1xuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7IH1cblxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpOyB9XG5cbi8qIHRoZW1lIFwiM2RcIiwgXCIzZC1kYXJrXCIgKi9cbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCAubUNTQl9kcmFnZ2VyLFxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwgLm1DU0JfZHJhZ2dlciB7XG4gIGhlaWdodDogNzBweDsgfVxuXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyLFxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIHtcbiAgd2lkdGg6IDcwcHg7IH1cblxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzLFxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMge1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0zMClcIjtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTMwKVwiOyB9XG5cbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxNnB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7IH1cblxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJveC1zaGFkb3c6IGluc2V0IDFweCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuNSksIGluc2V0IC0xcHggMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG5cbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NTU7IH1cblxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgd2lkdGg6IDhweDsgfVxuXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA4cHg7XG4gIG1hcmdpbjogNHB4IDA7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuNSksIGluc2V0IDAgLTFweCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG5cbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA4cHg7XG4gIG1hcmdpbjogNHB4IGF1dG87IH1cblxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTcycHg7IH1cblxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTJweDsgfVxuXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xMTJweDsgfVxuXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTI4cHg7IH1cblxuLyogdGhlbWUgXCIzZC1kYXJrXCIgKi9cbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3gtc2hhZG93OiBpbnNldCAxcHggMCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC03MnB4OyB9XG5cbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTkycHg7IH1cblxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTEycHg7IH1cblxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTEyOHB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHRoZW1lOiBcIjNkLXRoaWNrXCIsIFwiM2QtdGhpY2stZGFya1wiICovXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyB7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTMwKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MzApXCI7IH1cblxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzLFxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMsXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcixcbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXIge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDdweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA3cHg7XG4gIGJvcmRlci1yYWRpdXM6IDdweDsgfVxuXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4ubUNTQl9pbnNpZGUgKyAubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwsXG4ubUNTQl9pbnNpZGUgKyAubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCB7XG4gIHJpZ2h0OiAxcHg7IH1cblxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLFxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwge1xuICBib3gtc2hhZG93OiBpbnNldCAxcHggMCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpLCBpbnNldCAwIDAgMTRweCByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIHtcbiAgYm90dG9tOiAxcHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSksIGluc2V0IDAgMCAxNHB4IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBib3gtc2hhZG93OiBpbnNldCAxcHggMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgd2lkdGg6IDEycHg7XG4gIG1hcmdpbjogMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogYXV0bztcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTsgfVxuXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NTU7IH1cblxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGhlaWdodDogMTJweDtcbiAgd2lkdGg6IGF1dG87IH1cblxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC03MnB4OyB9XG5cbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTkycHg7IH1cblxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTEycHg7IH1cblxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTEyOHB4OyB9XG5cbi8qIHRoZW1lOiBcIjNkLXRoaWNrLWRhcmtcIiAqL1xuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMTRweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSksIGluc2V0IDAgMCAxNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCksIGluc2V0IC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSwgaW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG5cbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTcycHg7IH1cblxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTJweDsgfVxuXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMTJweDsgfVxuXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTI4cHg7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogdGhlbWU6IFwibWluaW1hbFwiLCBcIm1pbmltYWwtZGFya1wiICovXG4ubUNTQl9vdXRzaWRlICsgLm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwsXG4ubUNTQl9vdXRzaWRlICsgLm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCB7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IDEycHggMDsgfVxuXG4ubUN1c3RvbVNjcm9sbEJveC5tQ1MtbWluaW1hbCArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCxcbi5tQ3VzdG9tU2Nyb2xsQm94Lm1DUy1taW5pbWFsICsgLm1DU0Jfc2Nyb2xsVG9vbHMgKyAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwsXG4ubUN1c3RvbVNjcm9sbEJveC5tQ1MtbWluaW1hbC1kYXJrICsgLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLFxuLm1DdXN0b21TY3JvbGxCb3gubUNTLW1pbmltYWwtZGFyayArIC5tQ1NCX3Njcm9sbFRvb2xzICsgLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIHtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW46IDAgMTJweDsgfVxuXG4vKiBSVEwgZGlyZWN0aW9uL2xlZnQtc2lkZSBzY3JvbGxiYXIgKi9cbi5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX291dHNpZGUgKyAubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCxcbi5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX291dHNpZGUgKyAubUNTLW1pbmltYWwtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIHtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLW1pbmltYWwtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwgLm1DU0JfZHJhZ2dlcixcbi5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwgLm1DU0JfZHJhZ2dlciB7XG4gIGhlaWdodDogNTBweDsgfVxuXG4ubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIsXG4ubUNTLW1pbmltYWwtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciB7XG4gIHdpZHRoOiA1MHB4OyB9XG5cbi5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTIwKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MjApXCI7IH1cblxuLm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTUwKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NTApXCI7IH1cblxuLyogdGhlbWU6IFwibWluaW1hbC1kYXJrXCIgKi9cbi5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MjApXCI7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0yMClcIjsgfVxuXG4ubUNTLW1pbmltYWwtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTUwKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NTApXCI7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogdGhlbWUgXCJsaWdodC0zXCIsIFwiZGFyay0zXCIgKi9cbi5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIHdpZHRoOiA2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4ubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgd2lkdGg6IDZweDsgfVxuXG4ubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2cHg7XG4gIG1hcmdpbjogNXB4IDA7IH1cblxuLm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCArIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogMTJweDsgfVxuXG4ubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCArIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgaGVpZ2h0OiAxMnB4O1xuICBtYXJnaW46IDJweCAwOyB9XG5cbi5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTcycHg7IH1cblxuLm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC05MnB4OyB9XG5cbi5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTEycHg7IH1cblxuLm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTI4cHg7IH1cblxuLyogdGhlbWUgXCJkYXJrLTNcIiAqL1xuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTsgfVxuXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpOyB9XG5cbi5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxuXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTcycHg7IH1cblxuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC05MnB4OyB9XG5cbi5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTEycHg7IH1cblxuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTI4cHg7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogdGhlbWUgXCJpbnNldFwiLCBcImluc2V0LWRhcmtcIiwgXCJpbnNldC0yXCIsIFwiaW5zZXQtMi1kYXJrXCIsIFwiaW5zZXQtM1wiLCBcImluc2V0LTMtZGFya1wiICovXG4ubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIHdpZHRoOiAxMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICB3aWR0aDogNnB4O1xuICBtYXJnaW46IDNweCA1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBoZWlnaHQ6IDZweDtcbiAgbWFyZ2luOiA1cHggM3B4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBhdXRvO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMnB4O1xuICBtYXJnaW46IDJweCAwOyB9XG5cbi5tQ1MtaW5zZXQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCxcbi5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLFxuLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNzJweDsgfVxuXG4ubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bixcbi5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sXG4ubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTkycHg7IH1cblxuLm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsXG4ubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LFxuLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xMTJweDsgfVxuXG4ubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQsXG4ubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCxcbi5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTEyOHB4OyB9XG5cbi8qIHRoZW1lIFwiaW5zZXQtZGFya1wiLCBcImluc2V0LTItZGFya1wiLCBcImluc2V0LTMtZGFya1wiICovXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTsgfVxuXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTsgfVxuXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxuXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLFxuLm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCxcbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTcycHg7IH1cblxuLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bixcbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bixcbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTJweDsgfVxuXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LFxuLm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LFxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMTJweDsgfVxuXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCxcbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQsXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMjhweDsgfVxuXG4vKiB0aGVtZSBcImluc2V0LTJcIiwgXCJpbnNldC0yLWRhcmtcIiAqL1xuLm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4vKiB0aGVtZSBcImluc2V0LTNcIiwgXCJpbnNldC0zLWRhcmtcIiAqL1xuLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7IH1cblxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTsgfVxuXG4ubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTsgfVxuXG4ubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTsgfVxuXG4ubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxuXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpOyB9XG5cbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7IH1cblxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKlxyXG4gICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXHJcbiAgICogMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcclxuICAgKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXHJcbiAgICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAgICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxyXG4gICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXHJcbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcclxuICAgKiBhbmQgRmlyZWZveC5cclxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxyXG4gICAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXHJcbiAgICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cclxuICAgKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXHJcbiAgICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cclxuICAgKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxyXG4gICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxyXG4gICAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cclxuICAgKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXHJcbiAgICovXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBMaW5rc1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcclxuICAgKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXHJcbiAgICogYWN0aXZlL2hvdmVyIHN0YXRlLlxyXG4gICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXHJcbiAgICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7IH1cblxuLyoqXHJcbiAgICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qKlxyXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cclxuICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcclxuICAgKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXHJcbiAgICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gICAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcclxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxyXG4gICAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxyXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcclxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxyXG4gICAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxyXG4gICAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxyXG4gICAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAgICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXHJcbiAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxyXG4gICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cclxuICAgKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcclxuICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cclxuICAgKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxyXG4gICAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cclxuICAgKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKiBGb3Jtc1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICAgKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxyXG4gICAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cclxuICAgKi9cbi8qKlxyXG4gICAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cclxuICAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cclxuICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxyXG4gICAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi8gfVxuXG4vKipcclxuICAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cclxuICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxyXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cclxuICAgKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxyXG4gICAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXHJcbiAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxyXG4gICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXHJcbiAgICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcclxuICAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cclxuICAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXHJcbiAgICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcclxuICAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXHJcbiAgICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXHJcbiAgICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cclxuICAgKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLyoqXHJcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxyXG4gICAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXHJcbiAgICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxyXG4gICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxyXG4gICAqL1xuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qKlxyXG4gICAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cclxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxyXG4gICAqXHJcbiAgICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cclxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxyXG4gICAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAgICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cclxuICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxyXG4gICAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cclxuICAgKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxyXG4gICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxyXG4gICAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXHJcbiAgICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cclxuICAgKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXHJcbiAgICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxyXG4gICAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXHJcbiAgICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxyXG4gICAqIFtOT1RFXSBXZSBkb24ndCBlbmFibGUgdGhpcyBydWxlc2V0IGluIEZvdW5kYXRpb24sIGJlY2F1c2Ugd2Ugd2FudCB0aGUgPGZpZWxkc2V0PiBlbGVtZW50IHRvIGhhdmUgcGxhaW4gc3R5bGluZy5cclxuICAgKi9cbi8qIGZpZWxkc2V0IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XHJcbiAgICBtYXJnaW46IDAgMnB4O1xyXG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xyXG4gIH0gKi9cbi8qKlxyXG4gICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cclxuICAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXHJcbiAgICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXHJcbiAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxyXG4gICAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cclxuICAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cclxuICAgKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogVGFibGVzXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cclxuICAgKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuI21hcF9jYW52YXMgaW1nLFxuI21hcF9jYW52YXMgZW1iZWQsXG4jbWFwX2NhbnZhcyBvYmplY3QsXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogXCJGdXR1cmFcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgaDEgc21hbGwsXG4gIGgyIHNtYWxsLFxuICBoMyBzbWFsbCxcbiAgaDQgc21hbGwsXG4gIGg1IHNtYWxsLFxuICBoNiBzbWFsbCB7XG4gICAgY29sb3I6ICNiYmI7XG4gICAgbGluZS1oZWlnaHQ6IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS4xODc1cmVtOyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtOyB9XG4gIGg0IHtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTsgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5hIHtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogI2RhZGFkYTsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmJiO1xuICBib3JkZXItbGVmdDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGNsZWFyOiBib3RoOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2JiYjsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICM2NjY7IH1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgY29sb3I6ICM2NjY7IH1cbiAgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJzsgfVxuXG5hYmJyIHtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjMGEwYTBhOyB9XG5cbmNvZGUge1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiYmI7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07IH1cblxua2JkIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxuLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM2NjY7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMC42NWVtIDJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjNjhjMzE7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhODc3MmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi50aW55IHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYnV0dG9uLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNjhjMzE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWU3MDI3O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVmNWY1ZjtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjNTg0MDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhMzExNjtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjMxMjJkO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kYW5nZXI6aG92ZXIsIC5idXR0b24uZGFuZ2VyOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4ZjBlMjQ7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmJyaWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjYwMDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uYnJpZ2h0OmhvdmVyLCAuYnV0dG9uLmJyaWdodDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M1MjAwO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5saW5rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5saW5rOmhvdmVyLCAuYnV0dG9uLmxpbms6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NiY2JjYjtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzY4YzMxO1xuICAgIGNvbG9yOiAjYzY4YzMxOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICM2MzQ2MTk7XG4gICAgICBjb2xvcjogIzYzNDYxOTsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2M2OGMzMTtcbiAgICAgIGNvbG9yOiAjYzY4YzMxOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjM0NjE5O1xuICAgICAgICBjb2xvcjogIzYzNDYxOTsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzc3O1xuICAgICAgY29sb3I6ICM3Nzc7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2MzYzNjO1xuICAgICAgICBjb2xvcjogIzNjM2MzYzsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgICAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYzU4NDA7XG4gICAgICBjb2xvcjogI2VjNTg0MDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODgxZjBlO1xuICAgICAgICBjb2xvcjogIzg4MWYwZTsgfVxuICAgIC5idXR0b24uaG9sbG93LmRhbmdlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYjMxMjJkO1xuICAgICAgY29sb3I6ICNiMzEyMmQ7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmRhbmdlcjpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGFuZ2VyOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNWEwOTE3O1xuICAgICAgICBjb2xvcjogIzVhMDkxNzsgfVxuICAgIC5idXR0b24uaG9sbG93LmJyaWdodCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY2NjAwO1xuICAgICAgY29sb3I6ICNmZjY2MDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmJyaWdodDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYnJpZ2h0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODAzMzAwO1xuICAgICAgICBjb2xvcjogIzgwMzMwMDsgfVxuICAgIC5idXR0b24uaG9sbG93Lmxpbmsge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZlZmVmZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5saW5rOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjN2Y3ZjdmO1xuICAgICAgICBjb2xvcjogIzdmN2Y3ZjsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNjhjMzE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzY4YzMxO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM1ODQwO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuZGFuZ2VyLCAuYnV0dG9uW2Rpc2FibGVkXS5kYW5nZXIge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuZGFuZ2VyOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmRhbmdlcjpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uZGFuZ2VyOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5kYW5nZXI6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjMxMjJkO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYnJpZ2h0LCAuYnV0dG9uW2Rpc2FibGVkXS5icmlnaHQge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuYnJpZ2h0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmJyaWdodDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYnJpZ2h0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5icmlnaHQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2NjAwO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQubGluaywgLmJ1dHRvbltkaXNhYmxlZF0ubGluayB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5saW5rOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmxpbms6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmxpbms6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmxpbms6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHRvcDogLTAuMWVtOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2JiYjsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYm9yZGVyOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMSU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBoZWlnaHQ6IDIuNXJlbTsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDElOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24ge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuXG5sZWdlbmQge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBtYXJnaW46IDEuMTI1cmVtIDA7IH1cbiAgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTAyLCAxMDIsIDEwMiUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzYsIDg4LCA2NCwgMC4xKTtcbiAgYm9yZGVyLWNvbG9yOiAjZWM1ODQwOyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNlYzU4NDA7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2VjNTg0MDsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzY2NjtcbiAgcmlnaHQ6IDFyZW07XG4gIHRvcDogMC41cmVtO1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuLFxuaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC40NSk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ucmV2ZWFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogMTAwNjtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2JiYjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICAucmV2ZWFsIC5jb2x1bW4sXG4gIC5yZXZlYWwgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIC5yZXZlYWwge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAucmV2ZWFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLmxhcmdlIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgLnJldmVhbC5mdWxsIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIHdpZHRoOiBhdXRvO1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjYzY4YzMxOyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjYmM4NTJmOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IDI0cHg7IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogMDsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTsgfVxuICAudGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7IH1cblxuQGtleWZyYW1lcyBzaGFrZS03IHtcbiAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7IH1cbiAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpOyB9IH1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH0gfVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnOyB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlLTdkZWcge1xuICA0MCUsIDUwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfVxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTsgfVxuICAwJSwgMzAlLCA3MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNoYWtlLFxuLnNwaW4tY3csXG4uc3Bpbi1jY3csXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtczsgfVxuXG4uaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4uc2xvdyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4vKlxuICogalF1ZXJ5IEZsZXhTbGlkZXIgdjIuNi4yXG4gKiBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vZmxleHNsaWRlci9cbiAqXG4gKiBDb3B5cmlnaHQgMjAxMiBXb29UaGVtZXNcbiAqIEZyZWUgdG8gdXNlIHVuZGVyIHRoZSBHUEx2MiBhbmQgbGF0ZXIgbGljZW5zZS5cbiAqIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxcbiAqXG4gKiBDb250cmlidXRpbmcgYXV0aG9yOiBUeWxlciBTbWl0aCAoQG1ibXVmZmZpbilcbiAqXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBGT05ULUZBQ0VcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ZsZXhzbGlkZXItaWNvbic7XG4gIHNyYzogdXJsKFwiZm9udHMvZmxleHNsaWRlci1pY29uLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCJmb250cy9mbGV4c2xpZGVyLWljb24uZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiZm9udHMvZmxleHNsaWRlci1pY29uLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiZm9udHMvZmxleHNsaWRlci1pY29uLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiZm9udHMvZmxleHNsaWRlci1pY29uLnN2ZyNmbGV4c2xpZGVyLWljb25cIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFJFU0VUU1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmZsZXgtY29udGFpbmVyIGE6aG92ZXIsXG4uZmxleC1zbGlkZXIgYTpob3ZlciB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLnNsaWRlcyxcbi5zbGlkZXMgPiBsaSxcbi5mbGV4LWNvbnRyb2wtbmF2LFxuLmZsZXgtZGlyZWN0aW9uLW5hdiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uZmxleC1wYXVzZXBsYXkgc3BhbiB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBCQVNFIFNUWUxFU1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmZsZXhzbGlkZXIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmZsZXhzbGlkZXIgLnNsaWRlcyA+IGxpIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmZsZXhzbGlkZXIgLnNsaWRlcyBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZsZXhzbGlkZXIgLnNsaWRlczphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFwwMDIwXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBsaW5lLWhlaWdodDogMDtcbiAgaGVpZ2h0OiAwOyB9XG5cbmh0bWxbeG1sbnNdIC5mbGV4c2xpZGVyIC5zbGlkZXMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4qIGh0bWwgLmZsZXhzbGlkZXIgLnNsaWRlcyB7XG4gIGhlaWdodDogMSU7IH1cblxuLm5vLWpzIC5mbGV4c2xpZGVyIC5zbGlkZXMgPiBsaTpmaXJzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBERUZBVUxUIFRIRU1FXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uZmxleHNsaWRlciB7XG4gIG1hcmdpbjogMCAwIDYwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogNHB4IHNvbGlkICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgem9vbTogMTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogXCJcIiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAtbW96LWJveC1zaGFkb3c6IFwiXCIgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgLW8tYm94LXNoYWRvdzogXCJcIiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3gtc2hhZG93OiBcIlwiIDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLmZsZXhzbGlkZXIgLnNsaWRlcyB7XG4gIHpvb206IDE7IH1cblxuLmZsZXhzbGlkZXIgLnNsaWRlcyBpbWcge1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmZsZXgtdmlld3BvcnQge1xuICBtYXgtaGVpZ2h0OiAyMDAwcHg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlOyB9XG5cbi5sb2FkaW5nIC5mbGV4LXZpZXdwb3J0IHtcbiAgbWF4LWhlaWdodDogMzAwcHg7IH1cblxuLmNhcm91c2VsIGxpIHtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cblxuLmZsZXgtZGlyZWN0aW9uLW5hdiB7XG4gICpoZWlnaHQ6IDA7IH1cblxuLmZsZXgtZGlyZWN0aW9uLW5hdiBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgbWFyZ2luOiAtMjBweCAwIDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHotaW5kZXg6IDEwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsgfVxuXG4uZmxleC1kaXJlY3Rpb24tbmF2IGE6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiZmxleHNsaWRlci1pY29uXCI7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb250ZW50OiAnXFxmMDAxJztcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgdGV4dC1zaGFkb3c6IDFweCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7IH1cblxuLmZsZXgtZGlyZWN0aW9uLW5hdiBhLmZsZXgtbmV4dDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDAyJzsgfVxuXG4uZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LXByZXYge1xuICBsZWZ0OiAtNTBweDsgfVxuXG4uZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LW5leHQge1xuICByaWdodDogLTUwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5mbGV4c2xpZGVyOmhvdmVyIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtcHJldiB7XG4gIG9wYWNpdHk6IDAuNztcbiAgbGVmdDogMTBweDsgfVxuXG4uZmxleHNsaWRlcjpob3ZlciAuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LXByZXY6aG92ZXIge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mbGV4c2xpZGVyOmhvdmVyIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtbmV4dCB7XG4gIG9wYWNpdHk6IDAuNztcbiAgcmlnaHQ6IDEwcHg7IH1cblxuLmZsZXhzbGlkZXI6aG92ZXIgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1uZXh0OmhvdmVyIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgei1pbmRleDogLTE7IH1cblxuLmZsZXgtcGF1c2VwbGF5IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDVweDtcbiAgbGVmdDogMTBweDtcbiAgb3BhY2l0eTogMC44O1xuICB6LWluZGV4OiAxMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogIzAwMDsgfVxuXG4uZmxleC1wYXVzZXBsYXkgYTpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJmbGV4c2xpZGVyLWljb25cIjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbnRlbnQ6ICdcXGYwMDQnOyB9XG5cbi5mbGV4LXBhdXNlcGxheSBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmxleC1wYXVzZXBsYXkgYS5mbGV4LXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjAwMyc7IH1cblxuLmZsZXgtY29udHJvbC1uYXYge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC00MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZsZXgtY29udHJvbC1uYXYgbGkge1xuICBtYXJnaW46IDAgNnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHpvb206IDE7XG4gICpkaXNwbGF5OiBpbmxpbmU7IH1cblxuLmZsZXgtY29udHJvbC1wYWdpbmcgbGkgYSB7XG4gIHdpZHRoOiAxMXB4O1xuICBoZWlnaHQ6IDExcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiAjNjY2O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIC1tb3otYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIC1vLWJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7IH1cblxuLmZsZXgtY29udHJvbC1wYWdpbmcgbGkgYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuXG4uZmxleC1jb250cm9sLXBhZ2luZyBsaSBhLmZsZXgtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLmZsZXgtY29udHJvbC10aHVtYnMge1xuICBtYXJnaW46IDVweCAwIDA7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmZsZXgtY29udHJvbC10aHVtYnMgbGkge1xuICB3aWR0aDogMjUlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5mbGV4LWNvbnRyb2wtdGh1bWJzIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAuNztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTsgfVxuXG4uZmxleC1jb250cm9sLXRodW1icyBpbWc6aG92ZXIge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mbGV4LWNvbnRyb2wtdGh1bWJzIC5mbGV4LWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogUkVTUE9OU0lWRVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODYwcHgpIHtcbiAgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1wcmV2IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGxlZnQ6IDEwcHg7IH1cbiAgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1uZXh0IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHJpZ2h0OiAxMHB4OyB9IH1cblxuLyogSW9uLlJhbmdlU2xpZGVyXHJcbi8vIGNzcyB2ZXJzaW9uIDIuMC4zXHJcbi8vIMKpIDIwMTMtMjAxNCBEZW5pcyBJbmVzaGluIHwgSW9uRGVuLmNvbVxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBSYW5nZVNsaWRlciAqL1xuLmlycyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5pcnMtbGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaXJzLWxpbmUtbGVmdCwgLmlycy1saW5lLW1pZCwgLmlycy1saW5lLXJpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiAwOyB9XG5cbi5pcnMtbGluZS1sZWZ0IHtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDExJTsgfVxuXG4uaXJzLWxpbmUtbWlkIHtcbiAgbGVmdDogOSU7XG4gIHdpZHRoOiA4MiU7IH1cblxuLmlycy1saW5lLXJpZ2h0IHtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMSU7IH1cblxuLmlycy1iYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMDsgfVxuXG4uaXJzLWJhci1lZGdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi5pcnMtc2hhZG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBub25lO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMDsgfVxuXG4uaXJzLXNsaWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgei1pbmRleDogMTsgfVxuXG4uaXJzLXNsaWRlci50eXBlX2xhc3Qge1xuICB6LWluZGV4OiAyOyB9XG5cbi5pcnMtbWluIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogMDtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5pcnMtbWF4IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcmlnaHQ6IDA7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uaXJzLWZyb20sIC5pcnMtdG8sIC5pcnMtc2luZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmlycy1ncmlkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBub25lO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIwcHg7IH1cblxuLmlycy13aXRoLWdyaWQgLmlycy1ncmlkIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmlycy1ncmlkLXBvbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDhweDtcbiAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4uaXJzLWdyaWQtcG9sLnNtYWxsIHtcbiAgaGVpZ2h0OiA0cHg7IH1cblxuLmlycy1ncmlkLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDlweDtcbiAgbGluZS1oZWlnaHQ6IDlweDtcbiAgcGFkZGluZzogMCAzcHg7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi5pcnMtZGlzYWJsZS1tYXNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiAwO1xuICBsZWZ0OiAtMSU7XG4gIHdpZHRoOiAxMDIlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHotaW5kZXg6IDI7IH1cblxuLmx0LWllOSAuaXJzLWRpc2FibGUtbWFzayB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uaXJzLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC40OyB9XG5cbi5pcnMtaGlkZGVuLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDAgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiAtOTk5OSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG5cbi5hbmltYXRlZCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4uYW5pbWF0ZWQuaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4uYW5pbWF0ZWQuaGluZ2Uge1xuICBhbmltYXRpb24tZHVyYXRpb246IDJzOyB9XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuLmZhZGVJbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfSB9XG5cbi5mYWRlT3V0TGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDsgfVxuXG4uYm9keS1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdCZWJhcyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvYmViYXMvYmViYXNuZXVlX3RoaW4td2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdCZWJhcyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvYmViYXMvYmViYXNuZXVlX2xpZ2h0LXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQmViYXMnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2JlYmFzL2JlYmFzbmV1ZV9yZWd1bGFyLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQmViYXMnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2JlYmFzL2JlYmFzbmV1ZV9ib2xkLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRnV0dXJhJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9mdXR1cmEvZnV0dXJhbGlnaHRjLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRnV0dXJhJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9mdXR1cmEvRnV0dXJhTGlnaHRDLUl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGdXR1cmEnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2Z1dHVyYS9mdXR1cmFib29rYy13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0Z1dHVyYSc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvZnV0dXJhL2Z1dHVyYWJvb2tjLWl0YWxpYy13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0Z1dHVyYSc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvZnV0dXJhL2Z1dHVyYW1lZGl1bWMtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGdXR1cmEnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2Z1dHVyYS9mdXR1cmFtZWRpdW1jLWl0YWxpYy13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0Z1dHVyYSc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvZnV0dXJhL2Z1dHVyYWRlbWljLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRnV0dXJhJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9mdXR1cmEvZnV0dXJhZGVtaWMtaXRhbGljLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLypcblNDU1MgdmFyaWFibGVzIGFyZSBpbmZvcm1hdGlvbiBhYm91dCBpY29uJ3MgY29tcGlsZWQgc3RhdGUsIHN0b3JlZCB1bmRlciBpdHMgb3JpZ2luYWwgZmlsZSBuYW1lXG5cbi5pY29uLWhvbWUge1xuICB3aWR0aDogJGljb24taG9tZS13aWR0aDtcbn1cblxuVGhlIGxhcmdlIGFycmF5LWxpa2UgdmFyaWFibGVzIGNvbnRhaW4gYWxsIGluZm9ybWF0aW9uIGFib3V0IGEgc2luZ2xlIGljb25cbiRpY29uLWhvbWU6IHggeSBvZmZzZXRfeCBvZmZzZXRfeSB3aWR0aCBoZWlnaHQgdG90YWxfd2lkdGggdG90YWxfaGVpZ2h0IGltYWdlX3BhdGg7XG5cbkF0IHRoZSBib3R0b20gb2YgdGhpcyBzZWN0aW9uLCB3ZSBwcm92aWRlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzcHJpdGVzaGVldCBpdHNlbGZcbiRzcHJpdGVzaGVldDogd2lkdGggaGVpZ2h0IGltYWdlICRzcHJpdGVzaGVldC1zcHJpdGVzO1xuKi9cbi8qXG5UaGUgcHJvdmlkZWQgbWl4aW5zIGFyZSBpbnRlbmRlZCB0byBiZSB1c2VkIHdpdGggdGhlIGFycmF5LWxpa2UgdmFyaWFibGVzXG5cbi5pY29uLWhvbWUge1xuICBAaW5jbHVkZSBzcHJpdGUtd2lkdGgoJGljb24taG9tZSk7XG59XG5cbi5pY29uLWVtYWlsIHtcbiAgQGluY2x1ZGUgc3ByaXRlKCRpY29uLWVtYWlsKTtcbn1cblxuRXhhbXBsZSB1c2FnZSBpbiBIVE1MOlxuXG5gZGlzcGxheTogYmxvY2tgIHNwcml0ZTpcbjxkaXYgY2xhc3M9XCJpY29uLWhvbWVcIj48L2Rpdj5cblxuVG8gY2hhbmdlIGBkaXNwbGF5YCAoZS5nLiBgZGlzcGxheTogaW5saW5lLWJsb2NrO2ApLCB3ZSBzdWdnZXN0IHVzaW5nIGEgY29tbW9uIENTUyBjbGFzczpcblxuLy8gQ1NTXG4uaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLy8gSFRNTFxuPGkgY2xhc3M9XCJpY29uIGljb24taG9tZVwiPjwvaT5cbiovXG4vKlxuVGhlIGBzcHJpdGVzYCBtaXhpbiBnZW5lcmF0ZXMgaWRlbnRpY2FsIG91dHB1dCB0byB0aGUgQ1NTIHRlbXBsYXRlXG4gIGJ1dCBjYW4gYmUgb3ZlcnJpZGRlbiBpbnNpZGUgb2YgU0NTU1xuXG5AaW5jbHVkZSBzcHJpdGVzKCRzcHJpdGVzaGVldC1zcHJpdGVzKTtcbiovXG4uY2F0YWxvZy1maWx0ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tbGVmdDogMjUuNjQxMDMlO1xuICBmbGV4OiAxIDAgNzQuMzU4OTclOyB9XG5cbi5maWx0ZXJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLXdpZHRoOiAxMDAlOyB9XG5cbi5maWx0ZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5maWx0ZXJfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG5cbi5maWx0ZXJfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5maWx0ZXJfX2NvbnRhaW5lciB7XG4gIG1hcmdpbi1yaWdodDogNS45ODI5MSU7IH1cblxuLmZpbHRlcl9fY29udGFpbmVyLS1jaGVja2JveCB7XG4gIGZsZXg6IDEgMCAxNC41Mjk5MSU7IH1cbiAgLmZpbHRlcl9fY29udGFpbmVyLS1jaGVja2JveCAuZmlsdGVyX19jb250ZW50IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiA3N3B4OyB9XG5cbi5maWx0ZXJfX2NvbnRhaW5lci0tcmFuZ2Uge1xuICBmbGV4OiAxIDAgNDguNzE3OTUlOyB9XG4gIC5maWx0ZXJfX2NvbnRhaW5lci0tcmFuZ2UgLmZpbHRlcl9fY29udGVudCB7XG4gICAgZmxleDogMSAwIDQwLjE3MDk0JTsgfVxuXG4ucmFuZ2Utc2xpZGVyIHtcbiAgbWluLXdpZHRoOiAxMDAlOyB9XG5cbi5yYW5nZS1zbGlkZXJfX2RhdGEge1xuICBmbGV4OiAwIDAgNjBweDsgfVxuXG4ucmFuZ2Utc2xpZGVyX19zbGlkZXIge1xuICBmbGV4OiAxIDAgMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogMTJweDsgfVxuXG5odG1sLCBib2R5IHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWluLWhlaWdodDogNzAwcHg7XG4gIG1pbi13aWR0aDogMTIwMHB4OyB9XG5cbi5zaXRlLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4ubWFpbi13cmFwIHtcbiAgZmxleC1ncm93OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm1haW4td3JhcC4tdmVydGljYWwtanVzdGlmeSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5tYWluIHtcbiAgbWFyZ2luOiAyNXB4OyB9XG4gIC5tYWluLi1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5tYWluLi1jZW50ZXItanVzdGlmeSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLnBhZ2UtY29udGVudC4tbmFycm93IHtcbiAgbWFyZ2luOiBhdXRvIDA7XG4gIHdpZHRoOiA5MDBweDtcbiAgcGFkZGluZzogMDtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMwMHB4KTsgfVxuXG4uc2lkZWJhcixcbi5jb250ZW50LWJhciB7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5zaWRlYmFyLi1yaWdodCxcbiAgLmNvbnRlbnQtYmFyLi1yaWdodCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4OyB9XG4gIC5zaWRlYmFyLi1vdmVybGF5ZWQsXG4gIC5jb250ZW50LWJhci4tb3ZlcmxheWVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDM4NXB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnNpZGViYXIuLW92ZXJsYXllZC4tbGVmdCxcbiAgICAuY29udGVudC1iYXIuLW92ZXJsYXllZC4tbGVmdCB7XG4gICAgICBtaW4td2lkdGg6IDM4NXB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBsZWZ0OiAwOyB9XG4gIC5zaWRlYmFyLi1sZWZ0LFxuICAuY29udGVudC1iYXIuLWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG9yZGVyOiAtMTsgfVxuICAuc2lkZWJhci4tZGFyayxcbiAgLmNvbnRlbnQtYmFyLi1kYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnNpZGViYXIuLXZlcnQtanVzdGlmeSxcbiAgLmNvbnRlbnQtYmFyLi12ZXJ0LWp1c3RpZnkge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuc2lkZWJhci4tdG9wLXNwYWNlLFxuICAuY29udGVudC1iYXIuLXRvcC1zcGFjZSB7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7IH1cbiAgLnNpZGViYXIuLWZsZXhlZCxcbiAgLmNvbnRlbnQtYmFyLi1mbGV4ZWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuc2lkZWJhci4td2l0aC13aWR0aCxcbiAgLmNvbnRlbnQtYmFyLi13aXRoLXdpZHRoIHtcbiAgICBmbGV4LWJhc2lzOiAyNjBweDsgfVxuXG4uc2lkZWJhci4tcmlnaHQge1xuICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cblxuLnNpZGViYXItZm9vdGVyIHtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuc2lkZWJhci1mb290ZXIuLWRhcmsge1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5zaWRlYmFyLWZvb3Rlci4taW5saW5lIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gICAgLnNpZGViYXItZm9vdGVyLi1pbmxpbmUgLnNpZGViYXItY29udGFjdHMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgcGFkZGluZy1yaWdodDogMjVweDsgfVxuXG4uc2lkZWJhci1jb250YWN0c19fYWRkcmVzcyB7XG4gIG1hcmdpbi10b3A6IDI1cHg7IH1cblxuLnNpZGViYXItY29udGFjdHNfX3Bob25lIHtcbiAgbWFyZ2luLXRvcDogMjVweDsgfVxuXG4uYWRkcmVzcyB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTJweDsgfVxuXG4uYW5tLXRhYnNfX3RpdGxlIHtcbiAgY29sb3I6ICM3Nzc7XG4gIGZvbnQtZmFtaWx5OiBcIkJlYmFzXCIsIHNhbnMtc2VyaWY7IH1cbiAgLmFubS10YWJzX190aXRsZS5pcy1hY3RpdmUge1xuICAgIGNvbG9yOiAjZWM1ODQwOyB9XG4gICAgLmFubS10YWJzX190aXRsZS5pcy1hY3RpdmUgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYW5tLXRhYnNfX3RpdGxlIGEge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5iYWNrLWJ1dHRvbnMge1xuICBtYXJnaW4tbGVmdDogMjVweDsgfVxuXG4uYmMtc2VsZWN0IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VjNTg0MDtcbiAgY29sb3I6ICNlYzU4NDA7XG4gIGZvbnQtZmFtaWx5OiBcIkJlYmFzXCIsIHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiA3cHggMTBweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBY0FBQUFFQ0FZQUFBQkN4aVY5QUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5WnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNVEV4SURjNUxqRTFPRE15TlN3Z01qQXhOUzh3T1M4eE1DMHdNVG94TURveU1DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRVZ0tGZHBibVJ2ZDNNcElpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qVTVRalZFTkRFNE9EazNNekV4UlRZNU5rSkdSakZGT1VVMU1EQkZNRUUwSWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pVNVFqVkVOREU1T0RrM016RXhSVFk1TmtKR1JqRkZPVVUxTURCRk1FRTBJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TlRsQ05VUTBNVFk0T1Rjek1URkZOamsyUWtaR01VVTVSVFV3TUVVd1FUUWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZOVGxDTlVRME1UYzRPVGN6TVRGRk5qazJRa1pHTVVVNVJUVXdNRVV3UVRRaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NWhOMzlSQUFBQVMwbEVRVlI0Mm1MOG44Wndqb0dCb1JTSTl6SWdnQk1ROXpJQmlUd2dYZ3JFZ1ZBSmZ5QmVEc1Q1TEVEaUNCQjdBdkVXSVBZQVlsOG9mWjRKcXZvOEVEc0NzU2FVQnZFWkFBSU1BRGUwREwwZDZlREFBQUFBQUVsRlRrU3VRbUNDXCIpIG5vLXJlcGVhdCByaWdodCBjZW50ZXI7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgd2lkdGg6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5iYy1zZWxlY3Qge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLmJyYW5kIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5idG4ge1xuICBmb250LWZhbWlseTogXCJCZWJhc1wiLCBzYW5zLXNlcmlmO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMC42NWVtIDJlbTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idG4ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ0bi4tcG9pbnRpbmcge1xuICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQVlBQUFBS0NBWUFBQUNYRGk4ekFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTVRFeElEYzVMakUxT0RNeU5Td2dNakF4TlM4d09TOHhNQzB3TVRveE1Eb3lNQ0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UVWdLRmRwYm1SdmQzTXBJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPa0UxUTBFMFFUSXdOMFpHTkRFeFJUWkJPVFUyUTBNek9ERkdRelUzUWtJNElpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09rRTFRMEUwUVRJeE4wWkdOREV4UlRaQk9UVTJRME16T0RGR1F6VTNRa0k0SWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNlFUVkRRVFJCTVVVM1JrWTBNVEZGTmtFNU5UWkRRek00TVVaRE5UZENRamdpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2UVRWRFFUUkJNVVkzUmtZME1URkZOa0U1TlRaRFF6TTRNVVpETlRkQ1FqZ2lMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejUvbkFCOUFBQUFYVWxFUVZSNDJtTDQvLzkvRGhCWEF6RURNZ1lSNGtCOERZaHIwQ1d3U2lKckIwbGVCZUphRUorRkFRRmVBckVURU84RFlrWW1CbFR3RDRpQjVqQXdJeHNsQ3NSWGdMZ0IyUTR4cUdBOXN1VVlnakNKWENDdVEvY2dRSUFCQURyRm5hbmtwejMxQUFBQUFFbEZUa1N1UW1DQ1wiKSBuby1yZXBlYXQgY2FsYygxMDAlIC0gMWVtKSBjZW50ZXI7XG4gICAgcGFkZGluZy1yaWdodDogM2VtOyB9XG4gIC5idG4uLWxhcmdlIHtcbiAgICBwYWRkaW5nOiAwLjllbSAyLjU1ZW07IH1cbiAgLmJ0bi4tcmlnaHQtYWxpZ24ge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cbiAgLmJ0bi4tY29uZGVuc2VkIHtcbiAgICBmb250LWZhbWlseTogXCJCZWJhc1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTdweDsgfVxuICAuYnRuLi1ob2xsb3cge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkOyB9XG4gIC5idG4uLWZvbnQtbm9ybWFsIHtcbiAgICBmb250LWZhbWlseTogXCJGdXR1cmFcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gIC5idG4uLXVwcGVyY2FzZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuYnRuLi1zaXplLXNtYWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDdweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA3cHg7XG4gICAgZm9udC1zaXplOiAxMnB4OyB9XG5cbi5idG4taWNvbiB7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIHBhZGRpbmc6IDEwcHg7IH1cblxuLmJ0bi4tcHJpbWFyeSxcbi5idG4taWNvbi4tcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE5OCwgMTQwLCA0OSwgMC44KTsgfVxuICAuYnRuLi1wcmltYXJ5OmhvdmVyLCAuYnRuLi1wcmltYXJ5OmFjdGl2ZSwgLmJ0bi4tcHJpbWFyeTpmb2N1cyxcbiAgLmJ0bi1pY29uLi1wcmltYXJ5OmhvdmVyLFxuICAuYnRuLWljb24uLXByaW1hcnk6YWN0aXZlLFxuICAuYnRuLWljb24uLXByaW1hcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTk4LCAxNDAsIDQ5LCAwLjkpOyB9XG5cbi5idG4uLWdlbnRsZSxcbi5idG4taWNvbi4tZ2VudGxlIHtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC4zKTsgfVxuICAuYnRuLi1nZW50bGU6aG92ZXIsIC5idG4uLWdlbnRsZTphY3RpdmUsIC5idG4uLWdlbnRsZTpmb2N1cyxcbiAgLmJ0bi1pY29uLi1nZW50bGU6aG92ZXIsXG4gIC5idG4taWNvbi4tZ2VudGxlOmFjdGl2ZSxcbiAgLmJ0bi1pY29uLi1nZW50bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC40KTsgfVxuXG4uYnRuLi1nZW50bGUtaG9sbG93LFxuLmJ0bi1pY29uLi1nZW50bGUtaG9sbG93IHtcbiAgZm9udC1mYW1pbHk6IFwiQmViYXNcIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC45KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjMpOyB9XG4gIC5idG4uLWdlbnRsZS1ob2xsb3c6aG92ZXIsIC5idG4uLWdlbnRsZS1ob2xsb3c6YWN0aXZlLCAuYnRuLi1nZW50bGUtaG9sbG93OmZvY3VzLFxuICAuYnRuLWljb24uLWdlbnRsZS1ob2xsb3c6aG92ZXIsXG4gIC5idG4taWNvbi4tZ2VudGxlLWhvbGxvdzphY3RpdmUsXG4gIC5idG4taWNvbi4tZ2VudGxlLWhvbGxvdzpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjMpO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5idG4uLWJhY2ssXG4uYnRuLWljb24uLWJhY2sge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFjQUFBQUtDQVlBQUFCNHpFUU5BQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1URXhJRGM1TGpFMU9ETXlOU3dnTWpBeE5TOHdPUzh4TUMwd01Ub3hNRG95TUNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVORElESXdNVFVnS0ZkcGJtUnZkM01wSWlCNGJYQk5UVHBKYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pZMU9VTkNNVE01T0RrMk1qRXhSVFpCUVRJMFJEazVRVGsxTXpsR05VRXpJaUI0YlhCTlRUcEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPalkxT1VOQ01UTkJPRGsyTWpFeFJUWkJRVEkwUkRrNVFUazFNemxHTlVFeklqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZOalU1UTBJeE16YzRPVFl5TVRGRk5rRkJNalJFT1RsQk9UVXpPVVkxUVRNaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk5qVTVRMEl4TXpnNE9UWXlNVEZGTmtGQk1qUkVPVGxCT1RVek9VWTFRVE1pTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo3eUtONUdBQUFBWmtsRVFWUjQybUw0Ly84L0F4b1dCK0lFSUdabVlrQUZja0FjQzhSbmdQZ3ZzZzUxSUM0RllpV1lHRXpDQUlpTGdWZ2EyUW9RWVEvRUJVQXNnbTQveU03L0RMZ0FWSlUrRUpkZ014YUcxYUFPVXNZbUNjS3lVQk4wc1VtQ3NCZ1F4NE1DQVNEQUFIdkJzQXNiR1h6bkFBQUFBRWxGVGtTdVFtQ0NcIikgbm8tcmVwZWF0IDE2cHggY2VudGVyOyB9XG5cbi5idG4uLWRhcmstaG9sbG93LFxuLmJ0bi1pY29uLi1kYXJrLWhvbGxvdyB7XG4gIGZvbnQtZmFtaWx5OiBcIkJlYmFzXCIsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuOSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAsIDEwLCAxMCwgMC4zKTsgfVxuICAuYnRuLi1kYXJrLWhvbGxvdzpob3ZlciwgLmJ0bi4tZGFyay1ob2xsb3c6YWN0aXZlLCAuYnRuLi1kYXJrLWhvbGxvdzpmb2N1cyxcbiAgLmJ0bi1pY29uLi1kYXJrLWhvbGxvdzpob3ZlcixcbiAgLmJ0bi1pY29uLi1kYXJrLWhvbGxvdzphY3RpdmUsXG4gIC5idG4taWNvbi4tZGFyay1ob2xsb3c6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC4zKTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uYnRuLi1icmlnaHQsXG4uYnRuLWljb24uLWJyaWdodCB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTAyLCAwLCAwLjgpOyB9XG4gIC5idG4uLWJyaWdodDpob3ZlciwgLmJ0bi4tYnJpZ2h0OmFjdGl2ZSwgLmJ0bi4tYnJpZ2h0OmZvY3VzLFxuICAuYnRuLWljb24uLWJyaWdodDpob3ZlcixcbiAgLmJ0bi1pY29uLi1icmlnaHQ6YWN0aXZlLFxuICAuYnRuLWljb24uLWJyaWdodDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDEwMiwgMCwgMC45KTsgfVxuXG4uY2xvc2UtYnRuLi13aGl0ZSB7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5jYXRhbG9nLWZpbHRlciB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cblxuLmNhdGFsb2ctdGFibGUge1xuICBmb250LXNpemU6IDAuOHZ3O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHdpZHRoOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDE1MDBweCkge1xuICAgIC5jYXRhbG9nLXRhYmxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxODc1cHgpIHtcbiAgICAuY2F0YWxvZy10YWJsZSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7IH0gfVxuICAuY2F0YWxvZy10YWJsZSB0aGVhZCA+IHRyIHtcbiAgICBib3JkZXI6IDAgc29saWQgI2JiYjtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4OyB9XG4gIC5jYXRhbG9nLXRhYmxlIHRib2R5ID4gdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxMDIsIDAsIDAuMik7IH1cbiAgLmNhdGFsb2ctdGFibGUgdGgge1xuICAgIHBhZGRpbmc6IDEycHggMTBweDsgfVxuICAuY2F0YWxvZy10YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogMTBweDsgfVxuXG4uY2hlY2tib3gtY3VzdG9tIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmNoZWNrYm94LWN1c3RvbV9fY2hlY2tib3gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDsgfVxuXG4uY2hlY2tib3gtY3VzdG9tX19sYWJlbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IDM1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMzVweDsgfVxuXG4uY2hlY2tib3gtY3VzdG9tX19jaGVja2JveCArIC5jaGVja2JveC1jdXN0b21fX2xhYmVsIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogN3B4OyB9XG5cbi5jaGVja2JveC1jdXN0b21fX2NoZWNrYm94OmNoZWNrZWQgKyAuY2hlY2tib3gtY3VzdG9tX19sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGJvcmRlci1jb2xvcjogIzBhMGEwYTsgfVxuXG4uY29udGVudC1iYXJfX21haW4ge1xuICBwYWRkaW5nOiAyNXB4O1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICBtYXgtd2lkdGg6IDM4NXB4OyB9XG5cbi5jb250ZW50LWJhcl9fdGl0bGUge1xuICBmb250LWZhbWlseTogXCJCZWJhc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDM1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxMCwgMTAsIDEwLCAwLjIpOyB9XG5cbi5jb250ZW50LWJhcl9fY29udGVudCB7XG4gIG1heC1oZWlnaHQ6IDM1MHB4OyB9XG4gIC5jb250ZW50LWJhcl9fY29udGVudCAubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNvbnRlbnQtYmFyX19jb250ZW50IC5tQ3VzdG9tU2Nyb2xsQm94ID4gLm1DU0Jfc2Nyb2xsVG9vbHMge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cblxuLmNvbnRlbnQtd3lzaXd5ZyBoMSxcbi5jb250ZW50LXd5c2l3eWcgaDIsXG4uY29udGVudC13eXNpd3lnIGgzLFxuLmNvbnRlbnQtd3lzaXd5ZyBoNCxcbi5jb250ZW50LXd5c2l3eWcgaDUsXG4uY29udGVudC13eXNpd3lnIGg2IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBtYXJnaW46IDE1cHggMDtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmNvbnRlbnQtd3lzaXd5ZyBwIHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLmNvbnRlbnQtYmFyLS1kYXJrIC5jb250ZW50LXd5c2l3eWcgaDEsXG4uY29udGVudC1iYXItLWRhcmsgLmNvbnRlbnQtd3lzaXd5ZyBoMixcbi5jb250ZW50LWJhci0tZGFyayAuY29udGVudC13eXNpd3lnIGgzLFxuLmNvbnRlbnQtYmFyLS1kYXJrIC5jb250ZW50LXd5c2l3eWcgaDQsXG4uY29udGVudC1iYXItLWRhcmsgLmNvbnRlbnQtd3lzaXd5ZyBoNSxcbi5jb250ZW50LWJhci0tZGFyayAuY29udGVudC13eXNpd3lnIGg2IHtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmNvbnRlbnQtYmFyLS1kYXJrIC5jb250ZW50LXd5c2l3eWcgcCB7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5jdXN0b20tc2Nyb2xsZXIgLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAsXG4uY3VzdG9tLXNjcm9sbGVyIC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sXG4uY3VzdG9tLXNjcm9sbGVyIC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsXG4uY3VzdG9tLXNjcm9sbGVyIC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL21DU0JfYnV0dG9ucy5wbmdcIik7XG4gIC8qIGNzcyBzcHJpdGVzICovIH1cblxuLmN1c3RvbS1zY3JvbGxlci0tcmlnaHQgLm1DdXN0b21TY3JvbGxCb3ggPiAubUNTQl9zY3JvbGxUb29scyB7XG4gIGxlZnQ6IDA7IH1cblxuLyouY3VzdG9tLXNjcm9sbGVyIHtcclxuICAubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogMCA0MHB4O1xyXG4gIH1cclxufSovXG4uZWFzeXBpbi1tYXJrZXIge1xuICB6LWluZGV4OiAyMDA7IH1cbiAgLmVhc3lwaW4tbWFya2VyOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTAsIDEwLCAxMCwgMC43KTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjcpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA3cHg7IH1cbiAgLmVhc3lwaW4tbWFya2VyOjphZnRlciB7XG4gICAgY29udGVudDogJysnO1xuICAgIGZvbnQtc2l6ZTogODBweDtcbiAgICBmb250LWZhbWlseTogXCJCZWJhc1wiLCBzYW5zLXNlcmlmO1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMThweDtcbiAgICBsZWZ0OiAzcHg7IH1cbiAgLmVhc3lwaW4tbWFya2VyLmlzLWFjdGl2ZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDJweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLmVhc3lwaW4tbWFya2VyX190ZXh0IHtcbiAgY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC44KTtcbiAgZm9udC1mYW1pbHk6IFwiQmViYXNcIiwgc2Fucy1zZXJpZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0b3A6IDZweDtcbiAgbGVmdDogNTZweDsgfVxuXG4uZWFzeXBpbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAvKiAgbGVmdDogNTAlO1xyXG4gIHRvcDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyovXG4gIHRvcDogMDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3VwbG9hZHMvYmFja2dyb3VuZHMvdGVhbS5qcGdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5lYXN5cGluIC5waW4ge1xuICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDsgfVxuXG4uZmlsdGVyX190aXRsZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC44dnc7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDE1MDBweCkge1xuICAgIC5maWx0ZXJfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxODc1cHgpIHtcbiAgICAuZmlsdGVyX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7IH0gfVxuXG4uZmlsdGVyX19jb250YWluZXItLXJhbmdlIC5maWx0ZXIge1xuICBtYXJnaW46IDE1cHggMDsgfVxuXG4uY29udGVudC1mbGV4c2xpZGVyIHtcbiAgbWF4LXdpZHRoOiAzODVweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLmNvbnRlbnQtZmxleHNsaWRlciAuZmxleC1jb250cm9sLW5hdiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY29udGVudC1mbGV4c2xpZGVyIC5mbGV4LWRpcmVjdGlvbi1uYXYge1xuICAgIHRvcDogNDFweDtcbiAgICByaWdodDogMzBweDtcbiAgICBsZWZ0OiBhdXRvOyB9XG5cbi5mbGV4c2xpZGVyIHtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBtYXJnaW46IDA7IH1cblxuLmZsZXgtZGlyZWN0aW9uLW5hdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA5MHB4O1xuICBsZWZ0OiAyOXB4OyB9XG4gIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtbmF2LXByZXYsXG4gIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtbmF2LW5leHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtbmV4dCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBa0FBQUFPQ0FZQUFBRDlsRGFvQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5WnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNVEV4SURjNUxqRTFPRE15TlN3Z01qQXhOUzh3T1M4eE1DMHdNVG94TURveU1DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRVZ0tGZHBibVJ2ZDNNcElpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qZEJORFZHTXpNMk9EVTFRVEV4UlRaQk1qRTFPRVkxUkRJNE9ERTFPRFEzSWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pkQk5EVkdNek0zT0RVMVFURXhSVFpCTWpFMU9FWTFSREk0T0RFMU9EUTNJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TjBFek1UQkNOakU0TlRWQk1URkZOa0V5TVRVNFJqVkVNamc0TVRVNE5EY2lJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZOMEV6TVRCQ05qSTROVFZCTVRGRk5rRXlNVFU0UmpWRU1qZzRNVFU0TkRjaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6N1k3YmZZQUFBQWprbEVRVlI0Mm1MNC8vOC9BeEN2QW1JWEtCc0R3eGcyUVB3U2lIM3dLUUpoVXlCK0RzU2grQlNCc0I0UVB3WGlXSHlLUUZnRGlCOEJjUVkrUlNDc0NNUjNnYmdJeEdkaHdBN3VBN0U5RU84QlluNG1CdHlBQ1lyLzRMSk9HWWp2QTNFZUxqZHBRaDJlaXN2aGhrRDhESWlqY1FXQk9SQy9BT0lnWElGcEI0MFdUM3pSc2d5SUhYRkZNRUNBQVFDSjMxWDNaN1ZrakFBQUFBQkpSVTVFcmtKZ2dnPT1cIikgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjsgfVxuICAgIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtbmV4dDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1wcmV2IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQWtBQUFBT0NBWUFBQUQ5bERhb0FBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTVRFeElEYzVMakUxT0RNeU5Td2dNakF4TlM4d09TOHhNQzB3TVRveE1Eb3lNQ0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UVWdLRmRwYm1SdmQzTXBJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPamRCTXpFd1FqVkNPRFUxUVRFeFJUWkJNakUxT0VZMVJESTRPREUxT0RRM0lpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qZEJNekV3UWpWRE9EVTFRVEV4UlRaQk1qRTFPRVkxUkRJNE9ERTFPRFEzSWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk4wRXpNVEJDTlRrNE5UVkJNVEZGTmtFeU1UVTRSalZFTWpnNE1UVTRORGNpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2TjBFek1UQkNOVUU0TlRWQk1URkZOa0V5TVRVNFJqVkVNamc0TVRVNE5EY2lMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejV1OUlLTUFBQUFsa2xFUVZSNDJtTDQvLzgvQXc3c0RNU3JRR3hjQ3J5QitBVVEyK0JTRkFyRXo0SFlCQ2FHcmlBV2lKOENzUjZ5T0xLQ2RDQitCTVFhNktiREdJVkFmQStJRmJHNUVVVFVBL0VOSUpiRjVWTW1CZ2FHdjBBTW9oa1pjQUdvNmh3Z3ZnL0V5cmlzZytFVUlINE14SnI0RklGd0ZCQS9BMkpEZklwQU9CQWEydWI0RklHd0p4Qy9CR0k3ZklwQTJCR0lWNERZQUFFR0FGclJjRnczNnVkWEFBQUFBRWxGVGtTdVFtQ0NcIikgbm8tcmVwZWF0IGxlZnQgY2VudGVyOyB9XG4gICAgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1wcmV2OjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuZmxleC1kaXJlY3Rpb24tbmF2IGEge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB3aWR0aDogOXB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG1hcmdpbjogMCA0cHg7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB0b3A6IGF1dG87XG4gICAgei1pbmRleDogMTA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgICAuZmxleC1kaXJlY3Rpb24tbmF2IGE6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4uZmxleC1jb250cm9sLW5hdiB7XG4gIHdpZHRoOiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDEzNXB4O1xuICBsZWZ0OiAyNXB4O1xuICBjb3VudGVyLXJlc2V0OiBzbGlkZS1jb3VudDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAuZmxleC1jb250cm9sLW5hdjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiL1wiIGNvdW50ZXIoc2xpZGUtY291bnQpO1xuICAgIGZvbnQtc2l6ZTogMTlweDsgfVxuICAuZmxleC1jb250cm9sLW5hdiBsaSB7XG4gICAgY291bnRlci1pbmNyZW1lbnQ6IHNsaWRlLWNvdW50O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5mbGV4LWNvbnRyb2wtbmF2IGxpIGEge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAuZmxleC1jb250cm9sLW5hdiBsaSBhLmZsZXgtYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mbGV4c2lkZXItLXJpZ2h0LXNpZGUgLmZsZXgtZGlyZWN0aW9uLW5hdiB7XG4gIGJvdHRvbTogMjVweDtcbiAgcmlnaHQ6IDI1cHg7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogYXV0bzsgfVxuXG4uZmxleHNpZGVyLS1yaWdodC1zaWRlIC5mbGV4LWNvbnRyb2wtbmF2IHtcbiAgYm90dG9tOiAyNXB4O1xuICByaWdodDogNzVweDtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5mbGV4c2lkZXItLWRhcmsgLmZsZXgtY29udHJvbC1uYXYge1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICAuZmxleHNpZGVyLS1kYXJrIC5mbGV4LWNvbnRyb2wtbmF2IGEge1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5mbGV4c2lkZXItLWRhcmsgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1uZXh0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFOQ0FZQUFBQ1V3aTg0QUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5WnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNVEV4SURjNUxqRTFPRE15TlN3Z01qQXhOUzh3T1M4eE1DMHdNVG94TURveU1DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRVZ0tGZHBibVJ2ZDNNcElpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09rSTVRVEl6TnpJMk9EWkdNakV4UlRZNU56aEZSREpCTWpFeU56UTVNVUpGSWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2tJNVFUSXpOekkzT0RaR01qRXhSVFk1TnpoRlJESkJNakV5TnpRNU1VSkZJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2UWpsQk1qTTNNalE0TmtZeU1URkZOamszT0VWRU1rRXlNVEkzTkRreFFrVWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZRamxCTWpNM01qVTROa1l5TVRGRk5qazNPRVZFTWtFeU1USTNORGt4UWtVaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6N1hOeUQ1QUFBQWIwbEVRVlI0Mm1KZ1lHRFFBZUp0UU16RGdBVXdBZkUxSUg0TXhEdUFtSjhCQjJBRTRrbEFmQnFJaFJqd2dDNGdQZy9Fb3ZnVU5RUHhWU0NXd0tlb0VvaHZBTEVjSXg1RlczRDVER2JDVFNDV3grVUdrTmNsU2ZJRkxCek9ZQXNIVUdqT0JPSmp1RUpTRjE5Y0FBUVlBTWQxRWhDeU5jWWFBQUFBQUVsRlRrU3VRbUNDXCIpOyB9XG5cbi5mbGV4c2lkZXItLWRhcmsgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1wcmV2IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFOQ0FZQUFBQ1V3aTg0QUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5WnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNVEV4SURjNUxqRTFPRE15TlN3Z01qQXhOUzh3T1M4eE1DMHdNVG94TURveU1DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRVZ0tGZHBibVJ2ZDNNcElpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09rRkNRamhETXpVd09EWkdNakV4UlRZNFJrRkRRa1l4UmtGR09FTTRORGxESWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2tGQ1FqaERNelV4T0RaR01qRXhSVFk0UmtGRFFrWXhSa0ZHT0VNNE5EbERJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2UVVKQ09FTXpORVU0TmtZeU1URkZOamhHUVVOQ1JqRkdRVVk0UXpnME9VTWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZRVUpDT0VNek5FWTROa1l5TVRGRk5qaEdRVU5DUmpGR1FVWTRRemcwT1VNaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NHhXWFR2QUFBQWZVbEVRVlI0Mm1KZ3dBNjRnSGdERU9zd1laSGtCZUlkUVB3ZWlLK2pTd29DOFFrZ25nYkVqT2lTSWtCOERvaDdzRWxLQXZGVklHN0I1aUI1SUw0SnhKVTRITXh3RElnM011QUJJQk51QVhFRlBrVWdOMXdENGlaOGlrU2h2dWpHNWd2a2NEZ0p4RlB4S2VJRDRzTkFQQStJbVJud3hBWElaOW9BQVFZQVVaRVN4cFpLbkhjQUFBQUFTVVZPUks1Q1lJST1cIik7IH1cblxuLmZvcm0ge1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMjsgfVxuXG4uZm9ybV9fcm93Li1uYXJyb3cge1xuICB3aWR0aDogODAlOyB9XG5cbi5mb3JtX19pbnB1dCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7IH1cbiAgLmZvcm1fX2lucHV0IFt0eXBlPSd0ZXh0J10sIC5mb3JtX19pbnB1dCBbdHlwZT0ncGFzc3dvcmQnXSwgLmZvcm1fX2lucHV0IFt0eXBlPSdkYXRlJ10sIC5mb3JtX19pbnB1dCBbdHlwZT0nZGF0ZXRpbWUnXSwgLmZvcm1fX2lucHV0IFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCAuZm9ybV9faW5wdXQgW3R5cGU9J21vbnRoJ10sIC5mb3JtX19pbnB1dCBbdHlwZT0nd2VlayddLCAuZm9ybV9faW5wdXQgW3R5cGU9J2VtYWlsJ10sIC5mb3JtX19pbnB1dCBbdHlwZT0nbnVtYmVyJ10sIC5mb3JtX19pbnB1dCBbdHlwZT0nc2VhcmNoJ10sIC5mb3JtX19pbnB1dCBbdHlwZT0ndGVsJ10sIC5mb3JtX19pbnB1dCBbdHlwZT0ndGltZSddLCAuZm9ybV9faW5wdXQgW3R5cGU9J3VybCddLCAuZm9ybV9faW5wdXQgW3R5cGU9J2NvbG9yJ10sXG4gIC5mb3JtX19pbnB1dCB0ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgICAuZm9ybV9faW5wdXQgW3R5cGU9J3RleHQnXTpmb2N1cywgLmZvcm1fX2lucHV0IFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCAuZm9ybV9faW5wdXQgW3R5cGU9J2RhdGUnXTpmb2N1cywgLmZvcm1fX2lucHV0IFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCAuZm9ybV9faW5wdXQgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIC5mb3JtX19pbnB1dCBbdHlwZT0nbW9udGgnXTpmb2N1cywgLmZvcm1fX2lucHV0IFt0eXBlPSd3ZWVrJ106Zm9jdXMsIC5mb3JtX19pbnB1dCBbdHlwZT0nZW1haWwnXTpmb2N1cywgLmZvcm1fX2lucHV0IFt0eXBlPSdudW1iZXInXTpmb2N1cywgLmZvcm1fX2lucHV0IFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgLmZvcm1fX2lucHV0IFt0eXBlPSd0ZWwnXTpmb2N1cywgLmZvcm1fX2lucHV0IFt0eXBlPSd0aW1lJ106Zm9jdXMsIC5mb3JtX19pbnB1dCBbdHlwZT0ndXJsJ106Zm9jdXMsIC5mb3JtX19pbnB1dCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgICAuZm9ybV9faW5wdXQgdGV4dGFyZWE6Zm9jdXMge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICAuZm9ybV9faW5wdXQgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIC5mb3JtX19pbnB1dCB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmZvcm1fX2lucHV0IGlucHV0OjpwbGFjZWhvbGRlcixcbiAgLmZvcm1fX2lucHV0IHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNiYmI7IH1cbiAgLmZvcm1fX2lucHV0IGlucHV0OmRpc2FibGVkLCAuZm9ybV9faW5wdXQgaW5wdXRbcmVhZG9ubHldLFxuICAuZm9ybV9faW5wdXQgdGV4dGFyZWE6ZGlzYWJsZWQsXG4gIC5mb3JtX19pbnB1dCB0ZXh0YXJlYVtyZWFkb25seV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5mb3JtX19pbnB1dCBbdHlwZT0nc3VibWl0J10sXG4gIC5mb3JtX19pbnB1dCBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgfVxuICAuZm9ybV9faW5wdXQgaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLmZvcm1fX2lucHV0OmZvY3VzLCAuZm9ybV9faW5wdXQ6YWN0aXZlIHtcbiAgICBib3JkZXI6IDAgc29saWQgI2JiYjtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7IH1cblxuLmZvcm1fX3RleHQtaGlnaHRsaWdodCB7XG4gIGNvbG9yOiAjZWM1ODQwOyB9XG5cbi5mdWxsLXNsaWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtaW4td2lkdGg6IDEwMCU7IH1cbiAgLmZ1bGwtc2xpZGVyIC5mbGV4LXZpZXdwb3J0LFxuICAuZnVsbC1zbGlkZXIgLnNsaWRlcyB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAxMDAlOyB9XG4gIC5mdWxsLXNsaWRlciAuc2xpZGVzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5mdWxsLXNsaWRlciAuc2xpZGVzID4gbGkge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5mdWxsLXNsaWRlcl9faXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZ1bGwtc2xpZGVyX190aXRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDI1cHg7XG4gIGJvdHRvbTogNjBweDtcbiAgZm9udC1mYW1pbHk6IFwiQmViYXNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyNHB4OyB9XG5cbi5nb29nbGUtbWFwcyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLmhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW46IDI1cHg7XG4gIHotaW5kZXg6IDI7IH1cblxuLmljb24tbmF2X19saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5pY29uLW5hdl9faXRlbSB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCA1cHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7IH1cblxuLmljb24tbmF2X19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmljb24tbmF2X19saW5rOmhvdmVyIHtcbiAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gICAgLmljb24tbmF2X19saW5rOmhvdmVyOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgLmljb24tbmF2X19saW5rOmhvdmVyIC5pY29uLW5hdl9fdGV4dCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uaWNvbi1uYXZfX3RleHQge1xuICBmb250LXNpemU6IDlweDtcbiAgZm9udC1mYW1pbHk6IFwiQmViYXNcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaWNvbi1hYm91dDo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChzcHJpdGUucG5nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE4cHggLTI0cHg7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE5cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuM3M7IH1cblxuLmljb24tZ2FsbGVyeTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChzcHJpdGUucG5nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ5cHggMHB4O1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjNzOyB9XG5cbi5pY29uLWNvbnRhY3RzOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHNwcml0ZS5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTI0cHg7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuM3M7IH1cblxuLmltZy1pY29uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5pbWctaWNvbl9faW1hZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmltZy1pY29uX190aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogXCJCZWJhc1wiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4vKiBJb24uUmFuZ2VTbGlkZXIsIFNpbXBsZSBTa2luXHJcbi8vIGNzcyB2ZXJzaW9uIDIuMC4zXHJcbi8vIMKpIERlbmlzIEluZXNoaW4sIDIwMTQgICAgaHR0cHM6Ly9naXRodWIuY29tL0lvbkRlblxyXG4vLyDCqSBndXlib3dkZW4sIDIwMTQgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9ndXlib3dkZW5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gU2tpbiBkZXRhaWxzICovXG4uaXJzIHtcbiAgaGVpZ2h0OiAxOXB4OyB9XG5cbi5pcnMtd2l0aC1ncmlkIHtcbiAgaGVpZ2h0OiAxOXB4OyB9XG5cbi5pcnMtbGluZSB7XG4gIGhlaWdodDogMnB4O1xuICB0b3A6IDExcHg7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cblxuLmlycy1saW5lLWxlZnQge1xuICBoZWlnaHQ6IDJweDsgfVxuXG4uaXJzLWxpbmUtbWlkIHtcbiAgaGVpZ2h0OiAycHg7IH1cblxuLmlycy1saW5lLXJpZ2h0IHtcbiAgaGVpZ2h0OiAycHg7IH1cblxuLmlycy1iYXIge1xuICBoZWlnaHQ6IDJweDtcbiAgdG9wOiAxMXB4O1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhOyB9XG5cbi5pcnMtYmFyLWVkZ2Uge1xuICBoZWlnaHQ6IDJweDtcbiAgdG9wOiAxMXB4O1xuICB3aWR0aDogMTRweDtcbiAgYmFja2dyb3VuZDogIzBhMGEwYTsgfVxuXG4uaXJzLXNoYWRvdyB7XG4gIGhlaWdodDogMnB4O1xuICB0b3A6IDM4cHg7IH1cblxuLmlycy1zbGlkZXIge1xuICB0b3A6IDZweDtcbiAgd2lkdGg6IDExcHg7XG4gIGhlaWdodDogMTFweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmlycy1zbGlkZXIuc3RhdGVfaG92ZXIsIC5pcnMtc2xpZGVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuXG4uaXJzLW1pbiwgLmlycy1tYXgge1xuICBjb2xvcjogIzMzMztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS4zMzM7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDFweCA1cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubHQtaWU5IC5pcnMtbWluLCAubHQtaWU5IC5pcnMtbWF4IHtcbiAgYmFja2dyb3VuZDogI2NjYzsgfVxuXG4uaXJzLWZyb20sIC5pcnMtdG8sIC5pcnMtc2luZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgcGFkZGluZzogMXB4IDVweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5sdC1pZTkgLmlycy1mcm9tLCAubHQtaWU5IC5pcnMtdG8sIC5sdC1pZTkgLmlycy1zaW5nbGUge1xuICBiYWNrZ3JvdW5kOiAjOTk5OyB9XG5cbi5pcnMtZ3JpZCB7XG4gIGhlaWdodDogMjdweDsgfVxuXG4uaXJzLWdyaWQtcG9sIHtcbiAgb3BhY2l0eTogMC41O1xuICBiYWNrZ3JvdW5kOiAjNDI4YmNhOyB9XG5cbi5pcnMtZ3JpZC1wb2wuc21hbGwge1xuICBiYWNrZ3JvdW5kOiAjOTk5OyB9XG5cbi5pcnMtZ3JpZC10ZXh0IHtcbiAgYm90dG9tOiA1cHg7XG4gIGNvbG9yOiAjOTlhNGFjOyB9XG5cbi8qISBmYW5jeUJveCB2Mi4xLjUgZmFuY3lhcHBzLmNvbSB8IGZhbmN5YXBwcy5jb20vZmFuY3lib3gvI2xpY2Vuc2UgKi9cbi5mYW5jeWJveC13cmFwLFxuLmZhbmN5Ym94LXNraW4sXG4uZmFuY3lib3gtb3V0ZXIsXG4uZmFuY3lib3gtaW5uZXIsXG4uZmFuY3lib3gtaW1hZ2UsXG4uZmFuY3lib3gtd3JhcCBpZnJhbWUsXG4uZmFuY3lib3gtd3JhcCBvYmplY3QsXG4uZmFuY3lib3gtbmF2LFxuLmZhbmN5Ym94LW5hdiBzcGFuLFxuLmZhbmN5Ym94LXRtcCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5mYW5jeWJveC13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDgwMjA7IH1cblxuLmZhbmN5Ym94LXNraW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gIGNvbG9yOiAjNDQ0O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuLmZhbmN5Ym94LW9wZW5lZCB7XG4gIHotaW5kZXg6IDgwMzA7IH1cblxuLmZhbmN5Ym94LW9wZW5lZCAuZmFuY3lib3gtc2tpbiB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAxMHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAtbW96LWJveC1zaGFkb3c6IDAgMTBweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYm94LXNoYWRvdzogMCAxMHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi5mYW5jeWJveC1vdXRlciwgLmZhbmN5Ym94LWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mYW5jeWJveC1pbm5lciB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LXR5cGUtaWZyYW1lIC5mYW5jeWJveC1pbm5lciB7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG4uZmFuY3lib3gtZXJyb3Ige1xuICBjb2xvcjogIzQ0NDtcbiAgZm9udDogMTRweC8yMHB4IFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxNXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5mYW5jeWJveC1pbWFnZSwgLmZhbmN5Ym94LWlmcmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5mYW5jeWJveC1pbWFnZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuXG4jZmFuY3lib3gtbG9hZGluZywgLmZhbmN5Ym94LWNsb3NlLCAuZmFuY3lib3gtcHJldiBzcGFuLCAuZmFuY3lib3gtbmV4dCBzcGFuIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ZhbmN5Ym94L2ZhbmN5Ym94X3Nwcml0ZS5wbmdcIik7IH1cblxuI2ZhbmN5Ym94LWxvYWRpbmcge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6IC0yMnB4O1xuICBtYXJnaW4tbGVmdDogLTIycHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEwOHB4O1xuICBvcGFjaXR5OiAwLjg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogODA2MDsgfVxuXG4jZmFuY3lib3gtbG9hZGluZyBkaXYge1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvZmFuY3lib3gvZmFuY3lib3hfbG9hZGluZy5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7IH1cblxuLmZhbmN5Ym94LWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xOHB4O1xuICByaWdodDogLTE4cHg7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogODA0MDsgfVxuXG4uZmFuY3lib3gtbmF2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiA0MCU7XG4gIGhlaWdodDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltZy9mYW5jeWJveC9ibGFuay5naWZcIik7XG4gIC8qIGhlbHBzIElFICovXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHotaW5kZXg6IDgwNDA7IH1cblxuLmZhbmN5Ym94LXByZXYge1xuICBsZWZ0OiAwOyB9XG5cbi5mYW5jeWJveC1uZXh0IHtcbiAgcmlnaHQ6IDA7IH1cblxuLmZhbmN5Ym94LW5hdiBzcGFuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzRweDtcbiAgbWFyZ2luLXRvcDogLTE4cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogODA0MDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5mYW5jeWJveC1wcmV2IHNwYW4ge1xuICBsZWZ0OiAxMHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zNnB4OyB9XG5cbi5mYW5jeWJveC1uZXh0IHNwYW4ge1xuICByaWdodDogMTBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNzJweDsgfVxuXG4uZmFuY3lib3gtbmF2OmhvdmVyIHNwYW4ge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5mYW5jeWJveC10bXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTk5cHg7XG4gIGxlZnQ6IC05OTk5OXB4O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG1heC13aWR0aDogOTk5OTlweDtcbiAgbWF4LWhlaWdodDogOTk5OTlweDtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgfVxuXG4vKiBPdmVybGF5IGhlbHBlciAqL1xuLmZhbmN5Ym94LWxvY2sge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5mYW5jeWJveC1sb2NrIGJvZHkge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuLmZhbmN5Ym94LWxvY2stdGVzdCB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cbi5mYW5jeWJveC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6IDgwMTA7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9mYW5jeWJveC9mYW5jeWJveF9vdmVybGF5LnBuZ1wiKTsgfVxuXG4uZmFuY3lib3gtb3ZlcmxheS1maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDsgfVxuXG4uZmFuY3lib3gtbG9jayAuZmFuY3lib3gtb3ZlcmxheSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLyogVGl0bGUgaGVscGVyICovXG4uZmFuY3lib3gtdGl0bGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGZvbnQ6IG5vcm1hbCAxM3B4LzIwcHggXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB6LWluZGV4OiA4MDUwOyB9XG5cbi5mYW5jeWJveC1vcGVuZWQgLmZhbmN5Ym94LXRpdGxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uZmFuY3lib3gtdGl0bGUtZmxvYXQtd3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogNTAlO1xuICBtYXJnaW4tYm90dG9tOiAtMzVweDtcbiAgei1pbmRleDogODA1MDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mYW5jeWJveC10aXRsZS1mbG9hdC13cmFwIC5jaGlsZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgcGFkZGluZzogMnB4IDIwcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAvKiBGYWxsYmFjayBmb3Igd2ViIGJyb3dzZXJzIHRoYXQgZG9lc24ndCBzdXBwb3J0IFJHQmEgKi9cbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDE1cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCAjMjIyO1xuICBjb2xvcjogI0ZGRjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5mYW5jeWJveC10aXRsZS1vdXRzaWRlLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5mYW5jeWJveC10aXRsZS1pbnNpZGUtd3JhcCB7XG4gIHBhZGRpbmctdG9wOiAxMHB4OyB9XG5cbi5mYW5jeWJveC10aXRsZS1vdmVyLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4vKlJldGluYSBncmFwaGljcyEqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMS41KSwgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpIHtcbiAgI2ZhbmN5Ym94LWxvYWRpbmcsIC5mYW5jeWJveC1jbG9zZSwgLmZhbmN5Ym94LXByZXYgc3BhbiwgLmZhbmN5Ym94LW5leHQgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ZhbmN5Ym94L2ZhbmN5Ym94X3Nwcml0ZUAyeC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA0NHB4IDE1MnB4O1xuICAgIC8qVGhlIHNpemUgb2YgdGhlIG5vcm1hbCBpbWFnZSwgaGFsZiB0aGUgc2l6ZSBvZiB0aGUgaGktcmVzIGltYWdlKi8gfVxuICAjZmFuY3lib3gtbG9hZGluZyBkaXYge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9mYW5jeWJveC9mYW5jeWJveF9sb2FkaW5nQDJ4LmdpZlwiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDtcbiAgICAvKlRoZSBzaXplIG9mIHRoZSBub3JtYWwgaW1hZ2UsIGhhbGYgdGhlIHNpemUgb2YgdGhlIGhpLXJlcyBpbWFnZSovIH0gfVxuXG4vKlxyXG4ubmF2LXN1Ym1lbnUge1xyXG5cclxuXHJcbn0qL1xuLm5hdi1zdWJtZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjAwOyB9XG4gIC5uYXZfX2l0ZW06aG92ZXIgLm5hdi1zdWJtZW51IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubmF2LXN1Ym1lbnVfX2l0ZW0ge1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjJzOyB9XG4gIC5uYXYtc3VibWVudV9faXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjMpOyB9XG5cbi5uYXYtc3VibWVudV9faXRlbSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogOHB4IDE1cHg7IH1cblxuLm5hdiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubmF2OjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IzMTIyZDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7IH1cbiAgLm5hdi4tc3ViOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjMpOyB9XG5cbi5uYXZfX2xpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAgMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLm5hdl9fbGlzdDo6YmVmb3JlLCAubmF2X19saXN0OjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5uYXZfX2xpc3Q6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4ubmF2X19pdGVtIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBcIkJlYmFzXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gIHotaW5kZXg6IDI7IH1cbiAgLm5hdl9faXRlbTpsYXN0LWNoaWxkOm5vdCguLWhhcy1jaGlsZCkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLm5hdl9faXRlbS4taGFzLWNoaWxkIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFjQUFBQUZDQVlBQUFDSm12YllBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1URXhJRGM1TGpFMU9ETXlOU3dnTWpBeE5TOHdPUzh4TUMwd01Ub3hNRG95TUNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVORElESXdNVFVnS0ZkcGJtUnZkM01wSWlCNGJYQk5UVHBKYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2tJd09FTXlRa1l6T0RFM1F6RXhSVFpCTXpZNFJqVkdORGc1TTBaQ05VWkZJaUI0YlhCTlRUcEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPa0l3T0VNeVFrWTBPREUzUXpFeFJUWkJNelk0UmpWR05EZzVNMFpDTlVaRklqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZRakE0UXpKQ1JqRTRNVGRETVRGRk5rRXpOamhHTlVZME9Ea3pSa0kxUmtVaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNlFqQTRRekpDUmpJNE1UZERNVEZGTmtFek5qaEdOVVkwT0RrelJrSTFSa1VpTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo3bk9yM3pBQUFBVlVsRVFWUjQybUw4Ly84L0t3TURBd2gvWTBBQUxpRCt3d1FrZElBNEhpb0FBcHhBSEFmRXVpREo4MEI4RzRoamdKZ2ZTdDhENHJPTVFHTmhSbmtDc1RFUW53UGliV0FSa0NRVWd4VHFRV213R0VDQUFRQnpVaVJueUlua1p3QUFBQUJKUlU1RXJrSmdnZz09XCIpIG5vLXJlcGVhdCByaWdodCBjZW50ZXI7IH1cblxuLm5hdl9faXRlbSA+IGEsXG4ubmF2X19pdGVtID4gc3BhbiB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgbGluZS1oZWlnaHQ6IDQ2cHg7IH1cblxuLm5hdl9faXRlbS4taGFzLWNoaWxkID4gYSB7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cblxuLm5hdl9fY2xvc2Uge1xuICBtYXJnaW4tbGVmdDogMTdweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBtYXJnaW4tdG9wOiAycHg7IH1cblxuLm5hdmlnYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5vZmZpY2UtcHJldmlldy1nYWxsZXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4ub2ZmaWNlLXByZXZpZXctZ2FsbGVyeV9faXRlbSB7XG4gIGZsZXgtYmFzaXM6IDUwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjVzOyB9XG4gIC5vZmZpY2UtcHJldmlldy1nYWxsZXJ5X19pdGVtOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjUpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC41czsgfVxuICAub2ZmaWNlLXByZXZpZXctZ2FsbGVyeV9faXRlbTpob3Zlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cblxuLm9yZGVyLWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4ub3JkZXItYmxvY2stLWlubGluZSB7XG4gIGZvbnQtc2l6ZTogMDsgfVxuICAub3JkZXItYmxvY2stLWlubGluZSAub3JkZXItYmxvY2tfX2J0biB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDM1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDM1cHg7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9XG4gICAgLm9yZGVyLWJsb2NrLS1pbmxpbmUgLm9yZGVyLWJsb2NrX19idG46bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDsgfVxuXG4ub3JkZXItYmxvY2tfX2J0biB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjQpO1xuICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgMThweCBjZW50ZXI7IH1cblxuLm9yZGVyLWJsb2NrX19idG4tLXBob25lIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5WnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNVEV4SURjNUxqRTFPRE15TlN3Z01qQXhOUzh3T1M4eE1DMHdNVG94TURveU1DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRVZ0tGZHBibVJ2ZDNNcElpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qaEJRelJEUVRnelFVWkRRekV4UlRaQ1FURXhSVVU0UXpCR09VSTNSa00wSWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2poQlF6UkRRVGcwUVVaRFF6RXhSVFpDUVRFeFJVVTRRekJHT1VJM1JrTTBJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2T0VGQk5UVkNNelpCUmtORE1URkZOa0pCTVRGRlJUaERNRVk1UWpkR1F6UWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZPRUZETkVOQk9ESkJSa05ETVRGRk5rSkJNVEZGUlRoRE1FWTVRamRHUXpRaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NXVyaFJCQUFBQ0hFbEVRVlI0MnV5VlFVaVVRUlRIM2RMcTFrR04wSXQ0Q1BhbWZTdDFLUlhUUzBIVWlxQUlJdEpKSVQyb04xTlBnZ2NWNmhRUmdSQkVKcm5yUmRGU0x3YTcxczFMaUNDQzVIb1FPbFNhMisvQmYybjgvRnowNE0wSFAyYm16WnYzNXB2M1pyNVFPcDNPT1VzSm5RYzRkWUJJSkhLc3JXOGN1TE5FSW5Gb2ZDRkw4Q3ZRREpPUWdnTWZLYzAxeXpaUWdnTGtRUTlzUUQ5OGh5YTRwcThJcWQra3VYN1o5bWp0OFFFNEhvOG1DWTNRQmplZ0Y0cTAyNTlpVXJwZTJiUnBUVkkramdaZ29vRm1IdDVBQlV4cFJ6RVlnampjRTNIcFlyS1owaHBiT3k5Zi81T013cUsvZ0lldzVHemdPZFJBTld6NXZ2NDZmSUk1NkhEMGQrQWp0SlB3dHlIUDg4b1lMRUlkaW1XbmlvcGhIVzdCaW5RRmFsTnFiOElYS0lITlRCWGg0emJkR2JoclJ6UUt3K2JjdDhOYVdIV2MzNWVUVGZWek5MY3FXN2RVemRldytiWUFsVXFhWDZ4UzFweHhGQzZKcUtOZms2MWZ6R2VsQlZpQVJ3RUdQNkRVR1UvQUh6SGg2RXRsNnhmenVXQUJPcUZiNStiS0xJUjF6aWJUeWt1eCtwa2NoR1hybHJ2NTZqYmZaMTlGbWJkSXRmc1NCbUVNOXVFeWZBQlB4ZkJaVHFyMDVYWXBIOE52eUlXbjBBZFBjUDd1eUdPblcvZ2Evc0l6WFNpVEZ0M1dNbzIvd1N0ZExKTUhNQUFYb1JYbnlXeXZxZDNNTHAzaHJxckJ6dmdyYk11c0VNcFZucGJNcXlyTEVaenZuZlM1dGhleVhpVnA1NXJ2eThHTzhtVVY5UjUrQlQzWHVWbWVhMXN3TGs3OFB6ai9KNTlhL2drd0FGQlh4WlBjVk1YYUFBQUFBRWxGVGtTdVFtQ0NcIik7IH1cbiAgLm9yZGVyLWJsb2NrX19idG4tLXBob25lLi1saWdodCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5WnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNVEV4SURjNUxqRTFPRE15TlN3Z01qQXhOUzh3T1M4eE1DMHdNVG94TURveU1DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRVZ0tGZHBibVJ2ZDNNcElpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qVTBNVFZFTnpWQk9FRXhPREV4UlRZNU9UTXdSa1V5UmpJNVJFVTROVFpHSWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pVME1UVkVOelZDT0VFeE9ERXhSVFk1T1RNd1JrVXlSakk1UkVVNE5UWkdJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TlRReE5VUTNOVGc0UVRFNE1URkZOams1TXpCR1JUSkdNamxFUlRnMU5rWWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZOVFF4TlVRM05UazRRVEU0TVRGRk5qazVNekJHUlRKR01qbEVSVGcxTmtZaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NDZBbXlwQUFBQXAwbEVRVlI0Mm1MNC8vOC9BeGJzQWNSUC9oTUhua0RWWXpPSGdSRkVZQUZQZ0hnMkVDOWtJQXppZ1RnVmlHV3d5dUt3R1FRVWlEQWNwRllCcWg2cldTeDQ5SzRBS3ZoQmhCMGMrQ1R4V2JBR2lOOFFZWUVJRUp2ajh5Sk5nNGlKZ2NaZzFJSlJDMFl0R0xWZ01GaUFyN2dPQVphR3hCYlg1RmtBeEJSWE9FVFhCMEErQ3hBdkE5SFVxREtmZ2lwem9BTDBTdjhJcUhKSGF5akVROVdUNUFPcU5Wc0FBZ3dBNUFwWlVpVUNqZVFBQUFBQVNVVk9SSzVDWUlJPVwiKTsgfVxuXG4ub3JkZXItYmxvY2tfX2J0bi0tc2NhbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTVRFeElEYzVMakUxT0RNeU5Td2dNakF4TlM4d09TOHhNQzB3TVRveE1Eb3lNQ0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UVWdLRmRwYm1SdmQzTXBJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPamhCUVRVMVFqSkRRVVpEUXpFeFJUWkNRVEV4UlVVNFF6QkdPVUkzUmtNMElpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qaEJRVFUxUWpKRVFVWkRRekV4UlRaQ1FURXhSVVU0UXpCR09VSTNSa00wSWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk9FRTRPVGsxTmtSQlJrTkRNVEZGTmtKQk1URkZSVGhETUVZNVFqZEdRelFpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2T0VFNE9UazFOa1ZCUmtORE1URkZOa0pCTVRGRlJUaERNRVk1UWpkR1F6UWlMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejRKcHZ3WUFBQUEyRWxFUVZSNDJtTDgvLzgvQXpvd01URmhCVktiZ2RnRmlKa1o4SU8vUUx3SGlIM1BuRG56RzEyU0JZY21IU0NXQkdKOUlQNUt3QUp1SUY0TzFYT2VXQXY0Z0hnVDBFVlhHWWdBUUIvdmcrcGhJTllDRUlnRmFyUmxJQTZvQVBGNlVpMjRBTVFiaUxRZ0NwY0VYZ3VBUWJTQXlDQXl3Q1hIeEVCak1HckJxQVdqRm94YU1CZ3N3RmVhR2dCTHlRUWl6ZEVpcHo0QUZjRUNKRlE0SlB0Z01iQStxRVVyOTZOQk5GQjhLWnI0QkZJdCtBUnFKUUExcmtDcjlOOUFEVlJBcS9TZGdIZ2hLUlpjQWVJWFFIeVJoR2JMRld5U0FBRUdBSW5xTVgraTlYVTVBQUFBQUVsRlRrU3VRbUNDXCIpOyB9XG4gIC5vcmRlci1ibG9ja19fYnRuLS1zY2FuLi1saWdodCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCa0FBQUFZQ0FZQUFBQVB0VmJHQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5WnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNVEV4SURjNUxqRTFPRE15TlN3Z01qQXhOUzh3T1M4eE1DMHdNVG94TURveU1DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRVZ0tGZHBibVJ2ZDNNcElpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qQkZNakUxUWpkQ09EazJNREV4UlRaQlF6UTFPRGd5UWtaQk1EUXdSVGxGSWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pCRk1qRTFRamRET0RrMk1ERXhSVFpCUXpRMU9EZ3lRa1pCTURRd1JUbEZJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TUVVeU1UVkNOems0T1RZd01URkZOa0ZETkRVNE9ESkNSa0V3TkRCRk9VVWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZNRVV5TVRWQ04wRTRPVFl3TVRGRk5rRkRORFU0T0RKQ1JrRXdOREJGT1VVaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NGhvbHpWQUFBQmFFbEVRVlI0MnV6VnNVc0NVUnpBOFM2RFFBbGFJbkE2b1VWd2FMT2hSY2xRSVFlN3ZiWC9vTm10dy84aVI2MC9JS1NXaHNad3FTSG9IRVBLYUNxWDYvdmtkL0Y0UGNVQ2I4a0hIKzdlNzM3djl6dTVlNmNUaHVIU3ZJZXphUEtic1RMdTVEZ1RFN2lKSFE1MTdDS0xkYm4waG52YzRJSWF0MU4vaWRtRW1Bb2M0Z1JidUVRWGR4aEkyZ2Eyc1lkOVBNTEhPZlZDczZBNXo2Q0xQbzZSa25nWmJUd0lkVjZXYXluSjdjdmF6TVFtbkpmd2dsTWtKWmJBR2Q3UnhJRm9Ta3hkUzBodVV0YXFHcVVmVFRqVzhJcUtjUk0rbnVCYW5wY3IxM3dqWHBGYXRlOG15R0dJb3BHY3hnaDVMYmFtYVBPODVLU050VVdwbVl1YVhLRmh1ZE1qOUxSNUZSK2lxc1Y3S3RleXZxRnFMOHU4Z0xibDdkdEVvTTA5ckFwUGl3ZVNhdzVWc3hBMXVUWVdSZU1aK3JQbzRGTjB0TGdydWVid3hyVmpleWF4dkYwejdKUFdsSDNTbW5tZldIWjg4SWNkSDloMmZDemZMbXVUdVh5RkYvK00vNi9KbHdBREFJREhPcHF1bjl3QUFBQUFBRWxGVGtTdVFtQ0NcIik7IH1cblxuLm9yZGVyLWJsb2NrLS1kZXRhaWxzIC5vcmRlci1ibG9ja19fYnRuIHtcbiAgcGFkZGluZzogMjBweCAzNXB4IDIwcHggNjBweDtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIGJvcmRlci1jb2xvcjogIzY2NjtcbiAgY29sb3I6ICM2NjY7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuLnBhZ2UtdGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LWZhbWlseTogXCJCZWJhc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuLnBob25lLWFsZXJ0IHtcbiAgbWFyZ2luOiA0MHB4IDI1cHggMjVweDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogNjBweDtcbiAgcGFkZGluZzogMThweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzMTIyZDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3gtc2hhZG93OiAwIDAgNXB4IDI1cHggcmdiYSgxNzksIDE4LCA0NSwgMC4xNSk7IH1cbiAgLnBob25lLWFsZXJ0OjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHNwcml0ZS5wbmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNXB4IDBweDtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnBob25lLWFsZXJ0OmhvdmVyIHtcbiAgICBhbmltYXRpb246IHB1bHNlIDJzIGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAxNHB4IHJnYmEoMTc5LCAxOCwgNDUsIDAuMTUpOyB9XG4gIDUwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAyNXB4IHJnYmEoMTc5LCAxOCwgNDUsIDAuMjUpOyB9XG4gIDEwMCUge1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggMTRweCByZ2JhKDE3OSwgMTgsIDQ1LCAwLjE1KTsgfSB9XG5cbi5waG9uZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4ucmFuZ2Utc2xpZGVyIHtcbiAgZm9udC1zaXplOiAwLjh2dztcbiAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTYyNXB4KSB7XG4gICAgLnJhbmdlLXNsaWRlciB7XG4gICAgICBmb250LXNpemU6IDEzcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMjAwMHB4KSB7XG4gICAgLnJhbmdlLXNsaWRlciB7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICAubm8tanMgLnJhbmdlLXNsaWRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ucmFuZ2Utc2xpZGVyX19pbnB1dCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgZm9udC1zaXplOiAwLjh2dztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwYWRkaW5nOiAwIDZweDtcbiAgaGVpZ2h0OiAxOXB4O1xuICB3aWR0aDogNDZweDtcbiAgd2lkdGg6IDZjaDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTYyNXB4KSB7XG4gICAgLnJhbmdlLXNsaWRlcl9faW5wdXQge1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE4NzVweCkge1xuICAgIC5yYW5nZS1zbGlkZXJfX2lucHV0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDsgfSB9XG4gIC5yYW5nZS1zbGlkZXJfX2lucHV0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLnJlbnQtcHJpY2Uge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5yZW50LXByaWNlLi1sYXJnZSB7XG4gICAgZm9udC1zaXplOiAzNXB4OyB9XG4gIC5yZW50LXByaWNlLi1tZWRpdW0ge1xuICAgIGZvbnQtc2l6ZTogMjhweDsgfVxuICAucmVudC1wcmljZS4tc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMjVweDsgfVxuICAucmVudC1wcmljZTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5yZW50LXByaWNlX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICM2NjY7XG4gIG1hcmdpbi1ib3R0b206IDdweDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJob21idXMtcGhvdG8ge1xuICB3aWR0aDogMTMwcHg7XG4gIGhlaWdodDogMTMwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5yaG9tYnVzLXBob3RvID4gaW1nIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC01MnB4O1xuICBsZWZ0OiAyN3B4O1xuICB3aWR0aDogMTUwJTtcbiAgbWF4LXdpZHRoOiAyMDAlOyB9XG5cbi5zaWRlLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLmV4dHJhLW5hdiB7XG4gIG9yZGVyOiAtMTsgfVxuXG4uc2lkZWJhci0td2l0aC1pbWFnZSB7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBsZWZ0IHRvcCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuc2lkZWJhci0td2l0aC1pbWFnZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjcpOyB9XG5cbi5zaWRlYmFyX19jb250ZW50IHtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4udGVhbS1tZW1iZXIge1xuICBib3R0b206IDEwMCUgIWltcG9ydGFudDtcbiAgbGVmdDogLTQ3cHg7XG4gIG1hcmdpbjogMCAwIDhweDtcbiAgcGFkZGluZzogMDsgfVxuXG4udGVhbS1tZW1iZXJfX3Bob3RvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDI3cHg7IH1cblxuLnRlYW0tbWVtYmVyX19kZXNjciB7XG4gIG1hcmdpbi1sZWZ0OiA2NXB4O1xuICBwYWRkaW5nOiAyNXB4IDI1cHggMjVweCAxMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjc1KTtcbiAgaGVpZ2h0OiAxODRweDtcbiAgbWluLXdpZHRoOiAzMDBweDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLnRlYW0tbWVtYmVyX19uYW1lIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjcpOyB9XG5cbi50ZWFtLW1lbWJlcl9fc3VybmFtZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRlYW0tbWVtYmVyX19wb3NpdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkJlYmFzXCIsIHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNyk7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7IH1cblxuLnRlYW0tbWVtYmVyX19jb250YWN0cyB7XG4gIGZvbnQtZmFtaWx5OiBcIkJlYmFzXCIsIHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7IH1cbiAgLnRlYW0tbWVtYmVyX19jb250YWN0cyA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50aXRsZXMtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuXG4udGl0bGVzLWxpc3RfX2l0ZW0ge1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjYpO1xuICBwYWRkaW5nOiAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAudGl0bGVzLWxpc3RfX2l0ZW06aG92ZXIge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC50aXRsZXMtbGlzdF9faXRlbTpub3QoLmlzLWFjdGl2ZSk6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjYpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDsgfVxuICAudGl0bGVzLWxpc3RfX2l0ZW0uaXMtYWN0aXZlIHtcbiAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQU5DQVlBQUFDVXdpODRBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1URXhJRGM1TGpFMU9ETXlOU3dnTWpBeE5TOHdPUzh4TUMwd01Ub3hNRG95TUNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVORElESXdNVFVnS0ZkcGJtUnZkM01wSWlCNGJYQk5UVHBKYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2psRlJqRTROVFUyT0RRNU5qRXhSVFpDUTBNNVFqYzRRVUkxUmtVd04wWTRJaUI0YlhCTlRUcEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPamxGUmpFNE5UVTNPRFE1TmpFeFJUWkNRME01UWpjNFFVSTFSa1V3TjBZNElqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZPVVZHTVRnMU5UUTRORGsyTVRGRk5rSkRRemxDTnpoQlFqVkdSVEEzUmpnaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk9VVkdNVGcxTlRVNE5EazJNVEZGTmtKRFF6bENOemhCUWpWR1JUQTNSamdpTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo2RWVNaVRBQUFBaDBsRVFWUjQybUw0Ly84L0F4QWJBckV3bEkyQ1FZUXFFUDhENHJ0QUxJTk5BUWNRbi9nUEFiZUJXQnBkQVFqekEvRnBxS0liUUN5SnJnQ0VCWUg0SEZUUk5TQVdRMWNBd2lKQWZCR3E2REtJejRERjVacEEvQmVxcUFCZEV0MGFVV1JKckE1RmxqeUp6YXNnZ2gySWowSWxNUUlMT1NRZkFMRTh0cEFFWVRPWXY5RXhRSUFCQU1ZMFZJT0tJVzBUQUFBQUFFbEZUa1N1UW1DQ1wiKSBuby1yZXBlYXQgMCAyNXB4OyB9XG5cbi50aXRsZXMtbGlzdF9fbmFtZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMS4zOyB9XG4gIC50aXRsZXMtbGlzdF9faXRlbS5pcy1hY3RpdmUgLnRpdGxlcy1saXN0X19uYW1lIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MHB4OyB9XG5cbi50aXRsZXMtbGlzdF9fbGluayB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luLXJpZ2h0OiAtNzBweDsgfVxuICAudGl0bGVzLWxpc3RfX2l0ZW0uaXMtYWN0aXZlIC50aXRsZXMtbGlzdF9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC42KTsgfVxuXG4vKiBObyBmaWxlcyB0byBpbXBvcnQgZm91bmQgaW4gcGFydGlhbHMvLyoqL1xuLyouc2NzcyAqL1xuLmNvbnRhY3RzIHtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICBtYXgtd2lkdGg6IDM4NXB4OyB9XG5cbi5jb250YWN0c19fdGl0bGUge1xuICBmb250LWZhbWlseTogXCJCZWJhc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JiYjsgfVxuXG4uY29udGFjdHNfX2FkZHJlc3Mge1xuICBmb250LWZhbWlseTogXCJCZWJhc1wiLCBzYW5zLXNlcmlmO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5jb250YWN0c19fZW1haWwge1xuICBmb250LWZhbWlseTogXCJCZWJhc1wiLCBzYW5zLXNlcmlmO1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNiYmI7IH1cblxuLmNvbnRhY3RzLWNhbGxfX2l0ZW0ge1xuICBmb250LWZhbWlseTogXCJCZWJhc1wiLCBzYW5zLXNlcmlmO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5jb250YWN0cy1jYWxsX190aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkJlYmFzXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY29udGFjdHMtY2FsbF9fcGhvbmUge1xuICBmb250LWZhbWlseTogXCJCZWJhc1wiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogI2JiYjsgfVxuICAuY29udGFjdHMtY2FsbF9fcGhvbmUgPiBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4uaG9tZS1leHRyYS1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmhvbWUtZm9vdGVyIHtcbiAgZm9udC1zaXplOiAwO1xuICBtYXJnaW46IDI1cHg7IH1cblxuLmhvbWUtZm9vdGVyX19sb2dvLFxuLmhvbWUtZm9vdGVyX19saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG5cbi5ob21lLWZvb3Rlcl9fbG9nbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAuaG9tZS1mb290ZXJfX2xvZ286OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogNDdweDtcbiAgICB0cmFuc2Zvcm06IHNrZXdZKC0yOWRlZyk7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAtN3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC4zKTtcbiAgICB6LWluZGV4OiAxOyB9XG5cbi5ob21lLWZvb3Rlcl9fbGluayB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIG1hcmdpbi1sZWZ0OiAtMjVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyOyB9XG4gIC5ob21lLWZvb3Rlcl9fbGluayA+IGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICBsaW5lLWhlaWdodDogNDdweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDczLCA2NiwgNjAsIDAuODUpOyB9XG4gICAgLmhvbWUtZm9vdGVyX19saW5rID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDczLCA2NiwgNjAsIDAuOTUpOyB9XG5cbi5tb3R0byB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5tb3R0by4tb3Zlci1jb250ZW50IHtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLm1vdHRvX190aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogNTZweDsgfVxuXG4ubW90dG9fX3N1YiB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubW90dG9fX3N1YjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogM3B4O1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIHRvcDogLTZweDsgfVxuXG4ucmVudC1zaG9ydCB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIHdpZHRoOiAyNjBweDtcbiAgei1pbmRleDogMTsgfVxuICAucmVudC1zaG9ydC4td2lkZXIge1xuICAgIHdpZHRoOiAzODVweDsgfVxuXG4ucmVudC1zaG9ydF9faGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU0LCAyNTQsIDI1NCwgMC40KTtcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgLnJlbnQtc2hvcnRfX2hlYWRlcjo6YmVmb3JlLCAucmVudC1zaG9ydF9faGVhZGVyOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5yZW50LXNob3J0X19oZWFkZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucmVudC1zaG9ydF9faGVhZGVyLi1uby1ib3R0b20tc3BhY2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnJlbnQtc2hvcnRfX3RpdGxlIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiBcIkJlYmFzXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgcGFkZGluZy1sZWZ0OiAxMi41cHg7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5yZW50LXNob3J0X19oZWFkZXItYnRuIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5yZW50X19wcmljZXMge1xuICBwYWRkaW5nOiAwIDI1cHggMjVweDsgfVxuXG4ucmVudF9fZm9vdGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgei1pbmRleDogMTsgfVxuXG4ucmVudC1tYWluIHtcbiAgcGFkZGluZzogMjVweCAzNXB4OyB9XG5cbi5iYy1zaG9ydC1pY29ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGZsZXg6IDEgMCA3NC4zNTg5NyU7IH1cblxuLmJjLXNob3J0LWljb25zX19pdGVtIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmbGV4OiAwIDEgMzEuNjIzOTMlO1xuICBtYXJnaW4tcmlnaHQ6IDIuNTY0MSU7XG4gIHBhZGRpbmctYm90dG9tOiAxMnB4OyB9XG4gIC5iYy1zaG9ydC1pY29uc19faXRlbTpudGgtY2hpbGQoM24pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmJjLXNob3J0LWljb25zX19pbWcge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5vZmZpY2VfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLm9mZmljZV9faGVhZGVyLi1zbWFsbC1vZmZzZXQge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLmJjLXNlbGVjdF9fd3JhcCB7XG4gIGZsZXg6IDAgMSAyMy4wNzY5MiU7XG4gIG1hcmdpbi1yaWdodDogMi41NjQxJTsgfVxuXG4ub2ZmaWNlX19jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAub2ZmaWNlX19jb250ZW50IC5sLWNvbCB7XG4gICAgZmxleDogMSAwIDU3LjI2NDk2JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIuNTY0MSU7XG4gICAgbWF4LXdpZHRoOiA2MDBweDsgfVxuICAub2ZmaWNlX19jb250ZW50IC5yLWNvbCB7XG4gICAgZmxleDogMSAwIDQwLjE3MDk0JTsgfVxuXG4ub2ZmaWNlX19kZXRhaWxzIHtcbiAgbWFyZ2luLXRvcDogNTBweDsgfVxuXG4uY2hhcmFjdGVyaXN0aWNzX190aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkJlYmFzXCIsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjZWM1ODQwOyB9XG5cbi5jaGFyYWN0ZXJpc3RpY3NfX2xpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgd2lkdGg6IDU3LjI2NDk2JTsgfVxuXG4uY2hhcmFjdGVyaXN0aWNzX19pdGVtIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmbGV4OiAxIDAgNDguNzE3OTUlO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5jaGFyYWN0ZXJpc3RpY3NfX2l0ZW06bnRoLWNoaWxkKDJuKzEpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIuNTY0MSU7IH1cblxuLmNoYXJhY3RlcmlzdGljc19faXRlbS10aXRsZSB7XG4gIGNvbG9yOiAjNjY2O1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxuLmNvbnRhY3QtZGF0YV9fdGl0bGUge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDE5cHg7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi5jb250YWN0LWRhdGFfX3Bob25lIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBjb2xvcjogI2VjNTg0MDsgfVxuXG4uYWR2YW50YWdlcy1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uYWR2YW50YWdlcy1saXN0X19pdGVtIHtcbiAgd2lkdGg6IDE1MHB4O1xuICBtYXJnaW46IDQwcHg7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5hZHZhbnRhZ2VzLWxpc3RfX2l0ZW06bnRoLWNoaWxkKDJuICsxKSB7XG4gICAgY2xlYXI6IGxlZnQ7IH1cbiIsIi8qKlxyXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbiAqIFZlcnNpb24gNi4yLjRcclxuICogZm91bmRhdGlvbi56dXJiLmNvbVxyXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuICovXHJcblxyXG4vLyBTYXNzIHV0aWxpdGllc1xyXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xyXG5cclxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcblxyXG4vLyBDb21wb25lbnRzXHJcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XHJcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XHJcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcclxuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4LXZpZGVvJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcclxuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoJGZsZXg6IGZhbHNlKSB7XHJcbiAgQGlmICRmbGV4IHtcclxuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xyXG4gIEBpZiBub3QgJGZsZXgge1xyXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcclxuICB9XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC12aWRlbztcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcclxuXHJcbiAgQGlmICRmbGV4IHtcclxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xyXG4gIH1cclxufVxyXG4iLCIvKlxyXG49PSBtYWxpaHUganF1ZXJ5IGN1c3RvbSBzY3JvbGxiYXIgcGx1Z2luID09XHJcblBsdWdpbiBVUkk6IGh0dHA6Ly9tYW5vcy5tYWxpaHUuZ3IvanF1ZXJ5LWN1c3RvbS1jb250ZW50LXNjcm9sbGVyXHJcbiovXHJcblxyXG5cclxuXHJcbi8qXHJcbkNPTlRFTlRTOiBcclxuXHQxLiBCQVNJQyBTVFlMRSAtIFBsdWdpbidzIGJhc2ljL2Vzc2VudGlhbCBDU1MgcHJvcGVydGllcyAobm9ybWFsbHksIHNob3VsZCBub3QgYmUgZWRpdGVkKS4gXHJcblx0Mi4gVkVSVElDQUwgU0NST0xMQkFSIC0gUG9zaXRpb25pbmcgYW5kIGRpbWVuc2lvbnMgb2YgdmVydGljYWwgc2Nyb2xsYmFyLiBcclxuXHQzLiBIT1JJWk9OVEFMIFNDUk9MTEJBUiAtIFBvc2l0aW9uaW5nIGFuZCBkaW1lbnNpb25zIG9mIGhvcml6b250YWwgc2Nyb2xsYmFyLlxyXG5cdDQuIFZFUlRJQ0FMIEFORCBIT1JJWk9OVEFMIFNDUk9MTEJBUlMgLSBQb3NpdGlvbmluZyBhbmQgZGltZW5zaW9ucyBvZiAyLWF4aXMgc2Nyb2xsYmFycy4gXHJcblx0NS4gVFJBTlNJVElPTlMgLSBDU1MzIHRyYW5zaXRpb25zIGZvciBob3ZlciBldmVudHMsIGF1dG8tZXhwYW5kZWQgYW5kIGF1dG8taGlkZGVuIHNjcm9sbGJhcnMuIFxyXG5cdDYuIFNDUk9MTEJBUiBDT0xPUlMsIE9QQUNJVFkgQU5EIEJBQ0tHUk9VTkRTIFxyXG5cdFx0Ni4xIFRIRU1FUyAtIFNjcm9sbGJhciBjb2xvcnMsIG9wYWNpdHksIGRpbWVuc2lvbnMsIGJhY2tncm91bmRzIGV0Yy4gdmlhIHJlYWR5LXRvLXVzZSB0aGVtZXMuXHJcbiovXHJcblxyXG5cclxuXHJcbi8qIFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuMS4gQkFTSUMgU1RZTEUgIFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuKi9cclxuXHJcblx0Lm1DdXN0b21TY3JvbGxiYXJ7IC1tcy10b3VjaC1hY3Rpb246IHBpbmNoLXpvb207IHRvdWNoLWFjdGlvbjogcGluY2gtem9vbTsgLyogZGlyZWN0IHBvaW50ZXIgZXZlbnRzIHRvIGpzICovIH1cclxuXHQubUN1c3RvbVNjcm9sbGJhci5tQ1Nfbm9fc2Nyb2xsYmFyLCAubUN1c3RvbVNjcm9sbGJhci5tQ1NfdG91Y2hfYWN0aW9ueyAtbXMtdG91Y2gtYWN0aW9uOiBhdXRvOyB0b3VjaC1hY3Rpb246IGF1dG87IH1cclxuXHRcclxuXHQubUN1c3RvbVNjcm9sbEJveHsgLyogY29udGFpbnMgcGx1Z2luJ3MgbWFya3VwICovXHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0b3V0bGluZTogbm9uZTtcclxuXHRcdGRpcmVjdGlvbjogbHRyO1xyXG5cdH1cclxuXHJcblx0Lm1DU0JfY29udGFpbmVyeyAvKiBjb250YWlucyB0aGUgb3JpZ2luYWwgY29udGVudCAqL1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxuXHJcblxyXG5cclxuLyogXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4yLiBWRVJUSUNBTCBTQ1JPTExCQVIgXHJcbnktYXhpc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuKi9cclxuXHJcblx0Lm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVyeyBtYXJnaW4tcmlnaHQ6IDMwcHg7IH1cclxuXHJcblx0Lm1DU0JfY29udGFpbmVyLm1DU19ub19zY3JvbGxiYXJfeS5tQ1NfeV9oaWRkZW57IG1hcmdpbi1yaWdodDogMDsgfSAvKiBub24tdmlzaWJsZSBzY3JvbGxiYXIgKi9cclxuXHRcclxuXHQubUNTLWRpci1ydGwgPiAubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXJ7IC8qIFJUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDMwcHg7XHJcblx0fVxyXG5cdFxyXG5cdC5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVueyBtYXJnaW4tbGVmdDogMDsgfSAvKiBSVEwgZGlyZWN0aW9uL2xlZnQtc2lkZSBzY3JvbGxiYXIgKi9cclxuXHJcblx0Lm1DU0Jfc2Nyb2xsVG9vbHN7IC8qIGNvbnRhaW5zIHNjcm9sbGJhciBtYXJrdXAgKGRyYWdnYWJsZSBlbGVtZW50LCBkcmFnZ2VyIHJhaWwsIGJ1dHRvbnMgZXRjLikgKi9cclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiAxNnB4O1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0bGVmdDogYXV0bztcclxuXHRcdHRvcDogMDtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdH1cclxuXHJcblx0Lm1DU0Jfb3V0c2lkZSArIC5tQ1NCX3Njcm9sbFRvb2xzeyByaWdodDogLTI2cHg7IH0gLyogc2Nyb2xsYmFyIHBvc2l0aW9uOiBvdXRzaWRlICovXHJcblx0XHJcblx0Lm1DUy1kaXItcnRsID4gLm1DU0JfaW5zaWRlID4gLm1DU0Jfc2Nyb2xsVG9vbHMsIFxyXG5cdC5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX291dHNpZGUgKyAubUNTQl9zY3JvbGxUb29sc3sgLyogUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXHJcblx0XHRyaWdodDogYXV0bztcclxuXHRcdGxlZnQ6IDA7XHJcblx0fVxyXG5cdFxyXG5cdC5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX291dHNpZGUgKyAubUNTQl9zY3JvbGxUb29sc3sgbGVmdDogLTI2cHg7IH0gLyogUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyIChzY3JvbGxiYXIgcG9zaXRpb246IG91dHNpZGUpICovXHJcblxyXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXJ7IC8qIGNvbnRhaW5zIHRoZSBkcmFnZ2FibGUgZWxlbWVudCBhbmQgZHJhZ2dlciByYWlsIG1hcmt1cCAqL1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdHJpZ2h0OiAwOyBcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHR9XHJcblxyXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIGEgKyAubUNTQl9kcmFnZ2VyQ29udGFpbmVyeyBtYXJnaW46IDIwcHggMDsgfVxyXG5cclxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcclxuXHRcdHdpZHRoOiAycHg7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTZweDsgLW1vei1ib3JkZXItcmFkaXVzOiAxNnB4OyBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG5cdH1cclxuXHJcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcnsgLyogdGhlIGRyYWdnYWJsZSBlbGVtZW50ICovXHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMzBweDsgLyogbWluaW11bSBkcmFnZ2VyIGhlaWdodCAqL1xyXG5cdFx0ei1pbmRleDogMTtcclxuXHR9XHJcblxyXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IC8qIHRoZSBkcmFnZ2VyIGVsZW1lbnQgKi9cclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHdpZHRoOiA0cHg7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTZweDsgLW1vei1ib3JkZXItcmFkaXVzOiAxNnB4OyBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdH1cclxuXHRcclxuXHQubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyeyB3aWR0aDogMTJweDsgLyogYXV0by1leHBhbmRlZCBzY3JvbGxiYXIgKi8gfVxyXG5cdFxyXG5cdC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCwgXHJcblx0Lm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWx7IHdpZHRoOiA4cHg7IC8qIGF1dG8tZXhwYW5kZWQgc2Nyb2xsYmFyICovIH1cclxuXHJcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAsXHJcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bntcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0aGVpZ2h0OiAyMHB4O1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0fVxyXG5cclxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBib3R0b206IDA7IH1cclxuXHJcblxyXG5cclxuLyogXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4zLiBIT1JJWk9OVEFMIFNDUk9MTEJBUiBcclxueC1heGlzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4qL1xyXG5cclxuXHQubUNTQl9ob3Jpem9udGFsLm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVye1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHR9XHJcblx0XHJcblx0Lm1DU0JfaG9yaXpvbnRhbC5tQ1NCX291dHNpZGUgPiAubUNTQl9jb250YWluZXJ7IG1pbi1oZWlnaHQ6IDEwMCU7IH1cclxuXHJcblx0Lm1DU0JfaG9yaXpvbnRhbCA+IC5tQ1NCX2NvbnRhaW5lci5tQ1Nfbm9fc2Nyb2xsYmFyX3gubUNTX3hfaGlkZGVueyBtYXJnaW4tYm90dG9tOiAwOyB9IC8qIG5vbi12aXNpYmxlIHNjcm9sbGJhciAqL1xyXG5cclxuXHQubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWx7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdGhlaWdodDogMTZweDtcclxuXHRcdHRvcDogYXV0bztcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdFx0bGVmdDogMDtcclxuXHR9XHJcblxyXG5cdC5tQ3VzdG9tU2Nyb2xsQm94ICsgLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLFxyXG5cdC5tQ3VzdG9tU2Nyb2xsQm94ICsgLm1DU0Jfc2Nyb2xsVG9vbHMgKyAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWx7IGJvdHRvbTogLTI2cHg7IH0gLyogc2Nyb2xsYmFyIHBvc2l0aW9uOiBvdXRzaWRlICovXHJcblxyXG5cdC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCBhICsgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcnsgbWFyZ2luOiAwIDIwcHg7IH1cclxuXHJcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlse1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDJweDtcclxuXHRcdG1hcmdpbjogN3B4IDA7XHJcblx0fVxyXG5cclxuXHQubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlcntcclxuXHRcdHdpZHRoOiAzMHB4OyAvKiBtaW5pbXVtIGRyYWdnZXIgd2lkdGggKi9cclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGxlZnQ6IDA7XHJcblx0fVxyXG5cclxuXHQubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcntcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiA0cHg7XHJcblx0XHRtYXJnaW46IDZweCBhdXRvO1xyXG5cdH1cclxuXHRcclxuXHQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsIFxyXG5cdC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcntcclxuXHRcdGhlaWdodDogMTJweDsgLyogYXV0by1leHBhbmRlZCBzY3JvbGxiYXIgKi9cclxuXHRcdG1hcmdpbjogMnB4IGF1dG87XHJcblx0fVxyXG5cdFxyXG5cdC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCArIC5tQ1NCX2RyYWdnZXJSYWlsLCBcclxuXHQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlse1xyXG5cdFx0aGVpZ2h0OiA4cHg7IC8qIGF1dG8tZXhwYW5kZWQgc2Nyb2xsYmFyICovXHJcblx0XHRtYXJnaW46IDRweCAwO1xyXG5cdH1cclxuXHJcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2J1dHRvbkxlZnQsXHJcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2J1dHRvblJpZ2h0e1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR3aWR0aDogMjBweDtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHR9XHJcblx0XHJcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2J1dHRvbkxlZnR7IGxlZnQ6IDA7IH1cclxuXHJcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2J1dHRvblJpZ2h0eyByaWdodDogMDsgfVxyXG5cclxuXHJcblxyXG4vKiBcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbjQuIFZFUlRJQ0FMIEFORCBIT1JJWk9OVEFMIFNDUk9MTEJBUlMgXHJcbnl4LWF4aXMgXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4qL1xyXG5cclxuXHQubUNTQl9jb250YWluZXJfd3JhcHBlcntcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdHRvcDogMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdG1hcmdpbi1yaWdodDogMzBweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0fVxyXG5cdFxyXG5cdC5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyID4gLm1DU0JfY29udGFpbmVye1xyXG5cdFx0cGFkZGluZy1yaWdodDogMzBweDtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG5cdFx0LXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0fVxyXG5cdFxyXG5cdC5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwgPiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FseyBib3R0b206IDIwcHg7IH1cclxuXHRcclxuXHQubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsID4gLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFseyByaWdodDogMjBweDsgfVxyXG5cdFxyXG5cdC8qIG5vbi12aXNpYmxlIGhvcml6b250YWwgc2Nyb2xsYmFyICovXHJcblx0Lm1DU0JfY29udGFpbmVyX3dyYXBwZXIubUNTX25vX3Njcm9sbGJhcl94Lm1DU194X2hpZGRlbiArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWx7IGJvdHRvbTogMDsgfVxyXG5cdFxyXG5cdC8qIG5vbi12aXNpYmxlIHZlcnRpY2FsIHNjcm9sbGJhci9SVEwgZGlyZWN0aW9uL2xlZnQtc2lkZSBzY3JvbGxiYXIgKi9cclxuXHQubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVuICsgLm1DU0Jfc2Nyb2xsVG9vbHMgfiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwsIFxyXG5cdC5tQ1MtZGlyLXJ0bCA+IC5tQ3VzdG9tU2Nyb2xsQm94Lm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbC5tQ1NCX2luc2lkZSA+IC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbHsgcmlnaHQ6IDA7IH1cclxuXHRcclxuXHQvKiBSVEwgZGlyZWN0aW9uL2xlZnQtc2lkZSBzY3JvbGxiYXIgKi9cclxuXHQubUNTLWRpci1ydGwgPiAubUN1c3RvbVNjcm9sbEJveC5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwubUNTQl9pbnNpZGUgPiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWx7IGxlZnQ6IDIwcHg7IH1cclxuXHRcclxuXHQvKiBub24tdmlzaWJsZSBzY3JvbGxiYXIvUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXHJcblx0Lm1DUy1kaXItcnRsID4gLm1DdXN0b21TY3JvbGxCb3gubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsLm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVyX3dyYXBwZXIubUNTX25vX3Njcm9sbGJhcl95Lm1DU195X2hpZGRlbiArIC5tQ1NCX3Njcm9sbFRvb2xzIH4gLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFseyBsZWZ0OiAwOyB9XHJcblx0XHJcblx0Lm1DUy1kaXItcnRsID4gLm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVyX3dyYXBwZXJ7IC8qIFJUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDMwcHg7XHJcblx0fVxyXG5cdFxyXG5cdC5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyLm1DU19ub19zY3JvbGxiYXJfeS5tQ1NfeV9oaWRkZW4gPiAubUNTQl9jb250YWluZXJ7IHBhZGRpbmctcmlnaHQ6IDA7IH1cclxuXHRcclxuXHQubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3gubUNTX3hfaGlkZGVuID4gLm1DU0JfY29udGFpbmVyeyBwYWRkaW5nLWJvdHRvbTogMDsgfVxyXG5cdFxyXG5cdC5tQ3VzdG9tU2Nyb2xsQm94Lm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyLm1DU19ub19zY3JvbGxiYXJfeS5tQ1NfeV9oaWRkZW57XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDA7IC8qIG5vbi12aXNpYmxlIHNjcm9sbGJhciAqL1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0fVxyXG5cdFxyXG5cdC8qIG5vbi12aXNpYmxlIGhvcml6b250YWwgc2Nyb2xsYmFyICovXHJcblx0Lm1DdXN0b21TY3JvbGxCb3gubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsLm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVyX3dyYXBwZXIubUNTX25vX3Njcm9sbGJhcl94Lm1DU194X2hpZGRlbnsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG5cclxuXHJcblxyXG4vKiBcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbjUuIFRSQU5TSVRJT05TICBcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiovXHJcblxyXG5cdC5tQ1NCX3Njcm9sbFRvb2xzLCBcclxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCxcclxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duLFxyXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsXHJcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XHJcblx0XHQtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcclxuXHRcdC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xyXG5cdFx0LW8tdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xyXG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xyXG5cdH1cclxuXHRcclxuXHQubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlcl9iYXIsIC8qIGF1dG8tZXhwYW5kZWQgc2Nyb2xsYmFyICovXHJcblx0Lm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJSYWlsLCBcclxuXHQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyX2JhciwgXHJcblx0Lm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlclJhaWx7XHJcblx0XHQtd2Via2l0LXRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlLW91dCAuMnMsIGhlaWdodCAuMnMgZWFzZS1vdXQgLjJzLCBcclxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0IC4ycyBlYXNlLW91dCAuMnMsIG1hcmdpbi1yaWdodCAuMnMgZWFzZS1vdXQgLjJzLCBcclxuXHRcdFx0XHRcdG1hcmdpbi10b3AgLjJzIGVhc2Utb3V0IC4ycywgbWFyZ2luLWJvdHRvbSAuMnMgZWFzZS1vdXQgLjJzLFxyXG5cdFx0XHRcdFx0b3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0OyBcclxuXHRcdC1tb3otdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2Utb3V0IC4ycywgaGVpZ2h0IC4ycyBlYXNlLW91dCAuMnMsIFxyXG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQgLjJzIGVhc2Utb3V0IC4ycywgbWFyZ2luLXJpZ2h0IC4ycyBlYXNlLW91dCAuMnMsIFxyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tYm90dG9tIC4ycyBlYXNlLW91dCAuMnMsXHJcblx0XHRcdFx0XHRvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7IFxyXG5cdFx0LW8tdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2Utb3V0IC4ycywgaGVpZ2h0IC4ycyBlYXNlLW91dCAuMnMsIFxyXG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQgLjJzIGVhc2Utb3V0IC4ycywgbWFyZ2luLXJpZ2h0IC4ycyBlYXNlLW91dCAuMnMsIFxyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tYm90dG9tIC4ycyBlYXNlLW91dCAuMnMsXHJcblx0XHRcdFx0XHRvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7IFxyXG5cdFx0dHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2Utb3V0IC4ycywgaGVpZ2h0IC4ycyBlYXNlLW91dCAuMnMsIFxyXG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQgLjJzIGVhc2Utb3V0IC4ycywgbWFyZ2luLXJpZ2h0IC4ycyBlYXNlLW91dCAuMnMsIFxyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tYm90dG9tIC4ycyBlYXNlLW91dCAuMnMsXHJcblx0XHRcdFx0XHRvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7IFxyXG5cdH1cclxuXHJcblxyXG5cclxuLyogXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG42LiBTQ1JPTExCQVIgQ09MT1JTLCBPUEFDSVRZIEFORCBCQUNLR1JPVU5EUyAgXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4qL1xyXG5cclxuXHQvKiBcclxuXHQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0Ni4xIFRIRU1FUyBcclxuXHQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0Ki9cclxuXHRcclxuXHQvKiBkZWZhdWx0IHRoZW1lIChcImxpZ2h0XCIpICovXHJcblxyXG5cdC5tQ1NCX3Njcm9sbFRvb2xzeyBvcGFjaXR5OiAwLjc1OyBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT03NSlcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTc1KVwiOyB9XHJcblx0XHJcblx0Lm1DUy1hdXRvSGlkZSA+IC5tQ3VzdG9tU2Nyb2xsQm94ID4gLm1DU0Jfc2Nyb2xsVG9vbHMsXHJcblx0Lm1DUy1hdXRvSGlkZSA+IC5tQ3VzdG9tU2Nyb2xsQm94IH4gLm1DU0Jfc2Nyb2xsVG9vbHN7IG9wYWNpdHk6IDA7IGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTApXCI7IC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0wKVwiOyB9XHJcblx0XHJcblx0Lm1DdXN0b21TY3JvbGxiYXIgPiAubUN1c3RvbVNjcm9sbEJveCA+IC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnLFxyXG5cdC5tQ3VzdG9tU2Nyb2xsYmFyID4gLm1DdXN0b21TY3JvbGxCb3ggfiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZyxcclxuXHQubUN1c3RvbVNjcm9sbEJveDpob3ZlciA+IC5tQ1NCX3Njcm9sbFRvb2xzLFxyXG5cdC5tQ3VzdG9tU2Nyb2xsQm94OmhvdmVyIH4gLm1DU0Jfc2Nyb2xsVG9vbHMsXHJcblx0Lm1DUy1hdXRvSGlkZTpob3ZlciA+IC5tQ3VzdG9tU2Nyb2xsQm94ID4gLm1DU0Jfc2Nyb2xsVG9vbHMsXHJcblx0Lm1DUy1hdXRvSGlkZTpob3ZlciA+IC5tQ3VzdG9tU2Nyb2xsQm94IH4gLm1DU0Jfc2Nyb2xsVG9vbHN7IG9wYWNpdHk6IDE7IGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTEwMClcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTEwMClcIjsgfVxyXG5cclxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC40KTtcclxuXHRcdGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTQwKVwiOyAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NDApXCI7IFxyXG5cdH1cclxuXHJcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcntcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43NSk7XHJcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT03NSlcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTc1KVwiOyBcclxuXHR9XHJcblxyXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuODUpO1xyXG5cdFx0ZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9ODUpXCI7IC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT04NSlcIjsgXHJcblx0fVxyXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxyXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcntcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC45KTtcclxuXHRcdGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTkwKVwiOyAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9OTApXCI7IFxyXG5cdH1cclxuXHJcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAsXHJcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bixcclxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LFxyXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKG1DU0JfYnV0dG9ucy5wbmcpOyAvKiBjc3Mgc3ByaXRlcyAqL1xyXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdG9wYWNpdHk6IDAuNDsgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NDApXCI7IC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT00MClcIjsgXHJcblx0fVxyXG5cclxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcclxuXHRcdC8qIFxyXG5cdFx0c3ByaXRlcyBsb2NhdGlvbnMgXHJcblx0XHRsaWdodDogMCAwLCAtMTZweCAwLCAtMzJweCAwLCAtNDhweCAwLCAwIC03MnB4LCAtMTZweCAtNzJweCwgLTMycHggLTcycHhcclxuXHRcdGRhcms6IC04MHB4IDAsIC05NnB4IDAsIC0xMTJweCAwLCAtMTI4cHggMCwgLTgwcHggLTcycHgsIC05NnB4IC03MnB4LCAtMTEycHggLTcycHhcclxuXHRcdCovXHJcblx0fVxyXG5cclxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3due1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjBweDtcclxuXHRcdC8qIFxyXG5cdFx0c3ByaXRlcyBsb2NhdGlvbnNcclxuXHRcdGxpZ2h0OiAwIC0yMHB4LCAtMTZweCAtMjBweCwgLTMycHggLTIwcHgsIC00OHB4IC0yMHB4LCAwIC05MnB4LCAtMTZweCAtOTJweCwgLTMycHggLTkycHhcclxuXHRcdGRhcms6IC04MHB4IC0yMHB4LCAtOTZweCAtMjBweCwgLTExMnB4IC0yMHB4LCAtMTI4cHggLTIwcHgsIC04MHB4IC05MnB4LCAtOTZweCAtOTJweCwgLTExMiAtOTJweFxyXG5cdFx0Ki9cclxuXHR9XHJcblxyXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7XHJcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00MHB4O1xyXG5cdFx0LyogXHJcblx0XHRzcHJpdGVzIGxvY2F0aW9ucyBcclxuXHRcdGxpZ2h0OiAwIC00MHB4LCAtMjBweCAtNDBweCwgLTQwcHggLTQwcHgsIC02MHB4IC00MHB4LCAwIC0xMTJweCwgLTIwcHggLTExMnB4LCAtNDBweCAtMTEycHhcclxuXHRcdGRhcms6IC04MHB4IC00MHB4LCAtMTAwcHggLTQwcHgsIC0xMjBweCAtNDBweCwgLTE0MHB4IC00MHB4LCAtODBweCAtMTEycHgsIC0xMDBweCAtMTEycHgsIC0xMjBweCAtMTEycHhcclxuXHRcdCovXHJcblx0fVxyXG5cclxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTU2cHg7XHJcblx0XHQvKiBcclxuXHRcdHNwcml0ZXMgbG9jYXRpb25zIFxyXG5cdFx0bGlnaHQ6IDAgLTU2cHgsIC0yMHB4IC01NnB4LCAtNDBweCAtNTZweCwgLTYwcHggLTU2cHgsIDAgLTEyOHB4LCAtMjBweCAtMTI4cHgsIC00MHB4IC0xMjhweFxyXG5cdFx0ZGFyazogLTgwcHggLTU2cHgsIC0xMDBweCAtNTZweCwgLTEyMHB4IC01NnB4LCAtMTQwcHggLTU2cHgsIC04MHB4IC0xMjhweCwgLTEwMHB4IC0xMjhweCwgLTEyMHB4IC0xMjhweFxyXG5cdFx0Ki9cclxuXHR9XHJcblxyXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwOmhvdmVyLFxyXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd246aG92ZXIsXHJcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdDpob3ZlcixcclxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodDpob3Zlcnsgb3BhY2l0eTogMC43NTsgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NzUpXCI7IC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT03NSlcIjsgfVxyXG5cclxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcDphY3RpdmUsXHJcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bjphY3RpdmUsXHJcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdDphY3RpdmUsXHJcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQ6YWN0aXZleyBvcGFjaXR5OiAwLjk7IGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTkwKVwiOyAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9OTApXCI7IH1cclxuXHRcclxuXHJcblx0LyogdGhlbWU6IFwiZGFya1wiICovXHJcblxyXG5cdC5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlseyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMTUpOyB9XHJcblxyXG5cdC5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC43NSk7IH1cclxuXHJcblx0Lm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjg1KTsgfVxyXG5cclxuXHQubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2JhcixcclxuXHQubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC45KTsgfVxyXG5cclxuXHQubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggMDsgfVxyXG5cclxuXHQubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjBweDsgfVxyXG5cclxuXHQubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNDBweDsgfVxyXG5cclxuXHQubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTU2cHg7IH1cclxuXHRcclxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblx0XHJcblxyXG5cclxuXHQvKiB0aGVtZTogXCJsaWdodC0yXCIsIFwiZGFyay0yXCIgKi9cclxuXHJcblx0Lm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsIFxyXG5cdC5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XHJcblx0XHR3aWR0aDogNHB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjEpO1xyXG5cdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxcHg7IC1tb3otYm9yZGVyLXJhZGl1czogMXB4OyBib3JkZXItcmFkaXVzOiAxcHg7XHJcblx0fVxyXG5cclxuXHQubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XHJcblx0XHR3aWR0aDogNHB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjc1KTtcclxuXHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMXB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDFweDsgYm9yZGVyLXJhZGl1czogMXB4O1xyXG5cdH1cclxuXHJcblx0Lm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXHJcblx0Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLCBcclxuXHQubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxyXG5cdC5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDRweDtcclxuXHRcdG1hcmdpbjogNnB4IGF1dG87XHJcblx0fVxyXG5cclxuXHQubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuODUpOyB9XHJcblxyXG5cdC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxyXG5cdC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjkpOyB9XHJcblxyXG5cdC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVweyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAwOyB9XHJcblxyXG5cdC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMjBweDsgfVxyXG5cclxuXHQubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e1x0YmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTQwcHg7IH1cclxuXHJcblx0Lm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7IGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC01NnB4OyB9XHJcblx0XHJcblx0XHJcblx0LyogdGhlbWU6IFwiZGFyay0yXCIgKi9cclxuXHJcblx0Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4xKTtcclxuXHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMXB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDFweDsgYm9yZGVyLXJhZGl1czogMXB4O1xyXG5cdH1cclxuXHJcblx0Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjc1KTtcclxuXHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMXB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDFweDsgYm9yZGVyLXJhZGl1czogMXB4O1xyXG5cdH1cclxuXHJcblx0Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuODUpOyB9XHJcblxyXG5cdC5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXHJcblx0Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC45KTsgfVxyXG5cclxuXHQubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVweyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggMDsgfVxyXG5cclxuXHQubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMjBweDsgfVxyXG5cclxuXHQubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtNDBweDsgfVxyXG5cclxuXHQubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e1x0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC01NnB4OyB9XHJcblx0XHJcblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cdFxyXG5cclxuXHJcblx0LyogdGhlbWU6IFwibGlnaHQtdGhpY2tcIiwgXCJkYXJrLXRoaWNrXCIgKi9cclxuXHJcblx0Lm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLCBcclxuXHQubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcclxuXHRcdHdpZHRoOiA0cHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7XHJcblx0XHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDsgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7IGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHR9XHJcblxyXG5cdC5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xyXG5cdFx0d2lkdGg6IDZweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43NSk7XHJcblx0XHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDsgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7IGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHR9XHJcblxyXG5cdC5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLCBcclxuXHQubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlse1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDRweDtcclxuXHRcdG1hcmdpbjogNnB4IDA7XHJcblx0fVxyXG5cclxuXHQubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogNnB4O1xyXG5cdFx0bWFyZ2luOiA1cHggYXV0bztcclxuXHR9XHJcblxyXG5cdC5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuODUpOyB9XHJcblxyXG5cdC5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2JhcixcclxuXHQubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOSk7IH1cclxuXHJcblx0Lm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVweyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAwOyB9XHJcblxyXG5cdC5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3due1x0YmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIwcHg7IH1cclxuXHJcblx0Lm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjBweCAtNDBweDsgfVxyXG5cclxuXHQubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMHB4IC01NnB4OyB9XHJcblxyXG5cclxuXHQvKiB0aGVtZTogXCJkYXJrLXRoaWNrXCIgKi9cclxuXHRcclxuXHQubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4xKTtcclxuXHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDJweDsgYm9yZGVyLXJhZGl1czogMnB4O1xyXG5cdH1cclxuXHJcblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcntcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC43NSk7XHJcblx0XHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDsgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7IGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHR9XHJcblxyXG5cdC5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC44NSk7IH1cclxuXHJcblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXHJcblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuOSk7IH1cclxuXHJcblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IDA7IH1cclxuXHJcblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTIwcHg7IH1cclxuXHJcblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC00MHB4OyB9XHJcblxyXG5cdC5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e1x0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC01NnB4OyB9XHJcblx0XHJcblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cdFxyXG5cclxuXHJcblx0LyogdGhlbWU6IFwibGlnaHQtdGhpblwiLCBcImRhcmstdGhpblwiICovXHJcblx0XHJcblx0Lm1DUy1saWdodC10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4xKTsgfVxyXG5cclxuXHQubUNTLWxpZ2h0LXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IHdpZHRoOiAycHg7IH1cclxuXHJcblx0Lm1DUy1saWdodC10aGluLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXHJcblx0Lm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlseyB3aWR0aDogMTAwJTsgfVxyXG5cclxuXHQubUNTLWxpZ2h0LXRoaW4ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxyXG5cdC5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDJweDtcclxuXHRcdG1hcmdpbjogN3B4IGF1dG87XHJcblx0fVxyXG5cclxuXHJcblx0LyogdGhlbWUgXCJkYXJrLXRoaW5cIiAqL1xyXG5cdFxyXG5cdC5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4xNSk7IH1cclxuXHJcblx0Lm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNzUpOyB9XHJcblx0XHJcblx0Lm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuODUpOyB9XHJcblx0XHJcblx0Lm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2JhcixcclxuXHQubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjkpOyB9XHJcblx0XHJcblx0Lm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHtcdGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IDA7IH1cclxuXHJcblx0Lm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjBweDsgfVxyXG5cclxuXHQubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC00MHB4OyB9XHJcblxyXG5cdC5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC01NnB4OyB9XHJcblx0XHJcblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cdFxyXG5cdFxyXG5cdFxyXG5cdC8qIHRoZW1lIFwicm91bmRlZFwiLCBcInJvdW5kZWQtZGFya1wiLCBcInJvdW5kZWQtZG90c1wiLCBcInJvdW5kZWQtZG90cy1kYXJrXCIgKi9cclxuXHRcclxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjE1KTsgfVxyXG5cdFxyXG5cdC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIsIFxyXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciwgXHJcblx0Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLCBcclxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcnsgaGVpZ2h0OiAxNHB4OyB9XHJcblx0XHJcblx0Lm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXHJcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxyXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xyXG5cdFx0d2lkdGg6IDE0cHg7XHJcblx0XHRtYXJnaW46IDAgMXB4O1xyXG5cdH1cclxuXHRcclxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIsIFxyXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyLCBcclxuXHQubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciwgXHJcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlcnsgd2lkdGg6IDE0cHg7IH1cclxuXHRcclxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxyXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXHJcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcntcclxuXHRcdGhlaWdodDogMTRweDtcclxuXHRcdG1hcmdpbjogMXB4IDA7XHJcblx0fVxyXG5cdFxyXG5cdC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsIFxyXG5cdC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxyXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCAubUNTQl9kcmFnZ2VyX2JhciwgXHJcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xyXG5cdFx0d2lkdGg6IDE2cHg7IC8qIGF1dG8tZXhwYW5kZWQgc2Nyb2xsYmFyICovXHJcblx0XHRoZWlnaHQ6IDE2cHg7XHJcblx0XHRtYXJnaW46IC0xcHggMDtcclxuXHR9XHJcblx0XHJcblx0Lm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCArIC5tQ1NCX2RyYWdnZXJSYWlsLCBcclxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbCwgXHJcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsIFxyXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWx7IHdpZHRoOiA0cHg7IC8qIGF1dG8tZXhwYW5kZWQgc2Nyb2xsYmFyICovIH1cclxuXHRcclxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsIFxyXG5cdC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXHJcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsIFxyXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xyXG5cdFx0aGVpZ2h0OiAxNnB4OyAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqL1xyXG5cdFx0d2lkdGg6IDE2cHg7XHJcblx0XHRtYXJnaW46IDAgLTFweDtcclxuXHR9XHJcblx0XHJcblx0Lm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsIFxyXG5cdC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWwsIFxyXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsIFxyXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbHtcclxuXHRcdGhlaWdodDogNHB4OyAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqL1xyXG5cdFx0bWFyZ2luOiA2cHggMDtcclxuXHR9XHJcblx0XHJcblx0Lm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTcycHg7IH1cclxuXHRcclxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05MnB4OyB9XHJcblx0XHJcblx0Lm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTEycHg7IH1cclxuXHRcclxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTI4cHg7IH1cclxuXHRcclxuXHRcclxuXHQvKiB0aGVtZSBcInJvdW5kZWQtZGFya1wiLCBcInJvdW5kZWQtZG90cy1kYXJrXCIgKi9cclxuXHRcclxuXHQubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxyXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNzUpOyB9XHJcblx0XHJcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjE1KTsgfVxyXG5cdFxyXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciwgXHJcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC44NSk7IH1cclxuXHRcclxuXHQubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxyXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXHJcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjkpOyB9XHJcblx0XHJcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTcycHg7IH1cclxuXHRcclxuXHQubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC05MnB4OyB9XHJcblx0XHJcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTEycHg7IH1cclxuXHRcclxuXHQubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTI4cHg7IH1cclxuXHRcclxuXHRcclxuXHQvKiB0aGVtZSBcInJvdW5kZWQtZG90c1wiLCBcInJvdW5kZWQtZG90cy1kYXJrXCIgKi9cclxuXHRcclxuXHQubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIC5tQ1NCX2RyYWdnZXJSYWlsLCBcclxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwgLm1DU0JfZHJhZ2dlclJhaWx7IHdpZHRoOiA0cHg7IH1cclxuXHRcclxuXHQubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLCBcclxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsIFxyXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXHJcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWx7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHR9XHJcblx0XHJcblx0Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXHJcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFJQ0FZQUFBREVENzZMQUFBQU5FbEVRVlFZVjJOa0lBQVlpVmJ3Ly85L1k2RGlNMUFOSm95TWpHZEJiTGdKUUFYL2tVMERLZ0RMa2FRQXZ4VzRIRXZRRndDUmN4SUpLMVh6bkFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7XHJcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XHJcblx0XHRvcGFjaXR5OiAwLjM7XHJcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0zMClcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTMwKVwiOyBcclxuXHR9XHJcblx0XHJcblx0Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLCBcclxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbHtcclxuXHRcdGhlaWdodDogNHB4O1xyXG5cdFx0bWFyZ2luOiA2cHggMDtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxuXHR9XHJcblx0XHJcblx0Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTcycHg7IH1cclxuXHRcclxuXHQubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC05MnB4OyB9XHJcblx0XHJcblx0Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjBweCAtMTEycHg7IH1cclxuXHRcclxuXHQubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjBweCAtMTI4cHg7IH1cclxuXHRcclxuXHRcclxuXHQvKiB0aGVtZSBcInJvdW5kZWQtZG90cy1kYXJrXCIgKi9cclxuXHRcclxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUlDQVlBQUFERUQ3NkxBQUFBTEVsRVFWUVlWMk5rSUFBWVNWRmdERlI4QnFyQkJFaWZCYkdSVGZpUFpocFlqaVFGQkszQTZsNkN2Z0FBRTlrR0NkMW12Z0VBQUFBQVNVVk9SSzVDWUlJPVwiKTtcclxuXHR9XHJcblx0XHJcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVweyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNzJweDsgfVxyXG5cdFxyXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtOTJweDsgfVxyXG5cdFxyXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTExMnB4OyB9XHJcblx0XHJcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTEyOHB4OyB9XHJcblx0XHJcblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cdFxyXG5cdFxyXG5cdFxyXG5cdC8qIHRoZW1lIFwiM2RcIiwgXCIzZC1kYXJrXCIsIFwiM2QtdGhpY2tcIiwgXCIzZC10aGljay1kYXJrXCIgKi9cclxuXHRcclxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXHJcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXHJcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxyXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XHJcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwyNTUsMjU1LDAuNSkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgY29sb3Itc3RvcCgwJSxyZ2JhKDI1NSwyNTUsMjU1LDAuNSkpLCBjb2xvci1zdG9wKDEwMCUscmdiYSgyNTUsMjU1LDI1NSwwKSkpO1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsMjU1LDI1NSwwLjUpIDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsMjU1LDI1NSwwLjUpIDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LDI1NSwyNTUsMC41KSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1NSwyNTUsMjU1LDAuNSkgMCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcclxuXHR9XHJcblx0XHJcblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXHJcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XHJcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMC41KSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUscmdiYSgyNTUsMjU1LDI1NSwwLjUpKSwgY29sb3Itc3RvcCgxMDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkpKTtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsMjU1LDI1NSwwLjUpIDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDAuNSkgMCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDAuNSkgMCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LDI1NSwyNTUsMC41KSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xyXG5cdH1cclxuXHRcclxuXHRcclxuXHQvKiB0aGVtZSBcIjNkXCIsIFwiM2QtZGFya1wiICovXHJcblx0XHJcblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIC5tQ1NCX2RyYWdnZXIsIFxyXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIC5tQ1NCX2RyYWdnZXJ7IGhlaWdodDogNzBweDsgfVxyXG5cdFxyXG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIsIFxyXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlcnsgd2lkdGg6IDcwcHg7IH1cclxuXHRcclxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMsIFxyXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xze1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHRcdGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTMwKVwiOyAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MzApXCI7IFxyXG5cdH1cclxuXHRcclxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsIFxyXG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXHJcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcnsgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxNnB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDE2cHg7IGJvcmRlci1yYWRpdXM6IDE2cHg7IH1cclxuXHRcclxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsIFxyXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse1xyXG5cdFx0d2lkdGg6IDhweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4yKTtcclxuXHRcdGJveC1zaGFkb3c6IGluc2V0IDFweCAwIDFweCByZ2JhKDAsMCwwLDAuNSksIGluc2V0IC0xcHggMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwwLjIpO1xyXG5cdH1cclxuXHRcclxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXHQgXHJcblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxyXG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2JhcixcclxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2JhcixcclxuXHQubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICM1NTU7IH1cclxuXHJcblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxyXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IHdpZHRoOiA4cHg7IH1cclxuXHJcblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsIFxyXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWx7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogOHB4O1xyXG5cdFx0bWFyZ2luOiA0cHggMDtcclxuXHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLDAuNSksIGluc2V0IDAgLTFweCAxcHggcmdiYSgyNTUsMjU1LDI1NSwwLjIpO1xyXG5cdH1cclxuXHJcblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXHJcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDhweDtcclxuXHRcdG1hcmdpbjogNHB4IGF1dG87XHJcblx0fVxyXG5cdFxyXG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTcycHg7IH1cclxuXHRcclxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTkycHg7IH1cclxuXHRcclxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTExMnB4OyB9XHJcblx0XHJcblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTI4cHg7IH1cclxuXHRcclxuXHRcclxuXHQvKiB0aGVtZSBcIjNkLWRhcmtcIiAqL1xyXG5cdFxyXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjEpO1xyXG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMXB4IDAgMXB4IHJnYmEoMCwwLDAsMC4xKTtcclxuXHR9XHJcblx0XHJcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbHsgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsMC4xKTsgfVxyXG5cdFxyXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVweyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTcycHg7IH1cclxuXHJcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC05MnB4OyB9XHJcblxyXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTEycHg7IH1cclxuXHJcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTEyOHB4OyB9XHJcblx0XHJcblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cdFxyXG5cdFxyXG5cdFxyXG5cdC8qIHRoZW1lOiBcIjNkLXRoaWNrXCIsIFwiM2QtdGhpY2stZGFya1wiICovXHJcblx0XHJcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzLCBcclxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc3tcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0zMClcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTMwKVwiOyBcclxuXHR9XHJcblx0XHJcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzLCBcclxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scywgXHJcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXIsIFxyXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXJ7IC13ZWJraXQtYm9yZGVyLXJhZGl1czogN3B4OyAtbW96LWJvcmRlci1yYWRpdXM6IDdweDsgYm9yZGVyLXJhZGl1czogN3B4OyB9XHJcblx0XHJcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxyXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IC13ZWJraXQtYm9yZGVyLXJhZGl1czogNXB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDVweDsgYm9yZGVyLXJhZGl1czogNXB4OyB9XHJcblx0XHJcblx0Lm1DU0JfaW5zaWRlICsgLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLCBcclxuXHQubUNTQl9pbnNpZGUgKyAubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbHsgcmlnaHQ6IDFweDsgfVxyXG5cdFxyXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCwgXHJcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWx7IGJveC1zaGFkb3c6IGluc2V0IDFweCAwIDFweCByZ2JhKDAsMCwwLDAuMSksIGluc2V0IDAgMCAxNHB4IHJnYmEoMCwwLDAsMC41KTsgfVxyXG5cdFxyXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLCBcclxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFse1xyXG5cdFx0Ym90dG9tOiAxcHg7XHJcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwwLjEpLCBpbnNldCAwIDAgMTRweCByZ2JhKDAsMCwwLDAuNSk7XHJcblx0fVxyXG5cdFxyXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xyXG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMXB4IDAgMCByZ2JhKDI1NSwyNTUsMjU1LDAuNCk7XHJcblx0XHR3aWR0aDogMTJweDtcclxuXHRcdG1hcmdpbjogMnB4O1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdH1cclxuXHRcclxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwwLjQpOyB9XHJcblx0XHJcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsICBcclxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciwgXHJcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxyXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICM1NTU7IH1cclxuXHRcclxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XHJcblx0XHRoZWlnaHQ6IDEycHg7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHR9XHJcblx0XHJcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXJ7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMDUpO1xyXG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMXB4IDFweCAxNnB4IHJnYmEoMCwwLDAsMC4xKTtcclxuXHR9XHJcblx0XHJcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlseyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxyXG5cdFxyXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTcycHg7IH1cclxuXHRcclxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTkycHg7IH1cclxuXHJcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7IGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xMTJweDsgfVxyXG5cclxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTI4cHg7IH1cclxuXHRcclxuXHRcclxuXHQvKiB0aGVtZTogXCIzZC10aGljay1kYXJrXCIgKi9cclxuXHRcclxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc3sgYm94LXNoYWRvdzogaW5zZXQgMCAwIDE0cHggcmdiYSgwLDAsMCwwLjIpOyB9XHJcblx0XHJcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbHsgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsMC4xKSwgaW5zZXQgMCAwIDE0cHggcmdiYSgwLDAsMCwwLjIpOyB9XHJcblx0XHJcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcnsgYm94LXNoYWRvdzogaW5zZXQgMXB4IDAgMCByZ2JhKDI1NSwyNTUsMjU1LDAuNCksIGluc2V0IC0xcHggMCAwIHJnYmEoMCwwLDAsMC4yKTsgfVxyXG5cdCBcclxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwwLjQpLCBpbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLDAuMik7IH1cclxuXHRcclxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCAgXHJcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciwgXHJcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXHJcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XHJcblx0XHJcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcntcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4wNSk7XHJcblx0XHRib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDE2cHggcmdiYSgwLDAsMCwwLjEpO1xyXG5cdH1cclxuXHRcclxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cclxuXHRcclxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC03MnB4OyB9XHJcblx0XHJcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC05MnB4OyB9XHJcblxyXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTEycHg7IH1cclxuXHJcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTEyOHB4OyB9XHJcblx0XHJcblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cdFxyXG5cdFxyXG5cdFxyXG5cdC8qIHRoZW1lOiBcIm1pbmltYWxcIiwgXCJtaW5pbWFsLWRhcmtcIiAqL1xyXG5cdFxyXG5cdC5tQ1NCX291dHNpZGUgKyAubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCwgXHJcblx0Lm1DU0Jfb3V0c2lkZSArIC5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWx7XHJcblx0XHRyaWdodDogMDsgXHJcblx0XHRtYXJnaW46IDEycHggMDsgXHJcblx0fVxyXG5cdFxyXG5cdC5tQ3VzdG9tU2Nyb2xsQm94Lm1DUy1taW5pbWFsICsgLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLCBcclxuXHQubUN1c3RvbVNjcm9sbEJveC5tQ1MtbWluaW1hbCArIC5tQ1NCX3Njcm9sbFRvb2xzICsgLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLCBcclxuXHQubUN1c3RvbVNjcm9sbEJveC5tQ1MtbWluaW1hbC1kYXJrICsgLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLCBcclxuXHQubUN1c3RvbVNjcm9sbEJveC5tQ1MtbWluaW1hbC1kYXJrICsgLm1DU0Jfc2Nyb2xsVG9vbHMgKyAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWx7XHJcblx0XHRib3R0b206IDA7IFxyXG5cdFx0bWFyZ2luOiAwIDEycHg7IFxyXG5cdH1cclxuXHRcclxuXHQvKiBSVEwgZGlyZWN0aW9uL2xlZnQtc2lkZSBzY3JvbGxiYXIgKi9cclxuXHQubUNTLWRpci1ydGwgPiAubUNTQl9vdXRzaWRlICsgLm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwsIFxyXG5cdC5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX291dHNpZGUgKyAubUNTLW1pbmltYWwtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2Fse1xyXG5cdFx0bGVmdDogMDsgXHJcblx0XHRyaWdodDogYXV0bztcclxuXHR9XHJcblx0XHJcblx0Lm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsIFxyXG5cdC5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XHJcblx0XHJcblx0Lm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwgLm1DU0JfZHJhZ2dlciwgXHJcblx0Lm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCAubUNTQl9kcmFnZ2VyeyBoZWlnaHQ6IDUwcHg7IH1cclxuXHRcclxuXHQubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIsIFxyXG5cdC5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyeyB3aWR0aDogNTBweDsgfVxyXG5cdFxyXG5cdC5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XHJcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0yMClcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTIwKVwiOyBcclxuXHR9XHJcblx0XHJcblx0Lm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXHJcblx0Lm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFye1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xyXG5cdFx0ZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NTApXCI7IC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT01MClcIjsgXHJcblx0fVxyXG5cdFxyXG5cdFxyXG5cdC8qIHRoZW1lOiBcIm1pbmltYWwtZGFya1wiICovXHJcblx0XHJcblx0Lm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjIpO1xyXG5cdFx0ZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MjApXCI7IC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0yMClcIjsgXHJcblx0fVxyXG5cdFxyXG5cdC5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXHJcblx0Lm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJ7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNSk7XHJcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT01MClcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTUwKVwiOyBcclxuXHR9XHJcblx0XHJcblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cdFxyXG5cdFxyXG5cdFxyXG5cdC8qIHRoZW1lIFwibGlnaHQtM1wiLCBcImRhcmstM1wiICovXHJcblx0XHJcblx0Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsIFxyXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XHJcblx0XHR3aWR0aDogNnB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjIpO1xyXG5cdH1cclxuXHJcblx0Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXHJcblx0Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyeyB3aWR0aDogNnB4OyB9XHJcblxyXG5cdC5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXHJcblx0Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxyXG5cdC5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsIFxyXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiA2cHg7XHJcblx0XHRtYXJnaW46IDVweCAwO1xyXG5cdH1cclxuXHRcclxuXHQubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsIFxyXG5cdC5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsLCBcclxuXHQubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCwgXHJcblx0Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbHtcclxuXHRcdHdpZHRoOiAxMnB4O1xyXG5cdH1cclxuXHRcclxuXHQubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCwgXHJcblx0Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbCwgXHJcblx0Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCwgXHJcblx0Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlse1xyXG5cdFx0aGVpZ2h0OiAxMnB4O1xyXG5cdFx0bWFyZ2luOiAycHggMDtcclxuXHR9XHJcblx0XHJcblx0Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC03MnB4OyB9XHJcblx0XHJcblx0Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTkycHg7IH1cclxuXHRcclxuXHQubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTEycHg7IH1cclxuXHRcclxuXHQubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTEyOHB4OyB9XHJcblx0XHJcblx0XHJcblx0LyogdGhlbWUgXCJkYXJrLTNcIiAqL1xyXG5cdFxyXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjc1KTsgfVxyXG5cclxuXHQubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC44NSk7IH1cclxuXHJcblx0Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2JhcixcclxuXHQubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjkpOyB9XHJcblx0XHJcblx0Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjEpOyB9XHJcblx0XHJcblx0Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC03MnB4OyB9XHJcblxyXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC05MnB4OyB9XHJcblxyXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMTJweDsgfVxyXG5cclxuXHQubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e1x0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMjhweDsgfVxyXG5cdFxyXG5cdC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHRcclxuXHRcclxuXHRcclxuXHQvKiB0aGVtZSBcImluc2V0XCIsIFwiaW5zZXQtZGFya1wiLCBcImluc2V0LTJcIiwgXCJpbnNldC0yLWRhcmtcIiwgXCJpbnNldC0zXCIsIFwiaW5zZXQtMy1kYXJrXCIgKi9cclxuXHRcclxuXHQubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsIFxyXG5cdC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLCBcclxuXHQubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXHJcblx0Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXHJcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsIFxyXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XHJcblx0XHR3aWR0aDogMTJweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4yKTtcclxuXHR9XHJcblxyXG5cdC5tQ1MtaW5zZXQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxyXG5cdC5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxyXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcnsgXHJcblx0XHR3aWR0aDogNnB4O1xyXG5cdFx0bWFyZ2luOiAzcHggNXB4O1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdH1cclxuXHJcblx0Lm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXHJcblx0Lm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxyXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxyXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xyXG5cdFx0aGVpZ2h0OiA2cHg7XHJcblx0XHRtYXJnaW46IDVweCAzcHg7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdHRvcDogMDtcclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHRyaWdodDogMDtcclxuXHR9XHJcblx0XHJcblx0Lm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsIFxyXG5cdC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsIFxyXG5cdC5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsIFxyXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXHJcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXHJcblx0Lm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlse1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDEycHg7XHJcblx0XHRtYXJnaW46IDJweCAwO1xyXG5cdH1cclxuXHRcclxuXHQubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAsIFxyXG5cdC5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLCBcclxuXHQubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTcycHg7IH1cclxuXHRcclxuXHQubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biwgXHJcblx0Lm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biwgXHJcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTkycHg7IH1cclxuXHRcclxuXHQubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCwgXHJcblx0Lm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCwgXHJcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTExMnB4OyB9XHJcblx0XHJcblx0Lm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0LCBcclxuXHQubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCwgXHJcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7IGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xMjhweDsgfVxyXG5cdFxyXG5cdFxyXG5cdC8qIHRoZW1lIFwiaW5zZXQtZGFya1wiLCBcImluc2V0LTItZGFya1wiLCBcImluc2V0LTMtZGFya1wiICovXHJcblx0XHJcblx0Lm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXHJcblx0Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC43NSk7IH1cclxuXHJcblx0Lm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciwgXHJcblx0Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC44NSk7IH1cclxuXHJcblx0Lm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXHJcblx0Lm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxyXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLCBcclxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxyXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuOSk7IH1cclxuXHRcclxuXHQubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXHJcblx0Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXHJcblx0Lm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjEpOyB9XHJcblx0XHJcblx0Lm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAsIFxyXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAsIFxyXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNzJweDsgfVxyXG5cclxuXHQubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duLCBcclxuXHQubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sIFxyXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC05MnB4OyB9XHJcblxyXG5cdC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsIFxyXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCwgXHJcblx0Lm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTExMnB4OyB9XHJcblxyXG5cdC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0LCBcclxuXHQubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0LCBcclxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e1x0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMjhweDsgfVxyXG5cdFxyXG5cdFxyXG5cdC8qIHRoZW1lIFwiaW5zZXQtMlwiLCBcImluc2V0LTItZGFya1wiICovXHJcblx0XHJcblx0Lm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsIFxyXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdGJvcmRlci13aWR0aDogMXB4O1xyXG5cdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHRcdGJvcmRlci1jb2xvcjogI2ZmZjtcclxuXHRcdGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjIpO1xyXG5cdFx0LXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0fVxyXG5cdFxyXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7IGJvcmRlci1jb2xvcjogIzAwMDsgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLDAuMik7IH1cclxuXHRcclxuXHRcclxuXHQvKiB0aGVtZSBcImluc2V0LTNcIiwgXCJpbnNldC0zLWRhcmtcIiAqL1xyXG5cdFxyXG5cdC5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlseyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNik7IH1cclxuXHRcclxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlseyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNik7IH1cclxuXHRcclxuXHQubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNzUpOyB9XHJcblx0XHJcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjg1KTsgfVxyXG5cdFxyXG5cdC5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxyXG5cdC5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjkpOyB9XHJcblx0XHJcblx0Lm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNzUpOyB9XHJcblx0XHJcblx0Lm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuODUpOyB9XHJcblx0XHJcblx0Lm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2JhcixcclxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjkpOyB9XHJcblx0XHJcblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBDb2xvclZhcmlhYmxlLCBRdWFsaWZ5aW5nRWxlbWVudCwgVmVuZG9yUHJlZml4XHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZ2xvYmFsXHJcbi8vLy9cclxuXHJcbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxyXG4vLy8gQHR5cGUgTWFwXHJcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcclxuICBwcmltYXJ5OiAjMjE5OWU4LFxyXG4gIHNlY29uZGFyeTogIzc3NyxcclxuICBzdWNjZXNzOiAjM2FkYjc2LFxyXG4gIHdhcm5pbmc6ICNmZmFlMDAsXHJcbiAgYWxlcnQ6ICNlYzU4NDAsXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xyXG5cclxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cclxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cclxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcclxuXHJcbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cclxuLy8vIEB0eXBlIEtleXdvcmRcclxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xyXG5cclxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRnbG9iYWwtZmxleGJveDogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcclxuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xyXG59XHJcblxyXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cclxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xyXG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xyXG5cclxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xyXG4kcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcclxuJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xyXG4kc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKTtcclxuJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZyk7XHJcbiRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XHJcblxyXG4vLyBSZW1vdmUgdGhpcyBpbiA2LjNcclxuJC16Zi1tZW51LWljb24taW1wb3J0ZWQ6IGZhbHNlO1xyXG4kLXpmLWZsZXgtY2xhc3Nlcy1pbXBvcnRlZDogZmFsc2U7XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcclxuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xyXG5cclxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcclxuICAuZm91bmRhdGlvbi1tcSB7XHJcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XHJcbiAgfVxyXG5cclxuICBodG1sIHtcclxuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIH1cclxuXHJcbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcclxuICAqLFxyXG4gICo6OmJlZm9yZSxcclxuICAqOjphZnRlciB7XHJcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xyXG4gIH1cclxuXHJcbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xyXG4gIGJvZHkge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xyXG5cclxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcclxuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbWcge1xyXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcclxuXHJcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIH1cclxuXHJcbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XHJcbiAgdGV4dGFyZWEge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbWluLWhlaWdodDogNTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gIH1cclxuXHJcbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxyXG4gIHNlbGVjdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gIH1cclxuXHJcbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcclxuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJZFNlbGVjdG9yXHJcbiAgI21hcF9jYW52YXMsXHJcbiAgLm1hcF9jYW52YXMsXHJcbiAgLm1xYS1kaXNwbGF5IHtcclxuICAgIGltZyxcclxuICAgIGVtYmVkLFxyXG4gICAgb2JqZWN0IHtcclxuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXHJcbiAgYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgfVxyXG5cclxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XHJcbiAgLmlzLXZpc2libGUge1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5pcy1oaWRkZW4ge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuQG1peGluIC16Zi1ub3JtYWxpemUge1xyXG4gIC8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cclxuXHJcbiAgLyoqXHJcbiAgICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cclxuICAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxyXG4gICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cclxuICAgKi9cclxuXHJcbiAgaHRtbCB7XHJcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xyXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cclxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxyXG4gICAqL1xyXG5cclxuICBib2R5IHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gIC8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAvKipcclxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxyXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXHJcbiAgICogYW5kIEZpcmVmb3guXHJcbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cclxuICAgKi9cclxuXHJcbiAgYXJ0aWNsZSxcclxuICBhc2lkZSxcclxuICBkZXRhaWxzLFxyXG4gIGZpZ2NhcHRpb24sXHJcbiAgZmlndXJlLFxyXG4gIGZvb3RlcixcclxuICBoZWFkZXIsXHJcbiAgaGdyb3VwLFxyXG4gIG1haW4sXHJcbiAgbWVudSxcclxuICBuYXYsXHJcbiAgc2VjdGlvbixcclxuICBzdW1tYXJ5IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cclxuICAgKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXHJcbiAgICovXHJcblxyXG4gIGF1ZGlvLFxyXG4gIGNhbnZhcyxcclxuICBwcm9ncmVzcyxcclxuICB2aWRlbyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cclxuICAgKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxyXG4gICAqL1xyXG5cclxuICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGhlaWdodDogMDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cclxuICAgKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXHJcbiAgICovXHJcblxyXG4gIFtoaWRkZW5dLFxyXG4gIHRlbXBsYXRlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAvKiBMaW5rc1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxyXG4gICAqL1xyXG5cclxuICBhIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxyXG4gICAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cclxuICAgKi9cclxuXHJcbiAgYTphY3RpdmUsXHJcbiAgYTpob3ZlciB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gIH1cclxuXHJcbiAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAvKipcclxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXHJcbiAgICovXHJcblxyXG4gIGFiYnJbdGl0bGVdIHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXHJcbiAgICovXHJcblxyXG4gIGIsXHJcbiAgc3Ryb25nIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxyXG4gICAqL1xyXG5cclxuICBkZm4ge1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxyXG4gICAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cclxuICAgKi9cclxuXHJcbiAgaDEge1xyXG4gICAgZm9udC1zaXplOiAyZW07XHJcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cclxuICAgKi9cclxuXHJcbiAgbWFyayB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmYwO1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICAgKi9cclxuXHJcbiAgc21hbGwge1xyXG4gICAgZm9udC1zaXplOiA4MCU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXHJcblxyXG4gIHN1YixcclxuICBzdXAge1xyXG4gICAgZm9udC1zaXplOiA3NSU7XHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICB9XHJcblxyXG4gIHN1cCB7XHJcbiAgICB0b3A6IC0wLjVlbTtcclxuICB9XHJcblxyXG4gIHN1YiB7XHJcbiAgICBib3R0b206IC0wLjI1ZW07XHJcbiAgfVxyXG5cclxuICAvKiBFbWJlZGRlZCBjb250ZW50XHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXHJcbiAgICovXHJcblxyXG4gIGltZyB7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cclxuICAgKi9cclxuXHJcbiAgc3ZnOm5vdCg6cm9vdCkge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcblxyXG4gIC8qIEdyb3VwaW5nIGNvbnRlbnRcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAvKipcclxuICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cclxuICAgKi9cclxuXHJcbiAgZmlndXJlIHtcclxuICAgIG1hcmdpbjogMWVtIDQwcHg7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXHJcbiAgICovXHJcblxyXG4gIGhyIHtcclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXHJcblxyXG4gIHByZSB7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cclxuICAgKi9cclxuXHJcbiAgY29kZSxcclxuICBrYmQsXHJcbiAgcHJlLFxyXG4gIHNhbXAge1xyXG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgfVxyXG5cclxuICAvKiBGb3Jtc1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gIC8qKlxyXG4gICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXHJcbiAgICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxyXG4gICAqL1xyXG5cclxuICAvKipcclxuICAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXHJcbiAgICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXHJcbiAgICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cclxuICAgKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cclxuICAgKi9cclxuXHJcbiAgYnV0dG9uLFxyXG4gIGlucHV0LFxyXG4gIG9wdGdyb3VwLFxyXG4gIHNlbGVjdCxcclxuICB0ZXh0YXJlYSB7XHJcbiAgICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xyXG4gICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xyXG4gICAgbWFyZ2luOiAwOyAvKiAzICovXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cclxuICAgKi9cclxuXHJcbiAgYnV0dG9uIHtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxyXG4gICAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXHJcbiAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cclxuICAgKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXHJcbiAgICovXHJcblxyXG4gIGJ1dHRvbixcclxuICBzZWxlY3Qge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxyXG4gICAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxyXG4gICAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cclxuICAgKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxyXG4gICAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cclxuICAgKi9cclxuXHJcbiAgYnV0dG9uLFxyXG4gIGh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xyXG4gIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcclxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXHJcbiAgICovXHJcblxyXG4gIGJ1dHRvbltkaXNhYmxlZF0sXHJcbiAgaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cclxuICAgKi9cclxuXHJcbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxyXG4gIGlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXHJcbiAgICogdGhlIFVBIHN0eWxlc2hlZXQuXHJcbiAgICovXHJcblxyXG4gIGlucHV0IHtcclxuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXHJcbiAgICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cclxuICAgKlxyXG4gICAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXHJcbiAgICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cclxuICAgKi9cclxuXHJcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxyXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxyXG4gICAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXHJcbiAgICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxyXG4gICAqL1xyXG5cclxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXHJcbiAgICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cclxuICAgKi9cclxuXHJcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xyXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxyXG4gICAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcclxuICAgKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXHJcbiAgICovXHJcblxyXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXHJcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXHJcbiAgICogW05PVEVdIFdlIGRvbid0IGVuYWJsZSB0aGlzIHJ1bGVzZXQgaW4gRm91bmRhdGlvbiwgYmVjYXVzZSB3ZSB3YW50IHRoZSA8ZmllbGRzZXQ+IGVsZW1lbnQgdG8gaGF2ZSBwbGFpbiBzdHlsaW5nLlxyXG4gICAqL1xyXG5cclxuICAvKiBmaWVsZHNldCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xyXG4gICAgbWFyZ2luOiAwIDJweDtcclxuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcclxuICB9ICovXHJcblxyXG4gIC8qKlxyXG4gICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cclxuICAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXHJcbiAgICovXHJcblxyXG4gIGxlZ2VuZCB7XHJcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cclxuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXHJcbiAgICovXHJcblxyXG4gIHRleHRhcmVhIHtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxyXG4gICAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxyXG4gICAqL1xyXG5cclxuICBvcHRncm91cCB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICB9XHJcblxyXG4gIC8qIFRhYmxlc1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cclxuICAgKi9cclxuXHJcbiAgdGFibGUge1xyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgdGQsXHJcbiAgdGgge1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcbn1cclxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXHJcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vL1xyXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XHJcbi8vXHJcbi8vICAgMS4gR2xvYmFsXHJcbi8vICAgMi4gQnJlYWtwb2ludHNcclxuLy8gICAzLiBUaGUgR3JpZFxyXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxyXG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAgIDYuIEFiaWRlXHJcbi8vICAgNy4gQWNjb3JkaW9uXHJcbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gICA5LiBCYWRnZVxyXG4vLyAgMTAuIEJyZWFkY3J1bWJzXHJcbi8vICAxMS4gQnV0dG9uXHJcbi8vICAxMi4gQnV0dG9uIEdyb3VwXHJcbi8vICAxMy4gQ2FsbG91dFxyXG4vLyAgMTQuIENsb3NlIEJ1dHRvblxyXG4vLyAgMTUuIERyaWxsZG93blxyXG4vLyAgMTYuIERyb3Bkb3duXHJcbi8vICAxNy4gRHJvcGRvd24gTWVudVxyXG4vLyAgMTguIEZsZXggVmlkZW9cclxuLy8gIDE5LiBGb3Jtc1xyXG4vLyAgMjAuIExhYmVsXHJcbi8vICAyMS4gTWVkaWEgT2JqZWN0XHJcbi8vICAyMi4gTWVudVxyXG4vLyAgMjMuIE1ldGVyXHJcbi8vICAyNC4gT2ZmLWNhbnZhc1xyXG4vLyAgMjUuIE9yYml0XHJcbi8vICAyNi4gUGFnaW5hdGlvblxyXG4vLyAgMjcuIFByb2dyZXNzIEJhclxyXG4vLyAgMjguIFJldmVhbFxyXG4vLyAgMjkuIFNsaWRlclxyXG4vLyAgMzAuIFN3aXRjaFxyXG4vLyAgMzEuIFRhYmxlXHJcbi8vICAzMi4gVGFic1xyXG4vLyAgMzMuIFRodW1ibmFpbFxyXG4vLyAgMzQuIFRpdGxlIEJhclxyXG4vLyAgMzUuIFRvb2x0aXBcclxuLy8gIDM2LiBUb3AgQmFyXHJcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XHJcblxyXG4vLyAxLiBHbG9iYWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XHJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xyXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXHJcbiAgICAgICAgcHJpbWFyeTogI2M2OGMzMSxcclxuICAgICAgICBzZWNvbmRhcnk6ICM3NzcsXHJcbiAgICAgICAgc3VjY2VzczogIzNhZGI3NixcclxuICAgICAgICB3YXJuaW5nOiAjZmZhZTAwLFxyXG4gICAgICAgIGFsZXJ0OiAjZWM1ODQwLFxyXG4gICAgICAgIGRhbmdlcjogI2IzMTIyZCxcclxuICAgICAgICBicmlnaHQ6ICNmZjY2MDAsXHJcbiAgICAgICAgbGluazogI2ZlZmVmZVxyXG4pO1xyXG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcclxuJG1lZGl1bS1ncmF5OiAjYmJiO1xyXG4kZGFyay1ncmF5OiAjNjY2O1xyXG4kYmxhY2s6ICMwYTBhMGE7XHJcbiR3aGl0ZTogI2ZlZmVmZTtcclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XHJcbiRib2R5LWZvbnQtZmFtaWx5OiAnRnV0dXJhJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcclxuJGdsb2JhbC1tYXJnaW46IDFyZW07XHJcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XHJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XHJcbiRnbG9iYWwtcmFkaXVzOiAwO1xyXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XHJcbiRnbG9iYWwtZmxleGJveDogZmFsc2U7XHJcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcclxuXHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuXHJcbi8vc2l0ZSBzZXR0aW5nc1xyXG5cclxuJGZvbnQtcGF0aDogJy4uL2ZvbnRzJztcclxuJGltYWdlLXBhdGg6ICcuLi9pbWcnO1xyXG5cclxuJHNpZGViYXItd2lkdGg6IDM4NXB4O1xyXG4kc2lkZWJhci13aWR0aC1uYXJyb3c6IDI2MHB4O1xyXG4kY29udGVudC1zcGFjZTogMjVweDtcclxuXHJcbi8vc2l0ZSBjb2xvciBzZXR0aW5nc1xyXG5cclxuJG5hdi10ZXh0LWNvbG9yOiAkd2hpdGU7XHJcbiRuYXYtYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGRhbmdlcik7XHJcbiRuYXYtc3ViLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjcpO1xyXG5cclxuLy9zaXRlIGZvbnRzXHJcblxyXG4kZm9udC1tYWluOiAkYm9keS1mb250LWZhbWlseTtcclxuJGZvbnQtY29uZGVuc2VkOiAnQmViYXMnLCBzYW5zLXNlcmlmO1xyXG5cclxuLy8gMi4gQnJlYWtwb2ludHNcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRicmVha3BvaW50czogKFxyXG4gICAgICAgIHNtYWxsOiAwLFxyXG4gICAgICAgIG1lZGl1bTogNjQwcHgsXHJcbiAgICAgICAgbGFyZ2U6IDEwMjRweCxcclxuICAgICAgICB4bGFyZ2U6IDEyMDBweCxcclxuICAgICAgICB4eGxhcmdlOiAxNDQwcHgsXHJcbik7XHJcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xyXG5cclxuLy8gMy4gVGhlIEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcclxuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxyXG4gICAgICAgIHNtYWxsOiAyMHB4LFxyXG4gICAgICAgIG1lZGl1bTogMzBweCxcclxuKTtcclxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XHJcbiRibG9jay1ncmlkLW1heDogODtcclxuXHJcbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcclxuJGhlYWRlci1zaXplczogKFxyXG4gICAgICAgIHNtYWxsOiAoXHJcbiAgICAgICAgICAgICAgICAnaDEnOiAyNCxcclxuICAgICAgICAgICAgICAgICdoMic6IDIwLFxyXG4gICAgICAgICAgICAgICAgJ2gzJzogMTksXHJcbiAgICAgICAgICAgICAgICAnaDQnOiAxOCxcclxuICAgICAgICAgICAgICAgICdoNSc6IDE3LFxyXG4gICAgICAgICAgICAgICAgJ2g2JzogMTYsXHJcbiAgICAgICAgKSxcclxuICAgICAgICBtZWRpdW06IChcclxuICAgICAgICAgICAgICAgICdoMSc6IDQ4LFxyXG4gICAgICAgICAgICAgICAgJ2gyJzogNDAsXHJcbiAgICAgICAgICAgICAgICAnaDMnOiAzMSxcclxuICAgICAgICAgICAgICAgICdoNCc6IDI1LFxyXG4gICAgICAgICAgICAgICAgJ2g1JzogMjAsXHJcbiAgICAgICAgICAgICAgICAnaDYnOiAxNixcclxuICAgICAgICApLFxyXG4pO1xyXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xyXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kY29kZS1jb2xvcjogJGJsYWNrO1xyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xyXG4kYW5jaG9yLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpbmspO1xyXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XHJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XHJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XHJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XHJcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XHJcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcclxuXHJcbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xyXG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XHJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XHJcblxyXG4vLyA2LiBBYmlkZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGFiaWRlLWlucHV0czogdHJ1ZTtcclxuJGFiaWRlLWxhYmVsczogdHJ1ZTtcclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XHJcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIDcuIEFjY29yZGlvblxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xyXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XHJcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcclxuXHJcbi8vIDguIEFjY29yZGlvbiBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XHJcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHJcbi8vIDkuIEJhZGdlXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRiYWRnZS1jb2xvcjogZm9yZWdyb3VuZCgkYmFkZ2UtYmFja2dyb3VuZCk7XHJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xyXG5cclxuLy8gMTAuIEJyZWFkY3J1bWJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XHJcbiRicmVhZGNydW1icy1pdGVtLXNsYXNoOiB0cnVlO1xyXG5cclxuLy8gMTEuIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uLXBhZGRpbmc6IDAuNjVlbSAyZW07XHJcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcclxuJGJ1dHRvbi1maWxsOiBzb2xpZDtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xyXG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XHJcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGJ1dHRvbi1zaXplczogKFxyXG4gICAgICAgIHRpbnk6IDAuNnJlbSxcclxuICAgICAgICBzbWFsbDogMC43NXJlbSxcclxuICAgICAgICBkZWZhdWx0OiAyMHB4LFxyXG4gICAgICAgIGxhcmdlOiAxLjI1cmVtLFxyXG4pO1xyXG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XHJcblxyXG4vLyAxMi4gQnV0dG9uIEdyb3VwXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XHJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XHJcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcclxuXHJcbi8vIDEzLiBDYWxsb3V0XHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xyXG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XHJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xyXG5cclxuLy8gMTQuIENsb3NlIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAxcmVtO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAwLjVyZW07XHJcbiRjbG9zZWJ1dHRvbi1zaXplOiAyZW07XHJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xyXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xyXG5cclxuLy8gMTUuIERyaWxsZG93blxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XHJcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xyXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblxyXG4vLyAxNi4gRHJvcGRvd25cclxuLy8gLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcclxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRkcm9wZG93bi1zaXplczogKFxyXG4gICAgICAgIHRpbnk6IDEwMHB4LFxyXG4gICAgICAgIHNtYWxsOiAyMDBweCxcclxuICAgICAgICBsYXJnZTogNDAwcHgsXHJcbik7XHJcblxyXG4vLyAxNy4gRHJvcGRvd24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XHJcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG5cclxuLy8gMTguIEZsZXggVmlkZW9cclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4kZmxleHZpZGVvLXJhdGlvOiA0IGJ5IDM7XHJcbiRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbjogMTYgYnkgOTtcclxuXHJcbi8vIDE5LiBGb3Jtc1xyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XHJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XHJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogbm9uZTtcclxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xyXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGlucHV0LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtYm9yZGVyOiBub25lO1xyXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiRpbnB1dC1zaGFkb3c6IG5vbmU7XHJcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IG5vbmU7XHJcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IGRlZmF1bHQ7XHJcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcclxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyMC4gTGFiZWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCk7XHJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIxLiBNZWRpYSBPYmplY3RcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xyXG5cclxuLy8gMjIuIE1lbnVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRtZW51LW1hcmdpbjogMDtcclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbTtcclxuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG5cclxuLy8gMjMuIE1ldGVyXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG1ldGVyLWhlaWdodDogMXJlbTtcclxuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcclxuXHJcbi8vIDI0LiBPZmYtY2FudmFzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4O1xyXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kb2ZmY2FudmFzLXppbmRleDogLTE7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XHJcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xyXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xyXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xyXG4kbWFpbmNvbnRlbnQtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC41KTtcclxuXHJcbi8vIDI1LiBPcmJpdFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xyXG5cclxuLy8gMjYuIFBhZ2luYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogZm9yZWdyb3VuZCgkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xyXG5cclxuLy8gMjcuIFByb2dyZXNzIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xyXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyOC4gUmV2ZWFsXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcmV2ZWFsLXppbmRleDogMTAwNTtcclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcclxuXHJcbi8vIDI5LiBTbGlkZXJcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xyXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xyXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMzAuIFN3aXRjaFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XHJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XHJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcclxuXHJcbi8vIDMxLiBUYWJsZVxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XHJcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xyXG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtc3RyaXBlOiBldmVuO1xyXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XHJcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xyXG5cclxuLy8gMzIuIFRhYnNcclxuLy8gLS0tLS0tLS1cclxuXHJcbiR0YWItbWFyZ2luOiAwO1xyXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJHdoaXRlO1xyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiAyNHB4O1xyXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XHJcbiR0YWItZXhwYW5kLW1heDogNjtcclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1jb250ZW50LWJvcmRlcjogdHJhbnNwYXJlbnQ7XHJcbiR0YWItY29udGVudC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XHJcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xyXG5cclxuLy8gMzMuIFRodW1ibmFpbFxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcclxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcclxuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XHJcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMzQuIFRpdGxlIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xyXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcclxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XHJcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcblxyXG4vLyAzNS4gVG9vbHRpcFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XHJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XHJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAzNi4gVG9wIEJhclxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XHJcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XHJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMXJlbTtcclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XHJcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBmdW5jdGlvbnNcclxuLy8vL1xyXG5cclxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cclxuQG1peGluIGNzcy10cmlhbmdsZShcclxuICAkdHJpYW5nbGUtc2l6ZSxcclxuICAkdHJpYW5nbGUtY29sb3IsXHJcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxyXG4pIHtcclxuICBjb250ZW50OiAnJztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcclxuXHJcbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcclxuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xyXG4gIH1cclxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xyXG4gIH1cclxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xyXG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xyXG4gIH1cclxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cclxuQG1peGluIGhhbWJ1cmdlcihcclxuICAkY29sb3I6ICRibGFjayxcclxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXHJcbiAgJHdpZHRoOiAyMHB4LFxyXG4gICRoZWlnaHQ6IDE2cHgsXHJcbiAgJHdlaWdodDogMnB4LFxyXG4gICRiYXJzOiAzXHJcbikge1xyXG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxyXG4gICRzaGFkb3c6ICgpO1xyXG4gICRob3Zlci1zaGFkb3c6ICgpO1xyXG5cclxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcclxuXHJcbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xyXG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcclxuICB9XHJcblxyXG4gIC8vIEljb24gY29udGFpbmVyXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB3aWR0aDogJHdpZHRoO1xyXG4gIGhlaWdodDogJGhlaWdodDtcclxuXHJcbiAgLy8gSWNvbiBiYXJzXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuXHJcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcclxuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcclxuICAgICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xyXG4gICAgfVxyXG5cclxuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgfVxyXG5cclxuICAvLyBIb3ZlciBzdGF0ZVxyXG4gIEBpZiAkY29sb3ItaG92ZXIge1xyXG4gICAgLy8gR2VuZXJhdGUgQ1NTXHJcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcclxuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcclxuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXI6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xyXG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXHJcbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxyXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xyXG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcclxuXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xyXG5cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcclxuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XHJcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cclxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXHJcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xyXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcclxuQG1peGluIGNsZWFyZml4IHtcclxuICAmOjpiZWZvcmUsXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyAnO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgICAgZmxleC1iYXNpczogMDtcclxuICAgICAgb3JkZXI6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXHJcbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cclxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XHJcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcclxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxyXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XHJcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXHJcbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xyXG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXHJcbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XHJcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6IDFweDtcclxuICBoZWlnaHQ6IDFweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XHJcbn1cclxuXHJcbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXHJcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xyXG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgY2xpcDogYXV0bztcclxufVxyXG5cclxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxyXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcclxuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxufVxyXG5cclxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXHJcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xyXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG59XHJcblxyXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXHJcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xyXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG59XHJcblxyXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXHJcbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSkge1xyXG4gICRtYXA6ICRicmVha3BvaW50LWNsYXNzZXM7XHJcblxyXG4gIEBpZiBub3QgJHNtYWxsIHtcclxuICAgICRtYXA6IG1hcC1yZW1vdmUoJG1hcCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xyXG4gIH1cclxuXHJcbiAgQGVhY2ggJHNpemUgaW4gJG1hcCB7XHJcbiAgICAkLXpmLXNpemU6ICRzaXplICFnbG9iYWw7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxyXG4vLy8vXHJcblxyXG4vLyBCYXNlIFR5cG9ncmFwaHlcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxyXG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cclxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cclxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxyXG4vLyAgIC0gSGVhZGluZ3MgPGgxPuKAlDxoNj5cclxuLy8gICAtIEFuY2hvcnMgPGE+XHJcbi8vICAgLSBEaXZpZGVycyA8aHI+XHJcbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxyXG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XHJcbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cclxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XHJcbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XHJcbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XHJcblxyXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cclxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcclxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xyXG5cclxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xyXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTaXplcyBvZiBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHNpemVzLlxyXG4vLy8gQHR5cGUgTWFwXHJcbiRoZWFkZXItc2l6ZXM6IChcclxuICBzbWFsbDogKFxyXG4gICAgJ2gxJzogMjQsXHJcbiAgICAnaDInOiAyMCxcclxuICAgICdoMyc6IDE5LFxyXG4gICAgJ2g0JzogMTgsXHJcbiAgICAnaDUnOiAxNyxcclxuICAgICdoNic6IDE2LFxyXG4gICksXHJcbiAgbWVkaXVtOiAoXHJcbiAgICAnaDEnOiA0OCxcclxuICAgICdoMic6IDQwLFxyXG4gICAgJ2gzJzogMzEsXHJcbiAgICAnaDQnOiAyNSxcclxuICAgICdoNSc6IDIwLFxyXG4gICAgJ2g2JzogMTYsXHJcbiAgKSxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcclxuXHJcbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxyXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cclxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcclxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHRleHQgZGVvY3JhdGlvbiBmb3IgbGlua3MuXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xyXG5cclxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXHJcbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XHJcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xyXG5cclxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XHJcblxyXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xyXG5cclxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xyXG5cclxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxyXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxyXG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xyXG5cclxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XHJcblxyXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcclxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xyXG5cclxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcclxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcclxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcclxuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xyXG4gIGRpdixcclxuICBkbCxcclxuICBkdCxcclxuICBkZCxcclxuICB1bCxcclxuICBvbCxcclxuICBsaSxcclxuICBoMSxcclxuICBoMixcclxuICBoMyxcclxuICBoNCxcclxuICBoNSxcclxuICBoNixcclxuICBwcmUsXHJcbiAgZm9ybSxcclxuICBwLFxyXG4gIGJsb2NrcXVvdGUsXHJcbiAgdGgsXHJcbiAgdGQge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcblxyXG4gIC8vIFBhcmFncmFwaHNcclxuICBwIHtcclxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcclxuICB9XHJcblxyXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxyXG4gIGVtLFxyXG4gIGkge1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBTdHJvbmcgdGV4dFxyXG4gIHN0cm9uZyxcclxuICBiIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBTbWFsbCB0ZXh0XHJcbiAgc21hbGwge1xyXG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBIZWFkaW5nc1xyXG4gIGgxLFxyXG4gIGgyLFxyXG4gIGgzLFxyXG4gIGg0LFxyXG4gIGg1LFxyXG4gIGg2IHtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XHJcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XHJcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcclxuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206ICRoZWFkZXItbWFyZ2luLWJvdHRvbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmVoZWlnaHQ7XHJcblxyXG4gICAgc21hbGwge1xyXG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xyXG4gICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEhlYWRpbmcgc2l6ZXNcclxuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xyXG4gICAgICAgICN7JGhlYWRlcn0ge1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIExpbmtzXHJcbiAgYSB7XHJcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XHJcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xyXG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBIb3Jpem9udGFsIHJ1bGVcclxuICBociB7XHJcbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcblxyXG4gIC8vIExpc3RzXHJcbiAgdWwsXHJcbiAgb2wsXHJcbiAgZGwge1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xyXG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XHJcbiAgfVxyXG5cclxuICAvLyBMaXN0IGl0ZW1zXHJcbiAgbGkge1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gIH1cclxuXHJcbiAgLy8gVW5vcmRlcmVkIGxpc3RzXHJcbiAgdWwge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XHJcbiAgfVxyXG5cclxuICAvLyBPcmRlcmVkIGxpc3RzXHJcbiAgb2wge1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XHJcbiAgfVxyXG5cclxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcclxuICB1bCwgb2wge1xyXG4gICAgJiAmIHtcclxuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xyXG4gIGRsIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xyXG5cclxuICAgIGR0IHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEJsb2NrcXVvdGVzXHJcbiAgYmxvY2txdW90ZSB7XHJcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xyXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xyXG5cclxuICAgICYsIHAge1xyXG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xyXG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBDaXRhdGlvbnNcclxuICBjaXRlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XHJcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBBYmJyZXZpYXRpb25zXHJcbiAgYWJiciB7XHJcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgIGN1cnNvcjogaGVscDtcclxuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcclxuICB9XHJcblxyXG4gIC8vIENvZGVcclxuICBjb2RlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcclxuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XHJcbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcclxuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XHJcbiAgfVxyXG5cclxuICAvLyBLZXlzdHJva2VzXHJcbiAga2JkIHtcclxuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xyXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcclxuXHJcbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXHJcbi8vLy9cclxuXHJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xyXG5cclxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcclxuXHJcbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxyXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XHJcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XHJcbn1cclxuXHJcbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxyXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcclxuICAkcmVtLXZhbHVlczogKCk7XHJcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XHJcblxyXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcclxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XHJcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XHJcbiAgfVxyXG5cclxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcclxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXHJcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XHJcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xyXG4gIH1cclxuICBcclxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXHJcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcclxuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XHJcbiAgfVxyXG5cclxuICBAaWYgJGNvdW50ID09IDEge1xyXG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcclxuICB9XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcclxuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XHJcbn1cclxuXHJcbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXHJcbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XHJcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcclxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XHJcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xyXG4gIH1cclxuXHJcbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xyXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xyXG59XHJcblxyXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cclxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xyXG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xyXG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xyXG4gICAgQHJldHVybiAkdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbVxyXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xyXG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XHJcbiAgfVxyXG5cclxuICAvLyBUdXJuIDByZW0gaW50byAwXHJcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcclxuICAgICR2YWx1ZTogMDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlO1xyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcclxuLy8vL1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcclxuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXHJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XHJcbiAgLy8gPGhlYWRlcj5cclxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cclxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cclxuICAvLyA8L2hlYWRlcj5cclxuICAuc3ViaGVhZGVyIHtcclxuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcclxuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xyXG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcclxuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxyXG4gIC5sZWFkIHtcclxuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XHJcbiAgfVxyXG5cclxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xyXG4gIC5zdGF0IHtcclxuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcblxyXG4gICAgcCArICYge1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFVzZSB0byByZW1vdmUgdGhlIGJ1bGxldHMgZnJvbSBhbiB1bm9yZGVyZWQgbGlzdFxyXG4gIC5uby1idWxsZXQge1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcclxuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcclxuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XHJcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcclxuLy8vL1xyXG5cclxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcclxuXHJcbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXHJcbi8vLyBAdHlwZSBNYXBcclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgc21hbGw6IDAsXHJcbiAgbWVkaXVtOiA2NDBweCxcclxuICBsYXJnZTogMTAyNHB4LFxyXG4gIHhsYXJnZTogMTIwMHB4LFxyXG4gIHh4bGFyZ2U6IDE0NDBweCxcclxuKSAhZGVmYXVsdDtcclxuXHJcbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcclxuXHJcbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcclxuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XHJcbn1cclxuQGVsc2Uge1xyXG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XHJcbn1cclxuXHJcbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXHJcbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XHJcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXHJcbiAgJGJwOiBudGgoJHZhbCwgMSk7XHJcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXHJcbiAgJGJwLW1heDogMDtcclxuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxyXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xyXG4gIC8vIEV2ZW50dWFsIG91dHB1dFxyXG4gICRzdHI6ICcnO1xyXG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XHJcbiAgJG5hbWVkOiBmYWxzZTtcclxuXHJcbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxyXG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xyXG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcclxuICB9XHJcbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcclxuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xyXG4gIH1cclxuXHJcbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxyXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XHJcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XHJcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcclxuICAgICAgJG5hbWVkOiB0cnVlO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAkYnA6IDA7XHJcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXHJcbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcclxuICBAaWYgJGJwLW1heCB7XHJcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XHJcbiAgfVxyXG5cclxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cclxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxyXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXHJcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XHJcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXHJcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xyXG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcclxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcclxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxyXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xyXG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcclxuXHJcbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xyXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XHJcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xyXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xyXG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcclxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcclxuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xyXG5cclxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXHJcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcclxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xyXG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xyXG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxyXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcclxuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHN0cjtcclxufVxyXG5cclxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcclxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxyXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXHJcbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cclxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXHJcbi8vL1xyXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXHJcbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xyXG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcclxuXHJcbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxyXG4gIEBpZiAkc3RyID09ICcnIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuXHJcbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcclxuICBAZWxzZSB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxyXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XHJcbiAgJHN0cjogJyc7XHJcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xyXG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcclxuICB9XHJcbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcclxuXHJcbiAgQHJldHVybiAkc3RyO1xyXG59XHJcblxyXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cclxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cclxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XHJcblxyXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XHJcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XHJcblxyXG4gICRpOiAwO1xyXG5cclxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXHJcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xyXG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcclxuICB9XHJcblxyXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcclxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcclxuICAgIEByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXHJcbiAgQGVsc2Uge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAuIElmIHRoZSBjb25maWcgbWFwIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC4gSWYgdGhlIGNvbmZpZyBtYXAgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIElucHV0IGNvbmZpZyBtYXAuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXHJcbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcclxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxyXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcclxuICAgIEByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcclxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcclxuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XHJcbiAgfVxyXG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcclxuICBAZWxzZSB7XHJcbiAgICAkYW5jaG9yOiBudWxsO1xyXG4gICAgJGZvdW5kOiBmYWxzZTtcclxuXHJcbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XHJcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcclxuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xyXG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcclxuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBMZWdhY3kgYnJlYWtwb2ludCB2YXJpYWJsZXNcclxuLy8gVGhlc2Ugd2lsbCBiZSByZW1vdmVkIGluIDYuM1xyXG4kc21hbGwtdXA6IG51bGw7XHJcbiRzbWFsbC1vbmx5OiBudWxsO1xyXG4kbWVkaXVtLXVwOiBudWxsO1xyXG4kbWVkaXVtLW9ubHk6IG51bGw7XHJcbiRsYXJnZS11cDogbnVsbDtcclxuJGxhcmdlLW9ubHk6IG51bGw7XHJcbiR4bGFyZ2UtdXA6IG51bGw7XHJcbiR4bGFyZ2Utb25seTogbnVsbDtcclxuJHh4bGFyZ2UtdXA6IG51bGw7XHJcbiR4eGxhcmdlLW9ubHk6IG51bGw7XHJcblxyXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xyXG4gICRzbWFsbC11cDogc2NyZWVuO1xyXG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcclxufVxyXG5cclxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XHJcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcclxuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcclxufVxyXG5cclxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcclxuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcclxuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XHJcbn1cclxuXHJcbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xyXG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XHJcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XHJcbn1cclxuXHJcbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcclxuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4vLy8gQGdyb3VwIGdsb2JhbFxyXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBhbGxcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XHJcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcblxyXG4gIEBtZWRpYSBwcmludCB7XHJcbiAgICAqIHtcclxuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcclxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cclxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxyXG5cclxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxyXG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxyXG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cclxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XHJcblxyXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxyXG4gICAgYSxcclxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cclxuICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XHJcblxyXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xyXG4gICAgLmlyIGE6YWZ0ZXIsXHJcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxyXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cclxuXHJcbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcclxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cclxuXHJcbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXHJcbiAgICBwcmUsXHJcbiAgICBibG9ja3F1b3RlIHtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcclxuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGg1YnAuY29tL3RcclxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XHJcblxyXG4gICAgdHIsXHJcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cclxuXHJcbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxyXG5cclxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxyXG5cclxuICAgIHAsXHJcbiAgICBoMixcclxuICAgIGgzIHtcclxuICAgICAgb3JwaGFuczogMztcclxuICAgICAgd2lkb3dzOiAzO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xyXG4gICAgaDIsXHJcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBidXR0b25cclxuLy8vL1xyXG5cclxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cclxuLy8vIEB0eXBlIEtleXdvcmRcclxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMsIGlmIHRoZSBiYWNrZ3JvdW5kIGlzIGxpZ2h0LlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cclxuLy8vIEB0eXBlIE1hcFxyXG4kYnV0dG9uLXNpemVzOiAoXHJcbiAgdGlueTogMC42cmVtLFxyXG4gIHNtYWxsOiAwLjc1cmVtLFxyXG4gIGRlZmF1bHQ6IDAuOXJlbSxcclxuICBsYXJnZTogMS4yNXJlbSxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XHJcblxyXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcclxuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xyXG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XHJcbn1cclxuXHJcbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cclxuQG1peGluIGJ1dHRvbi1iYXNlIHtcclxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XHJcbiAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xyXG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XHJcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xyXG59XHJcblxyXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxyXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XHJcbiAgQGlmICRleHBhbmQge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cclxuQG1peGluIGJ1dHRvbi1zdHlsZShcclxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxyXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXHJcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxyXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xyXG4pIHtcclxuICBAaWYgJGNvbG9yID09IGF1dG8ge1xyXG4gICAgJGNvbG9yOiBmb3JlZ3JvdW5kKCRiYWNrZ3JvdW5kLCAkYnV0dG9uLWNvbG9yLWFsdCwgJGJ1dHRvbi1jb2xvcik7XHJcbiAgfVxyXG5cclxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XHJcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XHJcbiAgfVxyXG5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxyXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XHJcbiAgJixcclxuICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXHJcbiAgJGNvbG9yOiAkcHJpbWFyeS1jb2xvcixcclxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NcclxuKSB7XHJcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xyXG5cclxuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3I7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcclxuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxyXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcclxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XHJcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuXHJcbiAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgICBjb2xvcjogJGJ1dHRvbi1jb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxyXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxyXG4gICRzaXplOiAwLjRlbSxcclxuICAkY29sb3I6ICR3aGl0ZSxcclxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxyXG4pIHtcclxuICAmOjphZnRlciB7XHJcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxyXG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XHJcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cclxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXHJcbkBtaXhpbiBidXR0b24oXHJcbiAgJGV4cGFuZDogZmFsc2UsXHJcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcclxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxyXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcclxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxyXG4pIHtcclxuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcclxuXHJcbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XHJcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xyXG4gIH1cclxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XHJcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcclxuICB9XHJcblxyXG4gIEBpZiAkZXhwYW5kIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xyXG4gIC5idXR0b24ge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uO1xyXG5cclxuICAgIC8vIFNpemVzXHJcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xyXG4gICAgICAmLiN7JHNpemV9IHtcclxuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XHJcblxyXG4gICAgLy8gQ29sb3JzXHJcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xyXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XHJcbiAgICAgICAgJi4jeyRuYW1lfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgICYuI3skbmFtZX0ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xyXG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEhvbGxvdyBzdHlsZVxyXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xyXG4gICAgICAmLmhvbGxvdyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcclxuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xyXG5cclxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xyXG4gICAgICAgICAgJi4jeyRuYW1lfSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxyXG4gICAgJi5kaXNhYmxlZCxcclxuICAgICZbZGlzYWJsZWRdIHtcclxuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xyXG5cclxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcclxuICAgICAgICAmLiN7JG5hbWV9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIERyb3Bkb3duIGFycm93XHJcbiAgICAmLmRyb3Bkb3duIHtcclxuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xyXG5cclxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XHJcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcclxuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcclxuICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgIHRvcDogLTAuMWVtO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZm9ybXNcclxuLy8vL1xyXG5cclxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBGb250XHJcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxyXG4vLy8gQHR5cGUgQm9yZGVyXHJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cclxuLy8vIEB0eXBlIFNoYWRvd1xyXG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cclxuLy8vIEB0eXBlIFNoYWRvd1xyXG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXHJcbi8vLyBAdHlwZSBDdXJzb3JcclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxyXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxyXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxyXG4vLy8gQHR5cGUgQm9yZGVyXHJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xyXG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xyXG5cclxuICBkaXNwbGF5OiBibG9jaztcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogJGhlaWdodDtcclxuICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcclxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XHJcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcclxuXHJcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcclxuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XHJcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcclxuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xyXG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XHJcblxyXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcclxuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xyXG4gIH1cclxuXHJcbiAgLy8gRm9jdXMgc3RhdGVcclxuICAmOmZvY3VzIHtcclxuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XHJcblxyXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xyXG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XHJcbiAgLy8gVGV4dCBpbnB1dHNcclxuICAje3RleHQtaW5wdXRzKCl9LFxyXG4gIHRleHRhcmVhIHtcclxuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIFRleHQgYXJlYXNcclxuICB0ZXh0YXJlYSB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgJltyb3dzXSB7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlucHV0LFxyXG4gIHRleHRhcmVhIHtcclxuICAgIC8vIFBsYWNlaG9sZGVyIHRleHRcclxuICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxyXG4gICAgJjpkaXNhYmxlZCxcclxuICAgICZbcmVhZG9ubHldIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XHJcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcclxuICBbdHlwZT0nc3VibWl0J10sXHJcbiAgW3R5cGU9J2J1dHRvbiddIHtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXHJcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcclxuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIH1cclxuXHJcbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xyXG4gIFt0eXBlPSdudW1iZXInXSB7XHJcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xyXG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcclxuXHJcbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xyXG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGZvcm1zXHJcbi8vLy9cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xyXG4gIFt0eXBlPSdmaWxlJ10sXHJcbiAgW3R5cGU9J2NoZWNrYm94J10sXHJcbiAgW3R5cGU9J3JhZGlvJ10ge1xyXG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcclxuICB9XHJcblxyXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcclxuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxyXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuXHJcbiAgICAmW2Zvcl0ge1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXHJcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcclxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xyXG4gIH1cclxuXHJcbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcclxuICBbdHlwZT0nZmlsZSddIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZm9ybXNcclxuLy8vL1xyXG5cclxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXHJcbi8vLyBAdHlwZSBLZXl3b3JkXHJcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcclxuXHJcbkBtaXhpbiBmb3JtLWxhYmVsIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW46IDA7XHJcbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XHJcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcclxuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XHJcbn1cclxuXHJcbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XHJcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XHJcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcclxuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XHJcbiAgbGFiZWwge1xyXG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcclxuXHJcbiAgICAmLm1pZGRsZSB7XHJcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZm9ybXNcclxuLy8vL1xyXG5cclxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxyXG4vLy8gQHR5cGUgS2V5d29yZFxyXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XHJcbiAgLmhlbHAtdGV4dCB7XHJcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XHJcblxyXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XHJcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XHJcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcclxuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBmb3Jtc1xyXG4vLy8vXHJcblxyXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cclxuLy8vIEB0eXBlIEJvcmRlclxyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxyXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xyXG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XHJcblxyXG4gIC5pbnB1dC1ncm91cCB7XHJcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcclxuXHJcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgICB9XHJcblxyXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwLCAkZ2xvYmFsLXJhZGl1cyAwIDAgJGdsb2JhbC1yYWRpdXMpO1xyXG4gICAgfVxyXG5cclxuICAgID4gOmxhc3QtY2hpbGQge1xyXG4gICAgICA+ICoge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkZ2xvYmFsLXJhZGl1cyAwIDAgJGdsb2JhbC1yYWRpdXMsIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XHJcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xyXG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XHJcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIHdpZHRoOiAxJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcclxuICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcclxuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuXHJcbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxyXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIGZsZXg6IDEgMSAwcHg7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XHJcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHdpZHRoOiAxJTtcclxuICAgIH1cclxuXHJcbiAgICBhLFxyXG4gICAgaW5wdXQsXHJcbiAgICBidXR0b24ge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcclxuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nU2VsZWN0b3JcclxuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcclxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGZvcm1zXHJcbi8vLy9cclxuXHJcbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cclxuLy8vIEB0eXBlIEJvcmRlclxyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcclxuXHJcbkBtaXhpbiBmaWVsZHNldCB7XHJcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xyXG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xyXG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcclxuXHJcbiAgbGVnZW5kIHtcclxuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xyXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcclxuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xyXG4gIGZpZWxkc2V0IHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG5cclxuICBsZWdlbmQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5maWVsZHNldCB7XHJcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGZvcm1zXHJcbi8vLy9cclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGZvcm0tc2VsZWN0IHtcclxuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcclxuXHJcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMik7XHJcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xyXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XHJcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xyXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XHJcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICBjb2xvcjogJGlucHV0LWNvbG9yO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcclxuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG5cclxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XHJcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcclxuICB9XHJcblxyXG4gIC8vIERpc2FibGVkIHN0YXRlXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcclxuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXHJcbiAgJjo6LW1zLWV4cGFuZCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgJlttdWx0aXBsZV0ge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcclxuICBzZWxlY3Qge1xyXG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBhYmlkZVxyXG4vLy8vXHJcblxyXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRpbnB1dC1lcnJvci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxyXG4vLy8gQHR5cGUgS2V5d29yZFxyXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1hbHBoYSBbMC4xXSAtIFRyYW5zcGFyZW5jeSBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cclxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXHJcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXHJcbiAgJGJhY2tncm91bmQtYWxwaGE6IDAuMVxyXG4pIHtcclxuICAmOm5vdCg6Zm9jdXMpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWFscGhhKTtcclxuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXHJcbkBtaXhpbiBmb3JtLWVycm9yIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xyXG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XHJcbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XHJcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XHJcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xyXG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXHJcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XHJcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJGFiaWRlLWxhYmVscyB7XHJcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xyXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xyXG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxyXG4gIC5mb3JtLWVycm9yIHtcclxuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XHJcblxyXG4gICAgJi5pcy12aXNpYmxlIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBjbG9zZS1idXR0b25cclxuLy8vL1xyXG5cclxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcclxuXHJcbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0IGZvciBhIGNsb3NlIGJ1dHRvbi5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldCBmb3IgYSBjbG9zZSBidXR0b24uXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24uXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGNsb3NlYnV0dG9uLXNpemU6IDJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxyXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcclxuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XHJcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xyXG5cclxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XHJcbiAgI3skeH06ICRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDtcclxuICAjeyR5fTogJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDtcclxuICBmb250LXNpemU6ICRjbG9zZWJ1dHRvbi1zaXplO1xyXG4gIGxpbmUtaGVpZ2h0OiAkY2xvc2VidXR0b24tbGluZWhlaWdodDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcclxuICAuY2xvc2UtYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHJldmVhbFxyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxyXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxufVxyXG5cclxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXHJcbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XHJcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xyXG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcclxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcclxuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIG1pbi1oZWlnaHQ6IDA7XHJcbiAgfVxyXG5cclxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cclxuICAuY29sdW1uLFxyXG4gIC5jb2x1bW5zIHtcclxuICAgIG1pbi13aWR0aDogMDtcclxuICB9XHJcblxyXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxyXG4gID4gOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cclxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcclxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXHJcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcclxuKSB7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcclxuICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICBtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cclxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcclxuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBEdXBsaWNhdGVQcm9wZXJ0eVxyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMHZoO1xyXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxuICBtYXJnaW4tbGVmdDogMDtcclxuICBib3JkZXI6IDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcclxuICAvLyBbVE9ET10gSXMgdGhpcyBuZWNlc3Nhcnk/XHJcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcclxuICBib2R5LmlzLXJldmVhbC1vcGVuIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXHJcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbixcclxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xyXG4gICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIE92ZXJsYXlcclxuICAucmV2ZWFsLW92ZXJsYXkge1xyXG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XHJcbiAgfVxyXG5cclxuICAvLyBNb2RhbCBjb250YWluZXJcclxuICAucmV2ZWFsIHtcclxuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xyXG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAxMDBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuXHJcbiAgICAvLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcclxuICAgIC8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICVyZXZlYWwtY2VudGVyZWQge1xyXG4gICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xyXG4gICAgJi5jb2xsYXBzZSB7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcclxuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxyXG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XHJcbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cclxuXHJcbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXHJcbiAgICAmLmZ1bGwge1xyXG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcclxuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XHJcbiAgICB9XHJcblxyXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xyXG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCB0YWJzXHJcbi8vLy9cclxuXHJcbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gYWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXHJcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGBleHBhbmQtbmAgY2xhc3NlcyB0byBpbmNsdWRlIGluIHRoZSBDU1MuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kdGFiLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJHRhYi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cclxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcclxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cclxuQG1peGluIHRhYnMtY29udGFpbmVyIHtcclxuICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICBtYXJnaW46ICR0YWItbWFyZ2luO1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICBiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQ7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJHRhYi1jb250ZW50LWJvcmRlcjtcclxufVxyXG5cclxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxyXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xyXG4gID4gbGkge1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXHJcbkBtaXhpbiB0YWJzLXRpdGxlIHtcclxuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xyXG5cclxuICA+IGEge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZztcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXHJcbkBtaXhpbiB0YWJzLWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kO1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJHRhYi1jb250ZW50LWJvcmRlcjtcclxuICBib3JkZXItdG9wOiAwO1xyXG59XHJcblxyXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxyXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkdGFiLWNvbnRlbnQtYm9yZGVyO1xyXG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cclxuQG1peGluIHRhYnMtcGFuZWwge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmc7XHJcblxyXG4gICYuaXMtYWN0aXZlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XHJcbiAgLnRhYnMge1xyXG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XHJcbiAgfVxyXG5cclxuICAvLyBWZXJ0aWNhbFxyXG4gIC50YWJzLnZlcnRpY2FsIHtcclxuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xyXG4gIH1cclxuXHJcbiAgLy8gU2ltcGxlXHJcbiAgLnRhYnMuc2ltcGxlIHtcclxuICAgID4gbGkgPiBhIHtcclxuICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBQcmltYXJ5IGNvbG9yXHJcbiAgLnRhYnMucHJpbWFyeSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuXHJcbiAgICA+IGxpID4gYSB7XHJcbiAgICAgIGNvbG9yOiBmb3JlZ3JvdW5kKCRwcmltYXJ5LWNvbG9yKTtcclxuXHJcbiAgICAgICY6aG92ZXIsXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRhYnMtdGl0bGUge1xyXG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcclxuICB9XHJcblxyXG4gIC50YWJzLWNvbnRlbnQge1xyXG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xyXG4gIH1cclxuXHJcbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XHJcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XHJcbiAgfVxyXG5cclxuICAudGFicy1wYW5lbCB7XHJcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXHJcbi8vLy9cclxuXHJcbi8vLyBDaGVja3MgdGhlIGxpZ2h0bmVzcyBvZiBgJGNvbG9yYCwgYW5kIGlmIGl0IHBhc3NlcyB0aGUgYCR0aHJlc2hvbGRgIG9mIGxpZ2h0bmVzcywgaXQgcmV0dXJucyB0aGUgYCR5ZXNgIGNvbG9yLiBPdGhlcndpc2UsIGl0IHJldHVybnMgdGhlIGAkbm9gIGNvbG9yLiBVc2UgdGhpcyBmdW5jdGlvbiB0byBkeW5hbWljYWxseSBvdXRwdXQgYSBmb3JlZ3JvdW5kIGNvbG9yIGJhc2VkIG9uIGEgZ2l2ZW4gYmFja2dyb3VuZCBjb2xvci5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbGlnaHRuZXNzIG9mLlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHllcyBbJGJsYWNrXSAtIENvbG9yIHRvIHJldHVybiBpZiBgJGNvbG9yYCBpcyBsaWdodC5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRubyBbJHdoaXRlXSAtIENvbG9yIHRvIHJldHVybiBpZiBgJGNvbG9yYCBpcyBkYXJrLlxyXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs2MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtDb2xvcn0gVGhlICR5ZXMgY29sb3Igb3IgJG5vIGNvbG9yLlxyXG5AZnVuY3Rpb24gZm9yZWdyb3VuZCgkY29sb3IsICR5ZXM6ICRibGFjaywgJG5vOiAkd2hpdGUsICR0aHJlc2hvbGQ6IDYwJSkge1xyXG4gIEBpZiAkY29sb3IgPT0gdHJhbnNwYXJlbnQge1xyXG4gICAgJGNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4gIH1cclxuICBAaWYgKGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCkge1xyXG4gICAgQHJldHVybiAkeWVzO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAcmV0dXJuICRubztcclxuICB9XHJcbn1cclxuXHJcbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBsaWdodGVyIGlmIGl0J3MgbGlnaHQsIG9yIGRhcmtlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxyXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxyXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXHJcbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xyXG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xyXG4gICAgJHNjYWxlOiAtJHNjYWxlO1xyXG4gIH1cclxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcclxufVxyXG5cclxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXHJcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xyXG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcclxuICB9XHJcbn1cclxuXHJcbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIHZhcmlhYmxlIGludG8gdGhlIGxlZ2FjeSBjb2xvciB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXHJcbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XHJcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcclxuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XHJcbiAgfVxyXG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcclxuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xyXG4gIH1cclxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xyXG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcclxuICB9XHJcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcclxuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XHJcbiAgfVxyXG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xyXG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xyXG4gIH1cclxufVxyXG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxyXG5cclxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XHJcbn1cclxuXHJcbi8vIFRyYW5zaXRpb25zXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xyXG4gIC8vIFNsaWRlXHJcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxyXG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XHJcbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cclxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XHJcbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxyXG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XHJcbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cclxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XHJcblxyXG4gIC8vIEZhZGVcclxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XHJcbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxyXG5cclxuICAvLyBIaW5nZVxyXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxyXG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XHJcbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XHJcbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxyXG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XHJcbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cclxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cclxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxyXG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxyXG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cclxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxyXG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XHJcblxyXG4gIC8vIFNjYWxlXHJcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XHJcbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XHJcbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XHJcbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XHJcblxyXG4gIC8vIFNwaW5cclxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxyXG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XHJcbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxyXG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cclxuXHJcbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcclxuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcclxuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcclxuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcclxuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcclxuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcclxuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcclxuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEFuaW1hdGlvbnNcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcclxuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxyXG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cclxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cclxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cclxuXHJcbiAgLnNoYWtlLFxyXG4gIC5zcGluLWN3LFxyXG4gIC5zcGluLWNjdyxcclxuICAud2lnZ2xlIHtcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XHJcbiAgfVxyXG5cclxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXHJcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxyXG5cclxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcclxuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcclxuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xyXG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xyXG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XHJcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XHJcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cclxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxyXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXHJcbiAgJGR1cmF0aW9uOiBudWxsLFxyXG4gICR0aW1pbmc6IG51bGwsXHJcbiAgJGRlbGF5OiBudWxsXHJcbikge1xyXG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xyXG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcclxufVxyXG5cclxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXHJcbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcclxuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xyXG5cclxuICBAYXQtcm9vdCB7XHJcbiAgICAjeyRzZWxlY3Rvcn0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXHJcbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XHJcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcclxuXHJcbiAgQGF0LXJvb3Qge1xyXG4gICAgI3skc2VsZWN0b3J9IHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxyXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cclxuQG1peGluIHN0YWdnZXIoJGRlbGF5LWFtb3VudCkge1xyXG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxyXG59XHJcbiIsIi8vLyBDcmVhdGVzIGEgc2xpZGluZyB0cmFuc2l0aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSBlbGVtZW50IGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXHJcbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGFtb3VudCBbMTAwJV0gLSBMZW5ndGggb2YgdGhlIHNsaWRlIGFzIGEgcGVyY2VudGFnZSB2YWx1ZS5cclxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXHJcbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxyXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXHJcbkBtaXhpbiBtdWktc2xpZGUgKFxyXG4gICRzdGF0ZTogaW4sXHJcbiAgJGRpcmVjdGlvbjogbGVmdCxcclxuICAkYW1vdW50OiAxMDAlLFxyXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNsaWRlLWFuZC1mYWRlKSxcclxuICAkZHVyYXRpb246IG51bGwsXHJcbiAgJHRpbWluZzogbnVsbCxcclxuICAkZGVsYXk6IG51bGxcclxuKSB7XHJcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xyXG5cclxuICAvLyBDU1MgT3V0cHV0XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcclxuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XHJcblxyXG4gICAgQGlmICRmYWRlIHtcclxuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xyXG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcclxuICAgIH1cclxuXHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcclxuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcclxuXHJcbiAgICBAaWYgJGZhZGUge1xyXG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcclxuJC1tdWktY3VzdG9tOiAwO1xyXG5cclxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBrZXlmcmFtZS5cclxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cclxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XHJcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xyXG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XHJcblxyXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xyXG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcclxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcclxuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xyXG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxyXG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcclxuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XHJcbiAgJG91dHB1dDogKCk7XHJcblxyXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xyXG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcclxuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xyXG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcclxuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkb3V0cHV0O1xyXG59XHJcblxyXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXHJcbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAka2V5IC0gS2V5IGluIHRoZSBtYXAgdG8gcHJpbnQgdGhlIENTUyBvZi5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XHJcbiAgJG1hcDogbWFwLWdldCgka2YsICRrZXkpO1xyXG5cclxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xyXG4gICAgLy8gU29tZSBrZXlmcmFtZSBtYXBzIHN0b3JlIHRyYW5zZm9ybXMgYXMgcXVvdGVkIHN0cmluZ3NcclxuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xyXG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcclxuICAgIH1cclxuICAgICN7JHByb3B9OiAkdmFsdWU7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXHJcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzcGxpdCB1cC5cclxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCkge1xyXG4gICRuZXctbWFwOiAoKTtcclxuXHJcbiAgLy8gU3BsaXQga2V5cyB3aXRoIG11bHRpcGxlIHZhbHVlcyBpbnRvIGluZGl2aWR1YWwga2V5c1xyXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xyXG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xyXG5cclxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xyXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcclxuICAgIH0gQGVsc2UgaWYgJGtleS10eXBlID09ICdsaXN0JyB7XHJcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xyXG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbmV3LW1hcDtcclxufVxyXG5cclxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXHJcbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXHJcbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQga2V5ZnJhbWUgb2JqZWN0LlxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcclxuICAkbmV3LW1hcDogKCk7XHJcblxyXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cclxuICBAZWFjaCAkbWFwIGluICRtYXBzIHtcclxuICAgIEBpZiB0eXBlLW9mKCRtYXApID09ICdzdHJpbmcnIHtcclxuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcclxuICAgIH1cclxuXHJcbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xyXG5cclxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcclxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcclxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xyXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xyXG4gICAgICAkbmV3LXZhbHVlOiAoKTtcclxuXHJcbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xyXG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XHJcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XHJcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxyXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcclxuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcclxuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xyXG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XHJcblxyXG4gIEByZXR1cm4gJG5ldy1tYXA7XHJcbn1cclxuXHJcbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxyXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXHJcbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xyXG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcclxuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xyXG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcclxuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xyXG59XHJcbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXHJcbi8vLyBAdHlwZSBNYXBcclxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXHJcbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXHJcbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWyctYWN0aXZlJ10gLSBTdWZmaXggdG8gYWRkIHRvIHRoZSBhY3RpdmUgc3RhdGUgY2xhc3MuXHJcbiRtb3Rpb24tdWktY2xhc3NlczogKFxyXG4gIGNoYWluOiB0cnVlLFxyXG4gIHByZWZpeDogJ211aS0nLFxyXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXHJcbi8vLyBAdHlwZSBNYXBcclxuJG1vdGlvbi11aS1zdGF0ZXM6IChcclxuICBpbjogJ2VudGVyJyxcclxuICBvdXQ6ICdsZWF2ZScsXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXHJcbi8vLyBAdHlwZSBNYXBcclxuJG1vdGlvbi11aS1zcGVlZHM6IChcclxuICBkZWZhdWx0OiA1MDBtcyxcclxuICBzbG93OiA3NTBtcyxcclxuICBmYXN0OiAyNTBtcyxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxyXG4vLy8gQHR5cGUgTWFwXHJcbiRtb3Rpb24tdWktZGVsYXlzOiAoXHJcbiAgZGVmYXVsdDogMCxcclxuICBzaG9ydDogMzAwbXMsXHJcbiAgbG9uZzogNzAwbXMsXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBlYXNpbmcgZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGVhc2luZy5cclxuLy8vIEB0eXBlIE1hcFxyXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcclxuICBkZWZhdWx0OiBsaW5lYXIsXHJcbiAgbGluZWFyOiBsaW5lYXIsXHJcbiAgZWFzZTogZWFzZSxcclxuICBlYXNlLWluOiBlYXNlLWluLFxyXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcclxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXHJcbiAgYm91bmNlLWluOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSksXHJcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcclxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cclxuLy8vIEB0eXBlIE1hcFxyXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXHJcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxyXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc2NhbGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cclxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cclxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxyXG4gIHNsaWRlLWFuZC1mYWRlOiBmYWxzZSxcclxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcclxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcclxuICBzcGluLWFuZC1mYWRlOiB0cnVlLFxyXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcclxuKSAhZGVmYXVsdDtcclxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXHJcbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXHJcbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxyXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXHJcbkBtaXhpbiBtdWktaGluZ2UgKFxyXG4gICRzdGF0ZTogaW4sXHJcbiAgJGZyb206IGxlZnQsXHJcbiAgJGF4aXM6IGVkZ2UsXHJcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXHJcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXHJcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxyXG4gICRkdXJhdGlvbjogbnVsbCxcclxuICAkdGltaW5nOiBudWxsLFxyXG4gICRkZWxheTogbnVsbFxyXG4pIHtcclxuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XHJcblxyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XHJcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDApO1xyXG5cclxuICAgIEBpZiAkZmFkZSB7XHJcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcclxuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcclxuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcclxuXHJcbiAgICBAaWYgJGZhZGUge1xyXG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxyXG5AZnVuY3Rpb24gaGluZ2UgKFxyXG4gICRzdGF0ZTogaW4sXHJcbiAgJGZyb206IGxlZnQsXHJcbiAgJGF4aXM6IGVkZ2UsXHJcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXHJcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2tcclxuKSB7XHJcbiAgLy8gUm90YXRpb24gZGlyZWN0aW9ucyB3aGVuIGhpbmdpbmcgZnJvbSBiYWNrIHZzLiBmcm9udFxyXG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xyXG4gICRyb3RhdGlvbnMtYmFjazogKFxyXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXHJcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxyXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxyXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcclxuICApO1xyXG4gICRyb3RhdGlvbnMtZnJvbTogKFxyXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxyXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXHJcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcclxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcclxuICApO1xyXG5cclxuICAvLyBSb3RhdGlvbiBvcmlnaW5cclxuICAkcm90YXRpb246ICcnO1xyXG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XHJcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1mcm9tLCAkZnJvbSk7XHJcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcclxuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XHJcbiAgfVxyXG5cclxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXHJcbiAgJHN0YXJ0OiAnJztcclxuICAkZW5kOiAnJztcclxuICBAaWYgJHN0YXRlID09IGluIHtcclxuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XHJcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcclxuICB9IEBlbHNlIHtcclxuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XHJcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcclxuICB9XHJcblxyXG4gIC8vIFR1cm4gYXhpc1xyXG4gICRvcmlnaW46ICcnO1xyXG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcclxuICAgICRvcmlnaW46ICRmcm9tO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJG9yaWdpbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgJGtleWZyYW1lczogKFxyXG4gICAgbmFtZTogJ2hpbmdlLSN7JHN0YXRlfS0jeyRmcm9tfS0jeyRheGlzfS0jeyR0dXJuLW9yaWdpbn0nLFxyXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcclxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXHJcbiAgKTtcclxuXHJcbiAgQHJldHVybiAka2V5ZnJhbWVzO1xyXG59XHJcbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMS41XSAtIFNpemUgdG8gc3RhcnQgYXQuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzFdIC0gU2l6ZSB0byBlbmQgYXQuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXHJcbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxyXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXHJcbkBtaXhpbiBtdWktem9vbShcclxuICAkc3RhdGU6IGluLFxyXG4gICRmcm9tOiAxLjUsXHJcbiAgJHRvOiAxLFxyXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcclxuICAkZHVyYXRpb246IG51bGwsXHJcbiAgJHRpbWluZzogbnVsbCxcclxuICAkZGVsYXk6IG51bGxcclxuKSB7XHJcbiAgJHNjYWxlOiB6b29tKCRmcm9tLCAkdG8pO1xyXG5cclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xyXG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcclxuXHJcbiAgICBAaWYgJGZhZGUge1xyXG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XHJcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XHJcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDEwMCk7XHJcblxyXG4gICAgQGlmICRmYWRlIHtcclxuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRkaXJlY3Rpb24gW2N3XSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxyXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cclxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxyXG5AbWl4aW4gbXVpLXNwaW4oXHJcbiAgJHN0YXRlOiBpbixcclxuICAkZGlyZWN0aW9uOiBjdyxcclxuICAkYW1vdW50OiAwLjc1dHVybixcclxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcclxuICAkZHVyYXRpb246IG51bGwsXHJcbiAgJHRpbWluZzogbnVsbCxcclxuICAkZGVsYXk6IG51bGxcclxuKSB7XHJcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcclxuXHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcclxuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcclxuXHJcbiAgICBAaWYgJGZhZGUge1xyXG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XHJcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XHJcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcclxuXHJcbiAgICBAaWYgJGZhZGUge1xyXG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyBhbmQgYXNzaWducyBpdCB0byB0aGUgZWxlbWVudCBieSBhZGRpbmcgdGhlIGBhbmltYXRpb24tbmFtZWAgcHJvcGVydHkuXHJcbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXHJcbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XHJcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcclxuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xyXG59XHJcbiIsIi8qXG4gKiBqUXVlcnkgRmxleFNsaWRlciB2Mi42LjJcbiAqIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9mbGV4c2xpZGVyL1xuICpcbiAqIENvcHlyaWdodCAyMDEyIFdvb1RoZW1lc1xuICogRnJlZSB0byB1c2UgdW5kZXIgdGhlIEdQTHYyIGFuZCBsYXRlciBsaWNlbnNlLlxuICogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbFxuICpcbiAqIENvbnRyaWJ1dGluZyBhdXRob3I6IFR5bGVyIFNtaXRoIChAbWJtdWZmZmluKVxuICpcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEZPTlQtRkFDRVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnZmxleHNsaWRlci1pY29uJztcbiAgc3JjOiB1cmwoJ2ZvbnRzL2ZsZXhzbGlkZXItaWNvbi5lb3QnKTtcbiAgc3JjOiB1cmwoJ2ZvbnRzL2ZsZXhzbGlkZXItaWNvbi5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJ2ZvbnRzL2ZsZXhzbGlkZXItaWNvbi53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnZm9udHMvZmxleHNsaWRlci1pY29uLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKCdmb250cy9mbGV4c2xpZGVyLWljb24uc3ZnI2ZsZXhzbGlkZXItaWNvbicpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFJFU0VUU1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmZsZXgtY29udGFpbmVyIGE6aG92ZXIsXG4uZmxleC1zbGlkZXIgYTpob3ZlciB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5zbGlkZXMsXG4uc2xpZGVzID4gbGksXG4uZmxleC1jb250cm9sLW5hdixcbi5mbGV4LWRpcmVjdGlvbi1uYXYge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5mbGV4LXBhdXNlcGxheSBzcGFuIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBCQVNFIFNUWUxFU1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmZsZXhzbGlkZXIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5mbGV4c2xpZGVyIC5zbGlkZXMgPiBsaSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uZmxleHNsaWRlciAuc2xpZGVzIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmZsZXhzbGlkZXIgLnNsaWRlczphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFwwMDIwXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBsaW5lLWhlaWdodDogMDtcbiAgaGVpZ2h0OiAwO1xufVxuXG5odG1sW3htbG5zXSAuZmxleHNsaWRlciAuc2xpZGVzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbiogaHRtbCAuZmxleHNsaWRlciAuc2xpZGVzIHtcbiAgaGVpZ2h0OiAxJTtcbn1cblxuLm5vLWpzIC5mbGV4c2xpZGVyIC5zbGlkZXMgPiBsaTpmaXJzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogREVGQVVMVCBUSEVNRVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmZsZXhzbGlkZXIge1xuICBtYXJnaW46IDAgMCA2MHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDRweCBzb2xpZCAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHpvb206IDE7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICcnIDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIC1tb3otYm94LXNoYWRvdzogJycgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgLW8tYm94LXNoYWRvdzogJycgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm94LXNoYWRvdzogJycgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLmZsZXhzbGlkZXIgLnNsaWRlcyB7XG4gIHpvb206IDE7XG59XG5cbi5mbGV4c2xpZGVyIC5zbGlkZXMgaW1nIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uZmxleC12aWV3cG9ydCB7XG4gIG1heC1oZWlnaHQ6IDIwMDBweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG59XG5cbi5sb2FkaW5nIC5mbGV4LXZpZXdwb3J0IHtcbiAgbWF4LWhlaWdodDogMzAwcHg7XG59XG5cbi5jYXJvdXNlbCBsaSB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4uZmxleC1kaXJlY3Rpb24tbmF2IHtcbiAgKmhlaWdodDogMDtcbn1cblxuLmZsZXgtZGlyZWN0aW9uLW5hdiBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgbWFyZ2luOiAtMjBweCAwIDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHotaW5kZXg6IDEwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLmZsZXgtZGlyZWN0aW9uLW5hdiBhOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcImZsZXhzbGlkZXItaWNvblwiO1xuICBmb250LXNpemU6IDQwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29udGVudDogJ1xcZjAwMSc7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xufVxuXG4uZmxleC1kaXJlY3Rpb24tbmF2IGEuZmxleC1uZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwMDInO1xufVxuXG4uZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LXByZXYge1xuICBsZWZ0OiAtNTBweDtcbn1cblxuLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1uZXh0IHtcbiAgcmlnaHQ6IC01MHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmZsZXhzbGlkZXI6aG92ZXIgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1wcmV2IHtcbiAgb3BhY2l0eTogMC43O1xuICBsZWZ0OiAxMHB4O1xufVxuXG4uZmxleHNsaWRlcjpob3ZlciAuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LXByZXY6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uZmxleHNsaWRlcjpob3ZlciAuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LW5leHQge1xuICBvcGFjaXR5OiAwLjc7XG4gIHJpZ2h0OiAxMHB4O1xufVxuXG4uZmxleHNsaWRlcjpob3ZlciAuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LW5leHQ6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgei1pbmRleDogLTE7XG59XG5cbi5mbGV4LXBhdXNlcGxheSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA1cHg7XG4gIGxlZnQ6IDEwcHg7XG4gIG9wYWNpdHk6IDAuODtcbiAgei1pbmRleDogMTA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi5mbGV4LXBhdXNlcGxheSBhOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcImZsZXhzbGlkZXItaWNvblwiO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29udGVudDogJ1xcZjAwNCc7XG59XG5cbi5mbGV4LXBhdXNlcGxheSBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmZsZXgtcGF1c2VwbGF5IGEuZmxleC1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwMDMnO1xufVxuXG4uZmxleC1jb250cm9sLW5hdiB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTQwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZsZXgtY29udHJvbC1uYXYgbGkge1xuICBtYXJnaW46IDAgNnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHpvb206IDE7XG4gICpkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5mbGV4LWNvbnRyb2wtcGFnaW5nIGxpIGEge1xuICB3aWR0aDogMTFweDtcbiAgaGVpZ2h0OiAxMXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogIzY2NjtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAtby1ib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjBweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xufVxuXG4uZmxleC1jb250cm9sLXBhZ2luZyBsaSBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xufVxuXG4uZmxleC1jb250cm9sLXBhZ2luZyBsaSBhLmZsZXgtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5mbGV4LWNvbnRyb2wtdGh1bWJzIHtcbiAgbWFyZ2luOiA1cHggMCAwO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZmxleC1jb250cm9sLXRodW1icyBsaSB7XG4gIHdpZHRoOiAyNSU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDA7XG59XG5cbi5mbGV4LWNvbnRyb2wtdGh1bWJzIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAuNztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbn1cblxuLmZsZXgtY29udHJvbC10aHVtYnMgaW1nOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmZsZXgtY29udHJvbC10aHVtYnMgLmZsZXgtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogUkVTUE9OU0lWRVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODYwcHgpIHtcbiAgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1wcmV2IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGxlZnQ6IDEwcHg7XG4gIH1cbiAgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1uZXh0IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHJpZ2h0OiAxMHB4O1xuICB9XG59XG4iLCIvKiBJb24uUmFuZ2VTbGlkZXJcclxuLy8gY3NzIHZlcnNpb24gMi4wLjNcclxuLy8gwqkgMjAxMy0yMDE0IERlbmlzIEluZXNoaW4gfCBJb25EZW4uY29tXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIFJhbmdlU2xpZGVyICovXHJcblxyXG4uaXJzIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbn1cclxuXHJcbi5pcnMtbGluZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaXJzLWxpbmUtbGVmdCwgLmlycy1saW5lLW1pZCwgLmlycy1saW5lLXJpZ2h0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgdG9wOiAwO1xyXG59XHJcblxyXG4uaXJzLWxpbmUtbGVmdCB7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTElO1xyXG59XHJcblxyXG4uaXJzLWxpbmUtbWlkIHtcclxuICBsZWZ0OiA5JTtcclxuICB3aWR0aDogODIlO1xyXG59XHJcblxyXG4uaXJzLWxpbmUtcmlnaHQge1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHdpZHRoOiAxMSU7XHJcbn1cclxuXHJcbi5pcnMtYmFyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMDtcclxufVxyXG5cclxuLmlycy1iYXItZWRnZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG59XHJcblxyXG4uaXJzLXNoYWRvdyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMDtcclxufVxyXG5cclxuLmlycy1zbGlkZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgei1pbmRleDogMTtcclxufVxyXG5cclxuLmlycy1zbGlkZXIuc2luZ2xlIHtcclxuXHJcbn1cclxuXHJcbi5pcnMtc2xpZGVyLmZyb20ge1xyXG5cclxufVxyXG5cclxuLmlycy1zbGlkZXIudG8ge1xyXG5cclxufVxyXG5cclxuLmlycy1zbGlkZXIudHlwZV9sYXN0IHtcclxuICB6LWluZGV4OiAyO1xyXG59XHJcblxyXG4uaXJzLW1pbiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGxlZnQ6IDA7XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG4uaXJzLW1heCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG5cclxuLmlycy1mcm9tLCAuaXJzLXRvLCAuaXJzLXNpbmdsZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGN1cnNvcjogZGVmYXVsdDtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uaXJzLWdyaWQge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMjBweDtcclxufVxyXG5cclxuLmlycy13aXRoLWdyaWQgLmlycy1ncmlkIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmlycy1ncmlkLXBvbCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxcHg7XHJcbiAgaGVpZ2h0OiA4cHg7XHJcbiAgYmFja2dyb3VuZDogIzAwMDtcclxufVxyXG5cclxuLmlycy1ncmlkLXBvbC5zbWFsbCB7XHJcbiAgaGVpZ2h0OiA0cHg7XHJcbn1cclxuXHJcbi5pcnMtZ3JpZC10ZXh0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZm9udC1zaXplOiA5cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDlweDtcclxuICBwYWRkaW5nOiAwIDNweDtcclxuICBjb2xvcjogIzAwMDtcclxufVxyXG5cclxuLmlycy1kaXNhYmxlLW1hc2sge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogLTElO1xyXG4gIHdpZHRoOiAxMDIlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjApO1xyXG4gIHotaW5kZXg6IDI7XHJcbn1cclxuXHJcbi5sdC1pZTkgLmlycy1kaXNhYmxlLW1hc2sge1xyXG4gIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xyXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbn1cclxuXHJcbi5pcnMtZGlzYWJsZWQge1xyXG4gIG9wYWNpdHk6IDAuNDtcclxufVxyXG5cclxuLmlycy1oaWRkZW4taW5wdXQge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcbiAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zaXplOiAwICFpbXBvcnRhbnQ7XHJcbiAgbGluZS1oZWlnaHQ6IDAgIWltcG9ydGFudDtcclxuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgei1pbmRleDogLTk5OTkgIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZCAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxufVxyXG4iLCIuYW5pbWF0ZWQge1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG59XHJcblxyXG4uYW5pbWF0ZWQuaW5maW5pdGUge1xyXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG59XHJcblxyXG4uYW5pbWF0ZWQuaGluZ2Uge1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVJbkxlZnQge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZU91dExlZnQge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcclxufSIsIi5ib2R5LWJhY2tncm91bmQge1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG59IiwiLy9UaGluXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnQmViYXMnO1xyXG4gIHNyYzogdXJsKCcjeyRmb250LXBhdGh9L2JlYmFzL2JlYmFzbmV1ZV90aGluLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xyXG4gIGZvbnQtd2VpZ2h0OiAxMDA7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG4vL0xpZ2h0XHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnQmViYXMnO1xyXG4gIHNyYzogdXJsKCcjeyRmb250LXBhdGh9L2JlYmFzL2JlYmFzbmV1ZV9saWdodC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuLy9SZWd1bGFyXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnQmViYXMnO1xyXG4gIHNyYzogdXJsKCcjeyRmb250LXBhdGh9L2JlYmFzL2JlYmFzbmV1ZV9yZWd1bGFyLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG4vL0JvbGRcclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdCZWJhcyc7XHJcbiAgc3JjOiB1cmwoJyN7JGZvbnQtcGF0aH0vYmViYXMvYmViYXNuZXVlX2JvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn0iLCIvL0xpZ2h0XHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnRnV0dXJhJztcclxuICBzcmM6IHVybCgnI3skZm9udC1wYXRofS9mdXR1cmEvZnV0dXJhbGlnaHRjLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG4vL0xpZ2h0IEl0YWxpY1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0Z1dHVyYSc7XHJcbiAgc3JjOiB1cmwoJyN7JGZvbnQtcGF0aH0vZnV0dXJhL0Z1dHVyYUxpZ2h0Qy1JdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpO1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4vL1JlZ3VsYXJcclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdGdXR1cmEnO1xyXG4gIHNyYzogdXJsKCcjeyRmb250LXBhdGh9L2Z1dHVyYS9mdXR1cmFib29rYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuLy9SZWd1bGFyIEl0YWxpY1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0Z1dHVyYSc7XHJcbiAgc3JjOiB1cmwoJyN7JGZvbnQtcGF0aH0vZnV0dXJhL2Z1dHVyYWJvb2tjLWl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLy9NZWRpdW1cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdGdXR1cmEnO1xyXG4gIHNyYzogdXJsKCcjeyRmb250LXBhdGh9L2Z1dHVyYS9mdXR1cmFtZWRpdW1jLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG4vL01lZGl1bSBJdGFsaWNcclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdGdXR1cmEnO1xyXG4gIHNyYzogdXJsKCcjeyRmb250LXBhdGh9L2Z1dHVyYS9mdXR1cmFtZWRpdW1jLWl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLy9EZW1pLWJvbGRcclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdGdXR1cmEnO1xyXG4gIHNyYzogdXJsKCcjeyRmb250LXBhdGh9L2Z1dHVyYS9mdXR1cmFkZW1pYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuLy9EZW1pLWJvbGQgSXRhbGljXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnRnV0dXJhJztcclxuICBzcmM6IHVybCgnI3skZm9udC1wYXRofS9mdXR1cmEvZnV0dXJhZGVtaWMtaXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59IiwiLypcblNDU1MgdmFyaWFibGVzIGFyZSBpbmZvcm1hdGlvbiBhYm91dCBpY29uJ3MgY29tcGlsZWQgc3RhdGUsIHN0b3JlZCB1bmRlciBpdHMgb3JpZ2luYWwgZmlsZSBuYW1lXG5cbi5pY29uLWhvbWUge1xuICB3aWR0aDogJGljb24taG9tZS13aWR0aDtcbn1cblxuVGhlIGxhcmdlIGFycmF5LWxpa2UgdmFyaWFibGVzIGNvbnRhaW4gYWxsIGluZm9ybWF0aW9uIGFib3V0IGEgc2luZ2xlIGljb25cbiRpY29uLWhvbWU6IHggeSBvZmZzZXRfeCBvZmZzZXRfeSB3aWR0aCBoZWlnaHQgdG90YWxfd2lkdGggdG90YWxfaGVpZ2h0IGltYWdlX3BhdGg7XG5cbkF0IHRoZSBib3R0b20gb2YgdGhpcyBzZWN0aW9uLCB3ZSBwcm92aWRlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzcHJpdGVzaGVldCBpdHNlbGZcbiRzcHJpdGVzaGVldDogd2lkdGggaGVpZ2h0IGltYWdlICRzcHJpdGVzaGVldC1zcHJpdGVzO1xuKi9cbiRhYm91dC1jb21wYW55LW5hbWU6ICdhYm91dC1jb21wYW55JztcbiRhYm91dC1jb21wYW55LXg6IDE4cHg7XG4kYWJvdXQtY29tcGFueS15OiAyNHB4O1xuJGFib3V0LWNvbXBhbnktb2Zmc2V0LXg6IC0xOHB4O1xuJGFib3V0LWNvbXBhbnktb2Zmc2V0LXk6IC0yNHB4O1xuJGFib3V0LWNvbXBhbnktd2lkdGg6IDE4cHg7XG4kYWJvdXQtY29tcGFueS1oZWlnaHQ6IDE5cHg7XG4kYWJvdXQtY29tcGFueS10b3RhbC13aWR0aDogNjdweDtcbiRhYm91dC1jb21wYW55LXRvdGFsLWhlaWdodDogNDZweDtcbiRhYm91dC1jb21wYW55LWltYWdlOiAnc3ByaXRlLnBuZyc7XG4kYWJvdXQtY29tcGFueTogKDE4cHgsIDI0cHgsIC0xOHB4LCAtMjRweCwgMThweCwgMTlweCwgNjdweCwgNDZweCwgJ3Nwcml0ZS5wbmcnLCAnYWJvdXQtY29tcGFueScsICk7XG4kY29udGFjdHMtbmFtZTogJ2NvbnRhY3RzJztcbiRjb250YWN0cy14OiAwcHg7XG4kY29udGFjdHMteTogMjRweDtcbiRjb250YWN0cy1vZmZzZXQteDogMHB4O1xuJGNvbnRhY3RzLW9mZnNldC15OiAtMjRweDtcbiRjb250YWN0cy13aWR0aDogMThweDtcbiRjb250YWN0cy1oZWlnaHQ6IDIycHg7XG4kY29udGFjdHMtdG90YWwtd2lkdGg6IDY3cHg7XG4kY29udGFjdHMtdG90YWwtaGVpZ2h0OiA0NnB4O1xuJGNvbnRhY3RzLWltYWdlOiAnc3ByaXRlLnBuZyc7XG4kY29udGFjdHM6ICgwcHgsIDI0cHgsIDBweCwgLTI0cHgsIDE4cHgsIDIycHgsIDY3cHgsIDQ2cHgsICdzcHJpdGUucG5nJywgJ2NvbnRhY3RzJywgKTtcbiRleWUtbGlnaHQtbmFtZTogJ2V5ZS1saWdodCc7XG4kZXllLWxpZ2h0LXg6IDBweDtcbiRleWUtbGlnaHQteTogMHB4O1xuJGV5ZS1saWdodC1vZmZzZXQteDogMHB4O1xuJGV5ZS1saWdodC1vZmZzZXQteTogMHB4O1xuJGV5ZS1saWdodC13aWR0aDogMjVweDtcbiRleWUtbGlnaHQtaGVpZ2h0OiAyNHB4O1xuJGV5ZS1saWdodC10b3RhbC13aWR0aDogNjdweDtcbiRleWUtbGlnaHQtdG90YWwtaGVpZ2h0OiA0NnB4O1xuJGV5ZS1saWdodC1pbWFnZTogJ3Nwcml0ZS5wbmcnO1xuJGV5ZS1saWdodDogKDBweCwgMHB4LCAwcHgsIDBweCwgMjVweCwgMjRweCwgNjdweCwgNDZweCwgJ3Nwcml0ZS5wbmcnLCAnZXllLWxpZ2h0JywgKTtcbiRnYWxsZXJ5LW5hbWU6ICdnYWxsZXJ5JztcbiRnYWxsZXJ5LXg6IDQ5cHg7XG4kZ2FsbGVyeS15OiAwcHg7XG4kZ2FsbGVyeS1vZmZzZXQteDogLTQ5cHg7XG4kZ2FsbGVyeS1vZmZzZXQteTogMHB4O1xuJGdhbGxlcnktd2lkdGg6IDE4cHg7XG4kZ2FsbGVyeS1oZWlnaHQ6IDE5cHg7XG4kZ2FsbGVyeS10b3RhbC13aWR0aDogNjdweDtcbiRnYWxsZXJ5LXRvdGFsLWhlaWdodDogNDZweDtcbiRnYWxsZXJ5LWltYWdlOiAnc3ByaXRlLnBuZyc7XG4kZ2FsbGVyeTogKDQ5cHgsIDBweCwgLTQ5cHgsIDBweCwgMThweCwgMTlweCwgNjdweCwgNDZweCwgJ3Nwcml0ZS5wbmcnLCAnZ2FsbGVyeScsICk7XG4kcGhvbmUtbGlnaHQtbmFtZTogJ3Bob25lLWxpZ2h0JztcbiRwaG9uZS1saWdodC14OiA0OXB4O1xuJHBob25lLWxpZ2h0LXk6IDE5cHg7XG4kcGhvbmUtbGlnaHQtb2Zmc2V0LXg6IC00OXB4O1xuJHBob25lLWxpZ2h0LW9mZnNldC15OiAtMTlweDtcbiRwaG9uZS1saWdodC13aWR0aDogMTNweDtcbiRwaG9uZS1saWdodC1oZWlnaHQ6IDI0cHg7XG4kcGhvbmUtbGlnaHQtdG90YWwtd2lkdGg6IDY3cHg7XG4kcGhvbmUtbGlnaHQtdG90YWwtaGVpZ2h0OiA0NnB4O1xuJHBob25lLWxpZ2h0LWltYWdlOiAnc3ByaXRlLnBuZyc7XG4kcGhvbmUtbGlnaHQ6ICg0OXB4LCAxOXB4LCAtNDlweCwgLTE5cHgsIDEzcHgsIDI0cHgsIDY3cHgsIDQ2cHgsICdzcHJpdGUucG5nJywgJ3Bob25lLWxpZ2h0JywgKTtcbiRwaG9uZS1yZWNlaXZlci1uYW1lOiAncGhvbmUtcmVjZWl2ZXInO1xuJHBob25lLXJlY2VpdmVyLXg6IDI1cHg7XG4kcGhvbmUtcmVjZWl2ZXIteTogMHB4O1xuJHBob25lLXJlY2VpdmVyLW9mZnNldC14OiAtMjVweDtcbiRwaG9uZS1yZWNlaXZlci1vZmZzZXQteTogMHB4O1xuJHBob25lLXJlY2VpdmVyLXdpZHRoOiAyNHB4O1xuJHBob25lLXJlY2VpdmVyLWhlaWdodDogMjRweDtcbiRwaG9uZS1yZWNlaXZlci10b3RhbC13aWR0aDogNjdweDtcbiRwaG9uZS1yZWNlaXZlci10b3RhbC1oZWlnaHQ6IDQ2cHg7XG4kcGhvbmUtcmVjZWl2ZXItaW1hZ2U6ICdzcHJpdGUucG5nJztcbiRwaG9uZS1yZWNlaXZlcjogKDI1cHgsIDBweCwgLTI1cHgsIDBweCwgMjRweCwgMjRweCwgNjdweCwgNDZweCwgJ3Nwcml0ZS5wbmcnLCAncGhvbmUtcmVjZWl2ZXInLCApO1xuJHNwcml0ZXNoZWV0LXdpZHRoOiA2N3B4O1xuJHNwcml0ZXNoZWV0LWhlaWdodDogNDZweDtcbiRzcHJpdGVzaGVldC1pbWFnZTogJ3Nwcml0ZS5wbmcnO1xuJHNwcml0ZXNoZWV0LXNwcml0ZXM6ICgkYWJvdXQtY29tcGFueSwgJGNvbnRhY3RzLCAkZXllLWxpZ2h0LCAkZ2FsbGVyeSwgJHBob25lLWxpZ2h0LCAkcGhvbmUtcmVjZWl2ZXIsICk7XG4kc3ByaXRlc2hlZXQ6ICg2N3B4LCA0NnB4LCAnc3ByaXRlLnBuZycsICRzcHJpdGVzaGVldC1zcHJpdGVzLCApO1xuXG4vKlxuVGhlIHByb3ZpZGVkIG1peGlucyBhcmUgaW50ZW5kZWQgdG8gYmUgdXNlZCB3aXRoIHRoZSBhcnJheS1saWtlIHZhcmlhYmxlc1xuXG4uaWNvbi1ob21lIHtcbiAgQGluY2x1ZGUgc3ByaXRlLXdpZHRoKCRpY29uLWhvbWUpO1xufVxuXG4uaWNvbi1lbWFpbCB7XG4gIEBpbmNsdWRlIHNwcml0ZSgkaWNvbi1lbWFpbCk7XG59XG5cbkV4YW1wbGUgdXNhZ2UgaW4gSFRNTDpcblxuYGRpc3BsYXk6IGJsb2NrYCBzcHJpdGU6XG48ZGl2IGNsYXNzPVwiaWNvbi1ob21lXCI+PC9kaXY+XG5cblRvIGNoYW5nZSBgZGlzcGxheWAgKGUuZy4gYGRpc3BsYXk6IGlubGluZS1ibG9jaztgKSwgd2Ugc3VnZ2VzdCB1c2luZyBhIGNvbW1vbiBDU1MgY2xhc3M6XG5cbi8vIENTU1xuLmljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8vIEhUTUxcbjxpIGNsYXNzPVwiaWNvbiBpY29uLWhvbWVcIj48L2k+XG4qL1xuQG1peGluIHNwcml0ZS13aWR0aCgkc3ByaXRlKSB7XG4gIHdpZHRoOiBudGgoJHNwcml0ZSwgNSk7XG59XG5cbkBtaXhpbiBzcHJpdGUtaGVpZ2h0KCRzcHJpdGUpIHtcbiAgaGVpZ2h0OiBudGgoJHNwcml0ZSwgNik7XG59XG5cbkBtaXhpbiBzcHJpdGUtcG9zaXRpb24oJHNwcml0ZSkge1xuICAkc3ByaXRlLW9mZnNldC14OiBudGgoJHNwcml0ZSwgMyk7XG4gICRzcHJpdGUtb2Zmc2V0LXk6IG50aCgkc3ByaXRlLCA0KTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHNwcml0ZS1vZmZzZXQteCAgJHNwcml0ZS1vZmZzZXQteTtcbn1cblxuQG1peGluIHNwcml0ZS1pbWFnZSgkc3ByaXRlKSB7XG4gICRzcHJpdGUtaW1hZ2U6IG50aCgkc3ByaXRlLCA5KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JHNwcml0ZS1pbWFnZX0pO1xufVxuXG5AbWl4aW4gc3ByaXRlKCRzcHJpdGUpIHtcbiAgQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRzcHJpdGUpO1xuICBAaW5jbHVkZSBzcHJpdGUtcG9zaXRpb24oJHNwcml0ZSk7XG4gIEBpbmNsdWRlIHNwcml0ZS13aWR0aCgkc3ByaXRlKTtcbiAgQGluY2x1ZGUgc3ByaXRlLWhlaWdodCgkc3ByaXRlKTtcbn1cblxuLypcblRoZSBgc3ByaXRlc2AgbWl4aW4gZ2VuZXJhdGVzIGlkZW50aWNhbCBvdXRwdXQgdG8gdGhlIENTUyB0ZW1wbGF0ZVxuICBidXQgY2FuIGJlIG92ZXJyaWRkZW4gaW5zaWRlIG9mIFNDU1NcblxuQGluY2x1ZGUgc3ByaXRlcygkc3ByaXRlc2hlZXQtc3ByaXRlcyk7XG4qL1xuQG1peGluIHNwcml0ZXMoJHNwcml0ZXMpIHtcbiAgQGVhY2ggJHNwcml0ZSBpbiAkc3ByaXRlcyB7XG4gICAgJHNwcml0ZS1uYW1lOiBudGgoJHNwcml0ZSwgMTApO1xuICAgIC4jeyRzcHJpdGUtbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgc3ByaXRlKCRzcHJpdGUpO1xuICAgIH1cbiAgfVxufVxuIiwiLmNhdGFsb2ctZmlsdGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIG1hcmdpbi1sZWZ0OiBzcGFuKDMpICsgZ3V0dGVyKCk7XHJcbiAgZmxleDogMSAwIHNwYW4oOSk7XHJcbn1cclxuXHJcbi5maWx0ZXJzIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIG1pbi13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZpbHRlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLmZpbHRlcl9fdGl0bGUge1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG59XHJcblxyXG4uZmlsdGVyX19jb250ZW50IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4uZmlsdGVyX19jb250YWluZXIge1xyXG4gIG1hcmdpbi1yaWdodDogc3BhbigxKTtcclxufVxyXG5cclxuLmZpbHRlcl9fY29udGFpbmVyLS1jaGVja2JveCB7XHJcbiAgZmxleDogMSAwIHNwYW4oMik7XHJcbiAgLmZpbHRlcl9fY29udGVudCB7XHJcblxyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgd2lkdGg6IDc3cHg7IC8vINGA0LDQt9C80LXRgCDQtNCy0YPRhSDQutCw0YHRgtC+0LzQvdGL0YUg0YfQtdC60LHQvtC60YHQvtCyINGBINC+0YLRgdGC0YPQv9Cw0LzQuFxyXG4gIH1cclxufVxyXG5cclxuLmZpbHRlcl9fY29udGFpbmVyLS1yYW5nZSB7XHJcbiAgZmxleDogMSAwIHNwYW4oNik7XHJcblxyXG4gIC5maWx0ZXJfX2NvbnRlbnQge1xyXG4gICAgZmxleDogMSAwIHNwYW4oNSk7XHJcbiAgfVxyXG59XHJcblxyXG4ucmFuZ2Utc2xpZGVyIHtcclxuICBtaW4td2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5yYW5nZS1zbGlkZXJfX2RhdGEge1xyXG4gIGZsZXg6IDAgMCA2MHB4O1xyXG59XHJcblxyXG4ucmFuZ2Utc2xpZGVyX19zbGlkZXIge1xyXG4gIGZsZXg6IDEgMCAxMDBweDtcclxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XHJcbn1cclxuIiwiaHRtbCwgYm9keSB7XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIG1pbi1oZWlnaHQ6IDcwMHB4O1xyXG4gIG1pbi13aWR0aDogMTIwMHB4O1xyXG59XHJcblxyXG4uc2l0ZS13cmFwIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn0iLCIubWFpbi13cmFwIHtcclxuICBmbGV4LWdyb3c6IDE7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAmLi12ZXJ0aWNhbC1qdXN0aWZ5IHtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICB9XHJcbn1cclxuXHJcbiIsIi5tYWluIHtcclxuICBtYXJnaW46ICRjb250ZW50LXNwYWNlO1xyXG4gICYuLWZsZXgge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgfVxyXG4gICYuLWNlbnRlci1qdXN0aWZ5IHtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIH1cclxufSIsIi5wYWdlLWNvbnRlbnQge1xyXG4gICYuLW5hcnJvdyB7XHJcbiAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgIHdpZHRoOiA5MDBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzAwcHgpO1xyXG4gIH1cclxufSIsIi5zaWRlYmFyLFxyXG4uY29udGVudC1iYXIge1xyXG4gIC8vZmxleDogMCAwICRzaWRlYmFyLXdpZHRoO1xyXG4gIGZsZXg6IDAgMCBhdXRvO1xyXG4gICYuLXJpZ2h0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xyXG4gIH1cclxuICAmLi1vdmVybGF5ZWQge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDM4NXB4O1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgICYuLWxlZnQge1xyXG4gICAgICBtaW4td2lkdGg6ICRzaWRlYmFyLXdpZHRoO1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuICB9XHJcbiAgJi4tbGVmdCB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgb3JkZXI6IC0xO1xyXG4gIH1cclxuICAmLi1kYXJrIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRibGFjaywgMC4zKTtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgfVxyXG4gICYuLXZlcnQtanVzdGlmeSB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgfVxyXG4gICYuLXRvcC1zcGFjZSB7XHJcbiAgICBwYWRkaW5nLXRvcDogJGNvbnRlbnQtc3BhY2U7XHJcbiAgfVxyXG4gICYuLWZsZXhlZCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICB9XHJcbiAgJi4td2l0aC13aWR0aCB7XHJcbiAgICBmbGV4LWJhc2lzOiAkc2lkZWJhci13aWR0aC1uYXJyb3c7XHJcbiAgfVxyXG59XHJcbi5zaWRlYmFyIHtcclxuICAmLi1yaWdodCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XHJcbiAgfVxyXG59XHJcblxyXG4uc2lkZWJhci1mb290ZXIge1xyXG4gIHBhZGRpbmctbGVmdDogMjVweDtcclxuICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgJi4tZGFyayB7XHJcbiAgICBjb2xvcjogJGJsYWNrO1xyXG4gIH1cclxuICAmLi1pbmxpbmUge1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKCRibGFjaywgMC44KTtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgLnNpZGViYXItY29udGFjdHMge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zaWRlYmFyLWNvbnRhY3RzX19hZGRyZXNzIHtcclxuICBtYXJnaW4tdG9wOiAyNXB4O1xyXG59XHJcblxyXG4uc2lkZWJhci1jb250YWN0c19fcGhvbmUge1xyXG4gIG1hcmdpbi10b3A6IDI1cHg7XHJcbn0iLCIuYWRkcmVzcyB7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXNpemU6IDEycHg7XHJcbn0iLCIuYW5tLXRhYnNfX3RpdGxlIHtcclxuICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1jb25kZW5zZWQ7XHJcblxyXG4gICYuaXMtYWN0aXZlIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcclxuICAgIGEge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuICB9XHJcbiAgYSB7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxuICB9XHJcbn0iLCIuYmFjay1idXR0b25zIHtcclxuICBtYXJnaW4tbGVmdDogJGNvbnRlbnQtc3BhY2U7XHJcbn0iLCIuYmMtc2VsZWN0IHtcclxuICBhcHBlYXJhbmNlOiBub25lO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xyXG4gIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcclxuICBmb250LWZhbWlseTogJGZvbnQtY29uZGVuc2VkO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIHBhZGRpbmc6IDdweCAxMHB4O1xyXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcclxuICBiYWNrZ3JvdW5kOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQWNBQUFBRUNBWUFBQUJDeGlWOUFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTVRFeElEYzVMakUxT0RNeU5Td2dNakF4TlM4d09TOHhNQzB3TVRveE1Eb3lNQ0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UVWdLRmRwYm1SdmQzTXBJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPalU1UWpWRU5ERTRPRGszTXpFeFJUWTVOa0pHUmpGRk9VVTFNREJGTUVFMElpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qVTVRalZFTkRFNU9EazNNekV4UlRZNU5rSkdSakZGT1VVMU1EQkZNRUUwSWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk5UbENOVVEwTVRZNE9UY3pNVEZGTmprMlFrWkdNVVU1UlRVd01FVXdRVFFpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2TlRsQ05VUTBNVGM0T1Rjek1URkZOamsyUWtaR01VVTVSVFV3TUVVd1FUUWlMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejVoTjM5UkFBQUFTMGxFUVZSNDJtTDhuOFp3am9HQm9SU0k5eklnZ0JNUTl6SUJpVHdnWGdyRWdWQUpmeUJlRHNUNUxFRGlDQkI3QXZFV0lQWUFZbDhvZlo0SnF2bzhFRHNDc1NhVUJ2RVpBQUlNQURlMERMMGQ2ZURBQUFBQUFFbEZUa1N1UW1DQycpIG5vLXJlcGVhdCByaWdodCBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xyXG4gIHdpZHRoOiBhdXRvO1xyXG59IiwiLmJyYW5kIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn0iLCJAbWl4aW4gYnV0dG9uLWJhc2UoKSB7XHJcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1jb25kZW5zZWQ7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQ7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcclxuICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcclxuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xyXG59XHJcblxyXG5AbWl4aW4gYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkdGV4dDogJHdoaXRlLCAkdHJhbnNwYXJlbmN5OiAwKSB7XHJcblxyXG4gIGNvbG9yOiAkdGV4dDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkYmFja2dyb3VuZCwgJHRyYW5zcGFyZW5jeSk7XHJcbiAgJjpob3ZlcixcclxuICAmOmFjdGl2ZSxcclxuICAmOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRiYWNrZ3JvdW5kLCAkdHJhbnNwYXJlbmN5IC0gMC4xKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kLCAkdGV4dCwgJHRleHQtaG92ZXI6ICR3aGl0ZSwgJHRyYW5zcGFyZW5jeTogMCkge1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1jb25kZW5zZWQ7XHJcbiAgY29sb3I6ICR0ZXh0O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKCRiYWNrZ3JvdW5kLCAkdHJhbnNwYXJlbmN5KTtcclxuICAmOmhvdmVyLFxyXG4gICY6YWN0aXZlLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJGJhY2tncm91bmQsICR0cmFuc3BhcmVuY3kpO1xyXG4gICAgY29sb3I6ICR0ZXh0LWhvdmVyO1xyXG4gIH1cclxufSIsIi5idG4ge1xyXG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xyXG4gIC8vb3RoZXIgdHlwZXMgb2YgYnV0dG9uXHJcbiAgLy93aXRoIGFycm93IHBvaW50ZXJcclxuICAmLi1wb2ludGluZyB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQVlBQUFBS0NBWUFBQUNYRGk4ekFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTVRFeElEYzVMakUxT0RNeU5Td2dNakF4TlM4d09TOHhNQzB3TVRveE1Eb3lNQ0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UVWdLRmRwYm1SdmQzTXBJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPa0UxUTBFMFFUSXdOMFpHTkRFeFJUWkJPVFUyUTBNek9ERkdRelUzUWtJNElpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09rRTFRMEUwUVRJeE4wWkdOREV4UlRaQk9UVTJRME16T0RGR1F6VTNRa0k0SWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNlFUVkRRVFJCTVVVM1JrWTBNVEZGTmtFNU5UWkRRek00TVVaRE5UZENRamdpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2UVRWRFFUUkJNVVkzUmtZME1URkZOa0U1TlRaRFF6TTRNVVpETlRkQ1FqZ2lMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejUvbkFCOUFBQUFYVWxFUVZSNDJtTDQvLzkvRGhCWEF6RURNZ1lSNGtCOERZaHIwQ1d3U2lKckIwbGVCZUphRUorRkFRRmVBckVURU84RFlrWW1CbFR3RDRpQjVqQXdJeHNsQ3NSWGdMZ0IyUTR4cUdBOXN1VVlnakNKWENDdVEvY2dRSUFCQURyRm5hbmtwejMxQUFBQUFFbEZUa1N1UW1DQycpIG5vLXJlcGVhdCBjYWxjKDEwMCUgLSAxZW0pIGNlbnRlcjtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDNlbTtcclxuICB9XHJcbiAgJi4tbGFyZ2Uge1xyXG4gICAgcGFkZGluZzogMC45ZW0gMi41NWVtO1xyXG4gIH1cclxuICAmLi1yaWdodC1hbGlnbiB7XHJcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xyXG4gIH1cclxuICAmLi1jb25kZW5zZWQge1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWNvbmRlbnNlZDtcclxuICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICB9XHJcbiAgJi4taG9sbG93IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xyXG4gIH1cclxuICAmLi1mb250LW5vcm1hbCB7XHJcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbiAgfVxyXG4gICYuLXVwcGVyY2FzZSB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIH1cclxuICAmLi1zaXplLXNtYWxsIHtcclxuICAgIHBhZGRpbmctbGVmdDogN3B4O1xyXG4gICAgcGFkZGluZy1yaWdodDogN3B4O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gIH1cclxufVxyXG5cclxuLmJ0bi1pY29uIHtcclxuICB3aWR0aDogNjBweDtcclxuICBoZWlnaHQ6IDYwcHg7XHJcbiAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLy9jb2xvcnNcclxuLmJ0bixcclxuLmJ0bi1pY29uIHtcclxuICAmLi1wcmltYXJ5IHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZShtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpLCAkd2hpdGUsIDAuMik7XHJcbiAgfVxyXG4gICYuLWdlbnRsZSB7XHJcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJHdoaXRlLCAkd2hpdGUsIDAuNyk7XHJcbiAgfVxyXG4gICYuLWdlbnRsZS1ob2xsb3cge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkd2hpdGUsIHRyYW5zcGFyZW50aXplKCR3aGl0ZSwgMC4xKSwgJHdoaXRlLCAwLjcpO1xyXG4gIH1cclxuICAmLi1iYWNrIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQWNBQUFBS0NBWUFBQUI0ekVRTkFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTVRFeElEYzVMakUxT0RNeU5Td2dNakF4TlM4d09TOHhNQzB3TVRveE1Eb3lNQ0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UVWdLRmRwYm1SdmQzTXBJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPalkxT1VOQ01UTTVPRGsyTWpFeFJUWkJRVEkwUkRrNVFUazFNemxHTlVFeklpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qWTFPVU5DTVROQk9EazJNakV4UlRaQlFUSTBSRGs1UVRrMU16bEdOVUV6SWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk5qVTVRMEl4TXpjNE9UWXlNVEZGTmtGQk1qUkVPVGxCT1RVek9VWTFRVE1pSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2TmpVNVEwSXhNemc0T1RZeU1URkZOa0ZCTWpSRU9UbEJPVFV6T1VZMVFUTWlMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejd5S041R0FBQUFaa2xFUVZSNDJtTDQvLzgvQXhvV0IrSUVJR1ptWWtBRmNrQWNDOFJuZ1BndnNnNTFJQzRGWWlXWUdFekNBSWlMZ1ZnYTJRb1FZUS9FQlVBc2dtNC95TTcvRExnQVZKVStFSmRnTXhhRzFhQU9Vc1ltQ2NLeVVCTjBzVW1Dc0JnUXg0TUNBU0RBQUh2QnNBc2JHWHpuQUFBQUFFbEZUa1N1UW1DQycpIG5vLXJlcGVhdCAxNnB4IGNlbnRlcjtcclxuICB9XHJcbiAgJi4tZGFyay1ob2xsb3cge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmxhY2ssIHRyYW5zcGFyZW50aXplKCRibGFjaywgMC4xKSwgJGJsYWNrLCAwLjcpO1xyXG4gIH1cclxuICAmLi1icmlnaHQge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYnJpZ2h0KSwgJHdoaXRlLCAwLjIpO1xyXG4gIH1cclxufVxyXG5cclxuIiwiLmNhdGFsb2ctdGFibGUge1xyXG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udCgwLjh2dywgMTJweCwgMTVweCk7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdGhlYWQgPiB0ciB7XHJcbiAgICBib3JkZXI6IDAgc29saWQgJG1lZGl1bS1ncmF5O1xyXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xyXG4gIH1cclxuICB0Ym9keSB7XHJcbiAgICA+IHRyIHtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBicmlnaHQpLCAwLjgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHRoIHtcclxuICAgIHBhZGRpbmc6IDEycHggMTBweDtcclxuICB9XHJcbiAgdGQge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICB9XHJcbn0iLCIvLy9cclxuLy8vIFZpZXdwb3J0IHNpemVkIHR5cG9ncmFwaHkgd2l0aCBtaW5pbXVtIGFuZCBtYXhpbXVtIHZhbHVlc1xyXG4vLy9cclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAgICRyZXNwb25zaXZlICAtIFZpZXdwb3J0LWJhc2VkIHNpemVcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAgICRtaW4gICAgICAgICAtIE1pbmltdW0gZm9udCBzaXplIChweClcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAgICRtYXggICAgICAgICAtIE1heGltdW0gZm9udCBzaXplIChweClcclxuLy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvcHRpb25hbClcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAgICRmYWxsYmFjayAgICAtIEZhbGxiYWNrIGZvciB2aWV3cG9ydC1cclxuLy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2VkIHVuaXRzIChvcHRpb25hbClcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gNXZ3IGZvbnQgc2l6ZSAod2l0aCA1MHB4IGZhbGxiYWNrKSxcclxuLy8vICAgICAgICAgICAgICAgICBtaW51bXVtIG9mIDM1cHggYW5kIG1heGltdW0gb2YgMTUwcHhcclxuLy8vICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQoNXZ3LCAzNXB4LCAxNTBweCwgNTBweCk7XHJcbi8vL1xyXG5AbWl4aW4gcmVzcG9uc2l2ZS1mb250KCRyZXNwb25zaXZlLCAkbWluLCAkbWF4OiBmYWxzZSwgJGZhbGxiYWNrOiBmYWxzZSkge1xyXG4gICRyZXNwb25zaXZlLXVuaXRsZXNzOiAkcmVzcG9uc2l2ZSAvICgkcmVzcG9uc2l2ZSAtICRyZXNwb25zaXZlICsgMSk7XHJcbiAgJGRpbWVuc2lvbjogaWYodW5pdCgkcmVzcG9uc2l2ZSkgPT0gJ3ZoJywgJ2hlaWdodCcsICd3aWR0aCcpO1xyXG4gICRtaW4tYnJlYWtwb2ludDogJG1pbiAvICRyZXNwb25zaXZlLXVuaXRsZXNzICogMTAwO1xyXG5cclxuICBAbWVkaWEgKG1heC0jeyRkaW1lbnNpb259OiAjeyRtaW4tYnJlYWtwb2ludH0pIHtcclxuICAgIGZvbnQtc2l6ZTogJG1pbjtcclxuICB9XHJcblxyXG4gIEBpZiAkbWF4IHtcclxuICAgICRtYXgtYnJlYWtwb2ludDogJG1heCAvICRyZXNwb25zaXZlLXVuaXRsZXNzICogMTAwO1xyXG5cclxuICAgIEBtZWRpYSAobWluLSN7JGRpbWVuc2lvbn06ICN7JG1heC1icmVha3BvaW50fSkge1xyXG4gICAgICBmb250LXNpemU6ICRtYXg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJGZhbGxiYWNrIHtcclxuICAgIGZvbnQtc2l6ZTogJGZhbGxiYWNrO1xyXG4gIH1cclxuXHJcbiAgZm9udC1zaXplOiAkcmVzcG9uc2l2ZTtcclxufSIsIi5jaGVja2JveC1jdXN0b20ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5jaGVja2JveC1jdXN0b21fX2NoZWNrYm94IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDFweDtcclxuICBoZWlnaHQ6IDFweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogLTFweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG4uY2hlY2tib3gtY3VzdG9tX19sYWJlbCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiAgd2lkdGg6IDM1cHg7XHJcbiAgaGVpZ2h0OiAzNXB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBsaW5lLWhlaWdodDogMzVweDtcclxufVxyXG5cclxuLy9vdmVycmlkZSB6dXJiXHJcblxyXG4uY2hlY2tib3gtY3VzdG9tX19jaGVja2JveCArIC5jaGVja2JveC1jdXN0b21fX2xhYmVsIHtcclxuICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogN3B4O1xyXG59XHJcblxyXG4vL2NoZWNrZWQgc3RhdGVcclxuXHJcbi5jaGVja2JveC1jdXN0b21fX2NoZWNrYm94IHtcclxuICAmOmNoZWNrZWQgKyAuY2hlY2tib3gtY3VzdG9tX19sYWJlbCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcclxuICAgIGJvcmRlci1jb2xvcjogJGJsYWNrO1xyXG4gIH1cclxufVxyXG5cclxuIiwiLmNvbnRlbnQtYmFyX19tYWluIHtcclxuICBwYWRkaW5nOiAkY29udGVudC1zcGFjZTtcclxuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xyXG4gIG1heC13aWR0aDogJHNpZGViYXItd2lkdGg7IC8vaGVsbG8sIGllIVxyXG5cclxufVxyXG5cclxuLmNvbnRlbnQtYmFyX190aXRsZSB7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWNvbmRlbnNlZDtcclxuICBmb250LXNpemU6IDM1cHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudGl6ZSgkYmxhY2ssIDAuOCk7XHJcbn1cclxuXHJcbi5jb250ZW50LWJhcl9fY29udGVudCB7XHJcbiAgbWF4LWhlaWdodDogMzUwcHg7XHJcbiAgLm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG4gIC5tQ3VzdG9tU2Nyb2xsQm94ID4gLm1DU0Jfc2Nyb2xsVG9vbHMge1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gIH1cclxufSIsIi5jb250ZW50LXd5c2l3eWcge1xyXG4gIGgxLFxyXG4gIGgyLFxyXG4gIGgzLFxyXG4gIGg0LFxyXG4gIGg1LFxyXG4gIGg2IHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBtYXJnaW46IDE1cHggMDtcclxuICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gIH1cclxuICBwIHtcclxuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xyXG4gIH1cclxufVxyXG5cclxuLmNvbnRlbnQtYmFyLS1kYXJrIHtcclxuICAuY29udGVudC13eXNpd3lnIHtcclxuICAgIGgxLFxyXG4gICAgaDIsXHJcbiAgICBoMyxcclxuICAgIGg0LFxyXG4gICAgaDUsXHJcbiAgICBoNiB7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy/RgNCw0YHQv9C+0LvQvtC20LXQvdC40LUg0YHQv9GA0LDQudGC0LAg0YEg0LjQutC90L7QutCw0LzQuFxyXG4uY3VzdG9tLXNjcm9sbGVyIHtcclxuICAubUNTQl9zY3JvbGxUb29scyB7XHJcbiAgICAubUNTQl9idXR0b25VcCxcclxuICAgIC5tQ1NCX2J1dHRvbkRvd24sXHJcbiAgICAubUNTQl9idXR0b25MZWZ0LFxyXG4gICAgLm1DU0JfYnV0dG9uUmlnaHQge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JGltYWdlLXBhdGh9L21DU0JfYnV0dG9ucy5wbmcnKTsgLyogY3NzIHNwcml0ZXMgKi9cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8v0LjQt9C80LXQvdC10L3QuNC1INC/0L7Qt9C40YbQuNC4INGB0LrRgNC+0LvQu9CwXHJcbi5jdXN0b20tc2Nyb2xsZXItLXJpZ2h0IHtcclxuICAubUN1c3RvbVNjcm9sbEJveD4ubUNTQl9zY3JvbGxUb29scyB7XHJcbiAgICBsZWZ0OiAwO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8v0L7RgtGB0YLRg9C/0Ysg0LLQvdGD0YLRgNC4INC60L7QvdGC0LXQudC90LXRgNCwINGB0L4g0YHQutGA0L7Qu9C70L7QvFxyXG4vKi5jdXN0b20tc2Nyb2xsZXIge1xyXG4gIC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiAwIDQwcHg7XHJcbiAgfVxyXG59Ki9cclxuIiwiLmVhc3lwaW4tbWFya2VyIHtcclxuICB6LWluZGV4OiAyMDA7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAzNnB4O1xyXG4gICAgaGVpZ2h0OiAzNnB4O1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJGJsYWNrLCAwLjMpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjMpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogN3B4O1xyXG4gIH1cclxuICAmOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnKyc7XHJcbiAgICBmb250LXNpemU6IDgwcHg7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtY29uZGVuc2VkO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMThweDtcclxuICAgIGxlZnQ6IDNweDtcclxuICB9XHJcbiAgJi5pcy1hY3RpdmUge1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBsZWZ0OiAycHg7XHJcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5lYXN5cGluLW1hcmtlcl9fdGV4dCB7XHJcbiAgY29sb3I6IHRyYW5zcGFyZW50aXplKCR3aGl0ZSwgMC4yKTtcclxuICBmb250LWZhbWlseTogJGZvbnQtY29uZGVuc2VkO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHRvcDogNnB4O1xyXG4gIGxlZnQ6IDU2cHg7XHJcbn0iLCIuZWFzeXBpbiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbi8qICBsZWZ0OiA1MCU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7Ki9cclxuICB0b3A6IDA7XHJcbiAgbWluLWhlaWdodDogMTAwJTtcclxuICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZDogdXJsKCcjeyRpbWFnZS1wYXRofS91cGxvYWRzL2JhY2tncm91bmRzL3RlYW0uanBnJykgbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIC5waW4ge1xyXG4gICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iLCJcclxuXHJcbi5maWx0ZXJfX3RpdGxlIHtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udCgwLjh2dywgMTJweCwgMTVweCk7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLmZpbHRlcl9fY29udGFpbmVyLS1yYW5nZSB7XHJcbiAgLmZpbHRlciB7XHJcbiAgICBtYXJnaW46IDE1cHggMDtcclxuICB9XHJcbn0iLCIuY29udGVudC1mbGV4c2xpZGVyIHtcclxuICBtYXgtd2lkdGg6ICRzaWRlYmFyLXdpZHRoO1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIC5mbGV4LWNvbnRyb2wtbmF2IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG4gIC5mbGV4LWRpcmVjdGlvbi1uYXYge1xyXG4gICAgdG9wOiA0MXB4O1xyXG4gICAgcmlnaHQ6IDMwcHg7XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gIH1cclxufSIsIi5mbGV4c2xpZGVyIHtcclxuICBib3JkZXItd2lkdGg6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4uZmxleC1kaXJlY3Rpb24tbmF2IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA5MHB4O1xyXG4gIGxlZnQ6ICgkY29udGVudC1zcGFjZSArIDQpO1xyXG4gIC5mbGV4LW5hdi1wcmV2LFxyXG4gIC5mbGV4LW5hdi1uZXh0IHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgfVxyXG4gIC5mbGV4LW5leHQge1xyXG4gICAgcmlnaHQ6IGF1dG87XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQWtBQUFBT0NBWUFBQUQ5bERhb0FBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTVRFeElEYzVMakUxT0RNeU5Td2dNakF4TlM4d09TOHhNQzB3TVRveE1Eb3lNQ0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UVWdLRmRwYm1SdmQzTXBJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPamRCTkRWR016TTJPRFUxUVRFeFJUWkJNakUxT0VZMVJESTRPREUxT0RRM0lpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qZEJORFZHTXpNM09EVTFRVEV4UlRaQk1qRTFPRVkxUkRJNE9ERTFPRFEzSWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk4wRXpNVEJDTmpFNE5UVkJNVEZGTmtFeU1UVTRSalZFTWpnNE1UVTRORGNpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2TjBFek1UQkNOakk0TlRWQk1URkZOa0V5TVRVNFJqVkVNamc0TVRVNE5EY2lMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejdZN2JmWUFBQUFqa2xFUVZSNDJtTDQvLzgvQXhDdkFtSVhLQnNEd3hnMlFQd1NpSDN3S1FKaFV5QitEc1NoK0JTQnNCNFFQd1hpV0h5S1FGZ0RpQjhCY1FZK1JTQ3NDTVIzZ2JnSXhHZGh3QTd1QTdFOUVPOEJZbjRtQnR5QUNZci80TEpPR1lqdkEzRWVMamRwUWgyZWlzdmhoa0Q4RElpamNRV0JPUkMvQU9JZ1hJRnBCNDBXVDN6UnNneUlIWEZGTUVDQUFRQ0ozMVgzWjdWa2pBQUFBQUJKUlU1RXJrSmdnZz09Jykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5mbGV4LXByZXYge1xyXG4gICAgbGVmdDogYXV0bztcclxuICAgIGJhY2tncm91bmQ6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBa0FBQUFPQ0FZQUFBRDlsRGFvQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5WnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNVEV4SURjNUxqRTFPRE15TlN3Z01qQXhOUzh3T1M4eE1DMHdNVG94TURveU1DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRVZ0tGZHBibVJ2ZDNNcElpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qZEJNekV3UWpWQ09EVTFRVEV4UlRaQk1qRTFPRVkxUkRJNE9ERTFPRFEzSWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pkQk16RXdRalZET0RVMVFURXhSVFpCTWpFMU9FWTFSREk0T0RFMU9EUTNJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TjBFek1UQkNOVGs0TlRWQk1URkZOa0V5TVRVNFJqVkVNamc0TVRVNE5EY2lJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZOMEV6TVRCQ05VRTROVFZCTVRGRk5rRXlNVFU0UmpWRU1qZzRNVFU0TkRjaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NXU5SUtNQUFBQWxrbEVRVlI0Mm1MNC8vOC9BdzdzRE1TclFHeGNDcnlCK0FVUTIrQlNGQXJFejRIWUJDYUdyaUFXaUo4Q3NSNnlPTEtDZENCK0JNUWE2S2JER0lWQWZBK0lGYkc1RVVUVUEvRU5JSmJGNVZNbUJnYUd2MEFNb2hrWmNBR282aHdndmcvRXlyaXNnK0VVSUg0TXhKcjRGSUZ3RkJBL0EySkRmSXBBT0JBYTJ1YjRGSUd3SnhDL0JHSTdmSXBBMkJHSVY0RFlBQUVHQUZyUmNGdzM2dWRYQUFBQUFFbEZUa1N1UW1DQycpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGEge1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG4gICAgd2lkdGg6IDlweDtcclxuICAgIGhlaWdodDogMTRweDtcclxuICAgIGZvbnQtc2l6ZTogMDtcclxuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIG1hcmdpbjogMCA0cHg7XHJcbiAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgdG9wOiBhdXRvO1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmZsZXgtY29udHJvbC1uYXYge1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IGF1dG87XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHRvcDogMTM1cHg7XHJcbiAgbGVmdDogJGNvbnRlbnQtc3BhY2U7XHJcbiAgY291bnRlci1yZXNldDogc2xpZGUtY291bnQ7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxuICBmb250LXNpemU6IDE5cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAmOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnLydjb3VudGVyKHNsaWRlLWNvdW50KTtcclxuICAgIGZvbnQtc2l6ZToxOXB4O1xyXG4gIH1cclxuICBsaSB7XHJcbiAgICBjb3VudGVyLWluY3JlbWVudDogc2xpZGUtY291bnQ7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBhIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgdGV4dC1pbmRlbnQ6IDA7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICYuZmxleC1hY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZmxleHNpZGVyLS1yaWdodC1zaWRlIHtcclxuICAuZmxleC1kaXJlY3Rpb24tbmF2IHtcclxuICAgIGJvdHRvbTogJGNvbnRlbnQtc3BhY2U7XHJcbiAgICByaWdodDogJGNvbnRlbnQtc3BhY2U7XHJcbiAgICB0b3A6IGF1dG87XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gIH1cclxuICAuZmxleC1jb250cm9sLW5hdiB7XHJcbiAgICBib3R0b206ICRjb250ZW50LXNwYWNlO1xyXG4gICAgcmlnaHQ6ICRjb250ZW50LXNwYWNlICsgNTA7XHJcbiAgICB0b3A6IGF1dG87XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gIH1cclxufVxyXG5cclxuLmZsZXhzaWRlci0tZGFyayB7XHJcbiAgLmZsZXgtY29udHJvbC1uYXYge1xyXG4gICAgY29sb3I6ICRibGFjaztcclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgfVxyXG4gIH1cclxuICAuZmxleC1kaXJlY3Rpb24tbmF2IHtcclxuICAgIC5mbGV4LW5leHQge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQWdBQUFBTkNBWUFBQUNVd2k4NEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTVRFeElEYzVMakUxT0RNeU5Td2dNakF4TlM4d09TOHhNQzB3TVRveE1Eb3lNQ0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UVWdLRmRwYm1SdmQzTXBJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPa0k1UVRJek56STJPRFpHTWpFeFJUWTVOemhGUkRKQk1qRXlOelE1TVVKRklpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09rSTVRVEl6TnpJM09EWkdNakV4UlRZNU56aEZSREpCTWpFeU56UTVNVUpGSWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNlFqbEJNak0zTWpRNE5rWXlNVEZGTmprM09FVkVNa0V5TVRJM05Ea3hRa1VpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2UWpsQk1qTTNNalU0TmtZeU1URkZOamszT0VWRU1rRXlNVEkzTkRreFFrVWlMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejdYTnlENUFBQUFiMGxFUVZSNDJtSmdZR0RRQWVKdFFNekRnQVV3QWZFMUlINE14RHVBbUo4QkIyQUU0a2xBZkJxSWhSandnQzRnUGcvRW92Z1VOUVB4VlNDV3dLZW9Fb2h2QUxFY0l4NUZXM0Q1REdiQ1RTQ1d4K1VHa05jbFNmSUZMQnpPWUFzSFVHak9CT0pqdUVKU0YxOWNBQVFZQU1kMUVoQ3lOY1lhQUFBQUFFbEZUa1N1UW1DQycpO1xyXG4gICAgfVxyXG4gICAgLmZsZXgtcHJldiB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFOQ0FZQUFBQ1V3aTg0QUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5WnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNVEV4SURjNUxqRTFPRE15TlN3Z01qQXhOUzh3T1M4eE1DMHdNVG94TURveU1DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRVZ0tGZHBibVJ2ZDNNcElpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09rRkNRamhETXpVd09EWkdNakV4UlRZNFJrRkRRa1l4UmtGR09FTTRORGxESWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2tGQ1FqaERNelV4T0RaR01qRXhSVFk0UmtGRFFrWXhSa0ZHT0VNNE5EbERJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2UVVKQ09FTXpORVU0TmtZeU1URkZOamhHUVVOQ1JqRkdRVVk0UXpnME9VTWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZRVUpDT0VNek5FWTROa1l5TVRGRk5qaEdRVU5DUmpGR1FVWTRRemcwT1VNaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NHhXWFR2QUFBQWZVbEVRVlI0Mm1KZ3dBNjRnSGdERU9zd1laSGtCZUlkUVB3ZWlLK2pTd29DOFFrZ25nYkVqT2lTSWtCOERvaDdzRWxLQXZGVklHN0I1aUI1SUw0SnhKVTRITXh3RElnM011QUJJQk51QVhFRlBrVWdOMXdENGlaOGlrU2h2dWpHNWd2a2NEZ0p4RlB4S2VJRDRzTkFQQStJbVJud3hBWElaOW9BQVFZQVVaRVN4cFpLbkhjQUFBQUFTVVZPUks1Q1lJST0nKTtcclxuICAgIH1cclxuICB9XHJcbn0iLCIuZm9ybSB7XHJcbiAgY29sb3I6ICRibGFjaztcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBsaW5lLWhlaWdodDogMjtcclxufVxyXG5cclxuLmZvcm1fX3JvdyB7XHJcbiAgJi4tbmFycm93IHtcclxuICAgIHdpZHRoOiA4MCU7XHJcbiAgfVxyXG59XHJcblxyXG4uZm9ybV9faW5wdXQge1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS10ZXh0O1xyXG4gIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgYm9yZGVyOiAwIHNvbGlkICRsaWdodC1ncmF5O1xyXG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcclxuICAmOmZvY3VzLFxyXG4gICY6YWN0aXZlIHtcclxuICAgIGJvcmRlcjogMCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XHJcbiAgfVxyXG59XHJcblxyXG4uZm9ybV9fdGV4dC1oaWdodGxpZ2h0IHtcclxuICBjb2xvcjptYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcclxufVxyXG4iLCIuZnVsbC1zbGlkZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgbWluLXdpZHRoOiAxMDAlO1xyXG4gIC5mbGV4LXZpZXdwb3J0LFxyXG4gIC5zbGlkZXMge1xyXG4gICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWluLXdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICAuc2xpZGVzIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICA+IGxpIHtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmZ1bGwtc2xpZGVyX19pdGVtIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmZ1bGwtc2xpZGVyX190aXRsZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAkY29udGVudC1zcGFjZTtcclxuICBib3R0b206ICRjb250ZW50LXNwYWNlICsgMzVweDtcclxuICBmb250LWZhbWlseTogJGZvbnQtY29uZGVuc2VkO1xyXG4gIGZvbnQtc2l6ZTogMjRweDtcclxufSIsIi5nb29nbGUtbWFwcyB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiAwO1xyXG59IiwiLmhlYWRlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGZsZXgtc2hyaW5rOiAwO1xyXG4gIG1hcmdpbjogJGNvbnRlbnQtc3BhY2U7XHJcbiAgei1pbmRleDogMjtcclxufSIsIi5pY29uLW5hdiB7XHJcbn1cclxuXHJcbi5pY29uLW5hdl9fbGlzdCB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLmljb24tbmF2X19pdGVtIHtcclxuICBib3gtc2hhZG93OiAwIC0xcHggNXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG59XHJcblxyXG4uaWNvbi1uYXZfX2xpbmsge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICAmOmhvdmVyIHtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcbiAgICAuaWNvbi1uYXZfX3RleHQge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5pY29uLW5hdl9fdGV4dCB7XHJcbiAgZm9udC1zaXplOiA5cHg7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWNvbmRlbnNlZDtcclxuICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn0iLCIuaWNvbi1hYm91dCB7XHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgQGluY2x1ZGUgc3ByaXRlKCRhYm91dC1jb21wYW55KTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjNzO1xyXG4gIH1cclxufVxyXG5cclxuLmljb24tZ2FsbGVyeSB7XHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgQGluY2x1ZGUgc3ByaXRlKCRnYWxsZXJ5KTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjNzO1xyXG4gIH1cclxufVxyXG5cclxuLmljb24tY29udGFjdHMge1xyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIEBpbmNsdWRlIHNwcml0ZSgkY29udGFjdHMpO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuM3M7XHJcbiAgfVxyXG59IiwiLmltZy1pY29uIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5pbWctaWNvbl9faW1hZ2Uge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLmltZy1pY29uX190aXRsZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWNvbmRlbnNlZDtcclxuICBjb2xvcjogJHdoaXRlO1xyXG59XHJcbiIsIi8qIElvbi5SYW5nZVNsaWRlciwgU2ltcGxlIFNraW5cclxuLy8gY3NzIHZlcnNpb24gMi4wLjNcclxuLy8gwqkgRGVuaXMgSW5lc2hpbiwgMjAxNCAgICBodHRwczovL2dpdGh1Yi5jb20vSW9uRGVuXHJcbi8vIMKpIGd1eWJvd2RlbiwgMjAxNCAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2d1eWJvd2RlblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBTa2luIGRldGFpbHMgKi9cclxuXHJcbi5pcnMge1xyXG4gIGhlaWdodDogMTlweDtcclxufVxyXG4uaXJzLXdpdGgtZ3JpZCB7XHJcbiAgaGVpZ2h0OiAxOXB4O1xyXG59XHJcbi5pcnMtbGluZSB7XHJcbiAgaGVpZ2h0OiAycHg7XHJcbiAgdG9wOiAxMXB4O1xyXG4gIGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG59XHJcbi5pcnMtbGluZS1sZWZ0IHtcclxuICBoZWlnaHQ6IDJweDtcclxufVxyXG4uaXJzLWxpbmUtbWlkIHtcclxuICBoZWlnaHQ6IDJweDtcclxufVxyXG4uaXJzLWxpbmUtcmlnaHQge1xyXG4gIGhlaWdodDogMnB4O1xyXG59XHJcblxyXG4uaXJzLWJhciB7XHJcbiAgaGVpZ2h0OiAycHg7XHJcbiAgdG9wOiAxMXB4O1xyXG4gIGJhY2tncm91bmQ6ICRibGFjaztcclxufVxyXG4uaXJzLWJhci1lZGdlIHtcclxuICBoZWlnaHQ6IDJweDtcclxuICB0b3A6IDExcHg7XHJcbiAgd2lkdGg6IDE0cHg7XHJcbiAgYmFja2dyb3VuZDogJGJsYWNrO1xyXG59XHJcblxyXG4uaXJzLXNoYWRvdyB7XHJcbiAgaGVpZ2h0OiAycHg7IHRvcDogMzhweDtcclxufVxyXG5cclxuLmlycy1zbGlkZXIge1xyXG4gIHRvcDogNnB4O1xyXG4gIHdpZHRoOiAxMXB4O1xyXG4gIGhlaWdodDogMTFweDtcclxuICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgYm9yZGVyOiAycHggc29saWQgJGJsYWNrO1xyXG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5pcnMtc2xpZGVyLnN0YXRlX2hvdmVyLCAuaXJzLXNsaWRlcjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbn1cclxuXHJcbi5pcnMtbWluLCAuaXJzLW1heCB7XHJcbiAgY29sb3I6ICMzMzM7XHJcbiAgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogMS4zMzM7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgdG9wOiAwO1xyXG4gIHBhZGRpbmc6IDFweCA1cHg7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjEpO1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5sdC1pZTkgLmlycy1taW4sIC5sdC1pZTkgLmlycy1tYXgge1xyXG4gIGJhY2tncm91bmQ6ICNjY2M7XHJcbn1cclxuXHJcbi5pcnMtZnJvbSwgLmlycy10bywgLmlycy1zaW5nbGUge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBsaW5lLWhlaWdodDogMS4zMzM7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgcGFkZGluZzogMXB4IDVweDtcclxuICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG4ubHQtaWU5IC5pcnMtZnJvbSwgLmx0LWllOSAuaXJzLXRvLCAubHQtaWU5IC5pcnMtc2luZ2xlIHtcclxuICBiYWNrZ3JvdW5kOiAjOTk5O1xyXG59XHJcblxyXG4uaXJzLWdyaWQge1xyXG4gIGhlaWdodDogMjdweDtcclxufVxyXG4uaXJzLWdyaWQtcG9sIHtcclxuICBvcGFjaXR5OiAwLjU7XHJcbiAgYmFja2dyb3VuZDogIzQyOGJjYTtcclxufVxyXG4uaXJzLWdyaWQtcG9sLnNtYWxsIHtcclxuICBiYWNrZ3JvdW5kOiAjOTk5O1xyXG59XHJcblxyXG4uaXJzLWdyaWQtdGV4dCB7XHJcbiAgYm90dG9tOiA1cHg7XHJcbiAgY29sb3I6ICM5OWE0YWM7XHJcbn1cclxuXHJcbi5pcnMtZGlzYWJsZWQge1xyXG59XHJcbiIsIi8qISBmYW5jeUJveCB2Mi4xLjUgZmFuY3lhcHBzLmNvbSB8IGZhbmN5YXBwcy5jb20vZmFuY3lib3gvI2xpY2Vuc2UgKi9cclxuLmZhbmN5Ym94LXdyYXAsXHJcbi5mYW5jeWJveC1za2luLFxyXG4uZmFuY3lib3gtb3V0ZXIsXHJcbi5mYW5jeWJveC1pbm5lcixcclxuLmZhbmN5Ym94LWltYWdlLFxyXG4uZmFuY3lib3gtd3JhcCBpZnJhbWUsXHJcbi5mYW5jeWJveC13cmFwIG9iamVjdCxcclxuLmZhbmN5Ym94LW5hdixcclxuLmZhbmN5Ym94LW5hdiBzcGFuLFxyXG4uZmFuY3lib3gtdG1wXHJcbntcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBib3JkZXI6IDA7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG59XHJcblxyXG4uZmFuY3lib3gtd3JhcCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHotaW5kZXg6IDgwMjA7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1za2luIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcclxuICBjb2xvcjogIzQ0NDtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcclxuICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1vcGVuZWQge1xyXG4gIHotaW5kZXg6IDgwMzA7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1vcGVuZWQgLmZhbmN5Ym94LXNraW4ge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAxMHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4gIC1tb3otYm94LXNoYWRvdzogMCAxMHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4gIGJveC1zaGFkb3c6IDAgMTBweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcclxufVxyXG5cclxuLmZhbmN5Ym94LW91dGVyLCAuZmFuY3lib3gtaW5uZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWlubmVyIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZmFuY3lib3gtdHlwZS1pZnJhbWUgLmZhbmN5Ym94LWlubmVyIHtcclxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1lcnJvciB7XHJcbiAgY29sb3I6ICM0NDQ7XHJcbiAgZm9udDogMTRweC8yMHB4IFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMTVweDtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uZmFuY3lib3gtaW1hZ2UsIC5mYW5jeWJveC1pZnJhbWUge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWltYWdlIHtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgbWF4LWhlaWdodDogMTAwJTtcclxufVxyXG5cclxuI2ZhbmN5Ym94LWxvYWRpbmcsIC5mYW5jeWJveC1jbG9zZSwgLmZhbmN5Ym94LXByZXYgc3BhbiwgLmZhbmN5Ym94LW5leHQgc3BhbiB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRpbWFnZS1wYXRofS9mYW5jeWJveC9mYW5jeWJveF9zcHJpdGUucG5nJyk7XHJcbn1cclxuXHJcbiNmYW5jeWJveC1sb2FkaW5nIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIG1hcmdpbi10b3A6IC0yMnB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAtMjJweDtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMDhweDtcclxuICBvcGFjaXR5OiAwLjg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHotaW5kZXg6IDgwNjA7XHJcbn1cclxuXHJcbiNmYW5jeWJveC1sb2FkaW5nIGRpdiB7XHJcbiAgd2lkdGg6IDQ0cHg7XHJcbiAgaGVpZ2h0OiA0NHB4O1xyXG4gIGJhY2tncm91bmQ6IHVybCgnI3skaW1hZ2UtcGF0aH0vZmFuY3lib3gvZmFuY3lib3hfbG9hZGluZy5naWYnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcclxufVxyXG5cclxuLmZhbmN5Ym94LWNsb3NlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAtMThweDtcclxuICByaWdodDogLTE4cHg7XHJcbiAgd2lkdGg6IDM2cHg7XHJcbiAgaGVpZ2h0OiAzNnB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB6LWluZGV4OiA4MDQwO1xyXG59XHJcblxyXG4uZmFuY3lib3gtbmF2IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIHdpZHRoOiA0MCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcjeyRpbWFnZS1wYXRofS9mYW5jeWJveC9ibGFuay5naWYnKTsgLyogaGVscHMgSUUgKi9cclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XHJcbiAgei1pbmRleDogODA0MDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXByZXYge1xyXG4gIGxlZnQ6IDA7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1uZXh0IHtcclxuICByaWdodDogMDtcclxufVxyXG5cclxuLmZhbmN5Ym94LW5hdiBzcGFuIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgd2lkdGg6IDM2cHg7XHJcbiAgaGVpZ2h0OiAzNHB4O1xyXG4gIG1hcmdpbi10b3A6IC0xOHB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB6LWluZGV4OiA4MDQwO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLmZhbmN5Ym94LXByZXYgc3BhbiB7XHJcbiAgbGVmdDogMTBweDtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zNnB4O1xyXG59XHJcblxyXG4uZmFuY3lib3gtbmV4dCBzcGFuIHtcclxuICByaWdodDogMTBweDtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC03MnB4O1xyXG59XHJcblxyXG4uZmFuY3lib3gtbmF2OmhvdmVyIHNwYW4ge1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC10bXAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IC05OTk5OXB4O1xyXG4gIGxlZnQ6IC05OTk5OXB4O1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBtYXgtd2lkdGg6IDk5OTk5cHg7XHJcbiAgbWF4LWhlaWdodDogOTk5OTlweDtcclxuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBPdmVybGF5IGhlbHBlciAqL1xyXG5cclxuLmZhbmN5Ym94LWxvY2sge1xyXG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxuICB3aWR0aDogYXV0bztcclxufVxyXG5cclxuLmZhbmN5Ym94LWxvY2sgYm9keSB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZmFuY3lib3gtbG9jay10ZXN0IHtcclxuICBvdmVyZmxvdy15OiBoaWRkZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuLmZhbmN5Ym94LW92ZXJsYXkge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgei1pbmRleDogODAxMDtcclxuICBiYWNrZ3JvdW5kOiB1cmwoJyN7JGltYWdlLXBhdGh9L2ZhbmN5Ym94L2ZhbmN5Ym94X292ZXJsYXkucG5nJyk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1vdmVybGF5LWZpeGVkIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG59XHJcblxyXG4uZmFuY3lib3gtbG9jayAuZmFuY3lib3gtb3ZlcmxheSB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG59XHJcblxyXG4vKiBUaXRsZSBoZWxwZXIgKi9cclxuXHJcbi5mYW5jeWJveC10aXRsZSB7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGZvbnQ6IG5vcm1hbCAxM3B4LzIwcHggXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICB6LWluZGV4OiA4MDUwO1xyXG59XHJcblxyXG4uZmFuY3lib3gtb3BlbmVkIC5mYW5jeWJveC10aXRsZSB7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRpdGxlLWZsb2F0LXdyYXAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDA7XHJcbiAgcmlnaHQ6IDUwJTtcclxuICBtYXJnaW4tYm90dG9tOiAtMzVweDtcclxuICB6LWluZGV4OiA4MDUwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRpdGxlLWZsb2F0LXdyYXAgLmNoaWxkIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcclxuICBwYWRkaW5nOiAycHggMjBweDtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgLyogRmFsbGJhY2sgZm9yIHdlYiBicm93c2VycyB0aGF0IGRvZXNuJ3Qgc3VwcG9ydCBSR0JhICovXHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xyXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTVweDtcclxuICAtbW96LWJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4ICMyMjI7XHJcbiAgY29sb3I6ICNGRkY7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRpdGxlLW91dHNpZGUtd3JhcCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5mYW5jeWJveC10aXRsZS1pbnNpZGUtd3JhcCB7XHJcbiAgcGFkZGluZy10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5mYW5jeWJveC10aXRsZS1vdmVyLXdyYXAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICBjb2xvcjogI2ZmZjtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuOCk7XHJcbn1cclxuXHJcbi8qUmV0aW5hIGdyYXBoaWNzISovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSxcclxub25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksXHJcbm9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KXtcclxuXHJcbiAgI2ZhbmN5Ym94LWxvYWRpbmcsIC5mYW5jeWJveC1jbG9zZSwgLmZhbmN5Ym94LXByZXYgc3BhbiwgLmZhbmN5Ym94LW5leHQgc3BhbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JGltYWdlLXBhdGh9L2ZhbmN5Ym94L2ZhbmN5Ym94X3Nwcml0ZUAyeC5wbmcnKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogNDRweCAxNTJweDsgLypUaGUgc2l6ZSBvZiB0aGUgbm9ybWFsIGltYWdlLCBoYWxmIHRoZSBzaXplIG9mIHRoZSBoaS1yZXMgaW1hZ2UqL1xyXG4gIH1cclxuXHJcbiAgI2ZhbmN5Ym94LWxvYWRpbmcgZGl2IHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skaW1hZ2UtcGF0aH0vZmFuY3lib3gvZmFuY3lib3hfbG9hZGluZ0AyeC5naWYnKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMjRweCAyNHB4OyAvKlRoZSBzaXplIG9mIHRoZSBub3JtYWwgaW1hZ2UsIGhhbGYgdGhlIHNpemUgb2YgdGhlIGhpLXJlcyBpbWFnZSovXHJcbiAgfVxyXG59IiwiLypcclxuLm5hdi1zdWJtZW51IHtcclxuXHJcblxyXG59Ki9cclxuXHJcbi5uYXYtc3VibWVudSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAxMDAlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgbWluLXdpZHRoOiAxMDAlO1xyXG4gIHotaW5kZXg6IDIwMDtcclxuICAubmF2X19pdGVtOmhvdmVyICYge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG59XHJcblxyXG4ubmF2LXN1Ym1lbnVfX2l0ZW0ge1xyXG5cclxuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjJzO1xyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjcpO1xyXG4gIH1cclxufVxyXG5cclxuLm5hdi1zdWJtZW51X19pdGVtID4gYSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcGFkZGluZzogOHB4IDE1cHg7XHJcbn1cclxuIiwiLm5hdiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICY6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtYm9yZGVyLWNvbG9yO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICB9XHJcbiAgJi4tc3ViIHtcclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1zdWItYm9yZGVyLWNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm5hdl9fbGlzdCB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBtYXJnaW46IDAgMCAwIDIwcHg7XHJcbiAgcGFkZGluZzogMDtcclxuICBAaW5jbHVkZSBjbGVhcmZpeDtcclxufVxyXG5cclxuLm5hdl9faXRlbSB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgY29sb3I6ICRuYXYtdGV4dC1jb2xvcjtcclxuICBmb250LWZhbWlseTogJGZvbnQtY29uZGVuc2VkO1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XHJcbiAgei1pbmRleDogMjtcclxuICAmOmxhc3QtY2hpbGQ6bm90KC4taGFzLWNoaWxkKSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gIH1cclxuICAmLi1oYXMtY2hpbGQge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFjQUFBQUZDQVlBQUFDSm12YllBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1URXhJRGM1TGpFMU9ETXlOU3dnTWpBeE5TOHdPUzh4TUMwd01Ub3hNRG95TUNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVORElESXdNVFVnS0ZkcGJtUnZkM01wSWlCNGJYQk5UVHBKYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2tJd09FTXlRa1l6T0RFM1F6RXhSVFpCTXpZNFJqVkdORGc1TTBaQ05VWkZJaUI0YlhCTlRUcEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPa0l3T0VNeVFrWTBPREUzUXpFeFJUWkJNelk0UmpWR05EZzVNMFpDTlVaRklqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZRakE0UXpKQ1JqRTRNVGRETVRGRk5rRXpOamhHTlVZME9Ea3pSa0kxUmtVaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNlFqQTRRekpDUmpJNE1UZERNVEZGTmtFek5qaEdOVVkwT0RrelJrSTFSa1VpTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo3bk9yM3pBQUFBVlVsRVFWUjQybUw4Ly84L0t3TURBd2gvWTBBQUxpRCt3d1FrZElBNEhpb0FBcHhBSEFmRXVpREo4MEI4RzRoamdKZ2ZTdDhENHJPTVFHTmhSbmtDc1RFUW53UGliV0FSa0NRVWd4VHFRV213R0VDQUFRQnpVaVJueUlua1p3QUFBQUJKUlU1RXJrSmdnZz09Jykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbi5uYXZfX2l0ZW0gPiBhLFxyXG4ubmF2X19pdGVtID4gc3BhbiB7XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcGFkZGluZzogMCAxNXB4O1xyXG4gIGxpbmUtaGVpZ2h0OiA0NnB4O1xyXG59XHJcblxyXG4ubmF2X19pdGVtLi1oYXMtY2hpbGQgPiBhIHtcclxuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG59XHJcblxyXG4ubmF2X19jbG9zZSB7XHJcbiAgbWFyZ2luLWxlZnQ6IDE3cHg7XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG4gIG1hcmdpbi10b3A6IDJweDtcclxufSIsIi5uYXZpZ2F0aW9uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59IiwiLm9mZmljZS1wcmV2aWV3LWdhbGxlcnkge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcclxufVxyXG5cclxuLm9mZmljZS1wcmV2aWV3LWdhbGxlcnlfX2l0ZW0ge1xyXG4gIGZsZXgtYmFzaXM6IDUwJTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC41cztcclxuICAmOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRibGFjaywgMC41KTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuNXM7XHJcbiAgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIi5vcmRlci1ibG9jayB7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGNvbnRlbnQtc3BhY2U7XHJcbn1cclxuXHJcbi5vcmRlci1ibG9jay0taW5saW5lIHtcclxuICBmb250LXNpemU6IDA7XHJcbiAgLm9yZGVyLWJsb2NrX19idG4ge1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBhZGRpbmctdG9wOiAkY29udGVudC1zcGFjZSArIDEwO1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRjb250ZW50LXNwYWNlICsgMTA7XHJcbiAgICBib3JkZXItbGVmdDogMDtcclxuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcclxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm9yZGVyLWJsb2NrX19idG4ge1xyXG4gIGZvbnQtc2l6ZTogMTFweDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKCR3aGl0ZSwgMC42KTtcclxuICBwYWRkaW5nLWxlZnQ6IDUwcHg7XHJcbiAgcGFkZGluZy1yaWdodDogJGNvbnRlbnQtc3BhY2U7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgMThweCBjZW50ZXI7XHJcbn1cclxuXHJcbi5vcmRlci1ibG9ja19fYnRuLS1waG9uZSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVlDQVlBQUFEZ2R6MzRBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1URXhJRGM1TGpFMU9ETXlOU3dnTWpBeE5TOHdPUzh4TUMwd01Ub3hNRG95TUNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVORElESXdNVFVnS0ZkcGJtUnZkM01wSWlCNGJYQk5UVHBKYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2poQlF6UkRRVGd6UVVaRFF6RXhSVFpDUVRFeFJVVTRRekJHT1VJM1JrTTBJaUI0YlhCTlRUcEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPamhCUXpSRFFUZzBRVVpEUXpFeFJUWkNRVEV4UlVVNFF6QkdPVUkzUmtNMElqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZPRUZCTlRWQ016WkJSa05ETVRGRk5rSkJNVEZGUlRoRE1FWTVRamRHUXpRaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk9FRkRORU5CT0RKQlJrTkRNVEZGTmtKQk1URkZSVGhETUVZNVFqZEdRelFpTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo1dXJoUkJBQUFDSEVsRVFWUjQydXlWUVVpVVFSVEgzZExxMWtHTjBJdDRDUGFtZlN0MUtSWFRTMEhVaXFBSUl0SkpJVDJvTjFOUGdnY1Y2aFFSZ1JCRUpybnJSZEZTTHdhNzFzMUxpQ0NDNUhvUU9sU2EyKy9CZjJuOC9GejA0TTBIUDJibXpadjM1cHYzWnI1UU9wM09PVXNKblFjNGRZQklKSEtzclc4Y3VMTkVJbkZvZkNGTDhDdlFESk9RZ2dNZktjMDF5elpRZ2dMa1FROXNRRDk4aHlhNHBxOElxZCtrdVg3WjltanQ4UUU0SG84bUNZM1FCamVnRjRxMDI1OWlVcnBlMmJScFRWSStqZ1pnb29GbUh0NUFCVXhwUnpFWWdqamNFM0hwWXJLWjBocGJPeTlmLzVPTXdxSy9nSWV3NUd6Z09kUkFOV3o1dnY0NmZJSTU2SEQwZCtBanRKUHd0eUhQODhvWUxFSWRpbVduaW9waEhXN0JpblFGYWxOcWI4SVhLSUhOVEJYaDR6YmRHYmhyUnpRS3crYmN0OE5hV0hXYzM1ZVRUZlZ6TkxjcVc3ZFV6ZGV3K2JZQWxVcWFYNnhTMXB4eEZDNkpxS05mazYxZnpHZWxCVmlBUndFR1A2RFVHVS9BSHpIaDZFdGw2eGZ6dVdBQk9xRmI1K2JLTElSMXppYlR5a3V4K3BrY2hHWHJscnY1NmpiZloxOUZtYmRJdGZzU0JtRU05dUV5ZkFCUHhmQlpUcXIwNVhZcEg4TnZ5SVduMEFkUGNQN3V5R09uVy9nYS9zSXpYU2lURnQzV01vMi93U3RkTEpNSE1BQVhvUlhueVd5dnFkM01McDNocnFyQnp2Z3JiTXVzRU1wVm5wYk1xeXJMRVp6dm5mUzV0aGV5WGlWcDU1cnZ5OEdPOG1VVjlSNStCVDNYdVZtZWExc3dMazc4UHpqL0o1OWEvZ2t3QUZCWHhaUGNWTVhhQUFBQUFFbEZUa1N1UW1DQycpO1xyXG4gICYuLWxpZ2h0IHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5WnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNVEV4SURjNUxqRTFPRE15TlN3Z01qQXhOUzh3T1M4eE1DMHdNVG94TURveU1DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRVZ0tGZHBibVJ2ZDNNcElpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qVTBNVFZFTnpWQk9FRXhPREV4UlRZNU9UTXdSa1V5UmpJNVJFVTROVFpHSWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pVME1UVkVOelZDT0VFeE9ERXhSVFk1T1RNd1JrVXlSakk1UkVVNE5UWkdJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TlRReE5VUTNOVGc0UVRFNE1URkZOams1TXpCR1JUSkdNamxFUlRnMU5rWWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZOVFF4TlVRM05UazRRVEU0TVRGRk5qazVNekJHUlRKR01qbEVSVGcxTmtZaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NDZBbXlwQUFBQXAwbEVRVlI0Mm1MNC8vOC9BeGJzQWNSUC9oTUhua0RWWXpPSGdSRkVZQUZQZ0hnMkVDOWtJQXppZ1RnVmlHV3d5dUt3R1FRVWlEQWNwRllCcWg2cldTeDQ5SzRBS3ZoQmhCMGMrQ1R4V2JBR2lOOFFZWUVJRUp2ajh5Sk5nNGlKZ2NaZzFJSlJDMFl0R0xWZ01GaUFyN2dPQVphR3hCYlg1RmtBeEJSWE9FVFhCMEErQ3hBdkE5SFVxREtmZ2lwem9BTDBTdjhJcUhKSGF5akVROVdUNUFPcU5Wc0FBZ3dBNUFwWlVpVUNqZVFBQUFBQVNVVk9SSzVDWUlJPScpO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5vcmRlci1ibG9ja19fYnRuLS1zY2FuIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTVRFeElEYzVMakUxT0RNeU5Td2dNakF4TlM4d09TOHhNQzB3TVRveE1Eb3lNQ0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UVWdLRmRwYm1SdmQzTXBJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPamhCUVRVMVFqSkRRVVpEUXpFeFJUWkNRVEV4UlVVNFF6QkdPVUkzUmtNMElpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qaEJRVFUxUWpKRVFVWkRRekV4UlRaQ1FURXhSVVU0UXpCR09VSTNSa00wSWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk9FRTRPVGsxTmtSQlJrTkRNVEZGTmtKQk1URkZSVGhETUVZNVFqZEdRelFpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2T0VFNE9UazFOa1ZCUmtORE1URkZOa0pCTVRGRlJUaERNRVk1UWpkR1F6UWlMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejRKcHZ3WUFBQUEyRWxFUVZSNDJtTDgvLzgvQXpvd01URmhCVktiZ2RnRmlKa1o4SU8vUUx3SGlIM1BuRG56RzEyU0JZY21IU0NXQkdKOUlQNUt3QUp1SUY0TzFYT2VXQXY0Z0hnVDBFVlhHWWdBUUIvdmcrcGhJTllDRUlnRmFyUmxJQTZvQVBGNlVpMjRBTVFiaUxRZ0NwY0VYZ3VBUWJTQXlDQXl3Q1hIeEVCak1HckJxQVdqRm94YU1CZ3N3RmVhR2dCTHlRUWl6ZEVpcHo0QUZjRUNKRlE0SlB0Z01iQStxRVVyOTZOQk5GQjhLWnI0QkZJdCtBUnFKUUExcmtDcjlOOUFEVlJBcS9TZGdIZ2hLUlpjQWVJWFFIeVJoR2JMRld5U0FBRUdBSW5xTVgraTlYVTVBQUFBQUVsRlRrU3VRbUNDJyk7XHJcbiAgJi4tbGlnaHQge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJrQUFBQVlDQVlBQUFBUHRWYkdBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1URXhJRGM1TGpFMU9ETXlOU3dnTWpBeE5TOHdPUzh4TUMwd01Ub3hNRG95TUNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVORElESXdNVFVnS0ZkcGJtUnZkM01wSWlCNGJYQk5UVHBKYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pCRk1qRTFRamRDT0RrMk1ERXhSVFpCUXpRMU9EZ3lRa1pCTURRd1JUbEZJaUI0YlhCTlRUcEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPakJGTWpFMVFqZERPRGsyTURFeFJUWkJRelExT0RneVFrWkJNRFF3UlRsRklqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZNRVV5TVRWQ056azRPVFl3TVRGRk5rRkRORFU0T0RKQ1JrRXdOREJGT1VVaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk1FVXlNVFZDTjBFNE9UWXdNVEZGTmtGRE5EVTRPREpDUmtFd05EQkZPVVVpTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo0aG9selZBQUFCYUVsRVFWUjQydXpWc1VzQ1VSekE4UzZEUUFsYUluQTZvVVZ3YUxPaFJjbFFJUWU3dmJYL29ObXR3LzhpUjYwL0lLU1doc1p3cVNIb0hFUEthQ3FYNi92a2QvRjRQY1VDYjhrSEgrN2U3Mzd2OXp1NWU2Y1RodUhTdkllemFQS2JzVEx1NURnVEU3aUpIUTUxN0NLTGRibjBobnZjNElJYXQxTi9pZG1FbUFvYzRnUmJ1RVFYZHhoSTJnYTJzWWQ5UE1MSE9mVkNzNkE1ejZDTFBvNlJrbmdaYlR3SWRWNldheW5KN2N2YXpNUW1uSmZ3Z2xNa0paYkFHZDdSeElGb1NreGRTMGh1VXRhcUdxVWZUVGpXOElxS2NSTStudUJhbnBjcjEzd2pYcEZhdGU4bXlHR0lvcEdjeGdoNUxiYW1hUE84NUtTTnRVV3BtWXVhWEtGaHVkTWo5TFI1RlIraXFzVjdLdGV5dnFGcUw4dThnTGJsN2R0RW9NMDlyQXBQaXdlU2F3NVZzeEExdVRZV1JlTVorclBvNEZOMHRMZ3J1ZWJ3eHJWamV5YXh2RjB6N0pQV2xIM1Ntbm1mV0haODhJY2RIOWgyZkN6ZkxtdVR1WHlGRi8rTS82L0psd0FEQUlESE9wcXVuOXdBQUFBQUFFbEZUa1N1UW1DQycpO1xyXG4gIH1cclxufVxyXG5cclxuLm9yZGVyLWJsb2NrLS1kZXRhaWxzIHtcclxuICAub3JkZXItYmxvY2tfX2J0biB7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDM1cHggMjBweCA2MHB4O1xyXG4gICAgbWFyZ2luOiAxNXB4IDA7XHJcbiAgICBib3JkZXItY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gIH1cclxufSIsIi5wYWdlLXRpdGxlIHtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1jb25kZW5zZWQ7XHJcbiAgZm9udC1zaXplOiAzMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbn0iLCIucGhvbmUtYWxlcnQge1xyXG4gIG1hcmdpbjogNDBweCAyNXB4IDI1cHg7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIHdpZHRoOiA2MHB4O1xyXG4gIHBhZGRpbmc6IDE4cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBkYW5nZXIpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBib3gtc2hhZG93OiAwIDAgNXB4IDI1cHggdHJhbnNwYXJlbnRpemUobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBkYW5nZXIpLCAwLjg1KTtcclxuICAmOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIEBpbmNsdWRlIHNwcml0ZSgkcGhvbmUtcmVjZWl2ZXIpO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgYW5pbWF0aW9uOiBwdWxzZSAycyBpbmZpbml0ZTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcHVsc2Uge1xyXG4gIDAlIHtcclxuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggMTRweCB0cmFuc3BhcmVudGl6ZShtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGRhbmdlciksIDAuODUpO1xyXG4gIH1cclxuICA1MCUge1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAyNXB4IHRyYW5zcGFyZW50aXplKG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZGFuZ2VyKSwgMC43NSk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAxNHB4IHRyYW5zcGFyZW50aXplKG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZGFuZ2VyKSwgMC44NSk7XHJcbiAgfVxyXG59IiwiLnBob25lIHtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxufSIsIi5yYW5nZS1zbGlkZXIge1xyXG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udCgwLjh2dywgMTNweCwgMTZweCk7XHJcbiAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgLm5vLWpzICYge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5yYW5nZS1zbGlkZXJfX2lucHV0IHtcclxuICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAwO1xyXG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udCgwLjh2dywgMTNweCwgMTVweCk7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgcGFkZGluZzogMCA2cHg7XHJcbiAgaGVpZ2h0OiAxOXB4O1xyXG4gIHdpZHRoOiA0NnB4O1xyXG4gIHdpZHRoOiA2Y2g7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAvL292ZXJyaWRlIHp1cmJcclxuICAmOmRpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gIH1cclxufSIsIi5yZW50LXByaWNlIHtcclxuICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgZm9udC13ZWlnaHQ6NTAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICYuLWxhcmdlIHtcclxuICAgIGZvbnQtc2l6ZTogMzVweDtcclxuICB9XHJcbiAgJi4tbWVkaXVtIHtcclxuICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICB9XHJcbiAgJi4tc21hbGwge1xyXG4gICAgZm9udC1zaXplOiAyNXB4O1xyXG4gIH1cclxuICAmOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuXHJcbi5yZW50LXByaWNlX190aXRsZSB7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGNvbG9yOiAkZGFyay1ncmF5O1xyXG4gIG1hcmdpbi1ib3R0b206IDdweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxufSIsIi5yaG9tYnVzLXBob3RvIHtcclxuICB3aWR0aDoxMzBweDtcclxuICBoZWlnaHQ6MTMwcHg7XHJcbiAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxufVxyXG4ucmhvbWJ1cy1waG90byA+IGltZyB7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAtNTJweDtcclxuICBsZWZ0OiAyN3B4O1xyXG4gIHdpZHRoOiAxNTAlO1xyXG4gIG1heC13aWR0aDogMjAwJTtcclxufSIsIi5zaWRlLW5hdiB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuXHJcbi5leHRyYS1uYXYge1xyXG4gIG9yZGVyOiAtMTtcclxufSIsIi5zaWRlYmFyLS13aXRoLWltYWdlIHtcclxuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgbGVmdCB0b3AgdHJhbnNwYXJlbnQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxuICAmOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRibGFjaywgMC4zKTtcclxuICB9XHJcbn1cclxuXHJcbi5zaWRlYmFyX19jb250ZW50IHtcclxuICB6LWluZGV4OiAxO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufSIsIi50ZWFtLW1lbWJlciB7XHJcbiAgYm90dG9tOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgbGVmdDogLTQ3cHg7XHJcbiAgbWFyZ2luOiAwIDAgOHB4O1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi50ZWFtLW1lbWJlcl9fcGhvdG8ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDI3cHg7XHJcbn1cclxuXHJcbi50ZWFtLW1lbWJlcl9fZGVzY3Ige1xyXG4gIG1hcmdpbi1sZWZ0OiA2NXB4O1xyXG4gIHBhZGRpbmc6IDI1cHggMjVweCAyNXB4IDExNXB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRibGFjaywgMC4yNSk7XHJcbiAgaGVpZ2h0OiAxODRweDtcclxuICBtaW4td2lkdGg6IDMwMHB4O1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuLnRlYW0tbWVtYmVyX19uYW1lIHtcclxuICBmb250LXNpemU6IDE1cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMTtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIGNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkd2hpdGUsIDAuMyk7XHJcbn1cclxuXHJcbi50ZWFtLW1lbWJlcl9fc3VybmFtZSB7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbi50ZWFtLW1lbWJlcl9fcG9zaXRpb24ge1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1jb25kZW5zZWQ7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBjb2xvcjogdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjMpO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbn1cclxuLnRlYW0tbWVtYmVyX19jb250YWN0cyB7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWNvbmRlbnNlZDtcclxuICBsaW5lLWhlaWdodDogMS4xO1xyXG4gID4gYSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIH1cclxufSIsIi50aXRsZXMtbGlzdCB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuLnRpdGxlcy1saXN0X19pdGVtIHtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgY29sb3I6IHRyYW5zcGFyZW50aXplKCR3aGl0ZSwgMC40KTtcclxuICBwYWRkaW5nOiAyMHB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgJjpob3ZlciB7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gIH1cclxuICAmOm5vdCguaXMtYWN0aXZlKTo6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjQpO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDFweDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgfVxyXG4gICYuaXMtYWN0aXZlIHtcclxuICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogLTIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQWdBQUFBTkNBWUFBQUNVd2k4NEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTVRFeElEYzVMakUxT0RNeU5Td2dNakF4TlM4d09TOHhNQzB3TVRveE1Eb3lNQ0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UVWdLRmRwYm1SdmQzTXBJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPamxGUmpFNE5UVTJPRFE1TmpFeFJUWkNRME01UWpjNFFVSTFSa1V3TjBZNElpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qbEZSakU0TlRVM09EUTVOakV4UlRaQ1EwTTVRamM0UVVJMVJrVXdOMFk0SWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk9VVkdNVGcxTlRRNE5EazJNVEZGTmtKRFF6bENOemhCUWpWR1JUQTNSamdpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2T1VWR01UZzFOVFU0TkRrMk1URkZOa0pEUXpsQ056aEJRalZHUlRBM1JqZ2lMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejZFZU1pVEFBQUFoMGxFUVZSNDJtTDQvLzgvQXhBYkFyRXdsSTJDUVlRcUVQOEQ0cnRBTElOTkFRY1FuL2dQQWJlQldCcGRBUWp6QS9GcHFLSWJRQ3lKcmdDRUJZSDRIRlRSTlNBV1ExY0F3aUpBZkJHcTZES0l6NERGNVpwQS9CZXFxQUJkRXQwYVVXUkpyQTVGbGp5Snphc2dnaDJJajBJbE1RSUxPU1FmQUxFOHRwQUVZVE9ZdjlFeFFJQUJBTVkwVklPS0lXMFRBQUFBQUVsRlRrU3VRbUNDJykgbm8tcmVwZWF0IDAgMjVweDtcclxuICB9XHJcbn1cclxuXHJcbi50aXRsZXMtbGlzdF9fbmFtZSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgZm9udC1zaXplOiAyNHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjM7XHJcblxyXG4gIC50aXRsZXMtbGlzdF9faXRlbS5pcy1hY3RpdmUgJiB7XHJcbiAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDcwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4udGl0bGVzLWxpc3RfX2xpbmsge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBtYXJnaW4tcmlnaHQ6IC03MHB4O1xyXG4gIC50aXRsZXMtbGlzdF9faXRlbS5pcy1hY3RpdmUgJiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkd2hpdGUsIDAuNCk7XHJcbiAgfVxyXG59IiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xyXG5cclxuQGltcG9ydCAnc2V0dGluZ3MnO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uJztcclxuQGltcG9ydCAnbW90aW9uLXVpJztcclxuQGltcG9ydCAnanF1ZXJ5Lm1DdXN0b21TY3JvbGxiYXInO1xyXG5AaW1wb3J0IFwic3VzeVwiO1xyXG5cclxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQ7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtdmlkZW87XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtZWxlbWVudDtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1tZXRlci1lbGVtZW50O1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xyXG5cclxuQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xyXG5AaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcclxuXHJcblxyXG5AaW1wb3J0ICdoZWxwZXJzL21peGlucyc7XHJcbkBpbXBvcnQgJ3ZlbmRvci9mbGV4c2xpZGVyJztcclxuQGltcG9ydCAndmVuZG9yL2lvbi5yYW5nZVNsaWRlcic7XHJcbi8vQGltcG9ydCAndmVuZG9yL2lvbi5yYW5nZVNsaWRlci5za2luSFRNTDUnO1xyQGltcG9ydCAnZ2VuZXJhbC9hbmltYXRpb25zL19hbmltYXRpb25zLnNjc3MnO1xuQGltcG9ydCAnZ2VuZXJhbC9nZW5lcmFsL19nZW5lcmFsLnNjc3MnO1xuQGltcG9ydCAnZ2VuZXJhbC9ncmlkL19ncmlkLnNjc3MnO1xuQGltcG9ydCAnZ2VuZXJhbC9wYWdlLWJhY2tncm91bmQvX3BhZ2UtYmFja2dyb3VuZC5zY3NzJztcbkBpbXBvcnQgJ2dlbmVyYWwvdHlwb2dyYXBoeS9iZWJhcy9fYmViYXMuc2Nzcyc7XG5AaW1wb3J0ICdnZW5lcmFsL3R5cG9ncmFwaHkvZnV0dXJhL19mdXR1cmEuc2Nzcyc7XG5AaW1wb3J0ICdzcHJpdGUvX3Nwcml0ZS5zY3NzJztcbkBpbXBvcnQgJ2xheW91dC9fZmlsdGVycy5zY3NzJztcbkBpbXBvcnQgJ2xheW91dC9fZ2VuZXJhbC5zY3NzJztcbkBpbXBvcnQgJ2xheW91dC9fbWFpbi13cmFwLnNjc3MnO1xuQGltcG9ydCAnbGF5b3V0L19tYWluLnNjc3MnO1xuQGltcG9ydCAnbGF5b3V0L19wYWdlLWNvbnRlbnQuc2Nzcyc7XG5AaW1wb3J0ICdsYXlvdXQvX3NpZGViYXIuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FkZHJlc3MvX2FkZHJlc3Muc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FubS10YWJzL19hbm0tdGFicy5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFjay1idXR0b25zL19iYWNrLWJ1dHRvbnMuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JjLXNlbGVjdC9fYmMtc2VsZWN0LnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmFuZC9fYnJhbmQuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbnMvYnRuL19idG4uc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbnMvY2xvc2UtYnRuL19jbG9zZS1idG4uc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhdGFsb2ctZmlsdGVyL19jYXRhbG9nLWZpbHRlci5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2F0YWxvZy10YWJsZS9fY2F0YWxvZy10YWJsZS5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2hlY2tib3gtY3VzdG9tL19jaGVja2JveC1jdXN0b20uc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQtYmFyL19jb250ZW50LWJhci5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC13eXNpd3lnL19jb250ZW50LXd5c2l3eWcuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2N1c3RvbS1zY3JvbGxlci9fY3VzdG9tLXNjcm9sbGVyLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9lYXN5cGluLW1hcmtlci9fZWFzeXBpbi1tYXJrZXIuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Vhc3lwaW4vX2Vhc3lwaW4uc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZpbHRlci9fZmlsdGVyLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4c2xpZGVyL19jb250ZW50LWZsZXhzbGlkZXIuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXhzbGlkZXIvX2ZsZXhzbGlkZXIuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zvcm0vX2Zvcm0uc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Z1bGwtc2xpZGVyL19mdWxsLXNsaWRlci5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZ29vZ2xlLW1hcHMvX2dvb2dsZS1tYXBzLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9oZWFkZXIvX2hlYWRlci5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaWNvbi1uYXYvX2ljb24tbmF2LnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9pY29ucy9faWNvbi1uYXYuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ljb25zL19pbWctaWNvbi5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaXJzL19pcnMuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xpZ2h0Ym94L19mYW5jeWJveC5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmF2L19uYXYtc3VibWVudS5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmF2L19uYXYuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL25hdmlnYXRpb24vX25hdmlnYXRpb24uc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZmljZS1wcmV2aWV3LWdhbGxlcnkvX29mZmljZS1wcmV2aWV3LWdhbGxlcnkuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yZGVyLWJsb2NrL19vcmRlci1ibG9jay5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnZS10aXRsZS9fcGFnZS10aXRsZS5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGhvbmUtYWxlcnQvX3Bob25lLWFsZXJ0LnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9waG9uZS9fcGhvbmUuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JhbmdlLXNsaWRlci9fcmFuZ2Utc2xpZGVyLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZW50LXByaWNlL19yZW50LXByaWNlLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yaG9tYnVzLXBob3RvL19yaG9tYnVzLXBob3RvLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zaWRlLW5hdi9fc2lkZS1uYXYuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NpZGViYXIvX3NpZGViYXIuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RlYW0tbWVtYmVyL190ZWFtLW1lbWJlci5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGVzLWxpc3QvX3RpdGxlcy1saXN0LnNjc3MnO1xuLyogTm8gZmlsZXMgdG8gaW1wb3J0IGZvdW5kIGluIHBhcnRpYWxzLy8qKi8vKi5zY3NzICovQGltcG9ydCAncGFnZXMvY29udGFjdHMvX2NvbnRhY3RzLnNjc3MnO1xuQGltcG9ydCAncGFnZXMvaG9tZS9ob21lLWV4dHJhLWxpbmsvX2hvbWUtZXh0cmEtbGluay5zY3NzJztcbkBpbXBvcnQgJ3BhZ2VzL2hvbWUvaG9tZS1mb290ZXIvX2hvbWUtZm9vdGVyLnNjc3MnO1xuQGltcG9ydCAncGFnZXMvaG9tZS9tb3R0by9fbW90dG8uc2Nzcyc7XG5AaW1wb3J0ICdwYWdlcy9yZW50L19yZW50LnNjc3MnO1xuQGltcG9ydCAncGFnZXMvcmVudC9jaGFyYWN0ZXJpc3RpY3MvX2NoYXJhY3RlcmlzdGljcy5zY3NzJztcbkBpbXBvcnQgJ3BhZ2VzL3JlbnQvY29udGFjdC1kYXRhL19jb250YWN0LWRhdGEuc2Nzcyc7XG5AaW1wb3J0ICdwYWdlcy93aHlVcy9hZHZhbnRhZ2VzL19hZHZhbnRhZ2VzLWxpc3Quc2Nzcyc7XG4iLCIuY29udGFjdHMge1xyXG4gIHBhZGRpbmctbGVmdDogJGNvbnRlbnQtc3BhY2U7XHJcbiAgbWF4LXdpZHRoOiAkc2lkZWJhci13aWR0aDtcclxufVxyXG5cclxuLmNvbnRhY3RzX190aXRsZSB7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWNvbmRlbnNlZDtcclxuICBmb250LXNpemU6IDMwcHg7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbn1cclxuXHJcbi5jb250YWN0c19fYWRkcmVzcyB7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWNvbmRlbnNlZDtcclxuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG59XHJcblxyXG4uY29udGFjdHNfX2VtYWlsIHtcclxuICBmb250LWZhbWlseTogJGZvbnQtY29uZGVuc2VkO1xyXG4gIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgcGFkZGluZy10b3A6IDMwcHg7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxufVxyXG5cclxuLmNvbnRhY3RzLWNhbGxfX2l0ZW0ge1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1jb25kZW5zZWQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLmNvbnRhY3RzLWNhbGxfX3RpdGxlIHtcclxuICBmb250LWZhbWlseTogJGZvbnQtY29uZGVuc2VkO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4uY29udGFjdHMtY2FsbF9fcGhvbmUge1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1jb25kZW5zZWQ7XHJcbiAgY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuICA+IGEge1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgfVxyXG59IiwiLmhvbWUtZXh0cmEtbGluayB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn0iLCIuaG9tZS1mb290ZXIge1xyXG4gIGZvbnQtc2l6ZTogMDtcclxuICBtYXJnaW46ICRjb250ZW50LXNwYWNlO1xyXG59XHJcblxyXG4uaG9tZS1mb290ZXJfX2xvZ28sXHJcbi5ob21lLWZvb3Rlcl9fbGluayB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XHJcbn1cclxuXHJcbi5ob21lLWZvb3Rlcl9fbG9nbyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDI1cHg7XHJcbiAgICBoZWlnaHQ6IDQ3cHg7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdZKC0yOWRlZyk7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogLTdweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCR3aGl0ZSwgMC43KTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4uaG9tZS1mb290ZXJfX2xpbmsge1xyXG4gIGZvbnQtc2l6ZTogMTVweDtcclxuICBjb2xvcjogJHdoaXRlO1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAyO1xyXG4gID4gYSB7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogMCAxNXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDQ3cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDMwLCAxMCUsIDI2JSwgMC44NSk7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSgzMCwgMTAlLCAyNiUsIDAuOTUpO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIi5tb3R0byB7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBjb2xvcjogJHdoaXRlO1xyXG4gICYuLW92ZXItY29udGVudCB7XHJcbiAgICB6LWluZGV4OiAxMDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIG1hcmdpbi1sZWZ0OiAkY29udGVudC1zcGFjZTtcclxuICAgIG1hcmdpbi1yaWdodDogJGNvbnRlbnQtc3BhY2U7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB9XHJcblxyXG59XHJcblxyXG4ubW90dG9fX3RpdGxlIHtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIGZvbnQtc2l6ZTogNTZweDtcclxufVxyXG5cclxuLm1vdHRvX19zdWIge1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgZm9udC1zaXplOiAzNXB4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGhlaWdodDogM3B4O1xyXG4gICAgd2lkdGg6IDI2cHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICB0b3A6IC02cHg7XHJcbiAgfVxyXG59IiwiLnJlbnQtc2hvcnQge1xyXG4gIG1hcmdpbi1ib3R0b206ICRjb250ZW50LXNwYWNlO1xyXG4gIHdpZHRoOiAkc2lkZWJhci13aWR0aC1uYXJyb3c7XHJcbiAgei1pbmRleDogMTtcclxuICAmLi13aWRlciB7XHJcbiAgICB3aWR0aDogJHNpZGViYXItd2lkdGg7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLnJlbnQtc2hvcnRfX2hlYWRlciB7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKCR3aGl0ZSwgMC42KTtcclxuICBwYWRkaW5nLWJvdHRvbTogJGNvbnRlbnQtc3BhY2U7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGNvbnRlbnQtc3BhY2U7XHJcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgJi4tbm8tYm90dG9tLXNwYWNlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG4ucmVudC1zaG9ydF9fdGl0bGUge1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWNvbmRlbnNlZDtcclxuICBmb250LXNpemU6IDMwcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiAkY29udGVudC1zcGFjZSAvIDI7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5yZW50LXNob3J0X19oZWFkZXItYnRuIHtcclxuICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuXHJcbi5yZW50X19wcmljZXMge1xyXG4gIHBhZGRpbmc6IDAgJGNvbnRlbnQtc3BhY2UgJGNvbnRlbnQtc3BhY2U7XHJcbn1cclxuXHJcbi5yZW50X19mb290ZXIge1xyXG4gIG1hcmdpbi1ib3R0b206ICRjb250ZW50LXNwYWNlICogMjtcclxuICB6LWluZGV4OiAxO1xyXG59XHJcblxyXG4ucmVudC1tYWluIHtcclxuICBwYWRkaW5nOiAkY29udGVudC1zcGFjZSAzNXB4O1xyXG59XHJcblxyXG4uYmMtc2hvcnQtaWNvbnMge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiAgZmxleDogMSAwIHNwYW4oOSk7XHJcbn1cclxuXHJcbi5iYy1zaG9ydC1pY29uc19faXRlbSB7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBmbGV4OiAwIDEgc3Bhbig0KTtcclxuICBtYXJnaW4tcmlnaHQ6IGd1dHRlcigpO1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMnB4O1xyXG4gICY6bnRoLWNoaWxkKDNuKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uYmMtc2hvcnQtaWNvbnNfX2ltZyB7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4ub2ZmaWNlX19oZWFkZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAmLi1zbWFsbC1vZmZzZXQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICB9XHJcbn1cclxuXHJcbi5iYy1zZWxlY3RfX3dyYXAge1xyXG4gIGZsZXg6IDAgMSBzcGFuKDMpO1xyXG4gIG1hcmdpbi1yaWdodDogZ3V0dGVyKCk7XHJcbn1cclxuXHJcbi5vZmZpY2VfX2NvbnRlbnQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLmwtY29sIHtcclxuICAgIGZsZXg6IDEgMCBzcGFuKDcpO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoKTtcclxuICAgIG1heC13aWR0aDogNjAwcHg7XHJcbiAgfVxyXG4gIC5yLWNvbCB7XHJcbiAgICBmbGV4OiAxIDAgc3Bhbig1KTtcclxuICB9XHJcbn1cclxuXHJcbi5vZmZpY2VfX2RldGFpbHMge1xyXG4gIG1hcmdpbi10b3A6IDUwcHg7XHJcbn0iLCIvLyBTcGFuIFN5bnRheFxyXG4vLyA9PT09PT09PT09PVxyXG5cclxuLy8gU3BhbiBbbWl4aW5dXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG4vLyBTZXQgYSBzcGFubmluZyBlbGVtZW50IHVzaW5nIHNob3J0aGFuZCBzeW50YXguXHJcbi8vIC0gJHNwYW4gIDogPHNwYW4+XHJcbkBtaXhpbiBzcGFuKFxyXG4gICRzcGFuXHJcbikge1xyXG4gICRpbnNwZWN0OiAkc3BhbjtcclxuICAkc3BhbjogcGFyc2Utc3Bhbigkc3Bhbik7XHJcbiAgJG91dHB1dDogc3Bhbi1tYXRoKCRzcGFuKTtcclxuICAkbmVzdGluZzogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xyXG4gICRjbGVhcjogc3VzeS1nZXQoY2xlYXIsICRzcGFuKTtcclxuXHJcbiAgJGJveDogc3VzeS1nZXQoYm94LXNpemluZywgJHNwYW4pO1xyXG4gICRjb250ZW50LWJveDogaWYoc3VzeS1nZXQoZ2xvYmFsLWJveC1zaXppbmcpICE9ICdib3JkZXItYm94JywgdHJ1ZSwgZmFsc2UpO1xyXG4gICRib3g6ICRib3ggb3IgaWYoaXMtaW5zaWRlKCRzcGFuKSBhbmQgJGNvbnRlbnQtYm94LCBib3JkZXItYm94LCBudWxsKTtcclxuXHJcbiAgQGlmICRjbGVhciA9PSBicmVhayB7XHJcbiAgICBAaW5jbHVkZSBicmVhaztcclxuICB9IEBlbHNlIGlmICRjbGVhciA9PSBub2JyZWFrIHtcclxuICAgIEBpbmNsdWRlIG5vYnJlYWs7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3Qoc3BhbiwgJGluc3BlY3QpO1xyXG4gIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJGJveCkpO1xyXG4gIEBpbmNsdWRlIGZsb2F0LXNwYW4tb3V0cHV0KCRvdXRwdXQuLi4pO1xyXG5cclxuICBAaWYgdmFsaWQtY29sdW1ucygkbmVzdGluZywgc2lsZW50KSB7XHJcbiAgICBAaW5jbHVkZSBuZXN0ZWQoJHNwYW4pIHsgQGNvbnRlbnQ7IH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gU3BhbiBbZnVuY3Rpb25dXHJcbi8vIC0tLS0tLS0tLS0tLS0tLVxyXG4vLyBSZXR1cm4gdGhlIHdpZHRoIG9mIGEgc3Bhbi5cclxuLy8gLSAkc3BhbiAgOiA8c3Bhbj5cclxuQGZ1bmN0aW9uIHNwYW4oXHJcbiAgJHNwYW5cclxuKSB7XHJcbiAgQHJldHVybiBnZXQtc3Bhbi13aWR0aCgkc3Bhbik7XHJcbn1cclxuXHJcbi8vIFNwYW4gTWF0aFxyXG4vLyAtLS0tLS0tLS1cclxuLy8gR2V0IGFsbCB0aGUgc3BhbiByZXN1bHRzLlxyXG4vLyAtICRzcGFuOiA8bWFwPlxyXG5AZnVuY3Rpb24gc3Bhbi1tYXRoKFxyXG4gICRzcGFuXHJcbikge1xyXG4gICRuZXN0ICAgICAgICAgICAgIDogaWYoc3VzeS1nZXQocm9sZSwgJHNwYW4pID09IG5lc3QsIHRydWUsIGZhbHNlKTtcclxuICAkc3BsaXQtbmVzdCAgICAgICA6IGlmKGlzLXNwbGl0KCRzcGFuKSBhbmQgJG5lc3QsIHRydWUsIGZhbHNlKTtcclxuICAkZWRnZSAgICAgICAgICAgICA6IGdldC1lZGdlKCRzcGFuKTtcclxuICAkbG9jYXRpb24gICAgICAgICA6IGdldC1sb2NhdGlvbigkc3Bhbik7XHJcblxyXG4gICRmbG9hdCAgICAgICAgICAgIDogZnJvbTtcclxuICAkcGFkZGluZy1iZWZvcmUgICA6IG51bGw7XHJcbiAgJHBhZGRpbmctYWZ0ZXIgICAgOiBudWxsO1xyXG4gICRtYXJnaW4tYmVmb3JlICAgIDogbnVsbDtcclxuICAkbWFyZ2luLWFmdGVyICAgICA6IG51bGw7XHJcblxyXG4gIC8vIGNhbGN1bGF0ZSB3aWR0aHNcclxuICAkc3ByZWFkOiBpbmRleChtYXAtdmFsdWVzKCRzcGFuKSwgc3ByZWFkKTtcclxuICAkc3BhbjogaWYoJHNwbGl0LW5lc3QgYW5kIG5vdCgkc3ByZWFkKSwgbWFwLW1lcmdlKCRzcGFuLCAoc3ByZWFkOiB3aWRlKSksICRzcGFuKTtcclxuICAkd2lkdGg6IGdldC1zcGFuLXdpZHRoKCRzcGFuKTtcclxuICAkZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xyXG5cclxuICAvLyBhcHBseSBndXR0ZXJzXHJcbiAgQGlmIGlzLWluc2lkZSgkc3Bhbikge1xyXG4gICAgQGlmIG5vdChzdXN5LWdldChyb2xlLCAkc3BhbikpIHtcclxuICAgICAgJHBhZGRpbmctYmVmb3JlOiBtYXAtZ2V0KCRndXR0ZXJzLCBiZWZvcmUpO1xyXG4gICAgICAkcGFkZGluZy1hZnRlcjogbWFwLWdldCgkZ3V0dGVycywgYWZ0ZXIpO1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGlmIG5vdCgkc3BsaXQtbmVzdCkge1xyXG4gICAgICAkbWFyZ2luLWJlZm9yZTogbWFwLWdldCgkZ3V0dGVycywgYmVmb3JlKTtcclxuICAgICAgJG1hcmdpbi1hZnRlcjogbWFwLWdldCgkZ3V0dGVycywgYWZ0ZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gc3BlY2lhbCBtYXJnaW4gaGFuZGxpbmdcclxuICBAaWYgc3VzeS1nZXQob3V0cHV0LCAkc3BhbikgPT0gaXNvbGF0ZSBhbmQgJGxvY2F0aW9uIHtcclxuICAgICRtYXJnaW4tYmVmb3JlOiBnZXQtaXNvbGF0aW9uKCRzcGFuKTtcclxuICAgICRtYXJnaW4tYWZ0ZXI6IC0xMDAlO1xyXG4gIH0gQGVsc2UgaWYgJGVkZ2Uge1xyXG4gICAgJGlzLXNwbGl0OiBpcy1zcGxpdCgkc3Bhbik7XHJcbiAgICAkcG9zOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRzcGFuKTtcclxuXHJcbiAgICBAaWYgJGVkZ2UgPT0gbGFzdCB7XHJcbiAgICAgICRmbG9hdDogc3VzeS1nZXQobGFzdC1mbG93LCAkc3Bhbik7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmIG5vdCgkaXMtc3BsaXQpIHtcclxuICAgICAgQGlmICRlZGdlID09IGZ1bGwgb3IgKCRlZGdlID09IGZpcnN0IGFuZCAkcG9zID09IGJlZm9yZSkge1xyXG4gICAgICAgICRtYXJnaW4tYmVmb3JlOiAwO1xyXG4gICAgICB9XHJcbiAgICAgIEBpZiAkZWRnZSA9PSBmdWxsIG9yICgkZWRnZSA9PSBsYXN0IGFuZCAkcG9zID09IGFmdGVyKSB7XHJcbiAgICAgICAgJG1hcmdpbi1hZnRlcjogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIEByZXR1cm4gKFxyXG4gICAgd2lkdGggICAgICAgICAgIDogJHdpZHRoLFxyXG4gICAgZmxvYXQgICAgICAgICAgIDogJGZsb2F0LFxyXG4gICAgbWFyZ2luLWJlZm9yZSAgIDogJG1hcmdpbi1iZWZvcmUsXHJcbiAgICBtYXJnaW4tYWZ0ZXIgICAgOiAkbWFyZ2luLWFmdGVyLFxyXG4gICAgcGFkZGluZy1iZWZvcmUgIDogJHBhZGRpbmctYmVmb3JlLFxyXG4gICAgcGFkZGluZy1hZnRlciAgIDogJHBhZGRpbmctYWZ0ZXIsXHJcbiAgICBmbG93ICAgICAgICAgICAgOiBzdXN5LWdldChmbG93LCAkc3BhbiksXHJcbiAgKTtcclxufVxyXG5cclxuLy8gR2V0IFNwYW4gV2lkdGhcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuLy8gUmV0dXJuIHNwYW4gd2lkdGguXHJcbi8vIC0gJHNwYW46IDxtYXA+XHJcbkBmdW5jdGlvbiBnZXQtc3Bhbi13aWR0aChcclxuICAkc3BhblxyXG4pIHtcclxuICAkc3BhbiAgICAgOiBwYXJzZS1zcGFuKCRzcGFuKTtcclxuXHJcbiAgJG4gICAgICAgIDogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xyXG4gICRsb2NhdGlvbiA6IGdldC1sb2NhdGlvbigkc3Bhbik7XHJcbiAgJGNvbHVtbnMgIDogc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pO1xyXG4gICRndXR0ZXJzICA6IHN1c3ktZ2V0KGd1dHRlcnMsICRzcGFuKTtcclxuICAkc3ByZWFkICAgOiBzdXN5LWdldChzcHJlYWQsICRzcGFuKTtcclxuXHJcbiAgJGNvbnRleHQgIDogbnVsbDtcclxuICAkc3Bhbi1zdW0gOiBudWxsO1xyXG4gICR3aWR0aCAgICA6IG51bGw7XHJcblxyXG4gIEBpZiAkbiA9PSAnZnVsbCcge1xyXG4gICAgJHBvczogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkc3Bhbik7XHJcbiAgICAkcm9sZTogc3VzeS1nZXQocm9sZSwgJHNwYW4pO1xyXG4gICAgJG46IGlmKCRwb3MgPT0gc3BsaXQgYW5kICRyb2xlICE9IG5lc3QsIHN1c3ktY291bnQoJGNvbHVtbnMpLCAxMDAlKTtcclxuICB9XHJcblxyXG4gIEBpZiB0eXBlLW9mKCRuKSAhPSBudW1iZXIge1xyXG4gICAgQHdhcm4gXCIoI3t0eXBlLW9mKCRuKX0pICN7JG59IGlzIG5vdCBhIHZhbGlkIHNwYW4uXCI7XHJcbiAgfSBAZWxzZSBpZiB1bml0bGVzcygkbikge1xyXG4gICAgJGNvbnRleHQ6IHN1c3ktc3VtKCRjb2x1bW5zLCAkZ3V0dGVycywgaWYoaXMtc3BsaXQoJHNwYW4pLCB3aWRlLCBuYXJyb3cpKTtcclxuICAgICRzcHJlYWQ6IGlmKGlzLWluc2lkZSgkc3BhbiksICRzcHJlYWQgb3Igd2lkZSwgJHNwcmVhZCk7XHJcbiAgICAkc3Bhbi1zdW06IHN1c3koJG4sICRsb2NhdGlvbiwgJGNvbHVtbnMsICRndXR0ZXJzLCAkc3ByZWFkKTtcclxuXHJcbiAgICAkX21hdGg6IHN1c3ktZ2V0KG1hdGgsICRzcGFuKTtcclxuICAgICRfY29sdW1uLXdpZHRoOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRzcGFuKTtcclxuICAgIEBpZiAkX21hdGggPT0gc3RhdGljIHtcclxuICAgICAgJHdpZHRoOiAkc3Bhbi1zdW0gKiB2YWxpZC1jb2x1bW4tbWF0aCgkX21hdGgsICRfY29sdW1uLXdpZHRoKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJHNwYW4tc3VtIC8gJGNvbnRleHQpO1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHdpZHRoOiAkbjtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHdpZHRoO1xyXG59XHJcbiIsIi8vIEd1dHRlciBTeW50YXhcclxuLy8gPT09PT09PT09PT09PVxyXG5cclxuXHJcbi8vIEd1dHRlcnNcclxuLy8gLS0tLS0tLVxyXG4vLyBTZXQgZ3V0dGVycyBvbiBhbiBlbGVtZW50LlxyXG4vLyAtIFskc3Bhbl0gICA6IDxzZXR0aW5ncz5cclxuQG1peGluIGd1dHRlcnMoXHJcbiAgJHNwYW46ICRzdXN5XHJcbikge1xyXG4gICRpbnNwZWN0ICA6ICRzcGFuO1xyXG4gICRzcGFuICAgICA6IHBhcnNlLWd1dHRlcnMoJHNwYW4pO1xyXG4gICRfZ3V0dGVycyA6IGdldC1ndXR0ZXJzKCRzcGFuKTtcclxuXHJcbiAgJF9vdXRwdXQ6IChcclxuICAgIGJlZm9yZTogbWFwLWdldCgkX2d1dHRlcnMsIGJlZm9yZSksXHJcbiAgICBhZnRlcjogbWFwLWdldCgkX2d1dHRlcnMsIGFmdGVyKSxcclxuICAgIGZsb3c6IHN1c3ktZ2V0KGZsb3csICRzcGFuKSxcclxuICApO1xyXG5cclxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZ3V0dGVycywgJGluc3BlY3QpO1xyXG5cclxuICBAaWYgaXMtaW5zaWRlKCRzcGFuKSB7XHJcbiAgICBAaW5jbHVkZSBwYWRkaW5nLW91dHB1dCgkX291dHB1dC4uLik7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAaW5jbHVkZSBtYXJnaW4tb3V0cHV0KCRfb3V0cHV0Li4uKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBndXR0ZXIoXHJcbiAgJHNwYW46ICRzdXN5XHJcbikge1xyXG4gIEBpbmNsdWRlIGd1dHRlcnMoJHNwYW4pO1xyXG59XHJcblxyXG5cclxuLy8gR3V0dGVyXHJcbi8vIC0tLS0tLVxyXG4vLyBSZXR1cm4gdGhlIHdpZHRoIG9mIGEgZ3V0dGVyLlxyXG4vLyAtIFskc3Bhbl0gICA6IDxzZXR0aW5ncz5cclxuQGZ1bmN0aW9uIGd1dHRlcihcclxuICAkc3BhbjogJHN1c3lcclxuKSB7XHJcbiAgJHNwYW46IHBhcnNlLWd1dHRlcnMoJHNwYW4pO1xyXG5cclxuICAkX2d1dHRlcnM6IGdldC1ndXR0ZXJzKCRzcGFuKTtcclxuICAkX2d1dHRlcnM6IG1hcC1nZXQoJF9ndXR0ZXJzLCBiZWZvcmUpIG9yIG1hcC1nZXQoJF9ndXR0ZXJzLCBhZnRlcik7XHJcblxyXG4gIEByZXR1cm4gJF9ndXR0ZXJzO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZ3V0dGVycyhcclxuICAkc3BhbjogJHN1c3lcclxuKSB7XHJcbiAgQHJldHVybiBndXR0ZXIoJHNwYW4pO1xyXG59XHJcblxyXG5cclxuLy8gR2V0IEd1dHRlciBXaWR0aFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFJldHVybiBndXR0ZXIgd2lkdGguXHJcbi8vIC0gWyRjb250ZXh0XTogPGNvbnRleHQ+XHJcbkBmdW5jdGlvbiBnZXQtZ3V0dGVyLXdpZHRoKFxyXG4gICRjb250ZXh0OiAkc3VzeVxyXG4pIHtcclxuICAkY29udGV4dCAgOiBwYXJzZS1ndXR0ZXJzKCRjb250ZXh0KTtcclxuXHJcbiAgJF9ndXR0ZXJzIDogc3VzeS1nZXQoZ3V0dGVycywgJGNvbnRleHQpO1xyXG4gICRfZ3V0dGVyICA6IHN1c3ktZ2V0KGd1dHRlci1vdmVycmlkZSwgJGNvbnRleHQpO1xyXG5cclxuICBAaWYgJF9ndXR0ZXJzIGFuZCAoJF9ndXR0ZXJzID4gMCkgYW5kIG5vdCgkX2d1dHRlcikge1xyXG4gICAgJF9jb2x1bW4td2lkdGg6IHN1c3ktZ2V0KGNvbHVtbi13aWR0aCwgJGNvbnRleHQpO1xyXG4gICAgJF9tYXRoOiBndXR0ZXItbWF0aCgkY29udGV4dCk7XHJcbiAgICBAaWYgJF9tYXRoID09IHN0YXRpYyB7XHJcbiAgICAgICRfZ3V0dGVyOiAkX2d1dHRlcnMgKiB2YWxpZC1jb2x1bW4tbWF0aCgkX21hdGgsICRfY29sdW1uLXdpZHRoKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkX2NvbHVtbnMgOiBzdXN5LWdldChjb2x1bW5zLCAkY29udGV4dCk7XHJcbiAgICAgICRfc3ByZWFkICA6IGlmKGlzLXNwbGl0KCRjb250ZXh0KSwgd2lkZSwgc3VzeS1nZXQoc3ByZWFkLCAkY29udGV4dCkpO1xyXG4gICAgICAkX2d1dHRlciAgOiBwZXJjZW50YWdlKCRfZ3V0dGVycyAvIHN1c3ktc3VtKCRfY29sdW1ucywgJF9ndXR0ZXJzLCAkX3NwcmVhZCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJF9ndXR0ZXI6IGlmKCRfZ3V0dGVyID09ICduby1ndXR0ZXJzJyBvciAkX2d1dHRlciA9PSAnbm8tZ3V0dGVyJywgbnVsbCwgJF9ndXR0ZXIpO1xyXG5cclxuICBAcmV0dXJuICRfZ3V0dGVyO1xyXG59XHJcblxyXG5cclxuLy8gR2V0IEd1dHRlcnNcclxuLy8gLS0tLS0tLS0tLS1cclxuLy8gUmV0dXJuIGJlZm9yZSBhbmQgYWZ0ZXIgZ3V0dGVyIHZhbHVlcy5cclxuLy8gLSBbJGNvbnRleHRdOiA8Y29udGV4dD5cclxuQGZ1bmN0aW9uIGdldC1ndXR0ZXJzKFxyXG4gICRjb250ZXh0OiAkc3VzeVxyXG4pIHtcclxuICAkY29udGV4dCAgICAgICAgICAgIDogcGFyc2UtZ3V0dGVycygkY29udGV4dCk7XHJcblxyXG4gICRfZ3V0dGVyLXBvc2l0aW9uICAgOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcclxuICAkX2d1dHRlciAgICAgICAgICAgIDogZ2V0LWd1dHRlci13aWR0aCgkY29udGV4dCk7XHJcblxyXG4gICRfcmV0dXJuICAgICAgICAgICAgOiAoYmVmb3JlOiBudWxsLCBhZnRlcjogbnVsbCk7XHJcblxyXG4gIEBpZiBpcy1zcGxpdCgkY29udGV4dCkgYW5kICRfZ3V0dGVyIHtcclxuICAgICRfZ3V0dGVyOiAkX2d1dHRlciAvIDI7XHJcbiAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoYmVmb3JlOiAkX2d1dHRlciwgYWZ0ZXI6ICRfZ3V0dGVyKSk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoJF9ndXR0ZXItcG9zaXRpb246ICRfZ3V0dGVyKSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRfcmV0dXJuO1xyXG59XHJcblxyXG5cclxuLy8gSXMgSW5zaWRlXHJcbi8vIC0tLS0tLS0tLVxyXG4vLyBSZXR1cm5zIHRydWUgaWYgZ3V0dGVycyBhcmUgaW5zaWRlLlxyXG4vLyAkY29udGV4dDogPGNvbnRleHQ+XHJcbkBmdW5jdGlvbiBpcy1pbnNpZGUoXHJcbiAgJGNvbnRleHRcclxuKSB7XHJcbiAgJF9pbnNpZGU6IGluc2lkZSBpbnNpZGUtc3RhdGljO1xyXG4gICRfZ3V0dGVyLXBvc2l0aW9uOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcclxuXHJcbiAgQHJldHVybiBpZihpbmRleCgkX2luc2lkZSwgJF9ndXR0ZXItcG9zaXRpb24pLCB0cnVlLCBmYWxzZSk7XHJcbn1cclxuXHJcblxyXG4vLyBJcyBTcGxpdFxyXG4vLyAtLS0tLS0tLVxyXG4vLyBSZXR1cm5zIHRydWUgaWYgZ3V0dGVycyBhcmUgc3BsaXQuXHJcbi8vICRjb250ZXh0OiA8Y29udGV4dD5cclxuQGZ1bmN0aW9uIGlzLXNwbGl0KFxyXG4gICRjb250ZXh0XHJcbikge1xyXG4gICRfc3BsaXQ6IHNwbGl0IGluc2lkZSBpbnNpZGUtc3RhdGljO1xyXG4gICRfZ3V0dGVyLXBvc2l0aW9uOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcclxuXHJcbiAgQHJldHVybiBpZihpbmRleCgkX3NwbGl0LCAkX2d1dHRlci1wb3NpdGlvbiksIHRydWUsIGZhbHNlKTtcclxufVxyXG5cclxuXHJcbi8vIEd1dHRlciBNYXRoXHJcbi8vIC0tLS0tLS0tLS0tXHJcbi8vIFJldHVybiB0aGUgbWF0aCB0byB1c2UgZm9yIGd1dHRlciBjYWxjdWxhdGlvbnNcclxuLy8gJGNvbnRleHQ6IDxjb250ZXh0PlxyXG5AZnVuY3Rpb24gZ3V0dGVyLW1hdGgoXHJcbiAgJGNvbnRleHQ6ICRzdXN5XHJcbikge1xyXG4gICRfcmV0dXJuICA6IHN1c3ktZ2V0KG1hdGgsICRjb250ZXh0KTtcclxuICAkX3JldHVybiAgOiBpZihzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KSA9PSBpbnNpZGUtc3RhdGljLCBzdGF0aWMsICRfcmV0dXJuKTtcclxuXHJcbiAgQHJldHVybiAkX3JldHVybjtcclxufVxyXG4iLCIuY2hhcmFjdGVyaXN0aWNzIHtcclxuXHJcbn1cclxuXHJcbi5jaGFyYWN0ZXJpc3RpY3NfX3RpdGxlIHtcclxuICBmb250LWZhbWlseTogJGZvbnQtY29uZGVuc2VkO1xyXG4gIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcclxufVxyXG5cclxuLmNoYXJhY3RlcmlzdGljc19fbGlzdCB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICB3aWR0aDogc3Bhbig3KTtcclxufVxyXG5cclxuLmNoYXJhY3RlcmlzdGljc19faXRlbSB7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBmb250LXNpemU6IDE1cHg7XHJcbiAgZmxleDogMSAwIHNwYW4oNik7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAmOm50aC1jaGlsZCgybisxKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGd1dHRlcigpO1xyXG4gIH1cclxufVxyXG5cclxuLmNoYXJhY3RlcmlzdGljc19faXRlbS10aXRsZSB7XHJcbiAgY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgZm9udC1zaXplOiBpbmhlcml0O1xyXG59IiwiLmNvbnRhY3QtZGF0YSB7XHJcblxyXG59XHJcblxyXG4uY29udGFjdC1kYXRhX190aXRsZSB7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBmb250LXNpemU6IDE5cHg7XHJcbiAgY29sb3I6ICRkYXJrLWdyYXk7XHJcbn1cclxuXHJcbi5jb250YWN0LWRhdGFfX3Bob25lIHtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIGZvbnQtc2l6ZTogMjRweDtcclxuICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XHJcbn0iLCIuYWR2YW50YWdlcy1saXN0IHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4uYWR2YW50YWdlcy1saXN0X19pdGVtIHtcclxuICB3aWR0aDogMTUwcHg7XHJcbiAgbWFyZ2luOiA0MHB4O1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gICY6bnRoLWNoaWxkKDJuICsxKSB7XHJcbiAgICBjbGVhcjogbGVmdDtcclxuICB9XHJcbn0iXX0= */
